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 336
383 #define YY_END_OF_BUFFER 337
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[1941] =
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, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408 0, 0, 337, 335, 15, 10, 10, 15, 15, 315,
409 10, 315, 5, 6, 5, 8, 9, 8, 331, 323,
410 324, 332, 329, 332, 330, 334, 323, 324, 334, 335,
411 25, 10, 25, 25, 25, 23, 25, 25, 29, 10,
412 29, 29, 335, 335, 29, 35, 10, 35, 35, 35,
413 33, 35, 39, 10, 39, 49, 10, 49, 49, 49,
415 47, 49, 49, 49, 332, 331, 70, 10, 70, 70,
416 70, 68, 70, 70, 70, 70, 74, 10, 74, 335,
417 74, 94, 10, 94, 94, 94, 92, 94, 94, 94,
418 94, 98, 10, 98, 110, 10, 110, 110, 110, 108,
419 110, 110, 110, 110, 114, 10, 114, 120, 10, 120,
420 120, 120, 118, 120, 335, 335, 124, 10, 124, 150,
421 10, 150, 150, 150, 148, 150, 150, 150, 150, 150,
422 154, 10, 154, 154, 162, 10, 162, 162, 162, 160,
423 162, 162, 166, 10, 166, 188, 10, 188, 188, 188,
424 186, 188, 188, 188, 188, 188, 188, 192, 10, 192,
426 198, 10, 198, 198, 198, 196, 198, 202, 10, 202,
427 226, 10, 226, 226, 226, 224, 226, 226, 226, 226,
428 230, 10, 230, 230, 248, 10, 248, 248, 248, 246,
429 248, 248, 248, 335, 252, 10, 252, 252, 274, 10,
430 274, 274, 274, 272, 274, 274, 274, 274, 278, 10,
431 278, 278, 284, 10, 284, 284, 284, 282, 284, 288,
432 10, 288, 300, 10, 300, 300, 300, 298, 300, 300,
433 300, 300, 304, 10, 304, 335, 304, 310, 10, 310,
434 310, 310, 308, 310, 314, 10, 314, 10, 0, 2,
435 2, 0, 4, 7, 326, 325, 0, 0, 0, 0,
437 0, 0, 0, 24, 26, 26, 26, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 34, 36, 36, 0, 48, 50, 50, 50, 50, 0,
440 0, 0, 69, 71, 71, 71, 71, 71, 71, 71,
441 0, 0, 93, 95, 95, 95, 95, 95, 0, 109,
442 111, 111, 111, 111, 111, 0, 119, 121, 121, 0,
443 149, 151, 151, 151, 151, 151, 151, 151, 0, 161,
444 163, 163, 163, 0, 187, 189, 189, 189, 189, 189,
445 189, 189, 189, 189, 0, 197, 199, 199, 0, 225,
446 227, 227, 227, 227, 227, 227, 0, 247, 249, 249,
448 249, 249, 249, 0, 0, 273, 275, 275, 275, 275,
449 275, 0, 283, 285, 285, 0, 299, 301, 301, 301,
450 301, 301, 0, 0, 309, 311, 311, 0, 0, 0,
451 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
452 333, 0, 26, 26, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
454 0, 0, 50, 0, 0, 50, 0, 0, 0, 328,
455 71, 0, 0, 71, 71, 71, 71, 0, 0, 0,
456 95, 95, 95, 95, 0, 0, 0, 0, 111, 111,
457 111, 0, 0, 121, 0, 0, 151, 0, 0, 151,
459 151, 151, 151, 0, 0, 0, 0, 163, 0, 0,
460 189, 0, 0, 0, 0, 189, 189, 189, 189, 189,
461 0, 0, 0, 0, 0, 0, 227, 0, 0, 227,
462 227, 227, 0, 0, 249, 249, 249, 249, 0, 0,
463 0, 275, 275, 275, 275, 0, 0, 0, 0, 0,
464 0, 301, 301, 301, 301, 0, 0, 0, 311, 0,
465 0, 0, 14, 1, 0, 0, 321, 0, 0, 0,
466 318, 317, 0, 0, 26, 26, 0, 0, 28, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
468 0, 0, 0, 36, 0, 0, 38, 0, 50, 0,
470 42, 41, 50, 0, 0, 0, 52, 0, 71, 0,
471 55, 54, 0, 0, 71, 0, 0, 71, 0, 0,
472 73, 0, 0, 95, 95, 95, 95, 0, 0, 97,
473 0, 0, 101, 100, 111, 111, 111, 0, 0, 113,
474 0, 121, 0, 0, 123, 0, 151, 0, 127, 126,
475 151, 151, 151, 151, 0, 0, 153, 0, 0, 157,
476 156, 163, 0, 0, 165, 0, 189, 189, 0, 179,
477 178, 0, 169, 168, 0, 0, 189, 189, 189, 189,
478 0, 0, 191, 0, 0, 195, 194, 0, 0, 201,
479 0, 227, 0, 205, 204, 227, 227, 227, 0, 0,
481 229, 0, 249, 0, 0, 0, 0, 249, 0, 0,
482 0, 251, 0, 275, 0, 0, 275, 0, 0, 0,
483 0, 277, 0, 0, 281, 280, 0, 0, 287, 0,
484 301, 301, 301, 301, 0, 0, 303, 0, 0, 311,
485 0, 0, 313, 0, 0, 0, 322, 316, 0, 0,
486 0, 26, 26, 0, 0, 0, 125, 0, 203, 0,
487 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 50, 0, 0, 71, 0, 59, 58, 0,
489 0, 0, 57, 56, 71, 0, 155, 95, 95, 0,
490 0, 95, 0, 111, 111, 111, 0, 121, 0, 151,
492 151, 151, 151, 151, 0, 163, 0, 189, 189, 0,
493 181, 180, 189, 189, 189, 189, 0, 0, 227, 227,
494 227, 227, 0, 249, 0, 235, 234, 0, 233, 232,
495 249, 0, 0, 275, 0, 257, 256, 275, 0, 255,
496 254, 0, 0, 301, 0, 0, 301, 301, 0, 0,
497 311, 0, 0, 0, 0, 12, 0, 319, 320, 0,
498 26, 26, 0, 0, 0, 125, 0, 203, 0, 0,
499 253, 40, 253, 0, 0, 0, 32, 31, 0, 0,
500 44, 43, 50, 0, 0, 71, 0, 61, 60, 71,
501 0, 155, 95, 95, 0, 0, 0, 95, 0, 111,
503 111, 111, 0, 112, 121, 0, 151, 151, 151, 0,
504 0, 0, 0, 151, 0, 0, 0, 0, 0, 0,
505 189, 0, 0, 189, 189, 189, 0, 0, 227, 227,
506 227, 0, 0, 227, 0, 249, 249, 0, 0, 275,
507 275, 0, 0, 301, 0, 291, 290, 301, 301, 0,
508 0, 0, 0, 0, 0, 0, 0, 11, 0, 26,
509 26, 26, 0, 0, 0, 0, 0, 53, 253, 0,
510 193, 40, 0, 0, 50, 0, 0, 71, 71, 0,
511 95, 95, 0, 0, 0, 0, 0, 0, 0, 0,
512 95, 0, 0, 0, 111, 0, 0, 0, 0, 0,
514 151, 151, 151, 0, 129, 128, 0, 0, 0, 151,
515 0, 152, 0, 159, 158, 0, 164, 0, 183, 182,
516 0, 0, 0, 177, 176, 0, 0, 189, 0, 0,
517 0, 0, 227, 227, 227, 0, 0, 0, 227, 0,
518 228, 0, 0, 249, 0, 0, 0, 0, 275, 0,
519 0, 301, 301, 301, 0, 0, 0, 307, 306, 0,
520 0, 0, 0, 0, 0, 0, 26, 26, 0, 167,
521 115, 30, 289, 53, 0, 193, 0, 0, 50, 0,
522 0, 51, 71, 71, 0, 95, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 95, 0, 0, 103,
525 102, 0, 0, 0, 105, 104, 0, 117, 116, 0,
526 151, 151, 151, 0, 0, 151, 0, 185, 184, 0,
527 171, 170, 0, 0, 0, 173, 172, 0, 0, 227,
528 0, 0, 227, 227, 0, 0, 227, 0, 0, 0,
529 249, 0, 0, 0, 0, 0, 275, 0, 276, 0,
530 301, 301, 301, 0, 0, 0, 0, 0, 0, 16,
531 0, 18, 17, 26, 26, 0, 167, 115, 30, 289,
532 0, 0, 0, 50, 327, 71, 71, 0, 72, 95,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 107, 106, 0, 151, 151,
536 151, 0, 0, 0, 0, 151, 0, 175, 174, 0,
537 0, 200, 227, 0, 211, 210, 227, 227, 0, 0,
538 0, 0, 227, 0, 0, 0, 0, 249, 279, 0,
539 0, 0, 0, 0, 275, 0, 0, 0, 301, 301,
540 0, 305, 0, 0, 0, 0, 16, 26, 26, 0,
541 0, 0, 0, 37, 50, 0, 0, 71, 95, 0,
542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 85, 84, 0, 0, 122, 151, 151, 151,
544 0, 135, 0, 134, 151, 0, 190, 0, 0, 227,
545 227, 227, 0, 215, 0, 214, 227, 0, 0, 0,
547 0, 0, 0, 0, 0, 279, 0, 0, 0, 0,
548 0, 0, 0, 275, 0, 0, 293, 292, 0, 0,
549 301, 0, 302, 305, 0, 0, 0, 0, 0, 0,
550 26, 0, 27, 0, 0, 50, 0, 0, 0, 71,
551 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 151, 151, 151, 137, 136, 0,
553 0, 0, 207, 206, 227, 227, 227, 217, 216, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 275, 275, 0,
556 286, 0, 297, 296, 0, 0, 0, 312, 0, 0,
558 0, 0, 20, 19, 0, 0, 231, 0, 0, 0,
559 0, 0, 0, 0, 71, 95, 0, 0, 0, 0,
560 0, 0, 0, 83, 0, 0, 0, 82, 0, 151,
561 151, 151, 0, 139, 138, 227, 227, 227, 0, 219,
562 218, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 275, 275,
564 0, 295, 294, 0, 0, 0, 0, 22, 21, 231,
565 0, 0, 46, 45, 0, 0, 0, 0, 71, 0,
566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 0, 151, 151, 151, 227, 0, 0,
569 227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 0, 0, 0, 0, 275, 275,
571 0, 0, 0, 0, 75, 0, 0, 0, 0, 0,
572 0, 0, 91, 90, 87, 89, 86, 88, 0, 0,
573 81, 0, 0, 80, 0, 0, 131, 130, 151, 151,
574 151, 151, 227, 0, 213, 212, 227, 0, 0, 0,
575 0, 0, 0, 245, 0, 244, 0, 0, 250, 0,
576 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
577 275, 0, 0, 0, 0, 0, 0, 75, 0, 0,
578 0, 0, 0, 63, 62, 0, 0, 0, 0, 0,
580 151, 151, 151, 151, 0, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 243, 242, 0, 0, 0, 0,
582 0, 0, 0, 261, 260, 275, 0, 259, 258, 275,
583 0, 0, 0, 0, 0, 0, 0, 67, 0, 66,
584 0, 79, 0, 78, 0, 96, 151, 151, 151, 151,
585 0, 209, 208, 0, 0, 0, 0, 0, 239, 0,
586 0, 238, 0, 0, 269, 0, 0, 268, 275, 275,
587 0, 0, 0, 12, 0, 12, 0, 0, 0, 0,
588 0, 151, 151, 151, 151, 0, 0, 0, 0, 241,
589 237, 240, 236, 271, 267, 270, 266, 275, 275, 0,
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 151, 0, 0, 0, 0, 0,
593 0, 275, 275, 0, 0, 65, 64, 77, 76, 0,
594 133, 132, 0, 143, 142, 0, 141, 140, 151, 0,
595 147, 146, 0, 0, 0, 0, 275, 275, 0, 11,
596 151, 0, 0, 0, 0, 275, 275, 0, 151, 0,
597 0, 0, 0, 275, 275, 0, 151, 0, 0, 0,
598 0, 275, 275, 0, 0, 0, 0, 221, 0, 220,
599 275, 275, 0, 0, 145, 144, 223, 222, 275, 275,
600 0, 275, 275, 0, 275, 275, 0, 0, 275, 275,
602 0, 0, 275, 275, 0, 0, 275, 275, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 265, 264, 0,
604 263, 262, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 0, 13, 0
608 static yyconst flex_int32_t yy_ec[256] =
610 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
611 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
612 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
613 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
614 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
615 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
616 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
617 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
618 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
619 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
621 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
622 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
623 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
630 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
632 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
633 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 static yyconst flex_int32_t yy_meta[70] =
642 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
643 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
644 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
645 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
646 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
647 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
648 5, 5, 5, 5, 5, 5, 5, 5, 5
651 static yyconst flex_int16_t yy_base[2172] =
653 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
654 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
655 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
656 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
657 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
658 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
659 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
660 970, 1033, 550, 554, 557, 560, 610, 613, 617, 621,
661 1096, 1162, 674, 677, 1228, 0, 681, 685, 1297, 1351,
662 738, 741, 1405, 1468, 745, 748, 751, 801, 804, 808,
664 811, 814, 1531, 1594, 864, 867, 871, 874, 877, 927,
665 930, 934, 1657, 1720, 937, 940, 990, 993, 997, 1000,
666 1003, 1053, 1783, 1837, 1056, 1060, 1891, 1954, 1063, 1066,
667 1116, 1119, 1123, 1126, 1129, 1182, 2017, 2083, 1185, 1189,
668 0, 0, 4565, 7099, 7099, 95, 100, 29, 41, 7099,
669 155, 51, 7099, 7099, 4554, 7099, 7099, 4542, 7099, 4557,
670 4556, 580, 7099, 7099, 7099, 7099, 4550, 4550, 4497, 210,
671 7099, 158, 4520, 0, 142, 7099, 4485, 4477, 7099, 162,
672 2145, 1321, 1326, 1379, 208, 7099, 165, 4512, 0, 149,
673 7099, 4469, 7099, 230, 378, 7099, 233, 4502, 0, 217,
675 7099, 4466, 4470, 4467, 379, 4465, 7099, 326, 4482, 0,
676 311, 7099, 4451, 4450, 238, 4419, 7099, 377, 381, 562,
677 438, 7099, 458, 4459, 0, 435, 7099, 4418, 4420, 4420,
678 4404, 7099, 520, 498, 7099, 640, 4445, 0, 499, 7099,
679 4409, 4394, 4409, 4387, 7099, 644, 561, 7099, 647, 4417,
680 0, 564, 7099, 4386, 1381, 753, 7099, 703, 689, 7099,
681 709, 4414, 0, 632, 7099, 4360, 34, 4379, 4364, 4358,
682 7099, 712, 1130, 752, 7099, 773, 4399, 0, 665, 7099,
683 4368, 4367, 7099, 834, 818, 7099, 894, 4381, 0, 878,
684 7099, 24, 4351, 4352, 93, 4340, 4317, 7099, 898, 941,
686 7099, 901, 4360, 0, 885, 7099, 4326, 7099, 957, 942,
687 7099, 962, 4354, 0, 1004, 7099, 4323, 4319, 4320, 80,
688 7099, 965, 1316, 1005, 7099, 1150, 4341, 0, 1007, 7099,
689 4308, 4292, 26, 1068, 7099, 1153, 1317, 1070, 7099, 1156,
690 4333, 0, 1067, 7099, 4300, 4279, 4278, 4272, 7099, 1192,
691 1322, 1192, 7099, 1206, 4298, 0, 1140, 7099, 4267, 7099,
692 1215, 1318, 7099, 1218, 4291, 0, 1193, 7099, 4245, 4249,
693 4246, 4235, 7099, 1221, 1445, 1382, 1424, 7099, 1342, 4273,
694 0, 1194, 7099, 4245, 7099, 1346, 1426, 1389, 18, 4221,
695 7099, 4278, 4266, 7099, 7099, 7099, 1383, 282, 4214, 4207,
697 4205, 4248, 4198, 7099, 0, 4191, 4195, 4190, 4192, 4183,
698 4182, 4178, 4181, 4171, 166, 4182, 4167, 4169, 4155, 398,
699 7099, 0, 4157, 4157, 7099, 0, 4154, 1490, 4146, 410,
700 4135, 4177, 7099, 0, 4137, 1494, 4126, 4146, 4120, 4127,
701 4113, 4107, 7099, 0, 4110, 4116, 4097, 4102, 4083, 7099,
702 0, 1497, 4095, 4094, 4091, 4077, 7099, 0, 4068, 4067,
703 7099, 0, 4068, 1500, 4048, 4042, 4042, 4061, 4052, 7099,
704 0, 1504, 4048, 4028, 7099, 0, 4037, 1551, 1554, 4017,
705 4012, 4028, 4027, 4024, 4018, 7099, 0, 1557, 4003, 7099,
706 0, 3993, 1560, 3984, 3996, 3994, 3971, 7099, 0, 3948,
708 3947, 3961, 3951, 3951, 3942, 7099, 0, 3938, 3923, 3926,
709 3932, 3913, 7099, 0, 1563, 3918, 7099, 0, 3914, 3901,
710 3907, 3915, 3900, 3896, 7099, 0, 3896, 3900, 3924, 3931,
711 419, 3882, 7099, 1441, 0, 3865, 3865, 3898, 3893, 3849,
712 7099, 3861, 3842, 3846, 1614, 1624, 3831, 3833, 3824, 3836,
713 3820, 3809, 3804, 3792, 3792, 3793, 3773, 3790, 3760, 3774,
714 1619, 1627, 3772, 1679, 1581, 3763, 3791, 1684, 1687, 7099,
715 3764, 1690, 1646, 1693, 3754, 1740, 3765, 1748, 1753, 3750,
716 3734, 3733, 3736, 3736, 1758, 1803, 1806, 1773, 3731, 3719,
717 3720, 1809, 1812, 3721, 1815, 1857, 3711, 1864, 1867, 3709,
719 3709, 3703, 3687, 1911, 1917, 1920, 1923, 3681, 1975, 1979,
720 284, 1982, 1985, 2040, 2043, 2051, 3695, 3692, 3684, 3686,
721 2054, 2060, 2063, 2069, 2103, 2108, 3680, 2111, 2115, 3676,
722 3662, 3644, 2131, 2134, 3652, 2137, 2140, 3648, 3641, 2143,
723 2158, 3641, 2166, 3613, 2170, 2177, 2180, 2173, 2209, 2200,
724 2220, 3609, 3592, 3594, 3582, 2223, 2226, 3591, 3576, 2229,
725 2232, 3609, 7099, 7099, 199, 3571, 7099, 3608, 3607, 3559,
726 7099, 7099, 3545, 3544, 3538, 3528, 2251, 2255, 7099, 2258,
727 3518, 3529, 3510, 3517, 3516, 3512, 3509, 3493, 1460, 3507,
728 3489, 3504, 3486, 2261, 2264, 2279, 7099, 2283, 2287, 2305,
730 7099, 7099, 2293, 3511, 2298, 2313, 7099, 2317, 3473, 2320,
731 7099, 7099, 2332, 2336, 2345, 2351, 2356, 3484, 2364, 2369,
732 7099, 2372, 3472, 3480, 3479, 2375, 3477, 2378, 2383, 7099,
733 2393, 2398, 7099, 7099, 3461, 3466, 3458, 2406, 2412, 7099,
734 2415, 3450, 2418, 2421, 7099, 2425, 3447, 2440, 7099, 7099,
735 3439, 3437, 3433, 3443, 2448, 2451, 7099, 2454, 2457, 7099,
736 7099, 3442, 2473, 2478, 7099, 2481, 3423, 3439, 2486, 7099,
737 7099, 2500, 7099, 7099, 2508, 2512, 3422, 3424, 3429, 3417,
738 2521, 2526, 7099, 2529, 2533, 7099, 7099, 2541, 2548, 7099,
739 2551, 3399, 2554, 7099, 7099, 3407, 3409, 3404, 2562, 2570,
741 7099, 2573, 3393, 2576, 2582, 2594, 2597, 3398, 3391, 2605,
742 2608, 7099, 2615, 3386, 2618, 2630, 3387, 2638, 2641, 2649,
743 2652, 7099, 2656, 2659, 7099, 7099, 2671, 2675, 7099, 2679,
744 3370, 2682, 3387, 3360, 2685, 2690, 7099, 2694, 3358, 3371,
745 2700, 2704, 7099, 2709, 270, 2713, 7099, 7099, 3402, 3400,
746 3365, 3355, 3390, 2723, 3337, 3352, 1523, 3326, 1526, 3339,
747 3325, 3333, 1589, 3327, 3323, 3307, 3306, 2728, 2736, 2746,
748 2752, 2756, 3305, 3331, 2765, 3305, 2770, 7099, 7099, 2778,
749 2786, 2797, 7099, 7099, 3300, 2805, 1711, 3300, 3283, 2808,
750 2812, 3284, 2820, 3259, 3279, 3255, 2826, 3273, 2829, 3274,
752 3257, 3241, 2832, 2839, 2835, 2857, 2860, 2863, 2867, 2885,
753 7099, 7099, 2871, 2893, 2898, 2902, 2905, 2912, 3249, 3254,
754 3241, 2920, 2925, 3239, 2931, 7099, 7099, 2944, 7099, 7099,
755 3226, 3273, 2939, 3223, 2954, 7099, 7099, 3216, 2969, 7099,
756 7099, 2979, 2982, 3224, 2985, 2988, 3212, 3230, 3003, 3215,
757 3006, 3009, 301, 3251, 3012, 7099, 3249, 7099, 7099, 3208,
758 3208, 4, 3015, 3201, 3202, 1714, 3196, 1743, 3179, 3176,
759 3018, 1818, 2000, 3216, 3168, 3024, 7099, 7099, 3036, 3043,
760 7099, 7099, 3175, 3185, 3055, 3159, 3061, 7099, 7099, 3146,
761 3051, 1768, 3147, 3141, 3079, 1610, 1852, 3149, 3087, 3090,
763 3093, 3096, 3100, 7099, 3114, 3119, 3152, 3144, 3129, 3122,
764 3125, 3140, 3144, 3136, 3152, 3158, 3164, 3172, 3176, 3179,
765 3187, 3194, 3198, 3206, 3212, 3215, 3218, 3224, 3137, 3115,
766 3119, 3233, 3237, 3118, 3245, 3251, 3254, 3116, 3257, 3260,
767 3281, 3284, 3289, 3104, 3292, 7099, 7099, 3104, 3093, 3308,
768 3102, 3311, 3315, 3329, 1191, 131, 493, 7099, 3089, 3333,
769 3336, 3340, 3343, 3083, 3087, 3088, 3073, 1883, 1945, 3078,
770 1948, 2008, 3084, 3358, 3082, 3097, 3362, 3055, 3059, 3365,
771 3052, 3368, 3068, 3084, 3065, 3051, 3044, 3057, 3055, 3041,
772 3024, 3372, 3377, 3391, 3401, 3406, 3409, 3424, 3427, 3435,
774 3018, 3007, 3016, 3438, 7099, 7099, 3447, 3026, 3025, 2996,
775 3455, 7099, 3458, 7099, 7099, 3466, 7099, 3470, 7099, 7099,
776 3478, 3485, 3496, 7099, 7099, 3504, 3507, 3515, 3518, 3522,
777 3536, 3539, 2984, 3542, 2999, 3545, 3007, 3006, 2982, 3560,
778 7099, 3563, 3566, 3574, 2967, 3586, 3581, 3601, 3592, 3595,
779 3610, 2966, 2944, 2946, 3614, 2940, 3617, 7099, 7099, 3629,
780 74, 210, 220, 2939, 3633, 3636, 3644, 3651, 3658, 2011,
781 3662, 3665, 3669, 3672, 2930, 3678, 2934, 3681, 2925, 2934,
782 3684, 7099, 2912, 2923, 3687, 2905, 3690, 3694, 2944, 2930,
783 2923, 2914, 2932, 2918, 2912, 2908, 3708, 3715, 3719, 7099,
785 7099, 3711, 3730, 3738, 7099, 7099, 3746, 7099, 7099, 3754,
786 2882, 2886, 2871, 367, 369, 2870, 3758, 7099, 7099, 3766,
787 7099, 7099, 3774, 3777, 3785, 7099, 7099, 3793, 3796, 2866,
788 3799, 3802, 2867, 2853, 666, 733, 2855, 3817, 490, 541,
789 3825, 2852, 3828, 3831, 553, 594, 3839, 3843, 7099, 3847,
790 3850, 2853, 2841, 3857, 2829, 3868, 3862, 313, 443, 3872,
791 3877, 7099, 7099, 3887, 3890, 3896, 3899, 3910, 3915, 3919,
792 2836, 2827, 3925, 2819, 7099, 3928, 2817, 3931, 7099, 2833,
793 3934, 482, 736, 2847, 2847, 2831, 2830, 2823, 2827, 2824,
794 2822, 3946, 3953, 3964, 3967, 7099, 7099, 3975, 2793, 2787,
796 2790, 2799, 2814, 2792, 2808, 2755, 3979, 7099, 7099, 3987,
797 3990, 7099, 3994, 3997, 7099, 7099, 2750, 2739, 2769, 2788,
798 2766, 2782, 2736, 2744, 796, 2743, 805, 4012, 4015, 4018,
799 2738, 849, 2737, 856, 4022, 4026, 4030, 4041, 4033, 2725,
800 4051, 4054, 4057, 4060, 152, 426, 4066, 4070, 4083, 4088,
801 2706, 2706, 4091, 7099, 2694, 4094, 4097, 2703, 2698, 2716,
802 2716, 2709, 2711, 2704, 2694, 2694, 2686, 2690, 2678, 2684,
803 2672, 4113, 7099, 7099, 4121, 4124, 7099, 2636, 2642, 2613,
804 2664, 7099, 2658, 7099, 4127, 4132, 7099, 4135, 4147, 2615,
805 2608, 2593, 2642, 7099, 2637, 7099, 4155, 2612, 2592, 2603,
807 2601, 2588, 2598, 4158, 4161, 4169, 4178, 2597, 2577, 2588,
808 2579, 2566, 2576, 4181, 4184, 4187, 7099, 7099, 4199, 4203,
809 4212, 4217, 7099, 4220, 4223, 714, 598, 801, 4236, 4243,
810 4254, 4257, 7099, 2538, 2539, 4260, 4263, 549, 671, 2528,
811 2534, 2531, 2528, 2521, 2513, 2486, 2461, 2369, 17, 3,
812 91, 121, 269, 4272, 266, 310, 345, 7099, 7099, 4278,
813 4281, 4292, 7099, 7099, 378, 401, 438, 7099, 7099, 4300,
814 4303, 480, 516, 544, 569, 588, 646, 4311, 737, 786,
815 4319, 653, 652, 681, 709, 758, 791, 4322, 4325, 4329,
816 7099, 4334, 7099, 7099, 4343, 4348, 4356, 7099, 903, 814,
818 1003, 4361, 7099, 7099, 4369, 4375, 4387, 846, 4390, 4393,
819 898, 934, 920, 964, 940, 4401, 980, 989, 983, 998,
820 1008, 1007, 1007, 7099, 1057, 1058, 1043, 7099, 4404, 4408,
821 1041, 1047, 4412, 7099, 7099, 1038, 4426, 1047, 4429, 7099,
822 7099, 1075, 1100, 1112, 1106, 1110, 1122, 1114, 1152, 1166,
823 1176, 4437, 1175, 1190, 1287, 1282, 1284, 1298, 4440, 4444,
824 4458, 7099, 7099, 1401, 1315, 4466, 4469, 7099, 7099, 4447,
825 1261, 4478, 7099, 7099, 1310, 1302, 1377, 1367, 4486, 4491,
826 4494, 1398, 1421, 1421, 1423, 1405, 1401, 1438, 1416, 1414,
827 1451, 4504, 4509, 4512, 1416, 1455, 1422, 1440, 4523, 4527,
829 1426, 1480, 1488, 1486, 1491, 1521, 1534, 1563, 1533, 1563,
830 1540, 4535, 1551, 1560, 1554, 1559, 1584, 1585, 4541, 4544,
831 1600, 4547, 4554, 4573, 4566, 1590, 1600, 1601, 1611, 4581,
832 4588, 4599, 7099, 7099, 7099, 7099, 7099, 7099, 1609, 1616,
833 7099, 1621, 1625, 7099, 4607, 4610, 7099, 7099, 1602, 1623,
834 1629, 1638, 4618, 4622, 7099, 7099, 4630, 1674, 1668, 1680,
835 1683, 1676, 1694, 7099, 1730, 7099, 1739, 4636, 7099, 1728,
836 1720, 1733, 1740, 1733, 1755, 4639, 4642, 4650, 4657, 4661,
837 4670, 1804, 4675, 4678, 4698, 4737, 4781, 4688, 1756, 1822,
838 1805, 1822, 4706, 7099, 7099, 1803, 1830, 1823, 1855, 4727,
840 1816, 1830, 1821, 1818, 4717, 4757, 4731, 4765, 1863, 1865,
841 1901, 1891, 1893, 1919, 7099, 7099, 1904, 1908, 1930, 1912,
842 1915, 1932, 4801, 7099, 7099, 4773, 4809, 7099, 7099, 4817,
843 1986, 4826, 2102, 2030, 4871, 4915, 1929, 7099, 1931, 7099,
844 1914, 7099, 1931, 7099, 4835, 7099, 1930, 1924, 1943, 1943,
845 4838, 7099, 7099, 4847, 2013, 2041, 1990, 1994, 7099, 1999,
846 2024, 7099, 2063, 2070, 7099, 2068, 2072, 7099, 4862, 4865,
847 2133, 2231, 2111, 2093, 2100, 2116, 4883, 2114, 2133, 2110,
848 2113, 4891, 4894, 4935, 4938, 2136, 2135, 2143, 2142, 7099,
849 7099, 7099, 7099, 7099, 7099, 7099, 7099, 4941, 4944, 4905,
851 2180, 2166, 2182, 4948, 2188, 2186, 2200, 2201, 4962, 4967,
852 4980, 4983, 4998, 5001, 2152, 5009, 5012, 2177, 2197, 2182,
853 2216, 5020, 5023, 5028, 2221, 7099, 7099, 7099, 7099, 5031,
854 7099, 7099, 5041, 7099, 7099, 5049, 7099, 7099, 2192, 5058,
855 7099, 7099, 2208, 2208, 2211, 2211, 5067, 5070, 2230, 7099,
856 2208, 2239, 2244, 2243, 2250, 5073, 5076, 2272, 2211, 2243,
857 2268, 2262, 2280, 5079, 5097, 2293, 5100, 2299, 2321, 2302,
858 2321, 5103, 5106, 2324, 5109, 5132, 2335, 7099, 2334, 7099,
859 5140, 5143, 2336, 5161, 7099, 7099, 7099, 7099, 5169, 5172,
860 4975, 5175, 5178, 5181, 5196, 5204, 2368, 2370, 5207, 5216,
862 2326, 2341, 5225, 5228, 2337, 2385, 5239, 5247, 2414, 2416,
863 5253, 5267, 5258, 5276, 2428, 2452, 5284, 7099, 7099, 5293,
864 7099, 7099, 2442, 2450, 2417, 2444, 2458, 2502, 2363, 2391,
865 2474, 2506, 2485, 2499, 2561, 2477, 5301, 5304, 7099, 7099,
866 5324, 5333, 5342, 5351, 5360, 5369, 5378, 5387, 5396, 5405,
867 5414, 5423, 5432, 5441, 5450, 5459, 5468, 5477, 5486, 5495,
868 5504, 5513, 5522, 5531, 5540, 5549, 5558, 5567, 5576, 5585,
869 5594, 5603, 5612, 5621, 5630, 5639, 5648, 5657, 5666, 5673,
870 5680, 5687, 5694, 5701, 5708, 5715, 5722, 5729, 5736, 5743,
871 5750, 5757, 5764, 5771, 5778, 5785, 5794, 5799, 5804, 5809,
873 5814, 5819, 5824, 5829, 5834, 5839, 5844, 5849, 5856, 5861,
874 5868, 5873, 5880, 5885, 5892, 5897, 5904, 5909, 5916, 5921,
875 5930, 5936, 5943, 5951, 5958, 5966, 5973, 5981, 5988, 5996,
876 6003, 6011, 6018, 6026, 6033, 6041, 6048, 6056, 6063, 6071,
877 6078, 6086, 6094, 6101, 6109, 6116, 6124, 6131, 6139, 6147,
878 6154, 6162, 6169, 6177, 6186, 6192, 6199, 6207, 6215, 6223,
879 6231, 6239, 6246, 6254, 6261, 6269, 6276, 6284, 6291, 6299,
880 6306, 6314, 6321, 6329, 6336, 6344, 6352, 6359, 6367, 6374,
881 6382, 6389, 6397, 6405, 6412, 6420, 6427, 6435, 6444, 6453,
882 6460, 6468, 6476, 6483, 6491, 6498, 6506, 6513, 6521, 6528,
884 6536, 6543, 6551, 6558, 6566, 6574, 6582, 6590, 6598, 6606,
885 6613, 6621, 6628, 6636, 6643, 6651, 6659, 6666, 6674, 6682,
886 6690, 6699, 6708, 6715, 6723, 6731, 6738, 6746, 6753, 6761,
887 6768, 6776, 6784, 6792, 6800, 6807, 6815, 6823, 6831, 6839,
888 6847, 6854, 6862, 6870, 6878, 6886, 6894, 6902, 6909, 6917,
889 6925, 6934, 6943, 6951, 6959, 6967, 6974, 6982, 6989, 6997,
890 7004, 7012, 7020, 7028, 7035, 7044, 7053, 7062, 7071, 7080,
894 static yyconst flex_int16_t yy_def[2172] =
896 1941, 1941, 1942, 1942, 1942, 1942, 1943, 1943, 1944, 1944,
897 1945, 1945, 1946, 1946, 1946, 1946, 1947, 1947, 1941, 1941,
898 1948, 1948, 1949, 1949, 1949, 1949, 1941, 1941, 1949, 1949,
899 1941, 1941, 1949, 1949, 1949, 1949, 1950, 1950, 1951, 1951,
900 1952, 1952, 1946, 1946, 1953, 1953, 1954, 1954, 1941, 1941,
901 1954, 1954, 1954, 1954, 1955, 1955, 1956, 1956, 1957, 1957,
902 1958, 1958, 1959, 1959, 1941, 1941, 1941, 1941, 1960, 1960,
903 1961, 1961, 1962, 1962, 1941, 1941, 1962, 1962, 1962, 1962,
904 1963, 1963, 1964, 1964, 1940, 85, 1965, 1965, 1966, 1966,
905 1967, 1967, 1968, 1968, 1969, 1969, 1941, 1941, 1969, 1969,
907 1969, 1969, 1970, 1970, 1941, 1941, 1941, 1941, 1971, 1971,
908 1971, 1971, 1972, 1972, 1973, 1973, 1941, 1941, 1973, 1973,
909 1973, 1973, 1974, 1974, 1975, 1975, 1976, 1976, 1977, 1977,
910 1941, 1941, 1977, 1977, 1977, 1977, 1978, 1978, 1979, 1979,
911 1941, 1941, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
912 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
913 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
914 1940, 1940, 1940, 1980, 1940, 1940, 1980, 1980, 1940, 1940,
915 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1981, 1940,
916 1940, 1981, 1940, 1940, 1940, 1940, 1940, 1940, 1982, 1940,
918 1940, 1982, 1982, 1982, 1940, 1940, 1940, 1940, 1940, 1983,
919 1940, 1940, 1983, 1983, 1983, 1983, 1940, 1940, 1940, 1940,
920 1940, 1940, 1940, 1940, 1984, 1940, 1940, 1984, 1984, 1984,
921 1984, 1940, 1940, 1940, 1940, 1940, 1940, 1985, 1940, 1940,
922 1985, 1985, 1985, 1985, 1940, 1940, 1940, 1940, 1940, 1940,
923 1986, 1940, 1940, 1986, 1940, 1940, 1940, 1940, 1940, 1940,
924 1940, 1940, 1987, 1940, 1940, 1987, 1987, 1987, 1987, 1987,
925 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1988, 1940, 1940,
926 1988, 1988, 1940, 1940, 1940, 1940, 1940, 1940, 1989, 1940,
927 1940, 1989, 1989, 1989, 1989, 1989, 1989, 1940, 1940, 1940,
929 1940, 1940, 1940, 1990, 1940, 1940, 1990, 1940, 1940, 1940,
930 1940, 1940, 1940, 1991, 1940, 1940, 1991, 1991, 1991, 1991,
931 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1992, 1940, 1940,
932 1992, 1992, 1992, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
933 1940, 1993, 1940, 1940, 1993, 1993, 1993, 1993, 1940, 1940,
934 1940, 1940, 1940, 1940, 1940, 1994, 1940, 1940, 1994, 1940,
935 1940, 1940, 1940, 1940, 1940, 1995, 1940, 1940, 1995, 1995,
936 1995, 1995, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
937 1996, 1940, 1940, 1996, 1940, 1940, 1940, 1940, 1997, 1940,
938 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
940 1940, 1940, 1940, 1940, 1980, 1980, 1980, 1998, 1940, 1940,
941 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
942 1940, 1981, 1981, 1999, 1940, 1982, 1982, 1982, 1982, 1940,
943 2000, 1940, 1940, 1983, 1983, 1983, 1983, 1983, 1983, 1983,
944 2001, 1940, 1940, 1984, 1984, 1984, 1984, 1984, 2002, 1940,
945 1985, 1985, 1985, 1985, 1985, 2003, 1940, 1986, 1986, 2004,
946 1940, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 2005, 1940,
947 1988, 1988, 1988, 2006, 1940, 1989, 1989, 1989, 1989, 1989,
948 1989, 1989, 1989, 1989, 2007, 1940, 1990, 1990, 2008, 1940,
949 2009, 2009, 2009, 2009, 2009, 2009, 2010, 1940, 2011, 2011,
951 2011, 2011, 2011, 1940, 2012, 1940, 2013, 2013, 2013, 2013,
952 2013, 2014, 1940, 2015, 2015, 2016, 1940, 2017, 2017, 2017,
953 2017, 2017, 2018, 1940, 1940, 2019, 2019, 2020, 2021, 1940,
954 2021, 1940, 1940, 1940, 2022, 1940, 1940, 1940, 1940, 1940,
955 1940, 1940, 2023, 2023, 2024, 2024, 1940, 1940, 1940, 1940,
956 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2025,
957 2026, 2026, 2027, 1940, 1940, 2027, 1940, 2028, 2028, 1940,
958 2029, 1940, 1940, 2029, 2029, 2029, 2029, 2030, 2030, 1940,
959 2031, 2031, 2031, 2031, 2032, 2032, 1940, 1940, 2033, 2033,
960 2033, 2034, 2034, 2035, 2036, 2036, 2037, 1940, 1940, 2037,
962 2037, 2037, 2037, 2038, 2038, 1940, 1940, 2039, 2040, 2040,
963 2041, 1940, 1940, 1940, 1940, 2041, 2041, 2041, 2041, 2041,
964 2042, 2042, 1940, 1940, 2043, 2043, 2044, 1940, 1940, 2044,
965 2044, 2044, 2045, 2045, 2046, 2046, 2046, 2046, 1940, 2047,
966 2047, 2048, 2048, 2048, 2048, 2049, 2049, 1940, 1940, 2050,
967 2050, 2051, 2051, 2051, 2051, 2052, 2052, 1940, 2053, 2054,
968 2054, 2055, 1940, 1940, 2055, 1940, 1940, 2056, 1940, 1940,
969 1940, 1940, 1940, 1940, 2057, 2057, 1940, 2058, 1940, 2058,
970 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
971 1940, 1940, 1940, 2059, 1940, 2060, 1940, 2060, 2061, 1940,
973 1940, 1940, 2061, 1940, 1940, 2062, 1940, 2062, 2063, 1940,
974 1940, 1940, 1940, 1940, 2063, 1940, 1940, 2063, 1940, 2064,
975 1940, 2064, 1940, 2065, 2065, 2065, 2065, 1940, 2066, 1940,
976 2066, 1940, 1940, 1940, 2067, 2067, 2067, 1940, 2068, 1940,
977 2068, 2069, 1940, 2070, 1940, 2070, 2071, 1940, 1940, 1940,
978 2071, 2071, 2071, 2071, 1940, 2072, 1940, 2072, 1940, 1940,
979 1940, 2073, 1940, 2074, 1940, 2074, 2075, 2075, 1940, 1940,
980 1940, 1940, 1940, 1940, 1940, 1940, 2075, 2075, 2075, 2075,
981 1940, 2076, 1940, 2076, 1940, 1940, 1940, 1940, 2077, 1940,
982 2077, 2078, 1940, 1940, 1940, 2078, 2078, 2078, 1940, 2079,
984 1940, 2079, 2080, 1940, 1940, 1940, 1940, 2080, 1940, 1940,
985 2081, 1940, 2081, 2082, 1940, 1940, 2082, 1940, 1940, 1940,
986 2083, 1940, 2083, 1940, 1940, 1940, 1940, 2084, 1940, 2084,
987 2085, 2085, 2085, 2085, 1940, 2086, 1940, 2086, 1940, 2087,
988 1940, 2088, 1940, 2088, 2089, 2090, 1940, 1940, 1940, 1940,
989 1940, 2091, 2091, 2092, 1940, 1940, 1940, 1940, 1940, 1940,
990 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2093,
991 1940, 1940, 2094, 1940, 2095, 2096, 1940, 1940, 1940, 1940,
992 1940, 1940, 1940, 1940, 2096, 2097, 1940, 2098, 2098, 1940,
993 1940, 2098, 2099, 2100, 2100, 2100, 2101, 2102, 2103, 2104,
995 2104, 2104, 2104, 2104, 2105, 2106, 2107, 2108, 2108, 1940,
996 1940, 1940, 2108, 2108, 2108, 2108, 2109, 2110, 2111, 2111,
997 2111, 2111, 2112, 2113, 1940, 1940, 1940, 1940, 1940, 1940,
998 2113, 1940, 2114, 2115, 1940, 1940, 1940, 2115, 1940, 1940,
999 1940, 2116, 2117, 2118, 1940, 1940, 2118, 2118, 2119, 1940,
1000 2120, 2121, 2122, 2123, 2123, 1940, 2123, 1940, 1940, 1940,
1001 2124, 2124, 2125, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1002 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2126, 1940,
1003 1940, 1940, 2127, 1940, 2128, 2129, 1940, 1940, 1940, 2129,
1004 2130, 1940, 2131, 2131, 1940, 1940, 1940, 2131, 2132, 2133,
1006 2133, 2133, 1940, 1940, 2134, 2135, 2136, 2136, 2136, 1940,
1007 1940, 1940, 1940, 2136, 2137, 1940, 1940, 2138, 1940, 1940,
1008 2139, 1940, 1940, 2139, 2139, 2139, 2140, 2141, 2142, 2142,
1009 2142, 1940, 1940, 2142, 2143, 2144, 2144, 1940, 2145, 2146,
1010 2146, 2147, 2148, 2149, 1940, 1940, 1940, 2149, 2149, 2150,
1011 1940, 1940, 1940, 2151, 2152, 2153, 2153, 1940, 1940, 2154,
1012 2154, 2154, 2155, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1013 1940, 1940, 1940, 2156, 2157, 1940, 2158, 2159, 2159, 2160,
1014 2161, 2161, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1015 2161, 2162, 1940, 1940, 2163, 1940, 1940, 1940, 1940, 2164,
1017 2165, 2165, 2165, 1940, 1940, 1940, 1940, 1940, 1940, 2165,
1018 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1019 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2139, 1940, 1940,
1020 2140, 2141, 2142, 2142, 2142, 1940, 1940, 1940, 2142, 1940,
1021 1940, 1940, 1940, 2144, 1940, 2145, 1940, 1940, 2146, 2147,
1022 2148, 2149, 2149, 2149, 2150, 1940, 1940, 1940, 1940, 2151,
1023 2152, 2153, 2153, 1940, 1940, 1940, 2154, 2154, 2155, 1940,
1024 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2156, 2157, 1940,
1025 1940, 1940, 2159, 2159, 2160, 2161, 1940, 1940, 1940, 1940,
1026 1940, 1940, 1940, 1940, 1940, 1940, 2161, 2162, 1940, 1940,
1028 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2164,
1029 2165, 2165, 2165, 1940, 1940, 2165, 1940, 1940, 1940, 1940,
1030 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2140, 2141, 2142,
1031 1940, 1940, 2142, 2142, 1940, 1940, 2142, 1940, 1940, 1940,
1032 2144, 1940, 2145, 1940, 1940, 1940, 2146, 1940, 1940, 2148,
1033 2149, 2149, 2149, 2150, 1940, 2151, 2152, 2153, 2153, 1940,
1034 1940, 1940, 1940, 2154, 2154, 2155, 1940, 1940, 1940, 1940,
1035 1940, 1940, 2156, 2157, 1940, 2159, 2159, 1940, 1940, 2161,
1036 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1037 1940, 1940, 1940, 2162, 1940, 1940, 1940, 2164, 2165, 2165,
1039 2165, 1940, 1940, 1940, 1940, 2165, 1940, 1940, 1940, 2140,
1040 1940, 1940, 2142, 1940, 1940, 1940, 2142, 2142, 1940, 1940,
1041 1940, 1940, 2142, 1940, 1940, 1940, 1940, 2144, 1940, 2145,
1042 1940, 1940, 1940, 1940, 2146, 2148, 1940, 1940, 2149, 2149,
1043 2150, 1940, 2151, 2152, 2153, 2153, 1940, 2154, 2154, 2155,
1044 1940, 1940, 1940, 1940, 2157, 1940, 1940, 2159, 2161, 1940,
1045 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1046 1940, 1940, 1940, 1940, 2162, 1940, 1940, 2165, 2165, 2165,
1047 1940, 1940, 1940, 1940, 2165, 1940, 1940, 1940, 1940, 2142,
1048 2142, 2142, 1940, 1940, 1940, 1940, 2142, 1940, 1940, 1940,
1050 1940, 1940, 1940, 1940, 1940, 1940, 2145, 1940, 1940, 1940,
1051 1940, 1940, 1940, 2146, 2148, 1940, 1940, 1940, 1940, 1940,
1052 2149, 1940, 1940, 1940, 2151, 2152, 2153, 2153, 1940, 1940,
1053 2154, 1940, 1940, 1940, 1940, 2157, 1940, 1940, 1940, 2159,
1054 2161, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1055 1940, 1940, 1940, 2162, 2165, 2165, 2165, 1940, 1940, 1940,
1056 1940, 1940, 1940, 1940, 2142, 2142, 2142, 1940, 1940, 1940,
1057 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1058 2145, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146, 1940,
1059 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2152, 2153,
1061 2153, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1062 1940, 1940, 1940, 1940, 2159, 2161, 1940, 1940, 1940, 1940,
1063 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2162, 2165,
1064 2165, 2165, 1940, 1940, 1940, 2142, 2142, 2142, 1940, 1940,
1065 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1066 1940, 2145, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146,
1067 1940, 1940, 1940, 2152, 2153, 2153, 1940, 1940, 1940, 1940,
1068 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2159, 1940,
1069 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1070 1940, 2162, 1940, 1940, 2165, 2165, 2165, 2142, 1940, 1940,
1072 2142, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1073 1940, 2145, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146,
1074 2152, 2153, 2153, 2153, 1940, 1940, 1940, 1940, 1940, 1940,
1075 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1076 1940, 1940, 1940, 1940, 2162, 1940, 1940, 1940, 2165, 2165,
1077 2165, 2165, 2142, 1940, 1940, 1940, 2142, 1940, 1940, 1940,
1078 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1079 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 1940, 1940,
1080 2146, 2152, 2153, 2153, 2153, 2166, 2167, 1940, 1940, 1940,
1081 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2162,
1083 2165, 2165, 2165, 2165, 1940, 1940, 1940, 1940, 1940, 1940,
1084 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1085 1940, 1940, 1940, 1940, 1940, 2146, 1940, 1940, 1940, 2146,
1086 2152, 2153, 2168, 2169, 2166, 2167, 1940, 1940, 1940, 1940,
1087 1940, 1940, 1940, 1940, 1940, 1940, 2165, 2165, 2165, 2165,
1088 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1089 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146,
1090 2152, 2168, 2153, 2170, 2169, 2171, 2153, 1940, 1940, 1940,
1091 1940, 2165, 2165, 2165, 2165, 1940, 1940, 1940, 1940, 1940,
1092 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146, 2152,
1094 2170, 1940, 2171, 2153, 1940, 1940, 1940, 1940, 1940, 1940,
1095 1940, 1940, 1940, 1940, 2165, 1940, 1940, 1940, 1940, 1940,
1096 1940, 2146, 2146, 2152, 1940, 1940, 1940, 1940, 1940, 1940,
1097 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 2165, 1940,
1098 1940, 1940, 1940, 1940, 1940, 1940, 2146, 2146, 2152, 1940,
1099 2165, 1940, 1940, 1940, 1940, 2146, 2146, 2152, 2165, 1940,
1100 1940, 1940, 1940, 2146, 2146, 2152, 2165, 1940, 1940, 1940,
1101 1940, 2146, 2146, 2152, 1940, 1940, 1940, 1940, 1940, 1940,
1102 2146, 2146, 2152, 1940, 1940, 1940, 1940, 1940, 2146, 2146,
1103 2152, 2146, 2146, 2152, 2146, 2146, 2152, 2152, 2146, 2146,
1105 2152, 2152, 2146, 2146, 2152, 2152, 2146, 2146, 2152, 2152,
1106 1940, 1940, 1940, 1940, 2152, 2152, 1940, 1940, 1940, 1940,
1107 1940, 1940, 2152, 2152, 2152, 2152, 2152, 2152, 2152, 2152,
1108 2152, 2152, 2152, 2152, 2152, 2152, 2152, 2152, 1940, 0,
1109 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1110 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1111 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1112 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1113 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1114 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1116 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1117 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1118 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1119 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1120 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1121 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1122 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1123 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1124 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1125 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1127 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1128 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1129 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1130 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1131 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1132 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1133 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1137 static yyconst flex_int16_t yy_nxt[7169] =
1139 1940, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1140 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1141 148, 154, 1524, 149, 1525, 155, 149, 530, 155, 152,
1142 151, 147, 151, 389, 158, 160, 161, 158, 160, 161,
1143 162, 163, 531, 162, 163, 389, 152, 167, 168, 390,
1144 164, 160, 161, 164, 165, 392, 162, 160, 161, 1061,
1145 165, 391, 162, 167, 168, 1062, 164, 147, 147, 147,
1146 477, 391, 164, 147, 147, 147, 180, 147, 180, 180,
1147 147, 180, 464, 170, 180, 147, 180, 502, 169, 170,
1148 478, 465, 181, 663, 503, 181, 388, 388, 388, 1257,
1150 182, 388, 388, 388, 169, 171, 172, 147, 172, 171,
1151 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1152 1526, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1153 147, 147, 495, 147, 147, 147, 180, 147, 180, 180,
1154 147, 180, 182, 496, 1527, 183, 392, 171, 171, 183,
1155 956, 481, 181, 392, 482, 181, 388, 388, 388, 388,
1156 388, 388, 391, 388, 388, 388, 388, 388, 388, 391,
1157 177, 956, 178, 171, 172, 147, 172, 171, 171, 171,
1158 171, 171, 171, 171, 173, 171, 171, 171, 1162, 171,
1159 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1161 1427, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1162 184, 553, 392, 184, 392, 171, 171, 182, 663, 408,
1163 182, 392, 845, 185, 554, 180, 147, 180, 391, 956,
1164 391, 388, 388, 388, 388, 388, 388, 391, 177, 956,
1165 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1166 186, 186, 186, 188, 186, 186, 186, 1258, 186, 190,
1167 186, 191, 186, 194, 147, 194, 194, 147, 194, 403,
1168 218, 147, 218, 160, 161, 160, 161, 1528, 162, 195,
1169 162, 1259, 195, 437, 186, 186, 219, 438, 205, 663,
1170 205, 439, 192, 186, 187, 147, 187, 186, 186, 186,
1172 186, 186, 186, 186, 188, 186, 186, 186, 953, 186,
1173 190, 186, 191, 186, 206, 392, 206, 218, 147, 218,
1174 663, 147, 147, 147, 147, 147, 147, 388, 388, 388,
1175 767, 391, 956, 219, 1530, 186, 186, 220, 536, 768,
1176 220, 537, 1055, 192, 196, 197, 147, 197, 196, 196,
1177 196, 196, 196, 196, 196, 198, 196, 196, 196, 1531,
1178 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1179 218, 1345, 218, 147, 218, 218, 147, 218, 388, 388,
1180 388, 219, 392, 430, 219, 392, 196, 196, 221, 424,
1181 431, 221, 441, 1302, 202, 1304, 1532, 203, 391, 391,
1183 1303, 391, 1305, 204, 196, 197, 147, 197, 196, 196,
1184 196, 196, 196, 196, 196, 198, 196, 196, 196, 530,
1185 196, 200, 196, 201, 196, 233, 147, 233, 233, 147,
1186 233, 1536, 246, 147, 246, 246, 147, 246, 663, 392,
1187 442, 234, 392, 553, 234, 956, 196, 196, 247, 441,
1188 1537, 247, 567, 665, 202, 391, 559, 203, 391, 388,
1189 388, 388, 956, 204, 207, 208, 147, 208, 207, 207,
1190 207, 207, 207, 207, 207, 209, 207, 207, 207, 1428,
1191 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1192 147, 1538, 147, 147, 147, 147, 147, 147, 258, 147,
1194 258, 255, 392, 392, 255, 1346, 207, 207, 256, 449,
1195 1360, 256, 956, 1361, 259, 213, 1542, 214, 391, 391,
1196 215, 388, 388, 388, 1324, 1325, 216, 207, 208, 147,
1197 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1198 207, 207, 1163, 207, 211, 207, 212, 207, 258, 147,
1199 258, 272, 147, 272, 1543, 272, 147, 272, 147, 147,
1200 147, 147, 147, 147, 259, 392, 392, 273, 392, 207,
1201 207, 273, 456, 1511, 220, 1326, 1327, 220, 213, 1544,
1202 214, 391, 391, 215, 391, 1512, 397, 1331, 1332, 216,
1203 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1205 222, 224, 222, 222, 222, 1545, 222, 226, 222, 227,
1206 222, 272, 147, 272, 272, 147, 272, 956, 272, 147,
1207 272, 442, 272, 147, 272, 398, 1546, 273, 1333, 1334,
1208 273, 399, 222, 222, 274, 400, 392, 228, 274, 229,
1209 401, 388, 388, 388, 230, 388, 388, 388, 388, 388,
1210 388, 1500, 391, 231, 222, 223, 147, 223, 222, 222,
1211 222, 222, 222, 222, 222, 224, 222, 222, 222, 392,
1212 222, 226, 222, 227, 222, 284, 147, 284, 284, 147,
1213 284, 1547, 299, 147, 299, 391, 299, 147, 299, 1553,
1214 1554, 285, 1319, 392, 285, 1513, 222, 222, 300, 1320,
1216 460, 228, 300, 229, 388, 388, 388, 1514, 230, 391,
1217 388, 388, 388, 388, 388, 388, 1555, 231, 235, 236,
1218 147, 236, 235, 235, 235, 235, 235, 235, 235, 237,
1219 235, 235, 235, 663, 235, 239, 235, 240, 235, 309,
1220 147, 309, 309, 147, 309, 1556, 322, 147, 322, 322,
1221 147, 322, 147, 147, 147, 310, 392, 392, 310, 1321,
1222 235, 235, 323, 469, 1362, 323, 1322, 1363, 220, 1499,
1223 1548, 241, 391, 391, 388, 388, 388, 242, 1549, 243,
1224 244, 235, 236, 147, 236, 235, 235, 235, 235, 235,
1225 235, 235, 237, 235, 235, 235, 1557, 235, 239, 235,
1227 240, 235, 147, 147, 147, 322, 147, 322, 413, 322,
1228 147, 322, 322, 147, 322, 322, 147, 322, 220, 1550,
1229 956, 323, 392, 235, 235, 323, 1558, 1551, 324, 474,
1230 1399, 324, 1400, 956, 241, 388, 388, 388, 391, 1402,
1231 242, 1403, 243, 244, 248, 249, 147, 249, 248, 248,
1232 248, 248, 248, 248, 248, 250, 248, 248, 248, 1501,
1233 248, 252, 248, 253, 248, 147, 147, 147, 147, 147,
1234 147, 1565, 147, 147, 147, 147, 147, 147, 336, 147,
1235 336, 334, 392, 1409, 334, 1410, 248, 248, 334, 392,
1236 1412, 334, 1413, 1571, 337, 388, 388, 388, 391, 388,
1238 388, 388, 388, 388, 388, 391, 254, 248, 249, 147,
1239 249, 248, 248, 248, 248, 248, 248, 248, 250, 248,
1240 248, 248, 663, 248, 252, 248, 253, 248, 336, 147,
1241 336, 336, 147, 336, 1575, 336, 147, 336, 350, 147,
1242 350, 350, 147, 350, 337, 392, 392, 338, 1564, 248,
1243 248, 338, 485, 489, 351, 1576, 1577, 351, 388, 388,
1244 388, 391, 391, 388, 388, 388, 388, 388, 388, 254,
1245 260, 261, 147, 261, 260, 260, 260, 260, 260, 260,
1246 260, 262, 260, 260, 260, 1578, 260, 264, 260, 265,
1247 260, 147, 147, 147, 147, 147, 147, 1579, 350, 147,
1249 350, 350, 147, 350, 350, 147, 350, 334, 392, 392,
1250 334, 392, 260, 260, 351, 266, 497, 351, 1582, 1583,
1251 352, 1584, 956, 267, 391, 391, 268, 391, 1585, 269,
1252 1586, 1587, 270, 260, 261, 147, 261, 260, 260, 260,
1253 260, 260, 260, 260, 262, 260, 260, 260, 1588, 260,
1254 264, 260, 265, 260, 350, 147, 350, 361, 147, 361,
1255 1566, 361, 147, 361, 374, 147, 374, 374, 147, 374,
1256 352, 392, 392, 362, 392, 260, 260, 362, 266, 1589,
1257 375, 505, 1590, 375, 1591, 1596, 267, 391, 391, 268,
1258 391, 1597, 269, 1598, 1601, 270, 275, 276, 147, 276,
1260 275, 275, 275, 275, 275, 275, 275, 277, 275, 275,
1261 275, 1602, 275, 279, 275, 280, 275, 147, 147, 147,
1262 147, 147, 147, 504, 374, 147, 374, 374, 147, 374,
1263 374, 147, 374, 376, 392, 1603, 376, 1604, 275, 275,
1264 375, 469, 1605, 375, 392, 1606, 377, 1607, 1608, 281,
1265 391, 388, 388, 388, 388, 388, 388, 388, 388, 388,
1266 391, 282, 275, 276, 147, 276, 275, 275, 275, 275,
1267 275, 275, 275, 277, 275, 275, 275, 1609, 275, 279,
1268 275, 280, 275, 374, 147, 374, 386, 147, 386, 442,
1269 386, 147, 386, 388, 388, 388, 392, 392, 392, 377,
1271 1610, 1611, 387, 512, 275, 275, 387, 388, 388, 388,
1272 663, 1613, 391, 391, 391, 281, 388, 388, 388, 388,
1273 388, 388, 388, 388, 388, 1614, 1161, 282, 286, 287,
1274 147, 287, 286, 286, 286, 286, 286, 286, 286, 288,
1275 286, 286, 286, 289, 286, 290, 286, 291, 286, 289,
1276 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1277 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1278 286, 286, 289, 289, 292, 289, 289, 289, 289, 289,
1279 289, 293, 289, 294, 289, 289, 289, 295, 289, 296,
1280 297, 289, 289, 289, 289, 289, 289, 301, 302, 147,
1282 302, 301, 301, 301, 301, 301, 301, 301, 303, 301,
1283 301, 301, 1615, 301, 305, 301, 306, 301, 1616, 1617,
1284 392, 392, 392, 1618, 1625, 392, 392, 497, 505, 516,
1285 392, 1626, 408, 512, 956, 1627, 391, 391, 391, 301,
1286 301, 391, 391, 388, 388, 388, 391, 388, 388, 388,
1287 307, 301, 302, 147, 302, 301, 301, 301, 301, 301,
1288 301, 301, 303, 301, 301, 301, 1622, 301, 305, 301,
1289 306, 301, 504, 409, 412, 442, 410, 504, 411, 412,
1290 414, 413, 418, 392, 419, 392, 392, 420, 416, 417,
1291 388, 388, 388, 301, 301, 534, 534, 534, 1628, 391,
1293 1629, 391, 391, 1635, 307, 311, 312, 147, 312, 311,
1294 311, 311, 311, 311, 311, 311, 313, 311, 311, 311,
1295 663, 311, 315, 311, 316, 311, 1636, 524, 392, 1637,
1296 392, 1638, 412, 411, 1639, 523, 413, 528, 414, 1640,
1297 418, 442, 419, 1641, 391, 1642, 391, 311, 311, 392,
1298 535, 317, 1643, 534, 534, 534, 523, 667, 318, 1644,
1299 319, 863, 863, 863, 1621, 391, 1649, 320, 311, 312,
1300 147, 312, 311, 311, 311, 311, 311, 311, 311, 313,
1301 311, 311, 311, 1652, 311, 315, 311, 316, 311, 1653,
1302 524, 564, 564, 564, 1657, 572, 572, 572, 587, 587,
1304 587, 598, 598, 598, 442, 606, 606, 606, 565, 1658,
1305 311, 311, 573, 1659, 317, 588, 1650, 1651, 599, 1660,
1306 1661, 318, 607, 319, 966, 966, 966, 968, 968, 968,
1307 320, 325, 326, 147, 326, 325, 325, 325, 325, 325,
1308 325, 325, 327, 325, 325, 325, 1662, 325, 329, 325,
1309 330, 325, 612, 612, 612, 614, 614, 614, 623, 623,
1310 623, 628, 628, 628, 648, 648, 648, 1663, 1664, 613,
1311 1665, 1666, 615, 325, 325, 624, 331, 1667, 629, 332,
1312 1670, 649, 700, 700, 700, 1671, 701, 1672, 1673, 702,
1313 863, 863, 863, 333, 325, 326, 147, 326, 325, 325,
1315 325, 325, 325, 325, 325, 327, 325, 325, 325, 1674,
1316 325, 329, 325, 330, 325, 677, 677, 677, 1675, 663,
1317 695, 695, 695, 1689, 1690, 677, 677, 677, 695, 695,
1318 695, 1083, 1084, 679, 1691, 1692, 325, 325, 697, 331,
1319 1696, 1085, 332, 679, 1697, 1086, 697, 710, 710, 710,
1320 1682, 711, 1698, 1699, 712, 1701, 333, 339, 340, 147,
1321 340, 339, 339, 339, 339, 339, 339, 339, 341, 339,
1322 339, 339, 1702, 339, 343, 339, 344, 339, 1703, 680,
1323 564, 564, 564, 1704, 698, 705, 705, 705, 705, 705,
1324 705, 572, 572, 572, 713, 713, 713, 565, 1709, 339,
1326 339, 1710, 345, 707, 1711, 346, 707, 1712, 573, 1713,
1327 347, 714, 992, 992, 992, 966, 966, 966, 1714, 348,
1328 339, 340, 147, 340, 339, 339, 339, 339, 339, 339,
1329 339, 341, 339, 339, 339, 1715, 339, 343, 339, 344,
1330 339, 716, 716, 716, 968, 968, 968, 1716, 708, 719,
1331 719, 719, 1717, 1718, 719, 719, 719, 1719, 717, 728,
1332 728, 728, 339, 339, 1720, 345, 1721, 721, 346, 992,
1333 992, 992, 721, 347, 732, 732, 732, 730, 733, 1722,
1334 1737, 734, 348, 353, 354, 147, 354, 353, 353, 353,
1335 353, 353, 353, 353, 355, 353, 353, 353, 722, 353,
1337 357, 353, 358, 353, 728, 728, 728, 587, 587, 587,
1338 738, 738, 738, 738, 738, 738, 743, 743, 743, 1072,
1339 1072, 1072, 730, 663, 588, 353, 353, 1738, 740, 1739,
1340 1740, 740, 1741, 1073, 745, 1742, 359, 353, 354, 147,
1341 354, 353, 353, 353, 353, 353, 353, 353, 355, 353,
1342 353, 353, 1743, 353, 357, 353, 358, 353, 743, 743,
1343 743, 741, 1731, 1744, 731, 598, 598, 598, 748, 748,
1344 748, 1747, 749, 1087, 1088, 750, 745, 1748, 1749, 353,
1345 353, 1750, 599, 1089, 1174, 1174, 1174, 1090, 1757, 1758,
1346 359, 363, 364, 147, 364, 363, 363, 363, 363, 363,
1348 363, 363, 365, 363, 363, 363, 1759, 363, 367, 363,
1349 368, 363, 755, 755, 755, 746, 1760, 1761, 755, 755,
1350 755, 606, 606, 606, 759, 759, 759, 1762, 760, 1763,
1351 757, 761, 1764, 363, 363, 1765, 757, 1766, 607, 1767,
1352 1768, 369, 1778, 370, 1779, 371, 1069, 1069, 1069, 1176,
1353 1176, 1176, 1780, 372, 363, 364, 147, 364, 363, 363,
1354 363, 363, 363, 363, 363, 365, 363, 363, 363, 1781,
1355 363, 367, 363, 368, 363, 758, 763, 763, 763, 1782,
1356 763, 763, 763, 612, 612, 612, 769, 769, 769, 1783,
1357 770, 1784, 1785, 771, 765, 1790, 363, 363, 765, 1791,
1359 613, 1069, 1069, 1069, 369, 663, 370, 1792, 371, 1072,
1360 1072, 1072, 1267, 1267, 1267, 1070, 372, 378, 379, 147,
1361 379, 378, 378, 378, 378, 378, 378, 378, 380, 378,
1362 378, 378, 1793, 378, 382, 378, 383, 378, 1773, 1786,
1363 766, 614, 614, 614, 772, 772, 772, 1771, 773, 1776,
1364 1787, 774, 775, 775, 775, 781, 781, 781, 615, 378,
1365 378, 781, 781, 781, 623, 623, 623, 1788, 1794, 776,
1366 785, 785, 785, 783, 786, 1795, 1796, 787, 1789, 783,
1367 1797, 624, 384, 378, 379, 147, 379, 378, 378, 378,
1368 378, 378, 378, 378, 380, 378, 378, 378, 1802, 378,
1370 382, 378, 383, 378, 788, 788, 788, 1773, 1773, 788,
1371 788, 788, 628, 628, 628, 784, 793, 793, 793, 1776,
1372 794, 1774, 790, 795, 1802, 378, 378, 790, 1805, 629,
1373 956, 957, 799, 799, 799, 799, 799, 799, 804, 804,
1374 804, 806, 806, 806, 810, 810, 810, 1806, 384, 392,
1375 801, 1807, 663, 801, 1808, 805, 408, 1818, 807, 810,
1376 810, 810, 812, 1819, 1820, 391, 791, 815, 815, 815,
1377 1821, 818, 818, 818, 648, 648, 648, 812, 820, 820,
1378 820, 820, 820, 820, 816, 1802, 1825, 802, 819, 1800,
1379 1802, 649, 409, 1826, 1827, 410, 822, 411, 412, 822,
1381 413, 827, 827, 827, 414, 1828, 415, 416, 417, 1829,
1382 824, 824, 824, 1839, 825, 1843, 813, 826, 1844, 829,
1383 1845, 827, 827, 827, 835, 835, 835, 835, 835, 835,
1384 841, 841, 841, 841, 841, 841, 1773, 1846, 823, 829,
1385 1850, 1851, 837, 1852, 1853, 837, 1854, 1855, 843, 663,
1386 1774, 843, 677, 677, 677, 1859, 677, 677, 677, 677,
1387 677, 677, 868, 868, 868, 695, 695, 695, 1860, 1861,
1388 679, 1858, 1862, 830, 679, 1863, 1867, 679, 1868, 869,
1389 695, 695, 695, 697, 695, 695, 695, 838, 871, 871,
1390 871, 663, 1869, 844, 1940, 1940, 1940, 1870, 697, 705,
1392 705, 705, 697, 854, 1871, 872, 700, 700, 700, 1866,
1393 701, 1940, 663, 702, 705, 705, 705, 707, 705, 705,
1394 705, 710, 710, 710, 1877, 711, 1878, 1879, 712, 1880,
1395 870, 1874, 707, 713, 713, 713, 707, 877, 877, 877,
1396 1887, 878, 1888, 663, 879, 663, 880, 880, 880, 1883,
1397 714, 873, 716, 716, 716, 663, 663, 882, 882, 882,
1398 663, 883, 875, 881, 884, 719, 719, 719, 1891, 717,
1399 719, 719, 719, 719, 719, 719, 890, 890, 890, 728,
1400 728, 728, 663, 721, 728, 728, 728, 663, 721, 663,
1401 1905, 721, 1523, 891, 728, 728, 728, 730, 1909, 732,
1403 732, 732, 730, 733, 663, 1906, 734, 738, 738, 738,
1404 663, 1931, 730, 738, 738, 738, 738, 738, 738, 743,
1405 743, 743, 743, 743, 743, 740, 743, 743, 743, 886,
1406 1901, 740, 1902, 663, 740, 663, 663, 745, 893, 1932,
1407 745, 748, 748, 748, 745, 749, 1910, 663, 750, 755,
1408 755, 755, 755, 755, 755, 755, 755, 755, 759, 759,
1409 759, 663, 760, 663, 1915, 761, 1916, 757, 1929, 663,
1410 757, 663, 1927, 757, 763, 763, 763, 663, 897, 763,
1411 763, 763, 763, 763, 763, 1937, 899, 769, 769, 769,
1412 1522, 770, 765, 663, 771, 1923, 663, 765, 1925, 1928,
1414 765, 772, 772, 772, 663, 773, 1926, 1521, 774, 775,
1415 775, 775, 1930, 910, 910, 910, 905, 911, 663, 1924,
1416 912, 663, 781, 781, 781, 663, 776, 781, 781, 781,
1417 781, 781, 781, 1935, 785, 785, 785, 1933, 786, 907,
1418 783, 787, 788, 788, 788, 783, 1520, 1936, 783, 788,
1419 788, 788, 788, 788, 788, 793, 793, 793, 1519, 794,
1420 790, 1518, 795, 799, 799, 799, 1937, 790, 1517, 1934,
1421 790, 799, 799, 799, 799, 799, 799, 804, 804, 804,
1422 663, 801, 1516, 925, 925, 925, 1515, 926, 1508, 801,
1423 927, 1507, 801, 917, 805, 806, 806, 806, 928, 928,
1425 928, 1487, 929, 1486, 1485, 930, 810, 810, 810, 810,
1426 810, 810, 807, 1484, 1483, 918, 810, 810, 810, 815,
1427 815, 815, 1482, 1477, 812, 1476, 1475, 812, 1474, 1473,
1428 923, 935, 935, 935, 812, 936, 816, 1472, 937, 818,
1429 818, 818, 939, 939, 939, 1469, 940, 1468, 1467, 941,
1430 820, 820, 820, 820, 820, 820, 819, 820, 820, 820,
1431 824, 824, 824, 1466, 825, 1465, 1459, 826, 822, 1458,
1432 1457, 822, 827, 827, 827, 822, 827, 827, 827, 933,
1433 827, 827, 827, 945, 945, 945, 835, 835, 835, 1456,
1434 829, 835, 835, 835, 829, 835, 835, 835, 829, 1455,
1436 946, 841, 841, 841, 837, 841, 841, 841, 1453, 837,
1437 841, 841, 841, 837, 955, 955, 955, 1452, 1451, 843,
1438 942, 1450, 1449, 843, 677, 677, 677, 1448, 843, 868,
1439 868, 868, 956, 957, 1447, 1446, 943, 976, 976, 976,
1440 1445, 977, 679, 1444, 978, 1443, 869, 695, 695, 695,
1441 1442, 1441, 949, 871, 871, 871, 1440, 980, 980, 980,
1442 952, 981, 1436, 1435, 982, 697, 705, 705, 705, 1434,
1443 872, 877, 877, 877, 1421, 878, 1411, 1408, 879, 880,
1444 880, 880, 1401, 1398, 707, 1397, 963, 987, 987, 987,
1445 1396, 988, 1395, 1394, 989, 1393, 881, 1392, 882, 882,
1447 882, 979, 883, 1391, 1385, 884, 719, 719, 719, 890,
1448 890, 890, 985, 995, 995, 995, 1384, 996, 1383, 1382,
1449 997, 728, 728, 728, 721, 1381, 891, 1003, 1003, 1003,
1450 743, 743, 743, 1010, 1010, 1010, 755, 755, 755, 730,
1451 1012, 1012, 1012, 1380, 1379, 1004, 1378, 1371, 745, 1370,
1452 1011, 1369, 1368, 991, 757, 1367, 1366, 1013, 1016, 1016,
1453 1016, 763, 763, 763, 1019, 1019, 1019, 999, 1940, 1940,
1454 1940, 1365, 1022, 1022, 1022, 1017, 1364, 1359, 1006, 765,
1455 1358, 1020, 1355, 1014, 1352, 1940, 910, 910, 910, 1023,
1456 911, 1351, 1342, 912, 1940, 1940, 1940, 1340, 1015, 1940,
1458 1940, 1940, 1339, 1940, 1940, 1940, 781, 781, 781, 1329,
1459 1323, 1940, 1318, 788, 788, 788, 1940, 1317, 1313, 1018,
1460 1940, 1032, 1032, 1032, 783, 1306, 799, 799, 799, 1301,
1461 1021, 790, 925, 925, 925, 1300, 926, 1299, 1033, 927,
1462 810, 810, 810, 1025, 801, 928, 928, 928, 1291, 929,
1463 1290, 1289, 930, 1288, 1287, 935, 935, 935, 812, 936,
1464 1024, 1286, 937, 1285, 1034, 1284, 1280, 1027, 1277, 1026,
1465 939, 939, 939, 1276, 940, 1028, 1275, 941, 1274, 1035,
1466 820, 820, 820, 827, 827, 827, 945, 945, 945, 1045,
1467 1045, 1045, 1272, 1046, 1271, 1260, 1047, 1255, 822, 1253,
1469 1252, 829, 1039, 946, 835, 835, 835, 1052, 1052, 1052,
1470 841, 841, 841, 955, 955, 955, 677, 677, 677, 1069,
1471 1069, 1069, 837, 1251, 1053, 976, 976, 976, 843, 977,
1472 1242, 956, 978, 1070, 679, 1237, 1043, 695, 695, 695,
1473 1236, 1235, 1042, 1234, 980, 980, 980, 1230, 981, 1216,
1474 1050, 982, 719, 719, 719, 697, 705, 705, 705, 1215,
1475 1214, 1056, 987, 987, 987, 1063, 988, 1213, 1212, 989,
1476 721, 1211, 1197, 1054, 707, 1196, 1195, 1057, 1194, 1071,
1477 995, 995, 995, 1193, 996, 1192, 1191, 997, 728, 728,
1478 728, 1093, 1093, 1093, 1940, 1940, 1940, 1096, 1096, 1096,
1480 1074, 1003, 1003, 1003, 1077, 1190, 730, 1189, 1094, 1080,
1481 1186, 1940, 1184, 1183, 1097, 1098, 1098, 1098, 1180, 1004,
1482 743, 743, 743, 1010, 1010, 1010, 1104, 1104, 1104, 1179,
1483 1105, 1177, 1099, 1106, 1175, 1173, 1092, 1172, 745, 1171,
1484 1011, 1012, 1012, 1012, 1170, 1107, 1107, 1107, 1095, 1108,
1485 1164, 1156, 1109, 1111, 1111, 1111, 1154, 1153, 1013, 1016,
1486 1016, 1016, 1152, 1145, 1100, 1113, 1113, 1113, 1139, 1114,
1487 1135, 1112, 1115, 1116, 1116, 1116, 1017, 1019, 1019, 1019,
1488 1118, 1118, 1118, 1134, 1119, 1133, 1110, 1120, 1121, 1121,
1489 1121, 1117, 1103, 1102, 1020, 1022, 1022, 1022, 1101, 1123,
1491 1123, 1123, 1091, 1124, 1082, 1122, 1125, 1126, 1126, 1126,
1492 1081, 1079, 1023, 1940, 1940, 1940, 1129, 1129, 1129, 781,
1493 781, 781, 1078, 1076, 1127, 788, 788, 788, 1075, 1071,
1494 1940, 1073, 1068, 1130, 1032, 1032, 1032, 783, 1136, 1136,
1495 1136, 1067, 1137, 790, 1066, 1138, 1140, 1140, 1140, 1065,
1496 1064, 1033, 1142, 1142, 1142, 1940, 1940, 1940, 810, 810,
1497 810, 1147, 1147, 1147, 1141, 1060, 1059, 1128, 1058, 1143,
1498 956, 1051, 1940, 1132, 1049, 1048, 812, 1044, 1148, 1041,
1499 1040, 1131, 1940, 1940, 1940, 820, 820, 820, 1038, 1037,
1500 827, 827, 827, 1045, 1045, 1045, 1036, 1046, 1031, 1940,
1502 1047, 1030, 1029, 822, 1151, 1009, 1146, 1008, 829, 835,
1503 835, 835, 1052, 1052, 1052, 1144, 1157, 1157, 1157, 1007,
1504 1158, 1005, 1002, 1159, 1001, 1149, 1000, 837, 998, 1053,
1505 841, 841, 841, 1150, 1165, 1165, 1165, 1940, 1940, 1940,
1506 994, 1940, 1940, 1940, 677, 677, 677, 993, 843, 990,
1507 986, 1166, 984, 983, 1940, 975, 974, 1155, 1940, 695,
1508 695, 695, 679, 1181, 1181, 1181, 719, 719, 719, 1187,
1509 1187, 1187, 973, 728, 728, 728, 972, 697, 1093, 1093,
1510 1093, 1182, 971, 970, 721, 1160, 1188, 1198, 969, 1167,
1511 967, 730, 1199, 1199, 1199, 1094, 1200, 965, 1168, 1201,
1513 964, 1169, 1202, 1202, 1202, 962, 1178, 1096, 1096, 1096,
1514 1204, 1204, 1204, 961, 1205, 960, 959, 1206, 958, 1203,
1515 951, 1185, 950, 948, 1097, 1098, 1098, 1098, 1207, 1207,
1516 1207, 947, 1208, 944, 938, 1209, 743, 743, 743, 1104,
1517 1104, 1104, 1099, 1105, 934, 932, 1106, 931, 1107, 1107,
1518 1107, 924, 1108, 922, 745, 1109, 1111, 1111, 1111, 1113,
1519 1113, 1113, 921, 1114, 920, 919, 1115, 1116, 1116, 1116,
1520 916, 1118, 1118, 1118, 1112, 1119, 915, 914, 1120, 1121,
1521 1121, 1121, 1210, 913, 909, 1117, 1217, 1217, 1217, 908,
1522 1218, 906, 904, 1219, 903, 902, 1122, 1123, 1123, 1123,
1524 901, 1124, 900, 898, 1125, 1126, 1126, 1126, 1220, 1220,
1525 1220, 896, 1221, 895, 894, 1222, 1223, 1223, 1223, 1129,
1526 1129, 1129, 1127, 1225, 1225, 1225, 892, 1226, 889, 888,
1527 1227, 887, 885, 1224, 876, 874, 1130, 781, 781, 781,
1528 788, 788, 788, 1231, 1231, 1231, 1136, 1136, 1136, 867,
1529 1137, 866, 865, 1138, 864, 783, 862, 861, 790, 860,
1530 1232, 1140, 1140, 1140, 1142, 1142, 1142, 1238, 1238, 1238,
1531 859, 1239, 858, 857, 1240, 1940, 1940, 1940, 856, 1141,
1532 855, 1143, 1147, 1147, 1147, 1228, 1233, 810, 810, 810,
1533 853, 852, 1940, 1940, 1940, 1940, 1248, 1248, 1248, 1148,
1535 1229, 1243, 1244, 1244, 1244, 812, 1245, 851, 850, 1246,
1536 1940, 827, 827, 827, 1249, 835, 835, 835, 1157, 1157,
1537 1157, 849, 1158, 848, 847, 1159, 846, 1241, 663, 829,
1538 841, 841, 841, 837, 1165, 1165, 1165, 1261, 1261, 1261,
1539 840, 1262, 839, 834, 1263, 1940, 1940, 1940, 843, 833,
1540 1247, 1166, 1940, 1940, 1940, 832, 831, 1250, 817, 677,
1541 677, 677, 1940, 1268, 1268, 1268, 1269, 1269, 1269, 1940,
1542 1270, 1270, 1270, 1174, 1174, 1174, 1254, 679, 1256, 1176,
1543 1176, 1176, 695, 695, 695, 1181, 1181, 1181, 1278, 1278,
1544 1278, 1187, 1187, 1187, 814, 1281, 1281, 1281, 809, 1282,
1546 697, 1264, 1283, 1182, 808, 803, 1279, 798, 1188, 1292,
1547 1292, 1292, 1202, 1202, 1202, 1265, 728, 728, 728, 1266,
1548 1199, 1199, 1199, 797, 1200, 796, 1293, 1201, 792, 1203,
1549 1273, 1295, 1295, 1295, 730, 1296, 780, 779, 1297, 1204,
1550 1204, 1204, 778, 1205, 777, 762, 1206, 1207, 1207, 1207,
1551 754, 1208, 753, 752, 1209, 743, 743, 743, 751, 1217,
1552 1217, 1217, 1294, 1218, 747, 742, 1219, 1220, 1220, 1220,
1553 737, 1221, 736, 745, 1222, 1223, 1223, 1223, 1307, 1307,
1554 1307, 735, 1308, 727, 726, 1309, 1225, 1225, 1225, 725,
1555 1226, 724, 1224, 1227, 781, 781, 781, 1311, 1311, 1311,
1557 1231, 1231, 1231, 1314, 1314, 1314, 1298, 1315, 723, 718,
1558 1316, 715, 783, 709, 704, 1312, 703, 1232, 1238, 1238,
1559 1238, 699, 1239, 694, 693, 1240, 1940, 1940, 1940, 810,
1560 810, 810, 1244, 1244, 1244, 692, 1245, 691, 690, 1246,
1561 1940, 1940, 1940, 1940, 1248, 1248, 1248, 812, 827, 827,
1562 827, 1337, 1337, 1337, 1310, 689, 688, 1940, 835, 835,
1563 835, 687, 1249, 1344, 1344, 1344, 829, 686, 1338, 841,
1564 841, 841, 1328, 1347, 1347, 1347, 837, 685, 1261, 1261,
1565 1261, 663, 1262, 684, 1330, 1263, 683, 843, 1940, 1940,
1566 1940, 1940, 1940, 1940, 682, 681, 1335, 677, 677, 677,
1568 1267, 1267, 1267, 676, 675, 1940, 674, 673, 1940, 672,
1569 1336, 1268, 1268, 1268, 671, 679, 1269, 1269, 1269, 1341,
1570 1270, 1270, 1270, 670, 669, 1343, 1353, 1353, 1353, 1356,
1571 1356, 1356, 1278, 1278, 1278, 1281, 1281, 1281, 666, 1282,
1572 664, 1348, 1283, 663, 1354, 661, 1357, 1292, 1292, 1292,
1573 1279, 659, 1350, 1349, 1372, 1372, 1372, 658, 1373, 657,
1574 655, 1374, 654, 653, 1293, 728, 728, 728, 1295, 1295,
1575 1295, 652, 1296, 651, 647, 1297, 1376, 1376, 1376, 645,
1576 1307, 1307, 1307, 730, 1308, 644, 643, 1309, 1386, 1386,
1577 1386, 1311, 1311, 1311, 1377, 1388, 1388, 1388, 1314, 1314,
1579 1314, 642, 1315, 641, 639, 1316, 1387, 638, 637, 1312,
1580 636, 635, 1389, 1404, 1404, 1404, 1406, 1406, 1406, 810,
1581 810, 810, 1375, 1940, 1940, 1940, 634, 827, 827, 827,
1582 1405, 1337, 1337, 1337, 1419, 1419, 1419, 812, 1390, 632,
1583 1940, 631, 1416, 1416, 1416, 829, 1417, 630, 1338, 1418,
1584 627, 1420, 1422, 1422, 1422, 1424, 1424, 1424, 841, 841,
1585 841, 1344, 1344, 1344, 626, 622, 1414, 1347, 1347, 1347,
1586 1423, 1429, 1429, 1429, 620, 619, 843, 618, 617, 663,
1587 616, 611, 1407, 1415, 1940, 1940, 1940, 610, 1430, 1432,
1588 1432, 1432, 1353, 1353, 1353, 1356, 1356, 1356, 1437, 1437,
1590 1437, 1940, 1438, 608, 605, 1439, 603, 1433, 602, 601,
1591 1354, 600, 1357, 597, 1372, 1372, 1372, 596, 1373, 1426,
1592 1425, 1374, 728, 728, 728, 1376, 1376, 1376, 1460, 1460,
1593 1460, 594, 1431, 1386, 1386, 1386, 1388, 1388, 1388, 593,
1594 730, 591, 590, 1377, 589, 1461, 586, 584, 1462, 1462,
1595 1462, 1387, 1463, 1389, 583, 1464, 1470, 1470, 1470, 1404,
1596 1404, 1404, 1478, 1478, 1478, 582, 1479, 581, 580, 1480,
1597 1406, 1406, 1406, 1471, 579, 577, 1405, 576, 1454, 810,
1598 810, 810, 1940, 1940, 1940, 1490, 1490, 1490, 1416, 1416,
1599 1416, 575, 1417, 574, 571, 1418, 570, 812, 569, 1940,
1601 1419, 1419, 1419, 1491, 1492, 1492, 1492, 566, 1493, 563,
1602 562, 1494, 560, 1495, 1495, 1495, 558, 1420, 1422, 1422,
1603 1422, 1424, 1424, 1424, 1497, 1497, 1497, 557, 556, 1488,
1604 1496, 555, 552, 1481, 551, 550, 1423, 1429, 1429, 1429,
1605 549, 548, 1498, 1489, 1502, 1502, 1502, 547, 1503, 546,
1606 544, 1504, 543, 542, 1430, 1505, 1505, 1505, 1432, 1432,
1607 1432, 1509, 1509, 1509, 1437, 1437, 1437, 541, 1438, 540,
1608 539, 1439, 1506, 728, 728, 728, 1433, 538, 1510, 1460,
1609 1460, 1460, 1533, 1533, 1533, 533, 1534, 530, 532, 1535,
1610 527, 730, 525, 1462, 1462, 1462, 1461, 1463, 522, 521,
1612 1464, 1470, 1470, 1470, 1539, 1539, 1539, 520, 1540, 519,
1613 517, 1541, 1478, 1478, 1478, 515, 1479, 513, 1471, 1480,
1614 810, 810, 810, 1940, 1940, 1940, 1940, 1940, 1940, 1529,
1615 1490, 1490, 1490, 511, 510, 1492, 1492, 1492, 812, 1493,
1616 1940, 509, 1494, 1940, 1495, 1495, 1495, 508, 1491, 1561,
1617 1561, 1561, 506, 1562, 501, 500, 1563, 1497, 1497, 1497,
1618 498, 1496, 1502, 1502, 1502, 494, 1503, 493, 492, 1504,
1619 1505, 1505, 1505, 490, 488, 1498, 1567, 1567, 1567, 486,
1620 1568, 484, 1552, 1569, 1559, 483, 1560, 1506, 1570, 1570,
1621 1570, 1509, 1509, 1509, 1572, 1572, 1572, 480, 1573, 479,
1623 475, 1574, 1580, 1580, 1580, 728, 728, 728, 1510, 1593,
1624 1593, 1593, 473, 1533, 1533, 1533, 472, 1534, 470, 1581,
1625 1535, 468, 467, 730, 466, 463, 1594, 1599, 1599, 1599,
1626 1539, 1539, 1539, 461, 1540, 459, 457, 1541, 810, 810,
1627 810, 1940, 1940, 1940, 1600, 1940, 1940, 1940, 1570, 1570,
1628 1570, 455, 1595, 1592, 454, 453, 812, 452, 1940, 1561,
1629 1561, 1561, 1940, 1562, 450, 448, 1563, 1623, 1623, 1623,
1630 1567, 1567, 1567, 447, 1568, 446, 445, 1569, 443, 1572,
1631 1572, 1572, 440, 1573, 1624, 956, 1574, 1630, 1630, 1630,
1632 1612, 1620, 1580, 1580, 1580, 1632, 1632, 1632, 436, 1633,
1634 435, 433, 1634, 1619, 1631, 728, 728, 728, 432, 1581,
1635 1593, 1593, 1593, 1646, 1646, 1646, 429, 1647, 428, 427,
1636 1648, 425, 423, 730, 1599, 1599, 1599, 1594, 1654, 1654,
1637 1654, 421, 1655, 407, 406, 1656, 1668, 1668, 1668, 404,
1638 402, 1600, 1676, 1676, 1676, 1679, 1679, 1679, 1683, 1683,
1639 1683, 1645, 396, 395, 1669, 1623, 1623, 1623, 396, 1677,
1640 395, 394, 1680, 393, 1940, 1684, 956, 1688, 1688, 1688,
1641 1940, 1940, 1624, 956, 1685, 1685, 1685, 1940, 1686, 1940,
1642 1940, 1687, 1630, 1630, 1630, 1678, 1940, 1940, 1681, 1693,
1643 1693, 1693, 956, 1694, 1940, 1940, 1695, 1940, 1940, 1631,
1645 1632, 1632, 1632, 1940, 1633, 1940, 1940, 1634, 728, 728,
1646 728, 1646, 1646, 1646, 1940, 1647, 1940, 1940, 1648, 1705,
1647 1705, 1705, 1940, 1654, 1654, 1654, 730, 1655, 1940, 1940,
1648 1656, 1707, 1707, 1707, 1940, 1940, 1706, 1668, 1668, 1668,
1649 1676, 1676, 1676, 1723, 1723, 1723, 1940, 1724, 1708, 1940,
1650 1725, 1940, 1940, 1940, 1940, 1669, 1940, 1677, 1679, 1679,
1651 1679, 1940, 1727, 1727, 1727, 1940, 1728, 1940, 1940, 1729,
1652 1700, 1940, 1940, 1940, 1940, 1680, 1683, 1683, 1683, 1732,
1653 1732, 1732, 1940, 1733, 1940, 1940, 1734, 1940, 1940, 1688,
1654 1688, 1688, 1940, 1684, 956, 1940, 1940, 956, 1940, 1685,
1656 1685, 1685, 1940, 1686, 1940, 1940, 1687, 1693, 1693, 1693,
1657 1940, 1694, 1940, 1940, 1695, 1940, 1726, 956, 1705, 1705,
1658 1705, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1745, 1745,
1659 1745, 1940, 1707, 1707, 1707, 1706, 1730, 954, 954, 954,
1660 954, 954, 954, 954, 954, 954, 1746, 1940, 954, 1708,
1661 1940, 1940, 1940, 954, 954, 954, 956, 954, 1751, 1751,
1662 1751, 1940, 1752, 1940, 1940, 1753, 1754, 1754, 1754, 1940,
1663 1755, 1940, 1940, 1756, 1940, 1940, 1940, 1940, 1940, 954,
1664 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
1665 1940, 1940, 954, 1940, 1940, 1940, 1940, 954, 954, 954,
1667 956, 954, 1723, 1723, 1723, 1940, 1724, 1940, 1940, 1725,
1668 1727, 1727, 1727, 1940, 1728, 1940, 1940, 1729, 1940, 1940,
1669 1940, 1940, 1940, 954, 954, 1940, 1769, 1732, 1732, 1732,
1670 1940, 1733, 1940, 1940, 1734, 1940, 1745, 1745, 1745, 1751,
1671 1751, 1751, 1940, 1752, 1940, 956, 1753, 1940, 1754, 1754,
1672 1754, 1940, 1755, 1940, 1746, 1756, 1940, 1940, 1940, 1940,
1673 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1674 1770, 954, 954, 954, 954, 954, 1777, 954, 954, 954,
1675 1940, 1940, 954, 1940, 1804, 1804, 1804, 954, 954, 954,
1676 956, 954, 1809, 1809, 1809, 1811, 1811, 1811, 1940, 1940,
1678 1940, 1940, 956, 957, 1940, 1940, 1824, 1824, 1824, 1810,
1679 1940, 1940, 1812, 954, 954, 954, 954, 954, 954, 954,
1680 954, 954, 954, 1777, 663, 1798, 954, 1940, 1799, 1940,
1681 1940, 954, 954, 954, 956, 954, 1813, 1813, 1813, 1816,
1682 1816, 1816, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1804,
1683 1804, 1804, 1940, 1814, 1940, 1940, 1817, 954, 954, 1940,
1684 1940, 1940, 1940, 1809, 1809, 1809, 1940, 956, 1830, 1830,
1685 1830, 1940, 1831, 1940, 1940, 1832, 1894, 1894, 1894, 1815,
1686 1810, 1811, 1811, 1811, 1833, 1833, 1833, 1940, 1834, 1940,
1687 1940, 1835, 1940, 1822, 663, 1940, 1823, 1056, 1812, 1813,
1689 1813, 1813, 1836, 1836, 1836, 1940, 1837, 1940, 1940, 1838,
1690 1816, 1816, 1816, 1840, 1840, 1840, 1814, 1841, 1940, 1940,
1691 1842, 1940, 1940, 1940, 1940, 1940, 1940, 1817, 1940, 1824,
1692 1824, 1824, 1830, 1830, 1830, 1940, 1831, 1940, 1940, 1832,
1693 1940, 1940, 1833, 1833, 1833, 1940, 1834, 663, 1940, 1835,
1694 1836, 1836, 1836, 1940, 1837, 1940, 1940, 1838, 1940, 1840,
1695 1840, 1840, 1940, 1841, 1847, 1849, 1842, 1848, 1940, 1940,
1696 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1697 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1698 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1700 1940, 1875, 1875, 1875, 1940, 1940, 1940, 1940, 1940, 1940,
1701 1875, 1875, 1875, 1940, 1940, 1940, 1940, 1940, 1876, 1940,
1702 1940, 1940, 1940, 1940, 1940, 1856, 1940, 1876, 1857, 1940,
1703 1940, 1872, 1940, 1884, 1884, 1884, 1864, 1885, 1940, 1865,
1704 1886, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1873,
1705 1940, 1940, 1881, 1940, 1940, 1882, 1940, 1940, 1940, 1940,
1706 1940, 1940, 1884, 1884, 1884, 1940, 1885, 1940, 1940, 1886,
1707 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1708 1940, 1940, 1894, 1894, 1894, 1940, 1897, 1940, 1940, 1898,
1709 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1711 663, 1889, 1940, 1940, 1890, 1940, 1940, 1940, 1940, 1940,
1712 1940, 1940, 1940, 1892, 1940, 1940, 1893, 1940, 1940, 1940,
1713 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1714 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1895, 1940, 1896,
1715 1911, 1911, 1911, 1940, 1940, 1899, 1940, 1940, 1913, 1913,
1716 1913, 1940, 1940, 1900, 1911, 1911, 1911, 1912, 1940, 1913,
1717 1913, 1913, 1940, 1904, 1903, 1914, 1940, 1940, 1917, 1917,
1718 1917, 1912, 1918, 1907, 1940, 1919, 1914, 1920, 1920, 1920,
1719 1940, 1921, 1940, 1940, 1922, 1917, 1917, 1917, 1940, 1918,
1720 1940, 1940, 1919, 1908, 1920, 1920, 1920, 1940, 1921, 1940,
1722 1940, 1922, 1938, 1938, 1938, 1938, 1938, 1938, 1940, 1940,
1723 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1724 1939, 1940, 1940, 1939, 144, 144, 144, 144, 144, 144,
1725 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1726 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1727 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1728 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1729 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1730 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1731 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1733 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1734 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1735 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1736 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1737 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1738 225, 225, 225, 225, 225, 225, 225, 225, 225, 232,
1739 232, 232, 232, 232, 232, 232, 232, 232, 238, 238,
1740 238, 238, 238, 238, 238, 238, 238, 245, 245, 245,
1741 245, 245, 245, 245, 245, 245, 251, 251, 251, 251,
1742 251, 251, 251, 251, 251, 257, 257, 257, 257, 257,
1744 257, 257, 257, 257, 263, 263, 263, 263, 263, 263,
1745 263, 263, 263, 271, 271, 271, 271, 271, 271, 271,
1746 271, 271, 278, 278, 278, 278, 278, 278, 278, 278,
1747 278, 283, 283, 283, 283, 283, 283, 283, 283, 283,
1748 298, 298, 298, 298, 298, 298, 298, 298, 298, 304,
1749 304, 304, 304, 304, 304, 304, 304, 304, 308, 308,
1750 308, 308, 308, 308, 308, 308, 308, 314, 314, 314,
1751 314, 314, 314, 314, 314, 314, 321, 321, 321, 321,
1752 321, 321, 321, 321, 321, 328, 328, 328, 328, 328,
1753 328, 328, 328, 328, 335, 335, 335, 335, 335, 335,
1755 335, 335, 335, 342, 342, 342, 342, 342, 342, 342,
1756 342, 342, 349, 349, 349, 349, 349, 349, 349, 349,
1757 349, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1758 360, 360, 360, 360, 360, 360, 360, 360, 360, 366,
1759 366, 366, 366, 366, 366, 366, 366, 366, 373, 373,
1760 373, 373, 373, 373, 373, 373, 373, 381, 381, 381,
1761 381, 381, 381, 381, 381, 381, 385, 385, 385, 385,
1762 385, 385, 385, 385, 385, 405, 405, 405, 1940, 1940,
1763 1940, 405, 422, 422, 422, 1940, 1940, 1940, 422, 426,
1764 426, 426, 1940, 1940, 1940, 426, 434, 434, 434, 1940,
1766 1940, 1940, 434, 444, 444, 444, 1940, 1940, 1940, 444,
1767 451, 451, 451, 1940, 1940, 1940, 451, 458, 458, 458,
1768 1940, 1940, 1940, 458, 462, 462, 462, 1940, 1940, 1940,
1769 462, 471, 471, 471, 1940, 1940, 1940, 471, 476, 476,
1770 476, 1940, 1940, 1940, 476, 487, 487, 487, 1940, 1940,
1771 1940, 487, 491, 491, 491, 1940, 1940, 1940, 491, 499,
1772 499, 499, 1940, 1940, 1940, 499, 507, 507, 507, 1940,
1773 1940, 1940, 507, 514, 514, 514, 1940, 1940, 1940, 514,
1774 518, 518, 518, 1940, 1940, 1940, 518, 526, 526, 526,
1775 1940, 1940, 1940, 526, 529, 529, 529, 529, 529, 529,
1777 529, 1940, 529, 545, 1940, 1940, 1940, 545, 561, 1940,
1778 1940, 1940, 561, 568, 1940, 1940, 1940, 568, 578, 1940,
1779 1940, 1940, 578, 585, 1940, 1940, 1940, 585, 592, 1940,
1780 1940, 1940, 592, 595, 1940, 1940, 1940, 595, 604, 1940,
1781 1940, 1940, 604, 609, 1940, 1940, 1940, 609, 621, 1940,
1782 1940, 1940, 621, 625, 1940, 1940, 1940, 625, 491, 491,
1783 491, 1940, 1940, 1940, 491, 633, 1940, 1940, 1940, 633,
1784 499, 499, 499, 1940, 1940, 1940, 499, 640, 1940, 1940,
1785 1940, 640, 507, 507, 507, 1940, 1940, 1940, 507, 646,
1786 1940, 1940, 1940, 646, 514, 514, 514, 1940, 1940, 1940,
1788 514, 650, 1940, 1940, 1940, 650, 518, 518, 518, 1940,
1789 1940, 1940, 518, 656, 1940, 1940, 1940, 656, 526, 526,
1790 526, 1940, 1940, 1940, 526, 660, 1940, 1940, 1940, 660,
1791 662, 662, 662, 662, 662, 662, 662, 662, 662, 668,
1792 1940, 1940, 1940, 1940, 668, 405, 405, 405, 1940, 1940,
1793 1940, 405, 678, 678, 678, 678, 1940, 1940, 678, 678,
1794 422, 422, 422, 1940, 1940, 1940, 422, 696, 696, 696,
1795 696, 1940, 1940, 696, 696, 426, 426, 426, 1940, 1940,
1796 1940, 426, 706, 706, 706, 706, 1940, 1940, 706, 706,
1797 434, 434, 434, 1940, 1940, 1940, 434, 720, 720, 720,
1799 720, 1940, 1940, 720, 720, 444, 444, 444, 1940, 1940,
1800 1940, 444, 729, 729, 729, 729, 1940, 1940, 729, 729,
1801 451, 451, 451, 1940, 1940, 1940, 451, 739, 739, 739,
1802 739, 1940, 1940, 739, 739, 458, 458, 458, 1940, 1940,
1803 1940, 458, 744, 744, 744, 744, 1940, 1940, 744, 744,
1804 462, 462, 462, 1940, 1940, 1940, 462, 756, 756, 756,
1805 756, 1940, 1940, 756, 756, 471, 471, 471, 1940, 1940,
1806 1940, 471, 764, 764, 764, 764, 1940, 1940, 764, 764,
1807 476, 476, 476, 1940, 1940, 1940, 476, 782, 782, 782,
1808 782, 1940, 1940, 782, 782, 789, 789, 789, 789, 1940,
1810 1940, 789, 789, 491, 491, 491, 1940, 1940, 1940, 491,
1811 800, 800, 800, 800, 1940, 1940, 800, 800, 499, 499,
1812 499, 1940, 1940, 1940, 499, 811, 811, 811, 811, 1940,
1813 1940, 811, 811, 507, 507, 507, 1940, 1940, 1940, 507,
1814 821, 821, 821, 821, 1940, 1940, 821, 821, 828, 828,
1815 828, 828, 1940, 1940, 828, 828, 518, 518, 518, 1940,
1816 1940, 1940, 518, 836, 836, 836, 836, 1940, 1940, 836,
1817 836, 526, 526, 526, 1940, 1940, 1940, 526, 842, 842,
1818 842, 842, 1940, 1940, 842, 842, 662, 662, 662, 662,
1819 662, 662, 662, 662, 662, 668, 1940, 668, 1940, 1940,
1821 668, 405, 405, 405, 1940, 1940, 1940, 405, 678, 678,
1822 678, 678, 1940, 1940, 678, 678, 422, 422, 422, 422,
1823 1940, 422, 1940, 422, 696, 696, 696, 696, 1940, 1940,
1824 696, 696, 426, 426, 426, 426, 1940, 426, 1940, 426,
1825 706, 706, 706, 706, 1940, 1940, 706, 706, 434, 434,
1826 434, 1940, 1940, 1940, 434, 720, 720, 720, 720, 1940,
1827 1940, 720, 720, 444, 444, 444, 1940, 1940, 1940, 444,
1828 729, 729, 729, 729, 1940, 1940, 729, 729, 451, 451,
1829 451, 1940, 1940, 1940, 451, 739, 739, 739, 739, 1940,
1830 1940, 739, 739, 458, 458, 458, 1940, 1940, 1940, 458,
1832 744, 744, 744, 744, 1940, 1940, 744, 744, 462, 462,
1833 462, 1940, 1940, 1940, 462, 756, 756, 756, 756, 1940,
1834 1940, 756, 756, 471, 471, 471, 1940, 1940, 1940, 471,
1835 764, 764, 764, 764, 1940, 1940, 764, 764, 476, 476,
1836 476, 1940, 1940, 1940, 476, 782, 782, 782, 782, 1940,
1837 1940, 782, 782, 789, 789, 789, 789, 1940, 1940, 789,
1838 789, 491, 491, 491, 1940, 1940, 1940, 491, 800, 800,
1839 800, 800, 1940, 1940, 800, 800, 499, 499, 499, 1940,
1840 1940, 1940, 499, 811, 811, 811, 811, 1940, 1940, 811,
1841 811, 507, 507, 507, 1940, 1940, 1940, 507, 821, 821,
1843 821, 821, 1940, 1940, 821, 821, 828, 828, 828, 828,
1844 1940, 1940, 828, 828, 518, 518, 518, 1940, 1940, 1940,
1845 518, 836, 836, 836, 836, 1940, 1940, 836, 836, 526,
1846 526, 526, 1940, 1940, 1940, 526, 842, 842, 842, 842,
1847 1940, 1940, 842, 842, 662, 662, 662, 662, 662, 662,
1848 662, 662, 662, 954, 954, 954, 954, 954, 954, 954,
1849 954, 954, 405, 405, 405, 1940, 1940, 1940, 405, 678,
1850 678, 678, 678, 1940, 1940, 678, 678, 696, 696, 696,
1851 696, 1940, 1940, 696, 696, 426, 426, 426, 1940, 1940,
1852 1940, 426, 706, 706, 706, 706, 1940, 1940, 706, 706,
1854 434, 434, 434, 1940, 1940, 1940, 434, 720, 720, 720,
1855 720, 1940, 1940, 720, 720, 444, 444, 444, 1940, 1940,
1856 1940, 444, 729, 729, 729, 729, 1940, 1940, 729, 729,
1857 451, 451, 451, 1940, 1940, 1940, 451, 739, 739, 739,
1858 739, 1940, 1940, 739, 739, 458, 458, 458, 1940, 1940,
1859 1940, 458, 744, 744, 744, 744, 1940, 1940, 744, 744,
1860 462, 462, 462, 1940, 1940, 1940, 462, 756, 756, 756,
1861 756, 1940, 1940, 756, 756, 471, 471, 471, 471, 1940,
1862 471, 1940, 471, 764, 764, 764, 764, 1940, 1940, 764,
1863 764, 476, 476, 476, 476, 1940, 476, 1940, 476, 782,
1865 782, 782, 782, 1940, 1940, 782, 782, 789, 789, 789,
1866 789, 1940, 1940, 789, 789, 491, 491, 491, 1940, 1940,
1867 1940, 491, 800, 800, 800, 800, 1940, 1940, 800, 800,
1868 499, 499, 499, 1940, 1940, 1940, 499, 811, 811, 811,
1869 811, 1940, 1940, 811, 811, 507, 507, 507, 1940, 1940,
1870 1940, 507, 821, 821, 821, 821, 1940, 1940, 821, 821,
1871 828, 828, 828, 828, 1940, 1940, 828, 828, 518, 518,
1872 518, 1940, 1940, 1940, 518, 836, 836, 836, 836, 1940,
1873 1940, 836, 836, 526, 526, 526, 526, 1940, 526, 1940,
1874 526, 842, 842, 842, 842, 1940, 1940, 842, 842, 662,
1876 662, 662, 662, 662, 662, 662, 662, 662, 954, 954,
1877 954, 954, 954, 954, 954, 954, 954, 405, 405, 405,
1878 1940, 1940, 1940, 405, 678, 678, 678, 678, 1940, 1940,
1879 678, 678, 696, 696, 696, 696, 1940, 1940, 696, 696,
1880 426, 426, 426, 1940, 1940, 1940, 426, 706, 706, 706,
1881 706, 1940, 1940, 706, 706, 434, 434, 434, 1940, 1940,
1882 1940, 434, 720, 720, 720, 720, 1940, 1940, 720, 720,
1883 444, 444, 444, 1940, 1940, 1940, 444, 729, 729, 729,
1884 729, 1940, 1940, 729, 729, 451, 451, 451, 451, 1940,
1885 451, 1940, 451, 458, 458, 458, 458, 1940, 458, 1940,
1887 458, 744, 744, 744, 744, 1940, 1940, 744, 744, 462,
1888 462, 462, 1940, 1940, 1940, 462, 756, 756, 756, 756,
1889 1940, 1940, 756, 756, 764, 764, 764, 764, 1940, 1940,
1890 764, 764, 476, 476, 476, 476, 1940, 476, 1940, 476,
1891 782, 782, 782, 782, 1940, 1940, 782, 782, 789, 789,
1892 789, 789, 1940, 1940, 789, 789, 491, 491, 491, 1940,
1893 1940, 1940, 491, 800, 800, 800, 800, 1940, 1940, 800,
1894 800, 499, 499, 499, 499, 1940, 499, 1940, 499, 811,
1895 811, 811, 811, 1940, 1940, 811, 811, 507, 507, 507,
1896 507, 1940, 507, 1940, 507, 821, 821, 821, 821, 1940,
1898 1940, 821, 821, 828, 828, 828, 828, 1940, 1940, 828,
1899 828, 518, 518, 518, 1940, 1940, 1940, 518, 836, 836,
1900 836, 836, 1940, 1940, 836, 836, 842, 842, 842, 842,
1901 1940, 1940, 842, 842, 662, 662, 662, 662, 662, 662,
1902 662, 662, 662, 954, 954, 954, 954, 954, 954, 954,
1903 954, 954, 405, 405, 405, 405, 1940, 405, 1940, 405,
1904 678, 678, 678, 678, 1940, 1940, 678, 678, 696, 696,
1905 696, 696, 1940, 1940, 696, 696, 426, 426, 426, 1940,
1906 1940, 1940, 426, 706, 706, 706, 706, 1940, 1940, 706,
1907 706, 434, 434, 434, 1940, 1940, 1940, 434, 720, 720,
1909 720, 720, 1940, 1940, 720, 720, 444, 444, 444, 1940,
1910 1940, 1940, 444, 729, 729, 729, 729, 1940, 1940, 729,
1911 729, 451, 451, 451, 451, 1940, 451, 1940, 451, 744,
1912 744, 744, 744, 1940, 1940, 744, 744, 462, 462, 462,
1913 1940, 1940, 1940, 462, 1735, 1735, 1735, 1735, 1735, 1735,
1914 1735, 1735, 1735, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1915 1736, 1736, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772,
1916 1772, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
1917 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1803,
1918 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 143, 1940,
1920 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1921 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1922 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1923 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1924 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1925 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
1926 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940
1929 static yyconst flex_int16_t yy_chk[7169] =
1931 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1932 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1933 4, 10, 1449, 5, 1450, 9, 6, 389, 10, 7,
1934 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1935 13, 13, 389, 14, 14, 149, 8, 17, 17, 148,
1936 13, 15, 15, 14, 15, 152, 15, 16, 16, 962,
1937 16, 149, 16, 18, 18, 962, 15, 19, 19, 19,
1938 292, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1939 24, 24, 267, 19, 25, 25, 25, 333, 17, 20,
1940 292, 267, 23, 1161, 333, 24, 146, 146, 146, 1161,
1942 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1943 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1944 1451, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1945 27, 27, 320, 28, 28, 28, 29, 29, 29, 30,
1946 30, 30, 26, 320, 1452, 27, 175, 21, 21, 28,
1947 1056, 295, 29, 190, 295, 30, 151, 151, 151, 172,
1948 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1949 21, 1345, 21, 22, 22, 22, 22, 22, 22, 22,
1950 22, 22, 22, 22, 22, 22, 22, 22, 1056, 22,
1951 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1953 1345, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1954 31, 415, 185, 32, 170, 22, 22, 33, 665, 185,
1955 34, 200, 665, 35, 415, 36, 36, 36, 185, 1162,
1956 170, 194, 194, 194, 197, 197, 197, 200, 22, 1163,
1957 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
1958 37, 37, 37, 37, 37, 37, 37, 1162, 37, 37,
1959 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
1960 47, 47, 47, 43, 43, 44, 44, 1453, 43, 39,
1961 44, 1163, 40, 215, 37, 37, 47, 215, 43, 845,
1962 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
1964 38, 38, 38, 38, 38, 38, 38, 38, 845, 38,
1965 38, 38, 38, 38, 43, 211, 44, 48, 48, 48,
1966 953, 49, 49, 49, 50, 50, 50, 208, 208, 208,
1967 611, 211, 1258, 48, 1455, 38, 38, 49, 398, 611,
1968 50, 398, 953, 38, 41, 41, 41, 41, 41, 41,
1969 41, 41, 41, 41, 41, 41, 41, 41, 41, 1456,
1970 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
1971 52, 1258, 53, 53, 53, 54, 54, 54, 218, 218,
1972 218, 51, 195, 205, 52, 219, 41, 41, 53, 195,
1973 205, 54, 219, 1214, 41, 1215, 1457, 41, 195, 205,
1975 1214, 219, 1215, 41, 42, 42, 42, 42, 42, 42,
1976 42, 42, 42, 42, 42, 42, 42, 42, 42, 430,
1977 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
1978 58, 1465, 61, 61, 61, 62, 62, 62, 531, 226,
1979 219, 57, 221, 420, 58, 1346, 42, 42, 61, 221,
1980 1466, 62, 430, 531, 42, 226, 420, 42, 221, 223,
1981 223, 223, 1259, 42, 45, 45, 45, 45, 45, 45,
1982 45, 45, 45, 45, 45, 45, 45, 45, 45, 1346,
1983 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
1984 66, 1467, 67, 67, 67, 68, 68, 68, 69, 69,
1986 69, 65, 234, 239, 66, 1259, 45, 45, 67, 234,
1987 1282, 68, 1057, 1282, 69, 45, 1472, 45, 234, 239,
1988 45, 233, 233, 233, 1239, 1239, 45, 46, 46, 46,
1989 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1990 46, 46, 1057, 46, 46, 46, 46, 46, 70, 70,
1991 70, 73, 73, 73, 1473, 74, 74, 74, 75, 75,
1992 75, 76, 76, 76, 70, 247, 220, 73, 252, 46,
1993 46, 74, 247, 1438, 75, 1240, 1240, 76, 46, 1474,
1994 46, 247, 220, 46, 252, 1438, 162, 1245, 1245, 46,
1995 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
1997 55, 55, 55, 55, 55, 1475, 55, 55, 55, 55,
1998 55, 77, 77, 77, 78, 78, 78, 1427, 79, 79,
1999 79, 220, 80, 80, 80, 162, 1476, 77, 1246, 1246,
2000 78, 162, 55, 55, 79, 162, 264, 55, 80, 55,
2001 162, 236, 236, 236, 55, 246, 246, 246, 249, 249,
2002 249, 1427, 264, 55, 56, 56, 56, 56, 56, 56,
2003 56, 56, 56, 56, 56, 56, 56, 56, 56, 279,
2004 56, 56, 56, 56, 56, 83, 83, 83, 84, 84,
2005 84, 1477, 87, 87, 87, 279, 88, 88, 88, 1482,
2006 1483, 83, 1235, 259, 84, 1439, 56, 56, 87, 1235,
2008 259, 56, 88, 56, 258, 258, 258, 1439, 56, 259,
2009 261, 261, 261, 272, 272, 272, 1484, 56, 59, 59,
2010 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2011 59, 59, 59, 1426, 59, 59, 59, 59, 59, 91,
2012 91, 91, 92, 92, 92, 1485, 95, 95, 95, 96,
2013 96, 96, 97, 97, 97, 91, 274, 256, 92, 1236,
2014 59, 59, 95, 274, 1283, 96, 1236, 1283, 97, 1426,
2015 1479, 59, 274, 256, 276, 276, 276, 59, 1479, 59,
2016 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2017 60, 60, 60, 60, 60, 60, 1486, 60, 60, 60,
2019 60, 60, 98, 98, 98, 99, 99, 99, 256, 100,
2020 100, 100, 101, 101, 101, 102, 102, 102, 98, 1480,
2021 1428, 99, 285, 60, 60, 100, 1487, 1480, 101, 285,
2022 1325, 102, 1325, 1500, 60, 284, 284, 284, 285, 1327,
2023 60, 1327, 60, 60, 63, 63, 63, 63, 63, 63,
2024 63, 63, 63, 63, 63, 63, 63, 63, 63, 1428,
2025 63, 63, 63, 63, 63, 105, 105, 105, 106, 106,
2026 106, 1500, 107, 107, 107, 108, 108, 108, 109, 109,
2027 109, 105, 290, 1332, 106, 1332, 63, 63, 107, 305,
2028 1334, 108, 1334, 1508, 109, 287, 287, 287, 290, 299,
2030 299, 299, 302, 302, 302, 305, 63, 64, 64, 64,
2031 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2032 64, 64, 1499, 64, 64, 64, 64, 64, 110, 110,
2033 110, 111, 111, 111, 1511, 112, 112, 112, 115, 115,
2034 115, 116, 116, 116, 110, 300, 310, 111, 1499, 64,
2035 64, 112, 300, 310, 115, 1512, 1513, 116, 309, 309,
2036 309, 300, 310, 312, 312, 312, 322, 322, 322, 64,
2037 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2038 71, 71, 71, 71, 71, 1514, 71, 71, 71, 71,
2039 71, 117, 117, 117, 118, 118, 118, 1515, 119, 119,
2041 119, 120, 120, 120, 121, 121, 121, 117, 315, 324,
2042 118, 329, 71, 71, 119, 71, 324, 120, 1517, 1518,
2043 121, 1519, 1501, 71, 315, 324, 71, 329, 1520, 71,
2044 1521, 1522, 71, 72, 72, 72, 72, 72, 72, 72,
2045 72, 72, 72, 72, 72, 72, 72, 72, 1523, 72,
2046 72, 72, 72, 72, 122, 122, 122, 125, 125, 125,
2047 1501, 126, 126, 126, 129, 129, 129, 130, 130, 130,
2048 122, 343, 334, 125, 338, 72, 72, 126, 72, 1525,
2049 129, 338, 1526, 130, 1527, 1531, 72, 343, 334, 72,
2050 338, 1532, 72, 1536, 1538, 72, 81, 81, 81, 81,
2052 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2053 81, 1542, 81, 81, 81, 81, 81, 131, 131, 131,
2054 132, 132, 132, 334, 133, 133, 133, 134, 134, 134,
2055 135, 135, 135, 131, 273, 1543, 132, 1544, 81, 81,
2056 133, 273, 1545, 134, 357, 1546, 135, 1547, 1548, 81,
2057 273, 326, 326, 326, 336, 336, 336, 340, 340, 340,
2058 357, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2059 82, 82, 82, 82, 82, 82, 82, 1549, 82, 82,
2060 82, 82, 82, 136, 136, 136, 139, 139, 139, 273,
2061 140, 140, 140, 350, 350, 350, 352, 367, 382, 136,
2063 1550, 1551, 139, 352, 82, 82, 140, 354, 354, 354,
2064 1055, 1553, 352, 367, 382, 82, 361, 361, 361, 364,
2065 364, 364, 374, 374, 374, 1554, 1055, 82, 85, 85,
2066 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2067 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2068 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2069 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2070 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2071 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2072 85, 85, 85, 85, 85, 85, 85, 89, 89, 89,
2074 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2075 89, 89, 1555, 89, 89, 89, 89, 89, 1556, 1557,
2076 323, 337, 362, 1558, 1571, 182, 351, 323, 337, 362,
2077 183, 1575, 182, 351, 1565, 1576, 323, 337, 362, 89,
2078 89, 182, 351, 379, 379, 379, 183, 386, 386, 386,
2079 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2080 90, 90, 90, 90, 90, 90, 1565, 90, 90, 90,
2081 90, 90, 337, 183, 182, 323, 183, 351, 183, 183,
2082 182, 183, 182, 184, 182, 255, 376, 183, 183, 183,
2083 388, 388, 388, 90, 90, 397, 397, 397, 1577, 184,
2085 1578, 255, 376, 1582, 90, 93, 93, 93, 93, 93,
2086 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2087 1564, 93, 93, 93, 93, 93, 1583, 376, 377, 1584,
2088 387, 1585, 184, 255, 1586, 377, 255, 387, 184, 1587,
2089 184, 376, 184, 1588, 377, 1589, 387, 93, 93, 375,
2090 397, 93, 1590, 534, 534, 534, 375, 534, 93, 1591,
2091 93, 689, 689, 689, 1564, 375, 1595, 93, 94, 94,
2092 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2093 94, 94, 94, 1597, 94, 94, 94, 94, 94, 1598,
2094 375, 428, 428, 428, 1601, 436, 436, 436, 452, 452,
2096 452, 464, 464, 464, 375, 472, 472, 472, 428, 1602,
2097 94, 94, 436, 1603, 94, 452, 1596, 1596, 464, 1604,
2098 1605, 94, 472, 94, 857, 857, 857, 859, 859, 859,
2099 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2100 103, 103, 103, 103, 103, 103, 1606, 103, 103, 103,
2101 103, 103, 478, 478, 478, 479, 479, 479, 488, 488,
2102 488, 493, 493, 493, 515, 515, 515, 1607, 1608, 478,
2103 1609, 1610, 479, 103, 103, 488, 103, 1611, 493, 103,
2104 1613, 515, 565, 565, 565, 1614, 565, 1615, 1616, 565,
2105 863, 863, 863, 103, 104, 104, 104, 104, 104, 104,
2107 104, 104, 104, 104, 104, 104, 104, 104, 104, 1617,
2108 104, 104, 104, 104, 104, 545, 545, 545, 1618, 1621,
2109 561, 561, 561, 1626, 1627, 546, 546, 546, 562, 562,
2110 562, 996, 996, 545, 1628, 1629, 104, 104, 561, 104,
2111 1639, 996, 104, 546, 1640, 996, 562, 573, 573, 573,
2112 1621, 573, 1642, 1643, 573, 1649, 104, 113, 113, 113,
2113 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2114 113, 113, 1650, 113, 113, 113, 113, 113, 1651, 546,
2115 564, 564, 564, 1652, 562, 568, 568, 568, 569, 569,
2116 569, 572, 572, 572, 574, 574, 574, 564, 1658, 113,
2118 113, 1659, 113, 568, 1660, 113, 569, 1661, 572, 1662,
2119 113, 574, 887, 887, 887, 966, 966, 966, 1663, 113,
2120 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2121 114, 114, 114, 114, 114, 1665, 114, 114, 114, 114,
2122 114, 576, 576, 576, 968, 968, 968, 1667, 569, 578,
2123 578, 578, 1670, 1671, 579, 579, 579, 1672, 576, 585,
2124 585, 585, 114, 114, 1673, 114, 1674, 578, 114, 992,
2125 992, 992, 579, 114, 588, 588, 588, 585, 588, 1675,
2126 1689, 588, 114, 123, 123, 123, 123, 123, 123, 123,
2127 123, 123, 123, 123, 123, 123, 123, 123, 579, 123,
2129 123, 123, 123, 123, 586, 586, 586, 587, 587, 587,
2130 592, 592, 592, 593, 593, 593, 595, 595, 595, 972,
2131 972, 972, 586, 1682, 587, 123, 123, 1690, 592, 1691,
2132 1692, 593, 1696, 972, 595, 1697, 123, 124, 124, 124,
2133 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2134 124, 124, 1698, 124, 124, 124, 124, 124, 596, 596,
2135 596, 593, 1682, 1699, 586, 598, 598, 598, 599, 599,
2136 599, 1701, 599, 997, 997, 599, 596, 1702, 1703, 124,
2137 124, 1704, 598, 997, 1068, 1068, 1068, 997, 1709, 1710,
2138 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2140 127, 127, 127, 127, 127, 127, 1711, 127, 127, 127,
2141 127, 127, 604, 604, 604, 596, 1712, 1713, 605, 605,
2142 605, 606, 606, 606, 607, 607, 607, 1714, 607, 1717,
2143 604, 607, 1718, 127, 127, 1719, 605, 1720, 606, 1721,
2144 1722, 127, 1737, 127, 1739, 127, 1069, 1069, 1069, 1071,
2145 1071, 1071, 1741, 127, 128, 128, 128, 128, 128, 128,
2146 128, 128, 128, 128, 128, 128, 128, 128, 128, 1743,
2147 128, 128, 128, 128, 128, 605, 609, 609, 609, 1747,
2148 610, 610, 610, 612, 612, 612, 613, 613, 613, 1748,
2149 613, 1749, 1750, 613, 609, 1757, 128, 128, 610, 1758,
2151 612, 973, 973, 973, 128, 1731, 128, 1760, 128, 1072,
2152 1072, 1072, 1170, 1170, 1170, 973, 128, 137, 137, 137,
2153 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2154 137, 137, 1761, 137, 137, 137, 137, 137, 1734, 1755,
2155 610, 614, 614, 614, 615, 615, 615, 1731, 615, 1734,
2156 1755, 615, 616, 616, 616, 621, 621, 621, 614, 137,
2157 137, 622, 622, 622, 623, 623, 623, 1756, 1763, 616,
2158 624, 624, 624, 621, 624, 1764, 1766, 624, 1756, 622,
2159 1767, 623, 137, 138, 138, 138, 138, 138, 138, 138,
2160 138, 138, 138, 138, 138, 138, 138, 138, 1774, 138,
2162 138, 138, 138, 138, 625, 625, 625, 1733, 1775, 626,
2163 626, 626, 628, 628, 628, 622, 629, 629, 629, 1775,
2164 629, 1733, 625, 629, 1776, 138, 138, 626, 1778, 628,
2165 1773, 1773, 633, 633, 633, 634, 634, 634, 636, 636,
2166 636, 637, 637, 637, 640, 640, 640, 1779, 138, 181,
2167 633, 1780, 1771, 634, 1781, 636, 181, 1786, 637, 641,
2168 641, 641, 640, 1787, 1788, 181, 626, 643, 643, 643,
2169 1789, 645, 645, 645, 648, 648, 648, 641, 646, 646,
2170 646, 647, 647, 647, 643, 1801, 1802, 634, 645, 1771,
2171 1803, 648, 181, 1805, 1806, 181, 646, 181, 181, 647,
2173 181, 650, 650, 650, 181, 1807, 181, 181, 181, 1808,
2174 649, 649, 649, 1815, 649, 1818, 641, 649, 1819, 650,
2175 1820, 651, 651, 651, 656, 656, 656, 657, 657, 657,
2176 660, 660, 660, 661, 661, 661, 1772, 1821, 647, 651,
2177 1825, 1839, 656, 1843, 1844, 657, 1845, 1846, 660, 1849,
2178 1772, 661, 677, 677, 677, 1851, 678, 678, 678, 680,
2179 680, 680, 694, 694, 694, 695, 695, 695, 1852, 1853,
2180 677, 1849, 1854, 651, 678, 1855, 1859, 680, 1860, 694,
2181 696, 696, 696, 695, 698, 698, 698, 657, 699, 699,
2182 699, 1858, 1861, 661, 703, 703, 703, 1862, 696, 705,
2184 705, 705, 698, 680, 1863, 699, 700, 700, 700, 1858,
2185 700, 703, 1866, 700, 706, 706, 706, 705, 708, 708,
2186 708, 710, 710, 710, 1868, 710, 1869, 1870, 710, 1871,
2187 698, 1866, 706, 713, 713, 713, 708, 714, 714, 714,
2188 1877, 714, 1879, 1874, 714, 1901, 715, 715, 715, 1874,
2189 713, 703, 716, 716, 716, 1883, 1905, 717, 717, 717,
2190 1902, 717, 708, 715, 717, 719, 719, 719, 1883, 716,
2191 720, 720, 720, 722, 722, 722, 726, 726, 726, 728,
2192 728, 728, 1929, 719, 729, 729, 729, 1897, 720, 1898,
2193 1901, 722, 1448, 726, 731, 731, 731, 728, 1905, 732,
2195 732, 732, 729, 732, 1906, 1902, 732, 738, 738, 738,
2196 1930, 1929, 731, 739, 739, 739, 741, 741, 741, 743,
2197 743, 743, 744, 744, 744, 738, 746, 746, 746, 722,
2198 1897, 739, 1898, 1909, 741, 1910, 1925, 743, 731, 1930,
2199 744, 748, 748, 748, 746, 748, 1906, 1915, 748, 755,
2200 755, 755, 756, 756, 756, 758, 758, 758, 759, 759,
2201 759, 1923, 759, 1926, 1909, 759, 1910, 755, 1927, 1924,
2202 756, 1916, 1925, 758, 763, 763, 763, 1927, 741, 764,
2203 764, 764, 766, 766, 766, 1936, 746, 769, 769, 769,
2204 1447, 769, 763, 1931, 769, 1915, 1936, 764, 1923, 1926,
2206 766, 772, 772, 772, 1933, 772, 1924, 1446, 772, 775,
2207 775, 775, 1928, 776, 776, 776, 758, 776, 1934, 1916,
2208 776, 1928, 781, 781, 781, 1932, 775, 782, 782, 782,
2209 784, 784, 784, 1933, 785, 785, 785, 1931, 785, 766,
2210 781, 785, 788, 788, 788, 782, 1445, 1934, 784, 789,
2211 789, 789, 791, 791, 791, 793, 793, 793, 1444, 793,
2212 788, 1443, 793, 799, 799, 799, 1935, 789, 1442, 1932,
2213 791, 800, 800, 800, 802, 802, 802, 804, 804, 804,
2214 1935, 799, 1441, 805, 805, 805, 1440, 805, 1435, 800,
2215 805, 1434, 802, 784, 804, 806, 806, 806, 807, 807,
2217 807, 1413, 807, 1412, 1411, 807, 810, 810, 810, 811,
2218 811, 811, 806, 1410, 1409, 791, 813, 813, 813, 815,
2219 815, 815, 1408, 1403, 810, 1402, 1401, 811, 1400, 1399,
2220 802, 816, 816, 816, 813, 816, 815, 1398, 816, 818,
2221 818, 818, 819, 819, 819, 1395, 819, 1393, 1392, 819,
2222 820, 820, 820, 821, 821, 821, 818, 823, 823, 823,
2223 824, 824, 824, 1391, 824, 1390, 1383, 824, 820, 1381,
2224 1380, 821, 827, 827, 827, 823, 828, 828, 828, 813,
2225 830, 830, 830, 832, 832, 832, 835, 835, 835, 1379,
2226 827, 836, 836, 836, 828, 838, 838, 838, 830, 1378,
2228 832, 841, 841, 841, 835, 842, 842, 842, 1371, 836,
2229 844, 844, 844, 838, 846, 846, 846, 1370, 1369, 841,
2230 823, 1368, 1367, 842, 854, 854, 854, 1366, 844, 868,
2231 868, 868, 846, 846, 1365, 1364, 830, 869, 869, 869,
2232 1363, 869, 854, 1362, 869, 1361, 868, 870, 870, 870,
2233 1360, 1359, 838, 871, 871, 871, 1358, 872, 872, 872,
2234 844, 872, 1355, 1352, 872, 870, 875, 875, 875, 1351,
2235 871, 877, 877, 877, 1340, 877, 1333, 1331, 877, 880,
2236 880, 880, 1326, 1324, 875, 1323, 854, 881, 881, 881,
2237 1322, 881, 1321, 1320, 881, 1319, 880, 1318, 882, 882,
2239 882, 870, 882, 1317, 1306, 882, 886, 886, 886, 890,
2240 890, 890, 875, 891, 891, 891, 1305, 891, 1304, 1303,
2241 891, 893, 893, 893, 886, 1302, 890, 897, 897, 897,
2242 899, 899, 899, 903, 903, 903, 905, 905, 905, 893,
2243 904, 904, 904, 1301, 1300, 897, 1299, 1291, 899, 1290,
2244 903, 1289, 1288, 886, 905, 1287, 1286, 904, 906, 906,
2245 906, 907, 907, 907, 908, 908, 908, 893, 909, 909,
2246 909, 1285, 913, 913, 913, 906, 1284, 1280, 899, 907,
2247 1277, 908, 1274, 904, 1272, 909, 910, 910, 910, 913,
2248 910, 1271, 1255, 910, 914, 914, 914, 1253, 905, 915,
2250 915, 915, 1252, 916, 916, 916, 917, 917, 917, 1242,
2251 1237, 914, 1234, 918, 918, 918, 915, 1233, 1230, 907,
2252 916, 922, 922, 922, 917, 1216, 923, 923, 923, 1213,
2253 909, 918, 925, 925, 925, 1212, 925, 1211, 922, 925,
2254 933, 933, 933, 915, 923, 928, 928, 928, 1196, 928,
2255 1195, 1194, 928, 1193, 1192, 935, 935, 935, 933, 935,
2256 914, 1191, 935, 1190, 922, 1189, 1186, 917, 1184, 916,
2257 939, 939, 939, 1183, 939, 918, 1180, 939, 1179, 923,
2258 942, 942, 942, 943, 943, 943, 945, 945, 945, 946,
2259 946, 946, 1177, 946, 1175, 1164, 946, 1156, 942, 1154,
2261 1153, 943, 933, 945, 949, 949, 949, 951, 951, 951,
2262 952, 952, 952, 955, 955, 955, 963, 963, 963, 971,
2263 971, 971, 949, 1152, 951, 976, 976, 976, 952, 976,
2264 1145, 955, 976, 971, 963, 1139, 943, 979, 979, 979,
2265 1138, 1137, 942, 1135, 980, 980, 980, 1133, 980, 1110,
2266 949, 980, 991, 991, 991, 979, 985, 985, 985, 1109,
2267 1108, 955, 987, 987, 987, 963, 987, 1103, 1102, 987,
2268 991, 1101, 1091, 952, 985, 1090, 1089, 955, 1088, 971,
2269 995, 995, 995, 1087, 995, 1086, 1085, 995, 999, 999,
2270 999, 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1002,
2272 979, 1003, 1003, 1003, 985, 1084, 999, 1083, 1000, 991,
2273 1081, 1001, 1079, 1078, 1002, 1005, 1005, 1005, 1076, 1003,
2274 1006, 1006, 1006, 1010, 1010, 1010, 1011, 1011, 1011, 1075,
2275 1011, 1073, 1005, 1011, 1070, 1067, 999, 1066, 1006, 1065,
2276 1010, 1012, 1012, 1012, 1064, 1013, 1013, 1013, 1001, 1013,
2277 1059, 1051, 1013, 1015, 1015, 1015, 1049, 1048, 1012, 1016,
2278 1016, 1016, 1044, 1038, 1006, 1017, 1017, 1017, 1034, 1017,
2279 1031, 1015, 1017, 1018, 1018, 1018, 1016, 1019, 1019, 1019,
2280 1020, 1020, 1020, 1030, 1020, 1029, 1014, 1020, 1021, 1021,
2281 1021, 1018, 1009, 1008, 1019, 1022, 1022, 1022, 1007, 1023,
2283 1023, 1023, 998, 1023, 994, 1021, 1023, 1024, 1024, 1024,
2284 993, 990, 1022, 1025, 1025, 1025, 1026, 1026, 1026, 1027,
2285 1027, 1027, 986, 984, 1024, 1028, 1028, 1028, 983, 975,
2286 1025, 974, 970, 1026, 1032, 1032, 1032, 1027, 1033, 1033,
2287 1033, 969, 1033, 1028, 967, 1033, 1035, 1035, 1035, 965,
2288 964, 1032, 1036, 1036, 1036, 1037, 1037, 1037, 1039, 1039,
2289 1039, 1040, 1040, 1040, 1035, 961, 960, 1025, 957, 1036,
2290 954, 950, 1037, 1028, 948, 947, 1039, 944, 1040, 938,
2291 934, 1027, 1041, 1041, 1041, 1042, 1042, 1042, 932, 931,
2292 1043, 1043, 1043, 1045, 1045, 1045, 924, 1045, 921, 1041,
2294 1045, 920, 919, 1042, 1043, 902, 1039, 901, 1043, 1050,
2295 1050, 1050, 1052, 1052, 1052, 1037, 1053, 1053, 1053, 900,
2296 1053, 898, 896, 1053, 895, 1041, 894, 1050, 892, 1052,
2297 1054, 1054, 1054, 1042, 1060, 1060, 1060, 1061, 1061, 1061,
2298 889, 1062, 1062, 1062, 1063, 1063, 1063, 888, 1054, 885,
2299 876, 1060, 874, 873, 1061, 867, 866, 1050, 1062, 1074,
2300 1074, 1074, 1063, 1077, 1077, 1077, 1080, 1080, 1080, 1082,
2301 1082, 1082, 865, 1092, 1092, 1092, 864, 1074, 1093, 1093,
2302 1093, 1077, 862, 861, 1080, 1054, 1082, 1092, 860, 1061,
2303 858, 1092, 1094, 1094, 1094, 1093, 1094, 856, 1062, 1094,
2305 855, 1063, 1095, 1095, 1095, 853, 1074, 1096, 1096, 1096,
2306 1097, 1097, 1097, 852, 1097, 851, 850, 1097, 849, 1095,
2307 840, 1080, 839, 834, 1096, 1098, 1098, 1098, 1099, 1099,
2308 1099, 833, 1099, 831, 817, 1099, 1100, 1100, 1100, 1104,
2309 1104, 1104, 1098, 1104, 814, 809, 1104, 808, 1107, 1107,
2310 1107, 803, 1107, 798, 1100, 1107, 1111, 1111, 1111, 1113,
2311 1113, 1113, 797, 1113, 796, 792, 1113, 1116, 1116, 1116,
2312 780, 1118, 1118, 1118, 1111, 1118, 779, 778, 1118, 1121,
2313 1121, 1121, 1100, 777, 768, 1116, 1122, 1122, 1122, 767,
2314 1122, 762, 754, 1122, 753, 752, 1121, 1123, 1123, 1123,
2316 751, 1123, 747, 742, 1123, 1126, 1126, 1126, 1127, 1127,
2317 1127, 737, 1127, 736, 735, 1127, 1128, 1128, 1128, 1129,
2318 1129, 1129, 1126, 1130, 1130, 1130, 727, 1130, 725, 724,
2319 1130, 723, 718, 1128, 709, 704, 1129, 1131, 1131, 1131,
2320 1132, 1132, 1132, 1134, 1134, 1134, 1136, 1136, 1136, 693,
2321 1136, 692, 691, 1136, 690, 1131, 688, 687, 1132, 686,
2322 1134, 1140, 1140, 1140, 1142, 1142, 1142, 1143, 1143, 1143,
2323 685, 1143, 684, 683, 1143, 1144, 1144, 1144, 682, 1140,
2324 681, 1142, 1147, 1147, 1147, 1131, 1134, 1146, 1146, 1146,
2325 676, 675, 1144, 1149, 1149, 1149, 1150, 1150, 1150, 1147,
2327 1132, 1146, 1148, 1148, 1148, 1146, 1148, 674, 673, 1148,
2328 1149, 1151, 1151, 1151, 1150, 1155, 1155, 1155, 1157, 1157,
2329 1157, 670, 1157, 669, 668, 1157, 666, 1144, 662, 1151,
2330 1160, 1160, 1160, 1155, 1165, 1165, 1165, 1166, 1166, 1166,
2331 659, 1166, 658, 655, 1166, 1167, 1167, 1167, 1160, 654,
2332 1149, 1165, 1168, 1168, 1168, 653, 652, 1151, 644, 1169,
2333 1169, 1169, 1167, 1171, 1171, 1171, 1172, 1172, 1172, 1168,
2334 1173, 1173, 1173, 1174, 1174, 1174, 1155, 1169, 1160, 1176,
2335 1176, 1176, 1178, 1178, 1178, 1181, 1181, 1181, 1185, 1185,
2336 1185, 1187, 1187, 1187, 642, 1188, 1188, 1188, 639, 1188,
2338 1178, 1167, 1188, 1181, 638, 635, 1185, 632, 1187, 1197,
2339 1197, 1197, 1202, 1202, 1202, 1168, 1198, 1198, 1198, 1169,
2340 1199, 1199, 1199, 631, 1199, 630, 1197, 1199, 627, 1202,
2341 1178, 1203, 1203, 1203, 1198, 1203, 620, 619, 1203, 1204,
2342 1204, 1204, 618, 1204, 617, 608, 1204, 1207, 1207, 1207,
2343 603, 1207, 602, 601, 1207, 1210, 1210, 1210, 600, 1217,
2344 1217, 1217, 1198, 1217, 597, 594, 1217, 1220, 1220, 1220,
2345 591, 1220, 590, 1210, 1220, 1223, 1223, 1223, 1224, 1224,
2346 1224, 589, 1224, 584, 583, 1224, 1225, 1225, 1225, 582,
2347 1225, 581, 1223, 1225, 1228, 1228, 1228, 1229, 1229, 1229,
2349 1231, 1231, 1231, 1232, 1232, 1232, 1210, 1232, 580, 577,
2350 1232, 575, 1228, 571, 567, 1229, 566, 1231, 1238, 1238,
2351 1238, 563, 1238, 560, 559, 1238, 1241, 1241, 1241, 1243,
2352 1243, 1243, 1244, 1244, 1244, 558, 1244, 557, 556, 1244,
2353 1247, 1247, 1247, 1241, 1248, 1248, 1248, 1243, 1250, 1250,
2354 1250, 1251, 1251, 1251, 1228, 555, 554, 1247, 1254, 1254,
2355 1254, 553, 1248, 1257, 1257, 1257, 1250, 552, 1251, 1256,
2356 1256, 1256, 1241, 1260, 1260, 1260, 1254, 551, 1261, 1261,
2357 1261, 1257, 1261, 550, 1243, 1261, 549, 1256, 1264, 1264,
2358 1264, 1265, 1265, 1265, 548, 547, 1247, 1266, 1266, 1266,
2360 1267, 1267, 1267, 544, 543, 1264, 542, 540, 1265, 539,
2361 1250, 1268, 1268, 1268, 538, 1266, 1269, 1269, 1269, 1254,
2362 1270, 1270, 1270, 537, 536, 1256, 1273, 1273, 1273, 1276,
2363 1276, 1276, 1278, 1278, 1278, 1281, 1281, 1281, 532, 1281,
2364 530, 1264, 1281, 529, 1273, 528, 1276, 1292, 1292, 1292,
2365 1278, 527, 1266, 1265, 1293, 1293, 1293, 524, 1293, 523,
2366 522, 1293, 521, 520, 1292, 1294, 1294, 1294, 1295, 1295,
2367 1295, 519, 1295, 516, 512, 1295, 1298, 1298, 1298, 511,
2368 1307, 1307, 1307, 1294, 1307, 510, 509, 1307, 1310, 1310,
2369 1310, 1311, 1311, 1311, 1298, 1313, 1313, 1313, 1314, 1314,
2371 1314, 508, 1314, 505, 504, 1314, 1310, 503, 502, 1311,
2372 501, 500, 1313, 1328, 1328, 1328, 1329, 1329, 1329, 1330,
2373 1330, 1330, 1294, 1335, 1335, 1335, 497, 1336, 1336, 1336,
2374 1328, 1337, 1337, 1337, 1339, 1339, 1339, 1330, 1313, 496,
2375 1335, 495, 1338, 1338, 1338, 1336, 1338, 494, 1337, 1338,
2376 492, 1339, 1341, 1341, 1341, 1342, 1342, 1342, 1343, 1343,
2377 1343, 1344, 1344, 1344, 489, 485, 1335, 1347, 1347, 1347,
2378 1341, 1348, 1348, 1348, 484, 483, 1343, 482, 481, 1344,
2379 480, 477, 1330, 1336, 1349, 1349, 1349, 474, 1348, 1350,
2380 1350, 1350, 1353, 1353, 1353, 1356, 1356, 1356, 1357, 1357,
2382 1357, 1349, 1357, 473, 469, 1357, 468, 1350, 467, 466,
2383 1353, 465, 1356, 463, 1372, 1372, 1372, 460, 1372, 1344,
2384 1343, 1372, 1375, 1375, 1375, 1376, 1376, 1376, 1385, 1385,
2385 1385, 459, 1349, 1386, 1386, 1386, 1388, 1388, 1388, 456,
2386 1375, 455, 454, 1376, 453, 1385, 449, 448, 1389, 1389,
2387 1389, 1386, 1389, 1388, 447, 1389, 1397, 1397, 1397, 1404,
2388 1404, 1404, 1405, 1405, 1405, 446, 1405, 445, 442, 1405,
2389 1406, 1406, 1406, 1397, 441, 440, 1404, 439, 1375, 1407,
2390 1407, 1407, 1414, 1414, 1414, 1415, 1415, 1415, 1416, 1416,
2391 1416, 438, 1416, 437, 435, 1416, 432, 1407, 431, 1414,
2393 1419, 1419, 1419, 1415, 1420, 1420, 1420, 429, 1420, 427,
2394 424, 1420, 423, 1421, 1421, 1421, 419, 1419, 1422, 1422,
2395 1422, 1424, 1424, 1424, 1425, 1425, 1425, 418, 417, 1414,
2396 1421, 416, 414, 1407, 413, 412, 1422, 1429, 1429, 1429,
2397 411, 410, 1425, 1414, 1430, 1430, 1430, 409, 1430, 408,
2398 407, 1430, 406, 403, 1429, 1431, 1431, 1431, 1432, 1432,
2399 1432, 1436, 1436, 1436, 1437, 1437, 1437, 402, 1437, 401,
2400 400, 1437, 1431, 1454, 1454, 1454, 1432, 399, 1436, 1460,
2401 1460, 1460, 1461, 1461, 1461, 393, 1461, 392, 390, 1461,
2402 384, 1454, 380, 1462, 1462, 1462, 1460, 1462, 372, 371,
2404 1462, 1470, 1470, 1470, 1471, 1471, 1471, 370, 1471, 369,
2405 365, 1471, 1478, 1478, 1478, 359, 1478, 355, 1470, 1478,
2406 1481, 1481, 1481, 1488, 1488, 1488, 1489, 1489, 1489, 1454,
2407 1490, 1490, 1490, 348, 347, 1492, 1492, 1492, 1481, 1492,
2408 1488, 346, 1492, 1489, 1495, 1495, 1495, 345, 1490, 1496,
2409 1496, 1496, 341, 1496, 332, 331, 1496, 1497, 1497, 1497,
2410 327, 1495, 1502, 1502, 1502, 319, 1502, 318, 317, 1502,
2411 1505, 1505, 1505, 313, 307, 1497, 1506, 1506, 1506, 303,
2412 1506, 297, 1481, 1506, 1488, 296, 1489, 1505, 1507, 1507,
2413 1507, 1509, 1509, 1509, 1510, 1510, 1510, 294, 1510, 293,
2415 288, 1510, 1516, 1516, 1516, 1529, 1529, 1529, 1509, 1530,
2416 1530, 1530, 282, 1533, 1533, 1533, 281, 1533, 277, 1516,
2417 1533, 270, 269, 1529, 268, 266, 1530, 1537, 1537, 1537,
2418 1539, 1539, 1539, 262, 1539, 254, 250, 1539, 1552, 1552,
2419 1552, 1559, 1559, 1559, 1537, 1560, 1560, 1560, 1570, 1570,
2420 1570, 244, 1530, 1529, 243, 242, 1552, 241, 1559, 1561,
2421 1561, 1561, 1560, 1561, 237, 231, 1561, 1566, 1566, 1566,
2422 1567, 1567, 1567, 230, 1567, 229, 228, 1567, 224, 1572,
2423 1572, 1572, 216, 1572, 1566, 1566, 1572, 1579, 1579, 1579,
2424 1552, 1560, 1580, 1580, 1580, 1581, 1581, 1581, 214, 1581,
2426 213, 209, 1581, 1559, 1579, 1592, 1592, 1592, 206, 1580,
2427 1593, 1593, 1593, 1594, 1594, 1594, 204, 1594, 203, 202,
2428 1594, 198, 192, 1592, 1599, 1599, 1599, 1593, 1600, 1600,
2429 1600, 188, 1600, 178, 177, 1600, 1612, 1612, 1612, 173,
2430 169, 1599, 1619, 1619, 1619, 1620, 1620, 1620, 1622, 1622,
2431 1622, 1592, 168, 167, 1612, 1623, 1623, 1623, 161, 1619,
2432 160, 158, 1620, 155, 143, 1622, 1622, 1625, 1625, 1625,
2433 0, 0, 1623, 1623, 1624, 1624, 1624, 0, 1624, 0,
2434 0, 1624, 1630, 1630, 1630, 1619, 0, 0, 1620, 1631,
2435 1631, 1631, 1624, 1631, 0, 0, 1631, 0, 0, 1630,
2437 1632, 1632, 1632, 0, 1632, 0, 0, 1632, 1645, 1645,
2438 1645, 1646, 1646, 1646, 0, 1646, 0, 0, 1646, 1653,
2439 1653, 1653, 0, 1654, 1654, 1654, 1645, 1654, 0, 0,
2440 1654, 1657, 1657, 1657, 0, 0, 1653, 1668, 1668, 1668,
2441 1676, 1676, 1676, 1677, 1677, 1677, 0, 1677, 1657, 0,
2442 1677, 1678, 1678, 1678, 0, 1668, 0, 1676, 1679, 1679,
2443 1679, 0, 1680, 1680, 1680, 0, 1680, 0, 1678, 1680,
2444 1645, 1681, 1681, 1681, 0, 1679, 1683, 1683, 1683, 1684,
2445 1684, 1684, 0, 1684, 0, 0, 1684, 0, 1681, 1688,
2446 1688, 1688, 0, 1683, 1683, 0, 0, 1684, 0, 1685,
2448 1685, 1685, 0, 1685, 0, 0, 1685, 1693, 1693, 1693,
2449 0, 1693, 0, 0, 1693, 0, 1678, 1685, 1705, 1705,
2450 1705, 0, 0, 0, 0, 0, 0, 0, 1700, 1700,
2451 1700, 0, 1707, 1707, 1707, 1705, 1681, 1686, 1686, 1686,
2452 1686, 1686, 1686, 1686, 1686, 1686, 1700, 0, 1686, 1707,
2453 0, 0, 0, 1686, 1686, 1686, 1686, 1686, 1706, 1706,
2454 1706, 0, 1706, 0, 0, 1706, 1708, 1708, 1708, 0,
2455 1708, 0, 0, 1708, 1726, 1726, 1726, 0, 0, 1686,
2456 1686, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687,
2457 0, 1726, 1687, 0, 0, 0, 0, 1687, 1687, 1687,
2459 1687, 1687, 1723, 1723, 1723, 0, 1723, 0, 0, 1723,
2460 1727, 1727, 1727, 0, 1727, 0, 0, 1727, 1730, 1730,
2461 1730, 0, 0, 1687, 1687, 0, 1726, 1732, 1732, 1732,
2462 0, 1732, 0, 0, 1732, 1730, 1745, 1745, 1745, 1751,
2463 1751, 1751, 0, 1751, 0, 1732, 1751, 0, 1754, 1754,
2464 1754, 0, 1754, 0, 1745, 1754, 0, 0, 0, 0,
2465 0, 0, 0, 1769, 1769, 1769, 1770, 1770, 1770, 0,
2466 1730, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
2467 1769, 0, 1735, 1770, 1777, 1777, 1777, 1735, 1735, 1735,
2468 1735, 1735, 1782, 1782, 1782, 1783, 1783, 1783, 0, 0,
2470 0, 0, 1777, 1777, 0, 0, 1800, 1800, 1800, 1782,
2471 0, 0, 1783, 1735, 1735, 1736, 1736, 1736, 1736, 1736,
2472 1736, 1736, 1736, 1736, 1800, 1769, 1736, 0, 1770, 0,
2473 0, 1736, 1736, 1736, 1736, 1736, 1784, 1784, 1784, 1785,
2474 1785, 1785, 1798, 1798, 1798, 1799, 1799, 1799, 0, 1804,
2475 1804, 1804, 0, 1784, 0, 0, 1785, 1736, 1736, 1798,
2476 0, 0, 1799, 1809, 1809, 1809, 0, 1804, 1810, 1810,
2477 1810, 0, 1810, 0, 0, 1810, 1891, 1891, 1891, 1784,
2478 1809, 1811, 1811, 1811, 1812, 1812, 1812, 0, 1812, 0,
2479 0, 1812, 0, 1798, 1891, 0, 1799, 1804, 1811, 1813,
2481 1813, 1813, 1814, 1814, 1814, 0, 1814, 0, 0, 1814,
2482 1816, 1816, 1816, 1817, 1817, 1817, 1813, 1817, 0, 0,
2483 1817, 1822, 1822, 1822, 1823, 1823, 1823, 1816, 0, 1824,
2484 1824, 1824, 1830, 1830, 1830, 0, 1830, 0, 1822, 1830,
2485 0, 1823, 1833, 1833, 1833, 0, 1833, 1824, 0, 1833,
2486 1836, 1836, 1836, 0, 1836, 0, 0, 1836, 0, 1840,
2487 1840, 1840, 0, 1840, 1822, 1824, 1840, 1823, 1847, 1847,
2488 1847, 1848, 1848, 1848, 1856, 1856, 1856, 1857, 1857, 1857,
2489 1864, 1864, 1864, 0, 0, 1847, 0, 0, 1848, 0,
2490 0, 1856, 0, 0, 1857, 0, 0, 1864, 1865, 1865,
2492 1865, 1867, 1867, 1867, 1872, 1872, 1872, 1873, 1873, 1873,
2493 1875, 1875, 1875, 0, 0, 1865, 0, 0, 1867, 0,
2494 0, 1872, 0, 0, 1873, 1847, 0, 1875, 1848, 0,
2495 0, 1864, 0, 1876, 1876, 1876, 1856, 1876, 0, 1857,
2496 1876, 1881, 1881, 1881, 1882, 1882, 1882, 0, 0, 1865,
2497 0, 0, 1872, 0, 0, 1873, 0, 0, 1881, 0,
2498 0, 1882, 1884, 1884, 1884, 0, 1884, 0, 0, 1884,
2499 1889, 1889, 1889, 1890, 1890, 1890, 1892, 1892, 1892, 1893,
2500 1893, 1893, 1894, 1894, 1894, 0, 1894, 1889, 0, 1894,
2501 1890, 0, 0, 1892, 0, 0, 1893, 1895, 1895, 1895,
2503 1894, 1881, 0, 0, 1882, 1896, 1896, 1896, 1899, 1899,
2504 1899, 0, 0, 1889, 1895, 0, 1890, 1900, 1900, 1900,
2505 0, 0, 1896, 0, 0, 1899, 1903, 1903, 1903, 1904,
2506 1904, 1904, 0, 0, 1900, 0, 0, 1892, 0, 1893,
2507 1907, 1907, 1907, 1903, 0, 1895, 1904, 0, 1908, 1908,
2508 1908, 0, 0, 1896, 1911, 1911, 1911, 1907, 0, 1913,
2509 1913, 1913, 0, 1900, 1899, 1908, 0, 0, 1912, 1912,
2510 1912, 1911, 1912, 1903, 0, 1912, 1913, 1914, 1914, 1914,
2511 0, 1914, 0, 0, 1914, 1917, 1917, 1917, 0, 1917,
2512 0, 0, 1917, 1904, 1920, 1920, 1920, 0, 1920, 0,
2514 0, 1920, 1937, 1937, 1937, 1938, 1938, 1938, 0, 0,
2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2516 1937, 0, 0, 1938, 1941, 1941, 1941, 1941, 1941, 1941,
2517 1941, 1941, 1941, 1942, 1942, 1942, 1942, 1942, 1942, 1942,
2518 1942, 1942, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943,
2519 1943, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944,
2520 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1946,
2521 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1947, 1947,
2522 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1948, 1948, 1948,
2523 1948, 1948, 1948, 1948, 1948, 1948, 1949, 1949, 1949, 1949,
2525 1949, 1949, 1949, 1949, 1949, 1950, 1950, 1950, 1950, 1950,
2526 1950, 1950, 1950, 1950, 1951, 1951, 1951, 1951, 1951, 1951,
2527 1951, 1951, 1951, 1952, 1952, 1952, 1952, 1952, 1952, 1952,
2528 1952, 1952, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953,
2529 1953, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954,
2530 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1956,
2531 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1957, 1957,
2532 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958,
2533 1958, 1958, 1958, 1958, 1958, 1958, 1959, 1959, 1959, 1959,
2534 1959, 1959, 1959, 1959, 1959, 1960, 1960, 1960, 1960, 1960,
2536 1960, 1960, 1960, 1960, 1961, 1961, 1961, 1961, 1961, 1961,
2537 1961, 1961, 1961, 1962, 1962, 1962, 1962, 1962, 1962, 1962,
2538 1962, 1962, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963,
2539 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964,
2540 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966,
2541 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 1967,
2542 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1968, 1968, 1968,
2543 1968, 1968, 1968, 1968, 1968, 1968, 1969, 1969, 1969, 1969,
2544 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, 1970,
2545 1970, 1970, 1970, 1970, 1971, 1971, 1971, 1971, 1971, 1971,
2547 1971, 1971, 1971, 1972, 1972, 1972, 1972, 1972, 1972, 1972,
2548 1972, 1972, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973,
2549 1973, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974,
2550 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1976,
2551 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1977, 1977,
2552 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1978, 1978, 1978,
2553 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 1979, 1979,
2554 1979, 1979, 1979, 1979, 1979, 1980, 1980, 1980, 0, 0,
2555 0, 1980, 1981, 1981, 1981, 0, 0, 0, 1981, 1982,
2556 1982, 1982, 0, 0, 0, 1982, 1983, 1983, 1983, 0,
2558 0, 0, 1983, 1984, 1984, 1984, 0, 0, 0, 1984,
2559 1985, 1985, 1985, 0, 0, 0, 1985, 1986, 1986, 1986,
2560 0, 0, 0, 1986, 1987, 1987, 1987, 0, 0, 0,
2561 1987, 1988, 1988, 1988, 0, 0, 0, 1988, 1989, 1989,
2562 1989, 0, 0, 0, 1989, 1990, 1990, 1990, 0, 0,
2563 0, 1990, 1991, 1991, 1991, 0, 0, 0, 1991, 1992,
2564 1992, 1992, 0, 0, 0, 1992, 1993, 1993, 1993, 0,
2565 0, 0, 1993, 1994, 1994, 1994, 0, 0, 0, 1994,
2566 1995, 1995, 1995, 0, 0, 0, 1995, 1996, 1996, 1996,
2567 0, 0, 0, 1996, 1997, 1997, 1997, 1997, 1997, 1997,
2569 1997, 0, 1997, 1998, 0, 0, 0, 1998, 1999, 0,
2570 0, 0, 1999, 2000, 0, 0, 0, 2000, 2001, 0,
2571 0, 0, 2001, 2002, 0, 0, 0, 2002, 2003, 0,
2572 0, 0, 2003, 2004, 0, 0, 0, 2004, 2005, 0,
2573 0, 0, 2005, 2006, 0, 0, 0, 2006, 2007, 0,
2574 0, 0, 2007, 2008, 0, 0, 0, 2008, 2009, 2009,
2575 2009, 0, 0, 0, 2009, 2010, 0, 0, 0, 2010,
2576 2011, 2011, 2011, 0, 0, 0, 2011, 2012, 0, 0,
2577 0, 2012, 2013, 2013, 2013, 0, 0, 0, 2013, 2014,
2578 0, 0, 0, 2014, 2015, 2015, 2015, 0, 0, 0,
2580 2015, 2016, 0, 0, 0, 2016, 2017, 2017, 2017, 0,
2581 0, 0, 2017, 2018, 0, 0, 0, 2018, 2019, 2019,
2582 2019, 0, 0, 0, 2019, 2020, 0, 0, 0, 2020,
2583 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2022,
2584 0, 0, 0, 0, 2022, 2023, 2023, 2023, 0, 0,
2585 0, 2023, 2024, 2024, 2024, 2024, 0, 0, 2024, 2024,
2586 2025, 2025, 2025, 0, 0, 0, 2025, 2026, 2026, 2026,
2587 2026, 0, 0, 2026, 2026, 2027, 2027, 2027, 0, 0,
2588 0, 2027, 2028, 2028, 2028, 2028, 0, 0, 2028, 2028,
2589 2029, 2029, 2029, 0, 0, 0, 2029, 2030, 2030, 2030,
2591 2030, 0, 0, 2030, 2030, 2031, 2031, 2031, 0, 0,
2592 0, 2031, 2032, 2032, 2032, 2032, 0, 0, 2032, 2032,
2593 2033, 2033, 2033, 0, 0, 0, 2033, 2034, 2034, 2034,
2594 2034, 0, 0, 2034, 2034, 2035, 2035, 2035, 0, 0,
2595 0, 2035, 2036, 2036, 2036, 2036, 0, 0, 2036, 2036,
2596 2037, 2037, 2037, 0, 0, 0, 2037, 2038, 2038, 2038,
2597 2038, 0, 0, 2038, 2038, 2039, 2039, 2039, 0, 0,
2598 0, 2039, 2040, 2040, 2040, 2040, 0, 0, 2040, 2040,
2599 2041, 2041, 2041, 0, 0, 0, 2041, 2042, 2042, 2042,
2600 2042, 0, 0, 2042, 2042, 2043, 2043, 2043, 2043, 0,
2602 0, 2043, 2043, 2044, 2044, 2044, 0, 0, 0, 2044,
2603 2045, 2045, 2045, 2045, 0, 0, 2045, 2045, 2046, 2046,
2604 2046, 0, 0, 0, 2046, 2047, 2047, 2047, 2047, 0,
2605 0, 2047, 2047, 2048, 2048, 2048, 0, 0, 0, 2048,
2606 2049, 2049, 2049, 2049, 0, 0, 2049, 2049, 2050, 2050,
2607 2050, 2050, 0, 0, 2050, 2050, 2051, 2051, 2051, 0,
2608 0, 0, 2051, 2052, 2052, 2052, 2052, 0, 0, 2052,
2609 2052, 2053, 2053, 2053, 0, 0, 0, 2053, 2054, 2054,
2610 2054, 2054, 0, 0, 2054, 2054, 2055, 2055, 2055, 2055,
2611 2055, 2055, 2055, 2055, 2055, 2056, 0, 2056, 0, 0,
2613 2056, 2057, 2057, 2057, 0, 0, 0, 2057, 2058, 2058,
2614 2058, 2058, 0, 0, 2058, 2058, 2059, 2059, 2059, 2059,
2615 0, 2059, 0, 2059, 2060, 2060, 2060, 2060, 0, 0,
2616 2060, 2060, 2061, 2061, 2061, 2061, 0, 2061, 0, 2061,
2617 2062, 2062, 2062, 2062, 0, 0, 2062, 2062, 2063, 2063,
2618 2063, 0, 0, 0, 2063, 2064, 2064, 2064, 2064, 0,
2619 0, 2064, 2064, 2065, 2065, 2065, 0, 0, 0, 2065,
2620 2066, 2066, 2066, 2066, 0, 0, 2066, 2066, 2067, 2067,
2621 2067, 0, 0, 0, 2067, 2068, 2068, 2068, 2068, 0,
2622 0, 2068, 2068, 2069, 2069, 2069, 0, 0, 0, 2069,
2624 2070, 2070, 2070, 2070, 0, 0, 2070, 2070, 2071, 2071,
2625 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 2072, 0,
2626 0, 2072, 2072, 2073, 2073, 2073, 0, 0, 0, 2073,
2627 2074, 2074, 2074, 2074, 0, 0, 2074, 2074, 2075, 2075,
2628 2075, 0, 0, 0, 2075, 2076, 2076, 2076, 2076, 0,
2629 0, 2076, 2076, 2077, 2077, 2077, 2077, 0, 0, 2077,
2630 2077, 2078, 2078, 2078, 0, 0, 0, 2078, 2079, 2079,
2631 2079, 2079, 0, 0, 2079, 2079, 2080, 2080, 2080, 0,
2632 0, 0, 2080, 2081, 2081, 2081, 2081, 0, 0, 2081,
2633 2081, 2082, 2082, 2082, 0, 0, 0, 2082, 2083, 2083,
2635 2083, 2083, 0, 0, 2083, 2083, 2084, 2084, 2084, 2084,
2636 0, 0, 2084, 2084, 2085, 2085, 2085, 0, 0, 0,
2637 2085, 2086, 2086, 2086, 2086, 0, 0, 2086, 2086, 2087,
2638 2087, 2087, 0, 0, 0, 2087, 2088, 2088, 2088, 2088,
2639 0, 0, 2088, 2088, 2089, 2089, 2089, 2089, 2089, 2089,
2640 2089, 2089, 2089, 2090, 2090, 2090, 2090, 2090, 2090, 2090,
2641 2090, 2090, 2091, 2091, 2091, 0, 0, 0, 2091, 2092,
2642 2092, 2092, 2092, 0, 0, 2092, 2092, 2093, 2093, 2093,
2643 2093, 0, 0, 2093, 2093, 2094, 2094, 2094, 0, 0,
2644 0, 2094, 2095, 2095, 2095, 2095, 0, 0, 2095, 2095,
2646 2096, 2096, 2096, 0, 0, 0, 2096, 2097, 2097, 2097,
2647 2097, 0, 0, 2097, 2097, 2098, 2098, 2098, 0, 0,
2648 0, 2098, 2099, 2099, 2099, 2099, 0, 0, 2099, 2099,
2649 2100, 2100, 2100, 0, 0, 0, 2100, 2101, 2101, 2101,
2650 2101, 0, 0, 2101, 2101, 2102, 2102, 2102, 0, 0,
2651 0, 2102, 2103, 2103, 2103, 2103, 0, 0, 2103, 2103,
2652 2104, 2104, 2104, 0, 0, 0, 2104, 2105, 2105, 2105,
2653 2105, 0, 0, 2105, 2105, 2106, 2106, 2106, 2106, 0,
2654 2106, 0, 2106, 2107, 2107, 2107, 2107, 0, 0, 2107,
2655 2107, 2108, 2108, 2108, 2108, 0, 2108, 0, 2108, 2109,
2657 2109, 2109, 2109, 0, 0, 2109, 2109, 2110, 2110, 2110,
2658 2110, 0, 0, 2110, 2110, 2111, 2111, 2111, 0, 0,
2659 0, 2111, 2112, 2112, 2112, 2112, 0, 0, 2112, 2112,
2660 2113, 2113, 2113, 0, 0, 0, 2113, 2114, 2114, 2114,
2661 2114, 0, 0, 2114, 2114, 2115, 2115, 2115, 0, 0,
2662 0, 2115, 2116, 2116, 2116, 2116, 0, 0, 2116, 2116,
2663 2117, 2117, 2117, 2117, 0, 0, 2117, 2117, 2118, 2118,
2664 2118, 0, 0, 0, 2118, 2119, 2119, 2119, 2119, 0,
2665 0, 2119, 2119, 2120, 2120, 2120, 2120, 0, 2120, 0,
2666 2120, 2121, 2121, 2121, 2121, 0, 0, 2121, 2121, 2122,
2668 2122, 2122, 2122, 2122, 2122, 2122, 2122, 2122, 2123, 2123,
2669 2123, 2123, 2123, 2123, 2123, 2123, 2123, 2124, 2124, 2124,
2670 0, 0, 0, 2124, 2125, 2125, 2125, 2125, 0, 0,
2671 2125, 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126,
2672 2127, 2127, 2127, 0, 0, 0, 2127, 2128, 2128, 2128,
2673 2128, 0, 0, 2128, 2128, 2129, 2129, 2129, 0, 0,
2674 0, 2129, 2130, 2130, 2130, 2130, 0, 0, 2130, 2130,
2675 2131, 2131, 2131, 0, 0, 0, 2131, 2132, 2132, 2132,
2676 2132, 0, 0, 2132, 2132, 2133, 2133, 2133, 2133, 0,
2677 2133, 0, 2133, 2134, 2134, 2134, 2134, 0, 2134, 0,
2679 2134, 2135, 2135, 2135, 2135, 0, 0, 2135, 2135, 2136,
2680 2136, 2136, 0, 0, 0, 2136, 2137, 2137, 2137, 2137,
2681 0, 0, 2137, 2137, 2138, 2138, 2138, 2138, 0, 0,
2682 2138, 2138, 2139, 2139, 2139, 2139, 0, 2139, 0, 2139,
2683 2140, 2140, 2140, 2140, 0, 0, 2140, 2140, 2141, 2141,
2684 2141, 2141, 0, 0, 2141, 2141, 2142, 2142, 2142, 0,
2685 0, 0, 2142, 2143, 2143, 2143, 2143, 0, 0, 2143,
2686 2143, 2144, 2144, 2144, 2144, 0, 2144, 0, 2144, 2145,
2687 2145, 2145, 2145, 0, 0, 2145, 2145, 2146, 2146, 2146,
2688 2146, 0, 2146, 0, 2146, 2147, 2147, 2147, 2147, 0,
2690 0, 2147, 2147, 2148, 2148, 2148, 2148, 0, 0, 2148,
2691 2148, 2149, 2149, 2149, 0, 0, 0, 2149, 2150, 2150,
2692 2150, 2150, 0, 0, 2150, 2150, 2151, 2151, 2151, 2151,
2693 0, 0, 2151, 2151, 2152, 2152, 2152, 2152, 2152, 2152,
2694 2152, 2152, 2152, 2153, 2153, 2153, 2153, 2153, 2153, 2153,
2695 2153, 2153, 2154, 2154, 2154, 2154, 0, 2154, 0, 2154,
2696 2155, 2155, 2155, 2155, 0, 0, 2155, 2155, 2156, 2156,
2697 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157, 0,
2698 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0, 2158,
2699 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160, 2160,
2701 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161, 0,
2702 0, 0, 2161, 2162, 2162, 2162, 2162, 0, 0, 2162,
2703 2162, 2163, 2163, 2163, 2163, 0, 2163, 0, 2163, 2164,
2704 2164, 2164, 2164, 0, 0, 2164, 2164, 2165, 2165, 2165,
2705 0, 0, 0, 2165, 2166, 2166, 2166, 2166, 2166, 2166,
2706 2166, 2166, 2166, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
2707 2167, 2167, 2168, 2168, 2168, 2168, 2168, 2168, 2168, 2168,
2708 2168, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169,
2709 2170, 2170, 2170, 2170, 2170, 2170, 2170, 2170, 2170, 2171,
2710 2171, 2171, 2171, 2171, 2171, 2171, 2171, 2171, 1940, 1940,
2712 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2713 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2714 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2715 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2716 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2717 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2718 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940
2721 /* Table of booleans, true if rule could match eol. */
2722 static yyconst flex_int32_t yy_rule_can_match_eol[337] =
2724 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2725 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2726 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2727 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2729 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0,
2730 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2731 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2732 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2733 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0,
2734 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2735 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2736 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2738 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2739 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2742 static yy_state_type yy_last_accepting_state;
2743 static char *yy_last_accepting_cpos;
2745 extern int surf_parse__flex_debug;
2746 int surf_parse__flex_debug = 0;
2748 /* The intent behind this definition is that it'll catch
2749 * any uses of REJECT which flex missed.
2751 #define REJECT reject_used_but_not_detected
2752 #define yymore() yymore_used_but_not_detected
2753 #define YY_MORE_ADJ 0
2754 #define YY_RESTORE_YY_MORE_OFFSET
2755 char *surf_parse_text;
2756 /* Validating XML processor for surf/surfxml.dtd.
2757 * Generated 2007/11/29 14:32:38.
2759 * This program was generated with the FleXML XML processor generator.
2760 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2761 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2762 * (Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp).
2764 * There are two, intertwined parts to this program, part A and part B.
2769 * Some parts, here collectively called "Part A", are found in the
2770 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2771 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2773 * You can redistribute, use, perform, display and/or modify "Part A"
2774 * provided the following two conditions hold:
2776 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2777 * FleXML; without even the implied warranty of MERCHANTABILITY or
2778 * FITNESS FOR A PARTICULAR PURPOSE.
2780 * 2. The program distribution conditions do not in any way affect the
2781 * distribution conditions of the FleXML system used to generate this
2782 * file or any version of FleXML derived from that system.
2784 * Notice that these are explicit rights granted to you for files
2785 * generated by the FleXML system. For your rights in connection with
2786 * the FleXML system itself please consult the GNU General Public License.
2791 * The other parts, here collectively called "Part B", and which came
2792 * from the DTD used by FleXML to generate this program, can be
2793 * distributed (or not, as the case may be) under the terms of whoever
2794 * wrote them, provided these terms respect and obey the two conditions
2795 * above under the heading "Part A".
2797 * The author of and contributors to FleXML specifically disclaim
2798 * any copyright interest in "Part B", unless "Part B" was written
2799 * by the author of or contributors to FleXML.
2803 /* Version strings. */
2804 const char rcs_surfxml_flexml_skeleton[] =
2805 "$" "Id: skel,v 1.38 2006/09/12 18:05:45 wdowling Exp $";
2806 const char rcs_surfxml_flexml[] =
2807 "$" "Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp $";
2810 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2811 # ifndef __STRICT_ANSI__
2813 # include <process.h>
2816 # include <unistd.h>
2824 #ifndef FLEXML_INDEXSTACKSIZE
2825 #define FLEXML_INDEXSTACKSIZE 1000
2828 /* Generated definitions. */
2829 #define FLEXML_yylineno
2830 #ifndef FLEXML_BUFFERSTACKSIZE
2831 #define FLEXML_BUFFERSTACKSIZE 1000000
2833 #define FLEXML_NEED_BUFFERLIT
2835 /* XML processor api. */
2836 /* FleXML-provided data. */
2837 int surfxml_pcdata_ix;
2838 extern char *surfxml_bufferstack;
2839 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2840 AT_surfxml_random_generator AX_surfxml_random_generator;
2841 #define A_surfxml_random_generator AX_surfxml_random_generator
2842 AT_surfxml_prop_id AX_surfxml_prop_id;
2843 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2844 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2845 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2846 AT_surfxml_host_id AX_surfxml_host_id;
2847 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2848 AT_surfxml_set_id AX_surfxml_set_id;
2849 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2850 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2851 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2852 AT_surfxml_host_state AX_surfxml_host_state;
2853 #define A_surfxml_host_state AX_surfxml_host_state
2854 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2855 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2856 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2857 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2858 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2859 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2860 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2861 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2862 AT_surfxml_host_power AX_surfxml_host_power;
2863 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2864 AT_surfxml_router_id AX_surfxml_router_id;
2865 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2866 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2867 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2868 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2869 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2870 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2871 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2872 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2873 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2874 AT_surfxml_trace_file AX_surfxml_trace_file;
2875 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2876 AT_surfxml_route_action AX_surfxml_route_action;
2877 #define A_surfxml_route_action AX_surfxml_route_action
2878 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2879 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2880 AT_surfxml_random_min AX_surfxml_random_min;
2881 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2882 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2883 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2884 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2885 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2886 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2887 #define A_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element
2888 AT_surfxml_argument_value AX_surfxml_argument_value;
2889 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2890 AT_surfxml_link_state AX_surfxml_link_state;
2891 #define A_surfxml_link_state AX_surfxml_link_state
2892 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2893 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2894 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2895 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2896 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2897 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2898 AT_surfxml_random_mean AX_surfxml_random_mean;
2899 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2900 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2901 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2902 AT_surfxml_link_latency AX_surfxml_link_latency;
2903 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2904 AT_surfxml_trace_c_connect_trace_id AX_surfxml_trace_c_connect_trace_id;
2905 #define A_surfxml_trace_c_connect_trace_id (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace_id)
2906 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2907 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2908 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2909 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2910 AT_surfxml_random_id AX_surfxml_random_id;
2911 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2912 AT_surfxml_set_radical AX_surfxml_set_radical;
2913 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2914 AT_surfxml_random_max AX_surfxml_random_max;
2915 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2916 AT_surfxml_link_id AX_surfxml_link_id;
2917 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2918 AT_surfxml_process_host AX_surfxml_process_host;
2919 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2920 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2921 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2922 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2923 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2924 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2925 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2926 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2927 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2928 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2929 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2930 AT_surfxml_prop_value AX_surfxml_prop_value;
2931 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2932 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2933 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2934 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2935 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2936 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2937 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2938 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2939 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2940 AT_surfxml_process_function AX_surfxml_process_function;
2941 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2942 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2943 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2944 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2945 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2946 AT_surfxml_host_availability AX_surfxml_host_availability;
2947 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2948 AT_surfxml_route_src AX_surfxml_route_src;
2949 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2950 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
2951 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
2952 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
2953 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
2954 AT_surfxml_trace_id AX_surfxml_trace_id;
2955 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2956 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2957 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2958 AT_surfxml_include_file AX_surfxml_include_file;
2959 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
2960 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2961 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2962 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
2963 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
2964 AT_surfxml_trace_c_connect_connector_id AX_surfxml_trace_c_connect_connector_id;
2965 #define A_surfxml_trace_c_connect_connector_id (surfxml_bufferstack + AX_surfxml_trace_c_connect_connector_id)
2966 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
2967 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
2968 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2969 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2970 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
2971 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
2972 AT_surfxml_route_dst AX_surfxml_route_dst;
2973 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
2974 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
2975 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
2976 AT_surfxml_platform_version AX_surfxml_platform_version;
2977 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
2981 # define ENTER(state) debug_enter(state,#state)
2982 # define LEAVE debug_leave()
2983 # define SET(state) debug_set(state,#state)
2984 static void debug_enter(int, const char*);
2985 static void debug_leave(void);
2986 static void debug_set(int, const char*);
2988 # define ENTER(state) (yy_push_state(state))
2989 # define LEAVE (yy_pop_state())
2990 # define SET(state) BEGIN(state)
2993 /* Generic actions. */
2994 #define SKIP /*skip*/
2995 #define SUCCEED CLEANUP; return 0
2997 #define FAIL return fail
2998 static int fail(const char*, ...);
3000 enum {flexml_max_err_msg_size = 512};
3001 static char flexml_err_msg[flexml_max_err_msg_size];
3002 const char * surfxml_parse_err_msg()
3004 return flexml_err_msg;
3006 static void reset_surfxml_parse_err_msg()
3008 flexml_err_msg[0] = '\0';
3012 static void cleanup(void);
3013 #define CLEANUP cleanup()
3015 /* Text buffer stack handling. */
3016 char *surfxml_bufferstack = NULL;
3017 static int blimit = FLEXML_BUFFERSTACKSIZE;
3018 static int bnext = 1;
3020 static int *indexstack = NULL;
3021 static int ilimit = FLEXML_INDEXSTACKSIZE;
3022 static int inext = 1;
3024 #define BUFFERSET(P) (P = bnext)
3025 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3026 #define BUFFERDONE (BUFFERPUTC('\0'))
3028 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3030 /* after this is called, there are at least 2 slots left in the stack */
3031 static int ck_blimit()
3033 if (bnext >= blimit) {
3034 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3036 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3038 surfxml_bufferstack = temp;
3044 /* after this is called, there are at least 2 slots left in the stack */
3045 static int ck_ilimit()
3047 if (inext >= ilimit) {
3048 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3050 int *temp = (int *) realloc(indexstack, ilimit);
3058 #ifdef FLEXML_NEED_BUFFERLIT
3059 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3061 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3062 assert(s <= e); BUFFERSET(*pp);
3064 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3065 else BUFFERPUTC(*s);
3071 static void pushbuffer(int p)
3074 indexstack[inext++] = p;
3075 indexstack[inext++] = bnext;
3078 static int popbuffer(void)
3081 bnext = indexstack[--inext];
3082 return indexstack[--inext];
3085 /* General internal entities are `unput' back onto the input stream... */
3086 #define ENTITYTEXT(T) \
3087 { char *s = (T), *e = s+strlen(s);\
3088 while (--e >= s) { unput(*e); }}
3090 /* Flex standard options. */
3091 #define YY_NO_INPUT 1
3092 /* Flex user-requested options. */
3093 /* XML character classes (currently restricted to ASCII). */
3094 /* "Common syntactic structures." */
3095 /* "Names and Tokens." */
3096 /* Miscellaneous. */
3097 /* Parser states (flex `exclusive start conditions'):
3099 * PROLOG the XML prolog of the document before <?xml...>
3100 * DOCTYPE the XML prolog of the document after <?xml...>
3101 * EPILOG after the root element
3102 * INCOMMENT inside an XML comment <!--....-->
3103 * INPI inside an XML PI <?...?>
3104 * VALUE1 inside a '...'-delimited literal
3105 * VALUE2 inside a "..."-delimited literal
3106 * CDATA inside a <![CDATA[...] ]> section.
3107 * ROOT_<tag> expect root element <tag>
3108 * AL_<tag> inside the attribute list for <tag>
3109 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3110 * IMPOSSIBLE dummy to permit disabling rules; must be last
3114 const char* *surfxml_statenames=NULL;
3125 #define ROOT_surfxml_platform 9
3126 #define AL_surfxml_platform 10
3127 #define S_surfxml_platform 11
3128 #define S_surfxml_platform_1 12
3129 #define S_surfxml_platform_2 13
3130 #define S_surfxml_platform_3 14
3131 #define S_surfxml_platform_4 15
3132 #define S_surfxml_platform_5 16
3133 #define E_surfxml_platform 17
3134 #define AL_surfxml_include 18
3135 #define E_surfxml_include 19
3136 #define AL_surfxml_trace 20
3138 #define AL_surfxml_random 22
3139 #define S_surfxml_random 23
3140 #define S_surfxml_random_1 24
3141 #define S_surfxml_random_2 25
3142 #define E_surfxml_random 26
3143 #define AL_surfxml_trace_c_connect 27
3144 #define E_surfxml_trace_c_connect 28
3145 #define AL_surfxml_set 29
3146 #define E_surfxml_set 30
3147 #define AL_surfxml_foreach 31
3148 #define S_surfxml_foreach 32
3149 #define S_surfxml_foreach_1 33
3150 #define E_surfxml_foreach 34
3151 #define AL_surfxml_host 35
3152 #define S_surfxml_host 36
3153 #define S_surfxml_host_1 37
3154 #define S_surfxml_host_2 38
3155 #define E_surfxml_host 39
3156 #define AL_surfxml_prop 40
3157 #define E_surfxml_prop 41
3158 #define AL_surfxml_cluster 42
3159 #define E_surfxml_cluster 43
3160 #define AL_surfxml_router 44
3161 #define E_surfxml_router 45
3162 #define AL_surfxml_link 46
3163 #define S_surfxml_link 47
3164 #define S_surfxml_link_1 48
3165 #define S_surfxml_link_2 49
3166 #define E_surfxml_link 50
3167 #define AL_surfxml_route_c_multi 51
3168 #define S_surfxml_route_c_multi 52
3169 #define S_surfxml_route_c_multi_1 53
3170 #define S_surfxml_route_c_multi_2 54
3171 #define E_surfxml_route_c_multi 55
3172 #define AL_surfxml_route 56
3173 #define S_surfxml_route 57
3174 #define S_surfxml_route_1 58
3175 #define S_surfxml_route_2 59
3176 #define E_surfxml_route 60
3177 #define AL_surfxml_link_c_ctn 61
3178 #define E_surfxml_link_c_ctn 62
3179 #define AL_surfxml_process 63
3180 #define S_surfxml_process 64
3181 #define S_surfxml_process_1 65
3182 #define S_surfxml_process_2 66
3183 #define E_surfxml_process 67
3184 #define AL_surfxml_argument 68
3185 #define E_surfxml_argument 69
3186 #define IMPOSSIBLE 70
3188 #ifndef YY_NO_UNISTD_H
3189 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3190 * down here because we want the user's section 1 to have been scanned first.
3191 * The user has a chance to override it with an option.
3193 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3194 # ifndef __STRICT_ANSI__
3196 # include <process.h>
3199 # include <unistd.h>
3203 #ifndef YY_EXTRA_TYPE
3204 #define YY_EXTRA_TYPE void *
3207 static int yy_init_globals (void );
3209 /* Macros after this point can all be overridden by user definitions in
3213 #ifndef YY_SKIP_YYWRAP
3215 extern "C" int surf_parse_wrap (void );
3217 extern int surf_parse_wrap (void );
3222 static void yy_flex_strncpy (char *,yyconst char *,int );
3225 #ifdef YY_NEED_STRLEN
3226 static int yy_flex_strlen (yyconst char * );
3232 static int yyinput (void );
3234 static int input (void );
3239 static int yy_start_stack_ptr = 0;
3240 static int yy_start_stack_depth = 0;
3241 static int *yy_start_stack = NULL;
3243 static void yy_push_state (int new_state );
3245 static void yy_pop_state (void );
3247 /* Amount of stuff to slurp up with each read. */
3248 #ifndef YY_READ_BUF_SIZE
3249 #define YY_READ_BUF_SIZE 8192
3252 /* Copy whatever the last rule matched to the standard output. */
3254 /* This used to be an fputs(), but since the string might contain NUL's,
3255 * we now use fwrite().
3257 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
3260 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3261 * is returned in "result".
3264 #define YY_INPUT(buf,result,max_size) \
3265 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3269 for ( n = 0; n < max_size && \
3270 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3271 buf[n] = (char) c; \
3273 buf[n++] = (char) c; \
3274 if ( c == EOF && ferror( surf_parse_in ) ) \
3275 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3281 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3283 if( errno != EINTR) \
3285 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3289 clearerr(surf_parse_in); \
3296 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3297 * we don't want an extra ';' after the "return" because that will cause
3298 * some compilers to complain about unreachable statements.
3301 #define yyterminate() return YY_NULL
3304 /* Number of entries by which start-condition stack grows. */
3305 #ifndef YY_START_STACK_INCR
3306 #define YY_START_STACK_INCR 25
3309 /* Report a fatal error. */
3310 #ifndef YY_FATAL_ERROR
3311 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3314 /* end tables serialization structures and prototypes */
3316 /* Default declaration of generated scanner - a define so the user can
3317 * easily add parameters.
3320 #define YY_DECL_IS_OURS 1
3322 extern int surf_parse_lex (void);
3324 #define YY_DECL int surf_parse_lex (void)
3325 #endif /* !YY_DECL */
3327 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3330 #ifndef YY_USER_ACTION
3331 #define YY_USER_ACTION
3334 /* Code executed at the end of each rule. */
3336 #define YY_BREAK break;
3339 #define YY_RULE_SETUP \
3342 /** The main scanner function which does all the work.
3346 register yy_state_type yy_current_state;
3347 register char *yy_cp, *yy_bp;
3348 register int yy_act;
3350 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3352 reset_surfxml_parse_err_msg();
3353 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3354 assert(surfxml_bufferstack);
3358 for (i = 0; i < blimit; i++) {
3359 surfxml_bufferstack[i] = '\377';
3363 surfxml_bufferstack[0] = '\0';
3364 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3370 surfxml_bufferliteral('\0', &bnext, "0.0");
3371 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3372 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3373 surfxml_bufferliteral('\0', &bnext, "1.0");
3374 surfxml_bufferliteral('\0', &bnext, "1.0");
3375 surfxml_bufferliteral('\0', &bnext, "1.0");
3376 surfxml_bufferliteral('\0', &bnext, "1.0");
3377 surfxml_bufferliteral('\0', &bnext, "-1.0");
3378 surfxml_bufferliteral('\0', &bnext, "0.0");
3379 surfxml_bufferliteral('\0', &bnext, "0.0");
3380 surfxml_bufferliteral('\0', &bnext, "0.0");
3381 surfxml_bufferliteral('\0', &bnext, "0.0");
3382 surfxml_bufferliteral('\0', &bnext, "0.0");
3383 surfxml_bufferliteral('\0', &bnext, "-1.0");
3384 surfxml_bufferliteral('\0', &bnext, "-1.0");
3385 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3386 surfxml_statenames[PROLOG] = NULL;
3387 surfxml_statenames[DOCTYPE] = NULL;
3388 surfxml_statenames[EPILOG] = NULL;
3389 surfxml_statenames[INCOMMENT] = NULL;
3390 surfxml_statenames[INPI] = NULL;
3391 surfxml_statenames[VALUE1] = NULL;
3392 surfxml_statenames[VALUE2] = NULL;
3393 surfxml_statenames[CDATA] = NULL;
3394 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3395 surfxml_statenames[AL_surfxml_platform] = NULL;
3396 surfxml_statenames[S_surfxml_platform] = "platform";
3397 surfxml_statenames[S_surfxml_platform_1] = "platform";
3398 surfxml_statenames[S_surfxml_platform_2] = "platform";
3399 surfxml_statenames[S_surfxml_platform_3] = "platform";
3400 surfxml_statenames[S_surfxml_platform_4] = "platform";
3401 surfxml_statenames[S_surfxml_platform_5] = "platform";
3402 surfxml_statenames[E_surfxml_platform] = "platform";
3403 surfxml_statenames[AL_surfxml_include] = NULL;
3404 surfxml_statenames[E_surfxml_include] = "include";
3405 surfxml_statenames[AL_surfxml_trace] = NULL;
3406 surfxml_statenames[IN_trace] = "trace";
3407 surfxml_statenames[AL_surfxml_random] = NULL;
3408 surfxml_statenames[S_surfxml_random] = "random";
3409 surfxml_statenames[S_surfxml_random_1] = "random";
3410 surfxml_statenames[S_surfxml_random_2] = "random";
3411 surfxml_statenames[E_surfxml_random] = "random";
3412 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3413 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3414 surfxml_statenames[AL_surfxml_set] = NULL;
3415 surfxml_statenames[E_surfxml_set] = "set";
3416 surfxml_statenames[AL_surfxml_foreach] = NULL;
3417 surfxml_statenames[S_surfxml_foreach] = "foreach";
3418 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3419 surfxml_statenames[E_surfxml_foreach] = "foreach";
3420 surfxml_statenames[AL_surfxml_host] = NULL;
3421 surfxml_statenames[S_surfxml_host] = "host";
3422 surfxml_statenames[S_surfxml_host_1] = "host";
3423 surfxml_statenames[S_surfxml_host_2] = "host";
3424 surfxml_statenames[E_surfxml_host] = "host";
3425 surfxml_statenames[AL_surfxml_prop] = NULL;
3426 surfxml_statenames[E_surfxml_prop] = "prop";
3427 surfxml_statenames[AL_surfxml_cluster] = NULL;
3428 surfxml_statenames[E_surfxml_cluster] = "cluster";
3429 surfxml_statenames[AL_surfxml_router] = NULL;
3430 surfxml_statenames[E_surfxml_router] = "router";
3431 surfxml_statenames[AL_surfxml_link] = NULL;
3432 surfxml_statenames[S_surfxml_link] = "link";
3433 surfxml_statenames[S_surfxml_link_1] = "link";
3434 surfxml_statenames[S_surfxml_link_2] = "link";
3435 surfxml_statenames[E_surfxml_link] = "link";
3436 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3437 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3438 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3439 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3440 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3441 surfxml_statenames[AL_surfxml_route] = NULL;
3442 surfxml_statenames[S_surfxml_route] = "route";
3443 surfxml_statenames[S_surfxml_route_1] = "route";
3444 surfxml_statenames[S_surfxml_route_2] = "route";
3445 surfxml_statenames[E_surfxml_route] = "route";
3446 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3447 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3448 surfxml_statenames[AL_surfxml_process] = NULL;
3449 surfxml_statenames[S_surfxml_process] = "process";
3450 surfxml_statenames[S_surfxml_process_1] = "process";
3451 surfxml_statenames[S_surfxml_process_2] = "process";
3452 surfxml_statenames[E_surfxml_process] = "process";
3453 surfxml_statenames[AL_surfxml_argument] = NULL;
3454 surfxml_statenames[E_surfxml_argument] = "argument";
3457 /* COMMENTS and PIs: handled uniformly for efficiency. */
3468 (yy_start) = 1; /* first start state */
3470 if ( ! surf_parse_in )
3471 surf_parse_in = stdin;
3473 if ( ! surf_parse_out )
3474 surf_parse_out = stdout;
3476 if ( ! YY_CURRENT_BUFFER ) {
3477 surf_parse_ensure_buffer_stack ();
3478 YY_CURRENT_BUFFER_LVALUE =
3479 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3482 surf_parse__load_buffer_state( );
3485 while ( 1 ) /* loops until end-of-file is reached */
3487 yy_cp = (yy_c_buf_p);
3489 /* Support of surf_parse_text. */
3490 *yy_cp = (yy_hold_char);
3492 /* yy_bp points to the position in yy_ch_buf of the start of
3497 yy_current_state = (yy_start);
3501 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3502 if ( yy_accept[yy_current_state] )
3504 (yy_last_accepting_state) = yy_current_state;
3505 (yy_last_accepting_cpos) = yy_cp;
3507 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3509 yy_current_state = (int) yy_def[yy_current_state];
3510 if ( yy_current_state >= 1941 )
3511 yy_c = yy_meta[(unsigned int) yy_c];
3513 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3516 while ( yy_base[yy_current_state] != 7099 );
3519 yy_act = yy_accept[yy_current_state];
3521 { /* have to back up */
3522 yy_cp = (yy_last_accepting_cpos);
3523 yy_current_state = (yy_last_accepting_state);
3524 yy_act = yy_accept[yy_current_state];
3527 YY_DO_BEFORE_ACTION;
3529 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3532 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3533 if ( surf_parse_text[yyl] == '\n' )
3535 surf_parse_lineno++;
3539 do_action: /* This label is used only to access EOF actions. */
3542 { /* beginning of action switch */
3543 case 0: /* must back up */
3544 /* undo the effects of YY_DO_BEFORE_ACTION */
3545 *yy_cp = (yy_hold_char);
3546 yy_cp = (yy_last_accepting_cpos);
3547 yy_current_state = (yy_last_accepting_state);
3548 goto yy_find_action;
3566 /* rule 6 can match eol */
3570 case YY_STATE_EOF(INCOMMENT):
3571 FAIL("EOF in comment.");
3580 /* rule 9 can match eol */
3584 case YY_STATE_EOF(INPI):
3585 FAIL("EOF in PI (processing instruction).");
3588 /* SPACES: skipped uniformly */
3590 /* rule 10 can match eol */
3594 /* PROLOG: determine root element and process it. */
3597 /* rule 11 can match eol */
3602 /* rule 12 can match eol */
3604 FAIL("Bad declaration %s.",surf_parse_text);
3608 /* rule 13 can match eol */
3610 SET(ROOT_surfxml_platform);
3613 /* rule 14 can match eol */
3615 FAIL("Bad declaration %s.",surf_parse_text);
3619 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3621 case YY_STATE_EOF(PROLOG):
3622 case YY_STATE_EOF(DOCTYPE):
3623 FAIL("EOF in prolog.");
3626 /* RULES DERIVED FROM DTD. */
3627 /* <!-- Small DTD for SURF based tools. --> */
3629 /* rule 16 can match eol */
3632 AX_surfxml_platform_version = 1;
3633 AX_surfxml_platform_xmlns_c_link = 5;
3634 AX_surfxml_platform_xmlns_c_route = 37;
3635 ENTER(AL_surfxml_platform); pushbuffer(0);
3640 /* rule 17 can match eol */
3642 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3645 /* rule 18 can match eol */
3647 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3650 /* rule 19 can match eol */
3652 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3655 /* rule 20 can match eol */
3657 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3660 /* rule 21 can match eol */
3662 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3665 /* rule 22 can match eol */
3667 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3672 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3678 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3680 case ROOT_surfxml_platform: SET(EPILOG); break;
3686 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3690 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3692 case YY_STATE_EOF(AL_surfxml_platform):
3693 FAIL("EOF in attribute list of `platform' element.");
3697 /* rule 27 can match eol */
3701 ETag_surfxml_platform();
3702 popbuffer(); /* attribute */
3704 case ROOT_surfxml_platform: SET(EPILOG); break;
3709 /* rule 28 can match eol */
3711 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3715 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3717 case YY_STATE_EOF(S_surfxml_platform_5):
3718 case YY_STATE_EOF(S_surfxml_platform_1):
3719 case YY_STATE_EOF(S_surfxml_platform_3):
3720 case YY_STATE_EOF(S_surfxml_platform):
3721 case YY_STATE_EOF(E_surfxml_platform):
3722 FAIL("Premature EOF: `</platform>' expected.");
3726 /* rule 30 can match eol */
3729 AX_surfxml_include_file = 0;
3730 ENTER(AL_surfxml_include); pushbuffer(0);
3735 /* rule 31 can match eol */
3737 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3740 /* rule 32 can match eol */
3742 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3747 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3748 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3754 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3755 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3757 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3758 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3764 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3768 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3770 case YY_STATE_EOF(AL_surfxml_include):
3771 FAIL("EOF in attribute list of `include' element.");
3775 /* rule 37 can match eol */
3779 ETag_surfxml_include();
3780 popbuffer(); /* attribute */
3782 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3783 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3788 /* rule 38 can match eol */
3790 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3794 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3796 case YY_STATE_EOF(E_surfxml_include):
3797 FAIL("Premature EOF: `</include>' expected.");
3801 /* rule 40 can match eol */
3804 AX_surfxml_trace_id = 0;
3805 AX_surfxml_trace_file = 0;
3806 AX_surfxml_trace_periodicity = 0;
3807 ENTER(AL_surfxml_trace); pushbuffer(0);
3812 /* rule 41 can match eol */
3814 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3817 /* rule 42 can match eol */
3819 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3822 /* rule 43 can match eol */
3824 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3827 /* rule 44 can match eol */
3829 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3832 /* rule 45 can match eol */
3834 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3837 /* rule 46 can match eol */
3839 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3844 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3845 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3846 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3852 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3853 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3854 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3856 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3862 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3866 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3868 case YY_STATE_EOF(AL_surfxml_trace):
3869 FAIL("EOF in attribute list of `trace' element.");
3873 /* rule 51 can match eol */
3878 ETag_surfxml_trace();
3879 surfxml_pcdata_ix = popbuffer();
3880 popbuffer(); /* attribute */
3882 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3887 /* rule 52 can match eol */
3889 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3891 case YY_STATE_EOF(IN_trace):
3892 FAIL("Premature EOF: `</trace>' expected.");
3896 /* rule 53 can match eol */
3899 AX_surfxml_random_id = 0;
3900 AX_surfxml_random_min = 0;
3901 AX_surfxml_random_max = 0;
3902 AX_surfxml_random_mean = 0;
3903 AX_surfxml_random_std_deviation = 0;
3904 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3905 ENTER(AL_surfxml_random); pushbuffer(0);
3910 /* rule 54 can match eol */
3912 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3915 /* rule 55 can match eol */
3917 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3920 /* rule 56 can match eol */
3922 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3925 /* rule 57 can match eol */
3927 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3930 /* rule 58 can match eol */
3932 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3935 /* rule 59 can match eol */
3937 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3940 /* rule 60 can match eol */
3942 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3945 /* rule 61 can match eol */
3947 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3950 /* rule 62 can match eol */
3952 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
3955 /* rule 63 can match eol */
3957 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
3960 /* rule 64 can match eol */
3962 /* rule 65 can match eol */
3964 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3967 /* rule 66 can match eol */
3969 /* rule 67 can match eol */
3971 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3976 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3977 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3978 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3979 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3980 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3981 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
3987 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3988 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3989 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3990 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3991 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3992 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
3994 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4000 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4004 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4006 case YY_STATE_EOF(AL_surfxml_random):
4007 FAIL("EOF in attribute list of `random' element.");
4011 /* rule 72 can match eol */
4015 ETag_surfxml_random();
4016 popbuffer(); /* attribute */
4018 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4023 /* rule 73 can match eol */
4025 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4029 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4031 case YY_STATE_EOF(S_surfxml_random_2):
4032 case YY_STATE_EOF(S_surfxml_random):
4033 case YY_STATE_EOF(E_surfxml_random):
4034 FAIL("Premature EOF: `</random>' expected.");
4038 /* rule 75 can match eol */
4041 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_AVAILABILITY;
4042 AX_surfxml_trace_c_connect_trace_id = 0;
4043 AX_surfxml_trace_c_connect_element = A_surfxml_trace_c_connect_element_HOST;
4044 AX_surfxml_trace_c_connect_connector_id = 0;
4045 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4050 /* rule 76 can match eol */
4052 /* rule 77 can match eol */
4054 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_AVAILABILITY;
4057 /* rule 78 can match eol */
4059 /* rule 79 can match eol */
4061 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4064 /* rule 80 can match eol */
4066 /* rule 81 can match eol */
4068 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4071 /* rule 82 can match eol */
4073 /* rule 83 can match eol */
4075 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4078 /* rule 84 can match eol */
4080 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace_id);
4083 /* rule 85 can match eol */
4085 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace_id);
4088 /* rule 86 can match eol */
4090 /* rule 87 can match eol */
4092 A_surfxml_trace_c_connect_element = A_surfxml_trace_c_connect_element_HOST;
4095 /* rule 88 can match eol */
4097 /* rule 89 can match eol */
4099 A_surfxml_trace_c_connect_element = A_surfxml_trace_c_connect_element_LINK;
4102 /* rule 90 can match eol */
4104 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_connector_id);
4107 /* rule 91 can match eol */
4109 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_connector_id);
4114 if (!AX_surfxml_trace_c_connect_trace_id) FAIL("Required attribute `trace_id' not set for `trace:connect' element.");
4115 if (!AX_surfxml_trace_c_connect_connector_id) FAIL("Required attribute `connector_id' not set for `trace:connect' element.");
4116 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4122 if (!AX_surfxml_trace_c_connect_trace_id) FAIL("Required attribute `trace_id' not set for `trace:connect' element.");
4123 if (!AX_surfxml_trace_c_connect_connector_id) FAIL("Required attribute `connector_id' not set for `trace:connect' element.");
4124 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4126 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4127 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4133 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4137 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4139 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4140 FAIL("EOF in attribute list of `trace:connect' element.");
4144 /* rule 96 can match eol */
4148 ETag_surfxml_trace_c_connect();
4149 popbuffer(); /* attribute */
4151 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4152 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4157 /* rule 97 can match eol */
4159 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4163 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4165 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4166 FAIL("Premature EOF: `</trace:connect>' expected.");
4170 /* rule 99 can match eol */
4173 AX_surfxml_set_id = 0;
4174 AX_surfxml_set_prefix = 0;
4175 AX_surfxml_set_suffix = 0;
4176 AX_surfxml_set_radical = 0;
4177 ENTER(AL_surfxml_set); pushbuffer(0);
4182 /* rule 100 can match eol */
4184 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4187 /* rule 101 can match eol */
4189 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4192 /* rule 102 can match eol */
4194 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4197 /* rule 103 can match eol */
4199 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4202 /* rule 104 can match eol */
4204 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4207 /* rule 105 can match eol */
4209 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4212 /* rule 106 can match eol */
4214 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4217 /* rule 107 can match eol */
4219 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4224 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4225 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4226 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4227 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4228 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4234 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4235 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4236 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4237 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4238 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4240 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4246 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4250 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4252 case YY_STATE_EOF(AL_surfxml_set):
4253 FAIL("EOF in attribute list of `set' element.");
4257 /* rule 112 can match eol */
4262 popbuffer(); /* attribute */
4264 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4269 /* rule 113 can match eol */
4271 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4275 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4277 case YY_STATE_EOF(E_surfxml_set):
4278 FAIL("Premature EOF: `</set>' expected.");
4282 /* rule 115 can match eol */
4285 AX_surfxml_foreach_set_id = 0;
4286 ENTER(AL_surfxml_foreach); pushbuffer(0);
4291 /* rule 116 can match eol */
4293 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4296 /* rule 117 can match eol */
4298 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4303 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4304 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4309 FAIL("`foreach' element cannot be empty.");
4313 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4317 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4319 case YY_STATE_EOF(AL_surfxml_foreach):
4320 FAIL("EOF in attribute list of `foreach' element.");
4324 /* rule 122 can match eol */
4328 ETag_surfxml_foreach();
4329 popbuffer(); /* attribute */
4331 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4336 /* rule 123 can match eol */
4338 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4342 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4344 case YY_STATE_EOF(E_surfxml_foreach):
4345 FAIL("Premature EOF: `</foreach>' expected.");
4349 /* rule 125 can match eol */
4352 AX_surfxml_host_id = 0;
4353 AX_surfxml_host_power = 0;
4354 AX_surfxml_host_availability = 69;
4355 AX_surfxml_host_availability_file = 0;
4356 AX_surfxml_host_state = A_surfxml_host_state_ON;
4357 AX_surfxml_host_state_file = 0;
4358 AX_surfxml_host_interference_send = 73;
4359 AX_surfxml_host_interference_recv = 77;
4360 AX_surfxml_host_interference_send_recv = 81;
4361 AX_surfxml_host_max_outgoing_rate = 85;
4362 ENTER(AL_surfxml_host); pushbuffer(0);
4367 /* rule 126 can match eol */
4369 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4372 /* rule 127 can match eol */
4374 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4377 /* rule 128 can match eol */
4379 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4382 /* rule 129 can match eol */
4384 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4387 /* rule 130 can match eol */
4389 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4392 /* rule 131 can match eol */
4394 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4397 /* rule 132 can match eol */
4399 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4402 /* rule 133 can match eol */
4404 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4407 /* rule 134 can match eol */
4409 /* rule 135 can match eol */
4411 A_surfxml_host_state = A_surfxml_host_state_ON;
4414 /* rule 136 can match eol */
4416 /* rule 137 can match eol */
4418 A_surfxml_host_state = A_surfxml_host_state_OFF;
4421 /* rule 138 can match eol */
4423 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4426 /* rule 139 can match eol */
4428 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4431 /* rule 140 can match eol */
4433 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4436 /* rule 141 can match eol */
4438 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4441 /* rule 142 can match eol */
4443 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4446 /* rule 143 can match eol */
4448 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4451 /* rule 144 can match eol */
4453 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4456 /* rule 145 can match eol */
4458 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4461 /* rule 146 can match eol */
4463 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4466 /* rule 147 can match eol */
4468 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4473 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4474 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4475 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4481 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4482 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4483 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4485 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4486 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4492 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4496 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4498 case YY_STATE_EOF(AL_surfxml_host):
4499 FAIL("EOF in attribute list of `host' element.");
4503 /* rule 152 can match eol */
4507 ETag_surfxml_host();
4508 popbuffer(); /* attribute */
4510 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4511 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4516 /* rule 153 can match eol */
4518 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4522 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4524 case YY_STATE_EOF(S_surfxml_host):
4525 case YY_STATE_EOF(E_surfxml_host):
4526 case YY_STATE_EOF(S_surfxml_host_2):
4527 FAIL("Premature EOF: `</host>' expected.");
4531 /* rule 155 can match eol */
4534 AX_surfxml_prop_id = 0;
4535 AX_surfxml_prop_value = 0;
4536 ENTER(AL_surfxml_prop); pushbuffer(0);
4541 /* rule 156 can match eol */
4543 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4546 /* rule 157 can match eol */
4548 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4551 /* rule 158 can match eol */
4553 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4556 /* rule 159 can match eol */
4558 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4563 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4564 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4565 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4571 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4572 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4573 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4575 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4576 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4577 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4578 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4584 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4588 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4590 case YY_STATE_EOF(AL_surfxml_prop):
4591 FAIL("EOF in attribute list of `prop' element.");
4595 /* rule 164 can match eol */
4599 ETag_surfxml_prop();
4600 popbuffer(); /* attribute */
4602 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4603 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4604 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4605 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4610 /* rule 165 can match eol */
4612 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4616 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4618 case YY_STATE_EOF(E_surfxml_prop):
4619 FAIL("Premature EOF: `</prop>' expected.");
4623 /* rule 167 can match eol */
4626 AX_surfxml_cluster_id = 0;
4627 AX_surfxml_cluster_prefix = 0;
4628 AX_surfxml_cluster_suffix = 0;
4629 AX_surfxml_cluster_radical = 0;
4630 AX_surfxml_cluster_power = 0;
4631 AX_surfxml_cluster_bw = 0;
4632 AX_surfxml_cluster_lat = 0;
4633 AX_surfxml_cluster_bb_bw = 0;
4634 AX_surfxml_cluster_bb_lat = 0;
4635 ENTER(AL_surfxml_cluster); pushbuffer(0);
4640 /* rule 168 can match eol */
4642 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4645 /* rule 169 can match eol */
4647 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4650 /* rule 170 can match eol */
4652 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4655 /* rule 171 can match eol */
4657 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4660 /* rule 172 can match eol */
4662 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4665 /* rule 173 can match eol */
4667 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4670 /* rule 174 can match eol */
4672 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4675 /* rule 175 can match eol */
4677 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4680 /* rule 176 can match eol */
4682 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4685 /* rule 177 can match eol */
4687 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4690 /* rule 178 can match eol */
4692 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4695 /* rule 179 can match eol */
4697 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4700 /* rule 180 can match eol */
4702 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4705 /* rule 181 can match eol */
4707 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4710 /* rule 182 can match eol */
4712 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4715 /* rule 183 can match eol */
4717 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4720 /* rule 184 can match eol */
4722 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4725 /* rule 185 can match eol */
4727 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4732 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4733 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4734 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4735 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4736 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4737 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4738 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4739 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4740 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4741 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4747 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4748 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4749 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4750 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4751 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4752 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4753 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4754 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4755 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4756 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4758 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4764 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4768 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4770 case YY_STATE_EOF(AL_surfxml_cluster):
4771 FAIL("EOF in attribute list of `cluster' element.");
4775 /* rule 190 can match eol */
4779 ETag_surfxml_cluster();
4780 popbuffer(); /* attribute */
4782 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4787 /* rule 191 can match eol */
4789 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4793 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4795 case YY_STATE_EOF(E_surfxml_cluster):
4796 FAIL("Premature EOF: `</cluster>' expected.");
4800 /* rule 193 can match eol */
4803 AX_surfxml_router_id = 0;
4804 ENTER(AL_surfxml_router); pushbuffer(0);
4809 /* rule 194 can match eol */
4811 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4814 /* rule 195 can match eol */
4816 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4821 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4822 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4828 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4829 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4831 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4837 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4841 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4843 case YY_STATE_EOF(AL_surfxml_router):
4844 FAIL("EOF in attribute list of `router' element.");
4848 /* rule 200 can match eol */
4852 ETag_surfxml_router();
4853 popbuffer(); /* attribute */
4855 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4860 /* rule 201 can match eol */
4862 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4866 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4868 case YY_STATE_EOF(E_surfxml_router):
4869 FAIL("Premature EOF: `</router>' expected.");
4873 /* rule 203 can match eol */
4876 AX_surfxml_link_id = 0;
4877 AX_surfxml_link_bandwidth = 0;
4878 AX_surfxml_link_bandwidth_file = 0;
4879 AX_surfxml_link_latency = 90;
4880 AX_surfxml_link_latency_file = 0;
4881 AX_surfxml_link_state = A_surfxml_link_state_ON;
4882 AX_surfxml_link_state_file = 0;
4883 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4884 ENTER(AL_surfxml_link); pushbuffer(0);
4889 /* rule 204 can match eol */
4891 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4894 /* rule 205 can match eol */
4896 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4899 /* rule 206 can match eol */
4901 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4904 /* rule 207 can match eol */
4906 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4909 /* rule 208 can match eol */
4911 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4914 /* rule 209 can match eol */
4916 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4919 /* rule 210 can match eol */
4921 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4924 /* rule 211 can match eol */
4926 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4929 /* rule 212 can match eol */
4931 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4934 /* rule 213 can match eol */
4936 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4939 /* rule 214 can match eol */
4941 /* rule 215 can match eol */
4943 A_surfxml_link_state = A_surfxml_link_state_ON;
4946 /* rule 216 can match eol */
4948 /* rule 217 can match eol */
4950 A_surfxml_link_state = A_surfxml_link_state_OFF;
4953 /* rule 218 can match eol */
4955 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4958 /* rule 219 can match eol */
4960 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4963 /* rule 220 can match eol */
4965 /* rule 221 can match eol */
4967 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4970 /* rule 222 can match eol */
4972 /* rule 223 can match eol */
4974 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4979 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4980 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4981 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4987 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4988 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4989 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4991 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
4992 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4998 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5002 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5004 case YY_STATE_EOF(AL_surfxml_link):
5005 FAIL("EOF in attribute list of `link' element.");
5009 /* rule 228 can match eol */
5013 ETag_surfxml_link();
5014 popbuffer(); /* attribute */
5016 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5017 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5022 /* rule 229 can match eol */
5024 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5028 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5030 case YY_STATE_EOF(S_surfxml_link_2):
5031 case YY_STATE_EOF(E_surfxml_link):
5032 case YY_STATE_EOF(S_surfxml_link):
5033 FAIL("Premature EOF: `</link>' expected.");
5037 /* rule 231 can match eol */
5040 AX_surfxml_route_c_multi_src = 0;
5041 AX_surfxml_route_c_multi_dst = 0;
5042 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5043 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5044 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5049 /* rule 232 can match eol */
5051 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5054 /* rule 233 can match eol */
5056 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5059 /* rule 234 can match eol */
5061 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5064 /* rule 235 can match eol */
5066 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5069 /* rule 236 can match eol */
5071 /* rule 237 can match eol */
5073 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5076 /* rule 238 can match eol */
5078 /* rule 239 can match eol */
5080 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5083 /* rule 240 can match eol */
5085 /* rule 241 can match eol */
5087 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5090 /* rule 242 can match eol */
5092 /* rule 243 can match eol */
5094 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5097 /* rule 244 can match eol */
5099 /* rule 245 can match eol */
5101 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5106 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5107 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5108 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5113 FAIL("`route:multi' element cannot be empty.");
5117 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5121 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5123 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5124 FAIL("EOF in attribute list of `route:multi' element.");
5128 /* rule 250 can match eol */
5132 ETag_surfxml_route_c_multi();
5133 popbuffer(); /* attribute */
5135 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5140 /* rule 251 can match eol */
5142 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5146 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5148 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5149 case YY_STATE_EOF(E_surfxml_route_c_multi):
5150 FAIL("Premature EOF: `</route:multi>' expected.");
5154 /* rule 253 can match eol */
5157 AX_surfxml_route_src = 0;
5158 AX_surfxml_route_dst = 0;
5159 AX_surfxml_route_impact_on_src = 94;
5160 AX_surfxml_route_impact_on_dst = 98;
5161 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5162 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5163 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5164 ENTER(AL_surfxml_route); pushbuffer(0);
5169 /* rule 254 can match eol */
5171 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5174 /* rule 255 can match eol */
5176 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5179 /* rule 256 can match eol */
5181 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5184 /* rule 257 can match eol */
5186 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5189 /* rule 258 can match eol */
5191 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5194 /* rule 259 can match eol */
5196 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5199 /* rule 260 can match eol */
5201 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5204 /* rule 261 can match eol */
5206 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5209 /* rule 262 can match eol */
5211 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5214 /* rule 263 can match eol */
5216 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5219 /* rule 264 can match eol */
5221 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5224 /* rule 265 can match eol */
5226 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5229 /* rule 266 can match eol */
5231 /* rule 267 can match eol */
5233 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5236 /* rule 268 can match eol */
5238 /* rule 269 can match eol */
5240 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5243 /* rule 270 can match eol */
5245 /* rule 271 can match eol */
5247 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5252 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5253 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5254 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5260 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5261 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5262 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5264 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5270 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5274 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5276 case YY_STATE_EOF(AL_surfxml_route):
5277 FAIL("EOF in attribute list of `route' element.");
5281 /* rule 276 can match eol */
5285 ETag_surfxml_route();
5286 popbuffer(); /* attribute */
5288 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5293 /* rule 277 can match eol */
5295 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5299 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5301 case YY_STATE_EOF(S_surfxml_route):
5302 case YY_STATE_EOF(S_surfxml_route_2):
5303 case YY_STATE_EOF(E_surfxml_route):
5304 FAIL("Premature EOF: `</route>' expected.");
5308 /* rule 279 can match eol */
5311 AX_surfxml_link_c_ctn_id = 0;
5312 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5317 /* rule 280 can match eol */
5319 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5322 /* rule 281 can match eol */
5324 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5329 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5330 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5336 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5337 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5339 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5340 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5346 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5350 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5352 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5353 FAIL("EOF in attribute list of `link:ctn' element.");
5357 /* rule 286 can match eol */
5361 ETag_surfxml_link_c_ctn();
5362 popbuffer(); /* attribute */
5364 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5365 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5370 /* rule 287 can match eol */
5372 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5376 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5378 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5379 FAIL("Premature EOF: `</link:ctn>' expected.");
5383 /* rule 289 can match eol */
5386 AX_surfxml_process_host = 0;
5387 AX_surfxml_process_function = 0;
5388 AX_surfxml_process_start_time = 110;
5389 AX_surfxml_process_kill_time = 115;
5390 ENTER(AL_surfxml_process); pushbuffer(0);
5395 /* rule 290 can match eol */
5397 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5400 /* rule 291 can match eol */
5402 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5405 /* rule 292 can match eol */
5407 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5410 /* rule 293 can match eol */
5412 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5415 /* rule 294 can match eol */
5417 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5420 /* rule 295 can match eol */
5422 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5425 /* rule 296 can match eol */
5427 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5430 /* rule 297 can match eol */
5432 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5437 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5438 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5439 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5445 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5446 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5447 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5449 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5455 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5459 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5461 case YY_STATE_EOF(AL_surfxml_process):
5462 FAIL("EOF in attribute list of `process' element.");
5466 /* rule 302 can match eol */
5470 ETag_surfxml_process();
5471 popbuffer(); /* attribute */
5473 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5478 /* rule 303 can match eol */
5480 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5484 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5486 case YY_STATE_EOF(S_surfxml_process):
5487 case YY_STATE_EOF(E_surfxml_process):
5488 case YY_STATE_EOF(S_surfxml_process_2):
5489 FAIL("Premature EOF: `</process>' expected.");
5493 /* rule 305 can match eol */
5496 AX_surfxml_argument_value = 0;
5497 ENTER(AL_surfxml_argument); pushbuffer(0);
5502 /* rule 306 can match eol */
5504 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5507 /* rule 307 can match eol */
5509 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5514 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5515 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5521 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5522 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5524 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5530 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5534 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5536 case YY_STATE_EOF(AL_surfxml_argument):
5537 FAIL("EOF in attribute list of `argument' element.");
5541 /* rule 312 can match eol */
5545 ETag_surfxml_argument();
5546 popbuffer(); /* attribute */
5548 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5553 /* rule 313 can match eol */
5555 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5559 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5561 case YY_STATE_EOF(E_surfxml_argument):
5562 FAIL("Premature EOF: `</argument>' expected.");
5565 /* EPILOG: after the root element. */
5569 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5571 case YY_STATE_EOF(EPILOG):
5575 /* CHARACTER DATA. */
5577 /* Non-defined standard entities... */
5598 /* Character entities. */
5601 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5605 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5609 /* rule 323 can match eol */
5611 /* rule 324 can match eol */
5613 /* rule 325 can match eol */
5615 /* rule 326 can match eol */
5626 FAIL("Unexpected `]""]>' in character data.");
5633 case YY_STATE_EOF(VALUE1):
5634 FAIL("EOF in literal (\"'\" expected).");
5641 case YY_STATE_EOF(VALUE2):
5642 FAIL("EOF in literal (`\"' expected).");
5646 /* rule 331 can match eol */
5648 BUFFERPUTC(surf_parse_text[0]);
5652 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5659 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5662 BUFFERPUTC(surf_parse_text[0]);
5664 case YY_STATE_EOF(CDATA):
5665 FAIL("EOF in CDATA section.");
5668 /* Impossible rules to avoid warnings from flex(1). */
5669 /* Ideally, this should be replaced by code in flexml.pl that
5670 generates just the states not covered by other rules. */
5673 /* rule 335 can match eol */
5675 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5682 case YY_STATE_EOF(INITIAL):
5683 case YY_STATE_EOF(ROOT_surfxml_platform):
5684 case YY_STATE_EOF(S_surfxml_platform_2):
5685 case YY_STATE_EOF(S_surfxml_platform_4):
5686 case YY_STATE_EOF(S_surfxml_random_1):
5687 case YY_STATE_EOF(S_surfxml_foreach):
5688 case YY_STATE_EOF(S_surfxml_foreach_1):
5689 case YY_STATE_EOF(S_surfxml_host_1):
5690 case YY_STATE_EOF(S_surfxml_link_1):
5691 case YY_STATE_EOF(S_surfxml_route_c_multi):
5692 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5693 case YY_STATE_EOF(S_surfxml_route_1):
5694 case YY_STATE_EOF(S_surfxml_process_1):
5695 case YY_STATE_EOF(IMPOSSIBLE):
5698 case YY_END_OF_BUFFER:
5700 /* Amount of text matched not including the EOB char. */
5701 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5703 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5704 *yy_cp = (yy_hold_char);
5705 YY_RESTORE_YY_MORE_OFFSET
5707 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5709 /* We're scanning a new file or input source. It's
5710 * possible that this happened because the user
5711 * just pointed surf_parse_in at a new source and called
5712 * surf_parse_lex(). If so, then we have to assure
5713 * consistency between YY_CURRENT_BUFFER and our
5714 * globals. Here is the right place to do so, because
5715 * this is the first action (other than possibly a
5716 * back-up) that will match for the new input source.
5718 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5719 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5720 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5723 /* Note that here we test for yy_c_buf_p "<=" to the position
5724 * of the first EOB in the buffer, since yy_c_buf_p will
5725 * already have been incremented past the NUL character
5726 * (since all states make transitions on EOB to the
5727 * end-of-buffer state). Contrast this with the test
5730 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5731 { /* This was really a NUL. */
5732 yy_state_type yy_next_state;
5734 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5736 yy_current_state = yy_get_previous_state( );
5738 /* Okay, we're now positioned to make the NUL
5739 * transition. We couldn't have
5740 * yy_get_previous_state() go ahead and do it
5741 * for us because it doesn't know how to deal
5742 * with the possibility of jamming (and we don't
5743 * want to build jamming into it because then it
5744 * will run more slowly).
5747 yy_next_state = yy_try_NUL_trans( yy_current_state );
5749 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5751 if ( yy_next_state )
5753 /* Consume the NUL. */
5754 yy_cp = ++(yy_c_buf_p);
5755 yy_current_state = yy_next_state;
5761 yy_cp = (yy_c_buf_p);
5762 goto yy_find_action;
5766 else switch ( yy_get_next_buffer( ) )
5768 case EOB_ACT_END_OF_FILE:
5770 (yy_did_buffer_switch_on_eof) = 0;
5772 if ( surf_parse_wrap( ) )
5774 /* Note: because we've taken care in
5775 * yy_get_next_buffer() to have set up
5776 * surf_parse_text, we can now set up
5777 * yy_c_buf_p so that if some total
5778 * hoser (like flex itself) wants to
5779 * call the scanner after we return the
5780 * YY_NULL, it'll still work - another
5781 * YY_NULL will get returned.
5783 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5785 yy_act = YY_STATE_EOF(YY_START);
5791 if ( ! (yy_did_buffer_switch_on_eof) )
5797 case EOB_ACT_CONTINUE_SCAN:
5799 (yytext_ptr) + yy_amount_of_matched_text;
5801 yy_current_state = yy_get_previous_state( );
5803 yy_cp = (yy_c_buf_p);
5804 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5807 case EOB_ACT_LAST_MATCH:
5809 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5811 yy_current_state = yy_get_previous_state( );
5813 yy_cp = (yy_c_buf_p);
5814 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5815 goto yy_find_action;
5822 "fatal flex scanner internal error--no action found" );
5823 } /* end of action switch */
5824 } /* end of scanning one token */
5825 } /* end of surf_parse_lex */
5827 /* yy_get_next_buffer - try to read in a new buffer
5829 * Returns a code representing an action:
5830 * EOB_ACT_LAST_MATCH -
5831 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5832 * EOB_ACT_END_OF_FILE - end of file
5834 static int yy_get_next_buffer (void)
5836 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5837 register char *source = (yytext_ptr);
5838 register int number_to_move, i;
5841 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5843 "fatal flex scanner internal error--end of buffer missed" );
5845 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5846 { /* Don't try to fill the buffer, so this is an EOF. */
5847 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5849 /* We matched a single character, the EOB, so
5850 * treat this as a final EOF.
5852 return EOB_ACT_END_OF_FILE;
5857 /* We matched some text prior to the EOB, first
5860 return EOB_ACT_LAST_MATCH;
5864 /* Try to read more data. */
5866 /* First move last chars to start of buffer. */
5867 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5869 for ( i = 0; i < number_to_move; ++i )
5870 *(dest++) = *(source++);
5872 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5873 /* don't do the read, it's not guaranteed to return an EOF,
5876 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5881 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5883 while ( num_to_read <= 0 )
5884 { /* Not enough room in the buffer - grow it. */
5886 /* just a shorter name for the current buffer */
5887 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5889 int yy_c_buf_p_offset =
5890 (int) ((yy_c_buf_p) - b->yy_ch_buf);
5892 if ( b->yy_is_our_buffer )
5894 int new_size = b->yy_buf_size * 2;
5896 if ( new_size <= 0 )
5897 b->yy_buf_size += b->yy_buf_size / 8;
5899 b->yy_buf_size *= 2;
5901 b->yy_ch_buf = (char *)
5902 /* Include room in for 2 EOB chars. */
5903 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
5906 /* Can't grow it, we don't own it. */
5909 if ( ! b->yy_ch_buf )
5911 "fatal error - scanner input buffer overflow" );
5913 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5915 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5920 if ( num_to_read > YY_READ_BUF_SIZE )
5921 num_to_read = YY_READ_BUF_SIZE;
5923 /* Read in more data. */
5924 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5925 (yy_n_chars), (size_t) num_to_read );
5927 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5930 if ( (yy_n_chars) == 0 )
5932 if ( number_to_move == YY_MORE_ADJ )
5934 ret_val = EOB_ACT_END_OF_FILE;
5935 surf_parse_restart(surf_parse_in );
5940 ret_val = EOB_ACT_LAST_MATCH;
5941 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5942 YY_BUFFER_EOF_PENDING;
5947 ret_val = EOB_ACT_CONTINUE_SCAN;
5949 (yy_n_chars) += number_to_move;
5950 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5951 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5953 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5958 /* yy_get_previous_state - get the state just before the EOB char was reached */
5960 static yy_state_type yy_get_previous_state (void)
5962 register yy_state_type yy_current_state;
5963 register char *yy_cp;
5965 yy_current_state = (yy_start);
5967 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5969 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5970 if ( yy_accept[yy_current_state] )
5972 (yy_last_accepting_state) = yy_current_state;
5973 (yy_last_accepting_cpos) = yy_cp;
5975 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5977 yy_current_state = (int) yy_def[yy_current_state];
5978 if ( yy_current_state >= 1941 )
5979 yy_c = yy_meta[(unsigned int) yy_c];
5981 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5984 return yy_current_state;
5987 /* yy_try_NUL_trans - try to make a transition on the NUL character
5990 * next_state = yy_try_NUL_trans( current_state );
5992 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
5994 register int yy_is_jam;
5995 register char *yy_cp = (yy_c_buf_p);
5997 register YY_CHAR yy_c = 1;
5998 if ( yy_accept[yy_current_state] )
6000 (yy_last_accepting_state) = yy_current_state;
6001 (yy_last_accepting_cpos) = yy_cp;
6003 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6005 yy_current_state = (int) yy_def[yy_current_state];
6006 if ( yy_current_state >= 1941 )
6007 yy_c = yy_meta[(unsigned int) yy_c];
6009 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6010 yy_is_jam = (yy_current_state == 1940);
6012 return yy_is_jam ? 0 : yy_current_state;
6017 static int yyinput (void)
6019 static int input (void)
6025 *(yy_c_buf_p) = (yy_hold_char);
6027 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6029 /* yy_c_buf_p now points to the character we want to return.
6030 * If this occurs *before* the EOB characters, then it's a
6031 * valid NUL; if not, then we've hit the end of the buffer.
6033 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6034 /* This was really a NUL. */
6035 *(yy_c_buf_p) = '\0';
6038 { /* need more input */
6039 int offset = (yy_c_buf_p) - (yytext_ptr);
6042 switch ( yy_get_next_buffer( ) )
6044 case EOB_ACT_LAST_MATCH:
6045 /* This happens because yy_g_n_b()
6046 * sees that we've accumulated a
6047 * token and flags that we need to
6048 * try matching the token before
6049 * proceeding. But for input(),
6050 * there's no matching to consider.
6051 * So convert the EOB_ACT_LAST_MATCH
6052 * to EOB_ACT_END_OF_FILE.
6055 /* Reset buffer status. */
6056 surf_parse_restart(surf_parse_in );
6060 case EOB_ACT_END_OF_FILE:
6062 if ( surf_parse_wrap( ) )
6065 if ( ! (yy_did_buffer_switch_on_eof) )
6074 case EOB_ACT_CONTINUE_SCAN:
6075 (yy_c_buf_p) = (yytext_ptr) + offset;
6081 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6082 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6083 (yy_hold_char) = *++(yy_c_buf_p);
6087 surf_parse_lineno++;
6092 #endif /* ifndef YY_NO_INPUT */
6094 /** Immediately switch to a different input stream.
6095 * @param input_file A readable stream.
6097 * @note This function does not reset the start condition to @c INITIAL .
6099 void surf_parse_restart (FILE * input_file )
6102 if ( ! YY_CURRENT_BUFFER ){
6103 surf_parse_ensure_buffer_stack ();
6104 YY_CURRENT_BUFFER_LVALUE =
6105 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6108 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6109 surf_parse__load_buffer_state( );
6112 /** Switch to a different input buffer.
6113 * @param new_buffer The new input buffer.
6116 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6119 /* TODO. We should be able to replace this entire function body
6121 * surf_parse_pop_buffer_state();
6122 * surf_parse_push_buffer_state(new_buffer);
6124 surf_parse_ensure_buffer_stack ();
6125 if ( YY_CURRENT_BUFFER == new_buffer )
6128 if ( YY_CURRENT_BUFFER )
6130 /* Flush out information for old buffer. */
6131 *(yy_c_buf_p) = (yy_hold_char);
6132 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6133 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6136 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6137 surf_parse__load_buffer_state( );
6139 /* We don't actually know whether we did this switch during
6140 * EOF (surf_parse_wrap()) processing, but the only time this flag
6141 * is looked at is after surf_parse_wrap() is called, so it's safe
6142 * to go ahead and always set it.
6144 (yy_did_buffer_switch_on_eof) = 1;
6147 static void surf_parse__load_buffer_state (void)
6149 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6150 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6151 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6152 (yy_hold_char) = *(yy_c_buf_p);
6155 /** Allocate and initialize an input buffer state.
6156 * @param file A readable stream.
6157 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6159 * @return the allocated buffer state.
6161 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6165 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6167 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6169 b->yy_buf_size = size;
6171 /* yy_ch_buf has to be 2 characters longer than the size given because
6172 * we need to put in 2 end-of-buffer characters.
6174 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6175 if ( ! b->yy_ch_buf )
6176 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6178 b->yy_is_our_buffer = 1;
6180 surf_parse__init_buffer(b,file );
6185 /** Destroy the buffer.
6186 * @param b a buffer created with surf_parse__create_buffer()
6189 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6195 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6196 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6198 if ( b->yy_is_our_buffer )
6199 surf_parse_free((void *) b->yy_ch_buf );
6201 surf_parse_free((void *) b );
6205 extern int isatty (int );
6206 #endif /* __cplusplus */
6208 /* Initializes or reinitializes a buffer.
6209 * This function is sometimes called more than once on the same buffer,
6210 * such as during a surf_parse_restart() or at EOF.
6212 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6217 surf_parse__flush_buffer(b );
6219 b->yy_input_file = file;
6220 b->yy_fill_buffer = 1;
6222 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6223 * called from surf_parse_restart() or through yy_get_next_buffer.
6224 * In that case, we don't want to reset the lineno or column.
6226 if (b != YY_CURRENT_BUFFER){
6227 b->yy_bs_lineno = 1;
6228 b->yy_bs_column = 0;
6231 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6236 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6237 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6240 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6247 /* We always need two end-of-buffer characters. The first causes
6248 * a transition to the end-of-buffer state. The second causes
6249 * a jam in that state.
6251 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6252 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6254 b->yy_buf_pos = &b->yy_ch_buf[0];
6257 b->yy_buffer_status = YY_BUFFER_NEW;
6259 if ( b == YY_CURRENT_BUFFER )
6260 surf_parse__load_buffer_state( );
6263 /** Pushes the new state onto the stack. The new state becomes
6264 * the current state. This function will allocate the stack
6266 * @param new_buffer The new state.
6269 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6271 if (new_buffer == NULL)
6274 surf_parse_ensure_buffer_stack();
6276 /* This block is copied from surf_parse__switch_to_buffer. */
6277 if ( YY_CURRENT_BUFFER )
6279 /* Flush out information for old buffer. */
6280 *(yy_c_buf_p) = (yy_hold_char);
6281 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6282 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6285 /* Only push if top exists. Otherwise, replace top. */
6286 if (YY_CURRENT_BUFFER)
6287 (yy_buffer_stack_top)++;
6288 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6290 /* copied from surf_parse__switch_to_buffer. */
6291 surf_parse__load_buffer_state( );
6292 (yy_did_buffer_switch_on_eof) = 1;
6295 /** Removes and deletes the top of the stack, if present.
6296 * The next element becomes the new top.
6299 void surf_parse_pop_buffer_state (void)
6301 if (!YY_CURRENT_BUFFER)
6304 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6305 YY_CURRENT_BUFFER_LVALUE = NULL;
6306 if ((yy_buffer_stack_top) > 0)
6307 --(yy_buffer_stack_top);
6309 if (YY_CURRENT_BUFFER) {
6310 surf_parse__load_buffer_state( );
6311 (yy_did_buffer_switch_on_eof) = 1;
6315 /* Allocates the stack if it does not exist.
6316 * Guarantees space for at least one push.
6318 static void surf_parse_ensure_buffer_stack (void)
6322 if (!(yy_buffer_stack)) {
6324 /* First allocation is just for 2 elements, since we don't know if this
6325 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6326 * immediate realloc on the next call.
6329 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6330 (num_to_alloc * sizeof(struct yy_buffer_state*)
6333 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6335 (yy_buffer_stack_max) = num_to_alloc;
6336 (yy_buffer_stack_top) = 0;
6340 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6342 /* Increase the buffer to prepare for a possible push. */
6343 int grow_size = 8 /* arbitrary grow size */;
6345 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6346 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6348 num_to_alloc * sizeof(struct yy_buffer_state*)
6351 /* zero only the new slots.*/
6352 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6353 (yy_buffer_stack_max) = num_to_alloc;
6357 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6358 * @param base the character buffer
6359 * @param size the size in bytes of the character buffer
6361 * @return the newly allocated buffer state object.
6363 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6368 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6369 base[size-1] != YY_END_OF_BUFFER_CHAR )
6370 /* They forgot to leave room for the EOB's. */
6373 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6375 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6377 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6378 b->yy_buf_pos = b->yy_ch_buf = base;
6379 b->yy_is_our_buffer = 0;
6380 b->yy_input_file = 0;
6381 b->yy_n_chars = b->yy_buf_size;
6382 b->yy_is_interactive = 0;
6384 b->yy_fill_buffer = 0;
6385 b->yy_buffer_status = YY_BUFFER_NEW;
6387 surf_parse__switch_to_buffer(b );
6392 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6393 * scan from a @e copy of @a str.
6394 * @param yystr a NUL-terminated string to scan
6396 * @return the newly allocated buffer state object.
6397 * @note If you want to scan bytes that may contain NUL values, then use
6398 * surf_parse__scan_bytes() instead.
6400 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6403 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6406 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6407 * scan from a @e copy of @a bytes.
6408 * @param bytes the byte buffer to scan
6409 * @param len the number of bytes in the buffer pointed to by @a bytes.
6411 * @return the newly allocated buffer state object.
6413 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6420 /* Get memory for full buffer, including space for trailing EOB's. */
6421 n = _yybytes_len + 2;
6422 buf = (char *) surf_parse_alloc(n );
6424 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6426 for ( i = 0; i < _yybytes_len; ++i )
6427 buf[i] = yybytes[i];
6429 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6431 b = surf_parse__scan_buffer(buf,n );
6433 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6435 /* It's okay to grow etc. this buffer, and we should throw it
6436 * away when we're done.
6438 b->yy_is_our_buffer = 1;
6443 static void yy_push_state (int new_state )
6445 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6449 (yy_start_stack_depth) += YY_START_STACK_INCR;
6450 new_size = (yy_start_stack_depth) * sizeof( int );
6452 if ( ! (yy_start_stack) )
6453 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6456 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6458 if ( ! (yy_start_stack) )
6460 "out of memory expanding start-condition stack" );
6463 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6468 static void yy_pop_state (void)
6470 if ( --(yy_start_stack_ptr) < 0 )
6471 YY_FATAL_ERROR( "start-condition stack underflow" );
6473 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6476 #ifndef YY_EXIT_FAILURE
6477 #define YY_EXIT_FAILURE 2
6480 static void yy_fatal_error (yyconst char* msg )
6482 (void) fprintf( stderr, "%s\n", msg );
6483 exit( YY_EXIT_FAILURE );
6486 /* Redefine yyless() so it works in section 3 code. */
6492 /* Undo effects of setting up surf_parse_text. */ \
6493 int yyless_macro_arg = (n); \
6494 YY_LESS_LINENO(yyless_macro_arg);\
6495 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6496 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6497 (yy_hold_char) = *(yy_c_buf_p); \
6498 *(yy_c_buf_p) = '\0'; \
6499 surf_parse_leng = yyless_macro_arg; \
6503 /* Accessor methods (get/set functions) to struct members. */
6505 /** Get the current line number.
6508 int surf_parse_get_lineno (void)
6511 return surf_parse_lineno;
6514 /** Get the input stream.
6517 FILE *surf_parse_get_in (void)
6519 return surf_parse_in;
6522 /** Get the output stream.
6525 FILE *surf_parse_get_out (void)
6527 return surf_parse_out;
6530 /** Get the length of the current token.
6533 int surf_parse_get_leng (void)
6535 return surf_parse_leng;
6538 /** Get the current token.
6542 char *surf_parse_get_text (void)
6544 return surf_parse_text;
6547 /** Set the current line number.
6548 * @param line_number
6551 void surf_parse_set_lineno (int line_number )
6554 surf_parse_lineno = line_number;
6557 /** Set the input stream. This does not discard the current
6559 * @param in_str A readable stream.
6561 * @see surf_parse__switch_to_buffer
6563 void surf_parse_set_in (FILE * in_str )
6565 surf_parse_in = in_str ;
6568 void surf_parse_set_out (FILE * out_str )
6570 surf_parse_out = out_str ;
6573 int surf_parse_get_debug (void)
6575 return surf_parse__flex_debug;
6578 void surf_parse_set_debug (int bdebug )
6580 surf_parse__flex_debug = bdebug ;
6583 static int yy_init_globals (void)
6585 /* Initialization is the same as for the non-reentrant scanner.
6586 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6589 /* We do not touch surf_parse_lineno unless the option is enabled. */
6590 surf_parse_lineno = 1;
6592 (yy_buffer_stack) = 0;
6593 (yy_buffer_stack_top) = 0;
6594 (yy_buffer_stack_max) = 0;
6595 (yy_c_buf_p) = (char *) 0;
6599 (yy_start_stack_ptr) = 0;
6600 (yy_start_stack_depth) = 0;
6601 (yy_start_stack) = NULL;
6603 /* Defined in main.c */
6605 surf_parse_in = stdin;
6606 surf_parse_out = stdout;
6608 surf_parse_in = (FILE *) 0;
6609 surf_parse_out = (FILE *) 0;
6612 /* For future reference: Set errno on error, since we are called by
6613 * surf_parse_lex_init()
6618 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6619 int surf_parse_lex_destroy (void)
6622 /* Pop the buffer stack, destroying each element. */
6623 while(YY_CURRENT_BUFFER){
6624 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6625 YY_CURRENT_BUFFER_LVALUE = NULL;
6626 surf_parse_pop_buffer_state();
6629 /* Destroy the stack itself. */
6630 surf_parse_free((yy_buffer_stack) );
6631 (yy_buffer_stack) = NULL;
6633 /* Destroy the start condition stack. */
6634 surf_parse_free((yy_start_stack) );
6635 (yy_start_stack) = NULL;
6637 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6638 * surf_parse_lex() is called, initialization will occur. */
6645 * Internal utility routines.
6649 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6652 for ( i = 0; i < n; ++i )
6657 #ifdef YY_NEED_STRLEN
6658 static int yy_flex_strlen (yyconst char * s )
6661 for ( n = 0; s[n]; ++n )
6668 void *surf_parse_alloc (yy_size_t size )
6670 return (void *) malloc( size );
6673 void *surf_parse_realloc (void * ptr, yy_size_t size )
6675 /* The cast to (char *) in the following accommodates both
6676 * implementations that use char* generic pointers, and those
6677 * that use void* generic pointers. It works with the latter
6678 * because both ANSI C and C++ allow castless assignment from
6679 * any pointer type to void*, and deal with argument conversions
6680 * as though doing an assignment.
6682 return (void *) realloc( (char *) ptr, size );
6685 void surf_parse_free (void * ptr )
6687 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6690 #define YYTABLES_NAME "yytables"
6692 /* Element context stack lookup. */
6693 int surfxml_element_context(int i)
6695 return (0<i && i<yy_start_stack_depth
6696 ? yy_start_stack[yy_start_stack_ptr - i]
6701 void print_yy_stack(char* fmt, ...)
6703 int i = 0; va_list ap; va_start(ap, fmt);
6704 vfprintf(stderr, fmt, ap);
6705 if (surfxml_statenames) {
6706 for (i=1; i<yy_start_stack_ptr; i++) {
6707 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6709 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6714 void print_surfxml_bufferstack()
6717 fputs("Buffer: ", stderr);
6718 for (i = 0; i < blimit; i++) {
6719 if ( surfxml_bufferstack[i] == '\377' ) break;
6720 putc(surfxml_bufferstack[i], stderr);
6725 static void debug_enter(int state, const char* statename) {
6726 yy_push_state(state);
6727 if (surf_parse__flex_debug) {
6728 print_yy_stack("--ENTER(%s) : ",statename);
6729 print_surfxml_bufferstack();
6733 static void debug_leave(void) {
6734 if (surf_parse__flex_debug) {
6735 print_yy_stack("--LEAVE : ");
6736 print_surfxml_bufferstack();
6741 static void debug_set(int state, const char* statename) {
6743 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6747 static void cleanup(void)
6749 if (surfxml_statenames) {
6750 free(surfxml_statenames);
6751 surfxml_statenames = NULL;
6753 free(surfxml_bufferstack);
6754 surfxml_bufferstack = NULL;
6760 static int fail(const char* fmt, ...)
6762 int chars_left, used;
6763 va_list ap; va_start(ap, fmt);
6764 #ifdef FLEXML_yylineno
6765 used = sprintf(flexml_err_msg,
6766 "Invalid XML (XML input line %d, state %d): ",
6767 surf_parse_lineno, YY_START);
6769 used = sprintf(flexml_err_msg,
6770 "Invalid XML (state %d): ",
6773 chars_left = flexml_max_err_msg_size - used - 1;
6774 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6777 #ifndef FLEXML_quiet_parser
6778 /* print directly to sdterr */
6779 fprintf(stderr, "%s\n", flexml_err_msg);
6780 flexml_err_msg[0] = '\0';