Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move a symbol declaration out of surf_interface.hpp
[simgrid.git] / src / surf / xml / simgrid_dtd.c
1
2 #define  YY_INT_ALIGNED short int
3
4 /* A lexical scanner generated by flex */
5
6 #define yy_create_buffer simgrid_parse__create_buffer
7 #define yy_delete_buffer simgrid_parse__delete_buffer
8 #define yy_scan_buffer simgrid_parse__scan_buffer
9 #define yy_scan_string simgrid_parse__scan_string
10 #define yy_scan_bytes simgrid_parse__scan_bytes
11 #define yy_init_buffer simgrid_parse__init_buffer
12 #define yy_flush_buffer simgrid_parse__flush_buffer
13 #define yy_load_buffer_state simgrid_parse__load_buffer_state
14 #define yy_switch_to_buffer simgrid_parse__switch_to_buffer
15 #define yypush_buffer_state simgrid_parse_push_buffer_state
16 #define yypop_buffer_state simgrid_parse_pop_buffer_state
17 #define yyensure_buffer_stack simgrid_parse_ensure_buffer_stack
18 #define yy_flex_debug simgrid_parse__flex_debug
19 #define yyin simgrid_parse_in
20 #define yyleng simgrid_parse_leng
21 #define yylex simgrid_parse_lex
22 #define yylineno simgrid_parse_lineno
23 #define yyout simgrid_parse_out
24 #define yyrestart simgrid_parse_restart
25 #define yytext simgrid_parse_text
26 #define yywrap simgrid_parse_wrap
27 #define yyalloc simgrid_parse_alloc
28 #define yyrealloc simgrid_parse_realloc
29 #define yyfree simgrid_parse_free
30
31 #define FLEX_SCANNER
32 #define YY_FLEX_MAJOR_VERSION 2
33 #define YY_FLEX_MINOR_VERSION 6
34 #define YY_FLEX_SUBMINOR_VERSION 4
35 #if YY_FLEX_SUBMINOR_VERSION > 0
36 #define FLEX_BETA
37 #endif
38
39 #ifdef yy_create_buffer
40 #define simgrid_parse__create_buffer_ALREADY_DEFINED
41 #else
42 #define yy_create_buffer simgrid_parse__create_buffer
43 #endif
44
45 #ifdef yy_delete_buffer
46 #define simgrid_parse__delete_buffer_ALREADY_DEFINED
47 #else
48 #define yy_delete_buffer simgrid_parse__delete_buffer
49 #endif
50
51 #ifdef yy_scan_buffer
52 #define simgrid_parse__scan_buffer_ALREADY_DEFINED
53 #else
54 #define yy_scan_buffer simgrid_parse__scan_buffer
55 #endif
56
57 #ifdef yy_scan_string
58 #define simgrid_parse__scan_string_ALREADY_DEFINED
59 #else
60 #define yy_scan_string simgrid_parse__scan_string
61 #endif
62
63 #ifdef yy_scan_bytes
64 #define simgrid_parse__scan_bytes_ALREADY_DEFINED
65 #else
66 #define yy_scan_bytes simgrid_parse__scan_bytes
67 #endif
68
69 #ifdef yy_init_buffer
70 #define simgrid_parse__init_buffer_ALREADY_DEFINED
71 #else
72 #define yy_init_buffer simgrid_parse__init_buffer
73 #endif
74
75 #ifdef yy_flush_buffer
76 #define simgrid_parse__flush_buffer_ALREADY_DEFINED
77 #else
78 #define yy_flush_buffer simgrid_parse__flush_buffer
79 #endif
80
81 #ifdef yy_load_buffer_state
82 #define simgrid_parse__load_buffer_state_ALREADY_DEFINED
83 #else
84 #define yy_load_buffer_state simgrid_parse__load_buffer_state
85 #endif
86
87 #ifdef yy_switch_to_buffer
88 #define simgrid_parse__switch_to_buffer_ALREADY_DEFINED
89 #else
90 #define yy_switch_to_buffer simgrid_parse__switch_to_buffer
91 #endif
92
93 #ifdef yypush_buffer_state
94 #define simgrid_parse_push_buffer_state_ALREADY_DEFINED
95 #else
96 #define yypush_buffer_state simgrid_parse_push_buffer_state
97 #endif
98
99 #ifdef yypop_buffer_state
100 #define simgrid_parse_pop_buffer_state_ALREADY_DEFINED
101 #else
102 #define yypop_buffer_state simgrid_parse_pop_buffer_state
103 #endif
104
105 #ifdef yyensure_buffer_stack
106 #define simgrid_parse_ensure_buffer_stack_ALREADY_DEFINED
107 #else
108 #define yyensure_buffer_stack simgrid_parse_ensure_buffer_stack
109 #endif
110
111 #ifdef yylex
112 #define simgrid_parse_lex_ALREADY_DEFINED
113 #else
114 #define yylex simgrid_parse_lex
115 #endif
116
117 #ifdef yyrestart
118 #define simgrid_parse_restart_ALREADY_DEFINED
119 #else
120 #define yyrestart simgrid_parse_restart
121 #endif
122
123 #ifdef yylex_init
124 #define simgrid_parse_lex_init_ALREADY_DEFINED
125 #else
126 #define yylex_init simgrid_parse_lex_init
127 #endif
128
129 #ifdef yylex_init_extra
130 #define simgrid_parse_lex_init_extra_ALREADY_DEFINED
131 #else
132 #define yylex_init_extra simgrid_parse_lex_init_extra
133 #endif
134
135 #ifdef yylex_destroy
136 #define simgrid_parse_lex_destroy_ALREADY_DEFINED
137 #else
138 #define yylex_destroy simgrid_parse_lex_destroy
139 #endif
140
141 #ifdef yyget_debug
142 #define simgrid_parse_get_debug_ALREADY_DEFINED
143 #else
144 #define yyget_debug simgrid_parse_get_debug
145 #endif
146
147 #ifdef yyset_debug
148 #define simgrid_parse_set_debug_ALREADY_DEFINED
149 #else
150 #define yyset_debug simgrid_parse_set_debug
151 #endif
152
153 #ifdef yyget_extra
154 #define simgrid_parse_get_extra_ALREADY_DEFINED
155 #else
156 #define yyget_extra simgrid_parse_get_extra
157 #endif
158
159 #ifdef yyset_extra
160 #define simgrid_parse_set_extra_ALREADY_DEFINED
161 #else
162 #define yyset_extra simgrid_parse_set_extra
163 #endif
164
165 #ifdef yyget_in
166 #define simgrid_parse_get_in_ALREADY_DEFINED
167 #else
168 #define yyget_in simgrid_parse_get_in
169 #endif
170
171 #ifdef yyset_in
172 #define simgrid_parse_set_in_ALREADY_DEFINED
173 #else
174 #define yyset_in simgrid_parse_set_in
175 #endif
176
177 #ifdef yyget_out
178 #define simgrid_parse_get_out_ALREADY_DEFINED
179 #else
180 #define yyget_out simgrid_parse_get_out
181 #endif
182
183 #ifdef yyset_out
184 #define simgrid_parse_set_out_ALREADY_DEFINED
185 #else
186 #define yyset_out simgrid_parse_set_out
187 #endif
188
189 #ifdef yyget_leng
190 #define simgrid_parse_get_leng_ALREADY_DEFINED
191 #else
192 #define yyget_leng simgrid_parse_get_leng
193 #endif
194
195 #ifdef yyget_text
196 #define simgrid_parse_get_text_ALREADY_DEFINED
197 #else
198 #define yyget_text simgrid_parse_get_text
199 #endif
200
201 #ifdef yyget_lineno
202 #define simgrid_parse_get_lineno_ALREADY_DEFINED
203 #else
204 #define yyget_lineno simgrid_parse_get_lineno
205 #endif
206
207 #ifdef yyset_lineno
208 #define simgrid_parse_set_lineno_ALREADY_DEFINED
209 #else
210 #define yyset_lineno simgrid_parse_set_lineno
211 #endif
212
213 #ifdef yywrap
214 #define simgrid_parse_wrap_ALREADY_DEFINED
215 #else
216 #define yywrap simgrid_parse_wrap
217 #endif
218
219 #ifdef yyalloc
220 #define simgrid_parse_alloc_ALREADY_DEFINED
221 #else
222 #define yyalloc simgrid_parse_alloc
223 #endif
224
225 #ifdef yyrealloc
226 #define simgrid_parse_realloc_ALREADY_DEFINED
227 #else
228 #define yyrealloc simgrid_parse_realloc
229 #endif
230
231 #ifdef yyfree
232 #define simgrid_parse_free_ALREADY_DEFINED
233 #else
234 #define yyfree simgrid_parse_free
235 #endif
236
237 #ifdef yytext
238 #define simgrid_parse_text_ALREADY_DEFINED
239 #else
240 #define yytext simgrid_parse_text
241 #endif
242
243 #ifdef yyleng
244 #define simgrid_parse_leng_ALREADY_DEFINED
245 #else
246 #define yyleng simgrid_parse_leng
247 #endif
248
249 #ifdef yyin
250 #define simgrid_parse_in_ALREADY_DEFINED
251 #else
252 #define yyin simgrid_parse_in
253 #endif
254
255 #ifdef yyout
256 #define simgrid_parse_out_ALREADY_DEFINED
257 #else
258 #define yyout simgrid_parse_out
259 #endif
260
261 #ifdef yy_flex_debug
262 #define simgrid_parse__flex_debug_ALREADY_DEFINED
263 #else
264 #define yy_flex_debug simgrid_parse__flex_debug
265 #endif
266
267 #ifdef yylineno
268 #define simgrid_parse_lineno_ALREADY_DEFINED
269 #else
270 #define yylineno simgrid_parse_lineno
271 #endif
272
273 /* First, we deal with  platform-specific or compiler-specific issues. */
274
275 /* begin standard C headers. */
276 #include <stdio.h>
277 #include <string.h>
278 #include <errno.h>
279 #include <stdlib.h>
280
281 /* end standard C headers. */
282
283 /* flex integer type definitions */
284
285 #ifndef FLEXINT_H
286 #define FLEXINT_H
287
288 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
289
290 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
291
292 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
293  * if you want the limit (max/min) macros for int types. 
294  */
295 #ifndef __STDC_LIMIT_MACROS
296 #define __STDC_LIMIT_MACROS 1
297 #endif
298
299 #include <inttypes.h>
300 typedef int8_t flex_int8_t;
301 typedef uint8_t flex_uint8_t;
302 typedef int16_t flex_int16_t;
303 typedef uint16_t flex_uint16_t;
304 typedef int32_t flex_int32_t;
305 typedef uint32_t flex_uint32_t;
306 #else
307 typedef signed char flex_int8_t;
308 typedef short int flex_int16_t;
309 typedef int flex_int32_t;
310 typedef unsigned char flex_uint8_t; 
311 typedef unsigned short int flex_uint16_t;
312 typedef unsigned int flex_uint32_t;
313
314 /* Limits of integral types. */
315 #ifndef INT8_MIN
316 #define INT8_MIN               (-128)
317 #endif
318 #ifndef INT16_MIN
319 #define INT16_MIN              (-32767-1)
320 #endif
321 #ifndef INT32_MIN
322 #define INT32_MIN              (-2147483647-1)
323 #endif
324 #ifndef INT8_MAX
325 #define INT8_MAX               (127)
326 #endif
327 #ifndef INT16_MAX
328 #define INT16_MAX              (32767)
329 #endif
330 #ifndef INT32_MAX
331 #define INT32_MAX              (2147483647)
332 #endif
333 #ifndef UINT8_MAX
334 #define UINT8_MAX              (255U)
335 #endif
336 #ifndef UINT16_MAX
337 #define UINT16_MAX             (65535U)
338 #endif
339 #ifndef UINT32_MAX
340 #define UINT32_MAX             (4294967295U)
341 #endif
342
343 #ifndef SIZE_MAX
344 #define SIZE_MAX               (~(size_t)0)
345 #endif
346
347 #endif /* ! C99 */
348
349 #endif /* ! FLEXINT_H */
350
351 /* begin standard C++ headers. */
352
353 /* TODO: this is always defined, so inline it */
354 #define yyconst const
355
356 #if defined(__GNUC__) && __GNUC__ >= 3
357 #define yynoreturn __attribute__((__noreturn__))
358 #else
359 #define yynoreturn
360 #endif
361
362 /* Returned upon end-of-file. */
363 #define YY_NULL 0
364
365 /* Promotes a possibly negative, possibly signed char to an
366  *   integer in range [0..255] for use as an array index.
367  */
368 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
369
370 /* Enter a start condition.  This macro really ought to take a parameter,
371  * but we do it the disgusting crufty way forced on us by the ()-less
372  * definition of BEGIN.
373  */
374 #define BEGIN (yy_start) = 1 + 2 *
375 /* Translate the current start state into a value that can be later handed
376  * to BEGIN to return to the state.  The YYSTATE alias is for lex
377  * compatibility.
378  */
379 #define YY_START (((yy_start) - 1) / 2)
380 #define YYSTATE YY_START
381 /* Action number for EOF rule of a given start state. */
382 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
383 /* Special action meaning "start processing a new file". */
384 #define YY_NEW_FILE yyrestart( yyin  )
385 #define YY_END_OF_BUFFER_CHAR 0
386
387 /* Size of default input buffer. */
388 #ifndef YY_BUF_SIZE
389 #ifdef __ia64__
390 /* On IA-64, the buffer size is 16k, not 8k.
391  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
392  * Ditto for the __ia64__ case accordingly.
393  */
394 #define YY_BUF_SIZE 32768
395 #else
396 #define YY_BUF_SIZE 16384
397 #endif /* __ia64__ */
398 #endif
399
400 /* The state buf must be large enough to hold one state per character in the main buffer.
401  */
402 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
403
404 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
405 #define YY_TYPEDEF_YY_BUFFER_STATE
406 typedef struct yy_buffer_state *YY_BUFFER_STATE;
407 #endif
408
409 #ifndef YY_TYPEDEF_YY_SIZE_T
410 #define YY_TYPEDEF_YY_SIZE_T
411 typedef size_t yy_size_t;
412 #endif
413
414 extern int yyleng;
415
416 extern FILE *yyin, *yyout;
417
418 #define EOB_ACT_CONTINUE_SCAN 0
419 #define EOB_ACT_END_OF_FILE 1
420 #define EOB_ACT_LAST_MATCH 2
421     
422     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
423      *       access to the local variable yy_act. Since yyless() is a macro, it would break
424      *       existing scanners that call yyless() from OUTSIDE yylex.
425      *       One obvious solution it to make yy_act a global. I tried that, and saw
426      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
427      *       normally declared as a register variable-- so it is not worth it.
428      */
429     #define  YY_LESS_LINENO(n) \
430             do { \
431                 int yyl;\
432                 for ( yyl = n; yyl < yyleng; ++yyl )\
433                     if ( yytext[yyl] == '\n' )\
434                         --yylineno;\
435             }while(0)
436     #define YY_LINENO_REWIND_TO(dst) \
437             do {\
438                 const char *p;\
439                 for ( p = yy_cp-1; p >= (dst); --p)\
440                     if ( *p == '\n' )\
441                         --yylineno;\
442             }while(0)
443     
444 /* Return all but the first "n" matched characters back to the input stream. */
445 #define yyless(n) \
446         do \
447                 { \
448                 /* Undo effects of setting up yytext. */ \
449         int yyless_macro_arg = (n); \
450         YY_LESS_LINENO(yyless_macro_arg);\
451                 *yy_cp = (yy_hold_char); \
452                 YY_RESTORE_YY_MORE_OFFSET \
453                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
454                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
455                 } \
456         while ( 0 )
457 #define unput(c) yyunput( c, (yytext_ptr)  )
458
459 #ifndef YY_STRUCT_YY_BUFFER_STATE
460 #define YY_STRUCT_YY_BUFFER_STATE
461 struct yy_buffer_state
462         {
463         FILE *yy_input_file;
464
465         char *yy_ch_buf;                /* input buffer */
466         char *yy_buf_pos;               /* current position in input buffer */
467
468         /* Size of input buffer in bytes, not including room for EOB
469          * characters.
470          */
471         int yy_buf_size;
472
473         /* Number of characters read into yy_ch_buf, not including EOB
474          * characters.
475          */
476         int yy_n_chars;
477
478         /* Whether we "own" the buffer - i.e., we know we created it,
479          * and can realloc() it to grow it, and should free() it to
480          * delete it.
481          */
482         int yy_is_our_buffer;
483
484         /* Whether this is an "interactive" input source; if so, and
485          * if we're using stdio for input, then we want to use getc()
486          * instead of fread(), to make sure we stop fetching input after
487          * each newline.
488          */
489         int yy_is_interactive;
490
491         /* Whether we're considered to be at the beginning of a line.
492          * If so, '^' rules will be active on the next match, otherwise
493          * not.
494          */
495         int yy_at_bol;
496
497     int yy_bs_lineno; /**< The line count. */
498     int yy_bs_column; /**< The column count. */
499
500         /* Whether to try to fill the input buffer when we reach the
501          * end of it.
502          */
503         int yy_fill_buffer;
504
505         int yy_buffer_status;
506
507 #define YY_BUFFER_NEW 0
508 #define YY_BUFFER_NORMAL 1
509         /* When an EOF's been seen but there's still some text to process
510          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
511          * shouldn't try reading from the input source any more.  We might
512          * still have a bunch of tokens to match, though, because of
513          * possible backing-up.
514          *
515          * When we actually see the EOF, we change the status to "new"
516          * (via yyrestart()), so that the user can continue scanning by
517          * just pointing yyin at a new input file.
518          */
519 #define YY_BUFFER_EOF_PENDING 2
520
521         };
522 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
523
524 /* Stack of input buffers. */
525 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
526 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
527 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
528
529 /* We provide macros for accessing buffer states in case in the
530  * future we want to put the buffer states in a more general
531  * "scanner state".
532  *
533  * Returns the top of the stack, or NULL.
534  */
535 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
536                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
537                           : NULL)
538 /* Same as previous macro, but useful when we know that the buffer stack is not
539  * NULL or when we need an lvalue. For internal use only.
540  */
541 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
542
543 /* yy_hold_char holds the character lost when yytext is formed. */
544 static char yy_hold_char;
545 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
546 int yyleng;
547
548 /* Points to current character in buffer. */
549 static char *yy_c_buf_p = NULL;
550 static int yy_init = 0;         /* whether we need to initialize */
551 static int yy_start = 0;        /* start state number */
552
553 /* Flag which is used to allow yywrap()'s to do buffer switches
554  * instead of setting up a fresh yyin.  A bit of a hack ...
555  */
556 static int yy_did_buffer_switch_on_eof;
557
558 void yyrestart ( FILE *input_file  );
559 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
560 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
561 void yy_delete_buffer ( YY_BUFFER_STATE b  );
562 void yy_flush_buffer ( YY_BUFFER_STATE b  );
563 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
564 void yypop_buffer_state ( void );
565
566 static void yyensure_buffer_stack ( void );
567 static void yy_load_buffer_state ( void );
568 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
569 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
570
571 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
572 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
573 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
574
575 void *yyalloc ( yy_size_t  );
576 void *yyrealloc ( void *, yy_size_t  );
577 void yyfree ( void *  );
578
579 #define yy_new_buffer yy_create_buffer
580 #define yy_set_interactive(is_interactive) \
581         { \
582         if ( ! YY_CURRENT_BUFFER ){ \
583         yyensure_buffer_stack (); \
584                 YY_CURRENT_BUFFER_LVALUE =    \
585             yy_create_buffer( yyin, YY_BUF_SIZE ); \
586         } \
587         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
588         }
589 #define yy_set_bol(at_bol) \
590         { \
591         if ( ! YY_CURRENT_BUFFER ){\
592         yyensure_buffer_stack (); \
593                 YY_CURRENT_BUFFER_LVALUE =    \
594             yy_create_buffer( yyin, YY_BUF_SIZE ); \
595         } \
596         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
597         }
598 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
599
600 /* Begin user sect3 */
601
602 #define simgrid_parse_wrap() (/*CONSTCOND*/ 1)
603 #define YY_SKIP_YYWRAP
604 typedef flex_uint8_t YY_CHAR;
605
606 FILE *yyin = NULL, *yyout = NULL;
607
608 typedef int yy_state_type;
609
610 extern int yylineno;
611 int yylineno = 1;
612
613 extern char *yytext;
614 #ifdef yytext_ptr
615 #undef yytext_ptr
616 #endif
617 #define yytext_ptr yytext
618
619 static yy_state_type yy_get_previous_state ( void );
620 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
621 static int yy_get_next_buffer ( void );
622 static void yynoreturn yy_fatal_error ( const char* msg  );
623
624 /* Done after the current pattern has been matched and before the
625  * corresponding action - sets up yytext.
626  */
627 #define YY_DO_BEFORE_ACTION \
628         (yytext_ptr) = yy_bp; \
629         yyleng = (int) (yy_cp - yy_bp); \
630         (yy_hold_char) = *yy_cp; \
631         *yy_cp = '\0'; \
632         (yy_c_buf_p) = yy_cp;
633 #define YY_NUM_RULES 649
634 #define YY_END_OF_BUFFER 650
635 /* This struct is not used in this scanner,
636    but its presence is necessary. */
637 struct yy_trans_info
638         {
639         flex_int32_t yy_verify;
640         flex_int32_t yy_nxt;
641         };
642 static const flex_int16_t yy_accept[3913] =
643     {   0,
644         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
645         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
646         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
647         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
648         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
649         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
650         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
651         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
652         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
653         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
654
655         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
656         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
657         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
658         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
659         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
660         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
661         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
662         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
663         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
664         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
665
666         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
667         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
668         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
669         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
670         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
671         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
672         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
673         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
674         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
675         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
676
677         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
678         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
679         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
680         0,    0,  650,  648,   16,   10,   10,   16,   16,  628,
681        10,  628,    5,    6,    5,    8,    9,    8,  644,  636,
682       637,  645,  642,  645,  643,  647,  636,  637,  647,   25,
683        10,   25,   25,   25,   23,   25,   25,   29,   10,   29,
684        29,  648,   29,  648,   29,   29,  648,  648,   29,  648,
685        29,  648,   29,   50,   10,   50,   50,   50,   48,   50,
686        50,   50,   54,   10,   54,  648,   54,   71,   10,   71,
687
688        71,   71,   69,   71,   71,   71,   71,   71,   75,   10,
689        75,  648,   75,   82,   10,   82,   82,   82,   80,   82,
690        86,   10,   86,   97,   10,   97,   97,   97,   95,   97,
691        97,   97,  101,   10,  101,  114,   10,  114,  114,  114,
692       112,  114,  114,  114,  118,   10,  118,  118,  127,   10,
693       127,  127,  127,  125,  127,  127,  131,   10,  131,  131,
694       144,   10,  144,  144,  144,  142,  144,  144,  144,  148,
695        10,  148,  148,  167,   10,  167,  167,  167,  165,  167,
696       167,  167,  167,  167,  167,  171,   10,  171,  226,   10,
697       226,  226,  226,  224,  226,  226,  226,  226,  226,  226,
698
699       226,  226,  230,   10,  230,  230,  237,   10,  237,  237,
700       237,  235,  237,  241,   10,  241,  241,  252,   10,  252,
701       252,  252,  250,  252,  252,  252,  256,   10,  256,  256,
702       277,   10,  277,  277,  277,  275,  277,  277,  277,  277,
703       277,  281,   10,  281,  648,  281,  292,   10,  292,  292,
704       292,  290,  292,  292,  292,  296,   10,  296,  303,   10,
705       303,  303,  303,  301,  303,  307,   10,  307,  648,  307,
706       334,   10,  334,  334,  334,  332,  334,  334,  334,  334,
707       338,   10,  338,  338,  351,   10,  351,  351,  351,  349,
708       351,  351,  355,   10,  355,  364,   10,  364,  364,  364,
709
710       362,  364,  364,  368,   10,  368,  377,   10,  377,  377,
711       377,  375,  377,  377,  381,   10,  381,  404,   10,  404,
712       404,  404,  402,  404,  404,  404,  404,  404,  404,  408,
713        10,  408,  648,  415,   10,  415,  415,  415,  413,  415,
714       419,   10,  419,  419,  648,  419,  648,  419,  436,   10,
715       436,  436,  436,  434,  436,  436,  436,  436,  436,  440,
716        10,  440,  440,  449,   10,  449,  449,  449,  447,  449,
717       449,  453,   10,  453,  480,   10,  480,  480,  480,  478,
718       480,  480,  480,  480,  480,  484,   10,  484,  501,   10,
719       501,  501,  501,  499,  501,  501,  505,   10,  505,  505,
720
721       514,   10,  514,  514,  514,  512,  514,  514,  518,   10,
722       518,  531,   10,  531,  531,  531,  529,  531,  531,  531,
723       531,  535,   10,  535,  535,  548,   10,  548,  548,  548,
724       546,  548,  548,  548,  548,  552,   10,  552,  648,  552,
725       563,   10,  563,  563,  563,  561,  563,  563,  563,  645,
726       644,  585,   10,  585,  585,  585,  583,  585,  585,  585,
727       589,   10,  589,  598,   10,  598,  598,  598,  596,  598,
728       598,  602,   10,  602,  602,  602,  648,  602,  602,  602,
729       602,  602,  623,   10,  623,  623,  623,  621,  623,  623,
730       623,  627,   10,  627,  627,   10,    0,    2,    2,    0,
731
732         4,    7,  639,  638,    0,    0,    0,    0,    0,    0,
733        24,   26,   26,   26,    0,    0,    0,    0,    0,    0,
734         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
735         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
736         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
737         0,    0,    0,    0,   49,   51,   51,   51,   51,   51,
738         0,    0,   70,   72,   72,   72,   72,   72,   72,    0,
739         0,   81,   83,   83,    0,   96,   98,   98,   98,   98,
740         0,  113,  115,  115,  115,  115,    0,  126,  128,  128,
741       128,    0,  143,  145,  145,  145,  145,    0,  166,  168,
742
743       168,  168,  168,  168,  168,  168,  168,    0,  225,  227,
744       227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
745       227,  227,  227,  227,    0,  236,  238,  238,    0,  251,
746       253,  253,  253,  253,    0,  276,  278,  278,  278,  278,
747       278,  278,  278,    0,    0,    0,  291,  293,  293,  293,
748       293,    0,  302,  304,  304,    0,  333,  335,  335,  335,
749       335,  335,  335,    0,  350,  352,  352,  352,    0,  363,
750       365,  365,  365,    0,  376,  378,  378,  378,    0,  403,
751       405,  405,  405,  405,  405,  405,  405,  405,    0,    0,
752       414,  416,  416,    0,    0,    0,    0,    0,    0,    0,
753
754       435,  437,  437,  437,  437,  437,  437,    0,  448,  450,
755       450,  450,    0,  479,  481,  481,  481,  481,  481,  481,
756       481,  481,  481,    0,  500,  502,  502,  502,  502,    0,
757       513,  515,  515,  515,    0,  530,  532,  532,  532,  532,
758       532,    0,  547,  549,  549,  549,  549,  549,    0,    0,
759       562,  564,  564,  564,  564,    0,    0,    0,  584,  586,
760       586,  586,  586,    0,  597,  599,  599,  599,    0,    0,
761       622,  624,  624,  624,  624,  624,    0,    0,    0,    0,
762         0,    3,    0,    0,    0,    0,    0,    0,    0,  646,
763         0,    0,   26,    0,    0,   18,    0,    0,    0,    0,
764
765         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
766         0,    0,    0,    0,    0,    0,    0,   17,    0,    0,
767         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
768        17,    0,    0,   18,    0,    0,    0,    0,   51,   51,
769        51,   51,    0,    0,    0,   72,   72,   72,   72,   72,
770         0,    0,    0,   83,    0,    0,   98,    0,    0,   98,
771         0,    0,  115,  115,  115,    0,    0,  128,  128,    0,
772         0,  145,  145,  145,    0,    0,    0,    0,    0,    0,
773       168,  168,  168,  168,  168,    0,    0,  227,    0,    0,
774       227,    0,    0,  227,  227,  227,  227,  227,  227,  227,
775
776       227,  227,  227,    0,    0,    0,    0,    0,    0,    0,
777         0,  253,  253,    0,    0,  278,  278,  278,    0,    0,
778       278,  278,  278,    0,    0,    0,    0,  293,    0,    0,
779         0,    0,    0,    0,  304,    0,    0,  335,    0,    0,
780       335,  335,  335,    0,    0,  352,    0,    0,    0,    0,
781         0,    0,  365,    0,    0,  378,  378,    0,    0,  405,
782       405,  405,    0,    0,  405,  405,  405,    0,    0,    0,
783       416,    0,    0,    0,    0,    0,    0,  437,  437,  437,
784       437,  437,    0,    0,    0,    0,  450,    0,    0,  481,
785         0,    0,  481,  481,  481,  481,  481,  481,    0,    0,
786
787       502,  502,  502,    0,    0,  515,    0,    0,    0,    0,
788       532,  532,    0,    0,  532,    0,    0,  549,    0,    0,
789       549,  549,    0,    0,    0,  564,    0,    0,  564,    0,
790         0,    0,  641,  586,  586,  586,    0,    0,    0,    0,
791       599,    0,    0,  624,  624,  624,  624,    0,    0,    0,
792        15,    1,    0,    0,  634,    0,    0,    0,  631,  630,
793         0,    0,   20,   19,   26,    0,    0,   28,    0,   18,
794         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
795         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
796         0,    0,    0,   17,    0,    0,    0,    0,    0,    0,
797
798         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
799         0,    0,    0,    0,    0,   51,   51,    0,    0,   51,
800         0,    0,   53,    0,    0,   72,   72,   72,   72,   72,
801         0,    0,   74,    0,    0,   83,    0,    0,   85,    0,
802        98,    0,   92,   91,   98,    0,    0,  100,    0,    0,
803         0,  115,  115,    0,    0,    0,    0,  117,    0,    0,
804         0,    0,    0,    0,    0,  130,    0,    0,    0,  145,
805       145,    0,    0,    0,    0,  147,    0,    0,  152,  151,
806         0,  154,  153,    0,    0,  168,  168,  168,  168,    0,
807         0,  170,    0,  227,  227,  227,    0,  183,  182,  227,
808
809         0,  187,  186,    0,    0,  227,  227,  227,  227,  227,
810       227,  227,  227,  227,    0,    0,  229,    0,    0,  234,
811       233,    0,    0,  240,    0,    0,  245,  244,  253,  253,
812         0,    0,  255,    0,  278,  278,  278,    0,  266,  265,
813       278,  278,  278,    0,    0,  280,    0,    0,    0,  293,
814         0,  287,  286,    0,  289,  288,    0,    0,  295,    0,
815       304,    0,    0,  306,    0,  335,    0,  315,  314,  335,
816       335,  335,    0,    0,  337,    0,  352,    0,  348,  347,
817         0,    0,  354,    0,    0,  359,  358,  365,    0,    0,
818       367,    0,  378,  378,    0,    0,  380,    0,  405,  405,
819
820       405,  405,    0,  393,  392,    0,    0,  405,  405,    0,
821         0,  407,    0,    0,  416,    0,    0,  418,    0,    0,
822         0,    0,    0,  437,  437,  437,  437,  437,    0,    0,
823       439,    0,    0,  444,  443,  450,    0,    0,  452,    0,
824       481,    0,  465,  464,    0,    0,  481,    0,    0,  481,
825       481,  481,    0,    0,  483,    0,    0,    0,    0,    0,
826       502,    0,    0,  504,    0,  515,    0,  511,  510,    0,
827         0,  517,    0,  532,  532,    0,  526,  525,  532,    0,
828         0,  534,    0,  549,    0,  541,  540,  549,  549,    0,
829         0,  551,    0,    0,  564,    0,  558,  557,  564,    0,
830
831         0,    0,  566,    0,  586,  586,  586,    0,    0,  588,
832         0,    0,  593,  592,  599,    0,    0,  601,    0,    0,
833         0,  624,  624,    0,    0,  624,    0,    0,  626,    0,
834         0,    0,  635,  629,    0,    0,   26,    0,   27,    0,
835         0,    0,    0,    0,    0,    0,    0,  242,  258,    0,
836       309,    0,    0,  383,    0,    0,  442,    0,    0,    0,
837         0,  591,  441,    0,    0,    0,    0,    0,  257,    0,
838       308,  382,    0,    0,    0,  590,    0,  590,  591,    0,
839         0,    0,    0,   33,   32,   51,   51,    0,   39,   38,
840        51,    0,  308,   72,    0,    0,   72,   72,   72,    0,
841
842         0,   83,    0,   98,   98,    0,    0,  105,  104,  115,
843       115,    0,  111,  110,    0,    0,  122,  121,    0,  124,
844       123,    0,    0,  135,  134,  145,  145,    0,  141,  140,
845         0,    0,  156,  155,  168,  168,  168,  168,    0,  227,
846       227,  227,    0,    0,    0,  189,  188,  227,  227,  227,
847       227,  227,  227,  227,  227,  227,  227,    0,    0,  253,
848       253,    0,  278,  278,    0,    0,  278,  278,  278,    0,
849       243,    0,    0,    0,    0,    0,    0,    0,  335,  335,
850       335,  335,    0,  352,    0,  365,    0,    0,    0,  378,
851         0,  405,  405,  405,  405,    0,  395,  394,  405,  405,
852
853         0,    0,  416,    0,    0,    0,    0,    0,  437,    0,
854         0,  437,  437,  437,    0,  450,    0,  481,    0,  467,
855       466,    0,    0,    0,  471,  470,  481,    0,    0,  481,
856         0,    0,  488,  487,    0,  490,  489,  502,    0,  515,
857         0,  532,  532,  532,    0,  549,  549,    0,    0,    0,
858         0,    0,    0,  564,    0,    0,  586,    0,    0,  586,
859         0,  599,    0,    0,  606,  605,  624,  624,    0,  612,
860       611,  624,    0,    0,    0,    0,   12,    0,  632,  633,
861        26,    0,   55,    0,    0,    0,    0,    0,    0,  242,
862       258,    0,    0,  309,    0,    0,  369,  383,    0,    0,
863
864       442,    0,  486,    0,  554,  591,    0,  441,    0,    0,
865         0,    0,    0,  257,    0,    0,  308,  382,  485,    0,
866       553,  590,    0,    0,    0,  486,  485,   51,   51,   51,
867         0,    0,   72,    0,   60,   59,   72,   72,   72,    0,
868         0,    0,    0,    0,   98,   98,    0,  115,  115,    0,
869         0,  145,  145,    0,  168,  168,    0,    0,  168,    0,
870         0,    0,  227,  227,    0,  185,  184,  227,  227,  227,
871       227,  227,  227,    0,    0,  227,  227,  227,    0,    0,
872       253,  253,    0,  278,  278,    0,  264,  263,  278,    0,
873         0,  278,  278,    0,  243,  370,    0,  285,  284,    0,
874
875         0,  300,  299,    0,  335,  335,  335,  335,    0,  352,
876         0,    0,    0,    0,    0,  372,  371,  378,    0,  405,
877         0,    0,  405,  405,    0,    0,  405,  405,    0,    0,
878       416,    0,   56,    0,    0,    0,  437,    0,  425,  424,
879       437,  437,  437,    0,    0,    0,    0,  481,    0,  469,
880       468,  481,    0,  475,  474,  481,    0,  502,    0,  515,
881         0,  532,  532,  532,    0,  549,    0,    0,    0,  545,
882       544,    0,    0,    0,  556,  555,  564,    0,    0,  586,
883         0,    0,    0,    0,    0,    0,  599,    0,  624,  624,
884       624,    0,    0,    0,    0,   11,   26,    0,   55,    0,
885
886         0,    0,    0,    0,  231,    0,    0,    0,    0,  369,
887         0,    0,  454,  486,  507,    0,  554,    0,    0,    0,
888         0,    0,    0,    0,    0,    0,  485,  506,    0,  553,
889         0,    0,    0,    0,    0,    0,    0,    0,   51,    0,
890         0,   72,   72,   72,   72,    0,    0,    0,   79,   78,
891         0,   98,   98,    0,    0,    0,    0,    0,    0,    0,
892         0,    0,    0,    0,    0,    0,    0,  168,    0,  162,
893       161,    0,    0,    0,    0,  175,  174,    0,    0,  227,
894       227,  227,    0,    0,  227,  227,  227,    0,  211,  210,
895         0,    0,  227,  227,    0,    0,  253,  253,    0,  254,
896
897       278,  278,    0,    0,    0,  270,  269,  278,  278,    0,
898       279,  370,    0,    0,  335,  335,  335,  335,    0,  336,
899       352,    0,    0,  361,  360,    0,  378,    0,  405,    0,
900       387,  386,    0,    0,  405,    0,  397,  396,  405,  405,
901         0,  406,    0,  416,    0,   56,  232,    0,  455,  437,
902       437,  437,  437,    0,    0,  446,  445,    0,  451,  481,
903       481,  481,    0,  502,    0,  515,    0,    0,    0,  532,
904         0,    0,    0,  549,    0,  543,  542,    0,    0,  564,
905         0,    0,  586,    0,    0,    0,    0,    0,    0,    0,
906         0,    0,  582,  581,    0,  599,    0,  600,    0,    0,
907
908         0,    0,  624,    0,    0,    0,    0,    0,    0,   31,
909         0,    0,    0,    0,    0,  150,  173,  231,    0,  298,
910         0,    0,    0,  420,  454,  507,  520,    0,    0,   30,
911         0,    0,    0,    0,  149,  172,    0,  297,  506,  519,
912         0,    0,    0,   35,   34,    0,   37,   36,   51,    0,
913         0,   72,   72,   72,   72,    0,   73,    0,    0,   98,
914         0,    0,    0,    0,  107,  106,    0,  109,  108,    0,
915         0,    0,  137,  136,    0,  139,  138,    0,    0,  158,
916       157,    0,    0,    0,  164,  163,    0,    0,  177,  176,
917       227,  227,  227,    0,  197,  196,    0,    0,  227,  227,
918
919         0,  213,  212,  227,  227,    0,    0,    0,    0,  253,
920       278,  278,    0,  268,  267,  278,  278,    0,    0,  335,
921         0,    0,  335,  335,  335,  352,    0,    0,  378,    0,
922       379,  405,    0,  389,  388,  405,  405,  405,    0,    0,
923         0,    0,  232,  421,  455,  437,  437,  437,  437,    0,
924       481,    0,    0,  481,    0,  502,    0,  503,  515,    0,
925         0,  522,  521,    0,    0,    0,  528,  527,    0,    0,
926         0,    0,    0,  564,    0,    0,  565,    0,    0,    0,
927         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
928         0,    0,    0,  608,  607,    0,  610,  609,  624,    0,
929
930         0,    0,    0,    0,   22,   21,   31,   76,   88,    0,
931         0,    0,  150,  173,    0,  298,  339,    0,  409,  420,
932       520,    0,    0,    0,   30,   87,    0,    0,    0,  149,
933       172,    0,  297,  519,    0,    0,    0,   51,    0,  340,
934         0,    0,   72,   72,   72,   77,    0,   98,    0,   94,
935        93,    0,    0,    0,    0,    0,  160,  159,    0,  227,
936       227,  227,    0,  199,  198,  227,  227,  227,    0,    0,
937         0,    0,  239,    0,  247,  246,    0,    0,  278,  278,
938       278,  278,    0,    0,  335,    0,  317,  316,  335,  335,
939       335,  352,    0,    0,  378,  405,  405,  405,  405,  410,
940
941         0,  412,  411,    0,  421,    0,    0,  437,  437,  437,
942         0,  481,    0,  473,  472,  481,    0,  482,  502,  515,
943         0,  516,    0,  524,  523,    0,    0,  539,  538,    0,
944         0,  564,  640,    0,  570,  569,    0,    0,    0,    0,
945         0,    0,    0,    0,    0,    0,    0,    0,  595,  594,
946       624,    0,    0,    0,    0,   76,   88,    0,    0,    0,
947       283,  339,    0,  409,    0,    0,  604,   87,    0,    0,
948         0,  282,    0,    0,  603,   51,    0,   52,  340,    0,
949        58,   57,    0,    0,   72,   72,   77,    0,    0,    0,
950         0,    0,    0,    0,    0,  169,  227,  227,  227,  227,
951
952         0,    0,  227,  227,    0,    0,    0,    0,  228,    0,
953       249,  248,  278,  278,  278,  278,    0,    0,  305,    0,
954         0,  335,  335,  335,  335,    0,    0,    0,    0,    0,
955         0,  405,  405,  405,  405,  410,    0,    0,  423,  422,
956         0,    0,  437,  437,    0,  438,    0,    0,  481,  502,
957       515,    0,  533,    0,    0,  564,    0,    0,    0,    0,
958         0,    0,    0,    0,    0,    0,    0,  624,    0,    0,
959         0,    0,    0,    0,    0,  283,  356,    0,    0,  604,
960         0,    0,    0,  282,    0,    0,  603,   51,    0,   62,
961        61,    0,    0,    0,    0,    0,   84,    0,   90,   89,
962
963         0,   99,    0,    0,    0,  227,  227,  227,  227,    0,
964       201,  200,  227,  227,    0,    0,    0,    0,    0,    0,
965       278,  278,    0,    0,    0,    0,    0,    0,  311,  310,
966       335,  335,  335,    0,    0,    0,    0,    0,    0,  353,
967         0,    0,  374,  373,  405,  405,    0,    0,    0,    0,
968         0,  417,    0,  427,  426,    0,    0,    0,    0,    0,
969         0,    0,  481,  502,  515,    0,  357,  564,    0,    0,
970         0,    0,    0,    0,    0,    0,    0,    0,    0,  624,
971         0,    0,    0,    0,    0,  120,    0,  356,    0,    0,
972         0,  119,    0,    0,    0,    0,    0,    0,    0,    0,
973
974         0,   68,   67,    0,    0,    0,  227,  227,    0,    0,
975       227,  227,  227,    0,    0,    0,    0,    0,    0,    0,
976         0,  278,    0,    0,    0,  272,  271,    0,  274,  273,
977         0,  294,  335,  335,  335,    0,  331,  330,    0,    0,
978         0,    0,    0,    0,    0,  405,    0,    0,    0,  399,
979       398,    0,  401,  400,    0,    0,    0,    0,  433,  432,
980         0,    0,    0,    0,    0,    0,  481,    0,    0,    0,
981         0,    0,  357,    0,    0,    0,    0,    0,    0,  574,
982         0,    0,    0,    0,  573,    0,    0,    0,    0,  625,
983         0,    0,    0,    0,  120,    0,  537,    0,    0,  119,
984
985         0,  536,    0,    0,    0,    0,    0,    0,    0,    0,
986         0,    0,    0,  227,    0,    0,    0,  193,  192,    0,
987         0,  227,  227,    0,    0,    0,    0,    0,    0,    0,
988         0,  278,    0,  262,  261,  335,    0,    0,  335,    0,
989         0,    0,    0,    0,    0,    0,  366,  405,    0,  391,
990       390,    0,    0,    0,    0,    0,    0,    0,    0,    0,
991         0,    0,    0,  481,    0,    0,    0,    0,  509,  508,
992         0,    0,  560,  559,    0,    0,    0,    0,    0,    0,
993         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
994       103,    0,  537,  568,  102,    0,  536,  567,    0,    0,
995
996         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
997         0,    0,  129,    0,  227,    0,  191,  190,    0,  195,
998       194,  227,  227,    0,    0,    0,    0,    0,    0,    0,
999         0,  278,  335,    0,  319,  318,  335,    0,    0,  342,
1000         0,    0,  341,  405,    0,    0,    0,    0,    0,    0,
1001         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1002         0,    0,    0,    0,    0,    0,    0,    0,    0,  580,
1003         0,    0,    0,  579,    0,    0,    0,    0,    0,    0,
1004         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1005       103,    0,  568,  102,    0,  567,    0,    0,    0,    0,
1006
1007         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1008       227,    0,    0,  227,    0,    0,  217,    0,    0,    0,
1009       216,    0,  278,    0,    0,    0,    0,    0,    0,    0,
1010         0,  405,    0,    0,    0,    0,    0,    0,    0,    0,
1011         0,    0,    0,    0,    0,  477,  476,    0,    0,    0,
1012         0,    0,    0,    0,    0,    0,  550,    0,    0,    0,
1013         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1014         0,    0,    0,    0,    0,    0,    0,    0,  133,  132,
1015        43,    0,   47,    0,   42,    0,   46,    0,   64,    0,
1016        63,    0,    0,  116,    0,  227,    0,    0,    0,    0,
1017
1018         0,    0,    0,  219,    0,    0,  218,  278,    0,  313,
1019       312,    0,    0,    0,  344,  346,  343,  345,  405,  429,
1020         0,  428,    0,    0,  463,  459,    0,    0,  462,  458,
1021         0,  494,    0,  498,    0,  493,    0,  497,    0,  578,
1022         0,    0,  577,    0,    0,    0,  587,  616,    0,  620,
1023         0,  615,    0,  619,    0,    0,    0,    0,   12,    0,
1024        12,    0,  133,  132,   41,   45,   40,   44,    0,    0,
1025         0,  227,    0,    0,    0,    0,    0,  215,  214,    0,
1026         0,    0,    0,  278,    0,    0,    0,    0,    0,    0,
1027       405,    0,    0,    0,    0,    0,    0,  492,  496,  491,
1028
1029       495,  572,  576,  571,  575,  614,  618,  613,  617,    0,
1030         0,    0,    0,    0,    0,    0,    0,  146,    0,    0,
1031         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1032         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1033         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1034         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1035         0,    0,    0,    0,    0,    0,    0,    0,  221,    0,
1036       220,    0,  260,  259,    0,    0,    0,    0,    0,    0,
1037         0,    0,    0,    0,    0,  385,  384,    0,    0,  457,
1038         0,  456,    0,    0,   11,   66,   65,    0,    0,    0,
1039
1040         0,    0,    0,    0,    0,    0,    0,    0,    0,  223,
1041       222,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1042         0,  431,  430,    0,    0,    0,    0,    0,    0,    0,
1043         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1044         0,    0,  329,    0,    0,    0,    0,  328,  461,  460,
1045         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1046         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1047         0,    0,    0,    0,    0,    0,    0,    0,  203,    0,
1048         0,    0,  202,    0,    0,    0,  321,    0,    0,    0,
1049       320,    0,    0,    0,    0,    0,    0,  209,    0,    0,
1050
1051       208,    0,    0,  327,    0,    0,  326,    0,    0,    0,
1052         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1053         0,    0,    0,    0,  179,    0,  178,    0,    0,    0,
1054         0,    0,    0,    0,    0,    0,    0,  181,  180,  207,
1055         0,  206,    0,  325,    0,  324,    0,    0,    0,  205,
1056       204,  323,  322,    0,    0,    0,    0,    0,    0,    0,
1057         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1058         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1059         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1060         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1061
1062         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1063         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1064         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1065         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1066         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1067         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1068         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1069         0,    0,   14,    0,    0,    0,    0,    0,    0,    0,
1070         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1071         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1072
1073         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1074        13,    0
1075     } ;
1076
1077 static const YY_CHAR yy_ec[256] =
1078     {   0,
1079         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
1080         1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
1081         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1082         1,    2,    5,    6,    7,    1,    1,    8,    9,    1,
1083         1,    1,    1,    1,   10,   11,   12,   13,   13,   13,
1084        13,   14,   13,   13,   13,   15,   13,   16,   17,   18,
1085        19,   20,   21,    1,   22,   23,   24,   25,   26,   27,
1086        28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
1087        31,   38,   39,   40,   41,   42,   43,   44,   45,   46,
1088        47,    1,   48,    1,   49,    1,   50,   51,   52,   53,
1089
1090        54,   55,   56,   57,   58,   31,   59,   60,   61,   62,
1091        63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
1092        73,   74,    1,    1,    1,    1,    1,    1,    1,    1,
1093         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1094         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1095         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1096         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1097         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1098         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1099         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1100
1101         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1102         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1103         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1104         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1105         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1106         1,    1,    1,    1,    1
1107     } ;
1108
1109 static const YY_CHAR yy_meta[75] =
1110     {   0,
1111         1,    2,    2,    2,    1,    1,    1,    1,    1,    3,
1112         3,    1,    4,    4,    4,    5,    6,    1,    7,    8,
1113         1,    9,    9,    9,    9,    9,    9,    5,    5,    5,
1114         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
1115         5,    5,    5,    5,    5,    5,    1,    1,    5,    9,
1116         9,    9,    9,    9,    9,    5,    5,    5,    5,    5,
1117         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
1118         5,    5,    5,    5
1119     } ;
1120
1121 static const flex_int16_t yy_base[4476] =
1122     {   0,
1123         0,    0,    0,    3,    6,    9,   12,   29,   16,   19,
1124        14,   17,   33,   36,   49,   55,   45,   61,  109,  175,
1125        66,   72,   76,   79,   83,  129,  132,  135,  140,  195,
1126       198,  201,  206,  224,  227,  232,  235,  244,  252,  255,
1127       261,  264,  272,  281,  284,  289,  292,  301,  309,  312,
1128       318,  321,  329,  338,  341,  346,  364,  431,  384,  387,
1129       390,  395,  412,  451,  454,  457,  498,  565,  462,  479,
1130       518,  521,  524,  529,  546,  585,  632,  702,  588,  591,
1131       772,  832,  596,  613,  892,  959,  652,  655,  658,  663,
1132       680,  683,  722,  725, 1026, 1093,  728,  733,  750,  753,
1133
1134       792,  795,  798,  803, 1160, 1227,  852,  855,  858,  863,
1135       912,  915,  918,  923, 1294, 1361,  940,  979, 1428,    0,
1136       982,  985,  990, 1007, 1046, 1049, 1052, 1057, 1502, 1560,
1137      1074, 1113, 1116, 1119, 1124, 1141, 1180, 1183, 1618, 1689,
1138      1186, 1191, 1208, 1247, 1250, 1253, 1258, 1275, 1760, 1827,
1139      1314, 1317, 1320, 1325, 1381, 1384, 1387, 1392, 1894, 1963,
1140      1522, 1525, 2032, 2087, 1528, 1533, 1580, 1583, 1586, 1591,
1141      1638, 1641, 2142, 2209, 1644, 1649, 1667, 1670, 1709, 1712,
1142      1715, 1720, 2276, 2334, 1738, 1741, 2392, 2462, 1780, 1783,
1143      2532, 2599, 1786, 1791, 2666, 2733, 1847, 1850, 1853, 1858,
1144
1145      2800, 2870, 1914, 1917, 1920, 1925, 1942, 1983, 1986, 1989,
1146      1994, 2011, 2052, 2055, 2058, 2063, 2107, 2110, 2113, 2118,
1147      2162, 2165, 2940, 3007, 2168, 2173, 2229, 2232, 2235, 2240,
1148      2296, 2299, 3074, 3144, 2302, 2307, 3214, 3281, 2354, 2357,
1149      3348, 3415, 2360, 2365, 2412, 2415, 2418, 2423, 2440, 2443,
1150      3482, 3540, 2482, 2485, 3598, 3666, 2488, 2493, 2510, 2513,
1151      2552, 2555, 2558, 2563, 3734, 3801, 2580, 2619, 2622, 2625,
1152      2630, 2647, 2686, 2689, 3868, 3932,  203,  800, 3996, 4064,
1153      2692, 2697, 4132, 4198, 2753, 2756, 2759, 2764, 2820, 2823,
1154      2826, 2831, 2848, 2851, 2890, 2893, 2896, 2901, 2918, 2921,
1155
1156      2960, 2963, 2966, 2971, 2988, 3027, 3030, 3033, 3038, 3055,
1157      3094, 3097, 3100, 3105, 3122, 3125, 3164, 3167, 3170, 3175,
1158      4264, 4331, 3192, 3195, 3234, 3237, 3240, 3245, 3301, 3304,
1159         0,    0, 9902,14462,14462,   96,  100,   29,   41,14462,
1160       103,   51,14462,14462, 9891,14462,14462, 9879,14462, 9894,
1161      9888,  822,14462,14462,14462,14462, 9886, 9885, 9832,14462,
1162       157, 9859,    0,   87,14462, 9824, 9813,14462,  160, 4394,
1163      9810, 4464, 3313, 3324,  286,   77, 9848,   27,   74, 3257,
1164       411, 9847,   13,14462,  166, 9823,    0,  144,14462, 9775,
1165      9768,  100,14462,  349,  237,   91,  179,14462,  359, 9817,
1166
1167         0,  239,14462, 9763, 9766, 9759, 9750, 9743,14462,  422,
1168        16, 9750,  205,14462,  425, 9779,    0,  256,14462, 9747,
1169     14462,  486,  398,14462,  489, 9775,    0,  313,14462, 9744,
1170      9739, 9740,14462,  492,  539,14462,  623, 9769,    0,  333,
1171     14462, 9720, 9696, 9693,14462,  686,  410,  208,14462,  689,
1172      9738,    0,  375,14462, 9681, 9681,14462,  692,  474,  294,
1173     14462,  756, 9721,    0,  442,14462, 9666, 9660, 9664,14462,
1174       759,  544,  343,14462,  762, 9704,    0,  509,14462, 9651,
1175      9665, 9662, 9640, 9655,  331,14462,  822,  810,14462,  882,
1176      9683,    0,  538,14462,  101, 9629, 9638,  547, 9623,  162,
1177
1178       554, 9621,14462,  947, 9671,  345,14462,  950, 9661,    0,
1179       643,14462, 9627,14462,  953, 9666,  409,14462, 1014, 9656,
1180         0,  713,14462, 9622, 9619, 9587,14462, 1017, 9640,  473,
1181     14462, 1020, 9615,    0,  806,14462, 9562, 9568, 9576, 9561,
1182       150,14462, 1078,  228,   93,  517,14462, 1081, 9606,    0,
1183       807,14462, 9551, 9560, 9543,14462, 1084,  926,14462, 1087,
1184      9582,    0,  870,14462, 9543,14462, 1145,  220,  249,  607,
1185     14462, 1148, 9579,    0,  903,14462, 9540, 9535, 9533,    3,
1186     14462, 1151, 9570,  805,14462, 1154, 9552,    0,  970,14462,
1187      9513, 9516,14462, 1215,  993,14462, 1218, 9539,    0, 1037,
1188
1189     14462, 9504, 9506,14462, 1221, 1194,14462, 1282, 9534,    0,
1190      1104,14462, 9495, 9475,14462, 1285, 1261,14462, 1288, 9518,
1191         0, 1171,14462, 9467, 9464, 9464, 9473, 9474,  403,14462,
1192      1344, 1328, 1329,14462, 1353, 9499,    0, 1238,14462, 9463,
1193     14462, 1411, 3266,  352,  488, 1347,  557,  859,14462, 1414,
1194      9496,    0, 1305,14462, 9445, 9448, 9451, 9430, 9421,14462,
1195      1420,  546,  865,14462, 1550, 9461,    0, 1332,14462, 9425,
1196      9427,14462, 1553, 1591,14462, 1611, 9455,    0, 1399,14462,
1197      9420, 9402, 1484, 9404,  609,14462, 1675, 1727,14462, 1678,
1198      9432,    0, 1571,14462, 9380,  262,14462, 1747, 1546, 1001,
1199
1200     14462, 1750, 9422,    0, 1595,14462, 9374, 9382,14462, 1811,
1201      1861,14462, 1817, 9414,    0, 1629,14462, 9364, 9355, 9364,
1202      9342,14462, 1884, 9402, 1060,14462, 1946, 9392,    0, 1700,
1203     14462, 9344, 9353, 9337, 9341,14462, 1951,  617, 9336, 1127,
1204     14462, 1954, 9366,    0, 1771,14462, 9327, 9330, 9324, 1997,
1205      9329,14462, 2020, 9355,    0, 1795,14462, 9310, 9311, 9301,
1206     14462, 2023, 2063,14462, 2135, 9342,    0, 1801,14462, 9308,
1207      9292,14462, 2192, 3387, 9289, 3391, 9299, 3454, 1339, 1859,
1208      2794, 1313,14462, 2195, 9330,    0, 1838,14462, 9281, 9269,
1209       602,14462, 2201, 1671, 1527, 2204,  723, 9262,14462, 9323,
1210
1211      9311,14462,14462,14462, 2249,  110, 9251, 9250, 9241, 9282,
1212     14462,    0, 3308, 9231, 9267, 9249,  822,  624, 1820, 9226,
1213      9214, 9214, 9200, 9194,  936, 1281, 9187, 9188, 9189, 1003,
1214      9208,  694, 1876, 9183, 9177, 9179, 1204, 1605, 9168, 9168,
1215      9162, 9168,  697, 1545, 9138, 9161, 1468, 9135, 1613, 1614,
1216      1945, 2014, 1956, 1684,14462,    0, 9129, 9146, 9142, 9116,
1217      9154, 9111,14462,    0, 9106, 9099, 9101, 9111, 9104, 9098,
1218       880,14462,    0, 9083, 9092,14462,    0, 9070, 3370, 9063,
1219      9069,14462,    0, 9050, 9061, 9057, 9056,14462,    0, 9034,
1220      9049, 9048,14462,    0, 9020, 9038, 9028, 9028,14462,    0,
1221
1222      3437, 3445, 9009, 9018, 9018, 9012, 9010, 9006,14462,    0,
1223      9001, 3505, 8980, 3508, 8977, 8979, 8976, 8979, 8979, 8961,
1224      8967, 8957, 8954, 8944, 8954,14462,    0, 3512, 8943,14462,
1225         0, 3516, 8937, 8928, 8923,14462,    0, 8925,  263, 3519,
1226      8905, 8910, 8912, 8902, 8899, 8889,14462,    0, 8880, 3560,
1227      3563, 8888,14462,    0, 8883, 8881,14462,    0, 8863, 3566,
1228      8852, 8869, 8867, 8856,14462,    0, 8848, 3570, 8846,14462,
1229         0, 3574, 8835, 8832,14462,    0, 8826, 8803, 8804,14462,
1230         0, 8804, 8802, 8771, 3618, 8765, 8777, 8780, 8763, 8766,
1231     14462,    0, 8743, 8744, 1148, 2022, 1737, 1967, 2069, 1745,
1232
1233     14462,    0, 8744, 8731, 8737, 8746, 8744, 8728,14462,    0,
1234      3621, 8731, 8713,14462,    0, 8714, 3624, 8702, 8706, 8693,
1235      8700, 8692, 8691, 8677,14462,    0, 8673, 8684, 8674, 8667,
1236     14462,    0, 8665, 3628, 8660,14462,    0, 8657, 8661, 3632,
1237      8658, 8653,14462,    0, 8657, 3686, 8664, 8642, 8626, 8628,
1238     14462,    0, 8626, 3689, 8619,  205, 8615, 8662,14462,    0,
1239      8611, 8602, 8612, 8593,14462,    0, 3692, 8590, 8579, 2124,
1240     14462,    0, 8584, 8598, 8593, 8583, 8568, 8614, 8623, 2104,
1241      8549,14462, 2257,    0, 8545, 8544, 8588, 8569, 8522,14462,
1242      3696, 2324, 8515, 3699, 3754, 2382, 8510, 8521, 8521, 8507,
1243
1244      8519, 8495, 8497, 8491, 8489, 8496, 8483, 2132, 8489, 8490,
1245      8476, 8475, 8454, 8459, 8464, 8451, 8448, 2386, 8458, 8444,
1246      8456, 8436, 8420, 8433, 8422, 8428, 8408, 8413, 8424, 8407,
1247      2452, 8404, 8401, 2519, 8399, 8390, 8383, 8372, 3757, 3764,
1248      3760, 3768, 3821, 3824, 8378, 8382, 8365, 8371, 8375, 8362,
1249      3830, 3902, 8371, 8356, 3834, 3889, 8371, 3892, 2584, 8368,
1250      3897, 3910, 3954, 3959, 3962, 3965, 3968, 3972, 4016, 4019,
1251      4025, 4028, 4034, 4086, 4089, 4093, 4100, 2650, 4112, 2719,
1252      4152, 4159, 4165, 4170, 4173, 4104, 4230, 2194, 4218, 2786,
1253      8367, 4223, 2858, 4236, 8346, 8338, 8346, 8341, 8329, 8330,
1254
1255      8340, 8325, 8315, 4227, 4287, 4284, 2924, 4290, 4293, 4296,
1256      3132, 8324, 8307, 4302, 4351, 8312, 8303, 8313, 4355, 3202,
1257      8312, 8307, 8291, 4360, 4363, 8280, 2172, 8283, 4366, 3262,
1258      4373, 3402, 4387, 4393, 8290, 4398, 4401, 8289, 4408, 3468,
1259      8286, 8273, 8269, 4420, 4429, 8275, 4434, 3651, 4439, 4462,
1260      4469, 3719, 8255, 4472, 4476, 8269, 8255, 4487, 4491, 8262,
1261       343, 8252, 4499, 3980, 4531, 8262, 8247, 4506, 4538, 8263,
1262      8238, 4541, 4544, 8236, 8239, 8234, 8232, 8229, 8208, 8213,
1263      8216, 8200, 4549, 4553, 4563, 4054, 8196, 4568, 4573, 8209,
1264      4576, 4179, 4581, 8183, 4587, 8182, 8185, 8188, 4594, 4605,
1265
1266      4599, 4608, 4613, 4618, 4626, 8169, 4631, 4321, 4638, 4641,
1267      8125, 8106, 4645, 4650, 8114, 4663, 4666, 8099, 4669, 4673,
1268      8107, 8099, 4688, 4691, 2196, 8098, 4694, 4697, 8092, 8121,
1269      4712, 4715,14462, 8083, 8089, 8089, 4718, 4721, 4724, 4727,
1270      8062, 4742, 4745, 4748, 4751, 4754, 4772, 4775, 4780, 8100,
1271     14462,14462,  718, 8058,14462, 8096, 8080, 8024,14462,14462,
1272      8021, 4790,14462,14462, 8020, 4786, 4799,14462, 4807, 2522,
1273      8011, 8009, 7998, 7995, 8002, 7993, 7982, 7993, 7966, 7955,
1274      7952, 7950, 7952, 7943, 7912, 7892, 1217, 7899, 7882, 7863,
1275      7873, 7869, 1481, 2593, 7844, 7846, 7836, 7802, 7771, 7726,
1276
1277      7726, 7676, 7650, 7643, 7632, 7630, 7627, 7558, 7551, 7549,
1278      7548, 7525, 7486, 4810, 4819, 7390, 7378, 4813, 4832, 7366,
1279      4842, 4845,14462, 4848, 7340, 7312, 4851, 7329, 7259, 7210,
1280      4854, 4857,14462, 4869, 7187, 7197, 4876, 4879,14462, 4882,
1281      7154, 4888,14462,14462, 7118, 4901, 4904,14462, 4907, 4913,
1282      4916, 7071, 7021, 4926, 4937, 4931, 4945,14462, 4950, 4953,
1283      4958, 4971, 4974, 4982, 4985,14462, 4989, 4992, 4995, 6912,
1284      6884, 5004, 5013, 5022, 5025,14462, 5028, 5031,14462,14462,
1285      5048,14462,14462, 5056, 5059, 6834, 6809, 6763, 6752, 5067,
1286      5070,14462, 5074, 6680, 6674, 6638, 5077,14462,14462, 5093,
1287
1288      5096,14462,14462, 5104, 5107, 6572, 6569, 6561, 6561, 6509,
1289      6502, 6484, 6477, 1499, 5115, 5118,14462, 5124, 5127,14462,
1290     14462, 5137, 5143,14462, 5146, 5149,14462,14462,   39,  224,
1291      5157, 5165,14462, 5168,  257,  293, 5171, 5177,14462,14462,
1292       400,  423,  481, 5192, 5195,14462, 5198,  482,  500, 5201,
1293      5207,14462,14462, 5219,14462,14462, 5227, 5230,14462, 5234,
1294      5237, 5240, 5249,14462, 5255,  492, 5264,14462,14462,  539,
1295       544,  576, 5259, 5274,14462, 5278,  617, 5281,14462,14462,
1296      5289, 5293,14462, 5300, 5308,14462,14462,  618, 5319, 5322,
1297     14462, 5325, 5328, 5331, 5334, 5349,14462, 5353,  639,  638,
1298
1299       670,  688, 5357,14462,14462, 5368, 5373,  692,  715, 5381,
1300      5386,14462, 5389,  720,  751, 5392, 5395,14462, 5400,  751,
1301       808, 1597,  811,  800, 5414,  840,  878,  866, 5421, 5424,
1302     14462, 5427, 5433,14462,14462,  881, 5449, 5452,14462, 5455,
1303       871, 5458,14462,14462, 5474, 5477, 5485, 5492, 5496,  943,
1304      5504,  946, 5510, 5513,14462, 5517, 5522, 5525, 5536, 5540,
1305       947, 5548, 5554,14462, 5557,  951, 5560,14462,14462, 5568,
1306      5578,14462, 5581, 1010, 1012, 5587,14462,14462, 1038, 5600,
1307      5603,14462, 5607, 1017, 5610,14462,14462, 1069, 5626, 5629,
1308      5632,14462, 5635, 1076, 5638, 5656,14462,14462, 5644, 1107,
1309
1310      5664, 5669,14462, 5672, 1079, 5675, 1081, 5679, 5683,14462,
1311      5693, 5702,14462,14462, 1078, 5698, 5712,14462, 5717, 5721,
1312      5724, 1071, 1130, 5732, 5743, 1143, 5751, 5754,14462, 5757,
1313      1386, 5760,14462,14462, 1185, 1186, 1143, 5763,14462, 1194,
1314      1201, 1211, 1279, 1269, 1277, 1324, 1340, 2660, 2727, 1331,
1315      2794, 1341, 1476, 2998, 1492, 1543, 3065, 1539, 1563, 1604,
1316      1603, 3341, 3476, 1589, 1609, 1608, 1658, 1657, 3592, 1657,
1317      3660, 3727, 1674, 1679, 1692, 4126, 1691, 4155, 5766, 1729,
1318      1748, 1763, 5782,14462,14462, 1755, 1773, 5790,14462,14462,
1319      1758, 5798, 3786, 1800, 5803, 5806, 1795, 1806, 1818, 5821,
1320
1321      1808, 5824, 5827, 1814, 1826, 5830, 5833,14462,14462, 1816,
1322      1837, 5842,14462,14462, 5850, 5853,14462,14462, 5862,14462,
1323     14462, 5870, 5873,14462,14462, 1822, 1840, 5889,14462,14462,
1324      5883, 5902,14462,14462, 1821, 1880, 5910, 1859, 5914, 5919,
1325      5922, 5928, 5933, 5940, 5951,14462,14462, 5960, 5963, 5966,
1326      5972, 5984, 5990, 5993, 5996, 6002, 6014, 6021, 6024, 1883,
1327      1888, 6027, 1890, 1893, 6032, 6051, 1905, 6059, 1912, 6067,
1328      3794, 1894, 6070, 6088, 6078, 6081, 6100, 6108, 1921, 1942,
1329      1937, 1951, 6111, 1935, 6114, 6117, 6120, 6123, 6135, 1949,
1330      6145, 1970, 6148, 1960, 1973, 6151,14462,14462, 6159, 1999,
1331
1332      6173, 2008, 2006, 6177, 2005, 2020, 2029, 2023, 2045, 6180,
1333      6183, 2050, 2065, 2077, 6192, 6198, 6201, 2077, 6207,14462,
1334     14462, 6216, 6220, 6228,14462,14462, 2080, 6238, 6244, 2079,
1335      6252, 6257,14462,14462, 6265,14462,14462, 2073, 6273, 2100,
1336      6276, 2116, 2116, 2126, 6279, 2119, 6282, 6285, 6288, 6304,
1337      2122, 6307, 6310, 2135, 2170, 6319, 2178, 6327, 6331, 6345,
1338      6348, 2184, 6352, 6356,14462,14462, 2180, 2199, 6371,14462,
1339     14462, 2184, 6379, 2287, 2235, 6382,14462, 2239,14462,14462,
1340      2210, 2200, 3843, 2219, 2212, 2225, 2254, 2258, 2257, 3853,
1341      3862, 2255, 2263, 3916, 2266, 2270, 3925, 3990, 2259, 2264,
1342
1343      4118, 2289, 4192, 2309, 4259, 4123, 2303, 4249, 2302, 2308,
1344      2306, 2320, 2322, 4426, 2317, 2326, 4495, 4502, 6385, 2324,
1345      6388, 6391, 2328, 2341, 2356, 6394, 6401, 6405, 6408, 6411,
1346      6414, 2372, 2365, 6417,14462,14462, 2371, 2371, 2364, 6436,
1347      2380, 6439, 6444, 6459, 2382, 2364, 6462, 6466, 6469, 6472,
1348      6487, 6491, 6495, 6501, 6513, 6521, 6524, 6527, 6542, 6545,
1349      6548, 6553, 6567, 6570, 6573,14462,14462, 6581, 6589, 6592,
1350      6595, 6599, 6602, 6613, 6620, 6631, 6635, 6640, 6649, 6658,
1351      2367, 2398, 6661, 2400, 2391, 6664,14462,14462, 6672, 6680,
1352      6684, 2402, 2404, 6698, 6701, 6704, 6717,14462,14462, 6707,
1353
1354      6726,14462,14462, 6711, 2407, 2405, 2437, 2439, 6734, 2440,
1355      6737, 6740, 6743, 6758, 6761,14462,14462, 2445, 6769, 2450,
1356      6772, 6779, 6790, 2440, 6793, 6796, 2449, 2450, 6804, 2444,
1357      2446, 6811, 6817, 2463, 2460, 2468, 2467, 6823,14462,14462,
1358      2490, 2503, 2496, 6831, 6836, 6839, 6850, 2500, 6854,14462,
1359     14462, 2509, 6865,14462,14462, 2501, 6873, 2506, 6876, 2512,
1360      6879, 6884, 6887, 6898, 6906, 2507, 6909, 6912, 6935,14462,
1361     14462, 6920, 2528, 6943,14462,14462, 2520, 2549, 6955, 2523,
1362      6958, 4490, 5335, 6969, 6974, 6982, 2536, 6987, 6991, 6994,
1363      6997, 7001, 2618, 2595, 2678,14462, 7015, 2576, 7020, 2569,
1364
1365      2573, 2681, 2568, 2573, 7023, 2583, 2588, 2576, 2581, 7026,
1366      2592, 2593, 7029, 7038, 7041, 2628, 7044, 2645, 2633, 2651,
1367      2644, 2727, 2640, 2643, 2653, 2658, 7047, 7050, 2666, 7053,
1368      2712, 2700, 2748, 2864, 7056, 7062, 7070, 7074, 2714, 7082,
1369      2707, 2716, 2718, 2718, 2741, 7088, 2769, 7091,14462,14462,
1370      7101, 2764, 7107, 7110, 7113, 7116, 7125, 7131, 7139, 7143,
1371      7149, 7158, 7167, 7172, 7180, 7185, 7188, 7199, 7205,14462,
1372     14462, 7213, 7217, 7225, 7231,14462,14462, 7239, 7246, 2778,
1373      2788, 2780, 7257, 7260, 7268, 2782, 2793, 7271,14462,14462,
1374      7279, 7282, 2790, 2784, 7290, 7293, 7297, 7300, 7303,14462,
1375
1376      2801, 2813, 7318, 7322, 7330,14462,14462, 2807, 2843, 7338,
1377     14462, 7154, 7343, 7348, 2838, 7351, 2858, 2851, 7357,14462,
1378      2849, 7362, 7370,14462,14462, 7382, 2883, 7385, 2857, 7388,
1379     14462,14462, 7404, 7407, 2866, 7415,14462,14462, 2871, 2873,
1380      7423,14462, 2866, 7426, 7430, 7433, 7436, 2867, 7444, 2873,
1381      2876, 2869, 2898, 7449, 7452,14462,14462, 7460,14462, 2908,
1382      7463, 2914, 7468, 2918, 7471, 2927, 7474, 7481, 7493, 7501,
1383      7504, 7508, 7522, 7528, 7532,14462,14462, 7541, 2915, 2928,
1384      2960, 7546, 7549, 2961, 2949, 2964, 2956, 2974, 2962, 3016,
1385      2967, 7553,14462,14462, 7561, 7567, 7570,14462, 7573, 7585,
1386
1387      7580, 7598, 2947, 7609, 3023, 3019, 3024, 7612, 7615, 7623,
1388      2955, 2993, 3011, 2989, 2990, 7630, 7633, 7636, 2998, 7639,
1389      2999, 2997, 3004, 7642, 7645, 7648, 7651, 3009, 3037, 7654,
1390      3052, 3071, 3048, 3050, 7657, 7660, 3052, 7663, 7666, 7671,
1391      3053, 3049, 7674,14462,14462, 7682,14462,14462, 3067, 7690,
1392      3058, 7693, 7699, 7702, 7705, 7711,14462, 3062, 7723, 3074,
1393      7726, 7730, 7738, 7745,14462,14462, 7753,14462,14462, 7761,
1394      7767, 7770,14462,14462, 7786,14462,14462, 7794, 7800,14462,
1395     14462, 7808, 7813, 7822,14462,14462, 7830, 7833,14462,14462,
1396      3071, 3077, 3090, 7842,14462,14462, 7850, 7853, 3089, 3096,
1397
1398      7861,14462,14462, 3125, 7869, 7872, 7875, 7878, 7881, 7897,
1399      3116, 3112, 7900,14462,14462, 3121, 3123, 7908, 7911, 3127,
1400      7915, 7918, 3131, 3123, 3129, 3128, 7933, 7938, 3147, 7941,
1401     14462, 3141, 7945,14462,14462, 3135, 3147, 3149, 3151, 7953,
1402      7965, 7960, 7973, 7979, 7982, 7985, 7988, 7991, 7994, 8012,
1403      3164, 8015, 8018, 3195, 8026, 3194, 8033,14462, 3182, 8036,
1404      8041,14462,14462, 8056, 8059, 8067,14462,14462, 8078, 8081,
1405      8084, 8092, 3185, 3195, 3207, 8099,14462, 8102, 8105, 3221,
1406      3218, 3219, 3225, 3241, 3234, 3234, 3234, 3241, 3251, 8113,
1407      8120, 8125, 8134,14462,14462, 8145,14462,14462, 3245, 8153,
1408
1409      8156, 3320, 3313, 8160,14462,14462, 8168, 8175, 8178, 3247,
1410      3246, 3258, 8181, 8184, 3275, 8187, 8190, 3273, 8193, 8196,
1411      8199, 3270, 3279, 3316, 8202, 8205, 3305, 3309, 3323, 8208,
1412      8211, 3327, 8214, 8217, 3322, 3329, 3339, 3344, 8221, 8224,
1413      8227, 8230, 8240, 8245, 8248, 8251, 8254, 8258, 8266,14462,
1414     14462, 8276, 8280, 8283, 8286, 8289,14462,14462, 8305, 3341,
1415      3342, 3386, 8308,14462,14462, 8324, 3339, 3346, 8329, 8332,
1416      8348, 8351,14462, 8354,14462,14462, 8362, 8370, 3352, 3358,
1417      3360, 3377, 8380, 8383, 8386, 8389,14462,14462, 8404, 8407,
1418      8410, 8413, 8416, 8435, 8441, 3385, 3391, 3396, 3398, 8444,
1419
1420      8447,14462,14462, 8455, 8463, 8469, 8477, 8487, 8490, 8493,
1421      8500, 8496, 8515,14462,14462, 8523, 8526,14462, 3407, 3404,
1422      8529,14462, 8532,14462,14462, 8548, 8551,14462,14462, 8559,
1423      3397, 3399,14462, 8563,14462,14462, 3444, 3433, 3449, 3449,
1424      3472, 3479, 3473, 3491, 3493, 3500, 8572, 8578,14462,14462,
1425      3482, 8586, 8591, 3561, 3513, 8594, 8597, 3473, 3469, 3485,
1426      8600, 8610, 3492, 8613, 3502, 3518, 8616, 8619, 3520, 3516,
1427      3532, 8622, 3517, 3529, 8625, 3537, 8628,14462, 8634, 8637,
1428     14462,14462, 8647, 8654, 8665, 8668, 8671, 8674, 8677, 8686,
1429      8695, 8698, 8701, 8704, 8707,14462, 3580, 3571, 3567, 3589,
1430
1431      8710, 8728, 3582, 3590, 8736, 4021, 4289, 8745,14462, 8748,
1432     14462,14462, 3581, 3585, 8756, 8759, 8765, 8769,14462, 8777,
1433      8784, 3603, 3599, 3601, 8780, 8798, 8801, 8809, 8812, 8816,
1434      8819, 3597, 3615, 8834, 8837, 8840, 8843, 8846,14462,14462,
1435      8855, 8858, 8866, 8869, 8874,14462, 8877, 8880, 8888, 3637,
1436      3637, 8895,14462, 8898, 3642, 3634, 3667, 3663, 3682, 3671,
1437      3701, 3684, 3683, 3698, 3701, 3740, 8901, 3709, 8906, 3779,
1438      3832, 3780, 3704, 3721, 3739, 8909, 8920, 3714, 3726, 8925,
1439      3715, 3731, 3753, 8928, 3730, 3776, 8931, 8934, 8938,14462,
1440     14462, 8946, 8952, 8965, 8968, 8976,14462, 8979,14462,14462,
1441
1442      8987,14462, 8990, 8995, 8998, 3776, 3783, 9001, 3783, 9010,
1443     14462,14462, 3800, 3792, 3823, 3875, 3831, 3846, 3888, 3862,
1444      3829, 9019, 9022, 9025, 9040, 9045, 9053, 9058,14462,14462,
1445      3845, 3853, 3866, 9066, 9072, 9080, 3999, 4219, 9088,14462,
1446      9091, 9094,14462,14462, 3852, 9102, 9110, 9113, 9121, 9124,
1447      9132,14462, 9135,14462,14462, 9143, 9147, 9155, 9161, 9169,
1448      4024, 4432, 9177, 9180, 9183, 9186, 9033, 9189, 3901, 3926,
1449      3935, 3955, 3989, 3995, 4011, 4018, 4029, 4043, 9201, 9207,
1450      9210, 4060, 4239, 4298, 3986, 9213, 4023, 9216, 4040, 4047,
1451      4032, 9220, 4054, 4094, 4108, 9225, 9229, 9239, 4210, 4211,
1452
1453      9247,14462,14462, 9258, 9262, 9265, 4102, 9268, 9271, 9277,
1454      9289, 4118, 4132, 4165, 4151, 4175, 4203, 4221, 4217, 4280,
1455      4271, 4270, 9292, 9295, 9303,14462,14462, 9311,14462,14462,
1456      9319,14462, 4261, 9322, 4274, 9326,14462,14462, 4292, 4325,
1457      4335, 4337, 4345, 4345, 9334, 4337, 9340, 9343, 9354,14462,
1458     14462, 9362,14462,14462, 9370, 4410, 4511, 9378,14462,14462,
1459      4350, 4357, 4546, 4356, 4372, 4552, 9386, 9389, 9392, 9400,
1460      9407, 9418, 9421, 9424, 9427, 4389, 4375, 4374, 4378,14462,
1461      4400, 4392, 4394, 4408,14462, 9437, 9442, 9447, 9456,14462,
1462      4492, 4507, 9460, 4423, 9463, 4412, 9466, 4415, 4430, 9469,
1463
1464      4431, 9481, 4469, 9484, 5376, 5776, 4529, 4536, 4556, 4568,
1465      9492, 9495, 9498, 4539, 9501, 9504, 9519,14462,14462, 9527,
1466      9530, 4532, 4547, 4595, 4575, 4586, 4590, 4608, 4588, 4611,
1467      4616, 4605, 9538,14462,14462, 4608, 9546, 9549, 4590, 4635,
1468      4645, 4675, 4641, 4650, 4678, 9560,14462, 4647, 9564,14462,
1469     14462, 4675, 4681, 4679, 4684, 4690, 4702, 4704, 4712, 4720,
1470      4725, 4726, 4735, 9572, 9575, 5975, 6280, 9583,14462,14462,
1471      9591, 9594,14462,14462, 4724, 4744, 4762, 4747, 4731, 4750,
1472      4771, 4763, 9602, 9606, 7034, 7104, 4785, 9614, 9617, 9621,
1473      9636, 4718, 9640, 9644, 9647, 4729, 9653, 9656, 4762, 4781,
1474
1475      4757, 4770, 4790, 4804, 4768, 4783, 4813, 4803, 4837, 4825,
1476      9659, 9662,14462, 9665, 4808, 9668,14462,14462, 9684,14462,
1477     14462, 9692, 4800, 4833, 4835, 4870, 4848, 4852, 4853, 4886,
1478      4859, 4842, 9695, 9698,14462,14462, 9706, 4866, 4886,14462,
1479      4878, 4897,14462, 4868, 4905, 4897, 4916, 4905, 4915, 4932,
1480      4938, 4927, 4933, 4943, 4946, 4940, 9713, 9717, 4945, 4956,
1481      4937, 4949, 4974, 4986, 4950, 4964, 9725, 4991, 4991,14462,
1482      5006, 5009, 5009,14462, 5011, 9733, 5007, 5018, 4983, 4993,
1483      5013, 5029, 4993, 5010, 5069, 9736, 9740, 9748, 9801, 9849,
1484      9759, 5012, 9762, 9767, 5013, 9770, 5076, 5045, 5079, 5021,
1485
1486      5082, 5054, 5092, 5036, 5098, 5074, 5106, 5084, 9773, 9776,
1487      5082, 9779, 9782, 9812, 5102, 5104,14462, 5137, 5119, 5118,
1488     14462, 5153, 5104, 9821, 9824, 9843, 9832, 5159, 5170, 5169,
1489      5173, 5124, 5181, 5149, 5182, 5152, 5181, 5201, 5208, 5177,
1490      5194, 5215, 5217, 5187, 9869,14462,14462, 5239, 5207, 5242,
1491      5182, 5246, 5225, 5262, 5205, 9861,14462, 5268, 5253, 5255,
1492      5280, 5266, 5267, 9880, 5299, 5267, 5302, 5248, 5307, 5279,
1493      5310, 5274, 5347, 9883, 5380, 5399, 9903, 9951, 9891, 9914,
1494     14462, 5337,14462, 5338,14462, 5337,14462, 5339,14462, 5327,
1495     14462, 5343, 9923,14462, 9926, 5307, 9929, 5407, 5443, 9945,
1496
1497      9972, 5378, 5381,14462, 5383, 5388,14462, 5378, 9980,14462,
1498     14462, 9988, 5458, 5934,14462,14462,14462,14462, 5386,14462,
1499      5423,14462, 5426, 5449,14462,14462, 5427, 5452,14462,14462,
1500      5430,14462, 5465,14462, 5467,14462, 5465,14462, 5475,14462,
1501      5485, 5486,14462, 5494, 5500, 9998,14462,14462, 5504,14462,
1502      5516,14462, 5523,14462, 5526, 5525, 5547, 5527, 5530, 5545,
1503      5564,10001, 9937, 9963,14462,14462,14462,14462, 5537, 5538,
1504     10004,10007, 5556, 5558, 5577, 5563,10010,14462,14462, 5561,
1505      5582, 5582, 5591,10025, 5602, 5624, 5591, 5603, 5627, 5592,
1506     10028, 5613, 5616, 5654, 5654, 5673, 5664,14462,14462,14462,
1507
1508     14462,14462,14462,14462,14462,14462,14462,14462,14462,10031,
1509      5685, 5672, 5700,10034, 5670, 5672,10037,14462,10046,10057,
1510      5677, 5696, 5709, 5705, 5699, 5708, 5720, 5711, 5703, 5744,
1511      5727, 5764,10065,10068, 5735, 5743, 5756, 5749, 5760, 5749,
1512      5757, 5773, 5764, 5771,10076,10083, 5763, 5773, 5808, 5794,
1513      5808, 5798,10079, 5820, 5852, 5851,10094, 5842, 5870, 5826,
1514      5834, 5840, 5850, 5846, 5855, 5856, 5869, 5895,14462, 5893,
1515     14462,10102,14462,14462, 5870, 5877, 5877, 5889, 5897, 5891,
1516      5906, 5902, 5915, 5918,10110,14462,14462, 5944, 5942,14462,
1517      5922,14462, 5924, 5939,14462,14462,14462, 5949, 5951, 5959,
1518
1519      5954, 5959, 5976, 5976, 5967, 5978, 5986, 5993, 5992,14462,
1520     14462, 6009, 6015, 6016, 6003, 6039, 6016, 6024, 6030, 6018,
1521      6050,14462,14462, 6058, 6056, 6056, 6027, 6053, 6053, 6074,
1522      6062, 6060, 6080, 6082, 6092, 6089, 6107, 6108, 6106, 6104,
1523      6131, 6133,14462, 6122, 6123, 6141, 6144,14462,14462,14462,
1524      6151, 6135, 6150, 6153, 6160, 6180, 6177, 6209, 6184, 6201,
1525      6191, 6224, 6195, 6212, 6206, 6243, 6210, 6226, 6221, 6253,
1526      6223, 6312, 6240, 6247, 6265, 6272, 6294, 6269,14462, 6266,
1527      6308, 6285,14462, 6283, 6321, 6295,14462, 6299, 6334, 6324,
1528     14462, 6324, 6411, 6326, 6341, 6330, 6344,14462, 6350, 6345,
1529
1530     14462, 6353, 6368,14462, 6396, 6392,14462, 6402, 6396,10118,
1531      6406, 6429, 6418, 6440, 6410, 6429, 6413, 6433, 6434, 6454,
1532      6437, 6458,10121, 6480,14462, 6478,14462, 6490, 6456, 6492,
1533      6462, 6502, 6465, 6502, 6468, 6521, 6533,14462,14462,14462,
1534      6512,14462, 6510,14462, 6516,14462, 6525, 6544, 6560,14462,
1535     14462,14462,14462, 6589, 6611, 6546, 6607, 6830, 6915, 6660,
1536      6522, 6677, 6629, 6713, 6738, 6757, 6767, 6610, 6791, 6797,
1537      6810, 6567, 6827, 6636, 6852, 6692, 6746, 6864, 6770, 6678,
1538      6887, 6728, 6907, 6626, 6803, 6702, 6842, 6884, 6735, 6885,
1539      6829, 6900, 6934, 6912, 6954, 6995, 6961, 7000, 7017, 6931,
1540
1541      7185, 7042, 7202, 6914, 7018, 7068, 7116, 7173, 7165, 7175,
1542      7178, 7245, 7233, 7248, 7234, 7292, 6824, 7337, 6853, 6909,
1543      7015, 7047, 7145, 7219, 7041, 7297, 7298, 7309, 7111, 7323,
1544      7429, 6946, 7342, 7086, 7459, 7349, 7375, 7376, 7402, 7440,
1545      7461, 7469, 7481, 6538, 7204, 7104, 7439, 7498, 7502, 7517,
1546      7547, 7466, 7526, 7540, 7669, 7467, 7247, 7651, 7307, 7318,
1547      7670, 7392, 7699, 7179, 7600, 7679, 7576, 7717,10129, 7741,
1548      7730,10132,14462, 7740, 7757, 7762, 7718, 7800, 7803, 7810,
1549      7788, 7838, 7610, 7667, 7827, 7829, 7888, 7912, 7760, 7869,
1550      7773, 7787, 7873, 7913, 7953, 7983, 7906, 7980, 7988, 8115,
1551
1552      8011, 8046, 7315, 7560, 8057, 8072, 7603, 7758,10140,10143,
1553     14462,14462,10163,10172,10181,10190,10199,10208,10217,10226,
1554     10235,10244,10253,10262,10271,10280,10289,10298,10307,10316,
1555     10325,10334,10343,10352,10361,10370,10379,10388,10397,10406,
1556     10415,10424,10433,10442,10451,10460,10469,10478,10487,10496,
1557     10505,10514,10523,10532,10541,10550,10559,10568,10577,10586,
1558     10595,10604,10613,10622,10631,10640,10649,10658,10667,10676,
1559     10685,10694,10703,10712,10721,10730,10739,10748,10757,10766,
1560     10775,10784,10791,10798,10805,10812,10819,10826,10833,10840,
1561     10847,10854,10861,10868,10875,10882,10889,10896,10903,10910,
1562
1563     10917,10924,10931,10938,10945,10952,10959,10966,10973,10980,
1564     10987,10994,11001,11008,11017,11024,11029,11036,11041,11048,
1565     11053,11060,11065,11072,11077,11084,11089,11096,11101,11108,
1566     11113,11120,11125,11132,11137,11144,11149,11156,11161,11168,
1567     11173,11180,11185,11192,11197,11204,11209,11216,11221,11228,
1568     11233,11240,11245,11252,11257,11264,11269,11276,11281,11288,
1569     11293,11300,11305,11312,11317,11324,11329,11336,11341,11348,
1570     11353,11360,11365,11372,11377,11384,11389,11396,11401,11410,
1571     11416,11423,11431,11439,11447,11454,11462,11469,11477,11484,
1572     11492,11500,11508,11516,11524,11532,11540,11548,11556,11563,
1573
1574     11571,11579,11586,11594,11601,11609,11616,11624,11631,11639,
1575     11646,11654,11661,11669,11676,11684,11691,11699,11706,11714,
1576     11721,11729,11736,11744,11751,11759,11766,11774,11782,11790,
1577     11797,11805,11812,11820,11827,11835,11842,11850,11857,11865,
1578     11872,11880,11888,11896,11905,11911,11918,11926,11933,11941,
1579     11948,11956,11963,11971,11978,11986,11993,12001,12009,12016,
1580     12024,12031,12039,12046,12054,12062,12069,12077,12084,12092,
1581     12100,12108,12116,12124,12131,12139,12146,12154,12161,12169,
1582     12177,12185,12192,12200,12207,12215,12222,12230,12237,12245,
1583     12252,12260,12267,12275,12282,12290,12297,12305,12312,12320,
1584
1585     12328,12336,12343,12351,12358,12366,12373,12381,12390,12399,
1586     12406,12413,12421,12428,12436,12444,12452,12459,12467,12474,
1587     12482,12490,12497,12505,12512,12520,12528,12536,12544,12551,
1588     12559,12566,12574,12582,12590,12597,12605,12612,12620,12628,
1589     12636,12643,12651,12658,12666,12673,12681,12688,12696,12704,
1590     12712,12719,12727,12734,12742,12749,12757,12764,12772,12779,
1591     12787,12794,12802,12809,12817,12824,12832,12839,12847,12856,
1592     12865,12872,12880,12888,12895,12903,12911,12918,12926,12934,
1593     12942,12950,12958,12966,12974,12982,12990,12998,13006,13013,
1594     13021,13028,13036,13044,13052,13059,13067,13074,13082,13090,
1595
1596     13097,13105,13112,13120,13127,13135,13142,13150,13158,13165,
1597     13173,13180,13188,13195,13203,13211,13219,13226,13234,13241,
1598     13249,13256,13264,13271,13279,13287,13295,13304,13313,13321,
1599     13328,13336,13343,13351,13359,13366,13374,13382,13390,13398,
1600     13406,13414,13421,13429,13437,13445,13452,13460,13468,13475,
1601     13482,13490,13498,13505,13513,13520,13528,13536,13543,13551,
1602     13558,13566,13573,13581,13588,13596,13604,13612,13620,13628,
1603     13635,13643,13651,13659,13667,13674,13682,13691,13700,13707,
1604     13715,13723,13731,13738,13746,13754,13762,13770,13778,13785,
1605     13793,13801,13809,13816,13824,13832,13839,13846,13854,13862,
1606
1607     13869,13876,13884,13892,13900,13907,13915,13922,13929,13937,
1608     13945,13953,13960,13968,13975,13983,13992,14001,14008,14016,
1609     14024,14032,14040,14048,14056,14064,14072,14080,14087,14095,
1610     14102,14110,14118,14126,14134,14142,14150,14158,14165,14173,
1611     14181,14189,14197,14204,14211,14219,14227,14234,14242,14249,
1612     14257,14266,14275,14282,14290,14298,14306,14314,14322,14330,
1613     14337,14344,14352,14359,14367,14375,14382,14390,14398,14407,
1614     14416,14425,14434,14443,14452
1615     } ;
1616
1617 static const flex_int16_t yy_def[4476] =
1618     {   0,
1619      3913, 3913, 3914, 3914, 3914, 3914, 3915, 3915, 3916, 3916,
1620      3917, 3917, 3918, 3918, 3918, 3918, 3919, 3919, 3920, 3920,
1621      3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921, 3921, 3921,
1622      3913, 3913, 3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921,
1623      3913, 3913, 3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921,
1624      3913, 3913, 3921, 3921, 3921, 3921, 3922, 3922, 3923, 3923,
1625      3913, 3913, 3923, 3923, 3923, 3923, 3924, 3924, 3925, 3925,
1626      3913, 3913, 3925, 3925, 3925, 3925, 3926, 3926, 3927, 3927,
1627      3928, 3928, 3929, 3929, 3930, 3930, 3931, 3931, 3913, 3913,
1628      3931, 3931, 3931, 3931, 3932, 3932, 3933, 3933, 3913, 3913,
1629
1630      3933, 3933, 3933, 3933, 3934, 3934, 3935, 3935, 3913, 3913,
1631      3935, 3935, 3935, 3935, 3936, 3936, 3937, 3937, 3912,  119,
1632      3938, 3938, 3913, 3913, 3938, 3938, 3938, 3938, 3939, 3939,
1633      3940, 3940, 3913, 3913, 3940, 3940, 3940, 3940, 3941, 3941,
1634      3942, 3942, 3913, 3913, 3942, 3942, 3942, 3942, 3943, 3943,
1635      3944, 3944, 3913, 3913, 3944, 3944, 3944, 3944, 3945, 3945,
1636      3946, 3946, 3947, 3947, 3948, 3948, 3913, 3913, 3948, 3948,
1637      3948, 3948, 3949, 3949, 3950, 3950, 3913, 3913, 3950, 3950,
1638      3950, 3950, 3951, 3951, 3952, 3952, 3953, 3953, 3954, 3954,
1639      3955, 3955, 3956, 3956, 3957, 3957, 3958, 3958, 3913, 3913,
1640
1641      3959, 3959, 3960, 3960, 3960, 3960, 3913, 3913, 3960, 3960,
1642      3960, 3960, 3913, 3913, 3960, 3960, 3913, 3913, 3960, 3960,
1643      3960, 3960, 3961, 3961, 3962, 3962, 3913, 3913, 3962, 3962,
1644      3962, 3962, 3963, 3963, 3964, 3964, 3965, 3965, 3966, 3966,
1645      3967, 3967, 3968, 3968, 3913, 3913, 3968, 3968, 3968, 3968,
1646      3969, 3969, 3970, 3970, 3971, 3971, 3972, 3972, 3913, 3913,
1647      3972, 3972, 3972, 3972, 3973, 3973, 3974, 3974, 3913, 3913,
1648      3974, 3974, 3974, 3974, 3975, 3975, 3976, 3976, 3977, 3977,
1649      3978, 3978, 3979, 3979, 3980, 3980, 3980, 3980, 3913, 3913,
1650      3980, 3980, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1651
1652      3913, 3913, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1653      3913, 3913, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1654      3981, 3981, 3982, 3982, 3913, 3913, 3982, 3982, 3982, 3982,
1655      3913, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1656      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1657      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1658      3912, 3912, 3983, 3912, 3912, 3983, 3983, 3912, 3912, 3912,
1659       370, 3912,  372,  372,  374,  372,  373,  372,  373,  374,
1660       380,  379,  372, 3912, 3912, 3912, 3984, 3912, 3912, 3984,
1661      3984, 3984, 3912, 3912,  372,  372,  372, 3912, 3912, 3912,
1662
1663      3985, 3912, 3912, 3985, 3985, 3985, 3985, 3985, 3912, 3912,
1664       372,  372,  372, 3912, 3912, 3912, 3986, 3912, 3912, 3986,
1665      3912, 3912, 3912, 3912, 3912, 3912, 3987, 3912, 3912, 3987,
1666      3987, 3987, 3912, 3912, 3912, 3912, 3912, 3912, 3988, 3912,
1667      3912, 3988, 3988, 3988, 3912, 3912,  372,  372, 3912, 3912,
1668      3912, 3989, 3912, 3912, 3989, 3989, 3912, 3912,  372,  372,
1669      3912, 3912, 3912, 3990, 3912, 3912, 3990, 3990, 3990, 3912,
1670      3912,  372,  372, 3912, 3912, 3912, 3991, 3912, 3912, 3991,
1671      3991, 3991, 3991, 3991, 3991, 3912, 3912, 3912, 3912, 3912,
1672      3912, 3992, 3912, 3912, 3992, 3992, 3992, 3992, 3992, 3992,
1673
1674      3992, 3992, 3912, 3912,  372,  372, 3912, 3912, 3912, 3993,
1675      3912, 3912, 3993, 3912, 3912,  372,  372, 3912, 3912, 3912,
1676      3994, 3912, 3912, 3994, 3994, 3994, 3912, 3912,  372,  372,
1677      3912, 3912, 3912, 3995, 3912, 3912, 3995, 3995, 3995, 3995,
1678      3995, 3912, 3912,  372,  372,  372, 3912, 3912, 3912, 3996,
1679      3912, 3912, 3996, 3996, 3996, 3912, 3912, 3912, 3912, 3912,
1680      3912, 3997, 3912, 3912, 3997, 3912, 3912,  374,  374,  372,
1681      3912, 3912, 3912, 3998, 3912, 3912, 3998, 3998, 3998, 3998,
1682      3912, 3912,  372,  372, 3912, 3912, 3912, 3999, 3912, 3912,
1683      3999, 3999, 3912, 3912, 3912, 3912, 3912, 3912, 4000, 3912,
1684
1685      3912, 4000, 4000, 3912, 3912, 3912, 3912, 3912, 3912, 4001,
1686      3912, 3912, 4001, 4001, 3912, 3912, 3912, 3912, 3912, 3912,
1687      4002, 3912, 3912, 4002, 4002, 4002, 4002, 4002, 4002, 3912,
1688      3912, 3912, 3912, 3912, 3912, 3912, 4003, 3912, 3912, 4003,
1689      3912, 3912,  374,  643,  372,  372,  372,  372, 3912, 3912,
1690      3912, 4004, 3912, 3912, 4004, 4004, 4004, 4004, 4004, 3912,
1691      3912,  372,  372, 3912, 3912, 3912, 4005, 3912, 3912, 4005,
1692      4005, 3912, 3912, 3912, 3912, 3912, 3912, 4006, 3912, 3912,
1693      4006, 4006, 4006, 4006, 4006, 3912, 3912, 3912, 3912, 3912,
1694      3912, 4007, 3912, 3912, 4007, 4007, 3912, 3912,  372,  372,
1695
1696      3912, 3912, 3912, 4008, 3912, 3912, 4008, 4008, 3912, 3912,
1697      3912, 3912, 3912, 3912, 4009, 3912, 3912, 4009, 4009, 4009,
1698      4009, 3912, 3912,  372,  372, 3912, 3912, 3912, 4010, 3912,
1699      3912, 4010, 4010, 4010, 4010, 3912, 3912,  372,  372,  372,
1700      3912, 3912, 3912, 4011, 3912, 3912, 4011, 4011, 4011, 3912,
1701      3912, 3912, 3912, 3912, 4012, 3912, 3912, 4012, 4012, 4012,
1702      3912, 3912, 3912, 3912, 3912, 3912, 4013, 3912, 3912, 4013,
1703      4013, 3912, 3912,  374,  774,  372,  374,  374,  372,  776,
1704       774,  372, 3912, 3912, 3912, 4014, 3912, 3912, 4014, 4014,
1705      4014, 3912, 3912,  372,  372, 3912, 4015, 3912, 3912, 3912,
1706
1707      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1708      3912, 4016, 4016, 4016, 4017, 3912, 3912, 3912, 3912, 3912,
1709      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1710      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1711      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1712      3912, 3912, 3912, 3912, 3912, 4018, 4018, 4018, 4018, 4018,
1713      4019, 3912, 3912, 4020, 4020, 4020, 4020, 4020, 4020, 4021,
1714      3912, 3912, 4022, 4022, 4023, 3912, 4024, 4024, 4024, 4024,
1715      4025, 3912, 4026, 4026, 4026, 4026, 4027, 3912, 4028, 4028,
1716      4028, 4029, 3912, 4030, 4030, 4030, 4030, 4031, 3912, 4032,
1717
1718      4032, 4032, 4032, 4032, 4032, 4032, 4032, 4033, 3912, 4034,
1719      4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034,
1720      4034, 4034, 4034, 4034, 4035, 3912, 4036, 4036, 4037, 3912,
1721      4038, 4038, 4038, 4038, 4039, 3912, 4040, 4040, 4040, 4040,
1722      4040, 4040, 4040, 4041, 3912, 3912, 3912, 4042, 4042, 4042,
1723      4042, 4043, 3912, 4044, 4044, 4045, 3912, 4046, 4046, 4046,
1724      4046, 4046, 4046, 4047, 3912, 4048, 4048, 4048, 4049, 3912,
1725      4050, 4050, 4050, 4051, 3912, 4052, 4052, 4052, 4053, 3912,
1726      4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4055, 3912,
1727      3912, 4056, 4056, 4057, 3912, 3912, 3912, 3912, 3912, 3912,
1728
1729      3912, 4058, 4058, 4058, 4058, 4058, 4058, 4059, 3912, 4060,
1730      4060, 4060, 4061, 3912, 4062, 4062, 4062, 4062, 4062, 4062,
1731      4062, 4062, 4062, 4063, 3912, 4064, 4064, 4064, 4064, 4065,
1732      3912, 4066, 4066, 4066, 4067, 3912, 4068, 4068, 4068, 4068,
1733      4068, 4069, 3912, 4070, 4070, 4070, 4070, 4070, 4071, 3912,
1734      3912, 4072, 4072, 4072, 4072, 3912, 4073, 3912, 3912, 4074,
1735      4074, 4074, 4074, 4075, 3912, 4076, 4076, 4076, 4077, 3912,
1736      3912, 4078, 4078, 4078, 4078, 4078, 4079, 4080, 3912, 4080,
1737      3912, 3912, 3912, 4081, 3912, 3912, 3912, 3912, 3912, 3912,
1738      3912, 3912, 4082, 4083, 4083, 3912, 3912, 3912, 3912, 3912,
1739
1740      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1741      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1742      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1743      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4084, 4084,
1744      4084, 4084, 4085, 4085, 3912, 4086, 4086, 4086, 4086, 4086,
1745      4087, 4087, 3912, 4088, 4089, 4089, 4090, 3912, 3912, 4090,
1746      4091, 4091, 4092, 4092, 4092, 4093, 4093, 4094, 4094, 4095,
1747      4095, 4096, 4096, 4096, 4097, 4097, 3912, 3912, 3912, 3912,
1748      4098, 4098, 4098, 4098, 4098, 4099, 4099, 4100, 3912, 3912,
1749      4100, 3912, 3912, 4100, 4100, 4100, 4100, 4100, 4100, 4100,
1750
1751      4100, 4100, 4100, 4101, 4101, 3912, 3912, 4102, 4102, 3912,
1752      3912, 4103, 4103, 4104, 4104, 4105, 4105, 4105, 3912, 3912,
1753      4105, 4105, 4105, 4106, 4106, 3912, 3912, 4107, 3912, 3912,
1754      3912, 3912, 4108, 4108, 4109, 4110, 4110, 4111, 3912, 3912,
1755      4111, 4111, 4111, 4112, 4112, 4113, 3912, 3912, 4114, 4114,
1756      3912, 3912, 4115, 4116, 4116, 4117, 4117, 4118, 4118, 4119,
1757      4119, 4119, 3912, 3912, 4119, 4119, 4119, 4120, 4120, 3912,
1758      4121, 4122, 4122, 3912, 3912, 3912, 3912, 4123, 4123, 4123,
1759      4123, 4123, 4124, 4124, 3912, 3912, 4125, 4126, 4126, 4127,
1760      3912, 3912, 4127, 4127, 4127, 4127, 4127, 4127, 4128, 4128,
1761
1762      4129, 4129, 4129, 4130, 4130, 4131, 3912, 3912, 4132, 4132,
1763      4133, 4133, 3912, 3912, 4133, 4134, 4134, 4135, 3912, 3912,
1764      4135, 4135, 4136, 4136, 3912, 4137, 3912, 3912, 4137, 3912,
1765      4138, 4138, 3912, 4139, 4139, 4139, 4140, 4140, 3912, 3912,
1766      4141, 4142, 4142, 4143, 4143, 4143, 4143, 4144, 4144, 4145,
1767      3912, 3912, 4145, 3912, 3912, 4146, 3912, 3912, 3912, 3912,
1768      3912, 3912, 3912, 3912, 4147, 3912, 4148, 3912, 4148, 3912,
1769      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1770      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1771      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1772
1773      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1774      3912, 3912, 3912, 3912, 3912, 4149, 4149, 3912, 3912, 4149,
1775      3912, 4150, 3912, 4150, 3912, 4151, 4151, 4151, 4151, 4151,
1776      3912, 4152, 3912, 4152, 3912, 4153, 3912, 4154, 3912, 4154,
1777      4155, 3912, 3912, 3912, 4155, 3912, 4156, 3912, 4156, 3912,
1778      3912, 4157, 4157, 3912, 3912, 3912, 4158, 3912, 4158, 3912,
1779      3912, 3912, 3912, 3912, 4159, 3912, 4159, 3912, 3912, 4160,
1780      4160, 3912, 3912, 3912, 4161, 3912, 4161, 3912, 3912, 3912,
1781      3912, 3912, 3912, 3912, 3912, 4162, 4162, 4162, 4162, 3912,
1782      4163, 3912, 4163, 4164, 4164, 4164, 3912, 3912, 3912, 4164,
1783
1784      3912, 3912, 3912, 3912, 3912, 4164, 4164, 4164, 4164, 4164,
1785      4164, 4164, 4164, 4164, 3912, 4165, 3912, 4165, 3912, 3912,
1786      3912, 3912, 4166, 3912, 4166, 3912, 3912, 3912, 4167, 4167,
1787      3912, 4168, 3912, 4168, 4169, 4169, 4169, 3912, 3912, 3912,
1788      4169, 4169, 4169, 3912, 4170, 3912, 4170, 3912, 3912, 4171,
1789      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4172, 3912, 4172,
1790      4173, 3912, 4174, 3912, 4174, 4175, 3912, 3912, 3912, 4175,
1791      4175, 4175, 3912, 4176, 3912, 4176, 4177, 3912, 3912, 3912,
1792      3912, 4178, 3912, 4178, 3912, 3912, 3912, 4179, 3912, 4180,
1793      3912, 4180, 4181, 4181, 3912, 4182, 3912, 4182, 4183, 4183,
1794
1795      4183, 4183, 3912, 3912, 3912, 3912, 3912, 4183, 4183, 3912,
1796      4184, 3912, 4184, 3912, 4185, 3912, 4186, 3912, 4186, 3912,
1797      3912, 3912, 3912, 4187, 4187, 4187, 4187, 4187, 3912, 4188,
1798      3912, 4188, 3912, 3912, 3912, 4189, 3912, 4190, 3912, 4190,
1799      4191, 3912, 3912, 3912, 3912, 3912, 4191, 3912, 3912, 4191,
1800      4191, 4191, 3912, 4192, 3912, 4192, 3912, 3912, 3912, 3912,
1801      4193, 3912, 4194, 3912, 4194, 4195, 3912, 3912, 3912, 3912,
1802      4196, 3912, 4196, 4197, 4197, 3912, 3912, 3912, 4197, 3912,
1803      4198, 3912, 4198, 4199, 3912, 3912, 3912, 4199, 4199, 3912,
1804      4200, 3912, 4200, 3912, 4201, 3912, 3912, 3912, 4201, 3912,
1805
1806      3912, 4202, 3912, 4202, 4203, 4203, 4203, 3912, 4204, 3912,
1807      4204, 3912, 3912, 3912, 4205, 3912, 4206, 3912, 4206, 3912,
1808      3912, 4207, 4207, 3912, 3912, 4207, 3912, 4208, 3912, 4208,
1809      4209, 4210, 3912, 3912, 3912, 3912, 4211, 3912, 3912, 3912,
1810      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1811      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1812      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1813      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1814      3912, 3912, 3912, 3912, 3912, 4212, 4212, 3912, 3912, 3912,
1815      4212, 4213, 3912, 4214, 3912, 3912, 4214, 4214, 4214, 4215,
1816
1817      3912, 4216, 4217, 4218, 4218, 4219, 3912, 3912, 3912, 4220,
1818      4220, 3912, 3912, 3912, 4221, 3912, 3912, 3912, 3912, 3912,
1819      3912, 4222, 3912, 3912, 3912, 4223, 4223, 3912, 3912, 3912,
1820      4224, 3912, 3912, 3912, 4225, 4225, 4225, 4225, 4226, 4227,
1821      4227, 4227, 3912, 3912, 3912, 3912, 3912, 4227, 4227, 4227,
1822      4227, 4227, 4227, 4227, 4227, 4227, 4227, 4228, 4229, 4230,
1823      4230, 4231, 4232, 4232, 3912, 3912, 4232, 4232, 4232, 4233,
1824      3912, 3912, 3912, 3912, 4234, 3912, 3912, 4235, 4236, 4236,
1825      4236, 4236, 4237, 4238, 4239, 4240, 4241, 3912, 3912, 4242,
1826      4243, 4244, 4244, 4244, 4244, 3912, 3912, 3912, 4244, 4244,
1827
1828      4245, 3912, 4246, 4247, 3912, 3912, 3912, 3912, 4248, 3912,
1829      3912, 4248, 4248, 4248, 4249, 4250, 4251, 4252, 3912, 3912,
1830      3912, 3912, 3912, 3912, 3912, 3912, 4252, 3912, 3912, 4252,
1831      4253, 3912, 3912, 3912, 3912, 3912, 3912, 4254, 4255, 4256,
1832      4257, 4258, 4258, 4258, 4259, 4260, 4260, 3912, 3912, 4261,
1833      3912, 3912, 3912, 4262, 3912, 4263, 4264, 3912, 3912, 4264,
1834      4265, 4266, 4267, 3912, 3912, 3912, 4268, 4268, 3912, 3912,
1835      3912, 4268, 4269, 4270, 4271, 4271, 3912, 4271, 3912, 3912,
1836      4272, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1837      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1838
1839      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1840      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1841      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4273, 4273, 4273,
1842      4274, 3912, 4275, 3912, 3912, 3912, 4275, 4275, 4275, 4276,
1843      3912, 3912, 3912, 4277, 4278, 4278, 4279, 4280, 4280, 4281,
1844      4282, 4283, 4283, 4284, 4285, 4285, 3912, 3912, 4285, 4286,
1845      3912, 3912, 4287, 4287, 3912, 3912, 3912, 4287, 4287, 4287,
1846      4287, 4287, 4287, 3912, 3912, 4287, 4287, 4287, 4288, 4289,
1847      4290, 4290, 4291, 4292, 4292, 3912, 3912, 3912, 4292, 3912,
1848      3912, 4292, 4292, 4293, 3912, 3912, 3912, 3912, 3912, 4294,
1849
1850      3912, 3912, 3912, 4295, 4296, 4296, 4296, 4296, 4297, 4298,
1851      4299, 3912, 3912, 4300, 3912, 3912, 3912, 4301, 4302, 4303,
1852      3912, 3912, 4303, 4303, 3912, 3912, 4303, 4303, 4304, 3912,
1853      4305, 4306, 3912, 3912, 3912, 3912, 4307, 3912, 3912, 3912,
1854      4307, 4307, 4307, 4308, 3912, 3912, 4309, 4310, 3912, 3912,
1855      3912, 4310, 3912, 3912, 3912, 4310, 4311, 4312, 4313, 4314,
1856      4315, 4316, 4316, 4316, 4317, 4318, 3912, 3912, 3912, 3912,
1857      3912, 4319, 3912, 3912, 3912, 3912, 4320, 3912, 4321, 4322,
1858      3912, 3912, 3912, 3912, 3912, 4323, 4324, 4325, 4326, 4326,
1859      4326, 4327, 4328, 4329, 4329, 3912, 4330, 3912, 3912, 3912,
1860
1861      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1862      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1863      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1864      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4331, 4332,
1865      3912, 4333, 4333, 4333, 4333, 4334, 3912, 3912, 3912, 3912,
1866      4335, 4336, 4336, 4337, 3912, 3912, 3912, 3912, 4338, 4339,
1867      3912, 3912, 3912, 3912, 4340, 3912, 3912, 4341, 3912, 3912,
1868      3912, 3912, 3912, 4342, 3912, 3912, 3912, 3912, 3912, 4343,
1869      4343, 4343, 3912, 3912, 4343, 4343, 4343, 3912, 3912, 3912,
1870      3912, 3912, 4343, 4343, 4344, 4345, 4346, 4346, 3912, 3912,
1871
1872      4347, 4347, 3912, 3912, 3912, 3912, 3912, 4347, 4347, 3912,
1873      3912, 3912, 4348, 4349, 4350, 4350, 4350, 4350, 3912, 3912,
1874      4351, 4352, 3912, 3912, 3912, 4353, 4354, 4355, 4356, 3912,
1875      3912, 3912, 3912, 3912, 4356, 3912, 3912, 3912, 4356, 4356,
1876      3912, 3912, 3912, 4357, 4358, 3912, 3912, 3912, 3912, 4359,
1877      4359, 4359, 4359, 4360, 3912, 3912, 3912, 3912, 3912, 4361,
1878      4361, 4361, 4362, 4363, 4364, 4365, 4366, 3912, 3912, 4367,
1879      3912, 3912, 4368, 4369, 3912, 3912, 3912, 4370, 3912, 4371,
1880      3912, 4372, 4373, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1881      3912, 3912, 3912, 3912, 4374, 4375, 3912, 3912, 3912, 3912,
1882
1883      3912, 3912, 4376, 4377, 4378, 4379, 4379, 3912, 3912, 3912,
1884      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1885      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1886      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1887      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4380, 4381,
1888      3912, 4382, 4382, 4382, 4382, 3912, 3912, 3912, 4383, 4384,
1889      3912, 3912, 4385, 3912, 3912, 3912, 3912, 3912, 3912, 4386,
1890      4387, 3912, 3912, 3912, 3912, 3912, 3912, 4388, 3912, 3912,
1891      3912, 3912, 3912, 3912, 3912, 3912, 4389, 3912, 3912, 3912,
1892      4390, 4390, 4390, 3912, 3912, 3912, 3912, 3912, 4390, 4390,
1893
1894      3912, 3912, 3912, 4390, 4390, 4391, 4392, 3912, 3912, 4393,
1895      4394, 4394, 3912, 3912, 3912, 4394, 4394, 4395, 4396, 4397,
1896      3912, 3912, 4397, 4397, 4397, 4398, 4399, 4400, 4401, 3912,
1897      3912, 4402, 3912, 3912, 3912, 4402, 4402, 4402, 3912, 3912,
1898      3912, 4403, 3912, 3912, 3912, 4404, 4404, 4404, 4404, 4405,
1899      4406, 3912, 3912, 4406, 4407, 4408, 3912, 3912, 4409, 4410,
1900      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4411, 3912,
1901      3912, 4412, 3912, 4413, 3912, 3912, 3912, 3912, 3912, 3912,
1902      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4414,
1903      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4415, 4416,
1904
1905      4417, 4418, 4418, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1906      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1907      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1908      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4419, 4420, 3912,
1909      3912, 3912, 4421, 4421, 4421, 3912, 4422, 4423, 3912, 3912,
1910      3912, 4424, 4425, 4426, 4427, 3912, 3912, 3912, 4428, 4429,
1911      4429, 4429, 3912, 3912, 3912, 4429, 4429, 4429, 3912, 3912,
1912      4430, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4431, 4431,
1913      4431, 4431, 4432, 4433, 4434, 3912, 3912, 3912, 4434, 4434,
1914      4434, 4435, 4436, 4437, 4438, 4439, 4439, 4439, 4439, 3912,
1915
1916      3912, 3912, 3912, 4440, 3912, 3912, 3912, 4441, 4441, 4441,
1917      4442, 4443, 3912, 3912, 3912, 4443, 3912, 3912, 4444, 4445,
1918      3912, 3912, 3912, 3912, 3912, 4446, 3912, 3912, 3912, 4447,
1919      3912, 4448, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1920      3912, 3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912,
1921      4450, 4451, 4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912,
1922      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1923      3912, 3912, 3912, 3912, 3912, 4454, 3912, 3912, 3912, 3912,
1924      3912, 3912, 3912, 3912, 4455, 4455, 3912, 4456, 3912, 3912,
1925      4457, 4458, 4459, 4460, 3912, 3912, 4461, 4461, 4461, 4461,
1926
1927      3912, 3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1928      3912, 3912, 4462, 4462, 4462, 4462, 4463, 3912, 3912, 3912,
1929      3912, 4464, 4464, 4464, 4464, 3912, 3912, 4465, 4466, 3912,
1930      3912, 4467, 4467, 4467, 4467, 3912, 4468, 3912, 3912, 3912,
1931      3912, 3912, 4469, 4469, 3912, 3912, 3912, 3912, 4443, 4444,
1932      4445, 3912, 3912, 4447, 3912, 4448, 3912, 3912, 3912, 3912,
1933      3912, 3912, 3912, 3912, 3912, 3912, 4449, 4450, 4451, 4452,
1934      4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1935      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4454, 3912, 3912,
1936      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1937
1938      3912, 3912, 4458, 4459, 4460, 4461, 4461, 4461, 4461, 3912,
1939      3912, 3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1940      4462, 4462, 3912, 3912, 3912, 3912, 4463, 3912, 3912, 3912,
1941      4464, 4464, 4464, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1942      4466, 3912, 3912, 3912, 4467, 4467, 3912, 3912, 3912, 3912,
1943      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1944      3912, 3912, 4443, 4444, 4445, 4447, 3912, 4448, 3912, 3912,
1945      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4449, 4450,
1946      4451, 4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912,
1947      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1948
1949      3912, 3912, 3912, 4458, 4459, 4460, 4461, 4461, 3912, 3912,
1950      4461, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1951      3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1952      3912, 3912, 4464, 4464, 4464, 3912, 3912, 3912, 3912, 3912,
1953      3912, 3912, 3912, 3912, 4466, 4467, 3912, 3912, 3912, 3912,
1954      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1955      3912, 3912, 3912, 3912, 3912, 3912, 4443, 3912, 3912, 3912,
1956      3912, 4447, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1957      3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912,
1958      4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1959
1960      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1961      4458, 4459, 4460, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1962      3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1963      3912, 4462, 3912, 3912, 3912, 4464, 3912, 3912, 4464, 3912,
1964      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4467, 3912, 3912,
1965      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1966      3912, 3912, 3912, 4443, 3912, 3912, 3912, 3912, 3912, 3912,
1967      4447, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1968      3912, 3912, 4449, 3912, 3912, 3912, 4452, 4453, 4453, 4453,
1969      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1970
1971      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1972      4458, 3912, 3912, 4460, 4461, 3912, 3912, 3912, 3912, 3912,
1973      3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1974      3912, 4462, 4464, 3912, 3912, 3912, 4464, 3912, 3912, 3912,
1975      3912, 3912, 3912, 4467, 3912, 3912, 3912, 3912, 3912, 3912,
1976      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1977      3912, 3912, 3912, 3912, 3912, 3912, 4447, 3912, 3912, 3912,
1978      3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912,
1979      3912, 3912, 3912, 3912, 4452, 4453, 4453, 4453, 4470, 4471,
1980      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1981
1982      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4458, 4460,
1983      4461, 3912, 3912, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1984      3912, 3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1985      3912, 4467, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1986      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1987      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1988      3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912, 3912, 3912,
1989      3912, 3912, 4452, 4453, 4472, 4473, 4470, 4471, 3912, 3912,
1990      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1991      3912, 3912, 3912, 3912, 4460, 4461, 3912, 3912, 3912, 3912,
1992
1993      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4462, 3912, 3912,
1994      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4467, 3912,
1995      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1996      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1997      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1998      3912, 3912, 3912, 3912, 3912, 4452, 4472, 4453, 4474, 4473,
1999      4475, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2000      4460, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2001      3912, 3912, 3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912,
2002      4467, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2003
2004      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452,
2005      4474, 3912, 4475, 4453, 3912, 3912, 3912, 3912, 3912, 3912,
2006      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2007      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2008      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2009      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2010      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2011      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2012      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2013      3912, 3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912,
2014
2015      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2016      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2017      3912, 3912, 3912, 3912, 3912, 4452, 3912, 3912, 3912, 3912,
2018      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2019      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2020      4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2021      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2022      3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2023      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2024      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2025
2026      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452,
2027      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2028      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2029      3912, 3912, 3912, 3912, 3912, 4452, 4452, 3912, 3912, 3912,
2030      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452, 4452, 3912,
2031      3912, 3912, 3912, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2032      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2033      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2034      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2035      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2036
2037      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2038      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2039      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2040      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2041      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2042      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2043      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2044      4452, 4452, 3912, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2045      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2046      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2047
2048      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2049      3912,    0, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2050      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2051      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2052      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2053      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2054      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2055      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2056      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2057      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2058
2059      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2060      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2061      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2062      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2063      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2064      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2065      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2066      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2067      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2068      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2069
2070      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2071      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2072      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2073      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2074      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2075      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2076      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2077      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2078      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2079      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2080
2081      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2082      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2083      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2084      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2085      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2086      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2087      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2088      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2089      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2090      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2091
2092      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2093      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2094      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2095      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2096      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2097      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2098      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2099      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2100      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2101      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2102
2103      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2104      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2105      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2106      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2107      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2108      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2109      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2110      3912, 3912, 3912, 3912, 3912
2111     } ;
2112
2113 static const flex_int16_t yy_nxt[14537] =
2114     {   0,
2115      3912,  336,  337,  336,  336,  337,  336,  336,  337,  336,
2116       336,  337,  336,  341,  337,  341,  347,  338,  344,  347,
2117       338,  344, 3912,  339,  815,  345,  339,  870,  345,  342,
2118       341,  337,  341,  797,  348,  350,  351,  348,  350,  351,
2119       352,  353, 3912,  352,  353,  797,  342,  357,  358,  798,
2120       354,  350,  351,  354,  355,  800,  352,  350,  351,  962,
2121       355,  799,  352,  357,  358,  871,  354,  369,  337,  369,
2122       963,  799,  354,  369,  337,  369,  844,  369,  337,  369,
2123       369,  337,  369,  370,  337,  337,  337, 1860,  815,  370,
2124       844,  800,  359,  371,  828,  831,  371,  796,  796,  796,
2125
2126       372,  796,  796,  796,  796,  796,  796,  799,  359,  360,
2127       361,  337,  361,  360,  360,  360,  360,  360,  360,  360,
2128       362,  360,  360,  360,  850,  360,  364,  360,  365,  360,
2129       337,  337,  337,  369,  337,  369,  369,  337,  369,  851,
2130       844,  369,  337,  369,  828,  945,  372,  841,  800,  370,
2131       862,  911,  370,  946,  844,  360,  360,  373,  796,  796,
2132       796,  796,  796,  796,  799,  859,  366,  796,  796,  796,
2133      1085,  912,  860, 1086,  367,  360,  361,  337,  361,  360,
2134       360,  360,  360,  360,  360,  360,  362,  360,  360,  360,
2135       861,  360,  364,  360,  365,  360,  369,  337,  369,  337,
2136
2137       337,  337,  337,  337,  337,  350,  351,  369,  337,  369,
2138       352,  919,  373,  942, 1079,  374,  870,  943,  374,  887,
2139       750,  360,  360,  375,  920,  369,  337,  369,  369,  337,
2140       369,  956,  366,  369,  337,  369,  337,  337,  337,  944,
2141       367,  375,  844,  800,  376,  337,  337,  337,  861,  376,
2142       751, 1330,  377,  369,  337,  369,  369,  337,  369,  799,
2143       800,  377,  337,  337,  337,  337,  337,  337,  844,  373,
2144       832,  844,  373,  369,  337,  369,  799, 1861,  378,  836,
2145       945,  378,  369,  337,  369,  369,  337,  369,  946,  376,
2146       369,  337,  369,  337,  337,  337,  862,  815,  376,  832,
2147
2148       844,  379,  337,  337,  337,  892,  379,  816,  836,  380,
2149       369,  337,  369,  369,  337,  369, 1863,  800,  380,  337,
2150       337,  337,  337,  337,  337, 1217,  381, 1028, 1218,  381,
2151       369,  337,  369,  799, 1029,  382,  849,  800,  382,  369,
2152       337,  369,  369,  337,  369, 1864,  379,  369,  337,  369,
2153       796,  796,  796,  799,  898,  379,  925,  844,  383,  829,
2154       796,  796,  796,  383,  384,  385,  337,  385,  384,  384,
2155       384,  384,  384,  384,  384,  386,  384,  384,  384,  800,
2156       384,  388,  384,  389,  384,  394,  337,  394,  394,  337,
2157       394,  337,  337,  337,  906,  799,  337,  337,  337,  907,
2158
2159      1600,  395,  800,  819,  395, 1601,  844,  396,  844,  875,
2160       384,  384,  396,  394,  337,  394,  390,  838,  799,  391,
2161       929,  887,  815,  796,  796,  796,  796,  796,  796,  395,
2162       392,  384,  385,  337,  385,  384,  384,  384,  384,  384,
2163       384,  384,  386,  384,  384,  384,  800,  384,  388,  384,
2164       389,  384,  394,  337,  394,  394,  337,  394,  394,  337,
2165       394,  854,  799,  410,  337,  410,  987, 1867,  395,  862,
2166       988,  397,  844,  844,  397, 1868,  826,  384,  384,  411,
2167       410,  337,  410,  390,  935,  892,  391,  796,  796,  796,
2168       796,  796,  796,  796,  796,  796,  411,  392,  398,  399,
2169
2170       337,  399,  398,  398,  398,  398,  398,  398,  398,  400,
2171       398,  398,  398,  800,  398,  402,  398,  403,  398,  337,
2172       337,  337,  337,  337,  337,  410,  337,  410,  944,  799,
2173       410,  337,  410,  862, 1869,  412,  844,  844,  412,  999,
2174      1871,  411,  800,  800,  398,  398,  411,  410,  337,  410,
2175       881,  844,  404,  998,  405,  898,  406, 1008,  799,  799,
2176       407, 1872, 1879,  413,  408,  398,  399,  337,  399,  398,
2177       398,  398,  398,  398,  398,  398,  400,  398,  398,  398,
2178       844,  398,  402,  398,  403,  398,  410,  337,  410,  422,
2179       337,  422,  422,  337,  422,  871,  915,  434,  337,  434,
2180
2181      1880, 1881,  413,  862,  916,  423,  995,  844,  423,  917,
2182       921,  398,  398,  435,  434,  337,  434,  922,  956,  404,
2183      1000,  405,  923,  406,  796,  796,  796,  407, 1049, 1882,
2184       435,  408,  414,  415,  337,  415,  414,  414,  414,  414,
2185       414,  414,  414,  416,  414,  414,  414,  800,  414,  418,
2186       414,  419,  414,  446,  337,  446,  446,  337,  446,  337,
2187       337,  337, 1022,  799,  337,  337,  337, 1075, 1884,  447,
2188       844, 1886,  447, 1099, 1076,  396, 1023, 1050,  414,  414,
2189       396,  446,  337,  446,  446,  337,  446,  796,  796,  796,
2190       796,  796,  796,  796,  796,  796, 1100,  447, 1892, 1893,
2191
2192       447,  420,  414,  415,  337,  415,  414,  414,  414,  414,
2193       414,  414,  414,  416,  414,  414,  414,  800,  414,  418,
2194       414,  419,  414,  446,  337,  446,  446,  337,  446,  458,
2195       337,  458, 1079,  799,  458,  337,  458, 1351, 1894,  448,
2196      1895, 1731,  448, 1119, 1899,  459, 1119, 1080,  414,  414,
2197       459,  337,  337,  337,  337,  337,  337,  796,  796,  796,
2198       796,  796,  796,  796,  796,  796, 1120,  396, 1900, 1132,
2199       396,  420,  424,  425,  337,  425,  424,  424,  424,  424,
2200       424,  424,  424,  426,  424,  424,  424, 1902,  424,  428,
2201       424,  429,  424,  458,  337,  458,  458,  337,  458,  458,
2202
2203       337,  458,  350,  351,  458,  337,  458,  352, 1903,  459,
2204       800,  800,  459, 1905,  800,  460,  964,  750,  424,  424,
2205       460,  908,  430,  796,  796,  796,  799,  799,  805,  431,
2206       799,  432,  424,  425,  337,  425,  424,  424,  424,  424,
2207       424,  424,  424,  426,  424,  424,  424,  751,  424,  428,
2208       424,  429,  424,  471,  337,  471,  471,  337,  471,  337,
2209       337,  337, 1906, 1908,  337,  337,  337, 1909,  844,  472,
2210       994,  806,  472, 1097,  800,  396, 1008,  807,  424,  424,
2211       396,  808,  430,  796,  796,  796,  809, 1098, 1912,  431,
2212       799,  432,  436,  437,  337,  437,  436,  436,  436,  436,
2213
2214       436,  436,  436,  438,  436,  436,  436,  800,  436,  440,
2215       436,  441,  436,  471,  337,  471,  471,  337,  471,  471,
2216       337,  471,  844,  799,  471,  337,  471, 1913,  844,  472,
2217       800, 1097,  472, 1914, 1916,  473, 1918,  952,  436,  436,
2218       473,  487,  337,  487,  442, 1153,  799,  443,  796,  796,
2219       796,  796,  796,  796,  796,  796,  796,  488,  444,  436,
2220       437,  337,  437,  436,  436,  436,  436,  436,  436,  436,
2221       438,  436,  436,  436,  800,  436,  440,  436,  441,  436,
2222       487,  337,  487,  504,  337,  504,  504,  337,  504, 1109,
2223       799,  337,  337,  337, 1927, 1110,  488,  800, 1930,  505,
2224
2225      1938, 1111,  505, 1940,  969,  436,  436,  372,  337,  337,
2226       337,  442, 1030,  799,  443,  796,  796,  796,  796,  796,
2227       796,  796,  796,  796,  372,  444,  449,  450,  337,  450,
2228       449,  449,  449,  449,  449,  449,  449,  451,  449,  449,
2229       449,  800,  449,  453,  449,  454,  449,  504,  337,  504,
2230       504,  337,  504,  504,  337,  504, 1109,  799,  504,  337,
2231       504, 1942, 1110,  505,  844, 1943,  505, 1944, 1117,  506,
2232      1946, 1042,  449,  449,  506,  515,  337,  515,  455,  796,
2233       796,  796,  796,  796,  796,  796,  796,  796,  796,  796,
2234       796,  516,  456,  449,  450,  337,  450,  449,  449,  449,
2235
2236       449,  449,  449,  449,  451,  449,  449,  449,  800,  449,
2237       453,  449,  454,  449,  515,  337,  515,  337,  337,  337,
2238       337,  337,  337,  844,  799,  515,  337,  515, 1947, 1951,
2239       516, 1955, 1957,  372, 1960, 1962,  372, 1967, 1049,  449,
2240       449,  516,  515,  337,  515,  455,  796,  796,  796,  796,
2241       796,  796,  796,  796,  796,  796,  796,  796,  516,  456,
2242       461,  462,  337,  462,  461,  461,  461,  461,  461,  461,
2243       461,  463,  461,  461,  461,  800,  461,  465,  461,  466,
2244       461,  515,  337,  515,  515,  337,  515,  528,  337,  528,
2245       844,  799,  528,  337,  528, 1968, 1972,  517,  800, 1274,
2246
2247       517, 1979, 1980,  529, 1981,  974,  461,  461,  529,  337,
2248       337,  337,  467, 1098,  799,  468,  796,  796,  796,  796,
2249       796,  796,  796,  796,  796,  372,  469,  461,  462,  337,
2250       462,  461,  461,  461,  461,  461,  461,  461,  463,  461,
2251       461,  461,  800,  461,  465,  461,  466,  461,  337,  337,
2252       337,  528,  337,  528,  528,  337,  528, 1126,  799,  528,
2253       337,  528, 1982, 1110,  372,  800, 1983,  529, 1756, 1111,
2254       529, 1984,  979,  461,  461,  530,  528,  337,  528,  467,
2255      1757,  799,  468,  796,  796,  796,  796,  796,  796,  796,
2256       796,  796,  530,  469,  474,  475,  337,  475,  474,  474,
2257
2258       474,  474,  474,  474,  474,  476,  474,  474,  474,  800,
2259       474,  478,  474,  479,  474,  543,  337,  543,  543,  337,
2260       543,  337,  337,  337, 1069,  799,  337,  337,  337, 1985,
2261      1112,  544,  800,  800,  544, 1986,  800,  545, 1987,  989,
2262       474,  474,  545, 1113,  480,  796,  796,  796,  799,  799,
2263      1069,  481,  799,  482,  796,  796,  796,  483,  994,  484,
2264       485,  474,  475,  337,  475,  474,  474,  474,  474,  474,
2265       474,  474,  476,  474,  474,  474,  844,  474,  478,  474,
2266       479,  474,  543,  337,  543,  543,  337,  543,  543,  337,
2267       543, 1988,  990,  543,  337,  543,  995, 1989,  544, 1993,
2268
2269      1996,  544,  844,  800,  546, 1351,  828,  474,  474,  546,
2270      1000,  480,  796,  796,  796,  796,  796,  796,  481,  799,
2271       482,  796,  796,  796,  483, 1974,  484,  485,  489,  490,
2272       337,  490,  489,  489,  489,  489,  489,  489,  489,  491,
2273       489,  489,  489,  492,  489,  493,  489,  494,  489,  492,
2274       492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
2275       492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
2276       492,  492,  492,  492,  489,  489,  492,  492,  495,  496,
2277       492,  492,  492,  492,  492,  497,  492,  498,  492,  492,
2278       492,  499,  492,  500,  501,  502,  492,  492,  492,  492,
2279
2280       492,  492,  507,  508,  337,  508,  507,  507,  507,  507,
2281       507,  507,  507,  509,  507,  507,  507, 1099,  507,  511,
2282       507,  512,  507,  557,  337,  557,  557,  337,  557,  567,
2283       337,  567, 1756, 1018,  567,  337,  567, 1019, 1077,  558,
2284      1120, 1020,  558, 1997, 1763,  568, 1999, 1856,  507,  507,
2285       568,  796,  796,  796,  796,  796,  796, 1030, 1857,  513,
2286       507,  508,  337,  508,  507,  507,  507,  507,  507,  507,
2287       507,  509,  507,  507,  507,  800,  507,  511,  507,  512,
2288       507,  337,  337,  337,  337,  337,  337,  567,  337,  567,
2289       844,  799,  567,  337,  567,  800, 2000,  569, 1126,  800,
2290
2291       569, 2002, 1013,  568, 1110,  862,  507,  507,  568,  844,
2292      1117,  799,  796,  796,  796,  799, 2003,  513,  518,  519,
2293       337,  519,  518,  518,  518,  518,  518,  518,  518,  520,
2294       518,  518,  518,  800,  518,  522,  518,  523,  518,  567,
2295       337,  567,  567,  337,  567,  582,  337,  582, 1907,  799,
2296       582,  337,  582, 2004, 1112,  570, 2005, 2009,  570, 2010,
2297      1763,  583, 1099, 1119,  518,  518,  583, 1127,  337,  337,
2298       337,  337,  337,  337, 2011,  524,  796,  796,  796,  796,
2299       796,  796, 1077,  525,  372, 1132, 1136,  372,  526,  518,
2300       519,  337,  519,  518,  518,  518,  518,  518,  518,  518,
2301
2302       520,  518,  518,  518,  800,  518,  522,  518,  523,  518,
2303       582,  337,  582,  582,  337,  582,  582,  337,  582, 2012,
2304       799,  582,  337,  582, 2013, 2016,  583, 2019, 2020,  583,
2305       862,  800,  584, 1099,  844,  518,  518,  584, 1024,  594,
2306       337,  594,  594,  337,  594, 2021,  524,  799,  796,  796,
2307       796,  796,  796,  796,  525,  595, 1136, 2024,  595,  526,
2308       531,  532,  337,  532,  531,  531,  531,  531,  531,  531,
2309       531,  533,  531,  531,  531,  800,  531,  535,  531,  536,
2310       531,  605,  337,  605,  605,  337,  605,  616,  337,  616,
2311      1109,  799,  616,  337,  616, 2025, 1110,  606, 1126,  800,
2312
2313       606, 2026, 1276,  617, 1110,  800,  531,  531,  617,  537,
2314      1276,  538,  796,  796,  796,  799, 2027,  539,  796,  796,
2315       796,  799, 2028,  540, 2029, 2030,  541,  531,  532,  337,
2316       532,  531,  531,  531,  531,  531,  531,  531,  533,  531,
2317       531,  531,  800,  531,  535,  531,  536,  531,  631,  337,
2318       631,  631,  337,  631,  337,  337,  337, 2033,  799,  337,
2319       337,  337, 2037, 2038,  632,  800, 2039,  632, 2041, 1101,
2320       633, 2045, 1035,  531,  531,  633,  537, 2046,  538, 1102,
2321       831,  799, 1103, 2048,  539,  796,  796,  796, 2049, 2052,
2322       540, 2053, 2055,  541,  547,  548,  337,  548,  547,  547,
2323
2324       547,  547,  547,  547,  547,  549,  547,  547,  547,  850,
2325       547,  551,  547,  552,  547,  642,  337,  642,  642,  337,
2326       642,  642,  337,  642,  851, 1121,  642,  337,  642, 2056,
2327      2059,  643,  841, 2081,  643, 1122, 2082,  644, 1103, 2084,
2328       547,  547,  644,  337,  337,  337,  553,  796,  796,  796,
2329      2085,  554,  796,  796,  796,  796,  796,  796, 2089,  645,
2330      2093, 2096,  555,  547,  548,  337,  548,  547,  547,  547,
2331       547,  547,  547,  547,  549,  547,  547,  547, 2105,  547,
2332       551,  547,  552,  547,  337,  337,  337,  642,  337,  642,
2333       642,  337,  642, 2106, 1112,  642,  337,  642, 2107, 2108,
2334
2335       645, 1056, 2110,  643, 2118, 1112,  643, 1137, 1057,  547,
2336       547,  646,  642,  337,  642,  553, 1277,  799, 1138, 2120,
2337       554,  796,  796,  796,  796,  796,  796, 2123,  646, 1127,
2338      2124,  555,  559,  560,  337,  560,  559,  559,  559,  559,
2339       559,  559,  559,  561,  559,  559,  559, 2128,  559,  563,
2340       559,  564,  559,  337,  337,  337,  337,  337,  337,  642,
2341       337,  642, 2130, 1101,  642,  337,  642,  800, 2131,  569,
2342      2133, 1101,  569, 1122, 1064,  644, 1103, 2134,  559,  559,
2343       644, 1102, 2135,  799, 1275, 2136,  565,  559,  560,  337,
2344       560,  559,  559,  559,  559,  559,  559,  559,  561,  559,
2345
2346       559,  559, 2137,  559,  563,  559,  564,  559,  337,  337,
2347       337,  337,  337,  337,  642,  337,  642, 2141, 1121,  642,
2348       337,  642, 2142, 1351,  647, 2143, 2148,  647, 1122, 2152,
2349       646, 1275, 2156,  559,  559,  646,  796,  796,  796, 1353,
2350      2158,  565,  571,  572,  337,  572,  571,  571,  571,  571,
2351       571,  571,  571,  573,  571,  571,  571, 2160,  571,  575,
2352       571,  576,  571,  642,  337,  642,  642,  337,  642,  661,
2353       337,  661, 2162, 1121,  661,  337,  661, 2163, 2164,  648,
2354      2166, 2173,  648, 1102, 1383,  662, 1103, 2177,  571,  571,
2355       662, 2178,  577,  796,  796,  796,  796,  796,  796,  578,
2356
2357      1384,  579,  796,  796,  796,  796,  796,  796,  580,  571,
2358       572,  337,  572,  571,  571,  571,  571,  571,  571,  571,
2359       573,  571,  571,  571, 1383,  571,  575,  571,  576,  571,
2360       337,  337,  337,  337,  337,  337,  661,  337,  661, 2180,
2361      1549,  661,  337,  661, 1494, 2187,  412, 2189, 1694,  412,
2362      2190, 2191,  662, 1495, 1977,  571,  571,  662, 2196,  577,
2363      1496, 1083, 1083, 1083, 1384, 2197,  578, 2198,  579, 1083,
2364      1083, 1083, 2200, 1355, 2201,  580,  585,  586,  337,  586,
2365       585,  585,  585,  585,  585,  585,  585,  587,  585,  585,
2366       585, 2202,  585,  589,  585,  590,  585,  661,  337,  661,
2367
2368       661,  337,  661,  673,  337,  673, 1351, 2203,  673,  337,
2369       673, 2204, 2205,  663, 2206, 2207,  663, 2208, 2209,  674,
2370      1084, 2211,  585,  585,  674, 1362, 1362, 1362,  591, 1363,
2371      2212, 2193, 1364,  592,  585,  586,  337,  586,  585,  585,
2372       585,  585,  585,  585,  585,  587,  585,  585,  585, 2213,
2373       585,  589,  585,  590,  585,  687,  337,  687,  687,  337,
2374       687,  698,  337,  698, 2216, 2219,  698,  337,  698, 2220,
2375      2221,  688, 2222, 2223,  688, 2224, 2225,  699, 2226, 2229,
2376       585,  585,  699, 1370, 1370, 1370,  591, 1394, 1394, 1394,
2377      2232,  592,  596,  597,  337,  597,  596,  596,  596,  596,
2378
2379       596,  596,  596,  598,  596,  596,  596, 2233,  596,  600,
2380       596,  601,  596,  337,  337,  337,  337,  337,  337,  698,
2381       337,  698, 2234, 2241,  698,  337,  698, 2242, 2243,  396,
2382      2244, 2245,  396, 2247, 2252,  699, 2253, 2297,  596,  596,
2383       699,  698,  337,  698,  698,  337,  698, 1371, 2298,  602,
2384      2301, 1395, 2302, 1394, 1394, 1394, 2308,  700, 2309, 2315,
2385       700,  603,  596,  597,  337,  597,  596,  596,  596,  596,
2386       596,  596,  596,  598,  596,  596,  596, 2316,  596,  600,
2387       596,  601,  596,  710,  337,  710,  710,  337,  710,  723,
2388       337,  723, 2317, 2318,  723,  337,  723, 2321, 2327,  711,
2389
2390      2329, 2335,  711, 2339, 2340,  724, 2343, 2344,  596,  596,
2391       724,  337,  337,  337,  337,  337,  337, 1371, 2347,  602,
2392      1370, 1370, 1370, 1370, 1370, 1370, 2348,  372, 2349, 2350,
2393       372,  603,  607,  608,  337,  608,  607,  607,  607,  607,
2394       607,  607,  607,  609,  607,  607,  607, 2351,  607,  611,
2395       607,  612,  607,  723,  337,  723,  723,  337,  723,  723,
2396       337,  723, 2352, 2353,  723,  337,  723, 2360, 2361,  724,
2397      2362, 2364,  724, 2366, 2374,  725, 2379, 2380,  607,  607,
2398       725,  737,  337,  737, 1395, 1442, 1442, 1442, 2381, 1443,
2399      2383, 2396, 1444,  613, 1394, 1394, 1394,  738,  614,  607,
2400
2401       608,  337,  608,  607,  607,  607,  607,  607,  607,  607,
2402       609,  607,  607,  607, 1977,  607,  611,  607,  612,  607,
2403       737,  337,  737,  337,  337,  337,  337,  337,  337, 2410,
2404      2411,  737,  337,  737, 2412, 2416,  738, 1351, 2417,  739,
2405      2419, 2420,  739, 2421, 2422,  607,  607,  738,  737,  337,
2406       737, 1478, 1478, 1478, 2405, 1479, 2406, 2423, 1480, 2424,
2407       613, 1990, 1990, 1990,  738,  614,  618,  619,  337,  619,
2408       618,  618,  618,  618,  618,  618,  618,  620,  618,  618,
2409       618, 2427,  618,  622,  618,  623,  618,  737,  337,  737,
2410       737,  337,  737,  762,  337,  762, 2428, 1977,  762,  337,
2411
2412       762, 2429, 2413,  740, 2430, 2431,  740, 2435, 2436,  763,
2413      2437, 2438,  618,  618,  763,  624,  625,  626, 2414, 2440,
2414      1481, 1481, 1481,  627, 1482,  628, 2415, 1483, 1991, 1991,
2415      1991, 2407,  629,  618,  619,  337,  619,  618,  618,  618,
2416       618,  618,  618,  618,  620,  618,  618,  618, 2432,  618,
2417       622,  618,  623,  618,  773,  337,  773,  773,  337,  773,
2418       773,  337,  773, 2441, 2433,  773,  337,  773, 2442, 2413,
2419       774, 2449, 2434,  774, 2451, 1992,  775, 2452, 2453,  618,
2420       618,  775,  624,  625,  626, 2433, 2454, 1497, 1497, 1497,
2421       627, 1498,  628, 2415, 1499, 1994, 1994, 1994, 2455,  629,
2422
2423       634,  635,  337,  635,  634,  634,  634,  634,  634,  634,
2424       634,  636,  634,  634,  634,  831,  634,  638,  634,  639,
2425       634,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2426      2458, 2460,  773,  337,  773, 2491, 2492,  372, 2493, 2499,
2427       372, 2500, 1995,  774,  854,  852,  634,  634,  774,  773,
2428       337,  773,  773,  337,  773, 2504, 2505,  844, 2511, 1501,
2429      1501, 1501, 2512, 1502, 2516,  776, 1503,  841,  776,  640,
2430       634,  635,  337,  635,  634,  634,  634,  634,  634,  634,
2431       634,  636,  634,  634,  634, 2432,  634,  638,  634,  639,
2432       634,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2433
2434      2517, 2414,  773,  337,  773, 2520, 2524,  777, 2525, 2434,
2435       777, 2526, 2529,  778, 2532, 2536,  634,  634,  778,  773,
2436       337,  773,  773,  337,  773, 1519, 1519, 1519, 2537, 1520,
2437      2538, 2539, 1521, 2544, 2546,  779, 2547, 2548,  779,  640,
2438       649,  650,  337,  650,  649,  649,  649,  649,  649,  649,
2439       649,  651,  649,  649,  649, 2549,  649,  653,  649,  654,
2440       649,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2441      2551, 2554,  773,  337,  773, 2556, 2559,  377, 2573, 2574,
2442       377, 2575, 2580,  776, 2581, 2582,  649,  649,  776,  337,
2443       337,  337, 2584, 2583,  655, 2585,  656, 2586,  657, 1998,
2444
2445      1998, 1998,  658, 2589, 2599,  378,  659,  649,  650,  337,
2446       650,  649,  649,  649,  649,  649,  649,  649,  651,  649,
2447       649,  649, 2608,  649,  653,  649,  654,  649,  337,  337,
2448       337,  773,  337,  773,  773,  337,  773, 2587, 1977,  773,
2449       337,  773, 1351, 1977,  378, 2588, 2609,  779, 2601, 2610,
2450       779, 2611, 2612,  649,  649,  780,  773,  337,  773, 2615,
2451      2617,  655, 2618,  656, 2619,  657, 2001, 2001, 2001,  658,
2452      2602, 2623,  780,  659,  664,  665,  337,  665,  664,  664,
2453       664,  664,  664,  664,  664,  666,  664,  664,  664, 2603,
2454       664,  668,  664,  669,  664,  337,  337,  337,  337,  337,
2455
2456       337,  773,  337,  773, 2624, 2626,  773,  337,  773, 2627,
2457      2628,  380, 2629, 2632,  380, 2636, 2637,  781, 2638, 2640,
2458       664,  664,  781,  337,  337,  337,  337,  337,  337, 2646,
2459      2648,  670, 2660, 1526, 1526, 1526, 2661, 1527, 2662,  382,
2460      1528, 2666,  382,  671,  664,  665,  337,  665,  664,  664,
2461       664,  664,  664,  664,  664,  666,  664,  664,  664, 2667,
2462       664,  668,  664,  669,  664,  773,  337,  773,  773,  337,
2463       773,  773,  337,  773, 2668, 2679,  773,  337,  773, 2680,
2464      2681,  780, 2682, 2685,  780, 2689, 2690,  782, 2691, 2692,
2465       664,  664,  782,  793,  337,  793,  793,  337,  793, 2695,
2466
2467      2696,  670, 2697, 1538, 1538, 1538, 2698, 1539, 2699,  794,
2468      1540, 2700,  794,  671,  675,  676,  337,  676,  675,  675,
2469       675,  675,  675,  675,  675,  677,  675,  675,  675, 2712,
2470       675,  679,  675,  680,  675,  337,  337,  337,  337,  337,
2471       337,  793,  337,  793, 2716, 2719,  793,  337,  793, 2720,
2472      2731,  396, 2732, 2733,  396, 2737, 2738,  794, 2739, 2740,
2473       675,  675,  794, 1551, 1551, 1551, 2741, 1552, 2742,  681,
2474      1553,  682, 2743, 2744,  683, 2745, 2746,  994,  831,  684,
2475       685,  675,  676,  337,  676,  675,  675,  675,  675,  675,
2476       675,  675,  677,  675,  675,  675, 2751,  675,  679,  675,
2477
2478       680,  675,  793,  337,  793,  793,  337,  793,  852, 1091,
2479      1091, 1091, 2758,  821, 2759,  995,  832,  996,  795, 2760,
2480       844,  795,  853,  827,  815,  836, 1092,  675,  675,  997,
2481       841,  998, 1977, 2761,  842, 2763,  681, 2765,  682, 1977,
2482      2766,  683, 2006, 2006, 2006,  846,  684,  685,  689,  690,
2483       337,  690,  689,  689,  689,  689,  689,  689,  689,  691,
2484       689,  689,  689,  843,  689,  693,  689,  694,  689, 2767,
2485      2769, 1158, 1158, 1158,  847,  819,  844, 2770, 2007, 2755,
2486       828,  822, 2754,  823, 2771, 2772,  845,  830, 1159, 2773,
2487      2774,  828, 2775, 2776,  689,  689, 2797,  848, 1069, 2798,
2488
2489       695, 2803, 1069, 1554, 1554, 1554, 2804, 1555,  816, 2813,
2490      1556, 2814,  842, 2815,  696,  689,  690,  337,  690,  689,
2491       689,  689,  689,  689,  689,  689,  691,  689,  689,  689,
2492      2816,  689,  693,  689,  694,  689, 2799,  818, 1177, 1177,
2493      1177,  843, 2832,  821, 2833, 2800, 1179, 1179, 1179, 2834,
2494       825, 2835,  826,  827,  844, 1178, 2850, 2851,  828, 2855,
2495       829,  689,  689, 1180,  845, 1069, 2856,  695, 2857, 1567,
2496      1567, 1567, 2858, 1568, 2859,  816, 1569, 2008, 2008, 2008,
2497      2860,  696,  701,  702,  337,  702,  701,  701,  701,  701,
2498       701,  701,  701,  703,  701,  701,  701, 2861,  701,  705,
2499
2500       701,  706,  701, 2862,  849, 1070, 1189, 1189, 1189, 1192,
2501      1192, 1192, 2863, 1206, 1206, 1206, 2864, 1210, 1210, 1210,
2502      1219, 1219, 1219, 1190, 2865, 2866, 1193,  829,  701,  701,
2503      1207, 2868, 1977,  707, 1211, 2873, 2874, 1220, 2875,  708,
2504       701,  702,  337,  702,  701,  701,  701,  701,  701,  701,
2505       701,  703,  701,  701,  701, 2877,  701,  705,  701,  706,
2506       701, 1229, 1229, 1229, 1231, 1231, 1231, 1239, 1239, 1239,
2507      2872, 1247, 1247, 1247, 2878, 1251, 1251, 1251, 1230, 2879,
2508      1977, 1232, 2881, 2882, 1240, 2883,  701,  701, 1248, 2885,
2509      2886,  707, 1252, 2014, 2014, 2014, 2888,  708,  712,  713,
2510
2511       337,  713,  712,  712,  712,  712,  712,  712,  712,  714,
2512       712,  712,  712, 2871,  712,  716,  712,  717,  712, 1263,
2513      1263, 1263, 1285, 1285, 1285, 1291, 1291, 1291, 2906, 1307,
2514      1307, 1307, 2907, 1313, 1313, 1313, 1264, 2908, 2909, 1286,
2515      2015, 2913, 1292, 2914,  712,  712, 1308,  718, 2921,  719,
2516      1314, 2922, 1578, 1578, 1578,  720, 1579, 2931, 2932, 1580,
2517      2933, 2017, 2017, 2017, 2945,  721,  712,  713,  337,  713,
2518       712,  712,  712,  712,  712,  712,  712,  714,  712,  712,
2519       712, 2946,  712,  716,  712,  717,  712, 1319, 1319, 1319,
2520      1327, 1327, 1327, 1339, 1339, 1339, 2964, 1091, 1091, 1091,
2521
2522      1366, 1366, 1366, 2965, 1320, 2967, 2968, 1328, 1995, 2969,
2523      1340, 2970,  712,  712, 1092,  718, 2971,  719, 1368, 2972,
2524      1585, 1585, 1585,  720, 1586, 2973, 2974, 1587, 2018, 2018,
2525      2018, 2975, 2976,  721,  726,  727,  337,  727,  726,  726,
2526       726,  726,  726,  726,  726,  728,  726,  726,  726, 2977,
2527       726,  730,  726,  731,  726, 1366, 1366, 1366, 1414, 1414,
2528      1414, 1418, 1418, 1418, 2978, 3912, 3912, 3912, 2980, 3912,
2529      3912, 3912, 2985, 1368, 2986, 1415, 2987, 2989, 1419, 2990,
2530       726,  726, 3912, 2991, 2992,  732, 3912, 2017, 2017, 2017,
2531      2993,  733, 1369, 2994,  734, 2095, 2095, 2095, 1351, 1977,
2532
2533       735,  726,  727,  337,  727,  726,  726,  726,  726,  726,
2534       726,  726,  728,  726,  726,  726, 1416,  726,  730,  726,
2535       731,  726, 1421, 1421, 1421, 1421, 1421, 1421, 1420, 2995,
2536      1417, 1431, 1431, 1431, 2032, 1437, 1437, 1437, 2982, 3007,
2537      1423, 3008, 2984, 1423, 2199, 2199, 2199,  726,  726, 1433,
2538      3011, 1977,  732, 1439, 1990, 1990, 1990, 3012,  733, 3013,
2539      3014,  734, 1424, 1991, 1991, 1991, 3017,  735,  741,  742,
2540       337,  742,  741,  741,  741,  741,  741,  741,  741,  743,
2541       741,  741,  741, 3018,  741,  745,  741,  746,  741, 2983,
2542      1437, 1437, 1437, 1158, 1158, 1158, 3015, 3021, 1446, 1446,
2543
2544      1446, 3022, 3033, 1431, 1431, 1431, 3034, 3016, 1439, 3019,
2545      1159, 1446, 1446, 1446,  741,  741, 1448, 1994, 1994, 1994,
2546      3020, 1433,  747, 3035, 3046,  748, 2210, 2210, 2210, 1448,
2547      3076,  749,  741,  742,  337,  742,  741,  741,  741,  741,
2548       741,  741,  741,  743,  741,  741,  741, 3077,  741,  745,
2549       741,  746,  741, 1434, 1440, 1450, 1450, 1450, 3078, 1449,
2550      3912, 3912, 3912, 1454, 1454, 1454, 1456, 1456, 1456, 1456,
2551      1456, 1456, 1451, 1460, 1460, 1460, 3079, 3912,  741,  741,
2552      1455, 1603, 1603, 1603, 1458, 1604,  747, 1458, 1605,  748,
2553      1461, 1998, 1998, 1998, 3080,  749,  752,  753,  337,  753,
2554
2555       752,  752,  752,  752,  752,  752,  752,  754,  752,  752,
2556       752, 1452,  752,  756,  752,  757,  752, 1462, 1462, 1462,
2557      1464, 1464, 1464, 3039, 3081, 1453, 1464, 1464, 1464, 1468,
2558      1468, 1468, 3082, 3040, 1463, 3912, 3912, 3912, 1466, 3041,
2559      1459, 3083,  752,  752, 1466, 2915, 1469, 2916, 3061,  758,
2560      3084, 3085, 3912, 3094,  759, 1633, 1633, 1633, 3062, 1634,
2561      2917, 3063, 1635,  760,  752,  753,  337,  753,  752,  752,
2562       752,  752,  752,  752,  752,  754,  752,  752,  752, 1351,
2563       752,  756,  752,  757,  752, 3096, 1470, 1472, 1472, 1472,
2564      1474, 1474, 1474, 3097, 1474, 1474, 1474, 1467, 3098, 3099,
2565
2566      1471, 1177, 1177, 1177, 1473, 1490, 1490, 1490, 1476, 3091,
2567       752,  752, 1476, 1179, 1179, 1179, 3101,  758, 1178, 2001,
2568      2001, 2001,  759, 1492, 2006, 2006, 2006, 2022, 2022, 2022,
2569      1180,  760,  764,  765,  337,  765,  764,  764,  764,  764,
2570       764,  764,  764,  766,  764,  764,  764, 3102,  764,  768,
2571       764,  769,  764, 1484, 1484, 1484, 2022, 2022, 2022, 3103,
2572      3912, 3912, 3912, 2023, 3114, 1477, 3912, 3912, 3912, 3122,
2573      1485, 3912, 3912, 3912, 3912, 3912, 3912, 3912,  764,  764,
2574      1642, 1642, 1642, 3912, 1643, 3123, 3124, 1644, 3912,  770,
2575      3125, 3912, 2007, 2214, 2214, 2214, 3126,  771,  764,  765,
2576
2577       337,  765,  764,  764,  764,  764,  764,  764,  764,  766,
2578       764,  764,  764, 1486,  764,  768,  764,  769,  764, 1189,
2579      1189, 1189, 1487, 1488, 1192, 1192, 1192, 1489, 1515, 1515,
2580      1515, 1490, 1490, 1490, 3107, 3109, 1190, 1504, 1504, 1504,
2581      3127, 1193, 3128, 3042,  764,  764, 1517, 3108, 3110, 1492,
2582      2008, 2008, 2008, 3043, 1505,  770, 3129, 2215, 1977, 3044,
2583      2217, 2217, 2217,  771,  783,  784,  337,  784,  783,  783,
2584       783,  783,  783,  783,  783,  785,  783,  783,  783, 1493,
2585       783,  787,  783,  788,  783, 1206, 1206, 1206, 1515, 1515,
2586      1515, 1522, 1522, 1522, 1522, 1522, 1522, 1210, 1210, 1210,
2587
2588      3092, 3130, 1207, 1531, 1531, 1531, 1517, 2218, 3131, 1524,
2589       783,  783, 1524, 2918, 1211, 2919,  789, 1977, 3132,  790,
2590      3136, 1533, 1667, 1667, 1667, 3139, 1668, 3140, 2920, 1669,
2591       791,  783,  784,  337,  784,  783,  783,  783,  783,  783,
2592       783,  783,  785,  783,  783,  783, 1518,  783,  787,  783,
2593       788,  783, 1531, 1531, 1531, 1525, 1219, 1219, 1219, 3093,
2594      3141, 1544, 1544, 1544, 1544, 1544, 1544, 1229, 1229, 1229,
2595      1533, 3142, 3143, 1220, 1231, 1231, 1231,  783,  783, 1546,
2596      3144, 3145, 1546,  789, 1230, 3148,  790, 3156, 1557, 1557,
2597      1557, 1232, 3157, 3160, 1557, 1557, 1557,  791,  800, 1562,
2598
2599      1562, 1562, 1562, 1562, 1562,  815, 1559, 3161, 1534, 1239,
2600      1239, 1239, 1559, 3175,  799,  816, 3176, 1564, 3177, 3178,
2601      1564, 1573, 1573, 1573, 3179, 1547, 1240, 2014, 2014, 2014,
2602      1573, 1573, 1573, 3180, 3152, 1247, 1247, 1247, 3181, 1575,
2603      1581, 1581, 1581,  817,  818,  819,  820, 3153, 1575, 3182,
2604       821,  822, 1248,  823,  824, 1560, 3064,  825, 1583,  826,
2605       827,  828, 1565, 1581, 1581, 1581, 3065,  829,  800, 3066,
2606      1251, 1251, 1251, 1589, 1589, 1589, 3191, 1589, 1589, 1589,
2607      3192, 1583, 3194, 3195,  799,  831, 1576, 1252, 1595, 1595,
2608      1595, 1591, 1595, 1595, 1595, 1591, 2017, 2017, 2017, 3196,
2609
2610      1263, 1263, 1263, 2018, 2018, 2018, 1597, 1610, 1610, 1610,
2611      1597, 1351, 2384,  817,  832,  833,  820, 1264, 2385, 1584,
2612       834,  835, 2386,  836,  824, 1612, 1977,  837, 2387,  838,
2613       839,  840, 1606, 1606, 1606, 3154, 3198,  841, 1592, 1610,
2614      1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 3155, 1607,
2615      1629, 1629, 1629, 1598, 1629, 1629, 1629, 1612, 3207, 3187,
2616      1618, 3208, 3188, 1618, 1285, 1285, 1285, 3158, 1631, 1637,
2617      1637, 1637, 1631, 3162, 1637, 1637, 1637, 1291, 1291, 1291,
2618      3159, 1286, 1645, 1645, 1645, 3209, 3163, 1639, 1648, 1648,
2619      1648, 1613, 1639, 3210, 1292, 1653, 1653, 1653, 3215, 1646,
2620
2621      1657, 1657, 1657, 1619, 3222, 1649, 1653, 1653, 1653, 1659,
2622      1659, 1659, 3223, 1655, 3912, 3912, 3912, 1658, 1632, 1662,
2623      1662, 1662, 3224, 3225, 1655, 3226, 1660, 1662, 1662, 1662,
2624      3227, 3912, 1307, 1307, 1307, 3228, 3229, 1664, 1640, 1670,
2625      1670, 1670, 1670, 1670, 1670, 1664, 1313, 1313, 1313, 1308,
2626      3230, 1676, 1676, 1676, 1656, 1677, 3231, 1672, 1678, 3232,
2627      1672, 3233, 3237, 1314, 1680, 1680, 1680, 1680, 1680, 1680,
2628      1319, 1319, 1319, 1661, 1685, 1685, 1685, 3238, 1686, 3239,
2629      3240, 1687, 1682, 3241, 3242, 1682, 3243, 1320, 1665, 1690,
2630      1690, 1690, 1690, 1690, 1690, 1327, 1327, 1327, 1696, 1696,
2631
2632      1696, 3244, 1697, 1673, 3245, 1698, 3246, 1692, 3247, 3248,
2633      1692, 3249, 1328, 1701, 1701, 1701, 1701, 1701, 1701, 1708,
2634      1708, 1708, 1708, 1708, 1708, 1339, 1339, 1339, 1712, 1712,
2635      1712, 1703, 1713, 1683, 1703, 1714, 3250, 1710, 3251, 3252,
2636      1710, 3253, 1340, 1716, 1716, 1716, 1716, 1716, 1716, 1720,
2637      1720, 1720, 3912, 3912, 3912, 1724, 1724, 1724, 1693, 3254,
2638      3255, 1718, 3256, 3268, 1718, 3269, 1721, 3270, 3271, 3912,
2639      3272, 3273, 1725, 3912, 3912, 3912, 1727, 1727, 1727, 3274,
2640      1704, 1727, 1727, 1727, 3275, 3292, 1711, 1366, 1366, 1366,
2641      3912, 1362, 1362, 1362, 1729, 1363, 3295, 3297, 1364, 1729,
2642
2643      1366, 1366, 1366, 1722, 1351, 1368, 3298, 1719, 1738, 1738,
2644      1738, 1414, 1414, 1414, 1418, 1418, 1418, 1723, 1368, 3299,
2645      1783, 1783, 1783, 3300, 1784, 3301, 1739, 1785, 1415, 3302,
2646      3303, 1419, 1726, 1788, 1788, 1788, 3304, 1789, 3305, 3285,
2647      1790, 3306, 1730, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2648      1421, 1421, 1795, 1795, 1795, 1431, 1431, 1431, 1431, 1431,
2649      1431, 1423, 3307, 3308, 1423, 3311, 3314, 1423, 3315, 1796,
2650      1431, 1431, 1431, 1433, 3316, 3317, 1433, 1437, 1437, 1437,
2651      1437, 1437, 1437, 1437, 1437, 1437, 3318, 3319, 1433, 1442,
2652      1442, 1442, 3320, 1443, 3321, 1439, 1444, 3322, 1439, 3323,
2653
2654      3328, 1439, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
2655      1446, 3329, 3330, 1792, 1450, 1450, 1450, 1807, 1807, 1807,
2656      1448, 1808, 3331, 1448, 1809, 3332, 1448, 1454, 1454, 1454,
2657      3333, 1451, 1456, 1456, 1456, 3334, 1800, 1803, 1812, 1812,
2658      1812, 3335, 1813, 3336, 1455, 1814, 1456, 1456, 1456, 3337,
2659      1458, 1456, 1456, 1456, 1460, 1460, 1460, 3338, 1806, 1816,
2660      1816, 1816, 3339, 1817, 1458, 3340, 1818, 3341, 3342, 1458,
2661      3343, 1461, 1462, 1462, 1462, 1819, 1819, 1819, 3344, 1820,
2662      3348, 3349, 1821, 1464, 1464, 1464, 1464, 1464, 1464, 1463,
2663      1464, 1464, 1464, 1468, 1468, 1468, 1823, 1823, 1823, 3350,
2664
2665      1824, 1466, 3351, 1825, 1466, 1472, 1472, 1472, 1466, 3352,
2666      1469, 3353, 3354, 1815, 1828, 1828, 1828, 3355, 1829, 3358,
2667      3359, 1830, 1473, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
2668      1474, 1474, 1478, 1478, 1478, 3360, 1479, 3361, 3362, 1480,
2669      3363, 1476, 3365, 3366, 1476, 3367, 3368, 1476, 3369, 1481,
2670      1481, 1481, 1822, 1482, 3370, 3371, 1483, 1484, 1484, 1484,
2671      1832, 1832, 1832, 3372, 1833, 3379, 3380, 1834, 1490, 1490,
2672      1490, 1490, 1490, 1490, 1485, 1490, 1490, 1490, 1497, 1497,
2673      1497, 3381, 1498, 3382, 3383, 1499, 1492, 3384, 1351, 1492,
2674      3385, 1831, 3386, 1492, 1843, 1843, 1843, 1501, 1501, 1501,
2675
2676      3387, 1502, 3388, 3389, 1503, 1504, 1504, 1504, 1845, 1845,
2677      1845, 1844, 1846, 3390, 3391, 1847, 1515, 1515, 1515, 1515,
2678      1515, 1515, 1505, 3392, 1839, 1515, 1515, 1515, 1519, 1519,
2679      1519, 3373, 1520, 3396, 1517, 1521, 3402, 1517, 1522, 1522,
2680      1522, 3403, 3404, 1517, 1522, 1522, 1522, 1522, 1522, 1522,
2681      1526, 1526, 1526, 3405, 1527, 3406, 1524, 1528, 1531, 1531,
2682      1531, 3407, 1524, 3408, 3415, 1524, 1531, 1531, 1531, 1531,
2683      1531, 1531, 1865, 1865, 1865, 3416, 1533, 3417, 1538, 1538,
2684      1538, 3418, 1539, 3419, 1533, 1540, 3420, 1533, 3421, 1866,
2685      3422, 3423, 1858, 1544, 1544, 1544, 1544, 1544, 1544, 1544,
2686
2687      1544, 1544, 1873, 1873, 1873, 3424, 3425, 1859, 1551, 1551,
2688      1551, 1546, 1552, 3426, 1546, 1553, 3427, 1546, 3428, 1874,
2689      1554, 1554, 1554, 3429, 1555, 3430, 3431, 1556, 1557, 1557,
2690      1557, 1557, 1557, 1557, 1862, 1557, 1557, 1557, 1876, 1876,
2691      1876, 1562, 1562, 1562, 3432, 3433, 1559, 3434, 3435, 1559,
2692      1562, 1562, 1562, 1559, 3436, 1877, 1562, 1562, 1562, 1564,
2693      1573, 1573, 1573, 3437, 1870, 1567, 1567, 1567, 1564, 1568,
2694      3438, 3439, 1569, 3440, 1564, 1573, 1573, 1573, 1575, 1573,
2695      1573, 1573, 1578, 1578, 1578, 3441, 1579, 3442, 3443, 1580,
2696      1581, 1581, 1581, 1575, 1581, 1581, 1581, 1575, 3444, 3445,
2697
2698      1875, 1581, 1581, 1581, 3448, 3449, 1878, 3450, 1583, 1585,
2699      1585, 1585, 1583, 1586, 3451, 3452, 1587, 3453, 3454, 1583,
2700      1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1888,
2701      1888, 1888, 3912, 3912, 3912, 1595, 1595, 1595, 1591, 1883,
2702      3455, 1591, 3465, 3466, 1591, 3467, 1889, 3468, 3469, 3912,
2703      1595, 1595, 1595, 1597, 1595, 1595, 1595, 2388, 1603, 1603,
2704      1603, 1885, 1604, 2389, 3470, 1605, 1351, 2390, 1597, 1606,
2705      1606, 1606, 1597, 2391, 1896, 1896, 1896, 1887, 1897, 3472,
2706      1890, 1898, 1610, 1610, 1610, 3458, 1607, 1610, 1610, 1610,
2707      1610, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 3459,
2708
2709      1612, 1616, 1616, 1616, 3480, 1612, 3481, 3458, 1612, 3482,
2710      3199, 1618, 3456, 3483, 1618, 1910, 1910, 1910, 3461, 1618,
2711      3200, 1891, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
2712      1629, 3484, 1911, 3473, 1633, 1633, 1633, 3201, 1634, 3491,
2713      1631, 1635, 1901, 1631, 3492, 3474, 1631, 3493, 3202, 1904,
2714      1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1642,
2715      1642, 1642, 3494, 1643, 3495, 3496, 1644, 3497, 1639, 3475,
2716      3498, 1639, 3499, 3500, 1639, 1645, 1645, 1645, 1919, 1919,
2717      1919, 3476, 1920, 3501, 3485, 1921, 1922, 1922, 1922, 1915,
2718      3502, 3503, 1646, 1648, 1648, 1648, 3486, 1924, 1924, 1924,
2719
2720      3487, 1925, 3504, 1923, 1926, 1928, 1928, 1928, 3505, 3506,
2721      1649, 1653, 1653, 1653, 1653, 1653, 1653, 1917, 1653, 1653,
2722      1653, 3507, 1929, 1657, 1657, 1657, 1932, 1932, 1932, 1655,
2723      1933, 3508, 1655, 1934, 3509, 3512, 1655, 1659, 1659, 1659,
2724      1658, 1935, 1935, 1935, 1351, 1936, 1977, 1978, 1937, 1662,
2725      1662, 1662, 3458, 3458, 1660, 1662, 1662, 1662, 1662, 1662,
2726      1662, 1667, 1667, 1667, 3461, 1668, 3459, 1664, 1669, 1670,
2727      1670, 1670, 3512, 1664, 3515, 3516, 1664, 3521, 1931, 1670,
2728      1670, 1670, 1670, 1670, 1670, 3510, 3523, 1672, 1676, 1676,
2729      1676, 3527, 1677, 3529, 3524, 1678, 3522, 1672, 3525, 3528,
2730
2731      1672, 1680, 1680, 1680, 1680, 1680, 1680, 3530, 1680, 1680,
2732      1680, 1685, 1685, 1685, 3531, 1686, 3532, 3526, 1687, 1682,
2733      3539, 3544, 1682, 3535, 3540, 1939, 1682, 1948, 1948, 1948,
2734      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1952,
2735      1952, 1952, 3536, 3541, 1949, 3912, 3912, 3912, 1692, 1941,
2736      3547, 1692, 3537, 3548, 1692, 3542, 1953, 1696, 1696, 1696,
2737      3538, 1697, 3912, 3543, 1698, 1701, 1701, 1701, 3549, 1945,
2738      1701, 1701, 1701, 1701, 1701, 1701, 1958, 1958, 1958, 3550,
2739      1708, 1708, 1708, 1703, 1708, 1708, 1708, 3551, 1703, 3552,
2740      3512, 1703, 3554, 1959, 1708, 1708, 1708, 1950, 1710, 1716,
2741
2742      1716, 1716, 1710, 1712, 1712, 1712, 1954, 1713, 3512, 3555,
2743      1714, 3556, 1710, 1716, 1716, 1716, 3560, 1718, 1716, 1716,
2744      1716, 1956, 1720, 1720, 1720, 1964, 1964, 1964, 3561, 1965,
2745      3562, 1718, 1966, 1724, 1724, 1724, 1718, 3563, 3564, 1721,
2746      3565, 3566, 1961, 3567, 1969, 1969, 1969, 3568, 1970, 3569,
2747      1725, 1971, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
2748      1727, 1976, 1976, 1976, 1738, 1738, 1738, 2006, 2006, 2006,
2749      1729, 3570, 3571, 1729, 3575, 3576, 1729, 3577, 1963, 1977,
2750      1978, 3578, 1739, 1783, 1783, 1783, 3579, 1784, 3580, 3581,
2751      1785, 1788, 1788, 1788, 3582, 1789, 3583, 3584, 1790, 1421,
2752
2753      1421, 1421, 3588, 2023, 1795, 1795, 1795, 2034, 2034, 2034,
2754      3203, 2035, 3589, 3590, 2036, 3591, 3592, 1423, 1973, 3593,
2755      3204, 1796, 1431, 1431, 1431, 2042, 2042, 2042, 1437, 1437,
2756      1437, 1446, 1446, 1446, 1807, 1807, 1807, 3205, 1808, 3595,
2757      1433, 1809, 2043, 1812, 1812, 1812, 1439, 1813, 3206, 1448,
2758      1814, 1456, 1456, 1456, 1816, 1816, 1816, 3596, 1817, 3597,
2759      2031, 1818, 3602, 1819, 1819, 1819, 3603, 1820, 3598, 1458,
2760      1821, 1464, 1464, 1464, 1823, 1823, 1823, 3604, 1824, 3605,
2761      3599, 1825, 3606, 2040, 1474, 1474, 1474, 3607, 2047, 1466,
2762      1828, 1828, 1828, 3608, 1829, 2044, 3600, 1830, 3609, 2050,
2763
2764      3610, 3611, 1476, 1832, 1832, 1832, 3612, 1833, 3601, 3613,
2765      1834, 2057, 2057, 2057, 3614, 1490, 1490, 1490, 3615, 2051,
2766      2061, 2061, 2061, 3912, 3912, 3912, 3616, 3617, 2058, 3912,
2767      3912, 3912, 2054, 1492, 1843, 1843, 1843, 2062, 3618, 3619,
2768      3912, 2065, 2065, 2065, 3620, 2066, 3912, 3621, 2067, 3622,
2769      3623, 1844, 1845, 1845, 1845, 3624, 1846, 3625, 1351, 1847,
2770      3488, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2771      3627, 2060, 3489, 3912, 3912, 3912, 3490, 2064, 3912, 3628,
2772      3629, 3912, 3630, 3626, 3912, 3912, 3912, 3912, 3631, 2063,
2773      3912, 3912, 3912, 3912, 2074, 2074, 2074, 3912, 3912, 3912,
2774
2775      3632, 3633, 3912, 3912, 3912, 3912, 3634, 3635, 3912, 3259,
2776      3636, 2075, 2069, 2068, 3912, 3912, 3912, 3912, 3637, 3260,
2777      3912, 2071, 1515, 1515, 1515, 1522, 1522, 1522, 1531, 1531,
2778      1531, 3638, 3912, 1865, 1865, 1865, 3261, 2070, 3639, 3640,
2779      1517, 3641, 3642, 1524, 3643, 3644, 1533, 3262, 3645, 2072,
2780      1866, 2073, 2086, 2086, 2086, 3646, 2087, 3647, 3648, 2088,
2781      2090, 2090, 2090, 3649, 3650, 2077, 3652, 2076, 1544, 1544,
2782      1544, 1873, 1873, 1873, 3653, 1351, 2078, 2091, 2080, 1557,
2783      1557, 1557, 1876, 1876, 1876, 2083, 1546, 2079, 1874, 2097,
2784      2097, 2097, 3654, 2098, 3651, 3655, 2099, 1559, 3656, 1877,
2785
2786      3657, 2101, 2101, 2101, 3658, 2102, 3659, 2092, 2103, 1562,
2787      1562, 1562, 1573, 1573, 1573, 1581, 1581, 1581, 2112, 2112,
2788      2112, 1589, 1589, 1589, 1888, 1888, 1888, 1564, 3660, 3661,
2789      1575, 3662, 3663, 1583, 2094, 2113, 2115, 2115, 2115, 1591,
2790      2116, 1889, 3664, 2117, 3665, 2100, 1595, 1595, 1595, 2121,
2791      2121, 2121, 1896, 1896, 1896, 3666, 1897, 3667, 3668, 1898,
2792      2125, 2125, 2125, 3669, 1597, 3670, 2122, 2104, 3671, 2109,
2793      1351, 3673, 2111, 2114, 1610, 1610, 1610, 2126, 1616, 1616,
2794      1616, 1910, 1910, 1910, 2138, 2138, 2138, 3674, 2139, 3675,
2795      3672, 2140, 1612, 1629, 1629, 1629, 1618, 3676, 1911, 2145,
2796
2797      2145, 2145, 1637, 1637, 1637, 3677, 2119, 2127, 1919, 1919,
2798      1919, 1631, 1920, 3678, 3679, 1921, 2146, 1922, 1922, 1922,
2799      1639, 2149, 2149, 2149, 3680, 2150, 3681, 3682, 2151, 1924,
2800      1924, 1924, 3683, 1925, 1923, 3684, 1926, 3685, 2129, 1928,
2801      1928, 1928, 3686, 2144, 2132, 2153, 2153, 2153, 3687, 2154,
2802      3688, 3689, 2155, 1653, 1653, 1653, 1929, 3690, 1932, 1932,
2803      1932, 3691, 1933, 3692, 2147, 1934, 1935, 1935, 1935, 3694,
2804      1936, 1655, 3695, 1937, 1662, 1662, 1662, 1670, 1670, 1670,
2805      1680, 1680, 1680, 2167, 2167, 2167, 1948, 1948, 1948, 2169,
2806      2169, 2169, 1664, 2170, 3696, 1672, 2171, 3697, 1682, 3698,
2807
2808      2168, 3699, 3700, 1949, 2157, 1690, 1690, 1690, 1952, 1952,
2809      1952, 2174, 2174, 2174, 3263, 2175, 3701, 3702, 2176, 3703,
2810      1701, 1701, 1701, 1692, 3264, 1953, 3704, 3705, 1958, 1958,
2811      1958, 1351, 2181, 2181, 2181, 3706, 2182, 3693, 1703, 2183,
2812      2159, 3265, 3707, 2161, 2165, 1959, 2184, 2184, 2184, 1708,
2813      1708, 1708, 3266, 1716, 1716, 1716, 3708, 1964, 1964, 1964,
2814      3709, 1965, 3711, 2185, 1966, 3712, 3713, 1710, 3714, 2172,
2815      2179, 1718, 1969, 1969, 1969, 3715, 1970, 3716, 3717, 1971,
2816      1727, 1727, 1727, 1976, 1976, 1976, 2227, 2227, 2227, 2230,
2817      2230, 2230, 2022, 2022, 2022, 2214, 2214, 2214, 1729, 2186,
2818
2819      3718, 1977, 2227, 2227, 2227, 2188, 2235, 2235, 2235, 2237,
2820      2237, 2237, 3912, 3912, 3912, 1421, 1421, 1421, 2034, 2034,
2821      2034, 3719, 2035, 2236, 3720, 2036, 2238, 3721, 3722, 3912,
2822      1351, 3724, 2192, 1423, 3725, 2194, 2231, 1431, 1431, 1431,
2823      2042, 2042, 2042, 3726, 3710, 2248, 2248, 2248, 3727, 2249,
2824      2228, 2195, 2250, 3728, 3729, 1433, 3730, 2043, 3731, 2228,
2825      1437, 1437, 1437, 1446, 1446, 1446, 2215, 2255, 2255, 2255,
2826      2257, 2257, 2257, 1456, 1456, 1456, 2239, 3732, 1439, 3733,
2827      3734, 1448, 2240, 3735, 2256, 3738, 3739, 2258, 1464, 1464,
2828      1464, 1458, 2261, 2261, 2261, 3740, 2263, 2263, 2263, 3741,
2829
2830      3742, 2246, 1474, 1474, 1474, 3743, 1466, 3744, 3745, 2262,
2831      3746, 3747, 2254, 2264, 2266, 2266, 2266, 3750, 3751, 2251,
2832      1476, 3752, 3912, 3912, 3912, 2057, 2057, 2057, 2269, 2269,
2833      2269, 2267, 2270, 3753, 1855, 2271, 1854, 3765, 2259, 3912,
2834      1351, 1351, 2058, 2272, 2272, 2272, 1490, 1490, 1490, 2061,
2835      2061, 2061, 1351, 2260, 2275, 2275, 2275, 1351, 2276, 1853,
2836      2273, 2277, 1852, 1351, 1492, 1351, 2062, 2265, 2278, 2278,
2837      2278, 3912, 3912, 3912, 2065, 2065, 2065, 3748, 2066, 1351,
2838      2268, 2067, 3912, 3912, 3912, 2279, 1351, 3848, 3912, 3749,
2839      3912, 3912, 3912, 2283, 2283, 2283, 3912, 3912, 3912, 3912,
2840
2841      3912, 3912, 3912, 3912, 3912, 3912, 2274, 3912, 1351, 3758,
2842      2284, 3754, 1851, 3912, 2074, 2074, 2074, 3912, 1850, 1849,
2843      3912, 2288, 2288, 2288, 3776, 2289, 1351, 3755, 2290, 1351,
2844      1351, 2075, 2291, 2291, 2291, 2280, 3912, 3912, 3912, 1848,
2845      2282, 3912, 3912, 3912, 3767, 1351, 2281, 2286, 1351, 2292,
2846      1515, 1515, 1515, 3912, 2285, 1351, 3756, 2287, 3912, 1522,
2847      1522, 1522, 2299, 2299, 2299, 2086, 2086, 2086, 1517, 2087,
2848      3759, 3764, 2088, 2303, 2303, 2303, 3772, 1524, 3757, 1351,
2849      2300, 2090, 2090, 2090, 2293, 2305, 2305, 2305, 3766, 2306,
2850      2304, 3788, 2307, 3778, 1842, 2294, 1351, 1351, 2091, 2310,
2851
2852      2310, 2310, 2095, 2095, 2095, 2312, 2312, 2312, 1557, 1557,
2853      1557, 1351, 1562, 1562, 1562, 2296, 2295, 2311, 2097, 2097,
2854      2097, 1351, 2098, 1841, 3768, 2099, 1559, 2101, 2101, 2101,
2855      1564, 2102, 1351, 3784, 2103, 2319, 2319, 2319, 1581, 1581,
2856      1581, 2112, 2112, 2112, 2323, 2323, 2323, 1351, 2324, 3769,
2857      1840, 2325, 3780, 2320, 1351, 2313, 1583, 1351, 2113, 1589,
2858      1589, 1589, 2115, 2115, 2115, 1351, 2116, 3790, 3770, 2117,
2859      1595, 1595, 1595, 2121, 2121, 2121, 1351, 1591, 3771, 2314,
2860      2330, 2330, 2330, 3786, 2331, 2322, 1351, 2332, 1597, 1351,
2861      2122, 2333, 2333, 2333, 2125, 2125, 2125, 2336, 2336, 2336,
2862
2863      3793, 2337, 3773, 3781, 2338, 2341, 2341, 2341, 2334, 1838,
2864      1351, 2126, 1616, 1616, 1616, 1837, 1351, 2326, 2346, 2346,
2865      2346, 3775, 1351, 2342, 2138, 2138, 2138, 3783, 2139, 1351,
2866      1618, 2140, 1629, 1629, 1629, 3821, 2328, 2145, 2145, 2145,
2867      2355, 2355, 2355, 1351, 2356, 3760, 1351, 2357, 1351, 1351,
2868      1631, 2358, 2358, 2358, 2146, 2149, 2149, 2149, 3789, 2150,
2869      1836, 1351, 2151, 3774, 3823, 2345, 2153, 2153, 2153, 2359,
2870      2154, 1351, 1351, 2155, 1653, 1653, 1653, 1662, 1662, 1662,
2871      1670, 1670, 1670, 1351, 2354, 2368, 2368, 2368, 3912, 3912,
2872      3912, 1835, 1655, 3777, 3795, 1664, 3761, 3791, 1672, 2371,
2873
2874      2371, 2371, 2369, 1351, 1351, 3912, 1351, 1680, 1680, 1680,
2875      2167, 2167, 2167, 2375, 2375, 2375, 2372, 2376, 3779, 1351,
2876      2377, 1690, 1690, 1690, 3782, 1682, 1351, 2168, 1351, 2365,
2877      3762, 1351, 2367, 1351, 1351, 2363, 2169, 2169, 2169, 1692,
2878      2170, 3792, 3794, 2171, 2174, 2174, 2174, 3785, 2175, 1827,
2879      1351, 2176, 3796, 1351, 2370, 2373, 1701, 1701, 1701, 2181,
2880      2181, 2181, 3824, 2182, 3798, 1351, 2183, 3787, 3808, 2378,
2881      2184, 2184, 2184, 1351, 1703, 2392, 2392, 2392, 1826, 2393,
2882      1351, 3763, 2394, 1708, 1708, 1708, 3804, 2185, 2397, 2397,
2883      2397, 3797, 2399, 2399, 2399, 2401, 2401, 2401, 3912, 3912,
2884
2885      3912, 1710, 1727, 1727, 1727, 3800, 2398, 3836, 2382, 2400,
2886      3802, 3799, 2402, 3801, 1351, 3912, 2408, 2408, 2408, 1351,
2887      1729, 2199, 2199, 2199, 2418, 2418, 2418, 2210, 2210, 2210,
2888      2425, 2425, 2425, 2409, 1351, 2395, 1351, 1351, 2404, 2214,
2889      2214, 2214, 2426, 2426, 2426, 2217, 2217, 2217, 2227, 2227,
2890      2227, 2439, 2439, 2439, 2230, 2230, 2230, 2235, 2235, 2235,
2891      1351, 1351, 2403, 2443, 2443, 2443, 1351, 2444, 3277, 3803,
2892      2445, 2237, 2237, 2237, 2236, 2446, 2446, 2446, 3278, 2447,
2893      3809, 3825, 2448, 1421, 1421, 1421, 1811, 1351, 2238, 2456,
2894      2456, 2456, 2248, 2248, 2248, 3279, 2249, 3806, 3829, 2250,
2895
2896      3826, 1423, 1437, 1437, 1437, 1351, 3280, 2457, 2461, 2461,
2897      2461, 1446, 1446, 1446, 2255, 2255, 2255, 2464, 2464, 2464,
2898      1439, 2465, 3810, 1351, 2466, 2462, 2257, 2257, 2257, 1448,
2899      1351, 2256, 2467, 2467, 2467, 1351, 2468, 1810, 3281, 2469,
2900      1456, 1456, 1456, 2258, 1464, 1464, 1464, 3838, 3282, 2450,
2901      2261, 2261, 2261, 3850, 2459, 2312, 2312, 2312, 1458, 2472,
2902      2472, 2472, 1466, 2473, 1351, 3283, 2474, 2262, 2263, 2263,
2903      2263, 3833, 2463, 2475, 2475, 2475, 3284, 2476, 3811, 1805,
2904      2477, 1474, 1474, 1474, 1351, 2264, 2266, 2266, 2266, 2479,
2905      2479, 2479, 1351, 2480, 1351, 3805, 2481, 1351, 1351, 1476,
2906
2907      2482, 2482, 2482, 2267, 1351, 2470, 2269, 2269, 2269, 2471,
2908      2270, 3827, 3807, 2271, 2272, 2272, 2272, 2483, 2484, 2484,
2909      2484, 1351, 2485, 1351, 1804, 2486, 1490, 1490, 1490, 3828,
2910      3813, 2273, 2275, 2275, 2275, 3812, 2276, 3814, 1351, 2277,
2911      2278, 2278, 2278, 3815, 1492, 3868, 2478, 2488, 2488, 2488,
2912      1802, 2489, 1351, 1351, 2490, 1801, 3849, 2279, 2283, 2283,
2913      2283, 2494, 2494, 2494, 1351, 2495, 1351, 1351, 2496, 2497,
2914      2497, 2497, 2288, 2288, 2288, 2284, 2289, 1799, 2487, 2290,
2915      2291, 2291, 2291, 2501, 2501, 2501, 2498, 2502, 3817, 3819,
2916      2503, 1515, 1515, 1515, 1522, 1522, 1522, 2292, 2508, 2508,
2917
2918      2508, 3912, 3912, 3912, 2299, 2299, 2299, 3830, 1798, 1517,
2919      3816, 1351, 1524, 3818, 3861, 2509, 1351, 1351, 3912, 2303,
2920      2303, 2303, 2300, 2513, 2513, 2513, 1351, 2514, 1351, 3864,
2921      2515, 2305, 2305, 2305, 1351, 2306, 2304, 1351, 2307, 2310,
2922      2310, 2310, 1351, 2506, 1557, 1557, 1557, 3820, 2507, 1562,
2923      1562, 1562, 2521, 2521, 2521, 3831, 1351, 2311, 2319, 2319,
2924      2319, 1351, 1559, 1581, 1581, 1581, 3832, 1564, 1351, 2522,
2925      2510, 2323, 2323, 2323, 3863, 2324, 2320, 1797, 2325, 1794,
2926      3834, 1583, 3905, 1589, 1589, 1589, 2530, 2530, 2530, 2330,
2927      2330, 2330, 3822, 2331, 1351, 1351, 2332, 3837, 1793, 2523,
2928
2929      2519, 1591, 2518, 3866, 2531, 2333, 2333, 2333, 2533, 2533,
2930      2533, 1351, 2534, 2527, 3840, 2535, 2336, 2336, 2336, 1791,
2931      2337, 1351, 2334, 2338, 2341, 2341, 2341, 2540, 2540, 2540,
2932      2528, 1616, 1616, 1616, 2346, 2346, 2346, 2543, 2543, 2543,
2933      3841, 3842, 2342, 1787, 2541, 2545, 2545, 2545, 1351, 1618,
2934      1629, 1629, 1629, 2355, 2355, 2355, 1786, 2356, 1351, 1351,
2935      2357, 2358, 2358, 2358, 2552, 2552, 2552, 3843, 1631, 1653,
2936      1653, 1653, 2557, 2557, 2557, 1670, 1670, 1670, 1351, 2359,
2937      1351, 2553, 2368, 2368, 2368, 1351, 1351, 1655, 1351, 3835,
2938      2558, 3851, 2542, 1672, 2561, 2561, 2561, 3844, 2562, 2369,
2939
2940      1351, 2563, 2564, 2564, 2564, 2371, 2371, 2371, 3852, 2566,
2941      2566, 2566, 3853, 2567, 3839, 2550, 2568, 1351, 3845, 2565,
2942      3856, 1351, 2372, 1680, 1680, 1680, 3846, 3854, 2555, 2570,
2943      2570, 2570, 3860, 2375, 2375, 2375, 1351, 2376, 3847, 2560,
2944      2377, 1682, 1690, 1690, 1690, 1351, 2571, 2576, 2576, 2576,
2945      2578, 2578, 2578, 1782, 2392, 2392, 2392, 3855, 2393, 1351,
2946      1692, 2394, 1708, 1708, 1708, 2577, 1351, 2579, 2591, 2591,
2947      2591, 2397, 2397, 2397, 2399, 2399, 2399, 2569, 3857, 1351,
2948      1710, 2401, 2401, 2401, 3869, 2592, 2593, 2593, 2593, 2398,
2949      2594, 2400, 1781, 2595, 3858, 1351, 2572, 1780, 2402, 2596,
2950
2951      2596, 2596, 1779, 2597, 1778, 3869, 2598, 1777, 3909, 2590,
2952      1727, 1727, 1727, 2408, 2408, 2408, 2604, 2604, 2604, 1351,
2953      2605, 3885, 1351, 2606, 2607, 2607, 2607, 3906, 1729, 1351,
2954      2409, 2613, 2613, 2613, 2614, 2614, 2614, 2418, 2418, 2418,
2955      2616, 2616, 2616, 2620, 2620, 2620, 2425, 2425, 2425, 2426,
2956      2426, 2426, 2621, 2621, 2621, 2625, 2625, 2625, 2630, 2630,
2957      2630, 2631, 2631, 2631, 2633, 2633, 2633, 2439, 2439, 2439,
2958      1351, 2600, 2634, 2634, 2634, 2443, 2443, 2443, 3886, 2444,
2959      1776, 1775, 2445, 2446, 2446, 2446, 1351, 2447, 1351, 1351,
2960      2448, 1421, 1421, 1421, 2641, 2641, 2641, 1774, 1351, 2622,
2961
2962      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1423,
2963      1773, 2642, 2456, 2456, 2456, 1772, 3862, 3912, 1351, 2635,
2964      3912, 3859, 3865, 3912, 1437, 1437, 1437, 2461, 2461, 2461,
2965      2457, 2649, 2649, 2649, 1771, 2650, 1351, 1351, 2651, 1446,
2966      1446, 1446, 1439, 2639, 2462, 3870, 2464, 2464, 2464, 1351,
2967      2465, 3867, 2643, 2466, 2467, 2467, 2467, 1448, 2468, 1351,
2968      1351, 2469, 1456, 1456, 1456, 2645, 3909, 2644, 1464, 1464,
2969      1464, 2472, 2472, 2472, 3871, 2473, 1351, 1351, 2474, 1351,
2970      1458, 1351, 2653, 3879, 2647, 1770, 1466, 2475, 2475, 2475,
2971      3875, 2476, 1351, 1769, 2477, 1474, 1474, 1474, 3874, 2652,
2972
2973      3876, 2479, 2479, 2479, 2654, 2480, 1351, 1351, 2481, 2482,
2974      2482, 2482, 3877, 1476, 2656, 2656, 2656, 3878, 2657, 1351,
2975      3891, 2658, 1351, 2484, 2484, 2484, 2483, 2485, 3893, 1351,
2976      2486, 1490, 1490, 1490, 2488, 2488, 2488, 1768, 2489, 2655,
2977      3883, 2490, 3894, 2494, 2494, 2494, 1351, 2495, 1351, 1492,
2978      2496, 2497, 2497, 2497, 2663, 2663, 2663, 1351, 2664, 1767,
2979      3881, 2665, 2501, 2501, 2501, 3880, 2502, 3882, 2498, 2503,
2980      2669, 2669, 2669, 1515, 1515, 1515, 2672, 2672, 2672, 2508,
2981      2508, 2508, 2674, 2674, 2674, 1766, 2675, 2670, 1351, 2676,
2982      3884, 1517, 1351, 3887, 2673, 3888, 2509, 2659, 2677, 2677,
2983
2984      2677, 2513, 2513, 2513, 1765, 2514, 1764, 1351, 2515, 1557,
2985      1557, 1557, 1562, 1562, 1562, 2678, 2521, 2521, 2521, 2686,
2986      2686, 2686, 1762, 2687, 1761, 1351, 2688, 1559, 1760, 3892,
2987      1564, 1351, 1351, 2522, 1581, 1581, 1581, 2671, 3895, 1589,
2988      1589, 1589, 2530, 2530, 2530, 3889, 2533, 2533, 2533, 1759,
2989      2534, 1758, 1583, 2535, 2540, 2540, 2540, 1591, 3899, 1755,
2990      2531, 1616, 1616, 1616, 2684, 2683, 2701, 2701, 2701, 3890,
2991      2702, 2541, 1351, 2703, 2543, 2543, 2543, 1754, 3896, 1618,
2992      2705, 2705, 2705, 2545, 2545, 2545, 2706, 2706, 2706, 3912,
2993      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3901, 1351,
2994
2995      2693, 2694, 1351, 2707, 1753, 1752, 3912, 1351, 1751, 3912,
2996      3897, 1750, 3912, 1629, 1629, 1629, 2552, 2552, 2552, 2713,
2997      2713, 2713, 1749, 2714, 1748, 2704, 2715, 2717, 2717, 2717,
2998      1351, 1631, 3900, 2553, 2557, 2557, 2557, 2721, 2721, 2721,
2999      3898, 2708, 2561, 2561, 2561, 2718, 2562, 1747, 1746, 2563,
3000      1745, 1744, 2558, 1743, 2710, 2722, 2709, 2564, 2564, 2564,
3001      2723, 2723, 2723, 3903, 2724, 1351, 1742, 2725, 2566, 2566,
3002      2566, 1741, 2567, 1740, 2565, 2568, 1351, 1737, 2711, 1680,
3003      1680, 1680, 2570, 2570, 2570, 2727, 2727, 2727, 1736, 2728,
3004      1735, 1351, 2729, 1690, 1690, 1690, 1734, 1682, 3904, 2571,
3005
3006      2576, 2576, 2576, 2578, 2578, 2578, 2734, 2734, 2734, 3907,
3007      2735, 1692, 1733, 2736, 1708, 1708, 1708, 1732, 2577, 1351,
3008      2579, 2591, 2591, 2591, 3908, 3902, 2748, 2748, 2748, 1715,
3009      2749, 2726, 1710, 2750, 1351, 2593, 2593, 2593, 2592, 2594,
3010      1707, 1706, 2595, 1705, 1700, 2730, 2596, 2596, 2596, 1699,
3011      2597, 1695, 1689, 2598, 1727, 1727, 1727, 2753, 2753, 2753,
3012      1688, 2604, 2604, 2604, 2747, 2605, 1684, 1679, 2606, 2607,
3013      2607, 2607, 1729, 1675, 1674, 1351, 2756, 2756, 2756, 2757,
3014      2757, 2757, 2613, 2613, 2613, 2614, 2614, 2614, 2616, 2616,
3015      2616, 2762, 2762, 2762, 2764, 2764, 2764, 2620, 2620, 2620,
3016
3017      2621, 2621, 2621, 2625, 2625, 2625, 2768, 2768, 2768, 2630,
3018      2630, 2630, 2631, 2631, 2631, 2633, 2633, 2633, 2634, 2634,
3019      2634, 2752, 2777, 2777, 2777, 2779, 2779, 2779, 2641, 2641,
3020      2641, 2780, 2780, 2780, 1666, 2781, 1652, 1651, 2782, 1650,
3021      2778, 2783, 2783, 2783, 1647, 2642, 3912, 3912, 3912, 3912,
3022      3912, 3912, 2787, 2787, 2787, 1437, 1437, 1437, 2784, 2789,
3023      2789, 2789, 1641, 3912, 1636, 1628, 3912, 2649, 2649, 2649,
3024      1627, 2650, 1626, 1439, 2651, 1625, 2790, 1446, 1446, 1446,
3025      1624, 1456, 1456, 1456, 1464, 1464, 1464, 1474, 1474, 1474,
3026      2656, 2656, 2656, 1623, 2657, 1448, 1622, 2658, 2785, 1458,
3027
3028      1621, 2786, 1466, 1620, 1615, 1476, 2795, 2795, 2795, 2663,
3029      2663, 2663, 1614, 2664, 1609, 1608, 2665, 1602, 2792, 1599,
3030      1594, 2788, 1593, 1588, 2796, 2801, 2801, 2801, 1577, 2791,
3031      2669, 2669, 2669, 2805, 2805, 2805, 1572, 2806, 1571, 1570,
3032      2807, 1566, 2802, 1561, 1550, 2793, 1548, 2670, 2794, 2808,
3033      2808, 2808, 2672, 2672, 2672, 2674, 2674, 2674, 1543, 2675,
3034      1542, 1541, 2676, 2677, 2677, 2677, 1537, 2809, 1536, 1535,
3035      2673, 2810, 2810, 2810, 1530, 2811, 1529, 1514, 2812, 1513,
3036      2678, 1557, 1557, 1557, 2818, 2818, 2818, 2820, 2820, 2820,
3037      2686, 2686, 2686, 1512, 2687, 1511, 1510, 2688, 1509, 1559,
3038
3039      1508, 1507, 2819, 1506, 2821, 3912, 3912, 3912, 3912, 3912,
3040      3912, 3912, 3912, 3912, 2826, 2826, 2826, 1581, 1581, 1581,
3041      1500, 1445, 3912, 1441, 1436, 3912, 1435, 1430, 3912, 1429,
3042      1428, 2827, 1427, 1426, 2822, 1583, 1589, 1589, 1589, 1425,
3043      1413, 2817, 2830, 2830, 2830, 2836, 2836, 2836, 2701, 2701,
3044      2701, 1412, 2702, 1411, 1591, 2703, 1616, 1616, 1616, 2831,
3045      1410, 2823, 1409, 2825, 2705, 2705, 2705, 1408, 1407, 2824,
3046      2706, 2706, 2706, 1406, 1618, 1405, 1404, 2828, 2838, 2838,
3047      2838, 1403, 2839, 1402, 1401, 2840, 1400, 2707, 2841, 2841,
3048      2841, 3912, 3912, 3912, 3912, 3912, 3912, 2847, 2847, 2847,
3049
3050      2829, 2845, 2845, 2845, 1399, 2842, 1398, 1397, 3912, 1396,
3051      1393, 3912, 1392, 1391, 2848, 2837, 2713, 2713, 2713, 2846,
3052      2714, 1390, 1389, 2715, 3912, 3912, 3912, 2717, 2717, 2717,
3053      2721, 2721, 2721, 2723, 2723, 2723, 1388, 2724, 1387, 1386,
3054      2725, 3912, 1385, 2843, 1382, 2718, 2844, 1381, 2722, 2852,
3055      2852, 2852, 2727, 2727, 2727, 1380, 2728, 1379, 1378, 2729,
3056      1690, 1690, 1690, 1377, 2734, 2734, 2734, 2853, 2735, 1376,
3057      1375, 2736, 1374, 1708, 1708, 1708, 1373, 1372, 1692, 2748,
3058      2748, 2748, 1365, 2749, 1361, 1360, 2750, 1727, 1727, 1727,
3059      2849, 1710, 2753, 2753, 2753, 2756, 2756, 2756, 2757, 2757,
3060
3061      2757, 2876, 2876, 2876, 1359, 1729, 1358, 2854, 1357, 1354,
3062      1351, 2762, 2762, 2762, 2764, 2764, 2764, 2880, 2880, 2880,
3063      2768, 2768, 2768, 2884, 2884, 2884, 2887, 2887, 2887, 2777,
3064      2777, 2777, 1352, 1351, 2867, 2779, 2779, 2779, 2780, 2780,
3065      2780, 1349, 2781, 1347, 1346, 2782, 1345, 2778, 2783, 2783,
3066      2783, 1344, 1343, 2869, 2870, 2889, 2889, 2889, 1341, 2890,
3067      1338, 1336, 2891, 1335, 1334, 2784, 2892, 2892, 2892, 2894,
3068      2894, 2894, 2787, 2787, 2787, 2896, 2896, 2896, 2789, 2789,
3069      2789, 1333, 1332, 2893, 1329, 1326, 2895, 2898, 2898, 2898,
3070      1325, 2899, 1324, 2897, 2900, 2790, 2901, 2901, 2901, 1456,
3071
3072      1456, 1456, 1464, 1464, 1464, 1474, 1474, 1474, 2795, 2795,
3073      2795, 2801, 2801, 2801, 2902, 1322, 1321, 1458, 1318, 1317,
3074      1466, 1315, 1312, 1476, 1311, 1310, 2796, 1306, 2802, 2910,
3075      2910, 2910, 1305, 2911, 1303, 1302, 2912, 2805, 2805, 2805,
3076      1301, 2806, 1300, 1298, 2807, 1297, 2808, 2808, 2808, 2810,
3077      2810, 2810, 1296, 2811, 1295, 1294, 2812, 2923, 2923, 2923,
3078      2925, 2925, 2925, 2903, 2809, 2905, 1557, 1557, 1557, 2904,
3079      2818, 2818, 2818, 1293, 2924, 1290, 1289, 2926, 2820, 2820,
3080      2820, 2934, 2934, 2934, 1559, 2928, 2928, 2928, 2819, 2929,
3081      1287, 1284, 2930, 1282, 1281, 2821, 1280, 1279, 2935, 2826,
3082
3083      2826, 2826, 2936, 2936, 2936, 1278, 2937, 1273, 1271, 2938,
3084      2939, 2939, 2939, 1589, 1589, 1589, 2827, 2830, 2830, 2830,
3085      2942, 2942, 2942, 2927, 2943, 1270, 1269, 2944, 2940, 1267,
3086      1266, 1591, 1265, 1262, 2831, 2947, 2947, 2947, 2949, 2949,
3087      2949, 2836, 2836, 2836, 2951, 2951, 2951, 2838, 2838, 2838,
3088      1261, 2839, 2948, 1260, 2840, 2950, 2841, 2841, 2841, 2953,
3089      2953, 2953, 2952, 2954, 1259, 1257, 2955, 2956, 2956, 2956,
3090      2958, 2958, 2958, 2842, 2941, 2845, 2845, 2845, 2847, 2847,
3091      2847, 2960, 2960, 2960, 2957, 2961, 1256, 2959, 2962, 3912,
3092      3912, 3912, 1255, 2846, 1253, 2848, 2852, 2852, 2852, 1690,
3093
3094      1690, 1690, 1708, 1708, 1708, 1250, 3912, 1727, 1727, 1727,
3095      2876, 2876, 2876, 1246, 2853, 1245, 1243, 1692, 1242, 1241,
3096      1710, 2988, 2988, 2988, 1238, 1729, 2880, 2880, 2880, 2884,
3097      2884, 2884, 2887, 2887, 2887, 2996, 2996, 2996, 1237, 2889,
3098      2889, 2889, 1235, 2890, 1234, 2963, 2891, 2892, 2892, 2892,
3099      1228, 1227, 2997, 2998, 2998, 2998, 1226, 2999, 1225, 2981,
3100      3000, 1223, 2979, 1222, 2893, 2966, 2894, 2894, 2894, 3001,
3101      3001, 3001, 1221, 3002, 1216, 1215, 3003, 2896, 2896, 2896,
3102      2898, 2898, 2898, 2895, 2899, 1213, 1212, 2900, 2901, 2901,
3103      2901, 1456, 1456, 1456, 1209, 2897, 1464, 1464, 1464, 1474,
3104
3105      1474, 1474, 3009, 3009, 3009, 1205, 2902, 1203, 1202, 1458,
3106      1201, 2910, 2910, 2910, 1466, 2911, 1200, 1476, 2912, 3010,
3107      3023, 3023, 3023, 2923, 2923, 2923, 3025, 3025, 3025, 1199,
3108      3026, 1198, 1197, 3027, 3073, 3073, 3073, 3024, 1196, 1195,
3109      2924, 2925, 2925, 2925, 1194, 1191, 3028, 3028, 3028, 1188,
3110      3029, 3006, 3004, 3030, 3031, 3031, 3031, 1187, 2926, 2928,
3111      2928, 2928, 3005, 2929, 1185, 1184, 2930, 2934, 2934, 2934,
3112      1183, 1182, 3032, 3036, 3036, 3036, 1181, 3037, 1176, 1174,
3113      3038, 2936, 2936, 2936, 2935, 2937, 1173, 1172, 2938, 2939,
3114      2939, 2939, 1589, 1589, 1589, 2942, 2942, 2942, 1171, 2943,
3115
3116      1169, 1168, 2944, 3047, 3047, 3047, 1167, 2940, 1165, 1164,
3117      1591, 2947, 2947, 2947, 3049, 3049, 3049, 1163, 3050, 1162,
3118      3048, 3051, 2949, 2949, 2949, 3052, 3052, 3052, 2948, 3053,
3119      1160, 1157, 3054, 2951, 2951, 2951, 2953, 2953, 2953, 2950,
3120      2954, 1156, 1154, 2955, 2956, 2956, 2956, 1152, 3055, 3055,
3121      3055, 2952, 3056, 1150, 3045, 3057, 2958, 2958, 2958, 1149,
3122      1148, 2957, 3058, 3058, 3058, 1147, 3059, 1146, 1145, 3060,
3123      2960, 2960, 2960, 2959, 2961, 1144, 1142, 2962, 3912, 3912,
3124      3912, 3068, 3068, 3068, 3070, 3070, 3070, 1690, 1690, 1690,
3125      3074, 3074, 3074, 1141, 1140, 3912, 1139, 1135, 3069, 1134,
3126
3127      1133, 3071, 1708, 1708, 1708, 1692, 1131, 3075, 3087, 3087,
3128      3087, 3089, 3089, 3089, 3095, 3095, 3095, 2988, 2988, 2988,
3129      1710, 3100, 3100, 3100, 1130, 3088, 2996, 2996, 2996, 3090,
3130      3104, 3104, 3104, 1129, 3105, 1128, 1125, 3106, 1124, 3067,
3131      2998, 2998, 2998, 2997, 2999, 1123, 1118, 3000, 3001, 3001,
3132      3001, 1116, 3002, 1115, 1114, 3003, 1108, 1107, 3072, 1456,
3133      1456, 1456, 3086, 1464, 1464, 1464, 1474, 1474, 1474, 3115,
3134      3115, 3115, 3009, 3009, 3009, 1106, 1105, 1458, 3117, 3117,
3135      3117, 1466, 3118, 1104, 1476, 3119, 3116, 1096, 1095, 3010,
3136      3120, 3120, 3120, 3023, 3023, 3023, 3133, 3133, 3133, 1093,
3137
3138      3134, 1090, 3113, 3135, 3025, 3025, 3025, 3121, 3026, 1089,
3139      3024, 3027, 3028, 3028, 3028, 3112, 3029, 1088, 1087, 3030,
3140      3031, 3031, 3031, 3137, 3137, 3137, 3111, 3036, 3036, 3036,
3141      1082, 3037, 1079, 1081, 3038, 3146, 3146, 3146, 3032, 1074,
3142      3138, 3047, 3047, 3047, 3149, 3149, 3149, 1073, 3150, 1071,
3143      1070, 3151,  830, 3147, 1068, 3049, 3049, 3049, 3048, 3050,
3144      1067, 1065, 3051, 3052, 3052, 3052, 1063, 3053, 1062, 1061,
3145      3054, 3055, 3055, 3055, 1059, 3056, 1058, 1055, 3057, 3058,
3146      3058, 3058, 1054, 3059, 1053, 1051, 3060, 3912, 3912, 3912,
3147      3068, 3068, 3068, 3165, 3165, 3165, 1050, 3166, 1048, 1047,
3148
3149      3167, 3070, 3070, 3070, 3912, 1046, 1045, 3069, 3168, 3168,
3150      3168, 1043, 3169, 1042, 1041, 3170, 1040, 1039, 3071, 1690,
3151      1690, 1690, 3073, 3073, 3073, 3074, 3074, 3074, 3172, 3172,
3152      3172, 1038, 3173, 1036, 1034, 3174, 1033, 1692, 1708, 1708,
3153      1708, 1031, 3075, 3087, 3087, 3087, 1027, 3164, 3184, 3184,
3154      3184, 1025, 3185, 1021, 1017, 3186, 1710, 3089, 3089, 3089,
3155      3088, 3189, 3189, 3189, 3095, 3095, 3095, 3193, 3193, 3193,
3156      3100, 3100, 3100, 1016, 1014, 3090, 1012, 1011, 3190, 1977,
3157      1009, 3171, 3197, 3197, 3197, 3104, 3104, 3104, 1007, 3105,
3158      3183, 1006, 3106, 1456, 1456, 1456, 3212, 3212, 3212, 1474,
3159
3160      1474, 1474, 3115, 3115, 3115, 3216, 3216, 3216, 1005, 3217,
3161      1004, 1458, 3218, 1003, 3213, 1001,  993, 1476,  991, 3116,
3162      3117, 3117, 3117,  986, 3118,  985,  984, 3119, 3120, 3120,
3163      3120, 3219, 3219, 3219,  983, 3220,  982,  980, 3221, 3133,
3164      3133, 3133,  978, 3134,  977, 3121, 3135, 3137, 3137, 3137,
3165      3234, 3234, 3234,  975, 3235,  973,  972, 3236,  970, 3211,
3166      3214, 3146, 3146, 3146, 3138, 3149, 3149, 3149,  968, 3150,
3167       967,  965, 3151, 3257, 3257, 3257, 3165, 3165, 3165, 3147,
3168      3166,  964,  961, 3167, 3168, 3168, 3168,  960, 3169,  959,
3169      3258, 3170, 1690, 1690, 1690, 3172, 3172, 3172,  957, 3173,
3170
3171       955,  953, 3174, 1708, 1708, 1708,  951, 3184, 3184, 3184,
3172      1692, 3185,  950,  949, 3186, 3286, 3286, 3286, 3189, 3189,
3173      3189, 1710, 3288, 3288, 3288,  947, 3289,  941,  940, 3290,
3174       939,  938, 3287, 1977,  936, 3190, 1977, 3291, 3291, 3291,
3175      1977, 3193, 3193, 3193, 3267, 3293, 3293, 3293, 3294, 3294,
3176      3294,  935,  934, 3276, 3197, 3197, 3197, 3296, 3296, 3296,
3177      1456, 1456, 1456, 3212, 3212, 3212, 1474, 1474, 1474, 3216,
3178      3216, 3216,  933, 3217,  932,  930, 3218,  929, 1458,  928,
3179       926, 3213,  925,  924, 1476, 3219, 3219, 3219,  918, 3220,
3180       914,  913, 3221, 3312, 3312, 3312, 3324, 3324, 3324, 3234,
3181
3182      3234, 3234,  909, 3235,  905,  904, 3236, 3326, 3326, 3326,
3183      3313,  903, 3309, 3325, 3257, 3257, 3257,  902, 3345, 3345,
3184      3345,  901, 3346,  899, 3327, 3347, 3356, 3356, 3356,  897,
3185       896, 3258,  895, 3310, 1708, 1708, 1708, 3286, 3286, 3286,
3186       893, 3374, 3374, 3374, 3357, 3375,  891,  890, 3376, 3288,
3187      3288, 3288, 1710, 3289, 3287, 1977, 3290,  888,  886, 1977,
3188      3291, 3291, 3291, 3293, 3293, 3293,  885, 1977, 3294, 3294,
3189      3294, 3296, 3296, 3296, 3393, 3393, 3393, 1474, 1474, 1474,
3190      3312, 3312, 3312, 3397, 3397, 3397,  884, 3398,  882,  880,
3191      3399,  879, 3394,  878,  876, 1476,  874, 3313,  872,  871,
3192
3193      3364, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3194       869,  868, 1975, 3400, 3400, 3400,  867, 1975, 1975, 1975,
3195      1977, 1975, 3324, 3324, 3324, 3409, 3409, 3409,  866, 3410,
3196      3401,  865, 3411, 3412, 3412, 3412,  863, 3413,  858, 3325,
3197      3414,  857,  855, 3395, 3326, 3326, 3326, 1975, 1975, 1975,
3198      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 3912, 3912,
3199      1975, 3327, 3356, 3356, 3356, 1975, 1975, 1975, 1977, 1975,
3200      3345, 3345, 3345,  830, 3346,  814,  813, 3347,  811,  810,
3201      3357, 3446, 3446, 3446, 3374, 3374, 3374,  804, 3375,  803,
3202       804, 3376, 3463, 3463, 3463, 1975, 1975,  803,  802, 3447,
3203
3204       801, 3912, 1977, 1975, 1975, 1975, 1975, 1975, 3462, 1975,
3205      1975, 1975, 3912, 3912, 1975, 3464, 3464, 3464, 3912, 1975,
3206      1975, 1975, 1977, 1975, 3393, 3393, 3393, 1474, 1474, 1474,
3207      3397, 3397, 3397, 3912, 3398, 3912, 3912, 3399, 3463, 3463,
3208      3463, 3912, 3394, 3912, 3912, 1476, 3400, 3400, 3400, 1975,
3209      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 3462,
3210      3912, 3912, 1975, 3401, 3464, 3464, 3464, 1975, 1975, 1975,
3211      1977, 1975, 3912, 3477, 3477, 3477, 3912, 3478, 3912, 3471,
3212      3479, 3409, 3409, 3409, 3912, 3410, 3912, 3912, 3411, 3412,
3213      3412, 3412, 3912, 3413, 3912, 3912, 3414, 1975, 1975, 3446,
3214
3215      3446, 3446, 3514, 3514, 3514, 3517, 3517, 3517, 3519, 3519,
3216      3519, 3477, 3477, 3477, 3912, 3478, 3912, 3447, 3479, 3912,
3217      1977, 1978, 3912, 3518, 3912, 3520, 3533, 3533, 3533, 3545,
3218      3545, 3545, 3553, 3553, 3553, 3514, 3514, 3514, 3517, 3517,
3219      3517, 3912, 3912, 3534, 3912, 3912, 3546, 3519, 3519, 3519,
3220      1351, 3912, 3912, 1977, 3912, 3912, 3518, 3912, 3557, 3557,
3221      3557, 3912, 3558, 3912, 3520, 3559, 3533, 3533, 3533, 3572,
3222      3572, 3572, 3912, 3573, 3912, 3912, 3574, 3545, 3545, 3545,
3223      3553, 3553, 3553, 3534, 3585, 3585, 3585, 2194, 3586, 3912,
3224      3912, 3587, 3912, 3912, 3546, 3557, 3557, 3557, 1351, 3558,
3225
3226      3912, 3912, 3559, 3572, 3572, 3572, 3912, 3573, 3912, 3912,
3227      3574, 3585, 3585, 3585, 3912, 3586, 3912, 3594, 3587, 3723,
3228      3723, 3723, 3723, 3723, 3723, 3912, 3736, 3912, 3912, 3737,
3229      3872, 3872, 3872, 3872, 3872, 3872, 3912, 1351, 3912, 3912,
3230      1351, 3910, 3910, 3910, 3910, 3910, 3910, 3912, 3873, 3912,
3231      3912, 3873, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3911,
3232      3912, 3912, 3911,  334,  334,  334,  334,  334,  334,  334,
3233       334,  334,  335,  335,  335,  335,  335,  335,  335,  335,
3234       335,  340,  340,  340,  340,  340,  340,  340,  340,  340,
3235       343,  343,  343,  343,  343,  343,  343,  343,  343,  346,
3236
3237       346,  346,  346,  346,  346,  346,  346,  346,  349,  349,
3238       349,  349,  349,  349,  349,  349,  349,  356,  356,  356,
3239       356,  356,  356,  356,  356,  356,  363,  363,  363,  363,
3240       363,  363,  363,  363,  363,  368,  368,  368,  368,  368,
3241       368,  368,  368,  368,  387,  387,  387,  387,  387,  387,
3242       387,  387,  387,  393,  393,  393,  393,  393,  393,  393,
3243       393,  393,  401,  401,  401,  401,  401,  401,  401,  401,
3244       401,  409,  409,  409,  409,  409,  409,  409,  409,  409,
3245       417,  417,  417,  417,  417,  417,  417,  417,  417,  421,
3246       421,  421,  421,  421,  421,  421,  421,  421,  427,  427,
3247
3248       427,  427,  427,  427,  427,  427,  427,  433,  433,  433,
3249       433,  433,  433,  433,  433,  433,  439,  439,  439,  439,
3250       439,  439,  439,  439,  439,  445,  445,  445,  445,  445,
3251       445,  445,  445,  445,  452,  452,  452,  452,  452,  452,
3252       452,  452,  452,  457,  457,  457,  457,  457,  457,  457,
3253       457,  457,  464,  464,  464,  464,  464,  464,  464,  464,
3254       464,  470,  470,  470,  470,  470,  470,  470,  470,  470,
3255       477,  477,  477,  477,  477,  477,  477,  477,  477,  486,
3256       486,  486,  486,  486,  486,  486,  486,  486,  503,  503,
3257       503,  503,  503,  503,  503,  503,  503,  510,  510,  510,
3258
3259       510,  510,  510,  510,  510,  510,  514,  514,  514,  514,
3260       514,  514,  514,  514,  514,  521,  521,  521,  521,  521,
3261       521,  521,  521,  521,  527,  527,  527,  527,  527,  527,
3262       527,  527,  527,  534,  534,  534,  534,  534,  534,  534,
3263       534,  534,  542,  542,  542,  542,  542,  542,  542,  542,
3264       542,  550,  550,  550,  550,  550,  550,  550,  550,  550,
3265       556,  556,  556,  556,  556,  556,  556,  556,  556,  562,
3266       562,  562,  562,  562,  562,  562,  562,  562,  566,  566,
3267       566,  566,  566,  566,  566,  566,  566,  574,  574,  574,
3268       574,  574,  574,  574,  574,  574,  581,  581,  581,  581,
3269
3270       581,  581,  581,  581,  581,  588,  588,  588,  588,  588,
3271       588,  588,  588,  588,  593,  593,  593,  593,  593,  593,
3272       593,  593,  593,  599,  599,  599,  599,  599,  599,  599,
3273       599,  599,  604,  604,  604,  604,  604,  604,  604,  604,
3274       604,  610,  610,  610,  610,  610,  610,  610,  610,  610,
3275       615,  615,  615,  615,  615,  615,  615,  615,  615,  621,
3276       621,  621,  621,  621,  621,  621,  621,  621,  630,  630,
3277       630,  630,  630,  630,  630,  630,  630,  637,  637,  637,
3278       637,  637,  637,  637,  637,  637,  641,  641,  641,  641,
3279       641,  641,  641,  641,  641,  652,  652,  652,  652,  652,
3280
3281       652,  652,  652,  652,  660,  660,  660,  660,  660,  660,
3282       660,  660,  660,  667,  667,  667,  667,  667,  667,  667,
3283       667,  667,  672,  672,  672,  672,  672,  672,  672,  672,
3284       672,  678,  678,  678,  678,  678,  678,  678,  678,  678,
3285       686,  686,  686,  686,  686,  686,  686,  686,  686,  692,
3286       692,  692,  692,  692,  692,  692,  692,  692,  697,  697,
3287       697,  697,  697,  697,  697,  697,  697,  704,  704,  704,
3288       704,  704,  704,  704,  704,  704,  709,  709,  709,  709,
3289       709,  709,  709,  709,  709,  715,  715,  715,  715,  715,
3290       715,  715,  715,  715,  722,  722,  722,  722,  722,  722,
3291
3292       722,  722,  722,  729,  729,  729,  729,  729,  729,  729,
3293       729,  729,  736,  736,  736,  736,  736,  736,  736,  736,
3294       736,  744,  744,  744,  744,  744,  744,  744,  744,  744,
3295       349,  349,  349,  349,  349,  349,  349,  349,  349,  755,
3296       755,  755,  755,  755,  755,  755,  755,  755,  761,  761,
3297       761,  761,  761,  761,  761,  761,  761,  767,  767,  767,
3298       767,  767,  767,  767,  767,  767,  772,  772,  772,  772,
3299       772,  772,  772,  772,  772,  786,  786,  786,  786,  786,
3300       786,  786,  786,  786,  792,  792,  792,  792,  792,  792,
3301       792,  792,  792,  812,  812,  812, 3912, 3912, 3912,  812,
3302
3303       856,  856,  856, 3912, 3912, 3912,  856,  864,  864,  864,
3304      3912, 3912, 3912,  864,  873,  873,  873, 3912, 3912, 3912,
3305       873,  877,  877,  877, 3912, 3912, 3912,  877,  883,  883,
3306       883, 3912, 3912, 3912,  883,  889,  889,  889, 3912, 3912,
3307      3912,  889,  894,  894,  894, 3912, 3912, 3912,  894,  900,
3308       900,  900, 3912, 3912, 3912,  900,  910,  910,  910, 3912,
3309      3912, 3912,  910,  927,  927,  927, 3912, 3912, 3912,  927,
3310       931,  931,  931, 3912, 3912, 3912,  931,  937,  937,  937,
3311      3912, 3912, 3912,  937,  948,  948,  948, 3912, 3912, 3912,
3312       948,  954,  954,  954, 3912, 3912, 3912,  954,  958,  958,
3313
3314       958, 3912, 3912, 3912,  958,  966,  966,  966, 3912, 3912,
3315      3912,  966,  971,  971,  971, 3912, 3912, 3912,  971,  976,
3316       976,  976, 3912, 3912, 3912,  976,  981,  981,  981, 3912,
3317      3912, 3912,  981,  992,  992,  992, 3912, 3912, 3912,  992,
3318      1002, 1002, 1002, 3912, 3912, 3912, 1002, 1010, 1010, 1010,
3319      3912, 3912, 3912, 1010, 1015, 1015, 1015, 3912, 3912, 3912,
3320      1015, 1026, 1026, 1026, 3912, 3912, 3912, 1026, 1032, 1032,
3321      1032, 3912, 3912, 3912, 1032, 1037, 1037, 1037, 3912, 3912,
3322      3912, 1037, 1044, 1044, 1044, 3912, 3912, 3912, 1044, 1052,
3323      1052, 1052, 3912, 3912, 3912, 1052, 1060, 1060, 1060, 3912,
3324
3325      3912, 3912, 1060, 1066, 1066, 1066, 3912, 3912, 3912, 1066,
3326      1072, 1072, 1072, 3912, 3912, 3912, 1072, 1078, 1078, 1078,
3327      1078, 1078, 1078, 1078, 3912, 1078,  812,  812,  812, 3912,
3328      3912, 3912,  812, 1094, 3912, 3912, 3912, 1094,  856,  856,
3329       856, 3912, 3912, 3912,  856, 1143, 3912, 3912, 3912, 1143,
3330       864,  864,  864, 3912, 3912, 3912,  864, 1151, 3912, 3912,
3331      3912, 1151,  873,  873,  873, 3912, 3912, 3912,  873, 1155,
3332      3912, 3912, 3912, 1155,  877,  877,  877, 3912, 3912, 3912,
3333       877, 1161, 3912, 3912, 3912, 1161,  883,  883,  883, 3912,
3334      3912, 3912,  883, 1166, 3912, 3912, 3912, 1166,  889,  889,
3335
3336       889, 3912, 3912, 3912,  889, 1170, 3912, 3912, 3912, 1170,
3337       894,  894,  894, 3912, 3912, 3912,  894, 1175, 3912, 3912,
3338      3912, 1175,  900,  900,  900, 3912, 3912, 3912,  900, 1186,
3339      3912, 3912, 3912, 1186,  910,  910,  910, 3912, 3912, 3912,
3340       910, 1204, 3912, 3912, 3912, 1204,  927,  927,  927, 3912,
3341      3912, 3912,  927, 1208, 3912, 3912, 3912, 1208,  931,  931,
3342       931, 3912, 3912, 3912,  931, 1214, 3912, 3912, 3912, 1214,
3343       937,  937,  937, 3912, 3912, 3912,  937, 1224, 3912, 3912,
3344      3912, 1224,  948,  948,  948, 3912, 3912, 3912,  948, 1233,
3345      3912, 3912, 3912, 1233,  954,  954,  954, 3912, 3912, 3912,
3346
3347       954, 1236, 3912, 3912, 3912, 1236,  958,  958,  958, 3912,
3348      3912, 3912,  958, 1244, 3912, 3912, 3912, 1244,  966,  966,
3349       966, 3912, 3912, 3912,  966, 1249, 3912, 3912, 3912, 1249,
3350       971,  971,  971, 3912, 3912, 3912,  971, 1254, 3912, 3912,
3351      3912, 1254,  976,  976,  976, 3912, 3912, 3912,  976, 1258,
3352      3912, 3912, 3912, 1258,  981,  981,  981, 3912, 3912, 3912,
3353       981, 1268, 3912, 3912, 3912, 1268,  992,  992,  992, 3912,
3354      3912, 3912,  992, 1272, 3912, 3912, 3912, 1272, 1002, 1002,
3355      1002, 3912, 3912, 3912, 1002, 1283, 3912, 3912, 3912, 1283,
3356      1010, 1010, 1010, 3912, 3912, 3912, 1010, 1288, 3912, 3912,
3357
3358      3912, 1288, 1015, 1015, 1015, 3912, 3912, 3912, 1015, 1299,
3359      3912, 3912, 3912, 1299, 1026, 1026, 1026, 3912, 3912, 3912,
3360      1026, 1304, 3912, 3912, 3912, 1304, 1032, 1032, 1032, 3912,
3361      3912, 3912, 1032, 1309, 3912, 3912, 3912, 1309, 1037, 1037,
3362      1037, 3912, 3912, 3912, 1037, 1316, 3912, 3912, 3912, 1316,
3363      1044, 1044, 1044, 3912, 3912, 3912, 1044, 1323, 3912, 3912,
3364      3912, 1323, 1052, 1052, 1052, 3912, 3912, 3912, 1052, 1331,
3365      3912, 3912, 3912, 1331, 1060, 1060, 1060, 3912, 3912, 3912,
3366      1060, 1337, 3912, 3912, 3912, 1337, 1066, 1066, 1066, 3912,
3367      3912, 3912, 1066, 1342, 3912, 3912, 3912, 1342, 1072, 1072,
3368
3369      1072, 3912, 3912, 3912, 1072, 1348, 3912, 3912, 3912, 1348,
3370      1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1356,
3371      3912, 3912, 3912, 3912, 1356,  812,  812,  812, 3912, 3912,
3372      3912,  812, 1367, 1367, 1367, 1367, 3912, 3912, 1367, 1367,
3373       856,  856,  856,  856, 3912,  856, 3912,  856, 1422, 1422,
3374      1422, 1422, 3912, 3912, 1422, 1422,  864,  864,  864, 3912,
3375      3912, 3912,  864, 1432, 1432, 1432, 1432, 3912, 3912, 1432,
3376      1432,  873,  873,  873, 3912, 3912, 3912,  873, 1438, 1438,
3377      1438, 1438, 3912, 3912, 1438, 1438,  877,  877,  877, 3912,
3378      3912, 3912,  877, 1447, 1447, 1447, 1447, 3912, 3912, 1447,
3379
3380      1447,  883,  883,  883,  883, 3912,  883, 3912,  883, 1457,
3381      1457, 1457, 1457, 3912, 3912, 1457, 1457,  889,  889,  889,
3382       889, 3912,  889, 3912,  889, 1465, 1465, 1465, 1465, 3912,
3383      3912, 1465, 1465,  894,  894,  894,  894, 3912,  894, 3912,
3384       894, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475,  900,
3385       900,  900,  900, 3912,  900, 3912,  900, 1491, 1491, 1491,
3386      1491, 3912, 3912, 1491, 1491,  910,  910,  910, 3912, 3912,
3387      3912,  910, 1516, 1516, 1516, 1516, 3912, 3912, 1516, 1516,
3388      1523, 1523, 1523, 1523, 3912, 3912, 1523, 1523,  931,  931,
3389       931, 3912, 3912, 3912,  931, 1532, 1532, 1532, 1532, 3912,
3390
3391      3912, 1532, 1532,  937,  937,  937, 3912, 3912, 3912,  937,
3392      1545, 1545, 1545, 1545, 3912, 3912, 1545, 1545,  948,  948,
3393       948, 3912, 3912, 3912,  948, 1558, 1558, 1558, 1558, 3912,
3394      3912, 1558, 1558,  954,  954,  954, 3912, 3912, 3912,  954,
3395      1563, 1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,
3396       958, 3912, 3912, 3912,  958, 1574, 1574, 1574, 1574, 3912,
3397      3912, 1574, 1574,  966,  966,  966, 3912, 3912, 3912,  966,
3398      1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582,  971,  971,
3399       971, 3912, 3912, 3912,  971, 1590, 1590, 1590, 1590, 3912,
3400      3912, 1590, 1590,  976,  976,  976, 3912, 3912, 3912,  976,
3401
3402      1596, 1596, 1596, 1596, 3912, 3912, 1596, 1596,  981,  981,
3403       981, 3912, 3912, 3912,  981, 1611, 1611, 1611, 1611, 3912,
3404      3912, 1611, 1611,  992,  992,  992, 3912, 3912, 3912,  992,
3405      1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617, 1002, 1002,
3406      1002, 3912, 3912, 3912, 1002, 1630, 1630, 1630, 1630, 3912,
3407      3912, 1630, 1630, 1010, 1010, 1010, 3912, 3912, 3912, 1010,
3408      1638, 1638, 1638, 1638, 3912, 3912, 1638, 1638, 1015, 1015,
3409      1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654, 3912,
3410      3912, 1654, 1654, 1026, 1026, 1026, 1026, 3912, 1026, 3912,
3411      1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663, 1663, 1032,
3412
3413      1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671, 1671, 1671,
3414      3912, 3912, 1671, 1671, 1037, 1037, 1037, 3912, 3912, 3912,
3415      1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1044,
3416      1044, 1044, 3912, 3912, 3912, 1044, 1691, 1691, 1691, 1691,
3417      3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912,
3418      1052, 1702, 1702, 1702, 1702, 3912, 3912, 1702, 1702, 1060,
3419      1060, 1060, 3912, 3912, 3912, 1060, 1709, 1709, 1709, 1709,
3420      3912, 3912, 1709, 1709, 1066, 1066, 1066, 3912, 3912, 3912,
3421      1066, 1717, 1717, 1717, 1717, 3912, 3912, 1717, 1717, 1072,
3422      1072, 1072, 1072, 3912, 1072, 3912, 1072, 1728, 1728, 1728,
3423
3424      1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350, 1350,
3425      1350, 1350, 1350, 1350, 1356, 3912, 1356, 3912, 3912, 1356,
3426       812,  812,  812, 3912, 3912, 3912,  812, 1367, 1367, 1367,
3427      1367, 3912, 3912, 1367, 1367,  856,  856,  856, 3912, 3912,
3428      3912,  856, 1422, 1422, 1422, 1422, 3912, 3912, 1422, 1422,
3429       864,  864,  864, 3912, 3912, 3912,  864, 1432, 1432, 1432,
3430      1432, 3912, 3912, 1432, 1432,  873,  873,  873, 3912, 3912,
3431      3912,  873, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3432       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3433      1447, 3912, 3912, 1447, 1447,  883,  883,  883, 3912, 3912,
3434
3435      3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457, 1457,
3436      1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,  894,
3437       894, 3912, 3912, 3912,  894, 1475, 1475, 1475, 1475, 3912,
3438      3912, 1475, 1475,  900,  900,  900, 3912, 3912, 3912,  900,
3439      1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,  910,
3440       910, 3912, 3912, 3912,  910, 1516, 1516, 1516, 1516, 3912,
3441      3912, 1516, 1516, 1523, 1523, 1523, 1523, 3912, 3912, 1523,
3442      1523,  931,  931,  931, 3912, 3912, 3912,  931, 1532, 1532,
3443      1532, 1532, 3912, 3912, 1532, 1532,  937,  937,  937, 3912,
3444      3912, 3912,  937, 1545, 1545, 1545, 1545, 3912, 3912, 1545,
3445
3446      1545,  948,  948,  948,  948, 3912,  948, 3912,  948, 1558,
3447      1558, 1558, 1558, 3912, 3912, 1558, 1558,  954,  954,  954,
3448       954, 3912,  954, 3912,  954, 1563, 1563, 1563, 1563, 3912,
3449      3912, 1563, 1563,  958,  958,  958, 3912, 3912, 3912,  958,
3450      1574, 1574, 1574, 1574, 3912, 3912, 1574, 1574,  966,  966,
3451       966, 3912, 3912, 3912,  966, 1582, 1582, 1582, 1582, 3912,
3452      3912, 1582, 1582,  971,  971,  971, 3912, 3912, 3912,  971,
3453      1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,  976,
3454       976,  976, 3912,  976, 3912,  976, 1596, 1596, 1596, 1596,
3455      3912, 3912, 1596, 1596,  981,  981,  981, 3912, 3912, 3912,
3456
3457       981, 1611, 1611, 1611, 1611, 3912, 3912, 1611, 1611,  992,
3458       992,  992, 3912, 3912, 3912,  992, 1617, 1617, 1617, 1617,
3459      3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912, 3912,
3460      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1010,
3461      1010, 1010, 3912, 3912, 3912, 1010, 1638, 1638, 1638, 1638,
3462      3912, 3912, 1638, 1638, 1015, 1015, 1015, 3912, 3912, 3912,
3463      1015, 1654, 1654, 1654, 1654, 3912, 3912, 1654, 1654, 1026,
3464      1026, 1026, 3912, 3912, 3912, 1026, 1663, 1663, 1663, 1663,
3465      3912, 3912, 1663, 1663, 1032, 1032, 1032, 3912, 3912, 3912,
3466      1032, 1671, 1671, 1671, 1671, 3912, 3912, 1671, 1671, 1037,
3467
3468      1037, 1037, 3912, 3912, 3912, 1037, 1681, 1681, 1681, 1681,
3469      3912, 3912, 1681, 1681, 1044, 1044, 1044, 3912, 3912, 3912,
3470      1044, 1691, 1691, 1691, 1691, 3912, 3912, 1691, 1691, 1052,
3471      1052, 1052, 1052, 3912, 1052, 3912, 1052, 1702, 1702, 1702,
3472      1702, 3912, 3912, 1702, 1702, 1060, 1060, 1060, 3912, 3912,
3473      3912, 1060, 1709, 1709, 1709, 1709, 3912, 3912, 1709, 1709,
3474      1066, 1066, 1066, 3912, 3912, 3912, 1066, 1717, 1717, 1717,
3475      1717, 3912, 3912, 1717, 1717, 1072, 1072, 1072, 3912, 3912,
3476      3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912, 1728, 1728,
3477      1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1975,
3478
3479      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,  812,  812,
3480       812, 3912, 3912, 3912,  812,  856,  856,  856, 3912, 3912,
3481      3912,  856, 1422, 1422, 1422, 1422, 3912, 3912, 1422, 1422,
3482       864,  864,  864, 3912, 3912, 3912,  864, 1432, 1432, 1432,
3483      1432, 3912, 3912, 1432, 1432,  873,  873,  873,  873, 3912,
3484       873, 3912,  873, 1438, 1438, 1438, 1438, 3912, 3912, 1438,
3485      1438,  877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447,
3486      1447, 1447, 3912, 3912, 1447, 1447,  883,  883,  883, 3912,
3487      3912, 3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3488      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,
3489
3490       894,  894, 3912, 3912, 3912,  894, 1475, 1475, 1475, 1475,
3491      3912, 3912, 1475, 1475,  900,  900,  900, 3912, 3912, 3912,
3492       900, 1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,
3493       910,  910,  910, 3912,  910, 3912,  910, 1516, 1516, 1516,
3494      1516, 3912, 3912, 1516, 1516, 1523, 1523, 1523, 1523, 3912,
3495      3912, 1523, 1523,  931,  931,  931, 3912, 3912, 3912,  931,
3496      1532, 1532, 1532, 1532, 3912, 3912, 1532, 1532,  937,  937,
3497       937, 3912, 3912, 3912,  937, 1545, 1545, 1545, 1545, 3912,
3498      3912, 1545, 1545, 1558, 1558, 1558, 1558, 3912, 3912, 1558,
3499      1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,
3500
3501       958,  958, 3912, 3912, 3912,  958, 1574, 1574, 1574, 1574,
3502      3912, 3912, 1574, 1574,  966,  966,  966, 3912, 3912, 3912,
3503       966, 1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582,  971,
3504       971,  971,  971, 3912,  971, 3912,  971, 1590, 1590, 1590,
3505      1590, 3912, 3912, 1590, 1590,  976,  976,  976, 3912, 3912,
3506      3912,  976, 1596, 1596, 1596, 1596, 3912, 3912, 1596, 1596,
3507       981,  981,  981, 3912, 3912, 3912,  981, 1611, 1611, 1611,
3508      1611, 3912, 3912, 1611, 1611,  992,  992,  992, 3912, 3912,
3509      3912,  992, 1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617,
3510      1002, 1002, 1002, 3912, 3912, 3912, 1002, 1630, 1630, 1630,
3511
3512      1630, 3912, 3912, 1630, 1630, 1010, 1010, 1010, 1010, 3912,
3513      1010, 3912, 1010, 1638, 1638, 1638, 1638, 3912, 3912, 1638,
3514      1638, 1015, 1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654,
3515      1654, 1654, 3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912,
3516      3912, 3912, 1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663,
3517      1663, 1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671,
3518      1671, 1671, 3912, 3912, 1671, 1671, 1037, 1037, 1037, 3912,
3519      3912, 3912, 1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681,
3520      1681, 1044, 1044, 1044, 3912, 3912, 3912, 1044, 1691, 1691,
3521      1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912,
3522
3523      3912, 3912, 1052, 1702, 1702, 1702, 1702, 3912, 3912, 1702,
3524      1702, 1060, 1060, 1060, 3912, 3912, 3912, 1060, 1709, 1709,
3525      1709, 1709, 3912, 3912, 1709, 1709, 1066, 1066, 1066, 3912,
3526      3912, 3912, 1066, 1717, 1717, 1717, 1717, 3912, 3912, 1717,
3527      1717, 1072, 1072, 1072, 3912, 3912, 3912, 1072, 1728, 1728,
3528      1728, 1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350,
3529      1350, 1350, 1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975,
3530      1975, 1975, 1975, 1975,  812,  812,  812, 3912, 3912, 3912,
3531       812,  856,  856,  856,  856, 3912,  856, 3912,  856, 1422,
3532      1422, 1422, 1422, 3912, 3912, 1422, 1422,  864,  864,  864,
3533
3534      3912, 3912, 3912,  864, 1432, 1432, 1432, 1432, 3912, 3912,
3535      1432, 1432, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3536       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3537      1447, 3912, 3912, 1447, 1447,  883,  883,  883,  883, 3912,
3538       883, 3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3539      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,
3540       894,  894,  894, 3912,  894, 3912,  894, 1475, 1475, 1475,
3541      1475, 3912, 3912, 1475, 1475,  900,  900,  900,  900, 3912,
3542       900, 3912,  900, 1491, 1491, 1491, 1491, 3912, 3912, 1491,
3543      1491,  910,  910,  910,  910, 3912,  910, 3912,  910, 1516,
3544
3545      1516, 1516, 1516, 3912, 3912, 1516, 1516, 1523, 1523, 1523,
3546      1523, 3912, 3912, 1523, 1523,  931,  931,  931, 3912, 3912,
3547      3912,  931, 1532, 1532, 1532, 1532, 3912, 3912, 1532, 1532,
3548       937,  937,  937, 3912, 3912, 3912,  937, 1545, 1545, 1545,
3549      1545, 3912, 3912, 1545, 1545, 1558, 1558, 1558, 1558, 3912,
3550      3912, 1558, 1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563,
3551      1563,  958,  958,  958, 3912, 3912, 3912,  958, 1574, 1574,
3552      1574, 1574, 3912, 3912, 1574, 1574,  966,  966,  966, 3912,
3553      3912, 3912,  966, 1582, 1582, 1582, 1582, 3912, 3912, 1582,
3554      1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,
3555
3556       976,  976, 3912, 3912, 3912,  976, 1596, 1596, 1596, 1596,
3557      3912, 3912, 1596, 1596,  981,  981,  981, 3912, 3912, 3912,
3558       981, 1611, 1611, 1611, 1611, 3912, 3912, 1611, 1611,  992,
3559       992,  992, 3912, 3912, 3912,  992, 1617, 1617, 1617, 1617,
3560      3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912, 3912,
3561      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1638,
3562      1638, 1638, 1638, 3912, 3912, 1638, 1638, 1015, 1015, 1015,
3563      3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654, 3912, 3912,
3564      1654, 1654, 1026, 1026, 1026, 3912, 3912, 3912, 1026, 1663,
3565      1663, 1663, 1663, 3912, 3912, 1663, 1663, 1032, 1032, 1032,
3566
3567      3912, 3912, 3912, 1032, 1671, 1671, 1671, 1671, 3912, 3912,
3568      1671, 1671, 1037, 1037, 1037, 1037, 3912, 1037, 3912, 1037,
3569      1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1044, 1044,
3570      1044, 3912, 3912, 3912, 1044, 1691, 1691, 1691, 1691, 3912,
3571      3912, 1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912, 1052,
3572      1702, 1702, 1702, 1702, 3912, 3912, 1702, 1702, 1060, 1060,
3573      1060, 3912, 3912, 3912, 1060, 1709, 1709, 1709, 1709, 3912,
3574      3912, 1709, 1709, 1066, 1066, 1066, 3912, 3912, 3912, 1066,
3575      1717, 1717, 1717, 1717, 3912, 3912, 1717, 1717, 1072, 1072,
3576      1072, 1072, 3912, 1072, 3912, 1072, 1728, 1728, 1728, 1728,
3577
3578      3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350, 1350, 1350,
3579      1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3580      1975, 1975,  812,  812,  812,  812, 3912,  812, 3912,  812,
3581       856,  856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422,
3582      1422, 3912, 3912, 1422, 1422,  864,  864,  864, 3912, 3912,
3583      3912,  864, 1432, 1432, 1432, 1432, 3912, 3912, 1432, 1432,
3584      1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,  877,  877,
3585       877, 3912, 3912, 3912,  877, 1447, 1447, 1447, 1447, 3912,
3586      3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3587      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465, 1475,
3588
3589      1475, 1475, 1475, 3912, 3912, 1475, 1475,  900,  900,  900,
3590       900, 3912,  900, 3912,  900, 1491, 1491, 1491, 1491, 3912,
3591      3912, 1491, 1491,  910,  910,  910, 3912, 3912, 3912,  910,
3592      1516, 1516, 1516, 1516, 3912, 3912, 1516, 1516, 1523, 1523,
3593      1523, 1523, 3912, 3912, 1523, 1523,  931,  931,  931,  931,
3594      3912,  931, 3912,  931,  937,  937,  937, 3912, 3912, 3912,
3595       937, 1558, 1558, 1558, 1558, 3912, 3912, 1558, 1558, 1563,
3596      1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,  958,
3597      3912, 3912, 3912,  958,  966,  966,  966, 3912, 3912, 3912,
3598       966, 1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582, 1590,
3599
3600      1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,  976,  976,
3601      3912, 3912, 3912,  976, 1596, 1596, 1596, 1596, 3912, 3912,
3602      1596, 1596,  981,  981,  981, 3912, 3912, 3912,  981,  992,
3603       992,  992,  992, 3912,  992, 3912,  992, 1617, 1617, 1617,
3604      1617, 3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912,
3605      3912, 1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630,
3606      1015, 1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654,
3607      1654, 3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912, 3912,
3608      3912, 1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663, 1663,
3609      1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671, 1671,
3610
3611      1671, 3912, 3912, 1671, 1671, 1037, 1037, 1037, 1037, 3912,
3612      1037, 3912, 1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681,
3613      1681, 1044, 1044, 1044, 1044, 3912, 1044, 3912, 1044, 1691,
3614      1691, 1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052,
3615      3912, 3912, 3912, 1052, 1702, 1702, 1702, 1702, 3912, 3912,
3616      1702, 1702, 1060, 1060, 1060, 1060, 3912, 1060, 3912, 1060,
3617      1709, 1709, 1709, 1709, 3912, 3912, 1709, 1709, 1066, 1066,
3618      1066, 1066, 3912, 1066, 3912, 1066, 1072, 1072, 1072, 3912,
3619      3912, 3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912, 1728,
3620      1728, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
3621
3622      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,  856,
3623       856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422, 1422,
3624      3912, 3912, 1422, 1422,  864,  864,  864,  864, 3912,  864,
3625      3912,  864, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3626       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3627      1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912,
3628      3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465,
3629      1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475, 1491,
3630      1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,  910,  910,
3631      3912, 3912, 3912,  910, 1516, 1516, 1516, 1516, 3912, 3912,
3632
3633      1516, 1516, 1523, 1523, 1523, 1523, 3912, 3912, 1523, 1523,
3634       931,  931,  931,  931, 3912,  931, 3912,  931,  937,  937,
3635       937, 3912, 3912, 3912,  937, 1558, 1558, 1558, 1558, 3912,
3636      3912, 1558, 1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563,
3637      1563,  958,  958,  958, 3912, 3912, 3912,  958,  966,  966,
3638       966, 3912, 3912, 3912,  966, 1582, 1582, 1582, 1582, 3912,
3639      3912, 1582, 1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590,
3640      1590,  976,  976,  976, 3912, 3912, 3912,  976,  981,  981,
3641       981, 3912, 3912, 3912,  981, 1617, 1617, 1617, 1617, 3912,
3642      3912, 1617, 1617, 1002, 1002, 1002, 1002, 3912, 1002, 3912,
3643
3644      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1015,
3645      1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654,
3646      3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912, 3912, 3912,
3647      1026, 1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671,
3648      1671, 1671, 3912, 3912, 1671, 1671, 1681, 1681, 1681, 1681,
3649      3912, 3912, 1681, 1681, 1691, 1691, 1691, 1691, 3912, 3912,
3650      1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912, 1052, 1709,
3651      1709, 1709, 1709, 3912, 3912, 1709, 1709, 1072, 1072, 1072,
3652      3912, 3912, 3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912,
3653      1728, 1728, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
3654
3655      1350, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3656       856,  856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422,
3657      1422, 3912, 3912, 1422, 1422,  864,  864,  864,  864, 3912,
3658       864, 3912,  864, 1438, 1438, 1438, 1438, 3912, 3912, 1438,
3659      1438,  877,  877,  877,  877, 3912,  877, 3912,  877, 1447,
3660      1447, 1447, 1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457,
3661      1457, 3912, 3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912,
3662      3912, 1465, 1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475,
3663      1475, 1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,
3664       910,  910, 3912, 3912, 3912,  910, 1516, 1516, 1516, 1516,
3665
3666      3912, 3912, 1516, 1516,  937,  937,  937, 3912, 3912, 3912,
3667       937, 1558, 1558, 1558, 1558, 3912, 3912, 1558, 1558, 1563,
3668      1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,  958,
3669       958, 3912,  958, 3912,  958,  966,  966,  966,  966, 3912,
3670       966, 3912,  966, 1582, 1582, 1582, 1582, 3912, 3912, 1582,
3671      1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,
3672       976,  976,  976, 3912,  976, 3912,  976,  981,  981,  981,
3673      3912, 3912, 3912,  981, 1617, 1617, 1617, 1617, 3912, 3912,
3674      1617, 1617, 1002, 1002, 1002, 1002, 3912, 1002, 3912, 1002,
3675      1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1015, 1015,
3676
3677      1015, 1015, 3912, 1015, 3912, 1015, 1026, 1026, 1026, 3912,
3678      3912, 3912, 1026, 1032, 1032, 1032, 3912, 3912, 3912, 1032,
3679      1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1691, 1691,
3680      1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912,
3681      3912, 3912, 1052, 1709, 1709, 1709, 1709, 3912, 3912, 1709,
3682      1709, 1072, 1072, 1072, 3912, 3912, 3912, 1072, 1728, 1728,
3683      1728, 1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350,
3684      1350, 1350, 1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975,
3685      1975, 1975, 1975, 1975,  856,  856,  856, 3912, 3912, 3912,
3686       856,  864,  864,  864,  864, 3912,  864, 3912,  864, 1438,
3687
3688      1438, 1438, 1438, 3912, 3912, 1438, 1438, 1447, 1447, 1447,
3689      1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912,
3690      3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465,
3691      1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475,  910,
3692       910,  910, 3912, 3912, 3912,  910,  937,  937,  937, 3912,
3693      3912, 3912,  937, 1558, 1558, 1558, 1558, 3912, 3912, 1558,
3694      1558,  958,  958,  958, 3912, 3912, 3912,  958, 1582, 1582,
3695      1582, 1582, 3912, 3912, 1582, 1582, 1590, 1590, 1590, 1590,
3696      3912, 3912, 1590, 1590,  981,  981,  981, 3912, 3912, 3912,
3697       981, 1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617, 1002,
3698
3699      1002, 1002, 1002, 3912, 1002, 3912, 1002, 3377, 3377, 3377,
3700      3377, 3377, 3377, 3377, 3377, 3377, 3378, 3378, 3378, 3378,
3701      3378, 3378, 3378, 3378, 3378, 3457, 3457, 3457, 3457, 3457,
3702      3457, 3457, 3457, 3457, 3460, 3460, 3460, 3460, 3460, 3460,
3703      3460, 3460, 3460, 3511, 3511, 3511, 3511, 3511, 3511, 3511,
3704      3511, 3511, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513,
3705      3513,  333, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3706      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3707      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3708      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3709
3710      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3711      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3712      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3713      3912, 3912, 3912, 3912, 3912, 3912
3714     } ;
3715
3716 static const flex_int16_t yy_chk[14537] =
3717     {   0,
3718         0,    3,    3,    3,    4,    4,    4,    5,    5,    5,
3719         6,    6,    6,    7,    7,    7,   11,    3,    9,   12,
3720         4,   10,    0,    5,  383,    9,    6,  411,   10,    7,
3721         8,    8,    8,  338,   11,   13,   13,   12,   14,   14,
3722        13,   13,    0,   14,   14,  339,    8,   17,   17,  338,
3723        13,   15,   15,   14,   15,  342,   15,   16,   16,  580,
3724        16,  339,   16,   18,   18,  411,   15,   21,   21,   21,
3725       580,  342,   16,   22,   22,   22,  383,   23,   23,   23,
3726        24,   24,   24,   21,   25,   25,   25, 1529,  376,   22,
3727       378,  364,   17,   23,  378,  379,   24,  336,  336,  336,
3728
3729        25,  337,  337,  337,  341,  341,  341,  364,   18,   19,
3730        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
3731        19,   19,   19,   19,  379,   19,   19,   19,   19,   19,
3732        26,   26,   26,   27,   27,   27,   28,   28,   28,  379,
3733       376,   29,   29,   29,  376,  545,   26,  379,  388,   27,
3734       396,  495,   28,  545,  396,   19,   19,   29,  361,  361,
3735       361,  369,  369,  369,  388,  392,   19,  385,  385,  385,
3736       806,  495,  392,  806,   19,   20,   20,   20,   20,   20,
3737        20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
3738       397,   20,   20,   20,   20,   20,   30,   30,   30,   31,
3739
3740        31,   31,   32,   32,   32,  277,  277,   33,   33,   33,
3741       277,  500,   30,  541, 1056,   31,  413,  541,   32,  448,
3742       277,   20,   20,   33,  500,   34,   34,   34,   35,   35,
3743        35,  568,   20,   36,   36,   36,   37,   37,   37,  544,
3744        20,   34,  397,  402,   35,   38,   38,   38,  395,   36,
3745       277, 1056,   37,   39,   39,   39,   40,   40,   40,  402,
3746       418,   38,   41,   41,   41,   42,   42,   42,  413,   39,
3747       568,  448,   40,   43,   43,   43,  418, 1530,   41,  568,
3748       544,   42,   44,   44,   44,   45,   45,   45,  544,   43,
3749        46,   46,   46,   47,   47,   47,  395,  375,   44,  569,
3750
3751       395,   45,   48,   48,   48,  460,   46,  375,  569,   47,
3752        49,   49,   49,   50,   50,   50, 1535,  428,   48,   51,
3753        51,   51,   52,   52,   52,  939,   49,  696,  939,   50,
3754        53,   53,   53,  428,  696,   51,  375,  440,   52,   54,
3755        54,   54,   55,   55,   55, 1536,   53,   56,   56,   56,
3756       394,  394,  394,  440,  473,   54,  506,  460,   55,  375,
3757       399,  399,  399,   56,   57,   57,   57,   57,   57,   57,
3758        57,   57,   57,   57,   57,   57,   57,   57,   57,  453,
3759        57,   57,   57,   57,   57,   59,   59,   59,   60,   60,
3760        60,   61,   61,   61,  485,  453,   62,   62,   62,  485,
3761
3762      1261,   59,  423,  644,   60, 1261,  473,   61,  506,  423,
3763        57,   57,   62,   63,   63,   63,   57,  644,  423,   57,
3764       517,  447,  381,  410,  410,  410,  415,  415,  415,   63,
3765        57,   58,   58,   58,   58,   58,   58,   58,   58,   58,
3766        58,   58,   58,   58,   58,   58,  465,   58,   58,   58,
3767        58,   58,   64,   64,   64,   65,   65,   65,   66,   66,
3768        66,  381,  465,   69,   69,   69,  629, 1541,   64,  447,
3769       629,   65,  517,  447,   66, 1542,  381,   58,   58,   69,
3770        70,   70,   70,   58,  530,  459,   58,  422,  422,  422,
3771       425,  425,  425,  434,  434,  434,   70,   58,   67,   67,
3772
3773        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
3774        67,   67,   67,  478,   67,   67,   67,   67,   67,   71,
3775        71,   71,   72,   72,   72,   73,   73,   73,  546,  478,
3776        74,   74,   74,  459, 1543,   71,  530,  459,   72,  645,
3777      1548,   73,  493,  435,   67,   67,   74,   75,   75,   75,
3778       435,  645,   67,  645,   67,  472,   67,  662,  493,  435,
3779        67, 1549, 1566,   75,   67,   68,   68,   68,   68,   68,
3780        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
3781       546,   68,   68,   68,   68,   68,   76,   76,   76,   79,
3782        79,   79,   80,   80,   80,  662,  498,   83,   83,   83,
3783
3784      1570, 1571,   76,  472,  498,   79,  647,  472,   80,  498,
3785       501,   68,   68,   83,   84,   84,   84,  501,  570,   68,
3786       647,   68,  501,   68,  437,  437,  437,   68,  738, 1572,
3787        84,   68,   77,   77,   77,   77,   77,   77,   77,   77,
3788        77,   77,   77,   77,   77,   77,   77,  511,   77,   77,
3789        77,   77,   77,   87,   87,   87,   88,   88,   88,   89,
3790        89,   89,  685,  511,   90,   90,   90,  791, 1577,   87,
3791       570, 1588,   88,  818,  791,   89,  685,  738,   77,   77,
3792        90,   91,   91,   91,   92,   92,   92,  446,  446,  446,
3793       450,  450,  450,  458,  458,  458,  818,   91, 1599, 1600,
3794
3795        92,   77,   78,   78,   78,   78,   78,   78,   78,   78,
3796        78,   78,   78,   78,   78,   78,   78,  522,   78,   78,
3797        78,   78,   78,   93,   93,   93,   94,   94,   94,   97,
3798        97,   97,  797,  522,   98,   98,   98, 1353, 1601,   93,
3799      1602, 1353,   94,  832, 1608,   97,  843,  797,   78,   78,
3800        98,   99,   99,   99,  100,  100,  100,  462,  462,  462,
3801       471,  471,  471,  475,  475,  475,  832,   99, 1609,  843,
3802       100,   78,   81,   81,   81,   81,   81,   81,   81,   81,
3803        81,   81,   81,   81,   81,   81,   81, 1614,   81,   81,
3804        81,   81,   81,  101,  101,  101,  102,  102,  102,  103,
3805
3806       103,  103,  278,  278,  104,  104,  104,  278, 1615,  101,
3807       535,  551,  102, 1620,  488,  103,  584,  278,   81,   81,
3808       104,  488,   81,  487,  487,  487,  535,  551,  352,   81,
3809       488,   81,   82,   82,   82,   82,   82,   82,   82,   82,
3810        82,   82,   82,   82,   82,   82,   82,  278,   82,   82,
3811        82,   82,   82,  107,  107,  107,  108,  108,  108,  109,
3812       109,  109, 1621, 1623,  110,  110,  110, 1624,  584,  107,
3813       648,  352,  108,  817,  563,  109,  663,  352,   82,   82,
3814       110,  352,   82,  490,  490,  490,  352,  817, 1626,   82,
3815       563,   82,   85,   85,   85,   85,   85,   85,   85,   85,
3816
3817        85,   85,   85,   85,   85,   85,   85,  575,   85,   85,
3818        85,   85,   85,  111,  111,  111,  112,  112,  112,  113,
3819       113,  113,  648,  575,  114,  114,  114, 1627,  663,  111,
3820       558,  871,  112, 1628, 1636,  113, 1641,  558,   85,   85,
3821       114,  117,  117,  117,   85,  871,  558,   85,  504,  504,
3822       504,  508,  508,  508,  515,  515,  515,  117,   85,   86,
3823        86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
3824        86,   86,   86,   86,  589,   86,   86,   86,   86,   86,
3825       118,  118,  118,  121,  121,  121,  122,  122,  122,  825,
3826       589,  123,  123,  123, 1650,  825,  118,  595, 1652,  121,
3827
3828      1661,  825,  122, 1666,  595,   86,   86,  123,  124,  124,
3829       124,   86,  700,  595,   86,  519,  519,  519,  528,  528,
3830       528,  532,  532,  532,  124,   86,   95,   95,   95,   95,
3831        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
3832        95,  600,   95,   95,   95,   95,   95,  125,  125,  125,
3833       126,  126,  126,  127,  127,  127,  830,  600,  128,  128,
3834       128, 1674,  830,  125,  700, 1675,  126, 1679,  830,  127,
3835      1684,  725,   95,   95,  128,  131,  131,  131,   95,  543,
3836       543,  543,  548,  548,  548,  557,  557,  557,  560,  560,
3837       560,  131,   95,   96,   96,   96,   96,   96,   96,   96,
3838
3839        96,   96,   96,   96,   96,   96,   96,   96,  611,   96,
3840        96,   96,   96,   96,  132,  132,  132,  133,  133,  133,
3841       134,  134,  134,  725,  611,  135,  135,  135, 1688, 1694,
3842       132, 1700, 1705,  133, 1707, 1715,  134, 1722,  740,   96,
3843        96,  135,  136,  136,  136,   96,  567,  567,  567,  572,
3844       572,  572,  582,  582,  582,  586,  586,  586,  136,   96,
3845       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
3846       105,  105,  105,  105,  105,  622,  105,  105,  105,  105,
3847       105,  137,  137,  137,  138,  138,  138,  141,  141,  141,
3848       740,  622,  142,  142,  142, 1723, 1726,  137,  606,  995,
3849
3850       138, 1735, 1736,  141, 1737,  606,  105,  105,  142,  143,
3851       143,  143,  105,  995,  606,  105,  594,  594,  594,  597,
3852       597,  597,  605,  605,  605,  143,  105,  106,  106,  106,
3853       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
3854       106,  106,  638,  106,  106,  106,  106,  106,  144,  144,
3855       144,  145,  145,  145,  146,  146,  146,  837,  638,  147,
3856       147,  147, 1740,  837,  144,  617, 1741,  145, 1387,  837,
3857       146, 1742,  617,  106,  106,  147,  148,  148,  148,  106,
3858      1387,  617,  106,  608,  608,  608,  616,  616,  616,  619,
3859       619,  619,  148,  106,  115,  115,  115,  115,  115,  115,
3860
3861       115,  115,  115,  115,  115,  115,  115,  115,  115,  653,
3862       115,  115,  115,  115,  115,  151,  151,  151,  152,  152,
3863       152,  153,  153,  153,  782,  653,  154,  154,  154, 1743,
3864       826,  151,  632,  633,  152, 1744,  668,  153, 1745,  632,
3865       115,  115,  154,  826,  115,  631,  631,  631,  632,  633,
3866       779,  115,  668,  115,  635,  635,  635,  115,  646,  115,
3867       115,  116,  116,  116,  116,  116,  116,  116,  116,  116,
3868       116,  116,  116,  116,  116,  116,  782,  116,  116,  116,
3869       116,  116,  155,  155,  155,  156,  156,  156,  157,  157,
3870       157, 1746,  633,  158,  158,  158,  646, 1747,  155, 1750,
3871
3872      1752,  156,  779,  679,  157, 1731,  779,  116,  116,  158,
3873       646,  116,  642,  642,  642,  650,  650,  650,  116,  679,
3874       116,  661,  661,  661,  116, 1731,  116,  116,  119,  119,
3875       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3876       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3877       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3878       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3879       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3880       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3881       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3882
3883       119,  119,  129,  129,  129,  129,  129,  129,  129,  129,
3884       129,  129,  129,  129,  129,  129,  129,  847,  129,  129,
3885       129,  129,  129,  161,  161,  161,  162,  162,  162,  165,
3886       165,  165, 1393,  683,  166,  166,  166,  683,  795,  161,
3887       847,  683,  162, 1753, 1393,  165, 1755, 1514,  129,  129,
3888       166,  665,  665,  665,  673,  673,  673,  699, 1514,  129,
3889       130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
3890       130,  130,  130,  130,  130,  693,  130,  130,  130,  130,
3891       130,  167,  167,  167,  168,  168,  168,  169,  169,  169,
3892       795,  693,  170,  170,  170,  674, 1756,  167,  844,  705,
3893
3894       168, 1758,  674,  169,  844,  699,  130,  130,  170,  699,
3895       844,  674,  676,  676,  676,  705, 1759,  130,  139,  139,
3896       139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
3897       139,  139,  139,  716,  139,  139,  139,  139,  139,  171,
3898       171,  171,  172,  172,  172,  175,  175,  175, 1622,  716,
3899       176,  176,  176, 1760,  838,  171, 1761, 1764,  172, 1765,
3900      1622,  175,  849,  850,  139,  139,  176,  838,  177,  177,
3901       177,  178,  178,  178, 1766,  139,  687,  687,  687,  690,
3902       690,  690,  794,  139,  177,  849,  850,  178,  139,  140,
3903       140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
3904
3905       140,  140,  140,  140,  730,  140,  140,  140,  140,  140,
3906       179,  179,  179,  180,  180,  180,  181,  181,  181, 1767,
3907       730,  182,  182,  182, 1768, 1770,  179, 1773, 1774,  180,
3908       794,  688,  181,  854,  794,  140,  140,  182,  688,  185,
3909       185,  185,  186,  186,  186, 1775,  140,  688,  698,  698,
3910       698,  702,  702,  702,  140,  185,  854, 1777,  186,  140,
3911       149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
3912       149,  149,  149,  149,  149,  745,  149,  149,  149,  149,
3913       149,  189,  189,  189,  190,  190,  190,  193,  193,  193,
3914       997,  745,  194,  194,  194, 1780,  997,  189, 1000,  756,
3915
3916       190, 1781,  997,  193, 1000,  768,  149,  149,  194,  149,
3917      1000,  149,  710,  710,  710,  756, 1782,  149,  713,  713,
3918       713,  768, 1786,  149, 1787, 1791,  149,  150,  150,  150,
3919       150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
3920       150,  150,  787,  150,  150,  150,  150,  150,  197,  197,
3921       197,  198,  198,  198,  199,  199,  199, 1794,  787,  200,
3922       200,  200, 1797, 1798,  197,  711, 1799,  198, 1801,  819,
3923       199, 1804,  711,  150,  150,  200,  150, 1805,  150,  819,
3924       780,  711,  819, 1810,  150,  723,  723,  723, 1811, 1826,
3925       150, 1827, 1835,  150,  159,  159,  159,  159,  159,  159,
3926
3927       159,  159,  159,  159,  159,  159,  159,  159,  159,  780,
3928       159,  159,  159,  159,  159,  203,  203,  203,  204,  204,
3929       204,  205,  205,  205,  780,  833,  206,  206,  206, 1836,
3930      1838,  203,  780, 1860,  204,  833, 1861,  205,  833, 1863,
3931       159,  159,  206,  207,  207,  207,  159,  727,  727,  727,
3932      1864,  159,  737,  737,  737,  742,  742,  742, 1867,  207,
3933      1869, 1872,  159,  160,  160,  160,  160,  160,  160,  160,
3934       160,  160,  160,  160,  160,  160,  160,  160, 1879,  160,
3935       160,  160,  160,  160,  208,  208,  208,  209,  209,  209,
3936       210,  210,  210, 1880,  851,  211,  211,  211, 1881, 1882,
3937
3938       208,  750, 1884,  209, 1890,  853,  210,  851,  750,  160,
3939       160,  211,  212,  212,  212,  160,  998,  750,  853, 1892,
3940       160,  753,  753,  753,  762,  762,  762, 1894,  212,  998,
3941      1895,  160,  163,  163,  163,  163,  163,  163,  163,  163,
3942       163,  163,  163,  163,  163,  163,  163, 1900,  163,  163,
3943       163,  163,  163,  213,  213,  213,  214,  214,  214,  215,
3944       215,  215, 1902,  852,  216,  216,  216,  763, 1903,  213,
3945      1905,  996,  214,  852,  763,  215,  852, 1906,  163,  163,
3946       216,  996, 1907,  763,  996, 1908,  163,  164,  164,  164,
3947       164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
3948
3949       164,  164, 1909,  164,  164,  164,  164,  164,  217,  217,
3950       217,  218,  218,  218,  219,  219,  219, 1912,  999,  220,
3951       220,  220, 1913, 1080,  217, 1914, 1918,  218,  999, 1927,
3952       219,  999, 1930,  164,  164,  220,  765,  765,  765, 1080,
3953      1938,  164,  173,  173,  173,  173,  173,  173,  173,  173,
3954       173,  173,  173,  173,  173,  173,  173, 1940,  173,  173,
3955       173,  173,  173,  221,  221,  221,  222,  222,  222,  225,
3956       225,  225, 1942, 1070,  226,  226,  226, 1943, 1944,  221,
3957      1946, 1951,  222, 1070, 1108,  225, 1070, 1954,  173,  173,
3958       226, 1955,  173,  773,  773,  773,  784,  784,  784,  173,
3959
3960      1108,  173,  793,  793,  793,  796,  796,  796,  173,  174,
3961       174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
3962       174,  174,  174,  174, 1227,  174,  174,  174,  174,  174,
3963       227,  227,  227,  228,  228,  228,  229,  229,  229, 1957,
3964      1227,  230,  230,  230, 1188, 1962,  227, 1967, 1325,  228,
3965      1968, 1972,  229, 1188, 1975,  174,  174,  230, 1978,  174,
3966      1188,  805,  805,  805, 1325, 1981,  174, 1982,  174, 1083,
3967      1083, 1083, 1984, 1083, 1985,  174,  183,  183,  183,  183,
3968       183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
3969       183, 1986,  183,  183,  183,  183,  183,  231,  231,  231,
3970
3971       232,  232,  232,  235,  235,  235, 1974, 1987,  236,  236,
3972       236, 1988, 1989,  231, 1992, 1993,  232, 1995, 1996,  235,
3973       805, 1999,  183,  183,  236, 1092, 1092, 1092,  183, 1092,
3974      2000, 1974, 1092,  183,  184,  184,  184,  184,  184,  184,
3975       184,  184,  184,  184,  184,  184,  184,  184,  184, 2002,
3976       184,  184,  184,  184,  184,  239,  239,  239,  240,  240,
3977       240,  243,  243,  243, 2004, 2007,  244,  244,  244, 2009,
3978      2010,  239, 2011, 2012,  240, 2013, 2015,  243, 2016, 2020,
3979       184,  184,  244, 1096, 1096, 1096,  184, 1118, 1118, 1118,
3980      2023,  184,  187,  187,  187,  187,  187,  187,  187,  187,
3981
3982       187,  187,  187,  187,  187,  187,  187, 2024,  187,  187,
3983       187,  187,  187,  245,  245,  245,  246,  246,  246,  247,
3984       247,  247, 2025, 2032,  248,  248,  248, 2033, 2037,  245,
3985      2038, 2039,  246, 2041, 2045,  247, 2046, 2081,  187,  187,
3986       248,  249,  249,  249,  250,  250,  250, 1096, 2082,  187,
3987      2084, 1118, 2085, 1131, 1131, 1131, 2092,  249, 2093, 2105,
3988       250,  187,  188,  188,  188,  188,  188,  188,  188,  188,
3989       188,  188,  188,  188,  188,  188,  188, 2106,  188,  188,
3990       188,  188,  188,  253,  253,  253,  254,  254,  254,  257,
3991       257,  257, 2107, 2108,  258,  258,  258, 2110, 2118,  253,
3992
3993      2120, 2124,  254, 2127, 2128,  257, 2130, 2131,  188,  188,
3994       258,  259,  259,  259,  260,  260,  260, 1131, 2134,  188,
3995      1134, 1134, 1134, 1370, 1370, 1370, 2135,  259, 2136, 2137,
3996       260,  188,  191,  191,  191,  191,  191,  191,  191,  191,
3997       191,  191,  191,  191,  191,  191,  191, 2141,  191,  191,
3998       191,  191,  191,  261,  261,  261,  262,  262,  262,  263,
3999       263,  263, 2142, 2143,  264,  264,  264, 2148, 2152,  261,
4000      2156, 2158,  262, 2160, 2166,  263, 2173, 2177,  191,  191,
4001       264,  267,  267,  267, 1134, 1159, 1159, 1159, 2178, 1159,
4002      2180, 2187, 1159,  191, 1394, 1394, 1394,  267,  191,  192,
4003
4004       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
4005       192,  192,  192,  192, 2194,  192,  192,  192,  192,  192,
4006       268,  268,  268,  269,  269,  269,  270,  270,  270, 2198,
4007      2200,  271,  271,  271, 2201, 2203,  268, 2193, 2204,  269,
4008      2206, 2207,  270, 2208, 2209,  192,  192,  271,  272,  272,
4009       272, 1178, 1178, 1178, 2193, 1178, 2194, 2211, 1178, 2212,
4010       192, 1748, 1748, 1748,  272,  192,  195,  195,  195,  195,
4011       195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
4012       195, 2216,  195,  195,  195,  195,  195,  273,  273,  273,
4013       274,  274,  274,  281,  281,  281, 2218, 2195,  282,  282,
4014
4015       282, 2219, 2202,  273, 2220, 2221,  274, 2223, 2224,  281,
4016      2225, 2226,  195,  195,  282,  195,  195,  195, 2202, 2229,
4017      1180, 1180, 1180,  195, 1180,  195, 2202, 1180, 1749, 1749,
4018      1749, 2195,  195,  196,  196,  196,  196,  196,  196,  196,
4019       196,  196,  196,  196,  196,  196,  196,  196, 2222,  196,
4020       196,  196,  196,  196,  285,  285,  285,  286,  286,  286,
4021       287,  287,  287, 2231, 2222,  288,  288,  288, 2232, 2233,
4022       285, 2239, 2222,  286, 2241, 1749,  287, 2242, 2243,  196,
4023       196,  288,  196,  196,  196, 2233, 2244, 1190, 1190, 1190,
4024       196, 1190,  196, 2233, 1190, 1751, 1751, 1751, 2245,  196,
4025
4026       201,  201,  201,  201,  201,  201,  201,  201,  201,  201,
4027       201,  201,  201,  201,  201,  781,  201,  201,  201,  201,
4028       201,  289,  289,  289,  290,  290,  290,  291,  291,  291,
4029      2247, 2252,  292,  292,  292, 2280, 2281,  289, 2282, 2286,
4030       290, 2287, 1751,  291,  781,  781,  201,  201,  292,  293,
4031       293,  293,  294,  294,  294, 2293, 2294,  781, 2301, 1193,
4032      1193, 1193, 2302, 1193, 2308,  293, 1193,  781,  294,  201,
4033       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
4034       202,  202,  202,  202,  202, 2234,  202,  202,  202,  202,
4035       202,  295,  295,  295,  296,  296,  296,  297,  297,  297,
4036
4037      2309, 2234,  298,  298,  298, 2315, 2317,  295, 2318, 2234,
4038       296, 2321, 2327,  297, 2329, 2335,  202,  202,  298,  299,
4039       299,  299,  300,  300,  300, 1207, 1207, 1207, 2339, 1207,
4040      2340, 2343, 1207, 2348, 2350,  299, 2351, 2352,  300,  202,
4041       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
4042       223,  223,  223,  223,  223, 2353,  223,  223,  223,  223,
4043       223,  301,  301,  301,  302,  302,  302,  303,  303,  303,
4044      2360, 2362,  304,  304,  304, 2364, 2366,  301, 2379, 2380,
4045       302, 2381, 2384,  303, 2385, 2386,  223,  223,  304,  305,
4046       305,  305, 2387, 2386,  223, 2388,  223, 2389,  223, 1754,
4047
4048      1754, 1754,  223, 2391, 2403,  305,  223,  224,  224,  224,
4049       224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
4050       224,  224, 2411,  224,  224,  224,  224,  224,  306,  306,
4051       306,  307,  307,  307,  308,  308,  308, 2390, 2406,  309,
4052       309,  309, 2405, 2407,  306, 2390, 2412,  307, 2405, 2413,
4053       308, 2414, 2415,  224,  224,  309,  310,  310,  310, 2419,
4054      2421,  224, 2422,  224, 2423,  224, 1757, 1757, 1757,  224,
4055      2406, 2428,  310,  224,  233,  233,  233,  233,  233,  233,
4056       233,  233,  233,  233,  233,  233,  233,  233,  233, 2407,
4057       233,  233,  233,  233,  233,  311,  311,  311,  312,  312,
4058
4059       312,  313,  313,  313, 2429, 2431,  314,  314,  314, 2432,
4060      2433,  311, 2434, 2437,  312, 2441, 2442,  313, 2449, 2451,
4061       233,  233,  314,  315,  315,  315,  316,  316,  316, 2458,
4062      2460,  233, 2491, 1211, 1211, 1211, 2492, 1211, 2493,  315,
4063      1211, 2499,  316,  233,  234,  234,  234,  234,  234,  234,
4064       234,  234,  234,  234,  234,  234,  234,  234,  234, 2500,
4065       234,  234,  234,  234,  234,  317,  317,  317,  318,  318,
4066       318,  319,  319,  319, 2504, 2511,  320,  320,  320, 2512,
4067      2516,  317, 2517, 2520,  318, 2523, 2524,  319, 2525, 2526,
4068       234,  234,  320,  323,  323,  323,  324,  324,  324, 2529,
4069
4070      2532,  234, 2536, 1220, 1220, 1220, 2537, 1220, 2538,  323,
4071      1220, 2539,  324,  234,  237,  237,  237,  237,  237,  237,
4072       237,  237,  237,  237,  237,  237,  237,  237,  237, 2551,
4073       237,  237,  237,  237,  237,  325,  325,  325,  326,  326,
4074       326,  327,  327,  327, 2554, 2556,  328,  328,  328, 2559,
4075      2573,  325, 2574, 2575,  326, 2580, 2581,  327, 2582, 2583,
4076       237,  237,  328, 1230, 1230, 1230, 2584, 1230, 2585,  237,
4077      1230,  237, 2586, 2587,  237, 2588, 2589,  643,  380,  237,
4078       237,  238,  238,  238,  238,  238,  238,  238,  238,  238,
4079       238,  238,  238,  238,  238,  238, 2599,  238,  238,  238,
4080
4081       238,  238,  329,  329,  329,  330,  330,  330,  380,  813,
4082       813,  813, 2610,  380, 2611,  643,  643,  643,  329, 2612,
4083       380,  330,  380,  380,  373,  643,  813,  238,  238,  643,
4084       380,  643, 2603, 2615,  373, 2618,  238, 2622,  238, 2602,
4085      2623,  238, 1762, 1762, 1762,  374,  238,  238,  241,  241,
4086       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
4087       241,  241,  241,  373,  241,  241,  241,  241,  241, 2624,
4088      2627,  879,  879,  879,  374,  374,  373, 2628, 1762, 2603,
4089       373,  374, 2602,  374, 2629, 2632,  373,  374,  879, 2635,
4090      2636,  374, 2637, 2638,  241,  241, 2660,  374,  774, 2661,
4091
4092       241, 2667,  776, 1232, 1232, 1232, 2668, 1232,  774, 2679,
4093      1232, 2680,  776, 2681,  241,  242,  242,  242,  242,  242,
4094       242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
4095      2682,  242,  242,  242,  242,  242, 2662,  774,  901,  901,
4096       901,  776, 2696,  774, 2697, 2662,  902,  902,  902, 2698,
4097       774, 2699,  774,  774,  776,  901, 2719, 2720,  776, 2731,
4098       774,  242,  242,  902,  776,  778, 2732,  242, 2737, 1240,
4099      1240, 1240, 2738, 1240, 2739,  778, 1240, 1763, 1763, 1763,
4100      2740,  242,  251,  251,  251,  251,  251,  251,  251,  251,
4101       251,  251,  251,  251,  251,  251,  251, 2741,  251,  251,
4102
4103       251,  251,  251, 2742,  778,  778,  912,  912,  912,  914,
4104       914,  914, 2743,  928,  928,  928, 2744,  932,  932,  932,
4105       940,  940,  940,  912, 2745, 2746,  914,  778,  251,  251,
4106       928, 2751, 2755,  251,  932, 2758, 2759,  940, 2760,  251,
4107       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
4108       252,  252,  252,  252,  252, 2763,  252,  252,  252,  252,
4109       252,  950,  950,  950,  951,  951,  951,  960,  960,  960,
4110      2755,  968,  968,  968, 2765,  972,  972,  972,  950, 2766,
4111      2754,  951, 2769, 2770,  960, 2771,  252,  252,  968, 2773,
4112      2774,  252,  972, 1769, 1769, 1769, 2776,  252,  255,  255,
4113
4114       255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
4115       255,  255,  255, 2754,  255,  255,  255,  255,  255,  985,
4116       985,  985, 1011, 1011, 1011, 1017, 1017, 1017, 2797, 1034,
4117      1034, 1034, 2798, 1040, 1040, 1040,  985, 2799, 2800, 1011,
4118      1769, 2803, 1017, 2804,  255,  255, 1034,  255, 2813,  255,
4119      1040, 2814, 1248, 1248, 1248,  255, 1248, 2822, 2823, 1248,
4120      2824, 1771, 1771, 1771, 2832,  255,  256,  256,  256,  256,
4121       256,  256,  256,  256,  256,  256,  256,  256,  256,  256,
4122       256, 2833,  256,  256,  256,  256,  256, 1046, 1046, 1046,
4123      1054, 1054, 1054, 1067, 1067, 1067, 2850, 1091, 1091, 1091,
4124
4125      1094, 1094, 1094, 2851, 1046, 2855, 2856, 1054, 1771, 2857,
4126      1067, 2858,  256,  256, 1091,  256, 2859,  256, 1094, 2860,
4127      1252, 1252, 1252,  256, 1252, 2861, 2862, 1252, 1772, 1772,
4128      1772, 2863, 2864,  256,  265,  265,  265,  265,  265,  265,
4129       265,  265,  265,  265,  265,  265,  265,  265,  265, 2865,
4130       265,  265,  265,  265,  265, 1095, 1095, 1095, 1139, 1139,
4131      1139, 1141, 1141, 1141, 2866, 1140, 1140, 1140, 2868, 1142,
4132      1142, 1142, 2873, 1095, 2874, 1139, 2875, 2878, 1141, 2879,
4133       265,  265, 1140, 2881, 2882,  265, 1142, 1793, 1793, 1793,
4134      2883,  265, 1095, 2885,  265, 1871, 1871, 1871, 2870, 2872,
4135
4136       265,  266,  266,  266,  266,  266,  266,  266,  266,  266,
4137       266,  266,  266,  266,  266,  266, 1140,  266,  266,  266,
4138       266,  266, 1143, 1143, 1143, 1144, 1144, 1144, 1142, 2886,
4139      1140, 1151, 1151, 1151, 1793, 1155, 1155, 1155, 2870, 2906,
4140      1143, 2907, 2872, 1144, 1983, 1983, 1983,  266,  266, 1151,
4141      2909, 2871,  266, 1155, 1990, 1990, 1990, 2913,  266, 2914,
4142      2915,  266, 1144, 1991, 1991, 1991, 2917,  266,  275,  275,
4143       275,  275,  275,  275,  275,  275,  275,  275,  275,  275,
4144       275,  275,  275, 2918,  275,  275,  275,  275,  275, 2871,
4145      1156, 1156, 1156, 1158, 1158, 1158, 2916, 2920, 1161, 1161,
4146
4147      1161, 2921, 2931, 1152, 1152, 1152, 2932, 2916, 1156, 2919,
4148      1158, 1162, 1162, 1162,  275,  275, 1161, 1994, 1994, 1994,
4149      2919, 1152,  275, 2933, 2945,  275, 1997, 1997, 1997, 1162,
4150      2969,  275,  276,  276,  276,  276,  276,  276,  276,  276,
4151       276,  276,  276,  276,  276,  276,  276, 2970,  276,  276,
4152       276,  276,  276, 1152, 1156, 1163, 1163, 1163, 2971, 1162,
4153      1164, 1164, 1164, 1165, 1165, 1165, 1166, 1166, 1166, 1167,
4154      1167, 1167, 1163, 1168, 1168, 1168, 2972, 1164,  276,  276,
4155      1165, 1264, 1264, 1264, 1166, 1264,  276, 1167, 1264,  276,
4156      1168, 1998, 1998, 1998, 2973,  276,  279,  279,  279,  279,
4157
4158       279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
4159       279, 1164,  279,  279,  279,  279,  279, 1169, 1169, 1169,
4160      1170, 1170, 1170, 2937, 2974, 1164, 1171, 1171, 1171, 1172,
4161      1172, 1172, 2975, 2937, 1169, 1173, 1173, 1173, 1170, 2937,
4162      1167, 2976,  279,  279, 1171, 2806, 1172, 2806, 2961,  279,
4163      2977, 2978, 1173, 2985,  279, 1286, 1286, 1286, 2961, 1286,
4164      2806, 2961, 1286,  279,  280,  280,  280,  280,  280,  280,
4165       280,  280,  280,  280,  280,  280,  280,  280,  280, 2982,
4166       280,  280,  280,  280,  280, 2987, 1173, 1174, 1174, 1174,
4167      1175, 1175, 1175, 2989, 1176, 1176, 1176, 1171, 2990, 2991,
4168
4169      1173, 1177, 1177, 1177, 1174, 1186, 1186, 1186, 1175, 2982,
4170       280,  280, 1176, 1179, 1179, 1179, 2993,  280, 1177, 2001,
4171      2001, 2001,  280, 1186, 2006, 2006, 2006, 1776, 1776, 1776,
4172      1179,  280,  283,  283,  283,  283,  283,  283,  283,  283,
4173       283,  283,  283,  283,  283,  283,  283, 2994,  283,  283,
4174       283,  283,  283, 1181, 1181, 1181, 1778, 1778, 1778, 2995,
4175      1182, 1182, 1182, 1776, 3007, 1176, 1183, 1183, 1183, 3012,
4176      1181, 1184, 1184, 1184, 1185, 1185, 1185, 1182,  283,  283,
4177      1292, 1292, 1292, 1183, 1292, 3013, 3014, 1292, 1184,  283,
4178      3015, 1185, 1778, 2003, 2003, 2003, 3016,  283,  284,  284,
4179
4180       284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
4181       284,  284,  284, 1182,  284,  284,  284,  284,  284, 1189,
4182      1189, 1189, 1183, 1184, 1192, 1192, 1192, 1185, 1204, 1204,
4183      1204, 1187, 1187, 1187, 2999, 3000, 1189, 1194, 1194, 1194,
4184      3017, 1192, 3018, 2938,  284,  284, 1204, 2999, 3000, 1187,
4185      2008, 2008, 2008, 2938, 1194,  284, 3019, 2003, 2983, 2938,
4186      2005, 2005, 2005,  284,  321,  321,  321,  321,  321,  321,
4187       321,  321,  321,  321,  321,  321,  321,  321,  321, 1187,
4188       321,  321,  321,  321,  321, 1206, 1206, 1206, 1205, 1205,
4189      1205, 1208, 1208, 1208, 1209, 1209, 1209, 1210, 1210, 1210,
4190
4191      2983, 3020, 1206, 1214, 1214, 1214, 1205, 2005, 3021, 1208,
4192       321,  321, 1209, 2807, 1210, 2807,  321, 2984, 3022,  321,
4193      3033, 1214, 1308, 1308, 1308, 3035, 1308, 3039, 2807, 1308,
4194       321,  322,  322,  322,  322,  322,  322,  322,  322,  322,
4195       322,  322,  322,  322,  322,  322, 1205,  322,  322,  322,
4196       322,  322, 1215, 1215, 1215, 1209, 1219, 1219, 1219, 2984,
4197      3040, 1224, 1224, 1224, 1225, 1225, 1225, 1229, 1229, 1229,
4198      1215, 3041, 3042, 1219, 1231, 1231, 1231,  322,  322, 1224,
4199      3043, 3044, 1225,  322, 1229, 3046,  322, 3061, 1233, 1233,
4200      1233, 1231, 3062, 3064, 1234, 1234, 1234,  322,  370, 1236,
4201
4202      1236, 1236, 1237, 1237, 1237,  370, 1233, 3065, 1215, 1239,
4203      1239, 1239, 1234, 3076,  370,  370, 3077, 1236, 3078, 3079,
4204      1237, 1244, 1244, 1244, 3081, 1225, 1239, 2014, 2014, 2014,
4205      1245, 1245, 1245, 3082, 3056, 1247, 1247, 1247, 3083, 1244,
4206      1249, 1249, 1249,  370,  370,  370,  370, 3056, 1245, 3084,
4207       370,  370, 1247,  370,  370, 1234, 2962,  370, 1249,  370,
4208       370,  370, 1237, 1250, 1250, 1250, 2962,  370,  372, 2962,
4209      1251, 1251, 1251, 1254, 1254, 1254, 3094, 1255, 1255, 1255,
4210      3096, 1250, 3098, 3099,  372,  372, 1245, 1251, 1258, 1258,
4211      1258, 1254, 1259, 1259, 1259, 1255, 2017, 2017, 2017, 3101,
4212
4213      1263, 1263, 1263, 2018, 2018, 2018, 1258, 1268, 1268, 1268,
4214      1259, 3091, 2182,  372,  372,  372,  372, 1263, 2182, 1250,
4215       372,  372, 2182,  372,  372, 1268, 3092,  372, 2182,  372,
4216       372,  372, 1265, 1265, 1265, 3057, 3103,  372, 1255, 1269,
4217      1269, 1269, 1272, 1272, 1272, 1273, 1273, 1273, 3057, 1265,
4218      1283, 1283, 1283, 1259, 1284, 1284, 1284, 1269, 3107, 3091,
4219      1272, 3108, 3092, 1273, 1285, 1285, 1285, 3063, 1283, 1288,
4220      1288, 1288, 1284, 3066, 1289, 1289, 1289, 1291, 1291, 1291,
4221      3063, 1285, 1293, 1293, 1293, 3109, 3066, 1288, 1295, 1295,
4222      1295, 1269, 1289, 3110, 1291, 1299, 1299, 1299, 3114, 1293,
4223
4224      1301, 1301, 1301, 1273, 3122, 1295, 1300, 1300, 1300, 1302,
4225      1302, 1302, 3123, 1299, 1303, 1303, 1303, 1301, 1284, 1304,
4226      1304, 1304, 3124, 3125, 1300, 3126, 1302, 1305, 1305, 1305,
4227      3127, 1303, 1307, 1307, 1307, 3128, 3129, 1304, 1289, 1309,
4228      1309, 1309, 1310, 1310, 1310, 1305, 1313, 1313, 1313, 1307,
4229      3130, 1314, 1314, 1314, 1300, 1314, 3131, 1309, 1314, 3132,
4230      1310, 3136, 3139, 1313, 1316, 1316, 1316, 1317, 1317, 1317,
4231      1319, 1319, 1319, 1303, 1320, 1320, 1320, 3140, 1320, 3141,
4232      3142, 1320, 1316, 3143, 3144, 1317, 3145, 1319, 1305, 1323,
4233      1323, 1323, 1324, 1324, 1324, 1327, 1327, 1327, 1328, 1328,
4234
4235      1328, 3148, 1328, 1310, 3152, 1328, 3153, 1323, 3154, 3155,
4236      1324, 3156, 1327, 1331, 1331, 1331, 1332, 1332, 1332, 1337,
4237      1337, 1337, 1338, 1338, 1338, 1339, 1339, 1339, 1340, 1340,
4238      1340, 1331, 1340, 1317, 1332, 1340, 3157, 1337, 3158, 3159,
4239      1338, 3160, 1339, 1342, 1342, 1342, 1343, 1343, 1343, 1344,
4240      1344, 1344, 1345, 1345, 1345, 1346, 1346, 1346, 1324, 3161,
4241      3162, 1342, 3163, 3175, 1343, 3176, 1344, 3177, 3178, 1345,
4242      3179, 3180, 1346, 1347, 1347, 1347, 1348, 1348, 1348, 3181,
4243      1332, 1349, 1349, 1349, 3182, 3192, 1338, 1366, 1366, 1366,
4244      1347, 1362, 1362, 1362, 1348, 1362, 3196, 3199, 1362, 1349,
4245
4246      1367, 1367, 1367, 1345, 3187, 1366, 3200, 1343, 1369, 1369,
4247      1369, 1414, 1414, 1414, 1418, 1418, 1418, 1345, 1367, 3201,
4248      1415, 1415, 1415, 3202, 1415, 3203, 1369, 1415, 1414, 3204,
4249      3205, 1418, 1347, 1419, 1419, 1419, 3206, 1419, 3207, 3187,
4250      1419, 3208, 1349, 1421, 1421, 1421, 1422, 1422, 1422, 1424,
4251      1424, 1424, 1427, 1427, 1427, 1431, 1431, 1431, 1432, 1432,
4252      1432, 1421, 3209, 3210, 1422, 3215, 3223, 1424, 3224, 1427,
4253      1434, 1434, 1434, 1431, 3225, 3226, 1432, 1437, 1437, 1437,
4254      1438, 1438, 1438, 1440, 1440, 1440, 3227, 3228, 1434, 1442,
4255      1442, 1442, 3229, 1442, 3230, 1437, 1442, 3231, 1438, 3232,
4256
4257      3238, 1440, 1446, 1446, 1446, 1447, 1447, 1447, 1449, 1449,
4258      1449, 3239, 3241, 1424, 1450, 1450, 1450, 1451, 1451, 1451,
4259      1446, 1451, 3242, 1447, 1451, 3244, 1449, 1454, 1454, 1454,
4260      3245, 1450, 1456, 1456, 1456, 3246, 1434, 1440, 1455, 1455,
4261      1455, 3247, 1455, 3248, 1454, 1455, 1457, 1457, 1457, 3249,
4262      1456, 1459, 1459, 1459, 1460, 1460, 1460, 3250, 1449, 1461,
4263      1461, 1461, 3251, 1461, 1457, 3252, 1461, 3253, 3254, 1459,
4264      3255, 1460, 1462, 1462, 1462, 1463, 1463, 1463, 3256, 1463,
4265      3259, 3260, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 1462,
4266      1467, 1467, 1467, 1468, 1468, 1468, 1469, 1469, 1469, 3261,
4267
4268      1469, 1464, 3262, 1469, 1465, 1472, 1472, 1472, 1467, 3263,
4269      1468, 3264, 3265, 1459, 1473, 1473, 1473, 3266, 1473, 3268,
4270      3269, 1473, 1472, 1474, 1474, 1474, 1475, 1475, 1475, 1477,
4271      1477, 1477, 1478, 1478, 1478, 3271, 1478, 3272, 3273, 1478,
4272      3275, 1474, 3277, 3278, 1475, 3279, 3280, 1477, 3281, 1481,
4273      1481, 1481, 1467, 1481, 3282, 3283, 1481, 1484, 1484, 1484,
4274      1485, 1485, 1485, 3284, 1485, 3292, 3295, 1485, 1490, 1490,
4275      1490, 1491, 1491, 1491, 1484, 1493, 1493, 1493, 1497, 1497,
4276      1497, 3297, 1497, 3298, 3299, 1497, 1490, 3300, 3285, 1491,
4277      3301, 1477, 3302, 1493, 1500, 1500, 1500, 1501, 1501, 1501,
4278
4279      3303, 1501, 3304, 3305, 1501, 1504, 1504, 1504, 1505, 1505,
4280      1505, 1500, 1505, 3306, 3307, 1505, 1515, 1515, 1515, 1516,
4281      1516, 1516, 1504, 3308, 1493, 1518, 1518, 1518, 1519, 1519,
4282      1519, 3285, 1519, 3311, 1515, 1519, 3315, 1516, 1522, 1522,
4283      1522, 3316, 3318, 1518, 1523, 1523, 1523, 1525, 1525, 1525,
4284      1526, 1526, 1526, 3319, 1526, 3320, 1522, 1526, 1531, 1531,
4285      1531, 3322, 1523, 3323, 3328, 1525, 1532, 1532, 1532, 1534,
4286      1534, 1534, 1537, 1537, 1537, 3329, 1531, 3330, 1538, 1538,
4287      1538, 3331, 1538, 3332, 1532, 1538, 3333, 1534, 3334, 1537,
4288      3335, 3336, 1518, 1544, 1544, 1544, 1545, 1545, 1545, 1547,
4289
4290      1547, 1547, 1550, 1550, 1550, 3337, 3338, 1525, 1551, 1551,
4291      1551, 1544, 1551, 3339, 1545, 1551, 3340, 1547, 3341, 1550,
4292      1554, 1554, 1554, 3342, 1554, 3343, 3344, 1554, 1557, 1557,
4293      1557, 1558, 1558, 1558, 1534, 1560, 1560, 1560, 1561, 1561,
4294      1561, 1562, 1562, 1562, 3348, 3349, 1557, 3350, 3351, 1558,
4295      1563, 1563, 1563, 1560, 3352, 1561, 1565, 1565, 1565, 1562,
4296      1573, 1573, 1573, 3353, 1547, 1567, 1567, 1567, 1563, 1567,
4297      3354, 3355, 1567, 3358, 1565, 1574, 1574, 1574, 1573, 1576,
4298      1576, 1576, 1578, 1578, 1578, 3359, 1578, 3360, 3361, 1578,
4299      1581, 1581, 1581, 1574, 1582, 1582, 1582, 1576, 3362, 3363,
4300
4301      1560, 1584, 1584, 1584, 3365, 3366, 1565, 3367, 1581, 1585,
4302      1585, 1585, 1582, 1585, 3368, 3369, 1585, 3370, 3371, 1584,
4303      1589, 1589, 1589, 1590, 1590, 1590, 1592, 1592, 1592, 1593,
4304      1593, 1593, 1594, 1594, 1594, 1595, 1595, 1595, 1589, 1576,
4305      3372, 1590, 3382, 3384, 1592, 3386, 1593, 3388, 3390, 1594,
4306      1596, 1596, 1596, 1595, 1598, 1598, 1598, 2183, 1603, 1603,
4307      1603, 1584, 1603, 2183, 3392, 1603, 3373, 2183, 1596, 1606,
4308      1606, 1606, 1598, 2183, 1607, 1607, 1607, 1592, 1607, 3396,
4309      1594, 1607, 1610, 1610, 1610, 3375, 1606, 1611, 1611, 1611,
4310      1613, 1613, 1613, 1616, 1616, 1616, 1617, 1617, 1617, 3375,
4311
4312      1610, 1619, 1619, 1619, 3402, 1611, 3403, 3376, 1613, 3405,
4313      3105, 1616, 3373, 3406, 1617, 1625, 1625, 1625, 3376, 1619,
4314      3105, 1598, 1629, 1629, 1629, 1630, 1630, 1630, 1632, 1632,
4315      1632, 3408, 1625, 3398, 1633, 1633, 1633, 3105, 1633, 3419,
4316      1629, 1633, 1613, 1630, 3421, 3398, 1632, 3423, 3105, 1619,
4317      1637, 1637, 1637, 1638, 1638, 1638, 1640, 1640, 1640, 1642,
4318      1642, 1642, 3424, 1642, 3427, 3428, 1642, 3431, 1637, 3399,
4319      3433, 1638, 3435, 3437, 1640, 1645, 1645, 1645, 1646, 1646,
4320      1646, 3399, 1646, 3439, 3413, 1646, 1647, 1647, 1647, 1632,
4321      3441, 3442, 1645, 1648, 1648, 1648, 3413, 1649, 1649, 1649,
4322
4323      3413, 1649, 3444, 1647, 1649, 1651, 1651, 1651, 3445, 3449,
4324      1648, 1653, 1653, 1653, 1654, 1654, 1654, 1640, 1656, 1656,
4325      1656, 3451, 1651, 1657, 1657, 1657, 1658, 1658, 1658, 1653,
4326      1658, 3453, 1654, 1658, 3455, 3459, 1656, 1659, 1659, 1659,
4327      1657, 1660, 1660, 1660, 3456, 1660, 3458, 3458, 1660, 1662,
4328      1662, 1662, 3457, 3460, 1659, 1663, 1663, 1663, 1665, 1665,
4329      1665, 1667, 1667, 1667, 3460, 1667, 3457, 1662, 1667, 1670,
4330      1670, 1670, 3461, 1663, 3469, 3470, 1665, 3473, 1656, 1671,
4331      1671, 1671, 1673, 1673, 1673, 3456, 3474, 1670, 1676, 1676,
4332      1676, 3476, 1676, 3480, 3474, 1676, 3473, 1671, 3475, 3476,
4333
4334      1673, 1680, 1680, 1680, 1681, 1681, 1681, 3481, 1683, 1683,
4335      1683, 1685, 1685, 1685, 3482, 1685, 3483, 3475, 1685, 1680,
4336      3487, 3490, 1681, 3485, 3488, 1665, 1683, 1689, 1689, 1689,
4337      1690, 1690, 1690, 1691, 1691, 1691, 1693, 1693, 1693, 1695,
4338      1695, 1695, 3485, 3488, 1689, 1699, 1699, 1699, 1690, 1673,
4339      3492, 1691, 3486, 3493, 1693, 3489, 1695, 1696, 1696, 1696,
4340      3486, 1696, 1699, 3489, 1696, 1701, 1701, 1701, 3494, 1683,
4341      1702, 1702, 1702, 1704, 1704, 1704, 1706, 1706, 1706, 3495,
4342      1708, 1708, 1708, 1701, 1709, 1709, 1709, 3496, 1702, 3497,
4343      3511, 1704, 3512, 1706, 1711, 1711, 1711, 1693, 1708, 1716,
4344
4345      1716, 1716, 1709, 1712, 1712, 1712, 1699, 1712, 3513, 3515,
4346      1712, 3516, 1711, 1717, 1717, 1717, 3521, 1716, 1719, 1719,
4347      1719, 1704, 1720, 1720, 1720, 1721, 1721, 1721, 3522, 1721,
4348      3523, 1717, 1721, 1724, 1724, 1724, 1719, 3524, 3525, 1720,
4349      3526, 3527, 1711, 3528, 1725, 1725, 1725, 3529, 1725, 3530,
4350      1724, 1725, 1727, 1727, 1727, 1728, 1728, 1728, 1730, 1730,
4351      1730, 1732, 1732, 1732, 1738, 1738, 1738, 1779, 1779, 1779,
4352      1727, 3531, 3532, 1728, 3535, 3536, 1730, 3537, 1719, 1732,
4353      1732, 3538, 1738, 1783, 1783, 1783, 3539, 1783, 3540, 3541,
4354      1783, 1788, 1788, 1788, 3542, 1788, 3543, 3544, 1788, 1792,
4355
4356      1792, 1792, 3547, 1779, 1795, 1795, 1795, 1796, 1796, 1796,
4357      3106, 1796, 3548, 3549, 1796, 3550, 3551, 1792, 1730, 3552,
4358      3106, 1795, 1800, 1800, 1800, 1802, 1802, 1802, 1803, 1803,
4359      1803, 1806, 1806, 1806, 1807, 1807, 1807, 3106, 1807, 3554,
4360      1800, 1807, 1802, 1812, 1812, 1812, 1803, 1812, 3106, 1806,
4361      1812, 1815, 1815, 1815, 1816, 1816, 1816, 3555, 1816, 3556,
4362      1792, 1816, 3560, 1819, 1819, 1819, 3561, 1819, 3558, 1815,
4363      1819, 1822, 1822, 1822, 1823, 1823, 1823, 3562, 1823, 3563,
4364      3558, 1823, 3564, 1800, 1831, 1831, 1831, 3565, 1806, 1822,
4365      1828, 1828, 1828, 3566, 1828, 1803, 3559, 1828, 3567, 1815,
4366
4367      3568, 3570, 1831, 1832, 1832, 1832, 3575, 1832, 3559, 3576,
4368      1832, 1837, 1837, 1837, 3577, 1839, 1839, 1839, 3578, 1822,
4369      1840, 1840, 1840, 1841, 1841, 1841, 3579, 3580, 1837, 1842,
4370      1842, 1842, 1831, 1839, 1843, 1843, 1843, 1840, 3581, 3582,
4371      1841, 1844, 1844, 1844, 3583, 1844, 1842, 3584, 1844, 3588,
4372      3589, 1843, 1845, 1845, 1845, 3591, 1845, 3593, 3594, 1845,
4373      3414, 1848, 1848, 1848, 1849, 1849, 1849, 1850, 1850, 1850,
4374      3598, 1839, 3414, 1851, 1851, 1851, 3414, 1842, 1848, 3599,
4375      3600, 1849, 3601, 3594, 1850, 1852, 1852, 1852, 3602, 1841,
4376      1851, 1853, 1853, 1853, 1854, 1854, 1854, 1855, 1855, 1855,
4377
4378      3603, 3604, 1852, 1856, 1856, 1856, 3605, 3606, 1853, 3166,
4379      3607, 1854, 1849, 1848, 1855, 1857, 1857, 1857, 3608, 3166,
4380      1856, 1851, 1858, 1858, 1858, 1859, 1859, 1859, 1862, 1862,
4381      1862, 3609, 1857, 1865, 1865, 1865, 3166, 1850, 3612, 3613,
4382      1858, 3614, 3615, 1859, 3616, 3617, 1862, 3166, 3618, 1852,
4383      1865, 1853, 1866, 1866, 1866, 3619, 1866, 3620, 3621, 1866,
4384      1868, 1868, 1868, 3624, 3625, 1856, 3627, 1855, 1870, 1870,
4385      1870, 1873, 1873, 1873, 3628, 3626, 1857, 1868, 1859, 1875,
4386      1875, 1875, 1876, 1876, 1876, 1862, 1870, 1858, 1873, 1874,
4387      1874, 1874, 3629, 1874, 3626, 3630, 1874, 1875, 3631, 1876,
4388
4389      3632, 1877, 1877, 1877, 3633, 1877, 3634, 1868, 1877, 1878,
4390      1878, 1878, 1883, 1883, 1883, 1885, 1885, 1885, 1886, 1886,
4391      1886, 1887, 1887, 1887, 1888, 1888, 1888, 1878, 3635, 3636,
4392      1883, 3637, 3638, 1885, 1870, 1886, 1889, 1889, 1889, 1887,
4393      1889, 1888, 3639, 1889, 3640, 1875, 1891, 1891, 1891, 1893,
4394      1893, 1893, 1896, 1896, 1896, 3641, 1896, 3642, 3644, 1896,
4395      1899, 1899, 1899, 3645, 1891, 3646, 1893, 1878, 3647, 1883,
4396      3651, 3652, 1885, 1887, 1901, 1901, 1901, 1899, 1904, 1904,
4397      1904, 1910, 1910, 1910, 1911, 1911, 1911, 3653, 1911, 3654,
4398      3651, 1911, 1901, 1915, 1915, 1915, 1904, 3655, 1910, 1916,
4399
4400      1916, 1916, 1917, 1917, 1917, 3656, 1891, 1899, 1919, 1919,
4401      1919, 1915, 1919, 3657, 3658, 1919, 1916, 1922, 1922, 1922,
4402      1917, 1923, 1923, 1923, 3659, 1923, 3660, 3661, 1923, 1924,
4403      1924, 1924, 3662, 1924, 1922, 3663, 1924, 3664, 1901, 1928,
4404      1928, 1928, 3665, 1915, 1904, 1929, 1929, 1929, 3666, 1929,
4405      3667, 3668, 1929, 1931, 1931, 1931, 1928, 3669, 1932, 1932,
4406      1932, 3670, 1932, 3671, 1917, 1932, 1935, 1935, 1935, 3673,
4407      1935, 1931, 3674, 1935, 1939, 1939, 1939, 1941, 1941, 1941,
4408      1945, 1945, 1945, 1947, 1947, 1947, 1948, 1948, 1948, 1949,
4409      1949, 1949, 1939, 1949, 3675, 1941, 1949, 3676, 1945, 3677,
4410
4411      1947, 3678, 3680, 1948, 1931, 1950, 1950, 1950, 1952, 1952,
4412      1952, 1953, 1953, 1953, 3167, 1953, 3681, 3682, 1953, 3684,
4413      1956, 1956, 1956, 1950, 3167, 1952, 3685, 3686, 1958, 1958,
4414      1958, 3672, 1959, 1959, 1959, 3688, 1959, 3672, 1956, 1959,
4415      1939, 3167, 3689, 1941, 1945, 1958, 1960, 1960, 1960, 1961,
4416      1961, 1961, 3167, 1963, 1963, 1963, 3690, 1964, 1964, 1964,
4417      3692, 1964, 3694, 1960, 1964, 3695, 3696, 1961, 3697, 1950,
4418      1956, 1963, 1969, 1969, 1969, 3699, 1969, 3700, 3702, 1969,
4419      1973, 1973, 1973, 1976, 1976, 1976, 2019, 2019, 2019, 2021,
4420      2021, 2021, 2022, 2022, 2022, 2026, 2026, 2026, 1973, 1961,
4421
4422      3703, 1976, 2027, 2027, 2027, 1963, 2028, 2028, 2028, 2029,
4423      2029, 2029, 2030, 2030, 2030, 2031, 2031, 2031, 2034, 2034,
4424      2034, 3705, 2034, 2028, 3706, 2034, 2029, 3708, 3709, 2030,
4425      3693, 3711, 1973, 2031, 3712, 1976, 2021, 2040, 2040, 2040,
4426      2042, 2042, 2042, 3713, 3693, 2043, 2043, 2043, 3714, 2043,
4427      2019, 1976, 2043, 3715, 3716, 2040, 3717, 2042, 3718, 2026,
4428      2044, 2044, 2044, 2047, 2047, 2047, 2027, 2048, 2048, 2048,
4429      2049, 2049, 2049, 2050, 2050, 2050, 2030, 3719, 2044, 3720,
4430      3721, 2047, 2031, 3722, 2048, 3724, 3726, 2049, 2051, 2051,
4431      2051, 2050, 2052, 2052, 2052, 3728, 2053, 2053, 2053, 3729,
4432
4433      3730, 2040, 2054, 2054, 2054, 3731, 2051, 3732, 3733, 2052,
4434      3734, 3735, 2047, 2053, 2055, 2055, 2055, 3741, 3743, 2044,
4435      2054, 3745, 2056, 2056, 2056, 2057, 2057, 2057, 2058, 2058,
4436      2058, 2055, 2058, 3747, 1513, 2058, 1512, 3761, 2050, 2056,
4437      3736, 3761, 2057, 2059, 2059, 2059, 2060, 2060, 2060, 2061,
4438      2061, 2061, 3737, 2051, 2062, 2062, 2062, 3844, 2062, 1511,
4439      2059, 2062, 1510, 3748, 2060, 3756, 2061, 2054, 2063, 2063,
4440      2063, 2064, 2064, 2064, 2065, 2065, 2065, 3736, 2065, 3749,
4441      2056, 2065, 2068, 2068, 2068, 2063, 3772, 3844, 2064, 3737,
4442      2069, 2069, 2069, 2070, 2070, 2070, 2071, 2071, 2071, 2068,
4443
4444      2072, 2072, 2072, 2073, 2073, 2073, 2060, 2069, 3754, 3756,
4445      2070, 3748, 1509, 2071, 2074, 2074, 2074, 2072, 1508, 1507,
4446      2073, 2075, 2075, 2075, 3772, 2075, 3757, 3749, 2075, 3768,
4447      3755, 2074, 2076, 2076, 2076, 2064, 2077, 2077, 2077, 1506,
4448      2069, 2078, 2078, 2078, 3763, 3784, 2068, 2072, 3763, 2076,
4449      2079, 2079, 2079, 2077, 2071, 3774, 3754, 2073, 2078, 2080,
4450      2080, 2080, 2083, 2083, 2083, 2086, 2086, 2086, 2079, 2086,
4451      3757, 3760, 2086, 2089, 2089, 2089, 3768, 2080, 3755, 3760,
4452      2083, 2090, 2090, 2090, 2077, 2091, 2091, 2091, 3762, 2091,
4453      2089, 3784, 2091, 3774, 1496, 2078, 3762, 3780, 2090, 2094,
4454
4455      2094, 2094, 2095, 2095, 2095, 2096, 2096, 2096, 2100, 2100,
4456      2100, 3776, 2104, 2104, 2104, 2080, 2079, 2094, 2097, 2097,
4457      2097, 3786, 2097, 1495, 3764, 2097, 2100, 2101, 2101, 2101,
4458      2104, 2101, 3764, 3780, 2101, 2109, 2109, 2109, 2111, 2111,
4459      2111, 2112, 2112, 2112, 2113, 2113, 2113, 3782, 2113, 3765,
4460      1494, 2113, 3776, 2109, 3789, 2100, 2111, 3765, 2112, 2114,
4461      2114, 2114, 2115, 2115, 2115, 3777, 2115, 3786, 3766, 2115,
4462      2119, 2119, 2119, 2121, 2121, 2121, 3766, 2114, 3767, 2104,
4463      2122, 2122, 2122, 3782, 2122, 2111, 3767, 2122, 2119, 3779,
4464      2121, 2123, 2123, 2123, 2125, 2125, 2125, 2126, 2126, 2126,
4465
4466      3789, 2126, 3769, 3777, 2126, 2129, 2129, 2129, 2123, 1489,
4467      3769, 2125, 2132, 2132, 2132, 1488, 3770, 2114, 2133, 2133,
4468      2133, 3771, 3785, 2129, 2138, 2138, 2138, 3779, 2138, 3771,
4469      2132, 2138, 2144, 2144, 2144, 3817, 2119, 2145, 2145, 2145,
4470      2146, 2146, 2146, 3817, 2146, 3758, 3773, 2146, 3791, 3758,
4471      2144, 2147, 2147, 2147, 2145, 2149, 2149, 2149, 3785, 2149,
4472      1487, 3787, 2149, 3770, 3819, 2132, 2153, 2153, 2153, 2147,
4473      2153, 3775, 3819, 2153, 2157, 2157, 2157, 2159, 2159, 2159,
4474      2161, 2161, 2161, 3778, 2144, 2162, 2162, 2162, 2163, 2163,
4475      2163, 1486, 2157, 3773, 3791, 2159, 3758, 3787, 2161, 2164,
4476
4477      2164, 2164, 2162, 3788, 3790, 2163, 3781, 2165, 2165, 2165,
4478      2167, 2167, 2167, 2168, 2168, 2168, 2164, 2168, 3775, 3792,
4479      2168, 2172, 2172, 2172, 3778, 2165, 3783, 2167, 3820, 2159,
4480      3759, 3794, 2161, 3804, 3759, 2157, 2169, 2169, 2169, 2172,
4481      2169, 3788, 3790, 2169, 2174, 2174, 2174, 3781, 2174, 1471,
4482      3800, 2174, 3792, 3793, 2163, 2165, 2179, 2179, 2179, 2181,
4483      2181, 2181, 3820, 2181, 3794, 3832, 2181, 3783, 3804, 2172,
4484      2184, 2184, 2184, 3795, 2179, 2185, 2185, 2185, 1470, 2185,
4485      3797, 3759, 2185, 2186, 2186, 2186, 3800, 2184, 2188, 2188,
4486      2188, 3793, 2189, 2189, 2189, 2190, 2190, 2190, 2191, 2191,
4487
4488      2191, 2186, 2192, 2192, 2192, 3796, 2188, 3832, 2179, 2189,
4489      3798, 3795, 2190, 3797, 3796, 2191, 2197, 2197, 2197, 3798,
4490      2192, 2199, 2199, 2199, 2205, 2205, 2205, 2210, 2210, 2210,
4491      2213, 2213, 2213, 2197, 3821, 2186, 3799, 3805, 2192, 2214,
4492      2214, 2214, 2215, 2215, 2215, 2217, 2217, 2217, 2227, 2227,
4493      2227, 2228, 2228, 2228, 2230, 2230, 2230, 2235, 2235, 2235,
4494      3825, 3802, 2191, 2236, 2236, 2236, 3822, 2236, 3185, 3799,
4495      2236, 2237, 2237, 2237, 2235, 2238, 2238, 2238, 3185, 2238,
4496      3805, 3821, 2238, 2240, 2240, 2240, 1453, 3806, 2237, 2246,
4497      2246, 2246, 2248, 2248, 2248, 3185, 2248, 3802, 3825, 2248,
4498
4499      3822, 2240, 2251, 2251, 2251, 3834, 3185, 2246, 2253, 2253,
4500      2253, 2254, 2254, 2254, 2255, 2255, 2255, 2256, 2256, 2256,
4501      2251, 2256, 3806, 3846, 2256, 2253, 2257, 2257, 2257, 2254,
4502      3829, 2255, 2258, 2258, 2258, 3807, 2258, 1452, 3186, 2258,
4503      2259, 2259, 2259, 2257, 2260, 2260, 2260, 3834, 3186, 2240,
4504      2261, 2261, 2261, 3846, 2251, 2312, 2312, 2312, 2259, 2262,
4505      2262, 2262, 2260, 2262, 3823, 3186, 2262, 2261, 2263, 2263,
4506      2263, 3829, 2254, 2264, 2264, 2264, 3186, 2264, 3807, 1445,
4507      2264, 2265, 2265, 2265, 3809, 2263, 2266, 2266, 2266, 2267,
4508      2267, 2267, 3808, 2267, 3810, 3801, 2267, 3811, 3864, 2265,
4509
4510      2268, 2268, 2268, 2266, 3801, 2259, 2269, 2269, 2269, 2260,
4511      2269, 3823, 3803, 2269, 2272, 2272, 2272, 2268, 2273, 2273,
4512      2273, 3803, 2273, 3845, 1441, 2273, 2274, 2274, 2274, 3824,
4513      3809, 2272, 2275, 2275, 2275, 3808, 2275, 3810, 3824, 2275,
4514      2278, 2278, 2278, 3811, 2274, 3864, 2265, 2279, 2279, 2279,
4515      1436, 2279, 3813, 3815, 2279, 1435, 3845, 2278, 2283, 2283,
4516      2283, 2284, 2284, 2284, 3812, 2284, 3857, 3814, 2284, 2285,
4517      2285, 2285, 2288, 2288, 2288, 2283, 2288, 1430, 2274, 2288,
4518      2291, 2291, 2291, 2292, 2292, 2292, 2285, 2292, 3813, 3815,
4519      2292, 2295, 2295, 2295, 2296, 2296, 2296, 2291, 2297, 2297,
4520
4521      2297, 2298, 2298, 2298, 2299, 2299, 2299, 3826, 1429, 2295,
4522      3812, 3816, 2296, 3814, 3857, 2297, 3826, 3827, 2298, 2303,
4523      2303, 2303, 2299, 2304, 2304, 2304, 3859, 2304, 3828, 3860,
4524      2304, 2305, 2305, 2305, 3903, 2305, 2303, 3860, 2305, 2310,
4525      2310, 2310, 3830, 2295, 2313, 2313, 2313, 3816, 2296, 2314,
4526      2314, 2314, 2316, 2316, 2316, 3827, 3818, 2310, 2319, 2319,
4527      2319, 3833, 2313, 2322, 2322, 2322, 3828, 2314, 3836, 2316,
4528      2298, 2323, 2323, 2323, 3859, 2323, 2319, 1428, 2323, 1426,
4529      3830, 2322, 3903, 2326, 2326, 2326, 2328, 2328, 2328, 2330,
4530      2330, 2330, 3818, 2330, 3837, 3838, 2330, 3833, 1425, 2316,
4531
4532      2314, 2326, 2313, 3862, 2328, 2333, 2333, 2333, 2334, 2334,
4533      2334, 3862, 2334, 2322, 3836, 2334, 2336, 2336, 2336, 1420,
4534      2336, 3839, 2333, 2336, 2341, 2341, 2341, 2344, 2344, 2344,
4535      2326, 2345, 2345, 2345, 2346, 2346, 2346, 2347, 2347, 2347,
4536      3837, 3838, 2341, 1417, 2344, 2349, 2349, 2349, 3831, 2345,
4537      2354, 2354, 2354, 2355, 2355, 2355, 1416, 2355, 3847, 3840,
4538      2355, 2358, 2358, 2358, 2361, 2361, 2361, 3839, 2354, 2363,
4539      2363, 2363, 2365, 2365, 2365, 2367, 2367, 2367, 3835, 2358,
4540      3841, 2361, 2368, 2368, 2368, 3852, 3856, 2363, 3842, 3831,
4541      2365, 3847, 2345, 2367, 2369, 2369, 2369, 3840, 2369, 2368,
4542
4543      3843, 2369, 2370, 2370, 2370, 2371, 2371, 2371, 3848, 2372,
4544      2372, 2372, 3849, 2372, 3835, 2354, 2372, 3848, 3841, 2370,
4545      3852, 3849, 2371, 2373, 2373, 2373, 3842, 3850, 2363, 2374,
4546      2374, 2374, 3856, 2375, 2375, 2375, 3850, 2375, 3843, 2367,
4547      2375, 2373, 2378, 2378, 2378, 3853, 2374, 2382, 2382, 2382,
4548      2383, 2383, 2383, 1413, 2392, 2392, 2392, 3851, 2392, 3854,
4549      2378, 2392, 2395, 2395, 2395, 2382, 3851, 2383, 2396, 2396,
4550      2396, 2397, 2397, 2397, 2399, 2399, 2399, 2373, 3853, 3904,
4551      2395, 2401, 2401, 2401, 3867, 2396, 2400, 2400, 2400, 2397,
4552      2400, 2399, 1412, 2400, 3854, 3867, 2378, 1411, 2401, 2402,
4553
4554      2402, 2402, 1410, 2402, 1409, 3865, 2402, 1408, 3907, 2395,
4555      2404, 2404, 2404, 2408, 2408, 2408, 2409, 2409, 2409, 3865,
4556      2409, 3883, 3907, 2409, 2410, 2410, 2410, 3904, 2404, 3883,
4557      2408, 2416, 2416, 2416, 2417, 2417, 2417, 2418, 2418, 2418,
4558      2420, 2420, 2420, 2424, 2424, 2424, 2425, 2425, 2425, 2426,
4559      2426, 2426, 2427, 2427, 2427, 2430, 2430, 2430, 2435, 2435,
4560      2435, 2436, 2436, 2436, 2438, 2438, 2438, 2439, 2439, 2439,
4561      3858, 2404, 2440, 2440, 2440, 2443, 2443, 2443, 3884, 2443,
4562      1407, 1406, 2443, 2446, 2446, 2446, 3884, 2446, 3855, 3861,
4563      2446, 2450, 2450, 2450, 2452, 2452, 2452, 1405, 3866, 2427,
4564
4565      2453, 2453, 2453, 2454, 2454, 2454, 2455, 2455, 2455, 2450,
4566      1404, 2452, 2456, 2456, 2456, 1403, 3858, 2453, 3863, 2440,
4567      2454, 3855, 3861, 2455, 2459, 2459, 2459, 2461, 2461, 2461,
4568      2456, 2462, 2462, 2462, 1402, 2462, 3868, 3877, 2462, 2463,
4569      2463, 2463, 2459, 2450, 2461, 3866, 2464, 2464, 2464, 3871,
4570      2464, 3863, 2453, 2464, 2467, 2467, 2467, 2463, 2467, 3874,
4571      3870, 2467, 2470, 2470, 2470, 2455, 3908, 2454, 2471, 2471,
4572      2471, 2472, 2472, 2472, 3868, 2472, 3875, 3908, 2472, 3889,
4573      2470, 3876, 2470, 3877, 2459, 1401, 2471, 2475, 2475, 2475,
4574      3871, 2475, 3891, 1400, 2475, 2478, 2478, 2478, 3870, 2463,
4575
4576      3874, 2479, 2479, 2479, 2471, 2479, 3892, 3881, 2479, 2482,
4577      2482, 2482, 3875, 2478, 2483, 2483, 2483, 3876, 2483, 3878,
4578      3889, 2483, 3879, 2484, 2484, 2484, 2482, 2484, 3891, 3880,
4579      2484, 2487, 2487, 2487, 2488, 2488, 2488, 1399, 2488, 2478,
4580      3881, 2488, 3892, 2494, 2494, 2494, 3885, 2494, 3886, 2487,
4581      2494, 2497, 2497, 2497, 2498, 2498, 2498, 3882, 2498, 1398,
4582      3879, 2498, 2501, 2501, 2501, 3878, 2501, 3880, 2497, 2501,
4583      2505, 2505, 2505, 2506, 2506, 2506, 2507, 2507, 2507, 2508,
4584      2508, 2508, 2509, 2509, 2509, 1397, 2509, 2505, 3890, 2509,
4585      3882, 2506, 3893, 3885, 2507, 3886, 2508, 2487, 2510, 2510,
4586
4587      2510, 2513, 2513, 2513, 1396, 2513, 1395, 3887, 2513, 2518,
4588      2518, 2518, 2519, 2519, 2519, 2510, 2521, 2521, 2521, 2522,
4589      2522, 2522, 1392, 2522, 1391, 3897, 2522, 2518, 1390, 3890,
4590      2519, 3888, 3894, 2521, 2527, 2527, 2527, 2506, 3893, 2528,
4591      2528, 2528, 2530, 2530, 2530, 3887, 2533, 2533, 2533, 1389,
4592      2533, 1388, 2527, 2533, 2540, 2540, 2540, 2528, 3897, 1386,
4593      2530, 2542, 2542, 2542, 2519, 2518, 2541, 2541, 2541, 3888,
4594      2541, 2540, 3895, 2541, 2543, 2543, 2543, 1385, 3894, 2542,
4595      2544, 2544, 2544, 2545, 2545, 2545, 2546, 2546, 2546, 2547,
4596      2547, 2547, 2548, 2548, 2548, 2549, 2549, 2549, 3899, 3898,
4597
4598      2527, 2528, 3896, 2546, 1384, 1383, 2547, 3899, 1382, 2548,
4599      3895, 1381, 2549, 2550, 2550, 2550, 2552, 2552, 2552, 2553,
4600      2553, 2553, 1380, 2553, 1379, 2542, 2553, 2555, 2555, 2555,
4601      3901, 2550, 3898, 2552, 2557, 2557, 2557, 2560, 2560, 2560,
4602      3896, 2547, 2561, 2561, 2561, 2555, 2561, 1378, 1377, 2561,
4603      1376, 1375, 2557, 1374, 2549, 2560, 2548, 2564, 2564, 2564,
4604      2565, 2565, 2565, 3901, 2565, 3902, 1373, 2565, 2566, 2566,
4605      2566, 1372, 2566, 1371, 2564, 2566, 3905, 1365, 2550, 2569,
4606      2569, 2569, 2570, 2570, 2570, 2571, 2571, 2571, 1361, 2571,
4607      1358, 3906, 2571, 2572, 2572, 2572, 1357, 2569, 3902, 2570,
4608
4609      2576, 2576, 2576, 2578, 2578, 2578, 2579, 2579, 2579, 3905,
4610      2579, 2572, 1356, 2579, 2590, 2590, 2590, 1354, 2576, 1350,
4611      2578, 2591, 2591, 2591, 3906, 3900, 2592, 2592, 2592, 1341,
4612      2592, 2569, 2590, 2592, 3900, 2593, 2593, 2593, 2591, 2593,
4613      1336, 1335, 2593, 1334, 1330, 2572, 2596, 2596, 2596, 1329,
4614      2596, 1326, 1322, 2596, 2600, 2600, 2600, 2601, 2601, 2601,
4615      1321, 2604, 2604, 2604, 2590, 2604, 1318, 1315, 2604, 2607,
4616      2607, 2607, 2600, 1312, 1311, 2601, 2608, 2608, 2608, 2609,
4617      2609, 2609, 2613, 2613, 2613, 2614, 2614, 2614, 2616, 2616,
4618      2616, 2617, 2617, 2617, 2619, 2619, 2619, 2620, 2620, 2620,
4619
4620      2621, 2621, 2621, 2625, 2625, 2625, 2626, 2626, 2626, 2630,
4621      2630, 2630, 2631, 2631, 2631, 2633, 2633, 2633, 2634, 2634,
4622      2634, 2600, 2639, 2639, 2639, 2640, 2640, 2640, 2641, 2641,
4623      2641, 2642, 2642, 2642, 1306, 2642, 1298, 1297, 2642, 1296,
4624      2639, 2643, 2643, 2643, 1294, 2641, 2644, 2644, 2644, 2645,
4625      2645, 2645, 2646, 2646, 2646, 2647, 2647, 2647, 2643, 2648,
4626      2648, 2648, 1290, 2644, 1287, 1282, 2645, 2649, 2649, 2649,
4627      1281, 2649, 1280, 2647, 2649, 1279, 2648, 2652, 2652, 2652,
4628      1278, 2653, 2653, 2653, 2654, 2654, 2654, 2655, 2655, 2655,
4629      2656, 2656, 2656, 1277, 2656, 2652, 1276, 2656, 2644, 2653,
4630
4631      1275, 2645, 2654, 1274, 1271, 2655, 2659, 2659, 2659, 2663,
4632      2663, 2663, 1270, 2663, 1267, 1266, 2663, 1262, 2653, 1260,
4633      1257, 2647, 1256, 1253, 2659, 2666, 2666, 2666, 1246, 2652,
4634      2669, 2669, 2669, 2670, 2670, 2670, 1243, 2670, 1242, 1241,
4635      2670, 1238, 2666, 1235, 1228, 2654, 1226, 2669, 2655, 2671,
4636      2671, 2671, 2672, 2672, 2672, 2674, 2674, 2674, 1223, 2674,
4637      1222, 1221, 2674, 2677, 2677, 2677, 1218, 2671, 1217, 1216,
4638      2672, 2678, 2678, 2678, 1213, 2678, 1212, 1203, 2678, 1202,
4639      2677, 2683, 2683, 2683, 2684, 2684, 2684, 2685, 2685, 2685,
4640      2686, 2686, 2686, 1201, 2686, 1200, 1199, 2686, 1198, 2683,
4641
4642      1197, 1196, 2684, 1195, 2685, 2689, 2689, 2689, 2690, 2690,
4643      2690, 2691, 2691, 2691, 2692, 2692, 2692, 2693, 2693, 2693,
4644      1191, 1160, 2689, 1157, 1154, 2690, 1153, 1150, 2691, 1149,
4645      1148, 2692, 1147, 1146, 2685, 2693, 2694, 2694, 2694, 1145,
4646      1138, 2683, 2695, 2695, 2695, 2700, 2700, 2700, 2701, 2701,
4647      2701, 1137, 2701, 1136, 2694, 2701, 2704, 2704, 2704, 2695,
4648      1135, 2689, 1133, 2691, 2705, 2705, 2705, 1132, 1130, 2690,
4649      2706, 2706, 2706, 1129, 2704, 1128, 1127, 2693, 2707, 2707,
4650      2707, 1126, 2707, 1125, 1124, 2707, 1123, 2706, 2708, 2708,
4651      2708, 2709, 2709, 2709, 2710, 2710, 2710, 2712, 2712, 2712,
4652
4653      2694, 2711, 2711, 2711, 1122, 2708, 1121, 1120, 2709, 1119,
4654      1117, 2710, 1116, 1115, 2712, 2704, 2713, 2713, 2713, 2711,
4655      2713, 1114, 1113, 2713, 2716, 2716, 2716, 2717, 2717, 2717,
4656      2721, 2721, 2721, 2723, 2723, 2723, 1112, 2723, 1111, 1110,
4657      2723, 2716, 1109, 2709, 1107, 2717, 2710, 1106, 2721, 2726,
4658      2726, 2726, 2727, 2727, 2727, 1105, 2727, 1104, 1103, 2727,
4659      2730, 2730, 2730, 1102, 2734, 2734, 2734, 2726, 2734, 1101,
4660      1100, 2734, 1099, 2747, 2747, 2747, 1098, 1097, 2730, 2748,
4661      2748, 2748, 1093, 2748, 1089, 1088, 2748, 2752, 2752, 2752,
4662      2716, 2747, 2753, 2753, 2753, 2756, 2756, 2756, 2757, 2757,
4663
4664      2757, 2761, 2761, 2761, 1087, 2752, 1086, 2730, 1085, 1081,
4665      2753, 2762, 2762, 2762, 2764, 2764, 2764, 2767, 2767, 2767,
4666      2768, 2768, 2768, 2772, 2772, 2772, 2775, 2775, 2775, 2777,
4667      2777, 2777, 1079, 1078, 2747, 2779, 2779, 2779, 2780, 2780,
4668      2780, 1077, 2780, 1076, 1075, 2780, 1074, 2777, 2783, 2783,
4669      2783, 1073, 1069, 2752, 2753, 2784, 2784, 2784, 1068, 2784,
4670      1064, 1063, 2784, 1062, 1061, 2783, 2785, 2785, 2785, 2786,
4671      2786, 2786, 2787, 2787, 2787, 2788, 2788, 2788, 2789, 2789,
4672      2789, 1058, 1057, 2785, 1055, 1053, 2786, 2790, 2790, 2790,
4673      1050, 2790, 1049, 2788, 2790, 2789, 2791, 2791, 2791, 2792,
4674
4675      2792, 2792, 2793, 2793, 2793, 2794, 2794, 2794, 2795, 2795,
4676      2795, 2801, 2801, 2801, 2791, 1048, 1047, 2792, 1045, 1042,
4677      2793, 1041, 1039, 2794, 1038, 1035, 2795, 1033, 2801, 2802,
4678      2802, 2802, 1030, 2802, 1029, 1028, 2802, 2805, 2805, 2805,
4679      1027, 2805, 1024, 1023, 2805, 1022, 2808, 2808, 2808, 2810,
4680      2810, 2810, 1021, 2810, 1020, 1019, 2810, 2815, 2815, 2815,
4681      2816, 2816, 2816, 2792, 2808, 2794, 2817, 2817, 2817, 2793,
4682      2818, 2818, 2818, 1018, 2815, 1016, 1013, 2816, 2820, 2820,
4683      2820, 2825, 2825, 2825, 2817, 2821, 2821, 2821, 2818, 2821,
4684      1012, 1008, 2821, 1007, 1006, 2820, 1005, 1004, 2825, 2826,
4685
4686      2826, 2826, 2827, 2827, 2827, 1003, 2827,  994,  993, 2827,
4687      2828, 2828, 2828, 2829, 2829, 2829, 2826, 2830, 2830, 2830,
4688      2831, 2831, 2831, 2817, 2831,  990,  989, 2831, 2828,  988,
4689       987, 2829,  986,  984, 2830, 2834, 2834, 2834, 2835, 2835,
4690      2835, 2836, 2836, 2836, 2837, 2837, 2837, 2838, 2838, 2838,
4691       983, 2838, 2834,  982, 2838, 2835, 2841, 2841, 2841, 2842,
4692      2842, 2842, 2837, 2842,  979,  978, 2842, 2843, 2843, 2843,
4693      2844, 2844, 2844, 2841, 2829, 2845, 2845, 2845, 2847, 2847,
4694      2847, 2848, 2848, 2848, 2843, 2848,  977, 2844, 2848, 2849,
4695      2849, 2849,  974, 2845,  973, 2847, 2852, 2852, 2852, 2854,
4696
4697      2854, 2854, 2867, 2867, 2867,  969, 2849, 2869, 2869, 2869,
4698      2876, 2876, 2876,  967, 2852,  964,  963, 2854,  962,  961,
4699      2867, 2877, 2877, 2877,  959, 2869, 2880, 2880, 2880, 2884,
4700      2884, 2884, 2887, 2887, 2887, 2888, 2888, 2888,  956, 2889,
4701      2889, 2889,  955, 2889,  952, 2849, 2889, 2892, 2892, 2892,
4702       949,  946, 2888, 2893, 2893, 2893,  945, 2893,  944, 2869,
4703      2893,  943, 2867,  942, 2892, 2854, 2894, 2894, 2894, 2895,
4704      2895, 2895,  941, 2895,  938,  935, 2895, 2896, 2896, 2896,
4705      2898, 2898, 2898, 2894, 2898,  934,  933, 2898, 2901, 2901,
4706      2901, 2903, 2903, 2903,  929, 2896, 2904, 2904, 2904, 2905,
4707
4708      2905, 2905, 2908, 2908, 2908,  925, 2901,  924,  923, 2903,
4709       922, 2910, 2910, 2910, 2904, 2910,  921, 2905, 2910, 2908,
4710      2922, 2922, 2922, 2923, 2923, 2923, 2924, 2924, 2924,  920,
4711      2924,  919,  918, 2924, 2967, 2967, 2967, 2922,  917,  916,
4712      2923, 2925, 2925, 2925,  915,  913, 2926, 2926, 2926,  911,
4713      2926, 2905, 2903, 2926, 2927, 2927, 2927,  908, 2925, 2928,
4714      2928, 2928, 2904, 2928,  907,  906, 2928, 2934, 2934, 2934,
4715       905,  904, 2927, 2935, 2935, 2935,  903, 2935,  898,  897,
4716      2935, 2936, 2936, 2936, 2934, 2936,  896,  895, 2936, 2939,
4717      2939, 2939, 2941, 2941, 2941, 2942, 2942, 2942,  892, 2942,
4718
4719       891,  890, 2942, 2946, 2946, 2946,  887, 2939,  886,  885,
4720      2941, 2947, 2947, 2947, 2948, 2948, 2948,  884, 2948,  881,
4721      2946, 2948, 2949, 2949, 2949, 2950, 2950, 2950, 2947, 2950,
4722       880,  878, 2950, 2951, 2951, 2951, 2953, 2953, 2953, 2949,
4723      2953,  875,  874, 2953, 2956, 2956, 2956,  870, 2957, 2957,
4724      2957, 2951, 2957,  869, 2941, 2957, 2958, 2958, 2958,  868,
4725       867, 2956, 2959, 2959, 2959,  866, 2959,  865,  862, 2959,
4726      2960, 2960, 2960, 2958, 2960,  861,  860, 2960, 2963, 2963,
4727      2963, 2964, 2964, 2964, 2965, 2965, 2965, 2966, 2966, 2966,
4728      2968, 2968, 2968,  859,  858, 2963,  857,  848, 2964,  846,
4729
4730       845, 2965, 2979, 2979, 2979, 2966,  842, 2968, 2980, 2980,
4731      2980, 2981, 2981, 2981, 2986, 2986, 2986, 2988, 2988, 2988,
4732      2979, 2992, 2992, 2992,  841, 2980, 2996, 2996, 2996, 2981,
4733      2997, 2997, 2997,  840, 2997,  839,  836, 2997,  835, 2963,
4734      2998, 2998, 2998, 2996, 2998,  834,  831, 2998, 3001, 3001,
4735      3001,  829, 3001,  828,  827, 3001,  824,  823, 2966, 3004,
4736      3004, 3004, 2979, 3005, 3005, 3005, 3006, 3006, 3006, 3008,
4737      3008, 3008, 3009, 3009, 3009,  822,  821, 3004, 3010, 3010,
4738      3010, 3005, 3010,  820, 3006, 3010, 3008,  816,  815, 3009,
4739      3011, 3011, 3011, 3023, 3023, 3023, 3024, 3024, 3024,  814,
4740
4741      3024,  810, 3006, 3024, 3025, 3025, 3025, 3011, 3025,  809,
4742      3023, 3025, 3028, 3028, 3028, 3005, 3028,  808,  807, 3028,
4743      3031, 3031, 3031, 3034, 3034, 3034, 3004, 3036, 3036, 3036,
4744       801, 3036,  800,  798, 3036, 3045, 3045, 3045, 3031,  790,
4745      3034, 3047, 3047, 3047, 3048, 3048, 3048,  789, 3048,  785,
4746       777, 3048,  775, 3045,  771, 3049, 3049, 3049, 3047, 3049,
4747       770,  766, 3049, 3052, 3052, 3052,  760, 3052,  759,  758,
4748      3052, 3055, 3055, 3055,  754, 3055,  751,  749, 3055, 3058,
4749      3058, 3058,  748, 3058,  747,  743, 3058, 3067, 3067, 3067,
4750      3068, 3068, 3068, 3069, 3069, 3069,  739, 3069,  735,  734,
4751
4752      3069, 3070, 3070, 3070, 3067,  733,  732, 3068, 3071, 3071,
4753      3071,  728, 3071,  724,  721, 3071,  720,  719, 3070, 3072,
4754      3072, 3072, 3073, 3073, 3073, 3074, 3074, 3074, 3075, 3075,
4755      3075,  718, 3075,  714,  708, 3075,  707, 3072, 3086, 3086,
4756      3086,  703, 3074, 3087, 3087, 3087,  695, 3067, 3088, 3088,
4757      3088,  691, 3088,  684,  682, 3088, 3086, 3089, 3089, 3089,
4758      3087, 3093, 3093, 3093, 3095, 3095, 3095, 3097, 3097, 3097,
4759      3100, 3100, 3100,  681,  677, 3089,  671,  670, 3093, 3093,
4760       666, 3072, 3102, 3102, 3102, 3104, 3104, 3104,  659, 3104,
4761      3086,  658, 3104, 3111, 3111, 3111, 3112, 3112, 3112, 3113,
4762
4763      3113, 3113, 3115, 3115, 3115, 3116, 3116, 3116,  657, 3116,
4764       656, 3111, 3116,  655, 3112,  651,  640, 3113,  636, 3115,
4765      3117, 3117, 3117,  628, 3117,  627,  626, 3117, 3120, 3120,
4766      3120, 3121, 3121, 3121,  625, 3121,  624,  620, 3121, 3133,
4767      3133, 3133,  614, 3133,  613, 3120, 3133, 3137, 3137, 3137,
4768      3138, 3138, 3138,  609, 3138,  603,  602, 3138,  598, 3111,
4769      3113, 3146, 3146, 3146, 3137, 3149, 3149, 3149,  592, 3149,
4770       591,  587, 3149, 3164, 3164, 3164, 3165, 3165, 3165, 3146,
4771      3165,  583,  579, 3165, 3168, 3168, 3168,  578, 3168,  577,
4772      3164, 3168, 3171, 3171, 3171, 3172, 3172, 3172,  573, 3172,
4773
4774       565,  561, 3172, 3183, 3183, 3183,  555, 3184, 3184, 3184,
4775      3171, 3184,  554,  553, 3184, 3188, 3188, 3188, 3189, 3189,
4776      3189, 3183, 3190, 3190, 3190,  549, 3190,  540,  539, 3190,
4777       538,  537, 3188, 3188,  533, 3189, 3189, 3191, 3191, 3191,
4778      3190, 3193, 3193, 3193, 3171, 3194, 3194, 3194, 3195, 3195,
4779      3195,  529,  526, 3183, 3197, 3197, 3197, 3198, 3198, 3198,
4780      3211, 3211, 3211, 3212, 3212, 3212, 3214, 3214, 3214, 3216,
4781      3216, 3216,  525, 3216,  524,  520, 3216,  516, 3211,  513,
4782       509, 3212,  505,  502, 3214, 3219, 3219, 3219,  499, 3219,
4783       497,  496, 3219, 3222, 3222, 3222, 3233, 3233, 3233, 3234,
4784
4785      3234, 3234,  491, 3234,  484,  483, 3234, 3237, 3237, 3237,
4786      3222,  482, 3211, 3233, 3257, 3257, 3257,  481, 3258, 3258,
4787      3258,  480, 3258,  476, 3237, 3258, 3267, 3267, 3267,  469,
4788       468, 3257,  467, 3214, 3276, 3276, 3276, 3286, 3286, 3286,
4789       463, 3287, 3287, 3287, 3267, 3287,  456,  455, 3287, 3288,
4790      3288, 3288, 3276, 3288, 3286, 3286, 3288,  451,  444, 3287,
4791      3291, 3291, 3291, 3293, 3293, 3293,  443, 3288, 3294, 3294,
4792      3294, 3296, 3296, 3296, 3309, 3309, 3309, 3310, 3310, 3310,
4793      3312, 3312, 3312, 3313, 3313, 3313,  442, 3313,  438,  432,
4794      3313,  431, 3309,  430,  426, 3310,  420, 3312,  416,  412,
4795
4796      3276, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289,
4797       408,  407, 3289, 3314, 3314, 3314,  406, 3289, 3289, 3289,
4798      3289, 3289, 3324, 3324, 3324, 3325, 3325, 3325,  405, 3325,
4799      3314,  404, 3325, 3327, 3327, 3327,  400, 3327,  391, 3324,
4800      3327,  390,  386, 3310, 3326, 3326, 3326, 3289, 3289, 3290,
4801      3290, 3290, 3290, 3290, 3290, 3290, 3290, 3290,  382,  377,
4802      3290, 3326, 3356, 3356, 3356, 3290, 3290, 3290, 3290, 3290,
4803      3345, 3345, 3345,  371, 3345,  367,  366, 3345,  362,  359,
4804      3356, 3364, 3364, 3364, 3374, 3374, 3374,  358, 3374,  357,
4805       351, 3374, 3379, 3379, 3379, 3290, 3290,  350,  348, 3364,
4806
4807       345,  333, 3374, 3377, 3377, 3377, 3377, 3377, 3377, 3377,
4808      3377, 3377,    0,    0, 3377, 3380, 3380, 3380,    0, 3377,
4809      3377, 3377, 3377, 3377, 3393, 3393, 3393, 3395, 3395, 3395,
4810      3397, 3397, 3397,    0, 3397,    0,    0, 3397, 3463, 3463,
4811      3463,    0, 3393,    0,    0, 3395, 3400, 3400, 3400, 3377,
4812      3377, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378,
4813         0,    0, 3378, 3400, 3464, 3464, 3464, 3378, 3378, 3378,
4814      3378, 3378,    0, 3401, 3401, 3401,    0, 3401,    0, 3395,
4815      3401, 3409, 3409, 3409,    0, 3409,    0,    0, 3409, 3412,
4816      3412, 3412,    0, 3412,    0,    0, 3412, 3378, 3378, 3446,
4817
4818      3446, 3446, 3462, 3462, 3462, 3471, 3471, 3471, 3472, 3472,
4819      3472, 3477, 3477, 3477,    0, 3477,    0, 3446, 3477,    0,
4820      3462, 3462,    0, 3471,    0, 3472, 3484, 3484, 3484, 3491,
4821      3491, 3491, 3510, 3510, 3510, 3514, 3514, 3514, 3517, 3517,
4822      3517,    0,    0, 3484,    0,    0, 3491, 3519, 3519, 3519,
4823      3510,    0,    0, 3514,    0,    0, 3517,    0, 3520, 3520,
4824      3520,    0, 3520,    0, 3519, 3520, 3533, 3533, 3533, 3534,
4825      3534, 3534,    0, 3534,    0,    0, 3534, 3545, 3545, 3545,
4826      3553, 3553, 3553, 3533, 3546, 3546, 3546, 3514, 3546,    0,
4827         0, 3546,    0,    0, 3545, 3557, 3557, 3557, 3553, 3557,
4828
4829         0,    0, 3557, 3572, 3572, 3572,    0, 3572,    0,    0,
4830      3572, 3585, 3585, 3585,    0, 3585,    0, 3553, 3585, 3710,
4831      3710, 3710, 3723, 3723, 3723,    0, 3723,    0,    0, 3723,
4832      3869, 3869, 3869, 3872, 3872, 3872,    0, 3710,    0,    0,
4833      3723, 3909, 3909, 3909, 3910, 3910, 3910,    0, 3869,    0,
4834         0, 3872,    0,    0,    0,    0,    0,    0,    0, 3909,
4835         0,    0, 3910, 3913, 3913, 3913, 3913, 3913, 3913, 3913,
4836      3913, 3913, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914,
4837      3914, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915,
4838      3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3917,
4839
4840      3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3918, 3918,
4841      3918, 3918, 3918, 3918, 3918, 3918, 3918, 3919, 3919, 3919,
4842      3919, 3919, 3919, 3919, 3919, 3919, 3920, 3920, 3920, 3920,
4843      3920, 3920, 3920, 3920, 3920, 3921, 3921, 3921, 3921, 3921,
4844      3921, 3921, 3921, 3921, 3922, 3922, 3922, 3922, 3922, 3922,
4845      3922, 3922, 3922, 3923, 3923, 3923, 3923, 3923, 3923, 3923,
4846      3923, 3923, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924,
4847      3924, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925,
4848      3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3927,
4849      3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3928, 3928,
4850
4851      3928, 3928, 3928, 3928, 3928, 3928, 3928, 3929, 3929, 3929,
4852      3929, 3929, 3929, 3929, 3929, 3929, 3930, 3930, 3930, 3930,
4853      3930, 3930, 3930, 3930, 3930, 3931, 3931, 3931, 3931, 3931,
4854      3931, 3931, 3931, 3931, 3932, 3932, 3932, 3932, 3932, 3932,
4855      3932, 3932, 3932, 3933, 3933, 3933, 3933, 3933, 3933, 3933,
4856      3933, 3933, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934,
4857      3934, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935,
4858      3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3937,
4859      3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3938, 3938,
4860      3938, 3938, 3938, 3938, 3938, 3938, 3938, 3939, 3939, 3939,
4861
4862      3939, 3939, 3939, 3939, 3939, 3939, 3940, 3940, 3940, 3940,
4863      3940, 3940, 3940, 3940, 3940, 3941, 3941, 3941, 3941, 3941,
4864      3941, 3941, 3941, 3941, 3942, 3942, 3942, 3942, 3942, 3942,
4865      3942, 3942, 3942, 3943, 3943, 3943, 3943, 3943, 3943, 3943,
4866      3943, 3943, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944,
4867      3944, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945,
4868      3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3947,
4869      3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3948, 3948,
4870      3948, 3948, 3948, 3948, 3948, 3948, 3948, 3949, 3949, 3949,
4871      3949, 3949, 3949, 3949, 3949, 3949, 3950, 3950, 3950, 3950,
4872
4873      3950, 3950, 3950, 3950, 3950, 3951, 3951, 3951, 3951, 3951,
4874      3951, 3951, 3951, 3951, 3952, 3952, 3952, 3952, 3952, 3952,
4875      3952, 3952, 3952, 3953, 3953, 3953, 3953, 3953, 3953, 3953,
4876      3953, 3953, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954,
4877      3954, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955,
4878      3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3957,
4879      3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3958, 3958,
4880      3958, 3958, 3958, 3958, 3958, 3958, 3958, 3959, 3959, 3959,
4881      3959, 3959, 3959, 3959, 3959, 3959, 3960, 3960, 3960, 3960,
4882      3960, 3960, 3960, 3960, 3960, 3961, 3961, 3961, 3961, 3961,
4883
4884      3961, 3961, 3961, 3961, 3962, 3962, 3962, 3962, 3962, 3962,
4885      3962, 3962, 3962, 3963, 3963, 3963, 3963, 3963, 3963, 3963,
4886      3963, 3963, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964,
4887      3964, 3965, 3965, 3965, 3965, 3965, 3965, 3965, 3965, 3965,
4888      3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3967,
4889      3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3968, 3968,
4890      3968, 3968, 3968, 3968, 3968, 3968, 3968, 3969, 3969, 3969,
4891      3969, 3969, 3969, 3969, 3969, 3969, 3970, 3970, 3970, 3970,
4892      3970, 3970, 3970, 3970, 3970, 3971, 3971, 3971, 3971, 3971,
4893      3971, 3971, 3971, 3971, 3972, 3972, 3972, 3972, 3972, 3972,
4894
4895      3972, 3972, 3972, 3973, 3973, 3973, 3973, 3973, 3973, 3973,
4896      3973, 3973, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974,
4897      3974, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
4898      3976, 3976, 3976, 3976, 3976, 3976, 3976, 3976, 3976, 3977,
4899      3977, 3977, 3977, 3977, 3977, 3977, 3977, 3977, 3978, 3978,
4900      3978, 3978, 3978, 3978, 3978, 3978, 3978, 3979, 3979, 3979,
4901      3979, 3979, 3979, 3979, 3979, 3979, 3980, 3980, 3980, 3980,
4902      3980, 3980, 3980, 3980, 3980, 3981, 3981, 3981, 3981, 3981,
4903      3981, 3981, 3981, 3981, 3982, 3982, 3982, 3982, 3982, 3982,
4904      3982, 3982, 3982, 3983, 3983, 3983,    0,    0,    0, 3983,
4905
4906      3984, 3984, 3984,    0,    0,    0, 3984, 3985, 3985, 3985,
4907         0,    0,    0, 3985, 3986, 3986, 3986,    0,    0,    0,
4908      3986, 3987, 3987, 3987,    0,    0,    0, 3987, 3988, 3988,
4909      3988,    0,    0,    0, 3988, 3989, 3989, 3989,    0,    0,
4910         0, 3989, 3990, 3990, 3990,    0,    0,    0, 3990, 3991,
4911      3991, 3991,    0,    0,    0, 3991, 3992, 3992, 3992,    0,
4912         0,    0, 3992, 3993, 3993, 3993,    0,    0,    0, 3993,
4913      3994, 3994, 3994,    0,    0,    0, 3994, 3995, 3995, 3995,
4914         0,    0,    0, 3995, 3996, 3996, 3996,    0,    0,    0,
4915      3996, 3997, 3997, 3997,    0,    0,    0, 3997, 3998, 3998,
4916
4917      3998,    0,    0,    0, 3998, 3999, 3999, 3999,    0,    0,
4918         0, 3999, 4000, 4000, 4000,    0,    0,    0, 4000, 4001,
4919      4001, 4001,    0,    0,    0, 4001, 4002, 4002, 4002,    0,
4920         0,    0, 4002, 4003, 4003, 4003,    0,    0,    0, 4003,
4921      4004, 4004, 4004,    0,    0,    0, 4004, 4005, 4005, 4005,
4922         0,    0,    0, 4005, 4006, 4006, 4006,    0,    0,    0,
4923      4006, 4007, 4007, 4007,    0,    0,    0, 4007, 4008, 4008,
4924      4008,    0,    0,    0, 4008, 4009, 4009, 4009,    0,    0,
4925         0, 4009, 4010, 4010, 4010,    0,    0,    0, 4010, 4011,
4926      4011, 4011,    0,    0,    0, 4011, 4012, 4012, 4012,    0,
4927
4928         0,    0, 4012, 4013, 4013, 4013,    0,    0,    0, 4013,
4929      4014, 4014, 4014,    0,    0,    0, 4014, 4015, 4015, 4015,
4930      4015, 4015, 4015, 4015,    0, 4015, 4016, 4016, 4016,    0,
4931         0,    0, 4016, 4017,    0,    0,    0, 4017, 4018, 4018,
4932      4018,    0,    0,    0, 4018, 4019,    0,    0,    0, 4019,
4933      4020, 4020, 4020,    0,    0,    0, 4020, 4021,    0,    0,
4934         0, 4021, 4022, 4022, 4022,    0,    0,    0, 4022, 4023,
4935         0,    0,    0, 4023, 4024, 4024, 4024,    0,    0,    0,
4936      4024, 4025,    0,    0,    0, 4025, 4026, 4026, 4026,    0,
4937         0,    0, 4026, 4027,    0,    0,    0, 4027, 4028, 4028,
4938
4939      4028,    0,    0,    0, 4028, 4029,    0,    0,    0, 4029,
4940      4030, 4030, 4030,    0,    0,    0, 4030, 4031,    0,    0,
4941         0, 4031, 4032, 4032, 4032,    0,    0,    0, 4032, 4033,
4942         0,    0,    0, 4033, 4034, 4034, 4034,    0,    0,    0,
4943      4034, 4035,    0,    0,    0, 4035, 4036, 4036, 4036,    0,
4944         0,    0, 4036, 4037,    0,    0,    0, 4037, 4038, 4038,
4945      4038,    0,    0,    0, 4038, 4039,    0,    0,    0, 4039,
4946      4040, 4040, 4040,    0,    0,    0, 4040, 4041,    0,    0,
4947         0, 4041, 4042, 4042, 4042,    0,    0,    0, 4042, 4043,
4948         0,    0,    0, 4043, 4044, 4044, 4044,    0,    0,    0,
4949
4950      4044, 4045,    0,    0,    0, 4045, 4046, 4046, 4046,    0,
4951         0,    0, 4046, 4047,    0,    0,    0, 4047, 4048, 4048,
4952      4048,    0,    0,    0, 4048, 4049,    0,    0,    0, 4049,
4953      4050, 4050, 4050,    0,    0,    0, 4050, 4051,    0,    0,
4954         0, 4051, 4052, 4052, 4052,    0,    0,    0, 4052, 4053,
4955         0,    0,    0, 4053, 4054, 4054, 4054,    0,    0,    0,
4956      4054, 4055,    0,    0,    0, 4055, 4056, 4056, 4056,    0,
4957         0,    0, 4056, 4057,    0,    0,    0, 4057, 4058, 4058,
4958      4058,    0,    0,    0, 4058, 4059,    0,    0,    0, 4059,
4959      4060, 4060, 4060,    0,    0,    0, 4060, 4061,    0,    0,
4960
4961         0, 4061, 4062, 4062, 4062,    0,    0,    0, 4062, 4063,
4962         0,    0,    0, 4063, 4064, 4064, 4064,    0,    0,    0,
4963      4064, 4065,    0,    0,    0, 4065, 4066, 4066, 4066,    0,
4964         0,    0, 4066, 4067,    0,    0,    0, 4067, 4068, 4068,
4965      4068,    0,    0,    0, 4068, 4069,    0,    0,    0, 4069,
4966      4070, 4070, 4070,    0,    0,    0, 4070, 4071,    0,    0,
4967         0, 4071, 4072, 4072, 4072,    0,    0,    0, 4072, 4073,
4968         0,    0,    0, 4073, 4074, 4074, 4074,    0,    0,    0,
4969      4074, 4075,    0,    0,    0, 4075, 4076, 4076, 4076,    0,
4970         0,    0, 4076, 4077,    0,    0,    0, 4077, 4078, 4078,
4971
4972      4078,    0,    0,    0, 4078, 4079,    0,    0,    0, 4079,
4973      4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4081,
4974         0,    0,    0,    0, 4081, 4082, 4082, 4082,    0,    0,
4975         0, 4082, 4083, 4083, 4083, 4083,    0,    0, 4083, 4083,
4976      4084, 4084, 4084, 4084,    0, 4084,    0, 4084, 4085, 4085,
4977      4085, 4085,    0,    0, 4085, 4085, 4086, 4086, 4086,    0,
4978         0,    0, 4086, 4087, 4087, 4087, 4087,    0,    0, 4087,
4979      4087, 4088, 4088, 4088,    0,    0,    0, 4088, 4089, 4089,
4980      4089, 4089,    0,    0, 4089, 4089, 4090, 4090, 4090,    0,
4981         0,    0, 4090, 4091, 4091, 4091, 4091,    0,    0, 4091,
4982
4983      4091, 4092, 4092, 4092, 4092,    0, 4092,    0, 4092, 4093,
4984      4093, 4093, 4093,    0,    0, 4093, 4093, 4094, 4094, 4094,
4985      4094,    0, 4094,    0, 4094, 4095, 4095, 4095, 4095,    0,
4986         0, 4095, 4095, 4096, 4096, 4096, 4096,    0, 4096,    0,
4987      4096, 4097, 4097, 4097, 4097,    0,    0, 4097, 4097, 4098,
4988      4098, 4098, 4098,    0, 4098,    0, 4098, 4099, 4099, 4099,
4989      4099,    0,    0, 4099, 4099, 4100, 4100, 4100,    0,    0,
4990         0, 4100, 4101, 4101, 4101, 4101,    0,    0, 4101, 4101,
4991      4102, 4102, 4102, 4102,    0,    0, 4102, 4102, 4103, 4103,
4992      4103,    0,    0,    0, 4103, 4104, 4104, 4104, 4104,    0,
4993
4994         0, 4104, 4104, 4105, 4105, 4105,    0,    0,    0, 4105,
4995      4106, 4106, 4106, 4106,    0,    0, 4106, 4106, 4107, 4107,
4996      4107,    0,    0,    0, 4107, 4108, 4108, 4108, 4108,    0,
4997         0, 4108, 4108, 4109, 4109, 4109,    0,    0,    0, 4109,
4998      4110, 4110, 4110, 4110,    0,    0, 4110, 4110, 4111, 4111,
4999      4111,    0,    0,    0, 4111, 4112, 4112, 4112, 4112,    0,
5000         0, 4112, 4112, 4113, 4113, 4113,    0,    0,    0, 4113,
5001      4114, 4114, 4114, 4114,    0,    0, 4114, 4114, 4115, 4115,
5002      4115,    0,    0,    0, 4115, 4116, 4116, 4116, 4116,    0,
5003         0, 4116, 4116, 4117, 4117, 4117,    0,    0,    0, 4117,
5004
5005      4118, 4118, 4118, 4118,    0,    0, 4118, 4118, 4119, 4119,
5006      4119,    0,    0,    0, 4119, 4120, 4120, 4120, 4120,    0,
5007         0, 4120, 4120, 4121, 4121, 4121,    0,    0,    0, 4121,
5008      4122, 4122, 4122, 4122,    0,    0, 4122, 4122, 4123, 4123,
5009      4123,    0,    0,    0, 4123, 4124, 4124, 4124, 4124,    0,
5010         0, 4124, 4124, 4125, 4125, 4125,    0,    0,    0, 4125,
5011      4126, 4126, 4126, 4126,    0,    0, 4126, 4126, 4127, 4127,
5012      4127,    0,    0,    0, 4127, 4128, 4128, 4128, 4128,    0,
5013         0, 4128, 4128, 4129, 4129, 4129, 4129,    0, 4129,    0,
5014      4129, 4130, 4130, 4130, 4130,    0,    0, 4130, 4130, 4131,
5015
5016      4131, 4131,    0,    0,    0, 4131, 4132, 4132, 4132, 4132,
5017         0,    0, 4132, 4132, 4133, 4133, 4133,    0,    0,    0,
5018      4133, 4134, 4134, 4134, 4134,    0,    0, 4134, 4134, 4135,
5019      4135, 4135,    0,    0,    0, 4135, 4136, 4136, 4136, 4136,
5020         0,    0, 4136, 4136, 4137, 4137, 4137,    0,    0,    0,
5021      4137, 4138, 4138, 4138, 4138,    0,    0, 4138, 4138, 4139,
5022      4139, 4139,    0,    0,    0, 4139, 4140, 4140, 4140, 4140,
5023         0,    0, 4140, 4140, 4141, 4141, 4141,    0,    0,    0,
5024      4141, 4142, 4142, 4142, 4142,    0,    0, 4142, 4142, 4143,
5025      4143, 4143, 4143,    0, 4143,    0, 4143, 4144, 4144, 4144,
5026
5027      4144,    0,    0, 4144, 4144, 4145, 4145, 4145, 4145, 4145,
5028      4145, 4145, 4145, 4145, 4146,    0, 4146,    0,    0, 4146,
5029      4147, 4147, 4147,    0,    0,    0, 4147, 4148, 4148, 4148,
5030      4148,    0,    0, 4148, 4148, 4149, 4149, 4149,    0,    0,
5031         0, 4149, 4150, 4150, 4150, 4150,    0,    0, 4150, 4150,
5032      4151, 4151, 4151,    0,    0,    0, 4151, 4152, 4152, 4152,
5033      4152,    0,    0, 4152, 4152, 4153, 4153, 4153,    0,    0,
5034         0, 4153, 4154, 4154, 4154, 4154,    0,    0, 4154, 4154,
5035      4155, 4155, 4155,    0,    0,    0, 4155, 4156, 4156, 4156,
5036      4156,    0,    0, 4156, 4156, 4157, 4157, 4157,    0,    0,
5037
5038         0, 4157, 4158, 4158, 4158, 4158,    0,    0, 4158, 4158,
5039      4159, 4159, 4159, 4159,    0,    0, 4159, 4159, 4160, 4160,
5040      4160,    0,    0,    0, 4160, 4161, 4161, 4161, 4161,    0,
5041         0, 4161, 4161, 4162, 4162, 4162,    0,    0,    0, 4162,
5042      4163, 4163, 4163, 4163,    0,    0, 4163, 4163, 4164, 4164,
5043      4164,    0,    0,    0, 4164, 4165, 4165, 4165, 4165,    0,
5044         0, 4165, 4165, 4166, 4166, 4166, 4166,    0,    0, 4166,
5045      4166, 4167, 4167, 4167,    0,    0,    0, 4167, 4168, 4168,
5046      4168, 4168,    0,    0, 4168, 4168, 4169, 4169, 4169,    0,
5047         0,    0, 4169, 4170, 4170, 4170, 4170,    0,    0, 4170,
5048
5049      4170, 4171, 4171, 4171, 4171,    0, 4171,    0, 4171, 4172,
5050      4172, 4172, 4172,    0,    0, 4172, 4172, 4173, 4173, 4173,
5051      4173,    0, 4173,    0, 4173, 4174, 4174, 4174, 4174,    0,
5052         0, 4174, 4174, 4175, 4175, 4175,    0,    0,    0, 4175,
5053      4176, 4176, 4176, 4176,    0,    0, 4176, 4176, 4177, 4177,
5054      4177,    0,    0,    0, 4177, 4178, 4178, 4178, 4178,    0,
5055         0, 4178, 4178, 4179, 4179, 4179,    0,    0,    0, 4179,
5056      4180, 4180, 4180, 4180,    0,    0, 4180, 4180, 4181, 4181,
5057      4181, 4181,    0, 4181,    0, 4181, 4182, 4182, 4182, 4182,
5058         0,    0, 4182, 4182, 4183, 4183, 4183,    0,    0,    0,
5059
5060      4183, 4184, 4184, 4184, 4184,    0,    0, 4184, 4184, 4185,
5061      4185, 4185,    0,    0,    0, 4185, 4186, 4186, 4186, 4186,
5062         0,    0, 4186, 4186, 4187, 4187, 4187,    0,    0,    0,
5063      4187, 4188, 4188, 4188, 4188,    0,    0, 4188, 4188, 4189,
5064      4189, 4189,    0,    0,    0, 4189, 4190, 4190, 4190, 4190,
5065         0,    0, 4190, 4190, 4191, 4191, 4191,    0,    0,    0,
5066      4191, 4192, 4192, 4192, 4192,    0,    0, 4192, 4192, 4193,
5067      4193, 4193,    0,    0,    0, 4193, 4194, 4194, 4194, 4194,
5068         0,    0, 4194, 4194, 4195, 4195, 4195,    0,    0,    0,
5069      4195, 4196, 4196, 4196, 4196,    0,    0, 4196, 4196, 4197,
5070
5071      4197, 4197,    0,    0,    0, 4197, 4198, 4198, 4198, 4198,
5072         0,    0, 4198, 4198, 4199, 4199, 4199,    0,    0,    0,
5073      4199, 4200, 4200, 4200, 4200,    0,    0, 4200, 4200, 4201,
5074      4201, 4201, 4201,    0, 4201,    0, 4201, 4202, 4202, 4202,
5075      4202,    0,    0, 4202, 4202, 4203, 4203, 4203,    0,    0,
5076         0, 4203, 4204, 4204, 4204, 4204,    0,    0, 4204, 4204,
5077      4205, 4205, 4205,    0,    0,    0, 4205, 4206, 4206, 4206,
5078      4206,    0,    0, 4206, 4206, 4207, 4207, 4207,    0,    0,
5079         0, 4207, 4208, 4208, 4208, 4208,    0,    0, 4208, 4208,
5080      4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4210,
5081
5082      4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4211, 4211,
5083      4211,    0,    0,    0, 4211, 4212, 4212, 4212,    0,    0,
5084         0, 4212, 4213, 4213, 4213, 4213,    0,    0, 4213, 4213,
5085      4214, 4214, 4214,    0,    0,    0, 4214, 4215, 4215, 4215,
5086      4215,    0,    0, 4215, 4215, 4216, 4216, 4216, 4216,    0,
5087      4216,    0, 4216, 4217, 4217, 4217, 4217,    0,    0, 4217,
5088      4217, 4218, 4218, 4218,    0,    0,    0, 4218, 4219, 4219,
5089      4219, 4219,    0,    0, 4219, 4219, 4220, 4220, 4220,    0,
5090         0,    0, 4220, 4221, 4221, 4221, 4221,    0,    0, 4221,
5091      4221, 4222, 4222, 4222, 4222,    0,    0, 4222, 4222, 4223,
5092
5093      4223, 4223,    0,    0,    0, 4223, 4224, 4224, 4224, 4224,
5094         0,    0, 4224, 4224, 4225, 4225, 4225,    0,    0,    0,
5095      4225, 4226, 4226, 4226, 4226,    0,    0, 4226, 4226, 4227,
5096      4227, 4227, 4227,    0, 4227,    0, 4227, 4228, 4228, 4228,
5097      4228,    0,    0, 4228, 4228, 4229, 4229, 4229, 4229,    0,
5098         0, 4229, 4229, 4230, 4230, 4230,    0,    0,    0, 4230,
5099      4231, 4231, 4231, 4231,    0,    0, 4231, 4231, 4232, 4232,
5100      4232,    0,    0,    0, 4232, 4233, 4233, 4233, 4233,    0,
5101         0, 4233, 4233, 4234, 4234, 4234, 4234,    0,    0, 4234,
5102      4234, 4235, 4235, 4235, 4235,    0,    0, 4235, 4235, 4236,
5103
5104      4236, 4236,    0,    0,    0, 4236, 4237, 4237, 4237, 4237,
5105         0,    0, 4237, 4237, 4238, 4238, 4238,    0,    0,    0,
5106      4238, 4239, 4239, 4239, 4239,    0,    0, 4239, 4239, 4240,
5107      4240, 4240, 4240,    0, 4240,    0, 4240, 4241, 4241, 4241,
5108      4241,    0,    0, 4241, 4241, 4242, 4242, 4242,    0,    0,
5109         0, 4242, 4243, 4243, 4243, 4243,    0,    0, 4243, 4243,
5110      4244, 4244, 4244,    0,    0,    0, 4244, 4245, 4245, 4245,
5111      4245,    0,    0, 4245, 4245, 4246, 4246, 4246,    0,    0,
5112         0, 4246, 4247, 4247, 4247, 4247,    0,    0, 4247, 4247,
5113      4248, 4248, 4248,    0,    0,    0, 4248, 4249, 4249, 4249,
5114
5115      4249,    0,    0, 4249, 4249, 4250, 4250, 4250, 4250,    0,
5116      4250,    0, 4250, 4251, 4251, 4251, 4251,    0,    0, 4251,
5117      4251, 4252, 4252, 4252,    0,    0,    0, 4252, 4253, 4253,
5118      4253, 4253,    0,    0, 4253, 4253, 4254, 4254, 4254,    0,
5119         0,    0, 4254, 4255, 4255, 4255, 4255,    0,    0, 4255,
5120      4255, 4256, 4256, 4256,    0,    0,    0, 4256, 4257, 4257,
5121      4257, 4257,    0,    0, 4257, 4257, 4258, 4258, 4258,    0,
5122         0,    0, 4258, 4259, 4259, 4259, 4259,    0,    0, 4259,
5123      4259, 4260, 4260, 4260,    0,    0,    0, 4260, 4261, 4261,
5124      4261, 4261,    0,    0, 4261, 4261, 4262, 4262, 4262,    0,
5125
5126         0,    0, 4262, 4263, 4263, 4263, 4263,    0,    0, 4263,
5127      4263, 4264, 4264, 4264,    0,    0,    0, 4264, 4265, 4265,
5128      4265, 4265,    0,    0, 4265, 4265, 4266, 4266, 4266,    0,
5129         0,    0, 4266, 4267, 4267, 4267, 4267,    0,    0, 4267,
5130      4267, 4268, 4268, 4268,    0,    0,    0, 4268, 4269, 4269,
5131      4269, 4269,    0,    0, 4269, 4269, 4270, 4270, 4270, 4270,
5132      4270, 4270, 4270, 4270, 4270, 4271, 4271, 4271, 4271, 4271,
5133      4271, 4271, 4271, 4271, 4272, 4272, 4272,    0,    0,    0,
5134      4272, 4273, 4273, 4273, 4273,    0, 4273,    0, 4273, 4274,
5135      4274, 4274, 4274,    0,    0, 4274, 4274, 4275, 4275, 4275,
5136
5137         0,    0,    0, 4275, 4276, 4276, 4276, 4276,    0,    0,
5138      4276, 4276, 4277, 4277, 4277, 4277,    0,    0, 4277, 4277,
5139      4278, 4278, 4278,    0,    0,    0, 4278, 4279, 4279, 4279,
5140      4279,    0,    0, 4279, 4279, 4280, 4280, 4280, 4280,    0,
5141      4280,    0, 4280, 4281, 4281, 4281, 4281,    0,    0, 4281,
5142      4281, 4282, 4282, 4282, 4282,    0,    0, 4282, 4282, 4283,
5143      4283, 4283, 4283,    0, 4283,    0, 4283, 4284, 4284, 4284,
5144      4284,    0,    0, 4284, 4284, 4285, 4285, 4285, 4285,    0,
5145      4285,    0, 4285, 4286, 4286, 4286, 4286,    0,    0, 4286,
5146      4286, 4287, 4287, 4287, 4287,    0, 4287,    0, 4287, 4288,
5147
5148      4288, 4288, 4288,    0,    0, 4288, 4288, 4289, 4289, 4289,
5149      4289,    0,    0, 4289, 4289, 4290, 4290, 4290,    0,    0,
5150         0, 4290, 4291, 4291, 4291, 4291,    0,    0, 4291, 4291,
5151      4292, 4292, 4292,    0,    0,    0, 4292, 4293, 4293, 4293,
5152      4293,    0,    0, 4293, 4293, 4294, 4294, 4294, 4294,    0,
5153         0, 4294, 4294, 4295, 4295, 4295, 4295,    0,    0, 4295,
5154      4295, 4296, 4296, 4296,    0,    0,    0, 4296, 4297, 4297,
5155      4297, 4297,    0,    0, 4297, 4297, 4298, 4298, 4298,    0,
5156         0,    0, 4298, 4299, 4299, 4299, 4299,    0,    0, 4299,
5157      4299, 4300, 4300, 4300, 4300,    0,    0, 4300, 4300, 4301,
5158
5159      4301, 4301,    0,    0,    0, 4301, 4302, 4302, 4302, 4302,
5160         0,    0, 4302, 4302, 4303, 4303, 4303,    0,    0,    0,
5161      4303, 4304, 4304, 4304, 4304,    0,    0, 4304, 4304, 4305,
5162      4305, 4305,    0,    0,    0, 4305, 4306, 4306, 4306, 4306,
5163         0,    0, 4306, 4306, 4307, 4307, 4307,    0,    0,    0,
5164      4307, 4308, 4308, 4308, 4308,    0,    0, 4308, 4308, 4309,
5165      4309, 4309, 4309,    0,    0, 4309, 4309, 4310, 4310, 4310,
5166         0,    0,    0, 4310, 4311, 4311, 4311, 4311,    0,    0,
5167      4311, 4311, 4312, 4312, 4312,    0,    0,    0, 4312, 4313,
5168      4313, 4313, 4313,    0,    0, 4313, 4313, 4314, 4314, 4314,
5169
5170         0,    0,    0, 4314, 4315, 4315, 4315, 4315,    0,    0,
5171      4315, 4315, 4316, 4316, 4316, 4316,    0, 4316,    0, 4316,
5172      4317, 4317, 4317, 4317,    0,    0, 4317, 4317, 4318, 4318,
5173      4318,    0,    0,    0, 4318, 4319, 4319, 4319, 4319,    0,
5174         0, 4319, 4319, 4320, 4320, 4320,    0,    0,    0, 4320,
5175      4321, 4321, 4321, 4321,    0,    0, 4321, 4321, 4322, 4322,
5176      4322,    0,    0,    0, 4322, 4323, 4323, 4323, 4323,    0,
5177         0, 4323, 4323, 4324, 4324, 4324,    0,    0,    0, 4324,
5178      4325, 4325, 4325, 4325,    0,    0, 4325, 4325, 4326, 4326,
5179      4326, 4326,    0, 4326,    0, 4326, 4327, 4327, 4327, 4327,
5180
5181         0,    0, 4327, 4327, 4328, 4328, 4328, 4328, 4328, 4328,
5182      4328, 4328, 4328, 4329, 4329, 4329, 4329, 4329, 4329, 4329,
5183      4329, 4329, 4330, 4330, 4330, 4330,    0, 4330,    0, 4330,
5184      4331, 4331, 4331,    0,    0,    0, 4331, 4332, 4332, 4332,
5185      4332,    0,    0, 4332, 4332, 4333, 4333, 4333,    0,    0,
5186         0, 4333, 4334, 4334, 4334, 4334,    0,    0, 4334, 4334,
5187      4335, 4335, 4335, 4335,    0,    0, 4335, 4335, 4336, 4336,
5188      4336,    0,    0,    0, 4336, 4337, 4337, 4337, 4337,    0,
5189         0, 4337, 4337, 4338, 4338, 4338, 4338,    0,    0, 4338,
5190      4338, 4339, 4339, 4339, 4339,    0,    0, 4339, 4339, 4340,
5191
5192      4340, 4340, 4340,    0,    0, 4340, 4340, 4341, 4341, 4341,
5193      4341,    0, 4341,    0, 4341, 4342, 4342, 4342, 4342,    0,
5194         0, 4342, 4342, 4343, 4343, 4343,    0,    0,    0, 4343,
5195      4344, 4344, 4344, 4344,    0,    0, 4344, 4344, 4345, 4345,
5196      4345, 4345,    0,    0, 4345, 4345, 4346, 4346, 4346, 4346,
5197         0, 4346,    0, 4346, 4347, 4347, 4347,    0,    0,    0,
5198      4347, 4348, 4348, 4348, 4348,    0,    0, 4348, 4348, 4349,
5199      4349, 4349, 4349,    0,    0, 4349, 4349, 4350, 4350, 4350,
5200         0,    0,    0, 4350, 4351, 4351, 4351,    0,    0,    0,
5201      4351, 4352, 4352, 4352, 4352,    0,    0, 4352, 4352, 4353,
5202
5203      4353, 4353, 4353,    0,    0, 4353, 4353, 4354, 4354, 4354,
5204         0,    0,    0, 4354, 4355, 4355, 4355, 4355,    0,    0,
5205      4355, 4355, 4356, 4356, 4356,    0,    0,    0, 4356, 4357,
5206      4357, 4357, 4357,    0, 4357,    0, 4357, 4358, 4358, 4358,
5207      4358,    0,    0, 4358, 4358, 4359, 4359, 4359,    0,    0,
5208         0, 4359, 4360, 4360, 4360, 4360,    0,    0, 4360, 4360,
5209      4361, 4361, 4361,    0,    0,    0, 4361, 4362, 4362, 4362,
5210      4362,    0,    0, 4362, 4362, 4363, 4363, 4363,    0,    0,
5211         0, 4363, 4364, 4364, 4364, 4364,    0,    0, 4364, 4364,
5212      4365, 4365, 4365,    0,    0,    0, 4365, 4366, 4366, 4366,
5213
5214      4366,    0,    0, 4366, 4366, 4367, 4367, 4367, 4367,    0,
5215      4367,    0, 4367, 4368, 4368, 4368, 4368,    0,    0, 4368,
5216      4368, 4369, 4369, 4369, 4369,    0, 4369,    0, 4369, 4370,
5217      4370, 4370, 4370,    0,    0, 4370, 4370, 4371, 4371, 4371,
5218         0,    0,    0, 4371, 4372, 4372, 4372, 4372,    0,    0,
5219      4372, 4372, 4373, 4373, 4373, 4373,    0, 4373,    0, 4373,
5220      4374, 4374, 4374, 4374,    0,    0, 4374, 4374, 4375, 4375,
5221      4375, 4375,    0, 4375,    0, 4375, 4376, 4376, 4376,    0,
5222         0,    0, 4376, 4377, 4377, 4377, 4377,    0,    0, 4377,
5223      4377, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378,
5224
5225      4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4380,
5226      4380, 4380,    0,    0,    0, 4380, 4381, 4381, 4381, 4381,
5227         0,    0, 4381, 4381, 4382, 4382, 4382, 4382,    0, 4382,
5228         0, 4382, 4383, 4383, 4383, 4383,    0,    0, 4383, 4383,
5229      4384, 4384, 4384,    0,    0,    0, 4384, 4385, 4385, 4385,
5230      4385,    0,    0, 4385, 4385, 4386, 4386, 4386, 4386,    0,
5231         0, 4386, 4386, 4387, 4387, 4387, 4387,    0,    0, 4387,
5232      4387, 4388, 4388, 4388, 4388,    0,    0, 4388, 4388, 4389,
5233      4389, 4389, 4389,    0,    0, 4389, 4389, 4390, 4390, 4390,
5234         0,    0,    0, 4390, 4391, 4391, 4391, 4391,    0,    0,
5235
5236      4391, 4391, 4392, 4392, 4392, 4392,    0,    0, 4392, 4392,
5237      4393, 4393, 4393, 4393,    0, 4393,    0, 4393, 4394, 4394,
5238      4394,    0,    0,    0, 4394, 4395, 4395, 4395, 4395,    0,
5239         0, 4395, 4395, 4396, 4396, 4396, 4396,    0,    0, 4396,
5240      4396, 4397, 4397, 4397,    0,    0,    0, 4397, 4398, 4398,
5241      4398,    0,    0,    0, 4398, 4399, 4399, 4399, 4399,    0,
5242         0, 4399, 4399, 4400, 4400, 4400, 4400,    0,    0, 4400,
5243      4400, 4401, 4401, 4401,    0,    0,    0, 4401, 4402, 4402,
5244      4402,    0,    0,    0, 4402, 4403, 4403, 4403, 4403,    0,
5245         0, 4403, 4403, 4404, 4404, 4404, 4404,    0, 4404,    0,
5246
5247      4404, 4405, 4405, 4405, 4405,    0,    0, 4405, 4405, 4406,
5248      4406, 4406,    0,    0,    0, 4406, 4407, 4407, 4407, 4407,
5249         0,    0, 4407, 4407, 4408, 4408, 4408,    0,    0,    0,
5250      4408, 4409, 4409, 4409,    0,    0,    0, 4409, 4410, 4410,
5251      4410, 4410,    0,    0, 4410, 4410, 4411, 4411, 4411, 4411,
5252         0,    0, 4411, 4411, 4412, 4412, 4412, 4412,    0,    0,
5253      4412, 4412, 4413, 4413, 4413,    0,    0,    0, 4413, 4414,
5254      4414, 4414, 4414,    0,    0, 4414, 4414, 4415, 4415, 4415,
5255         0,    0,    0, 4415, 4416, 4416, 4416, 4416,    0,    0,
5256      4416, 4416, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417,
5257
5258      4417, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418,
5259      4419, 4419, 4419,    0,    0,    0, 4419, 4420, 4420, 4420,
5260      4420,    0,    0, 4420, 4420, 4421, 4421, 4421, 4421,    0,
5261      4421,    0, 4421, 4422, 4422, 4422, 4422,    0,    0, 4422,
5262      4422, 4423, 4423, 4423, 4423,    0, 4423,    0, 4423, 4424,
5263      4424, 4424, 4424,    0,    0, 4424, 4424, 4425, 4425, 4425,
5264      4425,    0,    0, 4425, 4425, 4426, 4426, 4426, 4426,    0,
5265         0, 4426, 4426, 4427, 4427, 4427, 4427,    0,    0, 4427,
5266      4427, 4428, 4428, 4428, 4428,    0,    0, 4428, 4428, 4429,
5267      4429, 4429,    0,    0,    0, 4429, 4430, 4430, 4430, 4430,
5268
5269         0,    0, 4430, 4430, 4431, 4431, 4431,    0,    0,    0,
5270      4431, 4432, 4432, 4432, 4432,    0,    0, 4432, 4432, 4433,
5271      4433, 4433, 4433,    0,    0, 4433, 4433, 4434, 4434, 4434,
5272      4434,    0, 4434,    0, 4434, 4435, 4435, 4435, 4435,    0,
5273      4435,    0, 4435, 4436, 4436, 4436, 4436,    0,    0, 4436,
5274      4436, 4437, 4437, 4437, 4437,    0,    0, 4437, 4437, 4438,
5275      4438, 4438, 4438,    0, 4438,    0, 4438, 4439, 4439, 4439,
5276         0,    0,    0, 4439, 4440, 4440, 4440, 4440,    0,    0,
5277      4440, 4440, 4441, 4441, 4441, 4441,    0, 4441,    0, 4441,
5278      4442, 4442, 4442, 4442,    0,    0, 4442, 4442, 4443, 4443,
5279
5280      4443, 4443,    0, 4443,    0, 4443, 4444, 4444, 4444,    0,
5281         0,    0, 4444, 4445, 4445, 4445,    0,    0,    0, 4445,
5282      4446, 4446, 4446, 4446,    0,    0, 4446, 4446, 4447, 4447,
5283      4447, 4447,    0,    0, 4447, 4447, 4448, 4448, 4448,    0,
5284         0,    0, 4448, 4449, 4449, 4449, 4449,    0,    0, 4449,
5285      4449, 4450, 4450, 4450,    0,    0,    0, 4450, 4451, 4451,
5286      4451, 4451,    0,    0, 4451, 4451, 4452, 4452, 4452, 4452,
5287      4452, 4452, 4452, 4452, 4452, 4453, 4453, 4453, 4453, 4453,
5288      4453, 4453, 4453, 4453, 4454, 4454, 4454,    0,    0,    0,
5289      4454, 4455, 4455, 4455, 4455,    0, 4455,    0, 4455, 4456,
5290
5291      4456, 4456, 4456,    0,    0, 4456, 4456, 4457, 4457, 4457,
5292      4457,    0,    0, 4457, 4457, 4458, 4458, 4458, 4458,    0,
5293         0, 4458, 4458, 4459, 4459, 4459, 4459,    0,    0, 4459,
5294      4459, 4460, 4460, 4460, 4460,    0,    0, 4460, 4460, 4461,
5295      4461, 4461,    0,    0,    0, 4461, 4462, 4462, 4462,    0,
5296         0,    0, 4462, 4463, 4463, 4463, 4463,    0,    0, 4463,
5297      4463, 4464, 4464, 4464,    0,    0,    0, 4464, 4465, 4465,
5298      4465, 4465,    0,    0, 4465, 4465, 4466, 4466, 4466, 4466,
5299         0,    0, 4466, 4466, 4467, 4467, 4467,    0,    0,    0,
5300      4467, 4468, 4468, 4468, 4468,    0,    0, 4468, 4468, 4469,
5301
5302      4469, 4469, 4469,    0, 4469,    0, 4469, 4470, 4470, 4470,
5303      4470, 4470, 4470, 4470, 4470, 4470, 4471, 4471, 4471, 4471,
5304      4471, 4471, 4471, 4471, 4471, 4472, 4472, 4472, 4472, 4472,
5305      4472, 4472, 4472, 4472, 4473, 4473, 4473, 4473, 4473, 4473,
5306      4473, 4473, 4473, 4474, 4474, 4474, 4474, 4474, 4474, 4474,
5307      4474, 4474, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475,
5308      4475, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5309      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5310      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5311      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5312
5313      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5314      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5315      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5316      3912, 3912, 3912, 3912, 3912, 3912
5317     } ;
5318
5319 /* Table of booleans, true if rule could match eol. */
5320 static const flex_int32_t yy_rule_can_match_eol[650] =
5321     {   0,
5322 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 
5323     1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5324     1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 
5325     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5326     0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5327     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5328     1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
5329     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5330     1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
5331     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5332     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5333     1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5334     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
5335     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5336     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
5337     1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5338     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5339     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5340     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5341     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5342     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 
5343     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 
5344     0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 
5345     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 
5346     0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 
5347     0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5348     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5349     1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 
5350     1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5351     1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
5352     1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5353     1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 
5354     0, 0, 0, 0, 1, 0, 0, 0, 1, 0,     };
5355
5356 static yy_state_type yy_last_accepting_state;
5357 static char *yy_last_accepting_cpos;
5358
5359 extern int yy_flex_debug;
5360 int yy_flex_debug = 0;
5361
5362 /* The intent behind this definition is that it'll catch
5363  * any uses of REJECT which flex missed.
5364  */
5365 #define REJECT reject_used_but_not_detected
5366 #define yymore() yymore_used_but_not_detected
5367 #define YY_MORE_ADJ 0
5368 #define YY_RESTORE_YY_MORE_OFFSET
5369 char *yytext;
5370 /* Validating XML processor for src/surf/xml/simgrid.dtd.
5371  *
5372  * This program was generated with the FleXML XML processor generator.
5373  * FleXML is Copyright (C) 1999-2005 Kristoffer Rose.  All rights reserved.
5374  * FleXML is Copyright (C) 2003-2013 Martin Quinson.  All rights reserved.
5375  * (1.9.6).
5376  * 
5377  * There are two, intertwined parts to this program, part A and part B.
5378  *
5379  * Part A
5380  * ------
5381  * 
5382  * Some parts, here collectively called "Part A", are found in the 
5383  * FleXML package.  They are Copyright (C) 1999-2005 Kristoffer Rose
5384  * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
5385  *
5386  * You can redistribute, use, perform, display and/or modify "Part A"
5387  * provided the following two conditions hold:
5388  *
5389  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
5390  *    FleXML; without even the implied warranty of MERCHANTABILITY or
5391  *    FITNESS FOR A PARTICULAR PURPOSE.
5392  *
5393  * 2. The program distribution conditions do not in any way affect the
5394  *    distribution conditions of the FleXML system used to generate this
5395  *    file or any version of FleXML derived from that system.
5396  *
5397  * Notice that these are explicit rights granted to you for files
5398  * generated by the FleXML system.  For your rights in connection with
5399  * the FleXML system itself please consult the GNU General Public License.
5400  * 
5401  * Part B
5402  * ------
5403  * 
5404  * The other parts, here collectively called "Part B", and which came 
5405  * from the DTD used by FleXML to generate this program, can be 
5406  * distributed (or not, as the case may be) under the terms of whoever
5407  * wrote them, provided these terms respect and obey the two conditions 
5408  * above under the heading "Part A".
5409  *
5410  * The author of and contributors to FleXML specifically disclaim
5411  * any copyright interest in "Part B", unless "Part B" was written 
5412  * by the author of or contributors to FleXML.
5413  * 
5414  */
5415
5416 /* Version strings. */
5417 const char simgrid_parse_flexml_version[] = "1.9.6";
5418
5419 /* ANSI headers. */
5420 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
5421 #include <stdio.h>
5422 #include <string.h>
5423 #include <assert.h>
5424 #include <stdarg.h>
5425 #include <ctype.h>
5426      
5427 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
5428 # ifndef __STRICT_ANSI__
5429 #  include <io.h>
5430 #  include <process.h>
5431 # endif
5432 #else
5433 # include <unistd.h>
5434 #endif
5435      
5436 #ifndef FLEXML_INDEXSTACKSIZE
5437 #define FLEXML_INDEXSTACKSIZE 1000
5438 #endif
5439
5440 /* Generated definitions. */
5441 #define FLEXML_yylineno
5442 #ifndef FLEXML_BUFFERSTACKSIZE
5443 #define FLEXML_BUFFERSTACKSIZE 1000000
5444 #endif
5445 #define FLEXML_NEED_BUFFERLIT
5446
5447 /* XML processor api. */
5448 /* FleXML-provided data. */
5449 int simgrid_parse_pcdata_ix;
5450 extern char *simgrid_parse_bufferstack;
5451 #define simgrid_parse_pcdata (simgrid_parse_bufferstack + simgrid_parse_pcdata_ix)
5452 AT_simgrid_parse_AS_id AX_simgrid_parse_AS_id;
5453 #define A_simgrid_parse_AS_id (simgrid_parse_bufferstack + AX_simgrid_parse_AS_id)
5454 short int simgrid_parse_AS_id_isset;
5455 AT_simgrid_parse_AS_routing AX_simgrid_parse_AS_routing;
5456 #define A_simgrid_parse_AS_routing (simgrid_parse_bufferstack + AX_simgrid_parse_AS_routing)
5457 short int simgrid_parse_AS_routing_isset;
5458 AT_simgrid_parse_ASroute_dst AX_simgrid_parse_ASroute_dst;
5459 #define A_simgrid_parse_ASroute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_dst)
5460 short int simgrid_parse_ASroute_dst_isset;
5461 AT_simgrid_parse_ASroute_gw___dst AX_simgrid_parse_ASroute_gw___dst;
5462 #define A_simgrid_parse_ASroute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_gw___dst)
5463 short int simgrid_parse_ASroute_gw___dst_isset;
5464 AT_simgrid_parse_ASroute_gw___src AX_simgrid_parse_ASroute_gw___src;
5465 #define A_simgrid_parse_ASroute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_gw___src)
5466 short int simgrid_parse_ASroute_gw___src_isset;
5467 AT_simgrid_parse_ASroute_src AX_simgrid_parse_ASroute_src;
5468 #define A_simgrid_parse_ASroute_src (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_src)
5469 short int simgrid_parse_ASroute_src_isset;
5470 AT_simgrid_parse_ASroute_symmetrical AX_simgrid_parse_ASroute_symmetrical;
5471 #define A_simgrid_parse_ASroute_symmetrical AX_simgrid_parse_ASroute_symmetrical
5472 short int simgrid_parse_ASroute_symmetrical_isset;
5473 AT_simgrid_parse_actor_function AX_simgrid_parse_actor_function;
5474 #define A_simgrid_parse_actor_function (simgrid_parse_bufferstack + AX_simgrid_parse_actor_function)
5475 short int simgrid_parse_actor_function_isset;
5476 AT_simgrid_parse_actor_host AX_simgrid_parse_actor_host;
5477 #define A_simgrid_parse_actor_host (simgrid_parse_bufferstack + AX_simgrid_parse_actor_host)
5478 short int simgrid_parse_actor_host_isset;
5479 AT_simgrid_parse_actor_kill___time AX_simgrid_parse_actor_kill___time;
5480 #define A_simgrid_parse_actor_kill___time (simgrid_parse_bufferstack + AX_simgrid_parse_actor_kill___time)
5481 short int simgrid_parse_actor_kill___time_isset;
5482 AT_simgrid_parse_actor_on___failure AX_simgrid_parse_actor_on___failure;
5483 #define A_simgrid_parse_actor_on___failure AX_simgrid_parse_actor_on___failure
5484 short int simgrid_parse_actor_on___failure_isset;
5485 AT_simgrid_parse_actor_start___time AX_simgrid_parse_actor_start___time;
5486 #define A_simgrid_parse_actor_start___time (simgrid_parse_bufferstack + AX_simgrid_parse_actor_start___time)
5487 short int simgrid_parse_actor_start___time_isset;
5488 AT_simgrid_parse_argument_value AX_simgrid_parse_argument_value;
5489 #define A_simgrid_parse_argument_value (simgrid_parse_bufferstack + AX_simgrid_parse_argument_value)
5490 short int simgrid_parse_argument_value_isset;
5491 AT_simgrid_parse_backbone_bandwidth AX_simgrid_parse_backbone_bandwidth;
5492 #define A_simgrid_parse_backbone_bandwidth (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_bandwidth)
5493 short int simgrid_parse_backbone_bandwidth_isset;
5494 AT_simgrid_parse_backbone_id AX_simgrid_parse_backbone_id;
5495 #define A_simgrid_parse_backbone_id (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_id)
5496 short int simgrid_parse_backbone_id_isset;
5497 AT_simgrid_parse_backbone_latency AX_simgrid_parse_backbone_latency;
5498 #define A_simgrid_parse_backbone_latency (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_latency)
5499 short int simgrid_parse_backbone_latency_isset;
5500 AT_simgrid_parse_bypassASroute_dst AX_simgrid_parse_bypassASroute_dst;
5501 #define A_simgrid_parse_bypassASroute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_dst)
5502 short int simgrid_parse_bypassASroute_dst_isset;
5503 AT_simgrid_parse_bypassASroute_gw___dst AX_simgrid_parse_bypassASroute_gw___dst;
5504 #define A_simgrid_parse_bypassASroute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_gw___dst)
5505 short int simgrid_parse_bypassASroute_gw___dst_isset;
5506 AT_simgrid_parse_bypassASroute_gw___src AX_simgrid_parse_bypassASroute_gw___src;
5507 #define A_simgrid_parse_bypassASroute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_gw___src)
5508 short int simgrid_parse_bypassASroute_gw___src_isset;
5509 AT_simgrid_parse_bypassASroute_src AX_simgrid_parse_bypassASroute_src;
5510 #define A_simgrid_parse_bypassASroute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_src)
5511 short int simgrid_parse_bypassASroute_src_isset;
5512 AT_simgrid_parse_bypassRoute_dst AX_simgrid_parse_bypassRoute_dst;
5513 #define A_simgrid_parse_bypassRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassRoute_dst)
5514 short int simgrid_parse_bypassRoute_dst_isset;
5515 AT_simgrid_parse_bypassRoute_src AX_simgrid_parse_bypassRoute_src;
5516 #define A_simgrid_parse_bypassRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassRoute_src)
5517 short int simgrid_parse_bypassRoute_src_isset;
5518 AT_simgrid_parse_bypassZoneRoute_dst AX_simgrid_parse_bypassZoneRoute_dst;
5519 #define A_simgrid_parse_bypassZoneRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_dst)
5520 short int simgrid_parse_bypassZoneRoute_dst_isset;
5521 AT_simgrid_parse_bypassZoneRoute_gw___dst AX_simgrid_parse_bypassZoneRoute_gw___dst;
5522 #define A_simgrid_parse_bypassZoneRoute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_gw___dst)
5523 short int simgrid_parse_bypassZoneRoute_gw___dst_isset;
5524 AT_simgrid_parse_bypassZoneRoute_gw___src AX_simgrid_parse_bypassZoneRoute_gw___src;
5525 #define A_simgrid_parse_bypassZoneRoute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_gw___src)
5526 short int simgrid_parse_bypassZoneRoute_gw___src_isset;
5527 AT_simgrid_parse_bypassZoneRoute_src AX_simgrid_parse_bypassZoneRoute_src;
5528 #define A_simgrid_parse_bypassZoneRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_src)
5529 short int simgrid_parse_bypassZoneRoute_src_isset;
5530 AT_simgrid_parse_cabinet_bw AX_simgrid_parse_cabinet_bw;
5531 #define A_simgrid_parse_cabinet_bw (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_bw)
5532 short int simgrid_parse_cabinet_bw_isset;
5533 AT_simgrid_parse_cabinet_id AX_simgrid_parse_cabinet_id;
5534 #define A_simgrid_parse_cabinet_id (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_id)
5535 short int simgrid_parse_cabinet_id_isset;
5536 AT_simgrid_parse_cabinet_lat AX_simgrid_parse_cabinet_lat;
5537 #define A_simgrid_parse_cabinet_lat (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_lat)
5538 short int simgrid_parse_cabinet_lat_isset;
5539 AT_simgrid_parse_cabinet_prefix AX_simgrid_parse_cabinet_prefix;
5540 #define A_simgrid_parse_cabinet_prefix (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_prefix)
5541 short int simgrid_parse_cabinet_prefix_isset;
5542 AT_simgrid_parse_cabinet_radical AX_simgrid_parse_cabinet_radical;
5543 #define A_simgrid_parse_cabinet_radical (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_radical)
5544 short int simgrid_parse_cabinet_radical_isset;
5545 AT_simgrid_parse_cabinet_speed AX_simgrid_parse_cabinet_speed;
5546 #define A_simgrid_parse_cabinet_speed (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_speed)
5547 short int simgrid_parse_cabinet_speed_isset;
5548 AT_simgrid_parse_cabinet_suffix AX_simgrid_parse_cabinet_suffix;
5549 #define A_simgrid_parse_cabinet_suffix (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_suffix)
5550 short int simgrid_parse_cabinet_suffix_isset;
5551 AT_simgrid_parse_cluster_bb___bw AX_simgrid_parse_cluster_bb___bw;
5552 #define A_simgrid_parse_cluster_bb___bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bb___bw)
5553 short int simgrid_parse_cluster_bb___bw_isset;
5554 AT_simgrid_parse_cluster_bb___lat AX_simgrid_parse_cluster_bb___lat;
5555 #define A_simgrid_parse_cluster_bb___lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bb___lat)
5556 short int simgrid_parse_cluster_bb___lat_isset;
5557 AT_simgrid_parse_cluster_bb___sharing___policy AX_simgrid_parse_cluster_bb___sharing___policy;
5558 #define A_simgrid_parse_cluster_bb___sharing___policy AX_simgrid_parse_cluster_bb___sharing___policy
5559 short int simgrid_parse_cluster_bb___sharing___policy_isset;
5560 AT_simgrid_parse_cluster_bw AX_simgrid_parse_cluster_bw;
5561 #define A_simgrid_parse_cluster_bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bw)
5562 short int simgrid_parse_cluster_bw_isset;
5563 AT_simgrid_parse_cluster_core AX_simgrid_parse_cluster_core;
5564 #define A_simgrid_parse_cluster_core (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_core)
5565 short int simgrid_parse_cluster_core_isset;
5566 AT_simgrid_parse_cluster_id AX_simgrid_parse_cluster_id;
5567 #define A_simgrid_parse_cluster_id (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_id)
5568 short int simgrid_parse_cluster_id_isset;
5569 AT_simgrid_parse_cluster_lat AX_simgrid_parse_cluster_lat;
5570 #define A_simgrid_parse_cluster_lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_lat)
5571 short int simgrid_parse_cluster_lat_isset;
5572 AT_simgrid_parse_cluster_limiter___link AX_simgrid_parse_cluster_limiter___link;
5573 #define A_simgrid_parse_cluster_limiter___link (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_limiter___link)
5574 short int simgrid_parse_cluster_limiter___link_isset;
5575 AT_simgrid_parse_cluster_loopback___bw AX_simgrid_parse_cluster_loopback___bw;
5576 #define A_simgrid_parse_cluster_loopback___bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_loopback___bw)
5577 short int simgrid_parse_cluster_loopback___bw_isset;
5578 AT_simgrid_parse_cluster_loopback___lat AX_simgrid_parse_cluster_loopback___lat;
5579 #define A_simgrid_parse_cluster_loopback___lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_loopback___lat)
5580 short int simgrid_parse_cluster_loopback___lat_isset;
5581 AT_simgrid_parse_cluster_prefix AX_simgrid_parse_cluster_prefix;
5582 #define A_simgrid_parse_cluster_prefix (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_prefix)
5583 short int simgrid_parse_cluster_prefix_isset;
5584 AT_simgrid_parse_cluster_radical AX_simgrid_parse_cluster_radical;
5585 #define A_simgrid_parse_cluster_radical (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_radical)
5586 short int simgrid_parse_cluster_radical_isset;
5587 AT_simgrid_parse_cluster_router___id AX_simgrid_parse_cluster_router___id;
5588 #define A_simgrid_parse_cluster_router___id (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_router___id)
5589 short int simgrid_parse_cluster_router___id_isset;
5590 AT_simgrid_parse_cluster_sharing___policy AX_simgrid_parse_cluster_sharing___policy;
5591 #define A_simgrid_parse_cluster_sharing___policy AX_simgrid_parse_cluster_sharing___policy
5592 short int simgrid_parse_cluster_sharing___policy_isset;
5593 AT_simgrid_parse_cluster_speed AX_simgrid_parse_cluster_speed;
5594 #define A_simgrid_parse_cluster_speed (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_speed)
5595 short int simgrid_parse_cluster_speed_isset;
5596 AT_simgrid_parse_cluster_suffix AX_simgrid_parse_cluster_suffix;
5597 #define A_simgrid_parse_cluster_suffix (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_suffix)
5598 short int simgrid_parse_cluster_suffix_isset;
5599 AT_simgrid_parse_cluster_topo___parameters AX_simgrid_parse_cluster_topo___parameters;
5600 #define A_simgrid_parse_cluster_topo___parameters (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_topo___parameters)
5601 short int simgrid_parse_cluster_topo___parameters_isset;
5602 AT_simgrid_parse_cluster_topology AX_simgrid_parse_cluster_topology;
5603 #define A_simgrid_parse_cluster_topology AX_simgrid_parse_cluster_topology
5604 short int simgrid_parse_cluster_topology_isset;
5605 AT_simgrid_parse_config_id AX_simgrid_parse_config_id;
5606 #define A_simgrid_parse_config_id (simgrid_parse_bufferstack + AX_simgrid_parse_config_id)
5607 short int simgrid_parse_config_id_isset;
5608 AT_simgrid_parse_disk_id AX_simgrid_parse_disk_id;
5609 #define A_simgrid_parse_disk_id (simgrid_parse_bufferstack + AX_simgrid_parse_disk_id)
5610 short int simgrid_parse_disk_id_isset;
5611 AT_simgrid_parse_disk_read___bw AX_simgrid_parse_disk_read___bw;
5612 #define A_simgrid_parse_disk_read___bw (simgrid_parse_bufferstack + AX_simgrid_parse_disk_read___bw)
5613 short int simgrid_parse_disk_read___bw_isset;
5614 AT_simgrid_parse_disk_write___bw AX_simgrid_parse_disk_write___bw;
5615 #define A_simgrid_parse_disk_write___bw (simgrid_parse_bufferstack + AX_simgrid_parse_disk_write___bw)
5616 short int simgrid_parse_disk_write___bw_isset;
5617 AT_simgrid_parse_host_availability___file AX_simgrid_parse_host_availability___file;
5618 #define A_simgrid_parse_host_availability___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_availability___file)
5619 short int simgrid_parse_host_availability___file_isset;
5620 AT_simgrid_parse_host_coordinates AX_simgrid_parse_host_coordinates;
5621 #define A_simgrid_parse_host_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_host_coordinates)
5622 short int simgrid_parse_host_coordinates_isset;
5623 AT_simgrid_parse_host_core AX_simgrid_parse_host_core;
5624 #define A_simgrid_parse_host_core (simgrid_parse_bufferstack + AX_simgrid_parse_host_core)
5625 short int simgrid_parse_host_core_isset;
5626 AT_simgrid_parse_host_id AX_simgrid_parse_host_id;
5627 #define A_simgrid_parse_host_id (simgrid_parse_bufferstack + AX_simgrid_parse_host_id)
5628 short int simgrid_parse_host_id_isset;
5629 AT_simgrid_parse_host_pstate AX_simgrid_parse_host_pstate;
5630 #define A_simgrid_parse_host_pstate (simgrid_parse_bufferstack + AX_simgrid_parse_host_pstate)
5631 short int simgrid_parse_host_pstate_isset;
5632 AT_simgrid_parse_host_speed AX_simgrid_parse_host_speed;
5633 #define A_simgrid_parse_host_speed (simgrid_parse_bufferstack + AX_simgrid_parse_host_speed)
5634 short int simgrid_parse_host_speed_isset;
5635 AT_simgrid_parse_host_speed___file AX_simgrid_parse_host_speed___file;
5636 #define A_simgrid_parse_host_speed___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_speed___file)
5637 short int simgrid_parse_host_speed___file_isset;
5638 AT_simgrid_parse_host_state___file AX_simgrid_parse_host_state___file;
5639 #define A_simgrid_parse_host_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_state___file)
5640 short int simgrid_parse_host_state___file_isset;
5641 AT_simgrid_parse_host___link_down AX_simgrid_parse_host___link_down;
5642 #define A_simgrid_parse_host___link_down (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_down)
5643 short int simgrid_parse_host___link_down_isset;
5644 AT_simgrid_parse_host___link_id AX_simgrid_parse_host___link_id;
5645 #define A_simgrid_parse_host___link_id (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_id)
5646 short int simgrid_parse_host___link_id_isset;
5647 AT_simgrid_parse_host___link_up AX_simgrid_parse_host___link_up;
5648 #define A_simgrid_parse_host___link_up (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_up)
5649 short int simgrid_parse_host___link_up_isset;
5650 AT_simgrid_parse_include_file AX_simgrid_parse_include_file;
5651 #define A_simgrid_parse_include_file (simgrid_parse_bufferstack + AX_simgrid_parse_include_file)
5652 short int simgrid_parse_include_file_isset;
5653 AT_simgrid_parse_link_bandwidth AX_simgrid_parse_link_bandwidth;
5654 #define A_simgrid_parse_link_bandwidth (simgrid_parse_bufferstack + AX_simgrid_parse_link_bandwidth)
5655 short int simgrid_parse_link_bandwidth_isset;
5656 AT_simgrid_parse_link_bandwidth___file AX_simgrid_parse_link_bandwidth___file;
5657 #define A_simgrid_parse_link_bandwidth___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_bandwidth___file)
5658 short int simgrid_parse_link_bandwidth___file_isset;
5659 AT_simgrid_parse_link_id AX_simgrid_parse_link_id;
5660 #define A_simgrid_parse_link_id (simgrid_parse_bufferstack + AX_simgrid_parse_link_id)
5661 short int simgrid_parse_link_id_isset;
5662 AT_simgrid_parse_link_latency AX_simgrid_parse_link_latency;
5663 #define A_simgrid_parse_link_latency (simgrid_parse_bufferstack + AX_simgrid_parse_link_latency)
5664 short int simgrid_parse_link_latency_isset;
5665 AT_simgrid_parse_link_latency___file AX_simgrid_parse_link_latency___file;
5666 #define A_simgrid_parse_link_latency___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_latency___file)
5667 short int simgrid_parse_link_latency___file_isset;
5668 AT_simgrid_parse_link_sharing___policy AX_simgrid_parse_link_sharing___policy;
5669 #define A_simgrid_parse_link_sharing___policy AX_simgrid_parse_link_sharing___policy
5670 short int simgrid_parse_link_sharing___policy_isset;
5671 AT_simgrid_parse_link_state___file AX_simgrid_parse_link_state___file;
5672 #define A_simgrid_parse_link_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_state___file)
5673 short int simgrid_parse_link_state___file_isset;
5674 AT_simgrid_parse_link___ctn_direction AX_simgrid_parse_link___ctn_direction;
5675 #define A_simgrid_parse_link___ctn_direction AX_simgrid_parse_link___ctn_direction
5676 short int simgrid_parse_link___ctn_direction_isset;
5677 AT_simgrid_parse_link___ctn_id AX_simgrid_parse_link___ctn_id;
5678 #define A_simgrid_parse_link___ctn_id (simgrid_parse_bufferstack + AX_simgrid_parse_link___ctn_id)
5679 short int simgrid_parse_link___ctn_id_isset;
5680 AT_simgrid_parse_model___prop_id AX_simgrid_parse_model___prop_id;
5681 #define A_simgrid_parse_model___prop_id (simgrid_parse_bufferstack + AX_simgrid_parse_model___prop_id)
5682 short int simgrid_parse_model___prop_id_isset;
5683 AT_simgrid_parse_model___prop_value AX_simgrid_parse_model___prop_value;
5684 #define A_simgrid_parse_model___prop_value (simgrid_parse_bufferstack + AX_simgrid_parse_model___prop_value)
5685 short int simgrid_parse_model___prop_value_isset;
5686 AT_simgrid_parse_mount_name AX_simgrid_parse_mount_name;
5687 #define A_simgrid_parse_mount_name (simgrid_parse_bufferstack + AX_simgrid_parse_mount_name)
5688 short int simgrid_parse_mount_name_isset;
5689 AT_simgrid_parse_mount_storageId AX_simgrid_parse_mount_storageId;
5690 #define A_simgrid_parse_mount_storageId (simgrid_parse_bufferstack + AX_simgrid_parse_mount_storageId)
5691 short int simgrid_parse_mount_storageId_isset;
5692 AT_simgrid_parse_peer_availability___file AX_simgrid_parse_peer_availability___file;
5693 #define A_simgrid_parse_peer_availability___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_availability___file)
5694 short int simgrid_parse_peer_availability___file_isset;
5695 AT_simgrid_parse_peer_bw___in AX_simgrid_parse_peer_bw___in;
5696 #define A_simgrid_parse_peer_bw___in (simgrid_parse_bufferstack + AX_simgrid_parse_peer_bw___in)
5697 short int simgrid_parse_peer_bw___in_isset;
5698 AT_simgrid_parse_peer_bw___out AX_simgrid_parse_peer_bw___out;
5699 #define A_simgrid_parse_peer_bw___out (simgrid_parse_bufferstack + AX_simgrid_parse_peer_bw___out)
5700 short int simgrid_parse_peer_bw___out_isset;
5701 AT_simgrid_parse_peer_coordinates AX_simgrid_parse_peer_coordinates;
5702 #define A_simgrid_parse_peer_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_peer_coordinates)
5703 short int simgrid_parse_peer_coordinates_isset;
5704 AT_simgrid_parse_peer_id AX_simgrid_parse_peer_id;
5705 #define A_simgrid_parse_peer_id (simgrid_parse_bufferstack + AX_simgrid_parse_peer_id)
5706 short int simgrid_parse_peer_id_isset;
5707 AT_simgrid_parse_peer_lat AX_simgrid_parse_peer_lat;
5708 #define A_simgrid_parse_peer_lat (simgrid_parse_bufferstack + AX_simgrid_parse_peer_lat)
5709 short int simgrid_parse_peer_lat_isset;
5710 AT_simgrid_parse_peer_speed AX_simgrid_parse_peer_speed;
5711 #define A_simgrid_parse_peer_speed (simgrid_parse_bufferstack + AX_simgrid_parse_peer_speed)
5712 short int simgrid_parse_peer_speed_isset;
5713 AT_simgrid_parse_peer_speed___file AX_simgrid_parse_peer_speed___file;
5714 #define A_simgrid_parse_peer_speed___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_speed___file)
5715 short int simgrid_parse_peer_speed___file_isset;
5716 AT_simgrid_parse_peer_state___file AX_simgrid_parse_peer_state___file;
5717 #define A_simgrid_parse_peer_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_state___file)
5718 short int simgrid_parse_peer_state___file_isset;
5719 AT_simgrid_parse_platform_version AX_simgrid_parse_platform_version;
5720 #define A_simgrid_parse_platform_version (simgrid_parse_bufferstack + AX_simgrid_parse_platform_version)
5721 short int simgrid_parse_platform_version_isset;
5722 AT_simgrid_parse_process_function AX_simgrid_parse_process_function;
5723 #define A_simgrid_parse_process_function (simgrid_parse_bufferstack + AX_simgrid_parse_process_function)
5724 short int simgrid_parse_process_function_isset;
5725 AT_simgrid_parse_process_host AX_simgrid_parse_process_host;
5726 #define A_simgrid_parse_process_host (simgrid_parse_bufferstack + AX_simgrid_parse_process_host)
5727 short int simgrid_parse_process_host_isset;
5728 AT_simgrid_parse_process_kill___time AX_simgrid_parse_process_kill___time;
5729 #define A_simgrid_parse_process_kill___time (simgrid_parse_bufferstack + AX_simgrid_parse_process_kill___time)
5730 short int simgrid_parse_process_kill___time_isset;
5731 AT_simgrid_parse_process_on___failure AX_simgrid_parse_process_on___failure;
5732 #define A_simgrid_parse_process_on___failure AX_simgrid_parse_process_on___failure
5733 short int simgrid_parse_process_on___failure_isset;
5734 AT_simgrid_parse_process_start___time AX_simgrid_parse_process_start___time;
5735 #define A_simgrid_parse_process_start___time (simgrid_parse_bufferstack + AX_simgrid_parse_process_start___time)
5736 short int simgrid_parse_process_start___time_isset;
5737 AT_simgrid_parse_prop_id AX_simgrid_parse_prop_id;
5738 #define A_simgrid_parse_prop_id (simgrid_parse_bufferstack + AX_simgrid_parse_prop_id)
5739 short int simgrid_parse_prop_id_isset;
5740 AT_simgrid_parse_prop_value AX_simgrid_parse_prop_value;
5741 #define A_simgrid_parse_prop_value (simgrid_parse_bufferstack + AX_simgrid_parse_prop_value)
5742 short int simgrid_parse_prop_value_isset;
5743 AT_simgrid_parse_random_generator AX_simgrid_parse_random_generator;
5744 #define A_simgrid_parse_random_generator AX_simgrid_parse_random_generator
5745 short int simgrid_parse_random_generator_isset;
5746 AT_simgrid_parse_random_id AX_simgrid_parse_random_id;
5747 #define A_simgrid_parse_random_id (simgrid_parse_bufferstack + AX_simgrid_parse_random_id)
5748 short int simgrid_parse_random_id_isset;
5749 AT_simgrid_parse_random_max AX_simgrid_parse_random_max;
5750 #define A_simgrid_parse_random_max (simgrid_parse_bufferstack + AX_simgrid_parse_random_max)
5751 short int simgrid_parse_random_max_isset;
5752 AT_simgrid_parse_random_mean AX_simgrid_parse_random_mean;
5753 #define A_simgrid_parse_random_mean (simgrid_parse_bufferstack + AX_simgrid_parse_random_mean)
5754 short int simgrid_parse_random_mean_isset;
5755 AT_simgrid_parse_random_min AX_simgrid_parse_random_min;
5756 #define A_simgrid_parse_random_min (simgrid_parse_bufferstack + AX_simgrid_parse_random_min)
5757 short int simgrid_parse_random_min_isset;
5758 AT_simgrid_parse_random_radical AX_simgrid_parse_random_radical;
5759 #define A_simgrid_parse_random_radical (simgrid_parse_bufferstack + AX_simgrid_parse_random_radical)
5760 short int simgrid_parse_random_radical_isset;
5761 AT_simgrid_parse_random_seed AX_simgrid_parse_random_seed;
5762 #define A_simgrid_parse_random_seed (simgrid_parse_bufferstack + AX_simgrid_parse_random_seed)
5763 short int simgrid_parse_random_seed_isset;
5764 AT_simgrid_parse_random_std___deviation AX_simgrid_parse_random_std___deviation;
5765 #define A_simgrid_parse_random_std___deviation (simgrid_parse_bufferstack + AX_simgrid_parse_random_std___deviation)
5766 short int simgrid_parse_random_std___deviation_isset;
5767 AT_simgrid_parse_route_dst AX_simgrid_parse_route_dst;
5768 #define A_simgrid_parse_route_dst (simgrid_parse_bufferstack + AX_simgrid_parse_route_dst)
5769 short int simgrid_parse_route_dst_isset;
5770 AT_simgrid_parse_route_src AX_simgrid_parse_route_src;
5771 #define A_simgrid_parse_route_src (simgrid_parse_bufferstack + AX_simgrid_parse_route_src)
5772 short int simgrid_parse_route_src_isset;
5773 AT_simgrid_parse_route_symmetrical AX_simgrid_parse_route_symmetrical;
5774 #define A_simgrid_parse_route_symmetrical AX_simgrid_parse_route_symmetrical
5775 short int simgrid_parse_route_symmetrical_isset;
5776 AT_simgrid_parse_router_coordinates AX_simgrid_parse_router_coordinates;
5777 #define A_simgrid_parse_router_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_router_coordinates)
5778 short int simgrid_parse_router_coordinates_isset;
5779 AT_simgrid_parse_router_id AX_simgrid_parse_router_id;
5780 #define A_simgrid_parse_router_id (simgrid_parse_bufferstack + AX_simgrid_parse_router_id)
5781 short int simgrid_parse_router_id_isset;
5782 AT_simgrid_parse_storage_attach AX_simgrid_parse_storage_attach;
5783 #define A_simgrid_parse_storage_attach (simgrid_parse_bufferstack + AX_simgrid_parse_storage_attach)
5784 short int simgrid_parse_storage_attach_isset;
5785 AT_simgrid_parse_storage_content AX_simgrid_parse_storage_content;
5786 #define A_simgrid_parse_storage_content (simgrid_parse_bufferstack + AX_simgrid_parse_storage_content)
5787 short int simgrid_parse_storage_content_isset;
5788 AT_simgrid_parse_storage_id AX_simgrid_parse_storage_id;
5789 #define A_simgrid_parse_storage_id (simgrid_parse_bufferstack + AX_simgrid_parse_storage_id)
5790 short int simgrid_parse_storage_id_isset;
5791 AT_simgrid_parse_storage_typeId AX_simgrid_parse_storage_typeId;
5792 #define A_simgrid_parse_storage_typeId (simgrid_parse_bufferstack + AX_simgrid_parse_storage_typeId)
5793 short int simgrid_parse_storage_typeId_isset;
5794 AT_simgrid_parse_storage___type_content AX_simgrid_parse_storage___type_content;
5795 #define A_simgrid_parse_storage___type_content (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_content)
5796 short int simgrid_parse_storage___type_content_isset;
5797 AT_simgrid_parse_storage___type_id AX_simgrid_parse_storage___type_id;
5798 #define A_simgrid_parse_storage___type_id (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_id)
5799 short int simgrid_parse_storage___type_id_isset;
5800 AT_simgrid_parse_storage___type_model AX_simgrid_parse_storage___type_model;
5801 #define A_simgrid_parse_storage___type_model (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_model)
5802 short int simgrid_parse_storage___type_model_isset;
5803 AT_simgrid_parse_storage___type_size AX_simgrid_parse_storage___type_size;
5804 #define A_simgrid_parse_storage___type_size (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_size)
5805 short int simgrid_parse_storage___type_size_isset;
5806 AT_simgrid_parse_trace_file AX_simgrid_parse_trace_file;
5807 #define A_simgrid_parse_trace_file (simgrid_parse_bufferstack + AX_simgrid_parse_trace_file)
5808 short int simgrid_parse_trace_file_isset;
5809 AT_simgrid_parse_trace_id AX_simgrid_parse_trace_id;
5810 #define A_simgrid_parse_trace_id (simgrid_parse_bufferstack + AX_simgrid_parse_trace_id)
5811 short int simgrid_parse_trace_id_isset;
5812 AT_simgrid_parse_trace_periodicity AX_simgrid_parse_trace_periodicity;
5813 #define A_simgrid_parse_trace_periodicity (simgrid_parse_bufferstack + AX_simgrid_parse_trace_periodicity)
5814 short int simgrid_parse_trace_periodicity_isset;
5815 AT_simgrid_parse_trace___connect_element AX_simgrid_parse_trace___connect_element;
5816 #define A_simgrid_parse_trace___connect_element (simgrid_parse_bufferstack + AX_simgrid_parse_trace___connect_element)
5817 short int simgrid_parse_trace___connect_element_isset;
5818 AT_simgrid_parse_trace___connect_kind AX_simgrid_parse_trace___connect_kind;
5819 #define A_simgrid_parse_trace___connect_kind AX_simgrid_parse_trace___connect_kind
5820 short int simgrid_parse_trace___connect_kind_isset;
5821 AT_simgrid_parse_trace___connect_trace AX_simgrid_parse_trace___connect_trace;
5822 #define A_simgrid_parse_trace___connect_trace (simgrid_parse_bufferstack + AX_simgrid_parse_trace___connect_trace)
5823 short int simgrid_parse_trace___connect_trace_isset;
5824 AT_simgrid_parse_zone_id AX_simgrid_parse_zone_id;
5825 #define A_simgrid_parse_zone_id (simgrid_parse_bufferstack + AX_simgrid_parse_zone_id)
5826 short int simgrid_parse_zone_id_isset;
5827 AT_simgrid_parse_zone_routing AX_simgrid_parse_zone_routing;
5828 #define A_simgrid_parse_zone_routing (simgrid_parse_bufferstack + AX_simgrid_parse_zone_routing)
5829 short int simgrid_parse_zone_routing_isset;
5830 AT_simgrid_parse_zoneRoute_dst AX_simgrid_parse_zoneRoute_dst;
5831 #define A_simgrid_parse_zoneRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_dst)
5832 short int simgrid_parse_zoneRoute_dst_isset;
5833 AT_simgrid_parse_zoneRoute_gw___dst AX_simgrid_parse_zoneRoute_gw___dst;
5834 #define A_simgrid_parse_zoneRoute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_gw___dst)
5835 short int simgrid_parse_zoneRoute_gw___dst_isset;
5836 AT_simgrid_parse_zoneRoute_gw___src AX_simgrid_parse_zoneRoute_gw___src;
5837 #define A_simgrid_parse_zoneRoute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_gw___src)
5838 short int simgrid_parse_zoneRoute_gw___src_isset;
5839 AT_simgrid_parse_zoneRoute_src AX_simgrid_parse_zoneRoute_src;
5840 #define A_simgrid_parse_zoneRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_src)
5841 short int simgrid_parse_zoneRoute_src_isset;
5842 AT_simgrid_parse_zoneRoute_symmetrical AX_simgrid_parse_zoneRoute_symmetrical;
5843 #define A_simgrid_parse_zoneRoute_symmetrical AX_simgrid_parse_zoneRoute_symmetrical
5844 short int simgrid_parse_zoneRoute_symmetrical_isset;
5845
5846 /* XML state. */
5847 #ifdef FLEX_DEBUG
5848 # define ENTER(state)   debug_enter(state,#state)
5849 # define LEAVE          debug_leave()
5850 # define SET(state)     debug_set(state,#state)
5851   static void debug_enter(int, const char*);
5852   static void debug_leave(void);
5853   static void debug_set(int, const char*);
5854 #else
5855 # define ENTER(state)   (yy_push_state(state))
5856 # define LEAVE          (yy_pop_state())
5857 # define SET(state)     BEGIN(state)
5858 #endif
5859
5860 /* Generic actions. */
5861 #define SKIP    /*skip*/
5862 #define SUCCEED        CLEANUP; return 0
5863
5864 #define FAIL    return fail
5865 static int fail(const char*, ...);
5866
5867 enum {flexml_max_err_msg_size = 512};
5868 static char flexml_err_msg[flexml_max_err_msg_size];
5869 const char * simgrid_parse_parse_err_msg()
5870 {
5871     return flexml_err_msg;
5872 }
5873 static void reset_simgrid_parse_parse_err_msg()
5874 {
5875     flexml_err_msg[0] = '\0';
5876 }
5877
5878 /* Cleanup */
5879 static void cleanup(void);
5880 #define CLEANUP  cleanup()
5881
5882 /* Text buffer stack handling. */
5883 char *simgrid_parse_bufferstack = NULL;
5884 static int blimit = FLEXML_BUFFERSTACKSIZE;
5885 static int bnext = 1;
5886
5887 static int *indexstack = NULL;
5888 static int ilimit = FLEXML_INDEXSTACKSIZE;
5889 static int inext = 1;
5890
5891 #define BUFFERSET(P)  (P = bnext)
5892 #define BUFFERPUTC(C) (ck_blimit(), simgrid_parse_bufferstack[bnext++] = (C))
5893 #define BUFFERDONE    (BUFFERPUTC('\0'))
5894
5895 #define BUFFERLITERAL(C, P) simgrid_parse_bufferliteral(C, &(P), yytext)
5896
5897 /* after this is called, there are at least 2 slots left in the stack */
5898 static int ck_blimit()
5899 {
5900      if (bnext >= blimit) {
5901          blimit += FLEXML_BUFFERSTACKSIZE + 2;
5902          {
5903              char *temp = (char *) realloc(simgrid_parse_bufferstack, blimit);
5904              assert(temp);
5905              simgrid_parse_bufferstack = temp;
5906          }
5907      }
5908      return 0;
5909 }
5910
5911 /* after this is called, there are at least 2 slots left in the stack */
5912 static int ck_ilimit()
5913 {
5914      if (inext >= ilimit) {
5915          ilimit += FLEXML_INDEXSTACKSIZE + 2;
5916          {
5917              int *temp = (int *) realloc(indexstack, ilimit);
5918              assert(temp);
5919              indexstack = temp;
5920          }
5921      }
5922      return 0;
5923 }
5924
5925 #ifdef FLEXML_NEED_BUFFERLIT
5926 static void simgrid_parse_bufferliteral(char c, int* pp, const char* text)
5927 {
5928    BUFFERSET(*pp);
5929    if (c) {
5930       const char *s = strchr(text, c), *e = strrchr(text, c);
5931       assert(s && e && s <= e);
5932       ++s;
5933       while (s < e) {
5934          if (isspace(*s)) {
5935             BUFFERPUTC(' ');
5936             do ++s; while (s < e && isspace(*s));
5937          } else
5938            BUFFERPUTC(*s++);
5939       }
5940    } else {
5941       const char *s = text;
5942       while (*s)
5943         BUFFERPUTC(*s++);
5944    }
5945    BUFFERDONE;
5946 }
5947 #endif
5948
5949 static void pushbuffer(int p)
5950 {
5951     ck_ilimit();
5952     indexstack[inext++] = p;
5953     indexstack[inext++] = bnext;    
5954 }
5955
5956 static int popbuffer(void)
5957 {
5958     assert(inext >= 2);
5959     bnext = indexstack[--inext];
5960     return indexstack[--inext];
5961 }
5962
5963 /* General internal entities are `unput' back onto the input stream... */
5964 #define ENTITYTEXT(T) \
5965   { char *s = (T), *e = s+strlen(s);\
5966     while (--e >= s) { unput(*e); }}
5967
5968 /* Flex standard options. */
5969 #define YY_NO_INPUT 1
5970 /* Flex user-requested options. */
5971 /* XML character classes (currently restricted to ASCII). */
5972 /* "Common syntactic structures." */
5973 /* "Names and Tokens." */
5974 /* Miscellaneous. */
5975 /* Parser states (flex `exclusive start conditions'):
5976  *
5977  * PROLOG       the XML prolog of the document before <?xml...>
5978  * DOCTYPE      the XML prolog of the document after <?xml...>
5979  * EPILOG       after the root element
5980  * INCOMMENT    inside an XML comment <!--....-->
5981  * INPI         inside an XML PI <?...?>
5982  * VALUE1       inside a '...'-delimited literal
5983  * VALUE2       inside a "..."-delimited literal
5984  * CDATA        inside a <![CDATA[...] ]> section.
5985  * ROOT_<tag>   expect root element <tag>
5986  * AL_<tag>     inside the attribute list for <tag>
5987  * IN_<tag>     inside a <tag> with element contents (ready for end tag)
5988  * IMPOSSIBLE   dummy to permit disabling rules; must be last
5989  */
5990
5991 /* State names. */
5992 const char* *simgrid_parse_statenames=NULL;
5993
5994 #define INITIAL 0
5995 #define PROLOG 1
5996 #define DOCTYPE 2
5997 #define EPILOG 3
5998 #define INCOMMENT 4
5999 #define INPI 5
6000 #define VALUE1 6
6001 #define VALUE2 7
6002 #define CDATA 8
6003 #define AL_simgrid_parse_AS 9
6004 #define S_simgrid_parse_AS 10
6005 #define S_simgrid_parse_AS_1 11
6006 #define S_simgrid_parse_AS_2 12
6007 #define S_simgrid_parse_AS_3 13
6008 #define S_simgrid_parse_AS_4 14
6009 #define S_simgrid_parse_AS_5 15
6010 #define S_simgrid_parse_AS_6 16
6011 #define S_simgrid_parse_AS_7 17
6012 #define S_simgrid_parse_AS_8 18
6013 #define S_simgrid_parse_AS_9 19
6014 #define S_simgrid_parse_AS_10 20
6015 #define S_simgrid_parse_AS_11 21
6016 #define S_simgrid_parse_AS_12 22
6017 #define S_simgrid_parse_AS_13 23
6018 #define S_simgrid_parse_AS_14 24
6019 #define S_simgrid_parse_AS_15 25
6020 #define S_simgrid_parse_AS_16 26
6021 #define E_simgrid_parse_AS 27
6022 #define AL_simgrid_parse_ASroute 28
6023 #define S_simgrid_parse_ASroute 29
6024 #define S_simgrid_parse_ASroute_1 30
6025 #define S_simgrid_parse_ASroute_2 31
6026 #define E_simgrid_parse_ASroute 32
6027 #define AL_simgrid_parse_actor 33
6028 #define S_simgrid_parse_actor 34
6029 #define S_simgrid_parse_actor_1 35
6030 #define S_simgrid_parse_actor_2 36
6031 #define E_simgrid_parse_actor 37
6032 #define AL_simgrid_parse_argument 38
6033 #define E_simgrid_parse_argument 39
6034 #define AL_simgrid_parse_backbone 40
6035 #define E_simgrid_parse_backbone 41
6036 #define AL_simgrid_parse_bypassASroute 42
6037 #define S_simgrid_parse_bypassASroute 43
6038 #define S_simgrid_parse_bypassASroute_1 44
6039 #define S_simgrid_parse_bypassASroute_2 45
6040 #define E_simgrid_parse_bypassASroute 46
6041 #define AL_simgrid_parse_bypassRoute 47
6042 #define S_simgrid_parse_bypassRoute 48
6043 #define S_simgrid_parse_bypassRoute_1 49
6044 #define S_simgrid_parse_bypassRoute_2 50
6045 #define E_simgrid_parse_bypassRoute 51
6046 #define AL_simgrid_parse_bypassZoneRoute 52
6047 #define S_simgrid_parse_bypassZoneRoute 53
6048 #define S_simgrid_parse_bypassZoneRoute_1 54
6049 #define S_simgrid_parse_bypassZoneRoute_2 55
6050 #define E_simgrid_parse_bypassZoneRoute 56
6051 #define AL_simgrid_parse_cabinet 57
6052 #define E_simgrid_parse_cabinet 58
6053 #define AL_simgrid_parse_cluster 59
6054 #define S_simgrid_parse_cluster 60
6055 #define S_simgrid_parse_cluster_1 61
6056 #define S_simgrid_parse_cluster_2 62
6057 #define E_simgrid_parse_cluster 63
6058 #define AL_simgrid_parse_config 64
6059 #define S_simgrid_parse_config 65
6060 #define S_simgrid_parse_config_1 66
6061 #define S_simgrid_parse_config_2 67
6062 #define E_simgrid_parse_config 68
6063 #define AL_simgrid_parse_disk 69
6064 #define S_simgrid_parse_disk 70
6065 #define S_simgrid_parse_disk_1 71
6066 #define S_simgrid_parse_disk_2 72
6067 #define E_simgrid_parse_disk 73
6068 #define AL_simgrid_parse_host 74
6069 #define S_simgrid_parse_host 75
6070 #define S_simgrid_parse_host_1 76
6071 #define S_simgrid_parse_host_2 77
6072 #define E_simgrid_parse_host 78
6073 #define AL_simgrid_parse_host___link 79
6074 #define E_simgrid_parse_host___link 80
6075 #define AL_simgrid_parse_include 81
6076 #define S_simgrid_parse_include 82
6077 #define S_simgrid_parse_include_1 83
6078 #define S_simgrid_parse_include_2 84
6079 #define E_simgrid_parse_include 85
6080 #define AL_simgrid_parse_link 86
6081 #define S_simgrid_parse_link 87
6082 #define S_simgrid_parse_link_1 88
6083 #define S_simgrid_parse_link_2 89
6084 #define E_simgrid_parse_link 90
6085 #define AL_simgrid_parse_link___ctn 91
6086 #define E_simgrid_parse_link___ctn 92
6087 #define AL_simgrid_parse_model___prop 93
6088 #define E_simgrid_parse_model___prop 94
6089 #define AL_simgrid_parse_mount 95
6090 #define E_simgrid_parse_mount 96
6091 #define AL_simgrid_parse_peer 97
6092 #define E_simgrid_parse_peer 98
6093 #define ROOT_simgrid_parse_platform 99
6094 #define AL_simgrid_parse_platform 100
6095 #define S_simgrid_parse_platform 101
6096 #define S_simgrid_parse_platform_1 102
6097 #define S_simgrid_parse_platform_2 103
6098 #define S_simgrid_parse_platform_3 104
6099 #define S_simgrid_parse_platform_4 105
6100 #define S_simgrid_parse_platform_5 106
6101 #define S_simgrid_parse_platform_6 107
6102 #define S_simgrid_parse_platform_7 108
6103 #define S_simgrid_parse_platform_8 109
6104 #define E_simgrid_parse_platform 110
6105 #define AL_simgrid_parse_process 111
6106 #define S_simgrid_parse_process 112
6107 #define S_simgrid_parse_process_1 113
6108 #define S_simgrid_parse_process_2 114
6109 #define E_simgrid_parse_process 115
6110 #define AL_simgrid_parse_prop 116
6111 #define E_simgrid_parse_prop 117
6112 #define AL_simgrid_parse_random 118
6113 #define E_simgrid_parse_random 119
6114 #define AL_simgrid_parse_route 120
6115 #define S_simgrid_parse_route 121
6116 #define S_simgrid_parse_route_1 122
6117 #define S_simgrid_parse_route_2 123
6118 #define E_simgrid_parse_route 124
6119 #define AL_simgrid_parse_router 125
6120 #define E_simgrid_parse_router 126
6121 #define AL_simgrid_parse_storage 127
6122 #define S_simgrid_parse_storage 128
6123 #define S_simgrid_parse_storage_1 129
6124 #define S_simgrid_parse_storage_2 130
6125 #define E_simgrid_parse_storage 131
6126 #define AL_simgrid_parse_storage___type 132
6127 #define S_simgrid_parse_storage___type 133
6128 #define S_simgrid_parse_storage___type_1 134
6129 #define S_simgrid_parse_storage___type_2 135
6130 #define E_simgrid_parse_storage___type 136
6131 #define AL_simgrid_parse_trace 137
6132 #define IN_trace 138
6133 #define AL_simgrid_parse_trace___connect 139
6134 #define E_simgrid_parse_trace___connect 140
6135 #define AL_simgrid_parse_zone 141
6136 #define S_simgrid_parse_zone 142
6137 #define S_simgrid_parse_zone_1 143
6138 #define S_simgrid_parse_zone_2 144
6139 #define S_simgrid_parse_zone_3 145
6140 #define S_simgrid_parse_zone_4 146
6141 #define S_simgrid_parse_zone_5 147
6142 #define S_simgrid_parse_zone_6 148
6143 #define S_simgrid_parse_zone_7 149
6144 #define S_simgrid_parse_zone_8 150
6145 #define S_simgrid_parse_zone_9 151
6146 #define S_simgrid_parse_zone_10 152
6147 #define S_simgrid_parse_zone_11 153
6148 #define S_simgrid_parse_zone_12 154
6149 #define S_simgrid_parse_zone_13 155
6150 #define S_simgrid_parse_zone_14 156
6151 #define S_simgrid_parse_zone_15 157
6152 #define S_simgrid_parse_zone_16 158
6153 #define E_simgrid_parse_zone 159
6154 #define AL_simgrid_parse_zoneRoute 160
6155 #define S_simgrid_parse_zoneRoute 161
6156 #define S_simgrid_parse_zoneRoute_1 162
6157 #define S_simgrid_parse_zoneRoute_2 163
6158 #define E_simgrid_parse_zoneRoute 164
6159 #define IMPOSSIBLE 165
6160
6161 #ifndef YY_NO_UNISTD_H
6162 /* Special case for "unistd.h", since it is non-ANSI. We include it way
6163  * down here because we want the user's section 1 to have been scanned first.
6164  * The user has a chance to override it with an option.
6165  */
6166 #include <unistd.h>
6167 #endif
6168
6169 #ifndef YY_EXTRA_TYPE
6170 #define YY_EXTRA_TYPE void *
6171 #endif
6172
6173 static int yy_init_globals ( void );
6174
6175 /* Accessor methods to globals.
6176    These are made visible to non-reentrant scanners for convenience. */
6177
6178 int yylex_destroy ( void );
6179
6180 int yyget_debug ( void );
6181
6182 void yyset_debug ( int debug_flag  );
6183
6184 YY_EXTRA_TYPE yyget_extra ( void );
6185
6186 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
6187
6188 FILE *yyget_in ( void );
6189
6190 void yyset_in  ( FILE * _in_str  );
6191
6192 FILE *yyget_out ( void );
6193
6194 void yyset_out  ( FILE * _out_str  );
6195
6196                         int yyget_leng ( void );
6197
6198 char *yyget_text ( void );
6199
6200 int yyget_lineno ( void );
6201
6202 void yyset_lineno ( int _line_number  );
6203
6204 /* Macros after this point can all be overridden by user definitions in
6205  * section 1.
6206  */
6207
6208 #ifndef YY_SKIP_YYWRAP
6209 #ifdef __cplusplus
6210 extern "C" int yywrap ( void );
6211 #else
6212 extern int yywrap ( void );
6213 #endif
6214 #endif
6215
6216 #ifndef YY_NO_UNPUT
6217     
6218 #endif
6219
6220 #ifndef yytext_ptr
6221 static void yy_flex_strncpy ( char *, const char *, int );
6222 #endif
6223
6224 #ifdef YY_NEED_STRLEN
6225 static int yy_flex_strlen ( const char * );
6226 #endif
6227
6228 #ifndef YY_NO_INPUT
6229 #ifdef __cplusplus
6230 static int yyinput ( void );
6231 #else
6232 static int input ( void );
6233 #endif
6234
6235 #endif
6236
6237         static int yy_start_stack_ptr = 0;
6238         static int yy_start_stack_depth = 0;
6239         static int *yy_start_stack = NULL;
6240     
6241     static void yy_push_state ( int _new_state );
6242     
6243     static void yy_pop_state ( void );
6244     
6245 /* Amount of stuff to slurp up with each read. */
6246 #ifndef YY_READ_BUF_SIZE
6247 #ifdef __ia64__
6248 /* On IA-64, the buffer size is 16k, not 8k */
6249 #define YY_READ_BUF_SIZE 16384
6250 #else
6251 #define YY_READ_BUF_SIZE 8192
6252 #endif /* __ia64__ */
6253 #endif
6254
6255 /* Copy whatever the last rule matched to the standard output. */
6256 #ifndef ECHO
6257 /* This used to be an fputs(), but since the string might contain NUL's,
6258  * we now use fwrite().
6259  */
6260 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
6261 #endif
6262
6263 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
6264  * is returned in "result".
6265  */
6266 #ifndef YY_INPUT
6267 #define YY_INPUT(buf,result,max_size) \
6268         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
6269                 { \
6270                 int c = '*'; \
6271                 int n; \
6272                 for ( n = 0; n < max_size && \
6273                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
6274                         buf[n] = (char) c; \
6275                 if ( c == '\n' ) \
6276                         buf[n++] = (char) c; \
6277                 if ( c == EOF && ferror( yyin ) ) \
6278                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
6279                 result = n; \
6280                 } \
6281         else \
6282                 { \
6283                 errno=0; \
6284                 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
6285                         { \
6286                         if( errno != EINTR) \
6287                                 { \
6288                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
6289                                 break; \
6290                                 } \
6291                         errno=0; \
6292                         clearerr(yyin); \
6293                         } \
6294                 }\
6295 \
6296
6297 #endif
6298
6299 /* No semi-colon after return; correct usage is to write "yyterminate();" -
6300  * we don't want an extra ';' after the "return" because that will cause
6301  * some compilers to complain about unreachable statements.
6302  */
6303 #ifndef yyterminate
6304 #define yyterminate() return YY_NULL
6305 #endif
6306
6307 /* Number of entries by which start-condition stack grows. */
6308 #ifndef YY_START_STACK_INCR
6309 #define YY_START_STACK_INCR 25
6310 #endif
6311
6312 /* Report a fatal error. */
6313 #ifndef YY_FATAL_ERROR
6314 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
6315 #endif
6316
6317 /* end tables serialization structures and prototypes */
6318
6319 /* Default declaration of generated scanner - a define so the user can
6320  * easily add parameters.
6321  */
6322 #ifndef YY_DECL
6323 #define YY_DECL_IS_OURS 1
6324
6325 extern int yylex (void);
6326
6327 #define YY_DECL int yylex (void)
6328 #endif /* !YY_DECL */
6329
6330 /* Code executed at the beginning of each rule, after yytext and yyleng
6331  * have been set up.
6332  */
6333 #ifndef YY_USER_ACTION
6334 #define YY_USER_ACTION
6335 #endif
6336
6337 /* Code executed at the end of each rule. */
6338 #ifndef YY_BREAK
6339 #define YY_BREAK /*LINTED*/break;
6340 #endif
6341
6342 #define YY_RULE_SETUP \
6343         YY_USER_ACTION
6344
6345 /** The main scanner function which does all the work.
6346  */
6347 YY_DECL
6348 {
6349         yy_state_type yy_current_state;
6350         char *yy_cp, *yy_bp;
6351         int yy_act;
6352     
6353         if ( !(yy_init) )
6354                 {
6355                 (yy_init) = 1;
6356
6357 #ifdef YY_USER_INIT
6358                 YY_USER_INIT;
6359 #endif
6360
6361                 if ( ! (yy_start) )
6362                         (yy_start) = 1; /* first start state */
6363
6364                 if ( ! yyin )
6365                         yyin = stdin;
6366
6367                 if ( ! yyout )
6368                         yyout = stdout;
6369
6370                 if ( ! YY_CURRENT_BUFFER ) {
6371                         yyensure_buffer_stack ();
6372                         YY_CURRENT_BUFFER_LVALUE =
6373                                 yy_create_buffer( yyin, YY_BUF_SIZE );
6374                 }
6375
6376                 yy_load_buffer_state(  );
6377                 }
6378
6379         {
6380
6381  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
6382  SET(PROLOG);
6383  reset_simgrid_parse_parse_err_msg();
6384  simgrid_parse_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
6385  assert(simgrid_parse_bufferstack);
6386  #ifdef FLEX_DEBUG
6387  {
6388      int i;
6389      for (i = 0; i < blimit; i++) {
6390          simgrid_parse_bufferstack[i] = '\377';
6391      }
6392  }
6393  #endif
6394  simgrid_parse_bufferstack[0] = '\0';
6395  indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
6396  assert(indexstack);
6397  indexstack[0] = 0;
6398
6399   /* FleXML_init */
6400   bnext = inext = 1;
6401   simgrid_parse_bufferliteral('\0', &bnext, "0.0");
6402   simgrid_parse_bufferliteral('\0', &bnext, "2147483647");
6403   simgrid_parse_bufferliteral('\0', &bnext, "N11");
6404   simgrid_parse_bufferliteral('\0', &bnext, "1");
6405   simgrid_parse_bufferliteral('\0', &bnext, "0.0");
6406   simgrid_parse_bufferliteral('\0', &bnext, "/");
6407   simgrid_parse_bufferliteral('\0', &bnext, "1");
6408   simgrid_parse_bufferliteral('\0', &bnext, "0s");
6409   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6410   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6411   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6412   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6413   if(!simgrid_parse_statenames) {simgrid_parse_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
6414   simgrid_parse_statenames[PROLOG] = NULL;
6415   simgrid_parse_statenames[DOCTYPE] = NULL;
6416   simgrid_parse_statenames[EPILOG] = NULL;
6417   simgrid_parse_statenames[INCOMMENT] = NULL;
6418   simgrid_parse_statenames[INPI] = NULL;
6419   simgrid_parse_statenames[VALUE1] = NULL;
6420   simgrid_parse_statenames[VALUE2] = NULL;
6421   simgrid_parse_statenames[CDATA] = NULL;
6422   simgrid_parse_statenames[AL_simgrid_parse_AS] = NULL;
6423   simgrid_parse_statenames[S_simgrid_parse_AS] = "AS";
6424   simgrid_parse_statenames[S_simgrid_parse_AS_1] = "AS";
6425   simgrid_parse_statenames[S_simgrid_parse_AS_2] = "AS";
6426   simgrid_parse_statenames[S_simgrid_parse_AS_3] = "AS";
6427   simgrid_parse_statenames[S_simgrid_parse_AS_4] = "AS";
6428   simgrid_parse_statenames[S_simgrid_parse_AS_5] = "AS";
6429   simgrid_parse_statenames[S_simgrid_parse_AS_6] = "AS";
6430   simgrid_parse_statenames[S_simgrid_parse_AS_7] = "AS";
6431   simgrid_parse_statenames[S_simgrid_parse_AS_8] = "AS";
6432   simgrid_parse_statenames[S_simgrid_parse_AS_9] = "AS";
6433   simgrid_parse_statenames[S_simgrid_parse_AS_10] = "AS";
6434   simgrid_parse_statenames[S_simgrid_parse_AS_11] = "AS";
6435   simgrid_parse_statenames[S_simgrid_parse_AS_12] = "AS";
6436   simgrid_parse_statenames[S_simgrid_parse_AS_13] = "AS";
6437   simgrid_parse_statenames[S_simgrid_parse_AS_14] = "AS";
6438   simgrid_parse_statenames[S_simgrid_parse_AS_15] = "AS";
6439   simgrid_parse_statenames[S_simgrid_parse_AS_16] = "AS";
6440   simgrid_parse_statenames[E_simgrid_parse_AS] = "AS";
6441   simgrid_parse_statenames[AL_simgrid_parse_ASroute] = NULL;
6442   simgrid_parse_statenames[S_simgrid_parse_ASroute] = "ASroute";
6443   simgrid_parse_statenames[S_simgrid_parse_ASroute_1] = "ASroute";
6444   simgrid_parse_statenames[S_simgrid_parse_ASroute_2] = "ASroute";
6445   simgrid_parse_statenames[E_simgrid_parse_ASroute] = "ASroute";
6446   simgrid_parse_statenames[AL_simgrid_parse_actor] = NULL;
6447   simgrid_parse_statenames[S_simgrid_parse_actor] = "actor";
6448   simgrid_parse_statenames[S_simgrid_parse_actor_1] = "actor";
6449   simgrid_parse_statenames[S_simgrid_parse_actor_2] = "actor";
6450   simgrid_parse_statenames[E_simgrid_parse_actor] = "actor";
6451   simgrid_parse_statenames[AL_simgrid_parse_argument] = NULL;
6452   simgrid_parse_statenames[E_simgrid_parse_argument] = "argument";
6453   simgrid_parse_statenames[AL_simgrid_parse_backbone] = NULL;
6454   simgrid_parse_statenames[E_simgrid_parse_backbone] = "backbone";
6455   simgrid_parse_statenames[AL_simgrid_parse_bypassASroute] = NULL;
6456   simgrid_parse_statenames[S_simgrid_parse_bypassASroute] = "bypassASroute";
6457   simgrid_parse_statenames[S_simgrid_parse_bypassASroute_1] = "bypassASroute";
6458   simgrid_parse_statenames[S_simgrid_parse_bypassASroute_2] = "bypassASroute";
6459   simgrid_parse_statenames[E_simgrid_parse_bypassASroute] = "bypassASroute";
6460   simgrid_parse_statenames[AL_simgrid_parse_bypassRoute] = NULL;
6461   simgrid_parse_statenames[S_simgrid_parse_bypassRoute] = "bypassRoute";
6462   simgrid_parse_statenames[S_simgrid_parse_bypassRoute_1] = "bypassRoute";
6463   simgrid_parse_statenames[S_simgrid_parse_bypassRoute_2] = "bypassRoute";
6464   simgrid_parse_statenames[E_simgrid_parse_bypassRoute] = "bypassRoute";
6465   simgrid_parse_statenames[AL_simgrid_parse_bypassZoneRoute] = NULL;
6466   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute] = "bypassZoneRoute";
6467   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute_1] = "bypassZoneRoute";
6468   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute_2] = "bypassZoneRoute";
6469   simgrid_parse_statenames[E_simgrid_parse_bypassZoneRoute] = "bypassZoneRoute";
6470   simgrid_parse_statenames[AL_simgrid_parse_cabinet] = NULL;
6471   simgrid_parse_statenames[E_simgrid_parse_cabinet] = "cabinet";
6472   simgrid_parse_statenames[AL_simgrid_parse_cluster] = NULL;
6473   simgrid_parse_statenames[S_simgrid_parse_cluster] = "cluster";
6474   simgrid_parse_statenames[S_simgrid_parse_cluster_1] = "cluster";
6475   simgrid_parse_statenames[S_simgrid_parse_cluster_2] = "cluster";
6476   simgrid_parse_statenames[E_simgrid_parse_cluster] = "cluster";
6477   simgrid_parse_statenames[AL_simgrid_parse_config] = NULL;
6478   simgrid_parse_statenames[S_simgrid_parse_config] = "config";
6479   simgrid_parse_statenames[S_simgrid_parse_config_1] = "config";
6480   simgrid_parse_statenames[S_simgrid_parse_config_2] = "config";
6481   simgrid_parse_statenames[E_simgrid_parse_config] = "config";
6482   simgrid_parse_statenames[AL_simgrid_parse_disk] = NULL;
6483   simgrid_parse_statenames[S_simgrid_parse_disk] = "disk";
6484   simgrid_parse_statenames[S_simgrid_parse_disk_1] = "disk";
6485   simgrid_parse_statenames[S_simgrid_parse_disk_2] = "disk";
6486   simgrid_parse_statenames[E_simgrid_parse_disk] = "disk";
6487   simgrid_parse_statenames[AL_simgrid_parse_host] = NULL;
6488   simgrid_parse_statenames[S_simgrid_parse_host] = "host";
6489   simgrid_parse_statenames[S_simgrid_parse_host_1] = "host";
6490   simgrid_parse_statenames[S_simgrid_parse_host_2] = "host";
6491   simgrid_parse_statenames[E_simgrid_parse_host] = "host";
6492   simgrid_parse_statenames[AL_simgrid_parse_host___link] = NULL;
6493   simgrid_parse_statenames[E_simgrid_parse_host___link] = "host_link";
6494   simgrid_parse_statenames[AL_simgrid_parse_include] = NULL;
6495   simgrid_parse_statenames[S_simgrid_parse_include] = "include";
6496   simgrid_parse_statenames[S_simgrid_parse_include_1] = "include";
6497   simgrid_parse_statenames[S_simgrid_parse_include_2] = "include";
6498   simgrid_parse_statenames[E_simgrid_parse_include] = "include";
6499   simgrid_parse_statenames[AL_simgrid_parse_link] = NULL;
6500   simgrid_parse_statenames[S_simgrid_parse_link] = "link";
6501   simgrid_parse_statenames[S_simgrid_parse_link_1] = "link";
6502   simgrid_parse_statenames[S_simgrid_parse_link_2] = "link";
6503   simgrid_parse_statenames[E_simgrid_parse_link] = "link";
6504   simgrid_parse_statenames[AL_simgrid_parse_link___ctn] = NULL;
6505   simgrid_parse_statenames[E_simgrid_parse_link___ctn] = "link_ctn";
6506   simgrid_parse_statenames[AL_simgrid_parse_model___prop] = NULL;
6507   simgrid_parse_statenames[E_simgrid_parse_model___prop] = "model_prop";
6508   simgrid_parse_statenames[AL_simgrid_parse_mount] = NULL;
6509   simgrid_parse_statenames[E_simgrid_parse_mount] = "mount";
6510   simgrid_parse_statenames[AL_simgrid_parse_peer] = NULL;
6511   simgrid_parse_statenames[E_simgrid_parse_peer] = "peer";
6512   simgrid_parse_statenames[ROOT_simgrid_parse_platform] = NULL;
6513   simgrid_parse_statenames[AL_simgrid_parse_platform] = NULL;
6514   simgrid_parse_statenames[S_simgrid_parse_platform] = "platform";
6515   simgrid_parse_statenames[S_simgrid_parse_platform_1] = "platform";
6516   simgrid_parse_statenames[S_simgrid_parse_platform_2] = "platform";
6517   simgrid_parse_statenames[S_simgrid_parse_platform_3] = "platform";
6518   simgrid_parse_statenames[S_simgrid_parse_platform_4] = "platform";
6519   simgrid_parse_statenames[S_simgrid_parse_platform_5] = "platform";
6520   simgrid_parse_statenames[S_simgrid_parse_platform_6] = "platform";
6521   simgrid_parse_statenames[S_simgrid_parse_platform_7] = "platform";
6522   simgrid_parse_statenames[S_simgrid_parse_platform_8] = "platform";
6523   simgrid_parse_statenames[E_simgrid_parse_platform] = "platform";
6524   simgrid_parse_statenames[AL_simgrid_parse_process] = NULL;
6525   simgrid_parse_statenames[S_simgrid_parse_process] = "process";
6526   simgrid_parse_statenames[S_simgrid_parse_process_1] = "process";
6527   simgrid_parse_statenames[S_simgrid_parse_process_2] = "process";
6528   simgrid_parse_statenames[E_simgrid_parse_process] = "process";
6529   simgrid_parse_statenames[AL_simgrid_parse_prop] = NULL;
6530   simgrid_parse_statenames[E_simgrid_parse_prop] = "prop";
6531   simgrid_parse_statenames[AL_simgrid_parse_random] = NULL;
6532   simgrid_parse_statenames[E_simgrid_parse_random] = "random";
6533   simgrid_parse_statenames[AL_simgrid_parse_route] = NULL;
6534   simgrid_parse_statenames[S_simgrid_parse_route] = "route";
6535   simgrid_parse_statenames[S_simgrid_parse_route_1] = "route";
6536   simgrid_parse_statenames[S_simgrid_parse_route_2] = "route";
6537   simgrid_parse_statenames[E_simgrid_parse_route] = "route";
6538   simgrid_parse_statenames[AL_simgrid_parse_router] = NULL;
6539   simgrid_parse_statenames[E_simgrid_parse_router] = "router";
6540   simgrid_parse_statenames[AL_simgrid_parse_storage] = NULL;
6541   simgrid_parse_statenames[S_simgrid_parse_storage] = "storage";
6542   simgrid_parse_statenames[S_simgrid_parse_storage_1] = "storage";
6543   simgrid_parse_statenames[S_simgrid_parse_storage_2] = "storage";
6544   simgrid_parse_statenames[E_simgrid_parse_storage] = "storage";
6545   simgrid_parse_statenames[AL_simgrid_parse_storage___type] = NULL;
6546   simgrid_parse_statenames[S_simgrid_parse_storage___type] = "storage_type";
6547   simgrid_parse_statenames[S_simgrid_parse_storage___type_1] = "storage_type";
6548   simgrid_parse_statenames[S_simgrid_parse_storage___type_2] = "storage_type";
6549   simgrid_parse_statenames[E_simgrid_parse_storage___type] = "storage_type";
6550   simgrid_parse_statenames[AL_simgrid_parse_trace] = NULL;
6551   simgrid_parse_statenames[IN_trace] = "trace";
6552   simgrid_parse_statenames[AL_simgrid_parse_trace___connect] = NULL;
6553   simgrid_parse_statenames[E_simgrid_parse_trace___connect] = "trace_connect";
6554   simgrid_parse_statenames[AL_simgrid_parse_zone] = NULL;
6555   simgrid_parse_statenames[S_simgrid_parse_zone] = "zone";
6556   simgrid_parse_statenames[S_simgrid_parse_zone_1] = "zone";
6557   simgrid_parse_statenames[S_simgrid_parse_zone_2] = "zone";
6558   simgrid_parse_statenames[S_simgrid_parse_zone_3] = "zone";
6559   simgrid_parse_statenames[S_simgrid_parse_zone_4] = "zone";
6560   simgrid_parse_statenames[S_simgrid_parse_zone_5] = "zone";
6561   simgrid_parse_statenames[S_simgrid_parse_zone_6] = "zone";
6562   simgrid_parse_statenames[S_simgrid_parse_zone_7] = "zone";
6563   simgrid_parse_statenames[S_simgrid_parse_zone_8] = "zone";
6564   simgrid_parse_statenames[S_simgrid_parse_zone_9] = "zone";
6565   simgrid_parse_statenames[S_simgrid_parse_zone_10] = "zone";
6566   simgrid_parse_statenames[S_simgrid_parse_zone_11] = "zone";
6567   simgrid_parse_statenames[S_simgrid_parse_zone_12] = "zone";
6568   simgrid_parse_statenames[S_simgrid_parse_zone_13] = "zone";
6569   simgrid_parse_statenames[S_simgrid_parse_zone_14] = "zone";
6570   simgrid_parse_statenames[S_simgrid_parse_zone_15] = "zone";
6571   simgrid_parse_statenames[S_simgrid_parse_zone_16] = "zone";
6572   simgrid_parse_statenames[E_simgrid_parse_zone] = "zone";
6573   simgrid_parse_statenames[AL_simgrid_parse_zoneRoute] = NULL;
6574   simgrid_parse_statenames[S_simgrid_parse_zoneRoute] = "zoneRoute";
6575   simgrid_parse_statenames[S_simgrid_parse_zoneRoute_1] = "zoneRoute";
6576   simgrid_parse_statenames[S_simgrid_parse_zoneRoute_2] = "zoneRoute";
6577   simgrid_parse_statenames[E_simgrid_parse_zoneRoute] = "zoneRoute";
6578   }
6579
6580  /* COMMENTS and PIs: handled uniformly for efficiency. */
6581
6582         while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
6583                 {
6584                 yy_cp = (yy_c_buf_p);
6585
6586                 /* Support of yytext. */
6587                 *yy_cp = (yy_hold_char);
6588
6589                 /* yy_bp points to the position in yy_ch_buf of the start of
6590                  * the current run.
6591                  */
6592                 yy_bp = yy_cp;
6593
6594                 yy_current_state = (yy_start);
6595 yy_match:
6596                 do
6597                         {
6598                         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
6599                         if ( yy_accept[yy_current_state] )
6600                                 {
6601                                 (yy_last_accepting_state) = yy_current_state;
6602                                 (yy_last_accepting_cpos) = yy_cp;
6603                                 }
6604                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6605                                 {
6606                                 yy_current_state = (int) yy_def[yy_current_state];
6607                                 if ( yy_current_state >= 3913 )
6608                                         yy_c = yy_meta[yy_c];
6609                                 }
6610                         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6611                         ++yy_cp;
6612                         }
6613                 while ( yy_base[yy_current_state] != 14462 );
6614
6615 yy_find_action:
6616                 yy_act = yy_accept[yy_current_state];
6617                 if ( yy_act == 0 )
6618                         { /* have to back up */
6619                         yy_cp = (yy_last_accepting_cpos);
6620                         yy_current_state = (yy_last_accepting_state);
6621                         yy_act = yy_accept[yy_current_state];
6622                         }
6623
6624                 YY_DO_BEFORE_ACTION;
6625
6626                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
6627                         {
6628                         int yyl;
6629                         for ( yyl = 0; yyl < yyleng; ++yyl )
6630                                 if ( yytext[yyl] == '\n' )
6631                                         
6632     yylineno++;
6633 ;
6634                         }
6635
6636 do_action:      /* This label is used only to access EOF actions. */
6637
6638                 switch ( yy_act )
6639         { /* beginning of action switch */
6640                         case 0: /* must back up */
6641                         /* undo the effects of YY_DO_BEFORE_ACTION */
6642                         *yy_cp = (yy_hold_char);
6643                         yy_cp = (yy_last_accepting_cpos);
6644                         yy_current_state = (yy_last_accepting_state);
6645                         goto yy_find_action;
6646
6647 case 1:
6648 YY_RULE_SETUP
6649 ENTER(INCOMMENT);
6650         YY_BREAK
6651 case 2:
6652 YY_RULE_SETUP
6653 ENTER(INPI);
6654         YY_BREAK
6655
6656 case 3:
6657 YY_RULE_SETUP
6658 LEAVE;
6659         YY_BREAK
6660 case 4:
6661 case 5:
6662 case 6:
6663 /* rule 6 can match eol */
6664 YY_RULE_SETUP
6665 SKIP;
6666         YY_BREAK
6667 case YY_STATE_EOF(INCOMMENT):
6668 FAIL("EOF in comment.");
6669         YY_BREAK
6670
6671 case 7:
6672 YY_RULE_SETUP
6673 LEAVE;
6674         YY_BREAK
6675 case 8:
6676 case 9:
6677 /* rule 9 can match eol */
6678 YY_RULE_SETUP
6679 SKIP;
6680         YY_BREAK
6681 case YY_STATE_EOF(INPI):
6682 FAIL("EOF in PI (processing instruction).");
6683         YY_BREAK
6684
6685 /* SPACES: skipped uniformly */
6686 case 10:
6687 /* rule 10 can match eol */
6688 YY_RULE_SETUP
6689 SKIP;
6690         YY_BREAK
6691 /* PROLOG: determine root element and process it. */
6692
6693 case 11:
6694 /* rule 11 can match eol */
6695 YY_RULE_SETUP
6696 SET(DOCTYPE); 
6697         YY_BREAK
6698 case 12:
6699 /* rule 12 can match eol */
6700 YY_RULE_SETUP
6701 FAIL("Bad declaration %s.\nIf you are using an XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",yytext);
6702         YY_BREAK
6703
6704 case 13:
6705 /* rule 13 can match eol */
6706 YY_RULE_SETUP
6707 SET(ROOT_simgrid_parse_platform);
6708         YY_BREAK
6709 case 14:
6710 /* rule 14 can match eol */
6711 YY_RULE_SETUP
6712 SET(ROOT_simgrid_parse_platform);
6713         YY_BREAK
6714 case 15:
6715 /* rule 15 can match eol */
6716 YY_RULE_SETUP
6717 FAIL("Bad declaration %s.\nIf you are using an XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",yytext);
6718         YY_BREAK
6719 case 16:
6720 YY_RULE_SETUP
6721 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
6722         YY_BREAK
6723 case YY_STATE_EOF(PROLOG):
6724 case YY_STATE_EOF(DOCTYPE):
6725 FAIL("EOF in prolog.");
6726         YY_BREAK
6727
6728 /* RULES DERIVED FROM DTD. */
6729 /* <!-- AS is a deprecated equivalent of zone -->
6730   *           (((AS|zone|include|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,
6731   *         (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
6732   *         (trace|trace_connect)*)
6733   *        |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
6734   *          (route|trace|trace_connect|bypassRoute)*)))>  */
6735 case 17:
6736 /* rule 17 can match eol */
6737 YY_RULE_SETUP
6738 FAIL("Starting tag <AS> is not allowed here.");
6739         YY_BREAK
6740 case 18:
6741 /* rule 18 can match eol */
6742 YY_RULE_SETUP
6743 {
6744   AX_simgrid_parse_AS_id = 0;
6745   simgrid_parse_AS_id_isset = 0;
6746   AX_simgrid_parse_AS_routing = 0;
6747   simgrid_parse_AS_routing_isset = 0;
6748   ENTER(AL_simgrid_parse_AS); pushbuffer(0);
6749   }
6750         YY_BREAK
6751
6752 case 19:
6753 /* rule 19 can match eol */
6754 YY_RULE_SETUP
6755 if (simgrid_parse_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_AS>");} simgrid_parse_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_AS_id);
6756         YY_BREAK
6757 case 20:
6758 /* rule 20 can match eol */
6759 YY_RULE_SETUP
6760 if (simgrid_parse_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_AS>");}  simgrid_parse_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_AS_id);
6761         YY_BREAK
6762 case 21:
6763 /* rule 21 can match eol */
6764 YY_RULE_SETUP
6765 if (simgrid_parse_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_AS>");} simgrid_parse_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_AS_routing);
6766         YY_BREAK
6767 case 22:
6768 /* rule 22 can match eol */
6769 YY_RULE_SETUP
6770 if (simgrid_parse_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_AS>");}  simgrid_parse_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_AS_routing);
6771         YY_BREAK
6772 case 23:
6773 YY_RULE_SETUP
6774 {
6775   if (!AX_simgrid_parse_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
6776   if (!AX_simgrid_parse_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
6777   LEAVE; STag_simgrid_parse_AS();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_AS);
6778  }
6779         YY_BREAK
6780 case 24:
6781 YY_RULE_SETUP
6782 {
6783   if (!AX_simgrid_parse_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
6784   if (!AX_simgrid_parse_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
6785   LEAVE; STag_simgrid_parse_AS(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_AS(); popbuffer(); /* attribute */
6786   switch (YY_START) {
6787    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
6788    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
6789    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
6790    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
6791   }
6792  }
6793         YY_BREAK
6794 case 25:
6795 YY_RULE_SETUP
6796 FAIL("Unexpected character `%c' in attribute list of AS element.", yytext[0]);
6797         YY_BREAK
6798 case 26:
6799 YY_RULE_SETUP
6800 FAIL("Bad attribute `%s' in `AS' element start tag.",yytext);
6801         YY_BREAK
6802 case YY_STATE_EOF(AL_simgrid_parse_AS):
6803 FAIL("EOF in attribute list of `AS' element.");
6804         YY_BREAK
6805
6806 case 27:
6807 /* rule 27 can match eol */
6808 YY_RULE_SETUP
6809 {
6810   LEAVE;
6811   ETag_simgrid_parse_AS();
6812   popbuffer(); /* attribute */
6813   switch (YY_START) {
6814    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
6815    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
6816    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
6817    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
6818   }
6819  }
6820         YY_BREAK
6821 case 28:
6822 /* rule 28 can match eol */
6823 YY_RULE_SETUP
6824 FAIL("Unexpected end-tag `%s': `</AS>' expected.",yytext);
6825         YY_BREAK
6826 case 29:
6827 YY_RULE_SETUP
6828 FAIL("Unexpected character `%c': `</AS>' expected.",yytext[0]);
6829         YY_BREAK
6830 case YY_STATE_EOF(E_simgrid_parse_AS):
6831 case YY_STATE_EOF(S_simgrid_parse_AS):
6832 case YY_STATE_EOF(S_simgrid_parse_AS_1):
6833 case YY_STATE_EOF(S_simgrid_parse_AS_11):
6834 case YY_STATE_EOF(S_simgrid_parse_AS_12):
6835 case YY_STATE_EOF(S_simgrid_parse_AS_14):
6836 case YY_STATE_EOF(S_simgrid_parse_AS_16):
6837 case YY_STATE_EOF(S_simgrid_parse_AS_3):
6838 case YY_STATE_EOF(S_simgrid_parse_AS_4):
6839 case YY_STATE_EOF(S_simgrid_parse_AS_6):
6840 case YY_STATE_EOF(S_simgrid_parse_AS_7):
6841 case YY_STATE_EOF(S_simgrid_parse_AS_9):
6842 FAIL("Premature EOF: `</AS>' expected.");
6843         YY_BREAK
6844
6845 /* <!-- ASroute bypassASRoute are deprecated (prefer zoneRoute and friends) -->  */
6846 case 30:
6847 /* rule 30 can match eol */
6848 YY_RULE_SETUP
6849 FAIL("Starting tag <ASroute> is not allowed here.");
6850         YY_BREAK
6851 case 31:
6852 /* rule 31 can match eol */
6853 YY_RULE_SETUP
6854 {
6855   AX_simgrid_parse_ASroute_dst = 0;
6856   simgrid_parse_ASroute_dst_isset = 0;
6857   AX_simgrid_parse_ASroute_gw___dst = 0;
6858   simgrid_parse_ASroute_gw___dst_isset = 0;
6859   AX_simgrid_parse_ASroute_gw___src = 0;
6860   simgrid_parse_ASroute_gw___src_isset = 0;
6861   AX_simgrid_parse_ASroute_src = 0;
6862   simgrid_parse_ASroute_src_isset = 0;
6863   AX_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_YES;
6864   simgrid_parse_ASroute_symmetrical_isset = 0;
6865   ENTER(AL_simgrid_parse_ASroute); pushbuffer(0);
6866   }
6867         YY_BREAK
6868
6869 case 32:
6870 /* rule 32 can match eol */
6871 YY_RULE_SETUP
6872 if (simgrid_parse_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_dst);
6873         YY_BREAK
6874 case 33:
6875 /* rule 33 can match eol */
6876 YY_RULE_SETUP
6877 if (simgrid_parse_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_dst);
6878         YY_BREAK
6879 case 34:
6880 /* rule 34 can match eol */
6881 YY_RULE_SETUP
6882 if (simgrid_parse_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_gw___dst);
6883         YY_BREAK
6884 case 35:
6885 /* rule 35 can match eol */
6886 YY_RULE_SETUP
6887 if (simgrid_parse_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_gw___dst);
6888         YY_BREAK
6889 case 36:
6890 /* rule 36 can match eol */
6891 YY_RULE_SETUP
6892 if (simgrid_parse_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_gw___src);
6893         YY_BREAK
6894 case 37:
6895 /* rule 37 can match eol */
6896 YY_RULE_SETUP
6897 if (simgrid_parse_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_gw___src);
6898         YY_BREAK
6899 case 38:
6900 /* rule 38 can match eol */
6901 YY_RULE_SETUP
6902 if (simgrid_parse_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_src);
6903         YY_BREAK
6904 case 39:
6905 /* rule 39 can match eol */
6906 YY_RULE_SETUP
6907 if (simgrid_parse_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_src);
6908         YY_BREAK
6909 case 40:
6910 /* rule 40 can match eol */
6911 case 41:
6912 /* rule 41 can match eol */
6913 YY_RULE_SETUP
6914 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_YES;
6915         YY_BREAK
6916 case 42:
6917 /* rule 42 can match eol */
6918 case 43:
6919 /* rule 43 can match eol */
6920 YY_RULE_SETUP
6921 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_NO;
6922         YY_BREAK
6923 case 44:
6924 /* rule 44 can match eol */
6925 case 45:
6926 /* rule 45 can match eol */
6927 YY_RULE_SETUP
6928 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_yes;
6929         YY_BREAK
6930 case 46:
6931 /* rule 46 can match eol */
6932 case 47:
6933 /* rule 47 can match eol */
6934 YY_RULE_SETUP
6935 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_no;
6936         YY_BREAK
6937 case 48:
6938 YY_RULE_SETUP
6939 {
6940   if (!AX_simgrid_parse_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6941   if (!AX_simgrid_parse_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6942   if (!AX_simgrid_parse_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6943   if (!AX_simgrid_parse_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6944   LEAVE; STag_simgrid_parse_ASroute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_ASroute);
6945  }
6946         YY_BREAK
6947 case 49:
6948 YY_RULE_SETUP
6949 {
6950   if (!AX_simgrid_parse_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6951   if (!AX_simgrid_parse_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6952   if (!AX_simgrid_parse_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6953   if (!AX_simgrid_parse_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6954   LEAVE; STag_simgrid_parse_ASroute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_ASroute(); popbuffer(); /* attribute */
6955   switch (YY_START) {
6956    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
6957    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
6958   }
6959  }
6960         YY_BREAK
6961 case 50:
6962 YY_RULE_SETUP
6963 FAIL("Unexpected character `%c' in attribute list of ASroute element.", yytext[0]);
6964         YY_BREAK
6965 case 51:
6966 YY_RULE_SETUP
6967 FAIL("Bad attribute `%s' in `ASroute' element start tag.",yytext);
6968         YY_BREAK
6969 case YY_STATE_EOF(AL_simgrid_parse_ASroute):
6970 FAIL("EOF in attribute list of `ASroute' element.");
6971         YY_BREAK
6972
6973 case 52:
6974 /* rule 52 can match eol */
6975 YY_RULE_SETUP
6976 {
6977   LEAVE;
6978   ETag_simgrid_parse_ASroute();
6979   popbuffer(); /* attribute */
6980   switch (YY_START) {
6981    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
6982    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
6983   }
6984  }
6985         YY_BREAK
6986 case 53:
6987 /* rule 53 can match eol */
6988 YY_RULE_SETUP
6989 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",yytext);
6990         YY_BREAK
6991 case 54:
6992 YY_RULE_SETUP
6993 FAIL("Unexpected character `%c': `</ASroute>' expected.",yytext[0]);
6994         YY_BREAK
6995 case YY_STATE_EOF(E_simgrid_parse_ASroute):
6996 case YY_STATE_EOF(S_simgrid_parse_ASroute):
6997 case YY_STATE_EOF(S_simgrid_parse_ASroute_2):
6998 FAIL("Premature EOF: `</ASroute>' expected.");
6999         YY_BREAK
7000
7001 case 55:
7002 /* rule 55 can match eol */
7003 YY_RULE_SETUP
7004 FAIL("Starting tag <actor> is not allowed here.");
7005         YY_BREAK
7006 case 56:
7007 /* rule 56 can match eol */
7008 YY_RULE_SETUP
7009 {
7010   AX_simgrid_parse_actor_function = 0;
7011   simgrid_parse_actor_function_isset = 0;
7012   AX_simgrid_parse_actor_host = 0;
7013   simgrid_parse_actor_host_isset = 0;
7014   AX_simgrid_parse_actor_kill___time = 48;
7015   simgrid_parse_actor_kill___time_isset = 0;
7016   AX_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_DIE;
7017   simgrid_parse_actor_on___failure_isset = 0;
7018   AX_simgrid_parse_actor_start___time = 43;
7019   simgrid_parse_actor_start___time_isset = 0;
7020   ENTER(AL_simgrid_parse_actor); pushbuffer(0);
7021   }
7022         YY_BREAK
7023
7024 case 57:
7025 /* rule 57 can match eol */
7026 YY_RULE_SETUP
7027 if (simgrid_parse_actor_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_actor>");} simgrid_parse_actor_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_function);
7028         YY_BREAK
7029 case 58:
7030 /* rule 58 can match eol */
7031 YY_RULE_SETUP
7032 if (simgrid_parse_actor_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_actor>");}  simgrid_parse_actor_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_function);
7033         YY_BREAK
7034 case 59:
7035 /* rule 59 can match eol */
7036 YY_RULE_SETUP
7037 if (simgrid_parse_actor_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_actor>");} simgrid_parse_actor_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_host);
7038         YY_BREAK
7039 case 60:
7040 /* rule 60 can match eol */
7041 YY_RULE_SETUP
7042 if (simgrid_parse_actor_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_actor>");}  simgrid_parse_actor_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_host);
7043         YY_BREAK
7044 case 61:
7045 /* rule 61 can match eol */
7046 YY_RULE_SETUP
7047 if (simgrid_parse_actor_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_actor>");} simgrid_parse_actor_kill___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_kill___time);
7048         YY_BREAK
7049 case 62:
7050 /* rule 62 can match eol */
7051 YY_RULE_SETUP
7052 if (simgrid_parse_actor_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_actor>");}  simgrid_parse_actor_kill___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_kill___time);
7053         YY_BREAK
7054 case 63:
7055 /* rule 63 can match eol */
7056 case 64:
7057 /* rule 64 can match eol */
7058 YY_RULE_SETUP
7059 A_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_DIE;
7060         YY_BREAK
7061 case 65:
7062 /* rule 65 can match eol */
7063 case 66:
7064 /* rule 66 can match eol */
7065 YY_RULE_SETUP
7066 A_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_RESTART;
7067         YY_BREAK
7068 case 67:
7069 /* rule 67 can match eol */
7070 YY_RULE_SETUP
7071 if (simgrid_parse_actor_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_actor>");} simgrid_parse_actor_start___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_start___time);
7072         YY_BREAK
7073 case 68:
7074 /* rule 68 can match eol */
7075 YY_RULE_SETUP
7076 if (simgrid_parse_actor_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_actor>");}  simgrid_parse_actor_start___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_start___time);
7077         YY_BREAK
7078 case 69:
7079 YY_RULE_SETUP
7080 {
7081   if (!AX_simgrid_parse_actor_function) FAIL("Required attribute `function' not set for `actor' element.");
7082   if (!AX_simgrid_parse_actor_host) FAIL("Required attribute `host' not set for `actor' element.");
7083   LEAVE; STag_simgrid_parse_actor();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_actor);
7084  }
7085         YY_BREAK
7086 case 70:
7087 YY_RULE_SETUP
7088 {
7089   if (!AX_simgrid_parse_actor_function) FAIL("Required attribute `function' not set for `actor' element.");
7090   if (!AX_simgrid_parse_actor_host) FAIL("Required attribute `host' not set for `actor' element.");
7091   LEAVE; STag_simgrid_parse_actor(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_actor(); popbuffer(); /* attribute */
7092   switch (YY_START) {
7093    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
7094   }
7095  }
7096         YY_BREAK
7097 case 71:
7098 YY_RULE_SETUP
7099 FAIL("Unexpected character `%c' in attribute list of actor element.", yytext[0]);
7100         YY_BREAK
7101 case 72:
7102 YY_RULE_SETUP
7103 FAIL("Bad attribute `%s' in `actor' element start tag.",yytext);
7104         YY_BREAK
7105 case YY_STATE_EOF(AL_simgrid_parse_actor):
7106 FAIL("EOF in attribute list of `actor' element.");
7107         YY_BREAK
7108
7109 case 73:
7110 /* rule 73 can match eol */
7111 YY_RULE_SETUP
7112 {
7113   LEAVE;
7114   ETag_simgrid_parse_actor();
7115   popbuffer(); /* attribute */
7116   switch (YY_START) {
7117    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
7118   }
7119  }
7120         YY_BREAK
7121 case 74:
7122 /* rule 74 can match eol */
7123 YY_RULE_SETUP
7124 FAIL("Unexpected end-tag `%s': `</actor>' expected.",yytext);
7125         YY_BREAK
7126 case 75:
7127 YY_RULE_SETUP
7128 FAIL("Unexpected character `%c': `</actor>' expected.",yytext[0]);
7129         YY_BREAK
7130 case YY_STATE_EOF(E_simgrid_parse_actor):
7131 case YY_STATE_EOF(S_simgrid_parse_actor):
7132 case YY_STATE_EOF(S_simgrid_parse_actor_2):
7133 FAIL("Premature EOF: `</actor>' expected.");
7134         YY_BREAK
7135
7136 case 76:
7137 /* rule 76 can match eol */
7138 YY_RULE_SETUP
7139 FAIL("Starting tag <argument> is not allowed here.");
7140         YY_BREAK
7141 case 77:
7142 /* rule 77 can match eol */
7143 YY_RULE_SETUP
7144 {
7145   AX_simgrid_parse_argument_value = 0;
7146   simgrid_parse_argument_value_isset = 0;
7147   ENTER(AL_simgrid_parse_argument); pushbuffer(0);
7148   }
7149         YY_BREAK
7150
7151 case 78:
7152 /* rule 78 can match eol */
7153 YY_RULE_SETUP
7154 if (simgrid_parse_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_argument>");} simgrid_parse_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_argument_value);
7155         YY_BREAK
7156 case 79:
7157 /* rule 79 can match eol */
7158 YY_RULE_SETUP
7159 if (simgrid_parse_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_argument>");}  simgrid_parse_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_argument_value);
7160         YY_BREAK
7161 case 80:
7162 YY_RULE_SETUP
7163 {
7164   if (!AX_simgrid_parse_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7165   LEAVE; STag_simgrid_parse_argument();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_argument);
7166  }
7167         YY_BREAK
7168 case 81:
7169 YY_RULE_SETUP
7170 {
7171   if (!AX_simgrid_parse_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7172   LEAVE; STag_simgrid_parse_argument(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_argument(); popbuffer(); /* attribute */
7173   switch (YY_START) {
7174    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
7175    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
7176   }
7177  }
7178         YY_BREAK
7179 case 82:
7180 YY_RULE_SETUP
7181 FAIL("Unexpected character `%c' in attribute list of argument element.", yytext[0]);
7182         YY_BREAK
7183 case 83:
7184 YY_RULE_SETUP
7185 FAIL("Bad attribute `%s' in `argument' element start tag.",yytext);
7186         YY_BREAK
7187 case YY_STATE_EOF(AL_simgrid_parse_argument):
7188 FAIL("EOF in attribute list of `argument' element.");
7189         YY_BREAK
7190
7191 case 84:
7192 /* rule 84 can match eol */
7193 YY_RULE_SETUP
7194 {
7195   LEAVE;
7196   ETag_simgrid_parse_argument();
7197   popbuffer(); /* attribute */
7198   switch (YY_START) {
7199    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
7200    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
7201   }
7202  }
7203         YY_BREAK
7204 case 85:
7205 /* rule 85 can match eol */
7206 YY_RULE_SETUP
7207 FAIL("Unexpected end-tag `%s': `</argument>' expected.",yytext);
7208         YY_BREAK
7209 case 86:
7210 YY_RULE_SETUP
7211 FAIL("Unexpected character `%c': `</argument>' expected.",yytext[0]);
7212         YY_BREAK
7213 case YY_STATE_EOF(E_simgrid_parse_argument):
7214 FAIL("Premature EOF: `</argument>' expected.");
7215         YY_BREAK
7216
7217 case 87:
7218 /* rule 87 can match eol */
7219 YY_RULE_SETUP
7220 FAIL("Starting tag <backbone> is not allowed here.");
7221         YY_BREAK
7222 case 88:
7223 /* rule 88 can match eol */
7224 YY_RULE_SETUP
7225 {
7226   AX_simgrid_parse_backbone_bandwidth = 0;
7227   simgrid_parse_backbone_bandwidth_isset = 0;
7228   AX_simgrid_parse_backbone_id = 0;
7229   simgrid_parse_backbone_id_isset = 0;
7230   AX_simgrid_parse_backbone_latency = 0;
7231   simgrid_parse_backbone_latency_isset = 0;
7232   ENTER(AL_simgrid_parse_backbone); pushbuffer(0);
7233   }
7234         YY_BREAK
7235
7236 case 89:
7237 /* rule 89 can match eol */
7238 YY_RULE_SETUP
7239 if (simgrid_parse_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_backbone>");} simgrid_parse_backbone_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_bandwidth);
7240         YY_BREAK
7241 case 90:
7242 /* rule 90 can match eol */
7243 YY_RULE_SETUP
7244 if (simgrid_parse_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_backbone>");}  simgrid_parse_backbone_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_bandwidth);
7245         YY_BREAK
7246 case 91:
7247 /* rule 91 can match eol */
7248 YY_RULE_SETUP
7249 if (simgrid_parse_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_backbone>");} simgrid_parse_backbone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_id);
7250         YY_BREAK
7251 case 92:
7252 /* rule 92 can match eol */
7253 YY_RULE_SETUP
7254 if (simgrid_parse_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_backbone>");}  simgrid_parse_backbone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_id);
7255         YY_BREAK
7256 case 93:
7257 /* rule 93 can match eol */
7258 YY_RULE_SETUP
7259 if (simgrid_parse_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_backbone>");} simgrid_parse_backbone_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_latency);
7260         YY_BREAK
7261 case 94:
7262 /* rule 94 can match eol */
7263 YY_RULE_SETUP
7264 if (simgrid_parse_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_backbone>");}  simgrid_parse_backbone_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_latency);
7265         YY_BREAK
7266 case 95:
7267 YY_RULE_SETUP
7268 {
7269   if (!AX_simgrid_parse_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
7270   if (!AX_simgrid_parse_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
7271   if (!AX_simgrid_parse_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
7272   LEAVE; STag_simgrid_parse_backbone();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_backbone);
7273  }
7274         YY_BREAK
7275 case 96:
7276 YY_RULE_SETUP
7277 {
7278   if (!AX_simgrid_parse_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
7279   if (!AX_simgrid_parse_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
7280   if (!AX_simgrid_parse_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
7281   LEAVE; STag_simgrid_parse_backbone(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_backbone(); popbuffer(); /* attribute */
7282   switch (YY_START) {
7283     case S_simgrid_parse_AS:
7284     case S_simgrid_parse_AS_13:
7285     case S_simgrid_parse_AS_14:
7286     case S_simgrid_parse_AS_3:
7287       SET(S_simgrid_parse_AS_14);
7288       break;
7289     case S_simgrid_parse_AS_1:
7290     case S_simgrid_parse_AS_5:
7291     case S_simgrid_parse_AS_6:
7292       SET(S_simgrid_parse_AS_6);
7293       break;
7294     case S_simgrid_parse_zone:
7295     case S_simgrid_parse_zone_13:
7296     case S_simgrid_parse_zone_14:
7297     case S_simgrid_parse_zone_1:
7298     case S_simgrid_parse_zone_3:
7299       SET(S_simgrid_parse_zone_14);
7300       break;
7301     case S_simgrid_parse_zone_5:
7302     case S_simgrid_parse_zone_6:
7303       SET(S_simgrid_parse_zone_6);
7304       break;
7305   }
7306  }
7307         YY_BREAK
7308 case 97:
7309 YY_RULE_SETUP
7310 FAIL("Unexpected character `%c' in attribute list of backbone element.", yytext[0]);
7311         YY_BREAK
7312 case 98:
7313 YY_RULE_SETUP
7314 FAIL("Bad attribute `%s' in `backbone' element start tag.",yytext);
7315         YY_BREAK
7316 case YY_STATE_EOF(AL_simgrid_parse_backbone):
7317 FAIL("EOF in attribute list of `backbone' element.");
7318         YY_BREAK
7319
7320 case 99:
7321 /* rule 99 can match eol */
7322 YY_RULE_SETUP
7323 {
7324   LEAVE;
7325   ETag_simgrid_parse_backbone();
7326   popbuffer(); /* attribute */
7327   switch (YY_START) {
7328     case S_simgrid_parse_AS:
7329     case S_simgrid_parse_AS_13:
7330     case S_simgrid_parse_AS_14:
7331     case S_simgrid_parse_AS_3:
7332       SET(S_simgrid_parse_AS_14);
7333       break;
7334     case S_simgrid_parse_AS_1:
7335     case S_simgrid_parse_AS_5:
7336     case S_simgrid_parse_AS_6:
7337       SET(S_simgrid_parse_AS_6);
7338       break;
7339     case S_simgrid_parse_zone:
7340     case S_simgrid_parse_zone_13:
7341     case S_simgrid_parse_zone_14:
7342     case S_simgrid_parse_zone_1:
7343     case S_simgrid_parse_zone_3:
7344       SET(S_simgrid_parse_zone_14);
7345       break;
7346     case S_simgrid_parse_zone_5:
7347     case S_simgrid_parse_zone_6:
7348       SET(S_simgrid_parse_zone_6);
7349       break;
7350   }
7351  }
7352         YY_BREAK
7353 case 100:
7354 /* rule 100 can match eol */
7355 YY_RULE_SETUP
7356 FAIL("Unexpected end-tag `%s': `</backbone>' expected.",yytext);
7357         YY_BREAK
7358 case 101:
7359 YY_RULE_SETUP
7360 FAIL("Unexpected character `%c': `</backbone>' expected.",yytext[0]);
7361         YY_BREAK
7362 case YY_STATE_EOF(E_simgrid_parse_backbone):
7363 FAIL("Premature EOF: `</backbone>' expected.");
7364         YY_BREAK
7365
7366 case 102:
7367 /* rule 102 can match eol */
7368 YY_RULE_SETUP
7369 FAIL("Starting tag <bypassASroute> is not allowed here.");
7370         YY_BREAK
7371 case 103:
7372 /* rule 103 can match eol */
7373 YY_RULE_SETUP
7374 {
7375   AX_simgrid_parse_bypassASroute_dst = 0;
7376   simgrid_parse_bypassASroute_dst_isset = 0;
7377   AX_simgrid_parse_bypassASroute_gw___dst = 0;
7378   simgrid_parse_bypassASroute_gw___dst_isset = 0;
7379   AX_simgrid_parse_bypassASroute_gw___src = 0;
7380   simgrid_parse_bypassASroute_gw___src_isset = 0;
7381   AX_simgrid_parse_bypassASroute_src = 0;
7382   simgrid_parse_bypassASroute_src_isset = 0;
7383   ENTER(AL_simgrid_parse_bypassASroute); pushbuffer(0);
7384   }
7385         YY_BREAK
7386
7387 case 104:
7388 /* rule 104 can match eol */
7389 YY_RULE_SETUP
7390 if (simgrid_parse_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_dst);
7391         YY_BREAK
7392 case 105:
7393 /* rule 105 can match eol */
7394 YY_RULE_SETUP
7395 if (simgrid_parse_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_dst);
7396         YY_BREAK
7397 case 106:
7398 /* rule 106 can match eol */
7399 YY_RULE_SETUP
7400 if (simgrid_parse_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___dst);
7401         YY_BREAK
7402 case 107:
7403 /* rule 107 can match eol */
7404 YY_RULE_SETUP
7405 if (simgrid_parse_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___dst);
7406         YY_BREAK
7407 case 108:
7408 /* rule 108 can match eol */
7409 YY_RULE_SETUP
7410 if (simgrid_parse_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___src);
7411         YY_BREAK
7412 case 109:
7413 /* rule 109 can match eol */
7414 YY_RULE_SETUP
7415 if (simgrid_parse_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___src);
7416         YY_BREAK
7417 case 110:
7418 /* rule 110 can match eol */
7419 YY_RULE_SETUP
7420 if (simgrid_parse_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_src);
7421         YY_BREAK
7422 case 111:
7423 /* rule 111 can match eol */
7424 YY_RULE_SETUP
7425 if (simgrid_parse_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_src);
7426         YY_BREAK
7427 case 112:
7428 YY_RULE_SETUP
7429 {
7430   if (!AX_simgrid_parse_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7431   if (!AX_simgrid_parse_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7432   if (!AX_simgrid_parse_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7433   if (!AX_simgrid_parse_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7434   LEAVE; STag_simgrid_parse_bypassASroute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassASroute);
7435  }
7436         YY_BREAK
7437 case 113:
7438 YY_RULE_SETUP
7439 {
7440   if (!AX_simgrid_parse_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7441   if (!AX_simgrid_parse_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7442   if (!AX_simgrid_parse_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7443   if (!AX_simgrid_parse_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7444   LEAVE; STag_simgrid_parse_bypassASroute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassASroute(); popbuffer(); /* attribute */
7445   switch (YY_START) {
7446    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7447    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7448   }
7449  }
7450         YY_BREAK
7451 case 114:
7452 YY_RULE_SETUP
7453 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", yytext[0]);
7454         YY_BREAK
7455 case 115:
7456 YY_RULE_SETUP
7457 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",yytext);
7458         YY_BREAK
7459 case YY_STATE_EOF(AL_simgrid_parse_bypassASroute):
7460 FAIL("EOF in attribute list of `bypassASroute' element.");
7461         YY_BREAK
7462
7463 case 116:
7464 /* rule 116 can match eol */
7465 YY_RULE_SETUP
7466 {
7467   LEAVE;
7468   ETag_simgrid_parse_bypassASroute();
7469   popbuffer(); /* attribute */
7470   switch (YY_START) {
7471    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7472    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7473   }
7474  }
7475         YY_BREAK
7476 case 117:
7477 /* rule 117 can match eol */
7478 YY_RULE_SETUP
7479 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",yytext);
7480         YY_BREAK
7481 case 118:
7482 YY_RULE_SETUP
7483 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",yytext[0]);
7484         YY_BREAK
7485 case YY_STATE_EOF(E_simgrid_parse_bypassASroute):
7486 case YY_STATE_EOF(S_simgrid_parse_bypassASroute):
7487 case YY_STATE_EOF(S_simgrid_parse_bypassASroute_2):
7488 FAIL("Premature EOF: `</bypassASroute>' expected.");
7489         YY_BREAK
7490
7491 case 119:
7492 /* rule 119 can match eol */
7493 YY_RULE_SETUP
7494 FAIL("Starting tag <bypassRoute> is not allowed here.");
7495         YY_BREAK
7496 case 120:
7497 /* rule 120 can match eol */
7498 YY_RULE_SETUP
7499 {
7500   AX_simgrid_parse_bypassRoute_dst = 0;
7501   simgrid_parse_bypassRoute_dst_isset = 0;
7502   AX_simgrid_parse_bypassRoute_src = 0;
7503   simgrid_parse_bypassRoute_src_isset = 0;
7504   ENTER(AL_simgrid_parse_bypassRoute); pushbuffer(0);
7505   }
7506         YY_BREAK
7507
7508 case 121:
7509 /* rule 121 can match eol */
7510 YY_RULE_SETUP
7511 if (simgrid_parse_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassRoute>");} simgrid_parse_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassRoute_dst);
7512         YY_BREAK
7513 case 122:
7514 /* rule 122 can match eol */
7515 YY_RULE_SETUP
7516 if (simgrid_parse_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassRoute>");}  simgrid_parse_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassRoute_dst);
7517         YY_BREAK
7518 case 123:
7519 /* rule 123 can match eol */
7520 YY_RULE_SETUP
7521 if (simgrid_parse_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassRoute>");} simgrid_parse_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassRoute_src);
7522         YY_BREAK
7523 case 124:
7524 /* rule 124 can match eol */
7525 YY_RULE_SETUP
7526 if (simgrid_parse_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassRoute>");}  simgrid_parse_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassRoute_src);
7527         YY_BREAK
7528 case 125:
7529 YY_RULE_SETUP
7530 {
7531   if (!AX_simgrid_parse_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7532   if (!AX_simgrid_parse_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7533   LEAVE; STag_simgrid_parse_bypassRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassRoute);
7534  }
7535         YY_BREAK
7536 case 126:
7537 YY_RULE_SETUP
7538 {
7539   if (!AX_simgrid_parse_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7540   if (!AX_simgrid_parse_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7541   LEAVE; STag_simgrid_parse_bypassRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassRoute(); popbuffer(); /* attribute */
7542   switch (YY_START) {
7543    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
7544    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
7545   }
7546  }
7547         YY_BREAK
7548 case 127:
7549 YY_RULE_SETUP
7550 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", yytext[0]);
7551         YY_BREAK
7552 case 128:
7553 YY_RULE_SETUP
7554 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",yytext);
7555         YY_BREAK
7556 case YY_STATE_EOF(AL_simgrid_parse_bypassRoute):
7557 FAIL("EOF in attribute list of `bypassRoute' element.");
7558         YY_BREAK
7559
7560 case 129:
7561 /* rule 129 can match eol */
7562 YY_RULE_SETUP
7563 {
7564   LEAVE;
7565   ETag_simgrid_parse_bypassRoute();
7566   popbuffer(); /* attribute */
7567   switch (YY_START) {
7568    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
7569    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
7570   }
7571  }
7572         YY_BREAK
7573 case 130:
7574 /* rule 130 can match eol */
7575 YY_RULE_SETUP
7576 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",yytext);
7577         YY_BREAK
7578 case 131:
7579 YY_RULE_SETUP
7580 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",yytext[0]);
7581         YY_BREAK
7582 case YY_STATE_EOF(E_simgrid_parse_bypassRoute):
7583 case YY_STATE_EOF(S_simgrid_parse_bypassRoute):
7584 case YY_STATE_EOF(S_simgrid_parse_bypassRoute_2):
7585 FAIL("Premature EOF: `</bypassRoute>' expected.");
7586         YY_BREAK
7587
7588 case 132:
7589 /* rule 132 can match eol */
7590 YY_RULE_SETUP
7591 FAIL("Starting tag <bypassZoneRoute> is not allowed here.");
7592         YY_BREAK
7593 case 133:
7594 /* rule 133 can match eol */
7595 YY_RULE_SETUP
7596 {
7597   AX_simgrid_parse_bypassZoneRoute_dst = 0;
7598   simgrid_parse_bypassZoneRoute_dst_isset = 0;
7599   AX_simgrid_parse_bypassZoneRoute_gw___dst = 0;
7600   simgrid_parse_bypassZoneRoute_gw___dst_isset = 0;
7601   AX_simgrid_parse_bypassZoneRoute_gw___src = 0;
7602   simgrid_parse_bypassZoneRoute_gw___src_isset = 0;
7603   AX_simgrid_parse_bypassZoneRoute_src = 0;
7604   simgrid_parse_bypassZoneRoute_src_isset = 0;
7605   ENTER(AL_simgrid_parse_bypassZoneRoute); pushbuffer(0);
7606   }
7607         YY_BREAK
7608
7609 case 134:
7610 /* rule 134 can match eol */
7611 YY_RULE_SETUP
7612 if (simgrid_parse_bypassZoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_dst);
7613         YY_BREAK
7614 case 135:
7615 /* rule 135 can match eol */
7616 YY_RULE_SETUP
7617 if (simgrid_parse_bypassZoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_dst);
7618         YY_BREAK
7619 case 136:
7620 /* rule 136 can match eol */
7621 YY_RULE_SETUP
7622 if (simgrid_parse_bypassZoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___dst);
7623         YY_BREAK
7624 case 137:
7625 /* rule 137 can match eol */
7626 YY_RULE_SETUP
7627 if (simgrid_parse_bypassZoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___dst);
7628         YY_BREAK
7629 case 138:
7630 /* rule 138 can match eol */
7631 YY_RULE_SETUP
7632 if (simgrid_parse_bypassZoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___src);
7633         YY_BREAK
7634 case 139:
7635 /* rule 139 can match eol */
7636 YY_RULE_SETUP
7637 if (simgrid_parse_bypassZoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___src);
7638         YY_BREAK
7639 case 140:
7640 /* rule 140 can match eol */
7641 YY_RULE_SETUP
7642 if (simgrid_parse_bypassZoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_src);
7643         YY_BREAK
7644 case 141:
7645 /* rule 141 can match eol */
7646 YY_RULE_SETUP
7647 if (simgrid_parse_bypassZoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_src);
7648         YY_BREAK
7649 case 142:
7650 YY_RULE_SETUP
7651 {
7652   if (!AX_simgrid_parse_bypassZoneRoute_dst) FAIL("Required attribute `dst' not set for `bypassZoneRoute' element.");
7653   if (!AX_simgrid_parse_bypassZoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassZoneRoute' element.");
7654   if (!AX_simgrid_parse_bypassZoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassZoneRoute' element.");
7655   if (!AX_simgrid_parse_bypassZoneRoute_src) FAIL("Required attribute `src' not set for `bypassZoneRoute' element.");
7656   LEAVE; STag_simgrid_parse_bypassZoneRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassZoneRoute);
7657  }
7658         YY_BREAK
7659 case 143:
7660 YY_RULE_SETUP
7661 {
7662   if (!AX_simgrid_parse_bypassZoneRoute_dst) FAIL("Required attribute `dst' not set for `bypassZoneRoute' element.");
7663   if (!AX_simgrid_parse_bypassZoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassZoneRoute' element.");
7664   if (!AX_simgrid_parse_bypassZoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassZoneRoute' element.");
7665   if (!AX_simgrid_parse_bypassZoneRoute_src) FAIL("Required attribute `src' not set for `bypassZoneRoute' element.");
7666   LEAVE; STag_simgrid_parse_bypassZoneRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassZoneRoute(); popbuffer(); /* attribute */
7667   switch (YY_START) {
7668    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7669    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7670   }
7671  }
7672         YY_BREAK
7673 case 144:
7674 YY_RULE_SETUP
7675 FAIL("Unexpected character `%c' in attribute list of bypassZoneRoute element.", yytext[0]);
7676         YY_BREAK
7677 case 145:
7678 YY_RULE_SETUP
7679 FAIL("Bad attribute `%s' in `bypassZoneRoute' element start tag.",yytext);
7680         YY_BREAK
7681 case YY_STATE_EOF(AL_simgrid_parse_bypassZoneRoute):
7682 FAIL("EOF in attribute list of `bypassZoneRoute' element.");
7683         YY_BREAK
7684
7685 case 146:
7686 /* rule 146 can match eol */
7687 YY_RULE_SETUP
7688 {
7689   LEAVE;
7690   ETag_simgrid_parse_bypassZoneRoute();
7691   popbuffer(); /* attribute */
7692   switch (YY_START) {
7693    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7694    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7695   }
7696  }
7697         YY_BREAK
7698 case 147:
7699 /* rule 147 can match eol */
7700 YY_RULE_SETUP
7701 FAIL("Unexpected end-tag `%s': `</bypassZoneRoute>' expected.",yytext);
7702         YY_BREAK
7703 case 148:
7704 YY_RULE_SETUP
7705 FAIL("Unexpected character `%c': `</bypassZoneRoute>' expected.",yytext[0]);
7706         YY_BREAK
7707 case YY_STATE_EOF(E_simgrid_parse_bypassZoneRoute):
7708 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute):
7709 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute_2):
7710 FAIL("Premature EOF: `</bypassZoneRoute>' expected.");
7711         YY_BREAK
7712
7713 case 149:
7714 /* rule 149 can match eol */
7715 YY_RULE_SETUP
7716 FAIL("Starting tag <cabinet> is not allowed here.");
7717         YY_BREAK
7718 case 150:
7719 /* rule 150 can match eol */
7720 YY_RULE_SETUP
7721 {
7722   AX_simgrid_parse_cabinet_bw = 0;
7723   simgrid_parse_cabinet_bw_isset = 0;
7724   AX_simgrid_parse_cabinet_id = 0;
7725   simgrid_parse_cabinet_id_isset = 0;
7726   AX_simgrid_parse_cabinet_lat = 0;
7727   simgrid_parse_cabinet_lat_isset = 0;
7728   AX_simgrid_parse_cabinet_prefix = 0;
7729   simgrid_parse_cabinet_prefix_isset = 0;
7730   AX_simgrid_parse_cabinet_radical = 0;
7731   simgrid_parse_cabinet_radical_isset = 0;
7732   AX_simgrid_parse_cabinet_speed = 0;
7733   simgrid_parse_cabinet_speed_isset = 0;
7734   AX_simgrid_parse_cabinet_suffix = 0;
7735   simgrid_parse_cabinet_suffix_isset = 0;
7736   ENTER(AL_simgrid_parse_cabinet); pushbuffer(0);
7737   }
7738         YY_BREAK
7739
7740 case 151:
7741 /* rule 151 can match eol */
7742 YY_RULE_SETUP
7743 if (simgrid_parse_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_bw);
7744         YY_BREAK
7745 case 152:
7746 /* rule 152 can match eol */
7747 YY_RULE_SETUP
7748 if (simgrid_parse_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_bw);
7749         YY_BREAK
7750 case 153:
7751 /* rule 153 can match eol */
7752 YY_RULE_SETUP
7753 if (simgrid_parse_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_id);
7754         YY_BREAK
7755 case 154:
7756 /* rule 154 can match eol */
7757 YY_RULE_SETUP
7758 if (simgrid_parse_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_id);
7759         YY_BREAK
7760 case 155:
7761 /* rule 155 can match eol */
7762 YY_RULE_SETUP
7763 if (simgrid_parse_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_lat);
7764         YY_BREAK
7765 case 156:
7766 /* rule 156 can match eol */
7767 YY_RULE_SETUP
7768 if (simgrid_parse_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_lat);
7769         YY_BREAK
7770 case 157:
7771 /* rule 157 can match eol */
7772 YY_RULE_SETUP
7773 if (simgrid_parse_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_prefix);
7774         YY_BREAK
7775 case 158:
7776 /* rule 158 can match eol */
7777 YY_RULE_SETUP
7778 if (simgrid_parse_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_prefix);
7779         YY_BREAK
7780 case 159:
7781 /* rule 159 can match eol */
7782 YY_RULE_SETUP
7783 if (simgrid_parse_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_radical);
7784         YY_BREAK
7785 case 160:
7786 /* rule 160 can match eol */
7787 YY_RULE_SETUP
7788 if (simgrid_parse_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_radical);
7789         YY_BREAK
7790 case 161:
7791 /* rule 161 can match eol */
7792 YY_RULE_SETUP
7793 if (simgrid_parse_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_speed);
7794         YY_BREAK
7795 case 162:
7796 /* rule 162 can match eol */
7797 YY_RULE_SETUP
7798 if (simgrid_parse_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_speed);
7799         YY_BREAK
7800 case 163:
7801 /* rule 163 can match eol */
7802 YY_RULE_SETUP
7803 if (simgrid_parse_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_suffix);
7804         YY_BREAK
7805 case 164:
7806 /* rule 164 can match eol */
7807 YY_RULE_SETUP
7808 if (simgrid_parse_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_suffix);
7809         YY_BREAK
7810 case 165:
7811 YY_RULE_SETUP
7812 {
7813   if (!AX_simgrid_parse_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
7814   if (!AX_simgrid_parse_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
7815   if (!AX_simgrid_parse_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
7816   if (!AX_simgrid_parse_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
7817   if (!AX_simgrid_parse_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
7818   if (!AX_simgrid_parse_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
7819   if (!AX_simgrid_parse_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
7820   LEAVE; STag_simgrid_parse_cabinet();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_cabinet);
7821  }
7822         YY_BREAK
7823 case 166:
7824 YY_RULE_SETUP
7825 {
7826   if (!AX_simgrid_parse_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
7827   if (!AX_simgrid_parse_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
7828   if (!AX_simgrid_parse_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
7829   if (!AX_simgrid_parse_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
7830   if (!AX_simgrid_parse_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
7831   if (!AX_simgrid_parse_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
7832   if (!AX_simgrid_parse_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
7833   LEAVE; STag_simgrid_parse_cabinet(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_cabinet(); popbuffer(); /* attribute */
7834   switch (YY_START) {
7835     case S_simgrid_parse_AS:
7836     case S_simgrid_parse_AS_13:
7837     case S_simgrid_parse_AS_14:
7838     case S_simgrid_parse_AS_3:
7839       SET(S_simgrid_parse_AS_14);
7840       break;
7841     case S_simgrid_parse_AS_1:
7842     case S_simgrid_parse_AS_5:
7843     case S_simgrid_parse_AS_6:
7844       SET(S_simgrid_parse_AS_6);
7845       break;
7846     case S_simgrid_parse_include:
7847     case S_simgrid_parse_include_1:
7848     case S_simgrid_parse_include_2:
7849       SET(S_simgrid_parse_include_2);
7850       break;
7851     case S_simgrid_parse_platform:
7852     case S_simgrid_parse_platform_1:
7853     case S_simgrid_parse_platform_3:
7854     case S_simgrid_parse_platform_5:
7855     case S_simgrid_parse_platform_6:
7856       SET(S_simgrid_parse_platform_6);
7857       break;
7858     case S_simgrid_parse_zone:
7859     case S_simgrid_parse_zone_13:
7860     case S_simgrid_parse_zone_14:
7861     case S_simgrid_parse_zone_1:
7862     case S_simgrid_parse_zone_3:
7863       SET(S_simgrid_parse_zone_14);
7864       break;
7865   }
7866  }
7867         YY_BREAK
7868 case 167:
7869 YY_RULE_SETUP
7870 FAIL("Unexpected character `%c' in attribute list of cabinet element.", yytext[0]);
7871         YY_BREAK
7872 case 168:
7873 YY_RULE_SETUP
7874 FAIL("Bad attribute `%s' in `cabinet' element start tag.",yytext);
7875         YY_BREAK
7876 case YY_STATE_EOF(AL_simgrid_parse_cabinet):
7877 FAIL("EOF in attribute list of `cabinet' element.");
7878         YY_BREAK
7879
7880 case 169:
7881 /* rule 169 can match eol */
7882 YY_RULE_SETUP
7883 {
7884   LEAVE;
7885   ETag_simgrid_parse_cabinet();
7886   popbuffer(); /* attribute */
7887   switch (YY_START) {
7888     case S_simgrid_parse_AS:
7889     case S_simgrid_parse_AS_13:
7890     case S_simgrid_parse_AS_14:
7891     case S_simgrid_parse_AS_3:
7892       SET(S_simgrid_parse_AS_14);
7893       break;
7894     case S_simgrid_parse_AS_1:
7895     case S_simgrid_parse_AS_5:
7896     case S_simgrid_parse_AS_6:
7897       SET(S_simgrid_parse_AS_6);
7898       break;
7899     case S_simgrid_parse_include:
7900     case S_simgrid_parse_include_1:
7901     case S_simgrid_parse_include_2:
7902       SET(S_simgrid_parse_include_2);
7903       break;
7904     case S_simgrid_parse_platform:
7905     case S_simgrid_parse_platform_1:
7906     case S_simgrid_parse_platform_3:
7907     case S_simgrid_parse_platform_5:
7908     case S_simgrid_parse_platform_6:
7909       SET(S_simgrid_parse_platform_6);
7910       break;
7911     case S_simgrid_parse_zone:
7912     case S_simgrid_parse_zone_13:
7913     case S_simgrid_parse_zone_14:
7914     case S_simgrid_parse_zone_1:
7915     case S_simgrid_parse_zone_3:
7916       SET(S_simgrid_parse_zone_14);
7917       break;
7918   }
7919  }
7920         YY_BREAK
7921 case 170:
7922 /* rule 170 can match eol */
7923 YY_RULE_SETUP
7924 FAIL("Unexpected end-tag `%s': `</cabinet>' expected.",yytext);
7925         YY_BREAK
7926 case 171:
7927 YY_RULE_SETUP
7928 FAIL("Unexpected character `%c': `</cabinet>' expected.",yytext[0]);
7929         YY_BREAK
7930 case YY_STATE_EOF(E_simgrid_parse_cabinet):
7931 FAIL("Premature EOF: `</cabinet>' expected.");
7932         YY_BREAK
7933
7934 case 172:
7935 /* rule 172 can match eol */
7936 YY_RULE_SETUP
7937 FAIL("Starting tag <cluster> is not allowed here.");
7938         YY_BREAK
7939 case 173:
7940 /* rule 173 can match eol */
7941 YY_RULE_SETUP
7942 {
7943   AX_simgrid_parse_cluster_bb___bw = 0;
7944   simgrid_parse_cluster_bb___bw_isset = 0;
7945   AX_simgrid_parse_cluster_bb___lat = 30;
7946   simgrid_parse_cluster_bb___lat_isset = 0;
7947   AX_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_SHARED;
7948   simgrid_parse_cluster_bb___sharing___policy_isset = 0;
7949   AX_simgrid_parse_cluster_bw = 0;
7950   simgrid_parse_cluster_bw_isset = 0;
7951   AX_simgrid_parse_cluster_core = 28;
7952   simgrid_parse_cluster_core_isset = 0;
7953   AX_simgrid_parse_cluster_id = 0;
7954   simgrid_parse_cluster_id_isset = 0;
7955   AX_simgrid_parse_cluster_lat = 0;
7956   simgrid_parse_cluster_lat_isset = 0;
7957   AX_simgrid_parse_cluster_limiter___link = 0;
7958   simgrid_parse_cluster_limiter___link_isset = 0;
7959   AX_simgrid_parse_cluster_loopback___bw = 0;
7960   simgrid_parse_cluster_loopback___bw_isset = 0;
7961   AX_simgrid_parse_cluster_loopback___lat = 0;
7962   simgrid_parse_cluster_loopback___lat_isset = 0;
7963   AX_simgrid_parse_cluster_prefix = 0;
7964   simgrid_parse_cluster_prefix_isset = 0;
7965   AX_simgrid_parse_cluster_radical = 0;
7966   simgrid_parse_cluster_radical_isset = 0;
7967   AX_simgrid_parse_cluster_router___id = 0;
7968   simgrid_parse_cluster_router___id_isset = 0;
7969   AX_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SPLITDUPLEX;
7970   simgrid_parse_cluster_sharing___policy_isset = 0;
7971   AX_simgrid_parse_cluster_speed = 0;
7972   simgrid_parse_cluster_speed_isset = 0;
7973   AX_simgrid_parse_cluster_suffix = 0;
7974   simgrid_parse_cluster_suffix_isset = 0;
7975   AX_simgrid_parse_cluster_topo___parameters = 0;
7976   simgrid_parse_cluster_topo___parameters_isset = 0;
7977   AX_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FLAT;
7978   simgrid_parse_cluster_topology_isset = 0;
7979   ENTER(AL_simgrid_parse_cluster); pushbuffer(0);
7980   }
7981         YY_BREAK
7982
7983 case 174:
7984 /* rule 174 can match eol */
7985 YY_RULE_SETUP
7986 if (simgrid_parse_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_bb___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bb___bw);
7987         YY_BREAK
7988 case 175:
7989 /* rule 175 can match eol */
7990 YY_RULE_SETUP
7991 if (simgrid_parse_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bb___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bb___bw);
7992         YY_BREAK
7993 case 176:
7994 /* rule 176 can match eol */
7995 YY_RULE_SETUP
7996 if (simgrid_parse_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_bb___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bb___lat);
7997         YY_BREAK
7998 case 177:
7999 /* rule 177 can match eol */
8000 YY_RULE_SETUP
8001 if (simgrid_parse_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bb___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bb___lat);
8002         YY_BREAK
8003 case 178:
8004 /* rule 178 can match eol */
8005 case 179:
8006 /* rule 179 can match eol */
8007 YY_RULE_SETUP
8008 A_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_SHARED;
8009         YY_BREAK
8010 case 180:
8011 /* rule 180 can match eol */
8012 case 181:
8013 /* rule 181 can match eol */
8014 YY_RULE_SETUP
8015 A_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_FATPIPE;
8016         YY_BREAK
8017 case 182:
8018 /* rule 182 can match eol */
8019 YY_RULE_SETUP
8020 if (simgrid_parse_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bw);
8021         YY_BREAK
8022 case 183:
8023 /* rule 183 can match eol */
8024 YY_RULE_SETUP
8025 if (simgrid_parse_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bw);
8026         YY_BREAK
8027 case 184:
8028 /* rule 184 can match eol */
8029 YY_RULE_SETUP
8030 if (simgrid_parse_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_cluster>");} simgrid_parse_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_core);
8031         YY_BREAK
8032 case 185:
8033 /* rule 185 can match eol */
8034 YY_RULE_SETUP
8035 if (simgrid_parse_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_cluster>");}  simgrid_parse_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_core);
8036         YY_BREAK
8037 case 186:
8038 /* rule 186 can match eol */
8039 YY_RULE_SETUP
8040 if (simgrid_parse_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cluster>");} simgrid_parse_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_id);
8041         YY_BREAK
8042 case 187:
8043 /* rule 187 can match eol */
8044 YY_RULE_SETUP
8045 if (simgrid_parse_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cluster>");}  simgrid_parse_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_id);
8046         YY_BREAK
8047 case 188:
8048 /* rule 188 can match eol */
8049 YY_RULE_SETUP
8050 if (simgrid_parse_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_lat);
8051         YY_BREAK
8052 case 189:
8053 /* rule 189 can match eol */
8054 YY_RULE_SETUP
8055 if (simgrid_parse_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_lat);
8056         YY_BREAK
8057 case 190:
8058 /* rule 190 can match eol */
8059 YY_RULE_SETUP
8060 if (simgrid_parse_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <simgrid_parse_cluster>");} simgrid_parse_cluster_limiter___link_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_limiter___link);
8061         YY_BREAK
8062 case 191:
8063 /* rule 191 can match eol */
8064 YY_RULE_SETUP
8065 if (simgrid_parse_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <simgrid_parse_cluster>");}  simgrid_parse_cluster_limiter___link_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_limiter___link);
8066         YY_BREAK
8067 case 192:
8068 /* rule 192 can match eol */
8069 YY_RULE_SETUP
8070 if (simgrid_parse_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_loopback___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_loopback___bw);
8071         YY_BREAK
8072 case 193:
8073 /* rule 193 can match eol */
8074 YY_RULE_SETUP
8075 if (simgrid_parse_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_loopback___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_loopback___bw);
8076         YY_BREAK
8077 case 194:
8078 /* rule 194 can match eol */
8079 YY_RULE_SETUP
8080 if (simgrid_parse_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_loopback___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_loopback___lat);
8081         YY_BREAK
8082 case 195:
8083 /* rule 195 can match eol */
8084 YY_RULE_SETUP
8085 if (simgrid_parse_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_loopback___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_loopback___lat);
8086         YY_BREAK
8087 case 196:
8088 /* rule 196 can match eol */
8089 YY_RULE_SETUP
8090 if (simgrid_parse_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cluster>");} simgrid_parse_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_prefix);
8091         YY_BREAK
8092 case 197:
8093 /* rule 197 can match eol */
8094 YY_RULE_SETUP
8095 if (simgrid_parse_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cluster>");}  simgrid_parse_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_prefix);
8096         YY_BREAK
8097 case 198:
8098 /* rule 198 can match eol */
8099 YY_RULE_SETUP
8100 if (simgrid_parse_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cluster>");} simgrid_parse_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_radical);
8101         YY_BREAK
8102 case 199:
8103 /* rule 199 can match eol */
8104 YY_RULE_SETUP
8105 if (simgrid_parse_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cluster>");}  simgrid_parse_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_radical);
8106         YY_BREAK
8107 case 200:
8108 /* rule 200 can match eol */
8109 YY_RULE_SETUP
8110 if (simgrid_parse_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <simgrid_parse_cluster>");} simgrid_parse_cluster_router___id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_router___id);
8111         YY_BREAK
8112 case 201:
8113 /* rule 201 can match eol */
8114 YY_RULE_SETUP
8115 if (simgrid_parse_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <simgrid_parse_cluster>");}  simgrid_parse_cluster_router___id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_router___id);
8116         YY_BREAK
8117 case 202:
8118 /* rule 202 can match eol */
8119 case 203:
8120 /* rule 203 can match eol */
8121 YY_RULE_SETUP
8122 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SHARED;
8123         YY_BREAK
8124 case 204:
8125 /* rule 204 can match eol */
8126 case 205:
8127 /* rule 205 can match eol */
8128 YY_RULE_SETUP
8129 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SPLITDUPLEX;
8130         YY_BREAK
8131 case 206:
8132 /* rule 206 can match eol */
8133 case 207:
8134 /* rule 207 can match eol */
8135 YY_RULE_SETUP
8136 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_FULLDUPLEX;
8137         YY_BREAK
8138 case 208:
8139 /* rule 208 can match eol */
8140 case 209:
8141 /* rule 209 can match eol */
8142 YY_RULE_SETUP
8143 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_FATPIPE;
8144         YY_BREAK
8145 case 210:
8146 /* rule 210 can match eol */
8147 YY_RULE_SETUP
8148 if (simgrid_parse_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cluster>");} simgrid_parse_cluster_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_speed);
8149         YY_BREAK
8150 case 211:
8151 /* rule 211 can match eol */
8152 YY_RULE_SETUP
8153 if (simgrid_parse_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cluster>");}  simgrid_parse_cluster_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_speed);
8154         YY_BREAK
8155 case 212:
8156 /* rule 212 can match eol */
8157 YY_RULE_SETUP
8158 if (simgrid_parse_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cluster>");} simgrid_parse_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_suffix);
8159         YY_BREAK
8160 case 213:
8161 /* rule 213 can match eol */
8162 YY_RULE_SETUP
8163 if (simgrid_parse_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cluster>");}  simgrid_parse_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_suffix);
8164         YY_BREAK
8165 case 214:
8166 /* rule 214 can match eol */
8167 YY_RULE_SETUP
8168 if (simgrid_parse_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <simgrid_parse_cluster>");} simgrid_parse_cluster_topo___parameters_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_topo___parameters);
8169         YY_BREAK
8170 case 215:
8171 /* rule 215 can match eol */
8172 YY_RULE_SETUP
8173 if (simgrid_parse_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <simgrid_parse_cluster>");}  simgrid_parse_cluster_topo___parameters_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_topo___parameters);
8174         YY_BREAK
8175 case 216:
8176 /* rule 216 can match eol */
8177 case 217:
8178 /* rule 217 can match eol */
8179 YY_RULE_SETUP
8180 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FLAT;
8181         YY_BREAK
8182 case 218:
8183 /* rule 218 can match eol */
8184 case 219:
8185 /* rule 219 can match eol */
8186 YY_RULE_SETUP
8187 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_TORUS;
8188         YY_BREAK
8189 case 220:
8190 /* rule 220 can match eol */
8191 case 221:
8192 /* rule 221 can match eol */
8193 YY_RULE_SETUP
8194 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FAT___TREE;
8195         YY_BREAK
8196 case 222:
8197 /* rule 222 can match eol */
8198 case 223:
8199 /* rule 223 can match eol */
8200 YY_RULE_SETUP
8201 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_DRAGONFLY;
8202         YY_BREAK
8203 case 224:
8204 YY_RULE_SETUP
8205 {
8206   if (!AX_simgrid_parse_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
8207   if (!AX_simgrid_parse_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
8208   if (!AX_simgrid_parse_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
8209   if (!AX_simgrid_parse_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
8210   if (!AX_simgrid_parse_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
8211   if (!AX_simgrid_parse_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
8212   if (!AX_simgrid_parse_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
8213   LEAVE; STag_simgrid_parse_cluster();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_cluster);
8214  }
8215         YY_BREAK
8216 case 225:
8217 YY_RULE_SETUP
8218 {
8219   if (!AX_simgrid_parse_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
8220   if (!AX_simgrid_parse_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
8221   if (!AX_simgrid_parse_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
8222   if (!AX_simgrid_parse_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
8223   if (!AX_simgrid_parse_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
8224   if (!AX_simgrid_parse_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
8225   if (!AX_simgrid_parse_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
8226   LEAVE; STag_simgrid_parse_cluster(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_cluster(); popbuffer(); /* attribute */
8227   switch (YY_START) {
8228    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8229    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8230    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8231    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8232   }
8233  }
8234         YY_BREAK
8235 case 226:
8236 YY_RULE_SETUP
8237 FAIL("Unexpected character `%c' in attribute list of cluster element.", yytext[0]);
8238         YY_BREAK
8239 case 227:
8240 YY_RULE_SETUP
8241 FAIL("Bad attribute `%s' in `cluster' element start tag.",yytext);
8242         YY_BREAK
8243 case YY_STATE_EOF(AL_simgrid_parse_cluster):
8244 FAIL("EOF in attribute list of `cluster' element.");
8245         YY_BREAK
8246
8247 case 228:
8248 /* rule 228 can match eol */
8249 YY_RULE_SETUP
8250 {
8251   LEAVE;
8252   ETag_simgrid_parse_cluster();
8253   popbuffer(); /* attribute */
8254   switch (YY_START) {
8255    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8256    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8257    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8258    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8259   }
8260  }
8261         YY_BREAK
8262 case 229:
8263 /* rule 229 can match eol */
8264 YY_RULE_SETUP
8265 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",yytext);
8266         YY_BREAK
8267 case 230:
8268 YY_RULE_SETUP
8269 FAIL("Unexpected character `%c': `</cluster>' expected.",yytext[0]);
8270         YY_BREAK
8271 case YY_STATE_EOF(E_simgrid_parse_cluster):
8272 case YY_STATE_EOF(S_simgrid_parse_cluster):
8273 case YY_STATE_EOF(S_simgrid_parse_cluster_2):
8274 FAIL("Premature EOF: `</cluster>' expected.");
8275         YY_BREAK
8276
8277 case 231:
8278 /* rule 231 can match eol */
8279 YY_RULE_SETUP
8280 FAIL("Starting tag <config> is not allowed here.");
8281         YY_BREAK
8282 case 232:
8283 /* rule 232 can match eol */
8284 YY_RULE_SETUP
8285 {
8286   AX_simgrid_parse_config_id = 0;
8287   simgrid_parse_config_id_isset = 0;
8288   ENTER(AL_simgrid_parse_config); pushbuffer(0);
8289   }
8290         YY_BREAK
8291
8292 case 233:
8293 /* rule 233 can match eol */
8294 YY_RULE_SETUP
8295 if (simgrid_parse_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_config>");} simgrid_parse_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_config_id);
8296         YY_BREAK
8297 case 234:
8298 /* rule 234 can match eol */
8299 YY_RULE_SETUP
8300 if (simgrid_parse_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_config>");}  simgrid_parse_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_config_id);
8301         YY_BREAK
8302 case 235:
8303 YY_RULE_SETUP
8304 {
8305   LEAVE; STag_simgrid_parse_config();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_config);
8306  }
8307         YY_BREAK
8308 case 236:
8309 YY_RULE_SETUP
8310 {
8311   LEAVE; STag_simgrid_parse_config(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_config(); popbuffer(); /* attribute */
8312   switch (YY_START) {
8313    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
8314   }
8315  }
8316         YY_BREAK
8317 case 237:
8318 YY_RULE_SETUP
8319 FAIL("Unexpected character `%c' in attribute list of config element.", yytext[0]);
8320         YY_BREAK
8321 case 238:
8322 YY_RULE_SETUP
8323 FAIL("Bad attribute `%s' in `config' element start tag.",yytext);
8324         YY_BREAK
8325 case YY_STATE_EOF(AL_simgrid_parse_config):
8326 FAIL("EOF in attribute list of `config' element.");
8327         YY_BREAK
8328
8329 case 239:
8330 /* rule 239 can match eol */
8331 YY_RULE_SETUP
8332 {
8333   LEAVE;
8334   ETag_simgrid_parse_config();
8335   popbuffer(); /* attribute */
8336   switch (YY_START) {
8337    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
8338   }
8339  }
8340         YY_BREAK
8341 case 240:
8342 /* rule 240 can match eol */
8343 YY_RULE_SETUP
8344 FAIL("Unexpected end-tag `%s': `</config>' expected.",yytext);
8345         YY_BREAK
8346 case 241:
8347 YY_RULE_SETUP
8348 FAIL("Unexpected character `%c': `</config>' expected.",yytext[0]);
8349         YY_BREAK
8350 case YY_STATE_EOF(E_simgrid_parse_config):
8351 case YY_STATE_EOF(S_simgrid_parse_config):
8352 case YY_STATE_EOF(S_simgrid_parse_config_2):
8353 FAIL("Premature EOF: `</config>' expected.");
8354         YY_BREAK
8355
8356 case 242:
8357 /* rule 242 can match eol */
8358 YY_RULE_SETUP
8359 FAIL("Starting tag <disk> is not allowed here.");
8360         YY_BREAK
8361 case 243:
8362 /* rule 243 can match eol */
8363 YY_RULE_SETUP
8364 {
8365   AX_simgrid_parse_disk_id = 26;
8366   simgrid_parse_disk_id_isset = 0;
8367   AX_simgrid_parse_disk_read___bw = 0;
8368   simgrid_parse_disk_read___bw_isset = 0;
8369   AX_simgrid_parse_disk_write___bw = 0;
8370   simgrid_parse_disk_write___bw_isset = 0;
8371   ENTER(AL_simgrid_parse_disk); pushbuffer(0);
8372   }
8373         YY_BREAK
8374
8375 case 244:
8376 /* rule 244 can match eol */
8377 YY_RULE_SETUP
8378 if (simgrid_parse_disk_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_disk>");} simgrid_parse_disk_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_id);
8379         YY_BREAK
8380 case 245:
8381 /* rule 245 can match eol */
8382 YY_RULE_SETUP
8383 if (simgrid_parse_disk_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_disk>");}  simgrid_parse_disk_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_id);
8384         YY_BREAK
8385 case 246:
8386 /* rule 246 can match eol */
8387 YY_RULE_SETUP
8388 if (simgrid_parse_disk_read___bw_isset != 0) {FAIL("Multiple definition of attribute read_bw in <simgrid_parse_disk>");} simgrid_parse_disk_read___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_read___bw);
8389         YY_BREAK
8390 case 247:
8391 /* rule 247 can match eol */
8392 YY_RULE_SETUP
8393 if (simgrid_parse_disk_read___bw_isset != 0) {FAIL("Multiple definition of attribute read_bw in <simgrid_parse_disk>");}  simgrid_parse_disk_read___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_read___bw);
8394         YY_BREAK
8395 case 248:
8396 /* rule 248 can match eol */
8397 YY_RULE_SETUP
8398 if (simgrid_parse_disk_write___bw_isset != 0) {FAIL("Multiple definition of attribute write_bw in <simgrid_parse_disk>");} simgrid_parse_disk_write___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_write___bw);
8399         YY_BREAK
8400 case 249:
8401 /* rule 249 can match eol */
8402 YY_RULE_SETUP
8403 if (simgrid_parse_disk_write___bw_isset != 0) {FAIL("Multiple definition of attribute write_bw in <simgrid_parse_disk>");}  simgrid_parse_disk_write___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_write___bw);
8404         YY_BREAK
8405 case 250:
8406 YY_RULE_SETUP
8407 {
8408   if (!AX_simgrid_parse_disk_read___bw) FAIL("Required attribute `read_bw' not set for `disk' element.");
8409   if (!AX_simgrid_parse_disk_write___bw) FAIL("Required attribute `write_bw' not set for `disk' element.");
8410   LEAVE; STag_simgrid_parse_disk();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_disk);
8411  }
8412         YY_BREAK
8413 case 251:
8414 YY_RULE_SETUP
8415 {
8416   if (!AX_simgrid_parse_disk_read___bw) FAIL("Required attribute `read_bw' not set for `disk' element.");
8417   if (!AX_simgrid_parse_disk_write___bw) FAIL("Required attribute `write_bw' not set for `disk' element.");
8418   LEAVE; STag_simgrid_parse_disk(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_disk(); popbuffer(); /* attribute */
8419   switch (YY_START) {
8420    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
8421   }
8422  }
8423         YY_BREAK
8424 case 252:
8425 YY_RULE_SETUP
8426 FAIL("Unexpected character `%c' in attribute list of disk element.", yytext[0]);
8427         YY_BREAK
8428 case 253:
8429 YY_RULE_SETUP
8430 FAIL("Bad attribute `%s' in `disk' element start tag.",yytext);
8431         YY_BREAK
8432 case YY_STATE_EOF(AL_simgrid_parse_disk):
8433 FAIL("EOF in attribute list of `disk' element.");
8434         YY_BREAK
8435
8436 case 254:
8437 /* rule 254 can match eol */
8438 YY_RULE_SETUP
8439 {
8440   LEAVE;
8441   ETag_simgrid_parse_disk();
8442   popbuffer(); /* attribute */
8443   switch (YY_START) {
8444    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
8445   }
8446  }
8447         YY_BREAK
8448 case 255:
8449 /* rule 255 can match eol */
8450 YY_RULE_SETUP
8451 FAIL("Unexpected end-tag `%s': `</disk>' expected.",yytext);
8452         YY_BREAK
8453 case 256:
8454 YY_RULE_SETUP
8455 FAIL("Unexpected character `%c': `</disk>' expected.",yytext[0]);
8456         YY_BREAK
8457 case YY_STATE_EOF(E_simgrid_parse_disk):
8458 case YY_STATE_EOF(S_simgrid_parse_disk):
8459 case YY_STATE_EOF(S_simgrid_parse_disk_2):
8460 FAIL("Premature EOF: `</disk>' expected.");
8461         YY_BREAK
8462
8463 /* <!-- deprecated -->
8464   * <!-- deprecated -->  */
8465 case 257:
8466 /* rule 257 can match eol */
8467 YY_RULE_SETUP
8468 FAIL("Starting tag <host> is not allowed here.");
8469         YY_BREAK
8470 case 258:
8471 /* rule 258 can match eol */
8472 YY_RULE_SETUP
8473 {
8474   AX_simgrid_parse_host_availability___file = 0;
8475   simgrid_parse_host_availability___file_isset = 0;
8476   AX_simgrid_parse_host_coordinates = 0;
8477   simgrid_parse_host_coordinates_isset = 0;
8478   AX_simgrid_parse_host_core = 20;
8479   simgrid_parse_host_core_isset = 0;
8480   AX_simgrid_parse_host_id = 0;
8481   simgrid_parse_host_id_isset = 0;
8482   AX_simgrid_parse_host_pstate = 22;
8483   simgrid_parse_host_pstate_isset = 0;
8484   AX_simgrid_parse_host_speed = 0;
8485   simgrid_parse_host_speed_isset = 0;
8486   AX_simgrid_parse_host_speed___file = 0;
8487   simgrid_parse_host_speed___file_isset = 0;
8488   AX_simgrid_parse_host_state___file = 0;
8489   simgrid_parse_host_state___file_isset = 0;
8490   ENTER(AL_simgrid_parse_host); pushbuffer(0);
8491   }
8492         YY_BREAK
8493
8494 case 259:
8495 /* rule 259 can match eol */
8496 YY_RULE_SETUP
8497 if (simgrid_parse_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_host>");} simgrid_parse_host_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_availability___file);
8498         YY_BREAK
8499 case 260:
8500 /* rule 260 can match eol */
8501 YY_RULE_SETUP
8502 if (simgrid_parse_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_host>");}  simgrid_parse_host_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_availability___file);
8503         YY_BREAK
8504 case 261:
8505 /* rule 261 can match eol */
8506 YY_RULE_SETUP
8507 if (simgrid_parse_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_host>");} simgrid_parse_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_coordinates);
8508         YY_BREAK
8509 case 262:
8510 /* rule 262 can match eol */
8511 YY_RULE_SETUP
8512 if (simgrid_parse_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_host>");}  simgrid_parse_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_coordinates);
8513         YY_BREAK
8514 case 263:
8515 /* rule 263 can match eol */
8516 YY_RULE_SETUP
8517 if (simgrid_parse_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_host>");} simgrid_parse_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_core);
8518         YY_BREAK
8519 case 264:
8520 /* rule 264 can match eol */
8521 YY_RULE_SETUP
8522 if (simgrid_parse_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_host>");}  simgrid_parse_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_core);
8523         YY_BREAK
8524 case 265:
8525 /* rule 265 can match eol */
8526 YY_RULE_SETUP
8527 if (simgrid_parse_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host>");} simgrid_parse_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_id);
8528         YY_BREAK
8529 case 266:
8530 /* rule 266 can match eol */
8531 YY_RULE_SETUP
8532 if (simgrid_parse_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host>");}  simgrid_parse_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_id);
8533         YY_BREAK
8534 case 267:
8535 /* rule 267 can match eol */
8536 YY_RULE_SETUP
8537 if (simgrid_parse_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <simgrid_parse_host>");} simgrid_parse_host_pstate_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_pstate);
8538         YY_BREAK
8539 case 268:
8540 /* rule 268 can match eol */
8541 YY_RULE_SETUP
8542 if (simgrid_parse_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <simgrid_parse_host>");}  simgrid_parse_host_pstate_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_pstate);
8543         YY_BREAK
8544 case 269:
8545 /* rule 269 can match eol */
8546 YY_RULE_SETUP
8547 if (simgrid_parse_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_host>");} simgrid_parse_host_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_speed);
8548         YY_BREAK
8549 case 270:
8550 /* rule 270 can match eol */
8551 YY_RULE_SETUP
8552 if (simgrid_parse_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_host>");}  simgrid_parse_host_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_speed);
8553         YY_BREAK
8554 case 271:
8555 /* rule 271 can match eol */
8556 YY_RULE_SETUP
8557 if (simgrid_parse_host_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_host>");} simgrid_parse_host_speed___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_speed___file);
8558         YY_BREAK
8559 case 272:
8560 /* rule 272 can match eol */
8561 YY_RULE_SETUP
8562 if (simgrid_parse_host_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_host>");}  simgrid_parse_host_speed___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_speed___file);
8563         YY_BREAK
8564 case 273:
8565 /* rule 273 can match eol */
8566 YY_RULE_SETUP
8567 if (simgrid_parse_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_host>");} simgrid_parse_host_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_state___file);
8568         YY_BREAK
8569 case 274:
8570 /* rule 274 can match eol */
8571 YY_RULE_SETUP
8572 if (simgrid_parse_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_host>");}  simgrid_parse_host_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_state___file);
8573         YY_BREAK
8574 case 275:
8575 YY_RULE_SETUP
8576 {
8577   if (!AX_simgrid_parse_host_id) FAIL("Required attribute `id' not set for `host' element.");
8578   if (!AX_simgrid_parse_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
8579   LEAVE; STag_simgrid_parse_host();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_host);
8580  }
8581         YY_BREAK
8582 case 276:
8583 YY_RULE_SETUP
8584 {
8585   if (!AX_simgrid_parse_host_id) FAIL("Required attribute `id' not set for `host' element.");
8586   if (!AX_simgrid_parse_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
8587   LEAVE; STag_simgrid_parse_host(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_host(); popbuffer(); /* attribute */
8588   switch (YY_START) {
8589    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8590    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8591   }
8592  }
8593         YY_BREAK
8594 case 277:
8595 YY_RULE_SETUP
8596 FAIL("Unexpected character `%c' in attribute list of host element.", yytext[0]);
8597         YY_BREAK
8598 case 278:
8599 YY_RULE_SETUP
8600 FAIL("Bad attribute `%s' in `host' element start tag.",yytext);
8601         YY_BREAK
8602 case YY_STATE_EOF(AL_simgrid_parse_host):
8603 FAIL("EOF in attribute list of `host' element.");
8604         YY_BREAK
8605
8606 case 279:
8607 /* rule 279 can match eol */
8608 YY_RULE_SETUP
8609 {
8610   LEAVE;
8611   ETag_simgrid_parse_host();
8612   popbuffer(); /* attribute */
8613   switch (YY_START) {
8614    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8615    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8616   }
8617  }
8618         YY_BREAK
8619 case 280:
8620 /* rule 280 can match eol */
8621 YY_RULE_SETUP
8622 FAIL("Unexpected end-tag `%s': `</host>' expected.",yytext);
8623         YY_BREAK
8624 case 281:
8625 YY_RULE_SETUP
8626 FAIL("Unexpected character `%c': `</host>' expected.",yytext[0]);
8627         YY_BREAK
8628 case YY_STATE_EOF(E_simgrid_parse_host):
8629 case YY_STATE_EOF(S_simgrid_parse_host):
8630 case YY_STATE_EOF(S_simgrid_parse_host_2):
8631 FAIL("Premature EOF: `</host>' expected.");
8632         YY_BREAK
8633
8634 case 282:
8635 /* rule 282 can match eol */
8636 YY_RULE_SETUP
8637 FAIL("Starting tag <host_link> is not allowed here.");
8638         YY_BREAK
8639 case 283:
8640 /* rule 283 can match eol */
8641 YY_RULE_SETUP
8642 {
8643   AX_simgrid_parse_host___link_down = 0;
8644   simgrid_parse_host___link_down_isset = 0;
8645   AX_simgrid_parse_host___link_id = 0;
8646   simgrid_parse_host___link_id_isset = 0;
8647   AX_simgrid_parse_host___link_up = 0;
8648   simgrid_parse_host___link_up_isset = 0;
8649   ENTER(AL_simgrid_parse_host___link); pushbuffer(0);
8650   }
8651         YY_BREAK
8652
8653 case 284:
8654 /* rule 284 can match eol */
8655 YY_RULE_SETUP
8656 if (simgrid_parse_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <simgrid_parse_host___link>");} simgrid_parse_host___link_down_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_down);
8657         YY_BREAK
8658 case 285:
8659 /* rule 285 can match eol */
8660 YY_RULE_SETUP
8661 if (simgrid_parse_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <simgrid_parse_host___link>");}  simgrid_parse_host___link_down_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_down);
8662         YY_BREAK
8663 case 286:
8664 /* rule 286 can match eol */
8665 YY_RULE_SETUP
8666 if (simgrid_parse_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host___link>");} simgrid_parse_host___link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_id);
8667         YY_BREAK
8668 case 287:
8669 /* rule 287 can match eol */
8670 YY_RULE_SETUP
8671 if (simgrid_parse_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host___link>");}  simgrid_parse_host___link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_id);
8672         YY_BREAK
8673 case 288:
8674 /* rule 288 can match eol */
8675 YY_RULE_SETUP
8676 if (simgrid_parse_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <simgrid_parse_host___link>");} simgrid_parse_host___link_up_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_up);
8677         YY_BREAK
8678 case 289:
8679 /* rule 289 can match eol */
8680 YY_RULE_SETUP
8681 if (simgrid_parse_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <simgrid_parse_host___link>");}  simgrid_parse_host___link_up_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_up);
8682         YY_BREAK
8683 case 290:
8684 YY_RULE_SETUP
8685 {
8686   if (!AX_simgrid_parse_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
8687   if (!AX_simgrid_parse_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
8688   if (!AX_simgrid_parse_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
8689   LEAVE; STag_simgrid_parse_host___link();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_host___link);
8690  }
8691         YY_BREAK
8692 case 291:
8693 YY_RULE_SETUP
8694 {
8695   if (!AX_simgrid_parse_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
8696   if (!AX_simgrid_parse_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
8697   if (!AX_simgrid_parse_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
8698   LEAVE; STag_simgrid_parse_host___link(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_host___link(); popbuffer(); /* attribute */
8699   switch (YY_START) {
8700    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8701    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8702   }
8703  }
8704         YY_BREAK
8705 case 292:
8706 YY_RULE_SETUP
8707 FAIL("Unexpected character `%c' in attribute list of host_link element.", yytext[0]);
8708         YY_BREAK
8709 case 293:
8710 YY_RULE_SETUP
8711 FAIL("Bad attribute `%s' in `host_link' element start tag.",yytext);
8712         YY_BREAK
8713 case YY_STATE_EOF(AL_simgrid_parse_host___link):
8714 FAIL("EOF in attribute list of `host_link' element.");
8715         YY_BREAK
8716
8717 case 294:
8718 /* rule 294 can match eol */
8719 YY_RULE_SETUP
8720 {
8721   LEAVE;
8722   ETag_simgrid_parse_host___link();
8723   popbuffer(); /* attribute */
8724   switch (YY_START) {
8725    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8726    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8727   }
8728  }
8729         YY_BREAK
8730 case 295:
8731 /* rule 295 can match eol */
8732 YY_RULE_SETUP
8733 FAIL("Unexpected end-tag `%s': `</host_link>' expected.",yytext);
8734         YY_BREAK
8735 case 296:
8736 YY_RULE_SETUP
8737 FAIL("Unexpected character `%c': `</host_link>' expected.",yytext[0]);
8738         YY_BREAK
8739 case YY_STATE_EOF(E_simgrid_parse_host___link):
8740 FAIL("Premature EOF: `</host_link>' expected.");
8741         YY_BREAK
8742
8743 /* <!-- tag include is deprecated. Not documented, and removed in v3.22 -->  */
8744 case 297:
8745 /* rule 297 can match eol */
8746 YY_RULE_SETUP
8747 FAIL("Starting tag <include> is not allowed here.");
8748         YY_BREAK
8749 case 298:
8750 /* rule 298 can match eol */
8751 YY_RULE_SETUP
8752 {
8753   AX_simgrid_parse_include_file = 0;
8754   simgrid_parse_include_file_isset = 0;
8755   ENTER(AL_simgrid_parse_include); pushbuffer(0);
8756   }
8757         YY_BREAK
8758
8759 case 299:
8760 /* rule 299 can match eol */
8761 YY_RULE_SETUP
8762 if (simgrid_parse_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_include>");} simgrid_parse_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_include_file);
8763         YY_BREAK
8764 case 300:
8765 /* rule 300 can match eol */
8766 YY_RULE_SETUP
8767 if (simgrid_parse_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_include>");}  simgrid_parse_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_include_file);
8768         YY_BREAK
8769 case 301:
8770 YY_RULE_SETUP
8771 {
8772   if (!AX_simgrid_parse_include_file) FAIL("Required attribute `file' not set for `include' element.");
8773   LEAVE; STag_simgrid_parse_include();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_include);
8774  }
8775         YY_BREAK
8776 case 302:
8777 YY_RULE_SETUP
8778 {
8779   if (!AX_simgrid_parse_include_file) FAIL("Required attribute `file' not set for `include' element.");
8780   LEAVE; STag_simgrid_parse_include(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_include(); popbuffer(); /* attribute */
8781   switch (YY_START) {
8782     case S_simgrid_parse_AS:
8783     case S_simgrid_parse_AS_13:
8784     case S_simgrid_parse_AS_14:
8785     case S_simgrid_parse_AS_3:
8786       SET(S_simgrid_parse_AS_14);
8787       break;
8788     case S_simgrid_parse_AS_1:
8789     case S_simgrid_parse_AS_5:
8790     case S_simgrid_parse_AS_6:
8791       SET(S_simgrid_parse_AS_6);
8792       break;
8793     case S_simgrid_parse_include:
8794     case S_simgrid_parse_include_1:
8795     case S_simgrid_parse_include_2:
8796       SET(S_simgrid_parse_include_2);
8797       break;
8798     case S_simgrid_parse_platform:
8799     case S_simgrid_parse_platform_1:
8800     case S_simgrid_parse_platform_3:
8801     case S_simgrid_parse_platform_5:
8802     case S_simgrid_parse_platform_6:
8803       SET(S_simgrid_parse_platform_6);
8804       break;
8805     case S_simgrid_parse_zone:
8806     case S_simgrid_parse_zone_13:
8807     case S_simgrid_parse_zone_14:
8808     case S_simgrid_parse_zone_1:
8809     case S_simgrid_parse_zone_3:
8810       SET(S_simgrid_parse_zone_14);
8811       break;
8812     case S_simgrid_parse_zone_5:
8813     case S_simgrid_parse_zone_6:
8814       SET(S_simgrid_parse_zone_6);
8815       break;
8816   }
8817  }
8818         YY_BREAK
8819 case 303:
8820 YY_RULE_SETUP
8821 FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]);
8822         YY_BREAK
8823 case 304:
8824 YY_RULE_SETUP
8825 FAIL("Bad attribute `%s' in `include' element start tag.",yytext);
8826         YY_BREAK
8827 case YY_STATE_EOF(AL_simgrid_parse_include):
8828 FAIL("EOF in attribute list of `include' element.");
8829         YY_BREAK
8830
8831 case 305:
8832 /* rule 305 can match eol */
8833 YY_RULE_SETUP
8834 {
8835   LEAVE;
8836   ETag_simgrid_parse_include();
8837   popbuffer(); /* attribute */
8838   switch (YY_START) {
8839     case S_simgrid_parse_AS:
8840     case S_simgrid_parse_AS_13:
8841     case S_simgrid_parse_AS_14:
8842     case S_simgrid_parse_AS_3:
8843       SET(S_simgrid_parse_AS_14);
8844       break;
8845     case S_simgrid_parse_AS_1:
8846     case S_simgrid_parse_AS_5:
8847     case S_simgrid_parse_AS_6:
8848       SET(S_simgrid_parse_AS_6);
8849       break;
8850     case S_simgrid_parse_include:
8851     case S_simgrid_parse_include_1:
8852     case S_simgrid_parse_include_2:
8853       SET(S_simgrid_parse_include_2);
8854       break;
8855     case S_simgrid_parse_platform:
8856     case S_simgrid_parse_platform_1:
8857     case S_simgrid_parse_platform_3:
8858     case S_simgrid_parse_platform_5:
8859     case S_simgrid_parse_platform_6:
8860       SET(S_simgrid_parse_platform_6);
8861       break;
8862     case S_simgrid_parse_zone:
8863     case S_simgrid_parse_zone_13:
8864     case S_simgrid_parse_zone_14:
8865     case S_simgrid_parse_zone_1:
8866     case S_simgrid_parse_zone_3:
8867       SET(S_simgrid_parse_zone_14);
8868       break;
8869     case S_simgrid_parse_zone_5:
8870     case S_simgrid_parse_zone_6:
8871       SET(S_simgrid_parse_zone_6);
8872       break;
8873   }
8874  }
8875         YY_BREAK
8876 case 306:
8877 /* rule 306 can match eol */
8878 YY_RULE_SETUP
8879 FAIL("Unexpected end-tag `%s': `</include>' expected.",yytext);
8880         YY_BREAK
8881 case 307:
8882 YY_RULE_SETUP
8883 FAIL("Unexpected character `%c': `</include>' expected.",yytext[0]);
8884         YY_BREAK
8885 case YY_STATE_EOF(E_simgrid_parse_include):
8886 case YY_STATE_EOF(S_simgrid_parse_include):
8887 case YY_STATE_EOF(S_simgrid_parse_include_2):
8888 FAIL("Premature EOF: `</include>' expected.");
8889         YY_BREAK
8890
8891 case 308:
8892 /* rule 308 can match eol */
8893 YY_RULE_SETUP
8894 FAIL("Starting tag <link> is not allowed here.");
8895         YY_BREAK
8896 case 309:
8897 /* rule 309 can match eol */
8898 YY_RULE_SETUP
8899 {
8900   AX_simgrid_parse_link_bandwidth = 0;
8901   simgrid_parse_link_bandwidth_isset = 0;
8902   AX_simgrid_parse_link_bandwidth___file = 0;
8903   simgrid_parse_link_bandwidth___file_isset = 0;
8904   AX_simgrid_parse_link_id = 0;
8905   simgrid_parse_link_id_isset = 0;
8906   AX_simgrid_parse_link_latency = 0;
8907   simgrid_parse_link_latency_isset = 0;
8908   AX_simgrid_parse_link_latency___file = 0;
8909   simgrid_parse_link_latency___file_isset = 0;
8910   AX_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SHARED;
8911   simgrid_parse_link_sharing___policy_isset = 0;
8912   AX_simgrid_parse_link_state___file = 0;
8913   simgrid_parse_link_state___file_isset = 0;
8914   ENTER(AL_simgrid_parse_link); pushbuffer(0);
8915   }
8916         YY_BREAK
8917
8918 case 310:
8919 /* rule 310 can match eol */
8920 YY_RULE_SETUP
8921 if (simgrid_parse_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_link>");} simgrid_parse_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_bandwidth);
8922         YY_BREAK
8923 case 311:
8924 /* rule 311 can match eol */
8925 YY_RULE_SETUP
8926 if (simgrid_parse_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_link>");}  simgrid_parse_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_bandwidth);
8927         YY_BREAK
8928 case 312:
8929 /* rule 312 can match eol */
8930 YY_RULE_SETUP
8931 if (simgrid_parse_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <simgrid_parse_link>");} simgrid_parse_link_bandwidth___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_bandwidth___file);
8932         YY_BREAK
8933 case 313:
8934 /* rule 313 can match eol */
8935 YY_RULE_SETUP
8936 if (simgrid_parse_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <simgrid_parse_link>");}  simgrid_parse_link_bandwidth___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_bandwidth___file);
8937         YY_BREAK
8938 case 314:
8939 /* rule 314 can match eol */
8940 YY_RULE_SETUP
8941 if (simgrid_parse_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link>");} simgrid_parse_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_id);
8942         YY_BREAK
8943 case 315:
8944 /* rule 315 can match eol */
8945 YY_RULE_SETUP
8946 if (simgrid_parse_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link>");}  simgrid_parse_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_id);
8947         YY_BREAK
8948 case 316:
8949 /* rule 316 can match eol */
8950 YY_RULE_SETUP
8951 if (simgrid_parse_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_link>");} simgrid_parse_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_latency);
8952         YY_BREAK
8953 case 317:
8954 /* rule 317 can match eol */
8955 YY_RULE_SETUP
8956 if (simgrid_parse_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_link>");}  simgrid_parse_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_latency);
8957         YY_BREAK
8958 case 318:
8959 /* rule 318 can match eol */
8960 YY_RULE_SETUP
8961 if (simgrid_parse_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <simgrid_parse_link>");} simgrid_parse_link_latency___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_latency___file);
8962         YY_BREAK
8963 case 319:
8964 /* rule 319 can match eol */
8965 YY_RULE_SETUP
8966 if (simgrid_parse_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <simgrid_parse_link>");}  simgrid_parse_link_latency___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_latency___file);
8967         YY_BREAK
8968 case 320:
8969 /* rule 320 can match eol */
8970 case 321:
8971 /* rule 321 can match eol */
8972 YY_RULE_SETUP
8973 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SHARED;
8974         YY_BREAK
8975 case 322:
8976 /* rule 322 can match eol */
8977 case 323:
8978 /* rule 323 can match eol */
8979 YY_RULE_SETUP
8980 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SPLITDUPLEX;
8981         YY_BREAK
8982 case 324:
8983 /* rule 324 can match eol */
8984 case 325:
8985 /* rule 325 can match eol */
8986 YY_RULE_SETUP
8987 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_FULLDUPLEX;
8988         YY_BREAK
8989 case 326:
8990 /* rule 326 can match eol */
8991 case 327:
8992 /* rule 327 can match eol */
8993 YY_RULE_SETUP
8994 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_FATPIPE;
8995         YY_BREAK
8996 case 328:
8997 /* rule 328 can match eol */
8998 case 329:
8999 /* rule 329 can match eol */
9000 YY_RULE_SETUP
9001 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_WIFI;
9002         YY_BREAK
9003 case 330:
9004 /* rule 330 can match eol */
9005 YY_RULE_SETUP
9006 if (simgrid_parse_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_link>");} simgrid_parse_link_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_state___file);
9007         YY_BREAK
9008 case 331:
9009 /* rule 331 can match eol */
9010 YY_RULE_SETUP
9011 if (simgrid_parse_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_link>");}  simgrid_parse_link_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_state___file);
9012         YY_BREAK
9013 case 332:
9014 YY_RULE_SETUP
9015 {
9016   if (!AX_simgrid_parse_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
9017   if (!AX_simgrid_parse_link_id) FAIL("Required attribute `id' not set for `link' element.");
9018   LEAVE; STag_simgrid_parse_link();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_link);
9019  }
9020         YY_BREAK
9021 case 333:
9022 YY_RULE_SETUP
9023 {
9024   if (!AX_simgrid_parse_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
9025   if (!AX_simgrid_parse_link_id) FAIL("Required attribute `id' not set for `link' element.");
9026   LEAVE; STag_simgrid_parse_link(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_link(); popbuffer(); /* attribute */
9027   switch (YY_START) {
9028     case S_simgrid_parse_AS:
9029     case S_simgrid_parse_AS_13:
9030     case S_simgrid_parse_AS_14:
9031     case S_simgrid_parse_AS_3:
9032       SET(S_simgrid_parse_AS_14);
9033       break;
9034     case S_simgrid_parse_AS_1:
9035     case S_simgrid_parse_AS_5:
9036     case S_simgrid_parse_AS_6:
9037       SET(S_simgrid_parse_AS_6);
9038       break;
9039     case S_simgrid_parse_zone:
9040     case S_simgrid_parse_zone_13:
9041     case S_simgrid_parse_zone_14:
9042     case S_simgrid_parse_zone_1:
9043     case S_simgrid_parse_zone_3:
9044       SET(S_simgrid_parse_zone_14);
9045       break;
9046     case S_simgrid_parse_zone_5:
9047     case S_simgrid_parse_zone_6:
9048       SET(S_simgrid_parse_zone_6);
9049       break;
9050   }
9051  }
9052         YY_BREAK
9053 case 334:
9054 YY_RULE_SETUP
9055 FAIL("Unexpected character `%c' in attribute list of link element.", yytext[0]);
9056         YY_BREAK
9057 case 335:
9058 YY_RULE_SETUP
9059 FAIL("Bad attribute `%s' in `link' element start tag.",yytext);
9060         YY_BREAK
9061 case YY_STATE_EOF(AL_simgrid_parse_link):
9062 FAIL("EOF in attribute list of `link' element.");
9063         YY_BREAK
9064
9065 case 336:
9066 /* rule 336 can match eol */
9067 YY_RULE_SETUP
9068 {
9069   LEAVE;
9070   ETag_simgrid_parse_link();
9071   popbuffer(); /* attribute */
9072   switch (YY_START) {
9073     case S_simgrid_parse_AS:
9074     case S_simgrid_parse_AS_13:
9075     case S_simgrid_parse_AS_14:
9076     case S_simgrid_parse_AS_3:
9077       SET(S_simgrid_parse_AS_14);
9078       break;
9079     case S_simgrid_parse_AS_1:
9080     case S_simgrid_parse_AS_5:
9081     case S_simgrid_parse_AS_6:
9082       SET(S_simgrid_parse_AS_6);
9083       break;
9084     case S_simgrid_parse_zone:
9085     case S_simgrid_parse_zone_13:
9086     case S_simgrid_parse_zone_14:
9087     case S_simgrid_parse_zone_1:
9088     case S_simgrid_parse_zone_3:
9089       SET(S_simgrid_parse_zone_14);
9090       break;
9091     case S_simgrid_parse_zone_5:
9092     case S_simgrid_parse_zone_6:
9093       SET(S_simgrid_parse_zone_6);
9094       break;
9095   }
9096  }
9097         YY_BREAK
9098 case 337:
9099 /* rule 337 can match eol */
9100 YY_RULE_SETUP
9101 FAIL("Unexpected end-tag `%s': `</link>' expected.",yytext);
9102         YY_BREAK
9103 case 338:
9104 YY_RULE_SETUP
9105 FAIL("Unexpected character `%c': `</link>' expected.",yytext[0]);
9106         YY_BREAK
9107 case YY_STATE_EOF(E_simgrid_parse_link):
9108 case YY_STATE_EOF(S_simgrid_parse_link):
9109 case YY_STATE_EOF(S_simgrid_parse_link_2):
9110 FAIL("Premature EOF: `</link>' expected.");
9111         YY_BREAK
9112
9113 case 339:
9114 /* rule 339 can match eol */
9115 YY_RULE_SETUP
9116 FAIL("Starting tag <link_ctn> is not allowed here.");
9117         YY_BREAK
9118 case 340:
9119 /* rule 340 can match eol */
9120 YY_RULE_SETUP
9121 {
9122   AX_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_NONE;
9123   simgrid_parse_link___ctn_direction_isset = 0;
9124   AX_simgrid_parse_link___ctn_id = 0;
9125   simgrid_parse_link___ctn_id_isset = 0;
9126   ENTER(AL_simgrid_parse_link___ctn); pushbuffer(0);
9127   }
9128         YY_BREAK
9129
9130 case 341:
9131 /* rule 341 can match eol */
9132 case 342:
9133 /* rule 342 can match eol */
9134 YY_RULE_SETUP
9135 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_UP;
9136         YY_BREAK
9137 case 343:
9138 /* rule 343 can match eol */
9139 case 344:
9140 /* rule 344 can match eol */
9141 YY_RULE_SETUP
9142 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_DOWN;
9143         YY_BREAK
9144 case 345:
9145 /* rule 345 can match eol */
9146 case 346:
9147 /* rule 346 can match eol */
9148 YY_RULE_SETUP
9149 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_NONE;
9150         YY_BREAK
9151 case 347:
9152 /* rule 347 can match eol */
9153 YY_RULE_SETUP
9154 if (simgrid_parse_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link___ctn>");} simgrid_parse_link___ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link___ctn_id);
9155         YY_BREAK
9156 case 348:
9157 /* rule 348 can match eol */
9158 YY_RULE_SETUP
9159 if (simgrid_parse_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link___ctn>");}  simgrid_parse_link___ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link___ctn_id);
9160         YY_BREAK
9161 case 349:
9162 YY_RULE_SETUP
9163 {
9164   if (!AX_simgrid_parse_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
9165   LEAVE; STag_simgrid_parse_link___ctn();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_link___ctn);
9166  }
9167         YY_BREAK
9168 case 350:
9169 YY_RULE_SETUP
9170 {
9171   if (!AX_simgrid_parse_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
9172   LEAVE; STag_simgrid_parse_link___ctn(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_link___ctn(); popbuffer(); /* attribute */
9173   switch (YY_START) {
9174    case S_simgrid_parse_ASroute: case S_simgrid_parse_ASroute_1: case S_simgrid_parse_ASroute_2: SET(S_simgrid_parse_ASroute_2); break;
9175    case S_simgrid_parse_bypassASroute: case S_simgrid_parse_bypassASroute_1: case S_simgrid_parse_bypassASroute_2: SET(S_simgrid_parse_bypassASroute_2); break;
9176    case S_simgrid_parse_bypassRoute: case S_simgrid_parse_bypassRoute_1: case S_simgrid_parse_bypassRoute_2: SET(S_simgrid_parse_bypassRoute_2); break;
9177    case S_simgrid_parse_bypassZoneRoute: case S_simgrid_parse_bypassZoneRoute_1: case S_simgrid_parse_bypassZoneRoute_2: SET(S_simgrid_parse_bypassZoneRoute_2); break;
9178    case S_simgrid_parse_route: case S_simgrid_parse_route_1: case S_simgrid_parse_route_2: SET(S_simgrid_parse_route_2); break;
9179    case S_simgrid_parse_zoneRoute: case S_simgrid_parse_zoneRoute_1: case S_simgrid_parse_zoneRoute_2: SET(S_simgrid_parse_zoneRoute_2); break;
9180   }
9181  }
9182         YY_BREAK
9183 case 351:
9184 YY_RULE_SETUP
9185 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", yytext[0]);
9186         YY_BREAK
9187 case 352:
9188 YY_RULE_SETUP
9189 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",yytext);
9190         YY_BREAK
9191 case YY_STATE_EOF(AL_simgrid_parse_link___ctn):
9192 FAIL("EOF in attribute list of `link_ctn' element.");
9193         YY_BREAK
9194
9195 case 353:
9196 /* rule 353 can match eol */
9197 YY_RULE_SETUP
9198 {
9199   LEAVE;
9200   ETag_simgrid_parse_link___ctn();
9201   popbuffer(); /* attribute */
9202   switch (YY_START) {
9203    case S_simgrid_parse_ASroute: case S_simgrid_parse_ASroute_1: case S_simgrid_parse_ASroute_2: SET(S_simgrid_parse_ASroute_2); break;
9204    case S_simgrid_parse_bypassASroute: case S_simgrid_parse_bypassASroute_1: case S_simgrid_parse_bypassASroute_2: SET(S_simgrid_parse_bypassASroute_2); break;
9205    case S_simgrid_parse_bypassRoute: case S_simgrid_parse_bypassRoute_1: case S_simgrid_parse_bypassRoute_2: SET(S_simgrid_parse_bypassRoute_2); break;
9206    case S_simgrid_parse_bypassZoneRoute: case S_simgrid_parse_bypassZoneRoute_1: case S_simgrid_parse_bypassZoneRoute_2: SET(S_simgrid_parse_bypassZoneRoute_2); break;
9207    case S_simgrid_parse_route: case S_simgrid_parse_route_1: case S_simgrid_parse_route_2: SET(S_simgrid_parse_route_2); break;
9208    case S_simgrid_parse_zoneRoute: case S_simgrid_parse_zoneRoute_1: case S_simgrid_parse_zoneRoute_2: SET(S_simgrid_parse_zoneRoute_2); break;
9209   }
9210  }
9211         YY_BREAK
9212 case 354:
9213 /* rule 354 can match eol */
9214 YY_RULE_SETUP
9215 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",yytext);
9216         YY_BREAK
9217 case 355:
9218 YY_RULE_SETUP
9219 FAIL("Unexpected character `%c': `</link_ctn>' expected.",yytext[0]);
9220         YY_BREAK
9221 case YY_STATE_EOF(E_simgrid_parse_link___ctn):
9222 FAIL("Premature EOF: `</link_ctn>' expected.");
9223         YY_BREAK
9224
9225 /* <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
9226   * <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->  */
9227 case 356:
9228 /* rule 356 can match eol */
9229 YY_RULE_SETUP
9230 FAIL("Starting tag <model_prop> is not allowed here.");
9231         YY_BREAK
9232 case 357:
9233 /* rule 357 can match eol */
9234 YY_RULE_SETUP
9235 {
9236   AX_simgrid_parse_model___prop_id = 0;
9237   simgrid_parse_model___prop_id_isset = 0;
9238   AX_simgrid_parse_model___prop_value = 0;
9239   simgrid_parse_model___prop_value_isset = 0;
9240   ENTER(AL_simgrid_parse_model___prop); pushbuffer(0);
9241   }
9242         YY_BREAK
9243
9244 case 358:
9245 /* rule 358 can match eol */
9246 YY_RULE_SETUP
9247 if (simgrid_parse_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_model___prop>");} simgrid_parse_model___prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_model___prop_id);
9248         YY_BREAK
9249 case 359:
9250 /* rule 359 can match eol */
9251 YY_RULE_SETUP
9252 if (simgrid_parse_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_model___prop>");}  simgrid_parse_model___prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_model___prop_id);
9253         YY_BREAK
9254 case 360:
9255 /* rule 360 can match eol */
9256 YY_RULE_SETUP
9257 if (simgrid_parse_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_model___prop>");} simgrid_parse_model___prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_model___prop_value);
9258         YY_BREAK
9259 case 361:
9260 /* rule 361 can match eol */
9261 YY_RULE_SETUP
9262 if (simgrid_parse_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_model___prop>");}  simgrid_parse_model___prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_model___prop_value);
9263         YY_BREAK
9264 case 362:
9265 YY_RULE_SETUP
9266 {
9267   if (!AX_simgrid_parse_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
9268   if (!AX_simgrid_parse_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
9269   LEAVE; STag_simgrid_parse_model___prop();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_model___prop);
9270  }
9271         YY_BREAK
9272 case 363:
9273 YY_RULE_SETUP
9274 {
9275   if (!AX_simgrid_parse_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
9276   if (!AX_simgrid_parse_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
9277   LEAVE; STag_simgrid_parse_model___prop(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_model___prop(); popbuffer(); /* attribute */
9278   switch (YY_START) {
9279    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9280   }
9281  }
9282         YY_BREAK
9283 case 364:
9284 YY_RULE_SETUP
9285 FAIL("Unexpected character `%c' in attribute list of model_prop element.", yytext[0]);
9286         YY_BREAK
9287 case 365:
9288 YY_RULE_SETUP
9289 FAIL("Bad attribute `%s' in `model_prop' element start tag.",yytext);
9290         YY_BREAK
9291 case YY_STATE_EOF(AL_simgrid_parse_model___prop):
9292 FAIL("EOF in attribute list of `model_prop' element.");
9293         YY_BREAK
9294
9295 case 366:
9296 /* rule 366 can match eol */
9297 YY_RULE_SETUP
9298 {
9299   LEAVE;
9300   ETag_simgrid_parse_model___prop();
9301   popbuffer(); /* attribute */
9302   switch (YY_START) {
9303    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9304   }
9305  }
9306         YY_BREAK
9307 case 367:
9308 /* rule 367 can match eol */
9309 YY_RULE_SETUP
9310 FAIL("Unexpected end-tag `%s': `</model_prop>' expected.",yytext);
9311         YY_BREAK
9312 case 368:
9313 YY_RULE_SETUP
9314 FAIL("Unexpected character `%c': `</model_prop>' expected.",yytext[0]);
9315         YY_BREAK
9316 case YY_STATE_EOF(E_simgrid_parse_model___prop):
9317 FAIL("Premature EOF: `</model_prop>' expected.");
9318         YY_BREAK
9319
9320 case 369:
9321 /* rule 369 can match eol */
9322 YY_RULE_SETUP
9323 FAIL("Starting tag <mount> is not allowed here.");
9324         YY_BREAK
9325 case 370:
9326 /* rule 370 can match eol */
9327 YY_RULE_SETUP
9328 {
9329   AX_simgrid_parse_mount_name = 0;
9330   simgrid_parse_mount_name_isset = 0;
9331   AX_simgrid_parse_mount_storageId = 0;
9332   simgrid_parse_mount_storageId_isset = 0;
9333   ENTER(AL_simgrid_parse_mount); pushbuffer(0);
9334   }
9335         YY_BREAK
9336
9337 case 371:
9338 /* rule 371 can match eol */
9339 YY_RULE_SETUP
9340 if (simgrid_parse_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <simgrid_parse_mount>");} simgrid_parse_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_mount_name);
9341         YY_BREAK
9342 case 372:
9343 /* rule 372 can match eol */
9344 YY_RULE_SETUP
9345 if (simgrid_parse_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <simgrid_parse_mount>");}  simgrid_parse_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_mount_name);
9346         YY_BREAK
9347 case 373:
9348 /* rule 373 can match eol */
9349 YY_RULE_SETUP
9350 if (simgrid_parse_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <simgrid_parse_mount>");} simgrid_parse_mount_storageId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_mount_storageId);
9351         YY_BREAK
9352 case 374:
9353 /* rule 374 can match eol */
9354 YY_RULE_SETUP
9355 if (simgrid_parse_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <simgrid_parse_mount>");}  simgrid_parse_mount_storageId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_mount_storageId);
9356         YY_BREAK
9357 case 375:
9358 YY_RULE_SETUP
9359 {
9360   if (!AX_simgrid_parse_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
9361   if (!AX_simgrid_parse_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
9362   LEAVE; STag_simgrid_parse_mount();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_mount);
9363  }
9364         YY_BREAK
9365 case 376:
9366 YY_RULE_SETUP
9367 {
9368   if (!AX_simgrid_parse_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
9369   if (!AX_simgrid_parse_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
9370   LEAVE; STag_simgrid_parse_mount(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_mount(); popbuffer(); /* attribute */
9371   switch (YY_START) {
9372    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9373   }
9374  }
9375         YY_BREAK
9376 case 377:
9377 YY_RULE_SETUP
9378 FAIL("Unexpected character `%c' in attribute list of mount element.", yytext[0]);
9379         YY_BREAK
9380 case 378:
9381 YY_RULE_SETUP
9382 FAIL("Bad attribute `%s' in `mount' element start tag.",yytext);
9383         YY_BREAK
9384 case YY_STATE_EOF(AL_simgrid_parse_mount):
9385 FAIL("EOF in attribute list of `mount' element.");
9386         YY_BREAK
9387
9388 case 379:
9389 /* rule 379 can match eol */
9390 YY_RULE_SETUP
9391 {
9392   LEAVE;
9393   ETag_simgrid_parse_mount();
9394   popbuffer(); /* attribute */
9395   switch (YY_START) {
9396    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9397   }
9398  }
9399         YY_BREAK
9400 case 380:
9401 /* rule 380 can match eol */
9402 YY_RULE_SETUP
9403 FAIL("Unexpected end-tag `%s': `</mount>' expected.",yytext);
9404         YY_BREAK
9405 case 381:
9406 YY_RULE_SETUP
9407 FAIL("Unexpected character `%c': `</mount>' expected.",yytext[0]);
9408         YY_BREAK
9409 case YY_STATE_EOF(E_simgrid_parse_mount):
9410 FAIL("Premature EOF: `</mount>' expected.");
9411         YY_BREAK
9412
9413 /* <!-- deprecated -->
9414   * <!-- deprecated -->  */
9415 case 382:
9416 /* rule 382 can match eol */
9417 YY_RULE_SETUP
9418 FAIL("Starting tag <peer> is not allowed here.");
9419         YY_BREAK
9420 case 383:
9421 /* rule 383 can match eol */
9422 YY_RULE_SETUP
9423 {
9424   AX_simgrid_parse_peer_availability___file = 0;
9425   simgrid_parse_peer_availability___file_isset = 0;
9426   AX_simgrid_parse_peer_bw___in = 0;
9427   simgrid_parse_peer_bw___in_isset = 0;
9428   AX_simgrid_parse_peer_bw___out = 0;
9429   simgrid_parse_peer_bw___out_isset = 0;
9430   AX_simgrid_parse_peer_coordinates = 0;
9431   simgrid_parse_peer_coordinates_isset = 0;
9432   AX_simgrid_parse_peer_id = 0;
9433   simgrid_parse_peer_id_isset = 0;
9434   AX_simgrid_parse_peer_lat = 0;
9435   simgrid_parse_peer_lat_isset = 0;
9436   AX_simgrid_parse_peer_speed = 0;
9437   simgrid_parse_peer_speed_isset = 0;
9438   AX_simgrid_parse_peer_speed___file = 0;
9439   simgrid_parse_peer_speed___file_isset = 0;
9440   AX_simgrid_parse_peer_state___file = 0;
9441   simgrid_parse_peer_state___file_isset = 0;
9442   ENTER(AL_simgrid_parse_peer); pushbuffer(0);
9443   }
9444         YY_BREAK
9445
9446 case 384:
9447 /* rule 384 can match eol */
9448 YY_RULE_SETUP
9449 if (simgrid_parse_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_peer>");} simgrid_parse_peer_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_availability___file);
9450         YY_BREAK
9451 case 385:
9452 /* rule 385 can match eol */
9453 YY_RULE_SETUP
9454 if (simgrid_parse_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_peer>");}  simgrid_parse_peer_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_availability___file);
9455         YY_BREAK
9456 case 386:
9457 /* rule 386 can match eol */
9458 YY_RULE_SETUP
9459 if (simgrid_parse_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <simgrid_parse_peer>");} simgrid_parse_peer_bw___in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_bw___in);
9460         YY_BREAK
9461 case 387:
9462 /* rule 387 can match eol */
9463 YY_RULE_SETUP
9464 if (simgrid_parse_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <simgrid_parse_peer>");}  simgrid_parse_peer_bw___in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_bw___in);
9465         YY_BREAK
9466 case 388:
9467 /* rule 388 can match eol */
9468 YY_RULE_SETUP
9469 if (simgrid_parse_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <simgrid_parse_peer>");} simgrid_parse_peer_bw___out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_bw___out);
9470         YY_BREAK
9471 case 389:
9472 /* rule 389 can match eol */
9473 YY_RULE_SETUP
9474 if (simgrid_parse_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <simgrid_parse_peer>");}  simgrid_parse_peer_bw___out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_bw___out);
9475         YY_BREAK
9476 case 390:
9477 /* rule 390 can match eol */
9478 YY_RULE_SETUP
9479 if (simgrid_parse_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_peer>");} simgrid_parse_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_coordinates);
9480         YY_BREAK
9481 case 391:
9482 /* rule 391 can match eol */
9483 YY_RULE_SETUP
9484 if (simgrid_parse_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_peer>");}  simgrid_parse_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_coordinates);
9485         YY_BREAK
9486 case 392:
9487 /* rule 392 can match eol */
9488 YY_RULE_SETUP
9489 if (simgrid_parse_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_peer>");} simgrid_parse_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_id);
9490         YY_BREAK
9491 case 393:
9492 /* rule 393 can match eol */
9493 YY_RULE_SETUP
9494 if (simgrid_parse_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_peer>");}  simgrid_parse_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_id);
9495         YY_BREAK
9496 case 394:
9497 /* rule 394 can match eol */
9498 YY_RULE_SETUP
9499 if (simgrid_parse_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_peer>");} simgrid_parse_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_lat);
9500         YY_BREAK
9501 case 395:
9502 /* rule 395 can match eol */
9503 YY_RULE_SETUP
9504 if (simgrid_parse_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_peer>");}  simgrid_parse_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_lat);
9505         YY_BREAK
9506 case 396:
9507 /* rule 396 can match eol */
9508 YY_RULE_SETUP
9509 if (simgrid_parse_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_peer>");} simgrid_parse_peer_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_speed);
9510         YY_BREAK
9511 case 397:
9512 /* rule 397 can match eol */
9513 YY_RULE_SETUP
9514 if (simgrid_parse_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_peer>");}  simgrid_parse_peer_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_speed);
9515         YY_BREAK
9516 case 398:
9517 /* rule 398 can match eol */
9518 YY_RULE_SETUP
9519 if (simgrid_parse_peer_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_peer>");} simgrid_parse_peer_speed___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_speed___file);
9520         YY_BREAK
9521 case 399:
9522 /* rule 399 can match eol */
9523 YY_RULE_SETUP
9524 if (simgrid_parse_peer_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_peer>");}  simgrid_parse_peer_speed___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_speed___file);
9525         YY_BREAK
9526 case 400:
9527 /* rule 400 can match eol */
9528 YY_RULE_SETUP
9529 if (simgrid_parse_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_peer>");} simgrid_parse_peer_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_state___file);
9530         YY_BREAK
9531 case 401:
9532 /* rule 401 can match eol */
9533 YY_RULE_SETUP
9534 if (simgrid_parse_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_peer>");}  simgrid_parse_peer_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_state___file);
9535         YY_BREAK
9536 case 402:
9537 YY_RULE_SETUP
9538 {
9539   if (!AX_simgrid_parse_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
9540   if (!AX_simgrid_parse_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
9541   if (!AX_simgrid_parse_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
9542   if (!AX_simgrid_parse_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
9543   LEAVE; STag_simgrid_parse_peer();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_peer);
9544  }
9545         YY_BREAK
9546 case 403:
9547 YY_RULE_SETUP
9548 {
9549   if (!AX_simgrid_parse_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
9550   if (!AX_simgrid_parse_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
9551   if (!AX_simgrid_parse_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
9552   if (!AX_simgrid_parse_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
9553   LEAVE; STag_simgrid_parse_peer(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_peer(); popbuffer(); /* attribute */
9554   switch (YY_START) {
9555    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
9556    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
9557    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
9558    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
9559   }
9560  }
9561         YY_BREAK
9562 case 404:
9563 YY_RULE_SETUP
9564 FAIL("Unexpected character `%c' in attribute list of peer element.", yytext[0]);
9565         YY_BREAK
9566 case 405:
9567 YY_RULE_SETUP
9568 FAIL("Bad attribute `%s' in `peer' element start tag.",yytext);
9569         YY_BREAK
9570 case YY_STATE_EOF(AL_simgrid_parse_peer):
9571 FAIL("EOF in attribute list of `peer' element.");
9572         YY_BREAK
9573
9574 case 406:
9575 /* rule 406 can match eol */
9576 YY_RULE_SETUP
9577 {
9578   LEAVE;
9579   ETag_simgrid_parse_peer();
9580   popbuffer(); /* attribute */
9581   switch (YY_START) {
9582    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
9583    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
9584    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
9585    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
9586   }
9587  }
9588         YY_BREAK
9589 case 407:
9590 /* rule 407 can match eol */
9591 YY_RULE_SETUP
9592 FAIL("Unexpected end-tag `%s': `</peer>' expected.",yytext);
9593         YY_BREAK
9594 case 408:
9595 YY_RULE_SETUP
9596 FAIL("Unexpected character `%c': `</peer>' expected.",yytext[0]);
9597         YY_BREAK
9598 case YY_STATE_EOF(E_simgrid_parse_peer):
9599 FAIL("Premature EOF: `</peer>' expected.");
9600         YY_BREAK
9601
9602 /* <!--
9603   *              DTD of SimGrid platform and deployment files.
9604   * More info: https://simgrid.org/doc/latest/platform.html
9605   * To upgrade your files, use the tool simgrid_update_xml
9606   * * Things that will change in upcoming version 5 (TODO):
9607   *   - The following tags will be removed:
9608   *     - <include> spits an error since v3.18
9609   *     - <random> and <model_prop> do nothing since a very long time
9610   *     - <as>, <asroute>, <bypassASRoute> and <process>, deprecated in DTD4.1
9611   *   - FULLDUPLEX sharing will be removed, deprecated in DTD4.2 (v3.19)
9612   * * New in DTD version 4.1 (in SimGrid 3.16): backward compatible change (v4 files are valid v4.1 files)
9613   *    - <zone> can be used as a synonym for the now deprecated <as>
9614   *    - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
9615   *    - <bypassZoneRoute> can be used as a synonym for the now deprecated <bypassAsRoute>
9616   *    - <actor> can be used as a synonym for the now deprecated <process>
9617   *   Other backward-compatible changes for which we did not bump the DTD version.
9618   *   - SPLITDUPLEX is the new spelling of the deprecated FULLDUPLEX (SimGrid v3.19)
9619   *   - In <host> and <peer> availability_file is now speed_file (SimGrid v3.22)
9620   * * New in DTD version 4 (in SimGrid 3.13):
9621   *    - Rename (power->speed) the attributes describing the amount of flop
9622   *      that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
9623   *    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
9624   *    - In <host> and <link>, attributes availability and state are gone.
9625   *      It was redundant with state and availability profiles, and with peak values.
9626   *    - In <cluster>, cannot set the availability nor state profiles.
9627   *      This was too complex and unused.
9628   *    - The DOCTYPE points to the right URL (this file).
9629   *    - Kill <gpu>. Was not doing anything.
9630   *    - A warning is emitted for unit-less values (they are still accepted).
9631   *      The value 0 can remain unit-less, as its unit does not matter.
9632   *      - speed. Default: 'f' or 'flops'. Also defined:
9633   *         'Yf',         'Zf',         'Ef',       'Pf',        'Tf',        'Gf',        'Mf',        'kf'
9634   *         'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
9635   *      - bandwidth. Default: 'Bps' bytes per second
9636   *        In bytes and powers of 2  (1 KiBps = 1024 Bps): 'EiBps', 'PiBps', 'TiBps', 'GiBps', 'MiBps', 'KiBps'
9637   *        In bits  and powers of 2  (1 Bps = 8 bps)     : 'Eibps', 'Pibps', 'Tibps', 'Gibps', 'Mibps', 'Kibps'
9638   *        In bytes and powers of 10 (1 KBps = 1000 Bps) : 'EBps', 'PBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
9639   *        In bits  and powers of 10                     : 'Ebps', 'Pbps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
9640   *        (Exa and Peta notations were introduced in SimGrid v3.14)
9641   *      - latency. Default: 's' second. Also defined:
9642   *        'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
9643   * * New in DTD version 3 (in SimGrid 3.5):
9644   *    - The AS tag were introduced. Every platform should now
9645   *      contain an englobing AS tag.
9646   *    - Routes are now symmetric by default.
9647   *    - Renamed tags (for sake of XML sanity):
9648   *      - LINK:CTN -> LINK_CTN
9649   *      - TRACE:CONNECT -> TRACE_CONNECT
9650   * * New in DTD version 2 (in SimGrid 3.4):
9651   *    - Renamed tags:
9652   *      - CPU -> HOST
9653   *      - NETWORK_LINK -> LINK
9654   *      - ROUTE_ELEMENT ->  LINK:CTN (changed again in v3)
9655   *      - PLATFORM_DESCRIPTION -> PLATFORM
9656   * * New in DTD version 1 (in SimGrid 3.3):
9657   *    - DTD is now versioned with the version attribute of platform
9658   *    - Unit change:
9659   *      - Link bandwidth: from Mb/s to b/s
9660   *      - CPU speed: from MFlop/s to Flop/s
9661   * -->  */
9662 case 409:
9663 /* rule 409 can match eol */
9664 YY_RULE_SETUP
9665 FAIL("Starting tag <platform> is not allowed here.");
9666         YY_BREAK
9667 case 410:
9668 /* rule 410 can match eol */
9669 YY_RULE_SETUP
9670 {
9671   AX_simgrid_parse_platform_version = 1;
9672   simgrid_parse_platform_version_isset = 0;
9673   ENTER(AL_simgrid_parse_platform); pushbuffer(0);
9674   }
9675         YY_BREAK
9676
9677 case 411:
9678 /* rule 411 can match eol */
9679 YY_RULE_SETUP
9680 if (simgrid_parse_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <simgrid_parse_platform>");} simgrid_parse_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_platform_version);
9681         YY_BREAK
9682 case 412:
9683 /* rule 412 can match eol */
9684 YY_RULE_SETUP
9685 if (simgrid_parse_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <simgrid_parse_platform>");}  simgrid_parse_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_platform_version);
9686         YY_BREAK
9687 case 413:
9688 YY_RULE_SETUP
9689 {
9690   LEAVE; STag_simgrid_parse_platform();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_platform);
9691  }
9692         YY_BREAK
9693 case 414:
9694 YY_RULE_SETUP
9695 {
9696   LEAVE; STag_simgrid_parse_platform(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_platform(); popbuffer(); /* attribute */
9697   switch (YY_START) {
9698    case ROOT_simgrid_parse_platform: SET(EPILOG); break;
9699   }
9700  }
9701         YY_BREAK
9702 case 415:
9703 YY_RULE_SETUP
9704 FAIL("Unexpected character `%c' in attribute list of platform element.", yytext[0]);
9705         YY_BREAK
9706 case 416:
9707 YY_RULE_SETUP
9708 FAIL("Bad attribute `%s' in `platform' element start tag.",yytext);
9709         YY_BREAK
9710 case YY_STATE_EOF(AL_simgrid_parse_platform):
9711 FAIL("EOF in attribute list of `platform' element.");
9712         YY_BREAK
9713
9714 case 417:
9715 /* rule 417 can match eol */
9716 YY_RULE_SETUP
9717 {
9718   LEAVE;
9719   ETag_simgrid_parse_platform();
9720   popbuffer(); /* attribute */
9721   switch (YY_START) {
9722    case ROOT_simgrid_parse_platform: SET(EPILOG); break;
9723   }
9724  }
9725         YY_BREAK
9726 case 418:
9727 /* rule 418 can match eol */
9728 YY_RULE_SETUP
9729 FAIL("Unexpected end-tag `%s': `</platform>' expected.",yytext);
9730         YY_BREAK
9731 case 419:
9732 YY_RULE_SETUP
9733 FAIL("Unexpected character `%c': `</platform>' expected.",yytext[0]);
9734         YY_BREAK
9735 case YY_STATE_EOF(E_simgrid_parse_platform):
9736 case YY_STATE_EOF(S_simgrid_parse_platform):
9737 case YY_STATE_EOF(S_simgrid_parse_platform_1):
9738 case YY_STATE_EOF(S_simgrid_parse_platform_3):
9739 case YY_STATE_EOF(S_simgrid_parse_platform_4):
9740 case YY_STATE_EOF(S_simgrid_parse_platform_6):
9741 case YY_STATE_EOF(S_simgrid_parse_platform_8):
9742 FAIL("Premature EOF: `</platform>' expected.");
9743         YY_BREAK
9744
9745 /* <!-- process is deprecated -->  */
9746 case 420:
9747 /* rule 420 can match eol */
9748 YY_RULE_SETUP
9749 FAIL("Starting tag <process> is not allowed here.");
9750         YY_BREAK
9751 case 421:
9752 /* rule 421 can match eol */
9753 YY_RULE_SETUP
9754 {
9755   AX_simgrid_parse_process_function = 0;
9756   simgrid_parse_process_function_isset = 0;
9757   AX_simgrid_parse_process_host = 0;
9758   simgrid_parse_process_host_isset = 0;
9759   AX_simgrid_parse_process_kill___time = 38;
9760   simgrid_parse_process_kill___time_isset = 0;
9761   AX_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_DIE;
9762   simgrid_parse_process_on___failure_isset = 0;
9763   AX_simgrid_parse_process_start___time = 33;
9764   simgrid_parse_process_start___time_isset = 0;
9765   ENTER(AL_simgrid_parse_process); pushbuffer(0);
9766   }
9767         YY_BREAK
9768
9769 case 422:
9770 /* rule 422 can match eol */
9771 YY_RULE_SETUP
9772 if (simgrid_parse_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_process>");} simgrid_parse_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_function);
9773         YY_BREAK
9774 case 423:
9775 /* rule 423 can match eol */
9776 YY_RULE_SETUP
9777 if (simgrid_parse_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_process>");}  simgrid_parse_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_function);
9778         YY_BREAK
9779 case 424:
9780 /* rule 424 can match eol */
9781 YY_RULE_SETUP
9782 if (simgrid_parse_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_process>");} simgrid_parse_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_host);
9783         YY_BREAK
9784 case 425:
9785 /* rule 425 can match eol */
9786 YY_RULE_SETUP
9787 if (simgrid_parse_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_process>");}  simgrid_parse_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_host);
9788         YY_BREAK
9789 case 426:
9790 /* rule 426 can match eol */
9791 YY_RULE_SETUP
9792 if (simgrid_parse_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_process>");} simgrid_parse_process_kill___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_kill___time);
9793         YY_BREAK
9794 case 427:
9795 /* rule 427 can match eol */
9796 YY_RULE_SETUP
9797 if (simgrid_parse_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_process>");}  simgrid_parse_process_kill___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_kill___time);
9798         YY_BREAK
9799 case 428:
9800 /* rule 428 can match eol */
9801 case 429:
9802 /* rule 429 can match eol */
9803 YY_RULE_SETUP
9804 A_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_DIE;
9805         YY_BREAK
9806 case 430:
9807 /* rule 430 can match eol */
9808 case 431:
9809 /* rule 431 can match eol */
9810 YY_RULE_SETUP
9811 A_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_RESTART;
9812         YY_BREAK
9813 case 432:
9814 /* rule 432 can match eol */
9815 YY_RULE_SETUP
9816 if (simgrid_parse_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_process>");} simgrid_parse_process_start___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_start___time);
9817         YY_BREAK
9818 case 433:
9819 /* rule 433 can match eol */
9820 YY_RULE_SETUP
9821 if (simgrid_parse_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_process>");}  simgrid_parse_process_start___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_start___time);
9822         YY_BREAK
9823 case 434:
9824 YY_RULE_SETUP
9825 {
9826   if (!AX_simgrid_parse_process_function) FAIL("Required attribute `function' not set for `process' element.");
9827   if (!AX_simgrid_parse_process_host) FAIL("Required attribute `host' not set for `process' element.");
9828   LEAVE; STag_simgrid_parse_process();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_process);
9829  }
9830         YY_BREAK
9831 case 435:
9832 YY_RULE_SETUP
9833 {
9834   if (!AX_simgrid_parse_process_function) FAIL("Required attribute `function' not set for `process' element.");
9835   if (!AX_simgrid_parse_process_host) FAIL("Required attribute `host' not set for `process' element.");
9836   LEAVE; STag_simgrid_parse_process(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_process(); popbuffer(); /* attribute */
9837   switch (YY_START) {
9838    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
9839   }
9840  }
9841         YY_BREAK
9842 case 436:
9843 YY_RULE_SETUP
9844 FAIL("Unexpected character `%c' in attribute list of process element.", yytext[0]);
9845         YY_BREAK
9846 case 437:
9847 YY_RULE_SETUP
9848 FAIL("Bad attribute `%s' in `process' element start tag.",yytext);
9849         YY_BREAK
9850 case YY_STATE_EOF(AL_simgrid_parse_process):
9851 FAIL("EOF in attribute list of `process' element.");
9852         YY_BREAK
9853
9854 case 438:
9855 /* rule 438 can match eol */
9856 YY_RULE_SETUP
9857 {
9858   LEAVE;
9859   ETag_simgrid_parse_process();
9860   popbuffer(); /* attribute */
9861   switch (YY_START) {
9862    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
9863   }
9864  }
9865         YY_BREAK
9866 case 439:
9867 /* rule 439 can match eol */
9868 YY_RULE_SETUP
9869 FAIL("Unexpected end-tag `%s': `</process>' expected.",yytext);
9870         YY_BREAK
9871 case 440:
9872 YY_RULE_SETUP
9873 FAIL("Unexpected character `%c': `</process>' expected.",yytext[0]);
9874         YY_BREAK
9875 case YY_STATE_EOF(E_simgrid_parse_process):
9876 case YY_STATE_EOF(S_simgrid_parse_process):
9877 case YY_STATE_EOF(S_simgrid_parse_process_2):
9878 FAIL("Premature EOF: `</process>' expected.");
9879         YY_BREAK
9880
9881 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
9882   * <!-- <!ATTLIST prop key CDATA #REQUIRED> -->  */
9883 case 441:
9884 /* rule 441 can match eol */
9885 YY_RULE_SETUP
9886 FAIL("Starting tag <prop> is not allowed here.");
9887         YY_BREAK
9888 case 442:
9889 /* rule 442 can match eol */
9890 YY_RULE_SETUP
9891 {
9892   AX_simgrid_parse_prop_id = 0;
9893   simgrid_parse_prop_id_isset = 0;
9894   AX_simgrid_parse_prop_value = 0;
9895   simgrid_parse_prop_value_isset = 0;
9896   ENTER(AL_simgrid_parse_prop); pushbuffer(0);
9897   }
9898         YY_BREAK
9899
9900 case 443:
9901 /* rule 443 can match eol */
9902 YY_RULE_SETUP
9903 if (simgrid_parse_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_prop>");} simgrid_parse_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_prop_id);
9904         YY_BREAK
9905 case 444:
9906 /* rule 444 can match eol */
9907 YY_RULE_SETUP
9908 if (simgrid_parse_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_prop>");}  simgrid_parse_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_prop_id);
9909         YY_BREAK
9910 case 445:
9911 /* rule 445 can match eol */
9912 YY_RULE_SETUP
9913 if (simgrid_parse_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_prop>");} simgrid_parse_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_prop_value);
9914         YY_BREAK
9915 case 446:
9916 /* rule 446 can match eol */
9917 YY_RULE_SETUP
9918 if (simgrid_parse_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_prop>");}  simgrid_parse_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_prop_value);
9919         YY_BREAK
9920 case 447:
9921 YY_RULE_SETUP
9922 {
9923   if (!AX_simgrid_parse_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
9924   if (!AX_simgrid_parse_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
9925   LEAVE; STag_simgrid_parse_prop();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_prop);
9926  }
9927         YY_BREAK
9928 case 448:
9929 YY_RULE_SETUP
9930 {
9931   if (!AX_simgrid_parse_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
9932   if (!AX_simgrid_parse_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
9933   LEAVE; STag_simgrid_parse_prop(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_prop(); popbuffer(); /* attribute */
9934   switch (YY_START) {
9935    case S_simgrid_parse_AS: case S_simgrid_parse_AS_2: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_3); break;
9936    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
9937    case S_simgrid_parse_cluster: case S_simgrid_parse_cluster_1: case S_simgrid_parse_cluster_2: SET(S_simgrid_parse_cluster_2); break;
9938    case S_simgrid_parse_config: case S_simgrid_parse_config_1: case S_simgrid_parse_config_2: SET(S_simgrid_parse_config_2); break;
9939    case S_simgrid_parse_disk: case S_simgrid_parse_disk_1: case S_simgrid_parse_disk_2: SET(S_simgrid_parse_disk_2); break;
9940    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9941    case S_simgrid_parse_link: case S_simgrid_parse_link_1: case S_simgrid_parse_link_2: SET(S_simgrid_parse_link_2); break;
9942    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
9943    case S_simgrid_parse_storage: case S_simgrid_parse_storage_1: case S_simgrid_parse_storage_2: SET(S_simgrid_parse_storage_2); break;
9944    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9945    case S_simgrid_parse_zone: case S_simgrid_parse_zone_2: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_3); break;
9946   }
9947  }
9948         YY_BREAK
9949 case 449:
9950 YY_RULE_SETUP
9951 FAIL("Unexpected character `%c' in attribute list of prop element.", yytext[0]);
9952         YY_BREAK
9953 case 450:
9954 YY_RULE_SETUP
9955 FAIL("Bad attribute `%s' in `prop' element start tag.",yytext);
9956         YY_BREAK
9957 case YY_STATE_EOF(AL_simgrid_parse_prop):
9958 FAIL("EOF in attribute list of `prop' element.");
9959         YY_BREAK
9960
9961 case 451:
9962 /* rule 451 can match eol */
9963 YY_RULE_SETUP
9964 {
9965   LEAVE;
9966   ETag_simgrid_parse_prop();
9967   popbuffer(); /* attribute */
9968   switch (YY_START) {
9969    case S_simgrid_parse_AS: case S_simgrid_parse_AS_2: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_3); break;
9970    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
9971    case S_simgrid_parse_cluster: case S_simgrid_parse_cluster_1: case S_simgrid_parse_cluster_2: SET(S_simgrid_parse_cluster_2); break;
9972    case S_simgrid_parse_config: case S_simgrid_parse_config_1: case S_simgrid_parse_config_2: SET(S_simgrid_parse_config_2); break;
9973    case S_simgrid_parse_disk: case S_simgrid_parse_disk_1: case S_simgrid_parse_disk_2: SET(S_simgrid_parse_disk_2); break;
9974    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9975    case S_simgrid_parse_link: case S_simgrid_parse_link_1: case S_simgrid_parse_link_2: SET(S_simgrid_parse_link_2); break;
9976    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
9977    case S_simgrid_parse_storage: case S_simgrid_parse_storage_1: case S_simgrid_parse_storage_2: SET(S_simgrid_parse_storage_2); break;
9978    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9979    case S_simgrid_parse_zone: case S_simgrid_parse_zone_2: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_3); break;
9980   }
9981  }
9982         YY_BREAK
9983 case 452:
9984 /* rule 452 can match eol */
9985 YY_RULE_SETUP
9986 FAIL("Unexpected end-tag `%s': `</prop>' expected.",yytext);
9987         YY_BREAK
9988 case 453:
9989 YY_RULE_SETUP
9990 FAIL("Unexpected character `%c': `</prop>' expected.",yytext[0]);
9991         YY_BREAK
9992 case YY_STATE_EOF(E_simgrid_parse_prop):
9993 FAIL("Premature EOF: `</prop>' expected.");
9994         YY_BREAK
9995
9996 /* <!-- random is deprecated -->  */
9997 case 454:
9998 /* rule 454 can match eol */
9999 YY_RULE_SETUP
10000 FAIL("Starting tag <random> is not allowed here.");
10001         YY_BREAK
10002 case 455:
10003 /* rule 455 can match eol */
10004 YY_RULE_SETUP
10005 {
10006   AX_simgrid_parse_random_generator = A_simgrid_parse_random_generator_DRAND48;
10007   simgrid_parse_random_generator_isset = 0;
10008   AX_simgrid_parse_random_id = 0;
10009   simgrid_parse_random_id_isset = 0;
10010   AX_simgrid_parse_random_max = 0;
10011   simgrid_parse_random_max_isset = 0;
10012   AX_simgrid_parse_random_mean = 0;
10013   simgrid_parse_random_mean_isset = 0;
10014   AX_simgrid_parse_random_min = 0;
10015   simgrid_parse_random_min_isset = 0;
10016   AX_simgrid_parse_random_radical = 0;
10017   simgrid_parse_random_radical_isset = 0;
10018   AX_simgrid_parse_random_seed = 5;
10019   simgrid_parse_random_seed_isset = 0;
10020   AX_simgrid_parse_random_std___deviation = 0;
10021   simgrid_parse_random_std___deviation_isset = 0;
10022   ENTER(AL_simgrid_parse_random); pushbuffer(0);
10023   }
10024         YY_BREAK
10025
10026 case 456:
10027 /* rule 456 can match eol */
10028 case 457:
10029 /* rule 457 can match eol */
10030 YY_RULE_SETUP
10031 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_DRAND48;
10032         YY_BREAK
10033 case 458:
10034 /* rule 458 can match eol */
10035 case 459:
10036 /* rule 459 can match eol */
10037 YY_RULE_SETUP
10038 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_RAND;
10039         YY_BREAK
10040 case 460:
10041 /* rule 460 can match eol */
10042 case 461:
10043 /* rule 461 can match eol */
10044 YY_RULE_SETUP
10045 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_RNGSTREAM;
10046         YY_BREAK
10047 case 462:
10048 /* rule 462 can match eol */
10049 case 463:
10050 /* rule 463 can match eol */
10051 YY_RULE_SETUP
10052 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_NONE;
10053         YY_BREAK
10054 case 464:
10055 /* rule 464 can match eol */
10056 YY_RULE_SETUP
10057 if (simgrid_parse_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_random>");} simgrid_parse_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_id);
10058         YY_BREAK
10059 case 465:
10060 /* rule 465 can match eol */
10061 YY_RULE_SETUP
10062 if (simgrid_parse_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_random>");}  simgrid_parse_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_id);
10063         YY_BREAK
10064 case 466:
10065 /* rule 466 can match eol */
10066 YY_RULE_SETUP
10067 if (simgrid_parse_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <simgrid_parse_random>");} simgrid_parse_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_max);
10068         YY_BREAK
10069 case 467:
10070 /* rule 467 can match eol */
10071 YY_RULE_SETUP
10072 if (simgrid_parse_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <simgrid_parse_random>");}  simgrid_parse_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_max);
10073         YY_BREAK
10074 case 468:
10075 /* rule 468 can match eol */
10076 YY_RULE_SETUP
10077 if (simgrid_parse_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <simgrid_parse_random>");} simgrid_parse_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_mean);
10078         YY_BREAK
10079 case 469:
10080 /* rule 469 can match eol */
10081 YY_RULE_SETUP
10082 if (simgrid_parse_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <simgrid_parse_random>");}  simgrid_parse_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_mean);
10083         YY_BREAK
10084 case 470:
10085 /* rule 470 can match eol */
10086 YY_RULE_SETUP
10087 if (simgrid_parse_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <simgrid_parse_random>");} simgrid_parse_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_min);
10088         YY_BREAK
10089 case 471:
10090 /* rule 471 can match eol */
10091 YY_RULE_SETUP
10092 if (simgrid_parse_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <simgrid_parse_random>");}  simgrid_parse_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_min);
10093         YY_BREAK
10094 case 472:
10095 /* rule 472 can match eol */
10096 YY_RULE_SETUP
10097 if (simgrid_parse_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_random>");} simgrid_parse_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_radical);
10098         YY_BREAK
10099 case 473:
10100 /* rule 473 can match eol */
10101 YY_RULE_SETUP
10102 if (simgrid_parse_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_random>");}  simgrid_parse_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_radical);
10103         YY_BREAK
10104 case 474:
10105 /* rule 474 can match eol */
10106 YY_RULE_SETUP
10107 if (simgrid_parse_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <simgrid_parse_random>");} simgrid_parse_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_seed);
10108         YY_BREAK
10109 case 475:
10110 /* rule 475 can match eol */
10111 YY_RULE_SETUP
10112 if (simgrid_parse_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <simgrid_parse_random>");}  simgrid_parse_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_seed);
10113         YY_BREAK
10114 case 476:
10115 /* rule 476 can match eol */
10116 YY_RULE_SETUP
10117 if (simgrid_parse_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <simgrid_parse_random>");} simgrid_parse_random_std___deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_std___deviation);
10118         YY_BREAK
10119 case 477:
10120 /* rule 477 can match eol */
10121 YY_RULE_SETUP
10122 if (simgrid_parse_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <simgrid_parse_random>");}  simgrid_parse_random_std___deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_std___deviation);
10123         YY_BREAK
10124 case 478:
10125 YY_RULE_SETUP
10126 {
10127   if (!AX_simgrid_parse_random_id) FAIL("Required attribute `id' not set for `random' element.");
10128   if (!AX_simgrid_parse_random_max) FAIL("Required attribute `max' not set for `random' element.");
10129   if (!AX_simgrid_parse_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
10130   if (!AX_simgrid_parse_random_min) FAIL("Required attribute `min' not set for `random' element.");
10131   if (!AX_simgrid_parse_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
10132   LEAVE; STag_simgrid_parse_random();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_random);
10133  }
10134         YY_BREAK
10135 case 479:
10136 YY_RULE_SETUP
10137 {
10138   if (!AX_simgrid_parse_random_id) FAIL("Required attribute `id' not set for `random' element.");
10139   if (!AX_simgrid_parse_random_max) FAIL("Required attribute `max' not set for `random' element.");
10140   if (!AX_simgrid_parse_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
10141   if (!AX_simgrid_parse_random_min) FAIL("Required attribute `min' not set for `random' element.");
10142   if (!AX_simgrid_parse_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
10143   LEAVE; STag_simgrid_parse_random(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_random(); popbuffer(); /* attribute */
10144   switch (YY_START) {
10145    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
10146   }
10147  }
10148         YY_BREAK
10149 case 480:
10150 YY_RULE_SETUP
10151 FAIL("Unexpected character `%c' in attribute list of random element.", yytext[0]);
10152         YY_BREAK
10153 case 481:
10154 YY_RULE_SETUP
10155 FAIL("Bad attribute `%s' in `random' element start tag.",yytext);
10156         YY_BREAK
10157 case YY_STATE_EOF(AL_simgrid_parse_random):
10158 FAIL("EOF in attribute list of `random' element.");
10159         YY_BREAK
10160
10161 case 482:
10162 /* rule 482 can match eol */
10163 YY_RULE_SETUP
10164 {
10165   LEAVE;
10166   ETag_simgrid_parse_random();
10167   popbuffer(); /* attribute */
10168   switch (YY_START) {
10169    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
10170   }
10171  }
10172         YY_BREAK
10173 case 483:
10174 /* rule 483 can match eol */
10175 YY_RULE_SETUP
10176 FAIL("Unexpected end-tag `%s': `</random>' expected.",yytext);
10177         YY_BREAK
10178 case 484:
10179 YY_RULE_SETUP
10180 FAIL("Unexpected character `%c': `</random>' expected.",yytext[0]);
10181         YY_BREAK
10182 case YY_STATE_EOF(E_simgrid_parse_random):
10183 FAIL("Premature EOF: `</random>' expected.");
10184         YY_BREAK
10185
10186 case 485:
10187 /* rule 485 can match eol */
10188 YY_RULE_SETUP
10189 FAIL("Starting tag <route> is not allowed here.");
10190         YY_BREAK
10191 case 486:
10192 /* rule 486 can match eol */
10193 YY_RULE_SETUP
10194 {
10195   AX_simgrid_parse_route_dst = 0;
10196   simgrid_parse_route_dst_isset = 0;
10197   AX_simgrid_parse_route_src = 0;
10198   simgrid_parse_route_src_isset = 0;
10199   AX_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_YES;
10200   simgrid_parse_route_symmetrical_isset = 0;
10201   ENTER(AL_simgrid_parse_route); pushbuffer(0);
10202   }
10203         YY_BREAK
10204
10205 case 487:
10206 /* rule 487 can match eol */
10207 YY_RULE_SETUP
10208 if (simgrid_parse_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_route>");} simgrid_parse_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_route_dst);
10209         YY_BREAK
10210 case 488:
10211 /* rule 488 can match eol */
10212 YY_RULE_SETUP
10213 if (simgrid_parse_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_route>");}  simgrid_parse_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_route_dst);
10214         YY_BREAK
10215 case 489:
10216 /* rule 489 can match eol */
10217 YY_RULE_SETUP
10218 if (simgrid_parse_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_route>");} simgrid_parse_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_route_src);
10219         YY_BREAK
10220 case 490:
10221 /* rule 490 can match eol */
10222 YY_RULE_SETUP
10223 if (simgrid_parse_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_route>");}  simgrid_parse_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_route_src);
10224         YY_BREAK
10225 case 491:
10226 /* rule 491 can match eol */
10227 case 492:
10228 /* rule 492 can match eol */
10229 YY_RULE_SETUP
10230 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_YES;
10231         YY_BREAK
10232 case 493:
10233 /* rule 493 can match eol */
10234 case 494:
10235 /* rule 494 can match eol */
10236 YY_RULE_SETUP
10237 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_NO;
10238         YY_BREAK
10239 case 495:
10240 /* rule 495 can match eol */
10241 case 496:
10242 /* rule 496 can match eol */
10243 YY_RULE_SETUP
10244 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_yes;
10245         YY_BREAK
10246 case 497:
10247 /* rule 497 can match eol */
10248 case 498:
10249 /* rule 498 can match eol */
10250 YY_RULE_SETUP
10251 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_no;
10252         YY_BREAK
10253 case 499:
10254 YY_RULE_SETUP
10255 {
10256   if (!AX_simgrid_parse_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
10257   if (!AX_simgrid_parse_route_src) FAIL("Required attribute `src' not set for `route' element.");
10258   LEAVE; STag_simgrid_parse_route();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_route);
10259  }
10260         YY_BREAK
10261 case 500:
10262 YY_RULE_SETUP
10263 {
10264   if (!AX_simgrid_parse_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
10265   if (!AX_simgrid_parse_route_src) FAIL("Required attribute `src' not set for `route' element.");
10266   LEAVE; STag_simgrid_parse_route(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_route(); popbuffer(); /* attribute */
10267   switch (YY_START) {
10268    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
10269    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
10270   }
10271  }
10272         YY_BREAK
10273 case 501:
10274 YY_RULE_SETUP
10275 FAIL("Unexpected character `%c' in attribute list of route element.", yytext[0]);
10276         YY_BREAK
10277 case 502:
10278 YY_RULE_SETUP
10279 FAIL("Bad attribute `%s' in `route' element start tag.",yytext);
10280         YY_BREAK
10281 case YY_STATE_EOF(AL_simgrid_parse_route):
10282 FAIL("EOF in attribute list of `route' element.");
10283         YY_BREAK
10284
10285 case 503:
10286 /* rule 503 can match eol */
10287 YY_RULE_SETUP
10288 {
10289   LEAVE;
10290   ETag_simgrid_parse_route();
10291   popbuffer(); /* attribute */
10292   switch (YY_START) {
10293    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
10294    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
10295   }
10296  }
10297         YY_BREAK
10298 case 504:
10299 /* rule 504 can match eol */
10300 YY_RULE_SETUP
10301 FAIL("Unexpected end-tag `%s': `</route>' expected.",yytext);
10302         YY_BREAK
10303 case 505:
10304 YY_RULE_SETUP
10305 FAIL("Unexpected character `%c': `</route>' expected.",yytext[0]);
10306         YY_BREAK
10307 case YY_STATE_EOF(E_simgrid_parse_route):
10308 case YY_STATE_EOF(S_simgrid_parse_route):
10309 case YY_STATE_EOF(S_simgrid_parse_route_2):
10310 FAIL("Premature EOF: `</route>' expected.");
10311         YY_BREAK
10312
10313 case 506:
10314 /* rule 506 can match eol */
10315 YY_RULE_SETUP
10316 FAIL("Starting tag <router> is not allowed here.");
10317         YY_BREAK
10318 case 507:
10319 /* rule 507 can match eol */
10320 YY_RULE_SETUP
10321 {
10322   AX_simgrid_parse_router_coordinates = 0;
10323   simgrid_parse_router_coordinates_isset = 0;
10324   AX_simgrid_parse_router_id = 0;
10325   simgrid_parse_router_id_isset = 0;
10326   ENTER(AL_simgrid_parse_router); pushbuffer(0);
10327   }
10328         YY_BREAK
10329
10330 case 508:
10331 /* rule 508 can match eol */
10332 YY_RULE_SETUP
10333 if (simgrid_parse_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_router>");} simgrid_parse_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_router_coordinates);
10334         YY_BREAK
10335 case 509:
10336 /* rule 509 can match eol */
10337 YY_RULE_SETUP
10338 if (simgrid_parse_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_router>");}  simgrid_parse_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_router_coordinates);
10339         YY_BREAK
10340 case 510:
10341 /* rule 510 can match eol */
10342 YY_RULE_SETUP
10343 if (simgrid_parse_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_router>");} simgrid_parse_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_router_id);
10344         YY_BREAK
10345 case 511:
10346 /* rule 511 can match eol */
10347 YY_RULE_SETUP
10348 if (simgrid_parse_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_router>");}  simgrid_parse_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_router_id);
10349         YY_BREAK
10350 case 512:
10351 YY_RULE_SETUP
10352 {
10353   if (!AX_simgrid_parse_router_id) FAIL("Required attribute `id' not set for `router' element.");
10354   LEAVE; STag_simgrid_parse_router();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_router);
10355  }
10356         YY_BREAK
10357 case 513:
10358 YY_RULE_SETUP
10359 {
10360   if (!AX_simgrid_parse_router_id) FAIL("Required attribute `id' not set for `router' element.");
10361   LEAVE; STag_simgrid_parse_router(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_router(); popbuffer(); /* attribute */
10362   switch (YY_START) {
10363    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10364    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10365   }
10366  }
10367         YY_BREAK
10368 case 514:
10369 YY_RULE_SETUP
10370 FAIL("Unexpected character `%c' in attribute list of router element.", yytext[0]);
10371         YY_BREAK
10372 case 515:
10373 YY_RULE_SETUP
10374 FAIL("Bad attribute `%s' in `router' element start tag.",yytext);
10375         YY_BREAK
10376 case YY_STATE_EOF(AL_simgrid_parse_router):
10377 FAIL("EOF in attribute list of `router' element.");
10378         YY_BREAK
10379
10380 case 516:
10381 /* rule 516 can match eol */
10382 YY_RULE_SETUP
10383 {
10384   LEAVE;
10385   ETag_simgrid_parse_router();
10386   popbuffer(); /* attribute */
10387   switch (YY_START) {
10388    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10389    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10390   }
10391  }
10392         YY_BREAK
10393 case 517:
10394 /* rule 517 can match eol */
10395 YY_RULE_SETUP
10396 FAIL("Unexpected end-tag `%s': `</router>' expected.",yytext);
10397         YY_BREAK
10398 case 518:
10399 YY_RULE_SETUP
10400 FAIL("Unexpected character `%c': `</router>' expected.",yytext[0]);
10401         YY_BREAK
10402 case YY_STATE_EOF(E_simgrid_parse_router):
10403 FAIL("Premature EOF: `</router>' expected.");
10404         YY_BREAK
10405
10406 case 519:
10407 /* rule 519 can match eol */
10408 YY_RULE_SETUP
10409 FAIL("Starting tag <storage> is not allowed here.");
10410         YY_BREAK
10411 case 520:
10412 /* rule 520 can match eol */
10413 YY_RULE_SETUP
10414 {
10415   AX_simgrid_parse_storage_attach = 0;
10416   simgrid_parse_storage_attach_isset = 0;
10417   AX_simgrid_parse_storage_content = 0;
10418   simgrid_parse_storage_content_isset = 0;
10419   AX_simgrid_parse_storage_id = 0;
10420   simgrid_parse_storage_id_isset = 0;
10421   AX_simgrid_parse_storage_typeId = 0;
10422   simgrid_parse_storage_typeId_isset = 0;
10423   ENTER(AL_simgrid_parse_storage); pushbuffer(0);
10424   }
10425         YY_BREAK
10426
10427 case 521:
10428 /* rule 521 can match eol */
10429 YY_RULE_SETUP
10430 if (simgrid_parse_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <simgrid_parse_storage>");} simgrid_parse_storage_attach_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_attach);
10431         YY_BREAK
10432 case 522:
10433 /* rule 522 can match eol */
10434 YY_RULE_SETUP
10435 if (simgrid_parse_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <simgrid_parse_storage>");}  simgrid_parse_storage_attach_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_attach);
10436         YY_BREAK
10437 case 523:
10438 /* rule 523 can match eol */
10439 YY_RULE_SETUP
10440 if (simgrid_parse_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage>");} simgrid_parse_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_content);
10441         YY_BREAK
10442 case 524:
10443 /* rule 524 can match eol */
10444 YY_RULE_SETUP
10445 if (simgrid_parse_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage>");}  simgrid_parse_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_content);
10446         YY_BREAK
10447 case 525:
10448 /* rule 525 can match eol */
10449 YY_RULE_SETUP
10450 if (simgrid_parse_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage>");} simgrid_parse_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_id);
10451         YY_BREAK
10452 case 526:
10453 /* rule 526 can match eol */
10454 YY_RULE_SETUP
10455 if (simgrid_parse_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage>");}  simgrid_parse_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_id);
10456         YY_BREAK
10457 case 527:
10458 /* rule 527 can match eol */
10459 YY_RULE_SETUP
10460 if (simgrid_parse_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <simgrid_parse_storage>");} simgrid_parse_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_typeId);
10461         YY_BREAK
10462 case 528:
10463 /* rule 528 can match eol */
10464 YY_RULE_SETUP
10465 if (simgrid_parse_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <simgrid_parse_storage>");}  simgrid_parse_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_typeId);
10466         YY_BREAK
10467 case 529:
10468 YY_RULE_SETUP
10469 {
10470   if (!AX_simgrid_parse_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
10471   if (!AX_simgrid_parse_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
10472   if (!AX_simgrid_parse_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
10473   LEAVE; STag_simgrid_parse_storage();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_storage);
10474  }
10475         YY_BREAK
10476 case 530:
10477 YY_RULE_SETUP
10478 {
10479   if (!AX_simgrid_parse_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
10480   if (!AX_simgrid_parse_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
10481   if (!AX_simgrid_parse_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
10482   LEAVE; STag_simgrid_parse_storage(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_storage(); popbuffer(); /* attribute */
10483   switch (YY_START) {
10484    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10485    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10486   }
10487  }
10488         YY_BREAK
10489 case 531:
10490 YY_RULE_SETUP
10491 FAIL("Unexpected character `%c' in attribute list of storage element.", yytext[0]);
10492         YY_BREAK
10493 case 532:
10494 YY_RULE_SETUP
10495 FAIL("Bad attribute `%s' in `storage' element start tag.",yytext);
10496         YY_BREAK
10497 case YY_STATE_EOF(AL_simgrid_parse_storage):
10498 FAIL("EOF in attribute list of `storage' element.");
10499         YY_BREAK
10500
10501 case 533:
10502 /* rule 533 can match eol */
10503 YY_RULE_SETUP
10504 {
10505   LEAVE;
10506   ETag_simgrid_parse_storage();
10507   popbuffer(); /* attribute */
10508   switch (YY_START) {
10509    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10510    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10511   }
10512  }
10513         YY_BREAK
10514 case 534:
10515 /* rule 534 can match eol */
10516 YY_RULE_SETUP
10517 FAIL("Unexpected end-tag `%s': `</storage>' expected.",yytext);
10518         YY_BREAK
10519 case 535:
10520 YY_RULE_SETUP
10521 FAIL("Unexpected character `%c': `</storage>' expected.",yytext[0]);
10522         YY_BREAK
10523 case YY_STATE_EOF(E_simgrid_parse_storage):
10524 case YY_STATE_EOF(S_simgrid_parse_storage):
10525 case YY_STATE_EOF(S_simgrid_parse_storage_2):
10526 FAIL("Premature EOF: `</storage>' expected.");
10527         YY_BREAK
10528
10529 /* <!-- storage, storage_type and mount are deprecated -->  */
10530 case 536:
10531 /* rule 536 can match eol */
10532 YY_RULE_SETUP
10533 FAIL("Starting tag <storage_type> is not allowed here.");
10534         YY_BREAK
10535 case 537:
10536 /* rule 537 can match eol */
10537 YY_RULE_SETUP
10538 {
10539   AX_simgrid_parse_storage___type_content = 0;
10540   simgrid_parse_storage___type_content_isset = 0;
10541   AX_simgrid_parse_storage___type_id = 0;
10542   simgrid_parse_storage___type_id_isset = 0;
10543   AX_simgrid_parse_storage___type_model = 16;
10544   simgrid_parse_storage___type_model_isset = 0;
10545   AX_simgrid_parse_storage___type_size = 0;
10546   simgrid_parse_storage___type_size_isset = 0;
10547   ENTER(AL_simgrid_parse_storage___type); pushbuffer(0);
10548   }
10549         YY_BREAK
10550
10551 case 538:
10552 /* rule 538 can match eol */
10553 YY_RULE_SETUP
10554 if (simgrid_parse_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_content);
10555         YY_BREAK
10556 case 539:
10557 /* rule 539 can match eol */
10558 YY_RULE_SETUP
10559 if (simgrid_parse_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_content);
10560         YY_BREAK
10561 case 540:
10562 /* rule 540 can match eol */
10563 YY_RULE_SETUP
10564 if (simgrid_parse_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_id);
10565         YY_BREAK
10566 case 541:
10567 /* rule 541 can match eol */
10568 YY_RULE_SETUP
10569 if (simgrid_parse_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_id);
10570         YY_BREAK
10571 case 542:
10572 /* rule 542 can match eol */
10573 YY_RULE_SETUP
10574 if (simgrid_parse_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_model);
10575         YY_BREAK
10576 case 543:
10577 /* rule 543 can match eol */
10578 YY_RULE_SETUP
10579 if (simgrid_parse_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_model);
10580         YY_BREAK
10581 case 544:
10582 /* rule 544 can match eol */
10583 YY_RULE_SETUP
10584 if (simgrid_parse_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_size);
10585         YY_BREAK
10586 case 545:
10587 /* rule 545 can match eol */
10588 YY_RULE_SETUP
10589 if (simgrid_parse_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_size);
10590         YY_BREAK
10591 case 546:
10592 YY_RULE_SETUP
10593 {
10594   if (!AX_simgrid_parse_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
10595   if (!AX_simgrid_parse_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
10596   LEAVE; STag_simgrid_parse_storage___type();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_storage___type);
10597  }
10598         YY_BREAK
10599 case 547:
10600 YY_RULE_SETUP
10601 {
10602   if (!AX_simgrid_parse_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
10603   if (!AX_simgrid_parse_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
10604   LEAVE; STag_simgrid_parse_storage___type(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_storage___type(); popbuffer(); /* attribute */
10605   switch (YY_START) {
10606    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10607    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10608   }
10609  }
10610         YY_BREAK
10611 case 548:
10612 YY_RULE_SETUP
10613 FAIL("Unexpected character `%c' in attribute list of storage_type element.", yytext[0]);
10614         YY_BREAK
10615 case 549:
10616 YY_RULE_SETUP
10617 FAIL("Bad attribute `%s' in `storage_type' element start tag.",yytext);
10618         YY_BREAK
10619 case YY_STATE_EOF(AL_simgrid_parse_storage___type):
10620 FAIL("EOF in attribute list of `storage_type' element.");
10621         YY_BREAK
10622
10623 case 550:
10624 /* rule 550 can match eol */
10625 YY_RULE_SETUP
10626 {
10627   LEAVE;
10628   ETag_simgrid_parse_storage___type();
10629   popbuffer(); /* attribute */
10630   switch (YY_START) {
10631    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10632    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10633   }
10634  }
10635         YY_BREAK
10636 case 551:
10637 /* rule 551 can match eol */
10638 YY_RULE_SETUP
10639 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",yytext);
10640         YY_BREAK
10641 case 552:
10642 YY_RULE_SETUP
10643 FAIL("Unexpected character `%c': `</storage_type>' expected.",yytext[0]);
10644         YY_BREAK
10645 case YY_STATE_EOF(E_simgrid_parse_storage___type):
10646 case YY_STATE_EOF(S_simgrid_parse_storage___type):
10647 case YY_STATE_EOF(S_simgrid_parse_storage___type_2):
10648 FAIL("Premature EOF: `</storage_type>' expected.");
10649         YY_BREAK
10650
10651 case 553:
10652 /* rule 553 can match eol */
10653 YY_RULE_SETUP
10654 FAIL("Starting tag <trace> is not allowed here.");
10655         YY_BREAK
10656 case 554:
10657 /* rule 554 can match eol */
10658 YY_RULE_SETUP
10659 {
10660   AX_simgrid_parse_trace_file = 0;
10661   simgrid_parse_trace_file_isset = 0;
10662   AX_simgrid_parse_trace_id = 0;
10663   simgrid_parse_trace_id_isset = 0;
10664   AX_simgrid_parse_trace_periodicity = 0;
10665   simgrid_parse_trace_periodicity_isset = 0;
10666   ENTER(AL_simgrid_parse_trace); pushbuffer(0);
10667   }
10668         YY_BREAK
10669
10670 case 555:
10671 /* rule 555 can match eol */
10672 YY_RULE_SETUP
10673 if (simgrid_parse_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_trace>");} simgrid_parse_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_file);
10674         YY_BREAK
10675 case 556:
10676 /* rule 556 can match eol */
10677 YY_RULE_SETUP
10678 if (simgrid_parse_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_trace>");}  simgrid_parse_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_file);
10679         YY_BREAK
10680 case 557:
10681 /* rule 557 can match eol */
10682 YY_RULE_SETUP
10683 if (simgrid_parse_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_trace>");} simgrid_parse_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_id);
10684         YY_BREAK
10685 case 558:
10686 /* rule 558 can match eol */
10687 YY_RULE_SETUP
10688 if (simgrid_parse_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_trace>");}  simgrid_parse_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_id);
10689         YY_BREAK
10690 case 559:
10691 /* rule 559 can match eol */
10692 YY_RULE_SETUP
10693 if (simgrid_parse_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <simgrid_parse_trace>");} simgrid_parse_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_periodicity);
10694         YY_BREAK
10695 case 560:
10696 /* rule 560 can match eol */
10697 YY_RULE_SETUP
10698 if (simgrid_parse_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <simgrid_parse_trace>");}  simgrid_parse_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_periodicity);
10699         YY_BREAK
10700 case 561:
10701 YY_RULE_SETUP
10702 {
10703   if (!AX_simgrid_parse_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
10704   if (!AX_simgrid_parse_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
10705   LEAVE; STag_simgrid_parse_trace();pushbuffer(simgrid_parse_pcdata_ix); BUFFERSET(simgrid_parse_pcdata_ix);; ENTER(IN_trace);
10706  }
10707         YY_BREAK
10708 case 562:
10709 YY_RULE_SETUP
10710 {
10711   if (!AX_simgrid_parse_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
10712   if (!AX_simgrid_parse_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
10713   LEAVE; STag_simgrid_parse_trace(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_trace(); popbuffer(); /* attribute */
10714   switch (YY_START) {
10715     case S_simgrid_parse_AS_10:
10716     case S_simgrid_parse_AS_11:
10717     case S_simgrid_parse_AS_7:
10718       SET(S_simgrid_parse_AS_11);
10719       break;
10720     case S_simgrid_parse_AS_13:
10721     case S_simgrid_parse_AS_3:
10722       SET(S_simgrid_parse_AS_14);
10723       break;
10724     case S_simgrid_parse_AS:
10725     case S_simgrid_parse_AS_12:
10726     case S_simgrid_parse_AS_14:
10727     case S_simgrid_parse_AS_15:
10728     case S_simgrid_parse_AS_16:
10729       SET(S_simgrid_parse_AS_16);
10730       break;
10731     case S_simgrid_parse_AS_1:
10732     case S_simgrid_parse_AS_5:
10733       SET(S_simgrid_parse_AS_6);
10734       break;
10735     case S_simgrid_parse_AS_4:
10736     case S_simgrid_parse_AS_6:
10737     case S_simgrid_parse_AS_8:
10738     case S_simgrid_parse_AS_9:
10739       SET(S_simgrid_parse_AS_9);
10740       break;
10741     case S_simgrid_parse_include:
10742     case S_simgrid_parse_include_1:
10743     case S_simgrid_parse_include_2:
10744       SET(S_simgrid_parse_include_2);
10745       break;
10746     case S_simgrid_parse_platform:
10747     case S_simgrid_parse_platform_1:
10748     case S_simgrid_parse_platform_3:
10749     case S_simgrid_parse_platform_5:
10750     case S_simgrid_parse_platform_6:
10751       SET(S_simgrid_parse_platform_6);
10752       break;
10753     case S_simgrid_parse_zone:
10754     case S_simgrid_parse_zone_10:
10755     case S_simgrid_parse_zone_11:
10756     case S_simgrid_parse_zone_1:
10757     case S_simgrid_parse_zone_4:
10758     case S_simgrid_parse_zone_7:
10759       SET(S_simgrid_parse_zone_11);
10760       break;
10761     case S_simgrid_parse_zone_13:
10762     case S_simgrid_parse_zone_14:
10763     case S_simgrid_parse_zone_3:
10764       SET(S_simgrid_parse_zone_14);
10765       break;
10766     case S_simgrid_parse_zone_12:
10767     case S_simgrid_parse_zone_15:
10768     case S_simgrid_parse_zone_16:
10769       SET(S_simgrid_parse_zone_16);
10770       break;
10771     case S_simgrid_parse_zone_5:
10772     case S_simgrid_parse_zone_6:
10773       SET(S_simgrid_parse_zone_6);
10774       break;
10775     case S_simgrid_parse_zone_8:
10776     case S_simgrid_parse_zone_9:
10777       SET(S_simgrid_parse_zone_9);
10778       break;
10779   }
10780  }
10781         YY_BREAK
10782 case 563:
10783 YY_RULE_SETUP
10784 FAIL("Unexpected character `%c' in attribute list of trace element.", yytext[0]);
10785         YY_BREAK
10786 case 564:
10787 YY_RULE_SETUP
10788 FAIL("Bad attribute `%s' in `trace' element start tag.",yytext);
10789         YY_BREAK
10790 case YY_STATE_EOF(AL_simgrid_parse_trace):
10791 FAIL("EOF in attribute list of `trace' element.");
10792         YY_BREAK
10793
10794 case 565:
10795 /* rule 565 can match eol */
10796 YY_RULE_SETUP
10797 {
10798   LEAVE;
10799   BUFFERDONE;
10800   ETag_simgrid_parse_trace();
10801   simgrid_parse_pcdata_ix = popbuffer();
10802   popbuffer(); /* attribute */
10803   switch (YY_START) {
10804     case S_simgrid_parse_AS_10:
10805     case S_simgrid_parse_AS_11:
10806     case S_simgrid_parse_AS_7:
10807       SET(S_simgrid_parse_AS_11);
10808       break;
10809     case S_simgrid_parse_AS_13:
10810     case S_simgrid_parse_AS_3:
10811       SET(S_simgrid_parse_AS_14);
10812       break;
10813     case S_simgrid_parse_AS:
10814     case S_simgrid_parse_AS_12:
10815     case S_simgrid_parse_AS_14:
10816     case S_simgrid_parse_AS_15:
10817     case S_simgrid_parse_AS_16:
10818       SET(S_simgrid_parse_AS_16);
10819       break;
10820     case S_simgrid_parse_AS_1:
10821     case S_simgrid_parse_AS_5:
10822       SET(S_simgrid_parse_AS_6);
10823       break;
10824     case S_simgrid_parse_AS_4:
10825     case S_simgrid_parse_AS_6:
10826     case S_simgrid_parse_AS_8:
10827     case S_simgrid_parse_AS_9:
10828       SET(S_simgrid_parse_AS_9);
10829       break;
10830     case S_simgrid_parse_include:
10831     case S_simgrid_parse_include_1:
10832     case S_simgrid_parse_include_2:
10833       SET(S_simgrid_parse_include_2);
10834       break;
10835     case S_simgrid_parse_platform:
10836     case S_simgrid_parse_platform_1:
10837     case S_simgrid_parse_platform_3:
10838     case S_simgrid_parse_platform_5:
10839     case S_simgrid_parse_platform_6:
10840       SET(S_simgrid_parse_platform_6);
10841       break;
10842     case S_simgrid_parse_zone:
10843     case S_simgrid_parse_zone_10:
10844     case S_simgrid_parse_zone_11:
10845     case S_simgrid_parse_zone_1:
10846     case S_simgrid_parse_zone_4:
10847     case S_simgrid_parse_zone_7:
10848       SET(S_simgrid_parse_zone_11);
10849       break;
10850     case S_simgrid_parse_zone_13:
10851     case S_simgrid_parse_zone_14:
10852     case S_simgrid_parse_zone_3:
10853       SET(S_simgrid_parse_zone_14);
10854       break;
10855     case S_simgrid_parse_zone_12:
10856     case S_simgrid_parse_zone_15:
10857     case S_simgrid_parse_zone_16:
10858       SET(S_simgrid_parse_zone_16);
10859       break;
10860     case S_simgrid_parse_zone_5:
10861     case S_simgrid_parse_zone_6:
10862       SET(S_simgrid_parse_zone_6);
10863       break;
10864     case S_simgrid_parse_zone_8:
10865     case S_simgrid_parse_zone_9:
10866       SET(S_simgrid_parse_zone_9);
10867       break;
10868   }
10869  }
10870         YY_BREAK
10871 case 566:
10872 /* rule 566 can match eol */
10873 YY_RULE_SETUP
10874 FAIL("Unexpected end-tag `%s': `</trace>' expected.",yytext);
10875         YY_BREAK
10876 case YY_STATE_EOF(IN_trace):
10877 FAIL("Premature EOF: `</trace>' expected.");
10878         YY_BREAK
10879
10880 case 567:
10881 /* rule 567 can match eol */
10882 YY_RULE_SETUP
10883 FAIL("Starting tag <trace_connect> is not allowed here.");
10884         YY_BREAK
10885 case 568:
10886 /* rule 568 can match eol */
10887 YY_RULE_SETUP
10888 {
10889   AX_simgrid_parse_trace___connect_element = 0;
10890   simgrid_parse_trace___connect_element_isset = 0;
10891   AX_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_HOST___AVAIL;
10892   simgrid_parse_trace___connect_kind_isset = 0;
10893   AX_simgrid_parse_trace___connect_trace = 0;
10894   simgrid_parse_trace___connect_trace_isset = 0;
10895   ENTER(AL_simgrid_parse_trace___connect); pushbuffer(0);
10896   }
10897         YY_BREAK
10898
10899 case 569:
10900 /* rule 569 can match eol */
10901 YY_RULE_SETUP
10902 if (simgrid_parse_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <simgrid_parse_trace___connect>");} simgrid_parse_trace___connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace___connect_element);
10903         YY_BREAK
10904 case 570:
10905 /* rule 570 can match eol */
10906 YY_RULE_SETUP
10907 if (simgrid_parse_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <simgrid_parse_trace___connect>");}  simgrid_parse_trace___connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace___connect_element);
10908         YY_BREAK
10909 case 571:
10910 /* rule 571 can match eol */
10911 case 572:
10912 /* rule 572 can match eol */
10913 YY_RULE_SETUP
10914 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_HOST___AVAIL;
10915         YY_BREAK
10916 case 573:
10917 /* rule 573 can match eol */
10918 case 574:
10919 /* rule 574 can match eol */
10920 YY_RULE_SETUP
10921 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_SPEED;
10922         YY_BREAK
10923 case 575:
10924 /* rule 575 can match eol */
10925 case 576:
10926 /* rule 576 can match eol */
10927 YY_RULE_SETUP
10928 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_LINK___AVAIL;
10929         YY_BREAK
10930 case 577:
10931 /* rule 577 can match eol */
10932 case 578:
10933 /* rule 578 can match eol */
10934 YY_RULE_SETUP
10935 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_BANDWIDTH;
10936         YY_BREAK
10937 case 579:
10938 /* rule 579 can match eol */
10939 case 580:
10940 /* rule 580 can match eol */
10941 YY_RULE_SETUP
10942 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_LATENCY;
10943         YY_BREAK
10944 case 581:
10945 /* rule 581 can match eol */
10946 YY_RULE_SETUP
10947 if (simgrid_parse_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <simgrid_parse_trace___connect>");} simgrid_parse_trace___connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace___connect_trace);
10948         YY_BREAK
10949 case 582:
10950 /* rule 582 can match eol */
10951 YY_RULE_SETUP
10952 if (simgrid_parse_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <simgrid_parse_trace___connect>");}  simgrid_parse_trace___connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace___connect_trace);
10953         YY_BREAK
10954 case 583:
10955 YY_RULE_SETUP
10956 {
10957   if (!AX_simgrid_parse_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
10958   if (!AX_simgrid_parse_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
10959   LEAVE; STag_simgrid_parse_trace___connect();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_trace___connect);
10960  }
10961         YY_BREAK
10962 case 584:
10963 YY_RULE_SETUP
10964 {
10965   if (!AX_simgrid_parse_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
10966   if (!AX_simgrid_parse_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
10967   LEAVE; STag_simgrid_parse_trace___connect(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_trace___connect(); popbuffer(); /* attribute */
10968   switch (YY_START) {
10969     case S_simgrid_parse_AS_10:
10970     case S_simgrid_parse_AS_11:
10971     case S_simgrid_parse_AS_7:
10972       SET(S_simgrid_parse_AS_11);
10973       break;
10974     case S_simgrid_parse_AS_13:
10975     case S_simgrid_parse_AS_3:
10976       SET(S_simgrid_parse_AS_14);
10977       break;
10978     case S_simgrid_parse_AS:
10979     case S_simgrid_parse_AS_12:
10980     case S_simgrid_parse_AS_14:
10981     case S_simgrid_parse_AS_15:
10982     case S_simgrid_parse_AS_16:
10983       SET(S_simgrid_parse_AS_16);
10984       break;
10985     case S_simgrid_parse_AS_1:
10986     case S_simgrid_parse_AS_5:
10987       SET(S_simgrid_parse_AS_6);
10988       break;
10989     case S_simgrid_parse_AS_4:
10990     case S_simgrid_parse_AS_6:
10991     case S_simgrid_parse_AS_8:
10992     case S_simgrid_parse_AS_9:
10993       SET(S_simgrid_parse_AS_9);
10994       break;
10995     case S_simgrid_parse_include:
10996     case S_simgrid_parse_include_1:
10997     case S_simgrid_parse_include_2:
10998       SET(S_simgrid_parse_include_2);
10999       break;
11000     case S_simgrid_parse_platform:
11001     case S_simgrid_parse_platform_1:
11002     case S_simgrid_parse_platform_3:
11003     case S_simgrid_parse_platform_5:
11004     case S_simgrid_parse_platform_6:
11005       SET(S_simgrid_parse_platform_6);
11006       break;
11007     case S_simgrid_parse_zone:
11008     case S_simgrid_parse_zone_10:
11009     case S_simgrid_parse_zone_11:
11010     case S_simgrid_parse_zone_1:
11011     case S_simgrid_parse_zone_4:
11012     case S_simgrid_parse_zone_7:
11013       SET(S_simgrid_parse_zone_11);
11014       break;
11015     case S_simgrid_parse_zone_13:
11016     case S_simgrid_parse_zone_14:
11017     case S_simgrid_parse_zone_3:
11018       SET(S_simgrid_parse_zone_14);
11019       break;
11020     case S_simgrid_parse_zone_12:
11021     case S_simgrid_parse_zone_15:
11022     case S_simgrid_parse_zone_16:
11023       SET(S_simgrid_parse_zone_16);
11024       break;
11025     case S_simgrid_parse_zone_5:
11026     case S_simgrid_parse_zone_6:
11027       SET(S_simgrid_parse_zone_6);
11028       break;
11029     case S_simgrid_parse_zone_8:
11030     case S_simgrid_parse_zone_9:
11031       SET(S_simgrid_parse_zone_9);
11032       break;
11033   }
11034  }
11035         YY_BREAK
11036 case 585:
11037 YY_RULE_SETUP
11038 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", yytext[0]);
11039         YY_BREAK
11040 case 586:
11041 YY_RULE_SETUP
11042 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",yytext);
11043         YY_BREAK
11044 case YY_STATE_EOF(AL_simgrid_parse_trace___connect):
11045 FAIL("EOF in attribute list of `trace_connect' element.");
11046         YY_BREAK
11047
11048 case 587:
11049 /* rule 587 can match eol */
11050 YY_RULE_SETUP
11051 {
11052   LEAVE;
11053   ETag_simgrid_parse_trace___connect();
11054   popbuffer(); /* attribute */
11055   switch (YY_START) {
11056     case S_simgrid_parse_AS_10:
11057     case S_simgrid_parse_AS_11:
11058     case S_simgrid_parse_AS_7:
11059       SET(S_simgrid_parse_AS_11);
11060       break;
11061     case S_simgrid_parse_AS_13:
11062     case S_simgrid_parse_AS_3:
11063       SET(S_simgrid_parse_AS_14);
11064       break;
11065     case S_simgrid_parse_AS:
11066     case S_simgrid_parse_AS_12:
11067     case S_simgrid_parse_AS_14:
11068     case S_simgrid_parse_AS_15:
11069     case S_simgrid_parse_AS_16:
11070       SET(S_simgrid_parse_AS_16);
11071       break;
11072     case S_simgrid_parse_AS_1:
11073     case S_simgrid_parse_AS_5:
11074       SET(S_simgrid_parse_AS_6);
11075       break;
11076     case S_simgrid_parse_AS_4:
11077     case S_simgrid_parse_AS_6:
11078     case S_simgrid_parse_AS_8:
11079     case S_simgrid_parse_AS_9:
11080       SET(S_simgrid_parse_AS_9);
11081       break;
11082     case S_simgrid_parse_include:
11083     case S_simgrid_parse_include_1:
11084     case S_simgrid_parse_include_2:
11085       SET(S_simgrid_parse_include_2);
11086       break;
11087     case S_simgrid_parse_platform:
11088     case S_simgrid_parse_platform_1:
11089     case S_simgrid_parse_platform_3:
11090     case S_simgrid_parse_platform_5:
11091     case S_simgrid_parse_platform_6:
11092       SET(S_simgrid_parse_platform_6);
11093       break;
11094     case S_simgrid_parse_zone:
11095     case S_simgrid_parse_zone_10:
11096     case S_simgrid_parse_zone_11:
11097     case S_simgrid_parse_zone_1:
11098     case S_simgrid_parse_zone_4:
11099     case S_simgrid_parse_zone_7:
11100       SET(S_simgrid_parse_zone_11);
11101       break;
11102     case S_simgrid_parse_zone_13:
11103     case S_simgrid_parse_zone_14:
11104     case S_simgrid_parse_zone_3:
11105       SET(S_simgrid_parse_zone_14);
11106       break;
11107     case S_simgrid_parse_zone_12:
11108     case S_simgrid_parse_zone_15:
11109     case S_simgrid_parse_zone_16:
11110       SET(S_simgrid_parse_zone_16);
11111       break;
11112     case S_simgrid_parse_zone_5:
11113     case S_simgrid_parse_zone_6:
11114       SET(S_simgrid_parse_zone_6);
11115       break;
11116     case S_simgrid_parse_zone_8:
11117     case S_simgrid_parse_zone_9:
11118       SET(S_simgrid_parse_zone_9);
11119       break;
11120   }
11121  }
11122         YY_BREAK
11123 case 588:
11124 /* rule 588 can match eol */
11125 YY_RULE_SETUP
11126 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",yytext);
11127         YY_BREAK
11128 case 589:
11129 YY_RULE_SETUP
11130 FAIL("Unexpected character `%c': `</trace_connect>' expected.",yytext[0]);
11131         YY_BREAK
11132 case YY_STATE_EOF(E_simgrid_parse_trace___connect):
11133 FAIL("Premature EOF: `</trace_connect>' expected.");
11134         YY_BREAK
11135
11136 /* <!-- A zone is either an internal node that contains other zones, 
11137   *      or a  leaf containing hosts and other leaf-like elements -->
11138   *           (((AS|zone|include|link|backbone|cluster|peer|trace|trace_connect)*,
11139   *             (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
11140   *         (trace|trace_connect)*)
11141   *        |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
11142   *          (route|trace|trace_connect|bypassRoute)*)))>  */
11143 case 590:
11144 /* rule 590 can match eol */
11145 YY_RULE_SETUP
11146 FAIL("Starting tag <zone> is not allowed here.");
11147         YY_BREAK
11148 case 591:
11149 /* rule 591 can match eol */
11150 YY_RULE_SETUP
11151 {
11152   AX_simgrid_parse_zone_id = 0;
11153   simgrid_parse_zone_id_isset = 0;
11154   AX_simgrid_parse_zone_routing = 0;
11155   simgrid_parse_zone_routing_isset = 0;
11156   ENTER(AL_simgrid_parse_zone); pushbuffer(0);
11157   }
11158         YY_BREAK
11159
11160 case 592:
11161 /* rule 592 can match eol */
11162 YY_RULE_SETUP
11163 if (simgrid_parse_zone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_zone>");} simgrid_parse_zone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zone_id);
11164         YY_BREAK
11165 case 593:
11166 /* rule 593 can match eol */
11167 YY_RULE_SETUP
11168 if (simgrid_parse_zone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_zone>");}  simgrid_parse_zone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zone_id);
11169         YY_BREAK
11170 case 594:
11171 /* rule 594 can match eol */
11172 YY_RULE_SETUP
11173 if (simgrid_parse_zone_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_zone>");} simgrid_parse_zone_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zone_routing);
11174         YY_BREAK
11175 case 595:
11176 /* rule 595 can match eol */
11177 YY_RULE_SETUP
11178 if (simgrid_parse_zone_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_zone>");}  simgrid_parse_zone_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zone_routing);
11179         YY_BREAK
11180 case 596:
11181 YY_RULE_SETUP
11182 {
11183   if (!AX_simgrid_parse_zone_id) FAIL("Required attribute `id' not set for `zone' element.");
11184   if (!AX_simgrid_parse_zone_routing) FAIL("Required attribute `routing' not set for `zone' element.");
11185   LEAVE; STag_simgrid_parse_zone();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_zone);
11186  }
11187         YY_BREAK
11188 case 597:
11189 YY_RULE_SETUP
11190 {
11191   if (!AX_simgrid_parse_zone_id) FAIL("Required attribute `id' not set for `zone' element.");
11192   if (!AX_simgrid_parse_zone_routing) FAIL("Required attribute `routing' not set for `zone' element.");
11193   LEAVE; STag_simgrid_parse_zone(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_zone(); popbuffer(); /* attribute */
11194   switch (YY_START) {
11195    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
11196    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
11197    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
11198    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
11199   }
11200  }
11201         YY_BREAK
11202 case 598:
11203 YY_RULE_SETUP
11204 FAIL("Unexpected character `%c' in attribute list of zone element.", yytext[0]);
11205         YY_BREAK
11206 case 599:
11207 YY_RULE_SETUP
11208 FAIL("Bad attribute `%s' in `zone' element start tag.",yytext);
11209         YY_BREAK
11210 case YY_STATE_EOF(AL_simgrid_parse_zone):
11211 FAIL("EOF in attribute list of `zone' element.");
11212         YY_BREAK
11213
11214 case 600:
11215 /* rule 600 can match eol */
11216 YY_RULE_SETUP
11217 {
11218   LEAVE;
11219   ETag_simgrid_parse_zone();
11220   popbuffer(); /* attribute */
11221   switch (YY_START) {
11222    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
11223    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
11224    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
11225    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
11226   }
11227  }
11228         YY_BREAK
11229 case 601:
11230 /* rule 601 can match eol */
11231 YY_RULE_SETUP
11232 FAIL("Unexpected end-tag `%s': `</zone>' expected.",yytext);
11233         YY_BREAK
11234 case 602:
11235 YY_RULE_SETUP
11236 FAIL("Unexpected character `%c': `</zone>' expected.",yytext[0]);
11237         YY_BREAK
11238 case YY_STATE_EOF(E_simgrid_parse_zone):
11239 case YY_STATE_EOF(S_simgrid_parse_zone):
11240 case YY_STATE_EOF(S_simgrid_parse_zone_1):
11241 case YY_STATE_EOF(S_simgrid_parse_zone_11):
11242 case YY_STATE_EOF(S_simgrid_parse_zone_12):
11243 case YY_STATE_EOF(S_simgrid_parse_zone_14):
11244 case YY_STATE_EOF(S_simgrid_parse_zone_16):
11245 case YY_STATE_EOF(S_simgrid_parse_zone_3):
11246 case YY_STATE_EOF(S_simgrid_parse_zone_4):
11247 case YY_STATE_EOF(S_simgrid_parse_zone_6):
11248 case YY_STATE_EOF(S_simgrid_parse_zone_7):
11249 case YY_STATE_EOF(S_simgrid_parse_zone_9):
11250 FAIL("Premature EOF: `</zone>' expected.");
11251         YY_BREAK
11252
11253 case 603:
11254 /* rule 603 can match eol */
11255 YY_RULE_SETUP
11256 FAIL("Starting tag <zoneRoute> is not allowed here.");
11257         YY_BREAK
11258 case 604:
11259 /* rule 604 can match eol */
11260 YY_RULE_SETUP
11261 {
11262   AX_simgrid_parse_zoneRoute_dst = 0;
11263   simgrid_parse_zoneRoute_dst_isset = 0;
11264   AX_simgrid_parse_zoneRoute_gw___dst = 0;
11265   simgrid_parse_zoneRoute_gw___dst_isset = 0;
11266   AX_simgrid_parse_zoneRoute_gw___src = 0;
11267   simgrid_parse_zoneRoute_gw___src_isset = 0;
11268   AX_simgrid_parse_zoneRoute_src = 0;
11269   simgrid_parse_zoneRoute_src_isset = 0;
11270   AX_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_YES;
11271   simgrid_parse_zoneRoute_symmetrical_isset = 0;
11272   ENTER(AL_simgrid_parse_zoneRoute); pushbuffer(0);
11273   }
11274         YY_BREAK
11275
11276 case 605:
11277 /* rule 605 can match eol */
11278 YY_RULE_SETUP
11279 if (simgrid_parse_zoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_dst);
11280         YY_BREAK
11281 case 606:
11282 /* rule 606 can match eol */
11283 YY_RULE_SETUP
11284 if (simgrid_parse_zoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_dst);
11285         YY_BREAK
11286 case 607:
11287 /* rule 607 can match eol */
11288 YY_RULE_SETUP
11289 if (simgrid_parse_zoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___dst);
11290         YY_BREAK
11291 case 608:
11292 /* rule 608 can match eol */
11293 YY_RULE_SETUP
11294 if (simgrid_parse_zoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___dst);
11295         YY_BREAK
11296 case 609:
11297 /* rule 609 can match eol */
11298 YY_RULE_SETUP
11299 if (simgrid_parse_zoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___src);
11300         YY_BREAK
11301 case 610:
11302 /* rule 610 can match eol */
11303 YY_RULE_SETUP
11304 if (simgrid_parse_zoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___src);
11305         YY_BREAK
11306 case 611:
11307 /* rule 611 can match eol */
11308 YY_RULE_SETUP
11309 if (simgrid_parse_zoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_src);
11310         YY_BREAK
11311 case 612:
11312 /* rule 612 can match eol */
11313 YY_RULE_SETUP
11314 if (simgrid_parse_zoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_src);
11315         YY_BREAK
11316 case 613:
11317 /* rule 613 can match eol */
11318 case 614:
11319 /* rule 614 can match eol */
11320 YY_RULE_SETUP
11321 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_YES;
11322         YY_BREAK
11323 case 615:
11324 /* rule 615 can match eol */
11325 case 616:
11326 /* rule 616 can match eol */
11327 YY_RULE_SETUP
11328 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_NO;
11329         YY_BREAK
11330 case 617:
11331 /* rule 617 can match eol */
11332 case 618:
11333 /* rule 618 can match eol */
11334 YY_RULE_SETUP
11335 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_yes;
11336         YY_BREAK
11337 case 619:
11338 /* rule 619 can match eol */
11339 case 620:
11340 /* rule 620 can match eol */
11341 YY_RULE_SETUP
11342 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_no;
11343         YY_BREAK
11344 case 621:
11345 YY_RULE_SETUP
11346 {
11347   if (!AX_simgrid_parse_zoneRoute_dst) FAIL("Required attribute `dst' not set for `zoneRoute' element.");
11348   if (!AX_simgrid_parse_zoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `zoneRoute' element.");
11349   if (!AX_simgrid_parse_zoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `zoneRoute' element.");
11350   if (!AX_simgrid_parse_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
11351   LEAVE; STag_simgrid_parse_zoneRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_zoneRoute);
11352  }
11353         YY_BREAK
11354 case 622:
11355 YY_RULE_SETUP
11356 {
11357   if (!AX_simgrid_parse_zoneRoute_dst) FAIL("Required attribute `dst' not set for `zoneRoute' element.");
11358   if (!AX_simgrid_parse_zoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `zoneRoute' element.");
11359   if (!AX_simgrid_parse_zoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `zoneRoute' element.");
11360   if (!AX_simgrid_parse_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
11361   LEAVE; STag_simgrid_parse_zoneRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_zoneRoute(); popbuffer(); /* attribute */
11362   switch (YY_START) {
11363    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
11364    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
11365   }
11366  }
11367         YY_BREAK
11368 case 623:
11369 YY_RULE_SETUP
11370 FAIL("Unexpected character `%c' in attribute list of zoneRoute element.", yytext[0]);
11371         YY_BREAK
11372 case 624:
11373 YY_RULE_SETUP
11374 FAIL("Bad attribute `%s' in `zoneRoute' element start tag.",yytext);
11375         YY_BREAK
11376 case YY_STATE_EOF(AL_simgrid_parse_zoneRoute):
11377 FAIL("EOF in attribute list of `zoneRoute' element.");
11378         YY_BREAK
11379
11380 case 625:
11381 /* rule 625 can match eol */
11382 YY_RULE_SETUP
11383 {
11384   LEAVE;
11385   ETag_simgrid_parse_zoneRoute();
11386   popbuffer(); /* attribute */
11387   switch (YY_START) {
11388    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
11389    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
11390   }
11391  }
11392         YY_BREAK
11393 case 626:
11394 /* rule 626 can match eol */
11395 YY_RULE_SETUP
11396 FAIL("Unexpected end-tag `%s': `</zoneRoute>' expected.",yytext);
11397         YY_BREAK
11398 case 627:
11399 YY_RULE_SETUP
11400 FAIL("Unexpected character `%c': `</zoneRoute>' expected.",yytext[0]);
11401         YY_BREAK
11402 case YY_STATE_EOF(E_simgrid_parse_zoneRoute):
11403 case YY_STATE_EOF(S_simgrid_parse_zoneRoute):
11404 case YY_STATE_EOF(S_simgrid_parse_zoneRoute_2):
11405 FAIL("Premature EOF: `</zoneRoute>' expected.");
11406         YY_BREAK
11407
11408 /* EPILOG: after the root element. */
11409
11410 case 628:
11411 YY_RULE_SETUP
11412 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
11413         YY_BREAK
11414 case YY_STATE_EOF(EPILOG):
11415 SUCCEED;
11416         YY_BREAK
11417
11418 /* CHARACTER DATA. */
11419
11420 /* Non-defined standard entities... */
11421 case 629:
11422 YY_RULE_SETUP
11423 BUFFERPUTC('&');
11424         YY_BREAK
11425 case 630:
11426 YY_RULE_SETUP
11427 BUFFERPUTC('<');
11428         YY_BREAK
11429 case 631:
11430 YY_RULE_SETUP
11431 BUFFERPUTC('>');
11432         YY_BREAK
11433 case 632:
11434 YY_RULE_SETUP
11435 BUFFERPUTC('\'');
11436         YY_BREAK
11437 case 633:
11438 YY_RULE_SETUP
11439 BUFFERPUTC('"');
11440         YY_BREAK
11441 /* Character entities. */
11442 case 634:
11443 YY_RULE_SETUP
11444 BUFFERPUTC((unsigned char)atoi(yytext+2));
11445         YY_BREAK
11446 case 635:
11447 YY_RULE_SETUP
11448 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
11449         YY_BREAK
11450
11451 case 636:
11452 /* rule 636 can match eol */
11453 case 637:
11454 /* rule 637 can match eol */
11455 case 638:
11456 /* rule 638 can match eol */
11457 case 639:
11458 /* rule 639 can match eol */
11459 YY_RULE_SETUP
11460 BUFFERPUTC('\n');
11461         YY_BREAK
11462
11463 case 640:
11464 YY_RULE_SETUP
11465 ENTER(CDATA);
11466         YY_BREAK
11467 case 641:
11468 YY_RULE_SETUP
11469 FAIL("Unexpected `]""]>' in character data.");
11470         YY_BREAK
11471
11472 case 642:
11473 YY_RULE_SETUP
11474 BUFFERDONE; LEAVE;
11475         YY_BREAK
11476 case YY_STATE_EOF(VALUE1):
11477 FAIL("EOF in literal (\"'\" expected).");
11478         YY_BREAK
11479
11480 case 643:
11481 YY_RULE_SETUP
11482 BUFFERDONE; LEAVE;
11483         YY_BREAK
11484 case YY_STATE_EOF(VALUE2):
11485 FAIL("EOF in literal (`\"' expected).");
11486         YY_BREAK
11487
11488 case 644:
11489 /* rule 644 can match eol */
11490 YY_RULE_SETUP
11491 BUFFERPUTC(yytext[0]);
11492         YY_BREAK
11493 case 645:
11494 YY_RULE_SETUP
11495 FAIL("Spurious `%c' in character data.",yytext[0]);
11496         YY_BREAK
11497
11498 case 646:
11499 YY_RULE_SETUP
11500 LEAVE;
11501         YY_BREAK
11502 /* "]""]"               BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]); */
11503 case 647:
11504 YY_RULE_SETUP
11505 BUFFERPUTC(yytext[0]);
11506         YY_BREAK
11507 case YY_STATE_EOF(CDATA):
11508 FAIL("EOF in CDATA section.");
11509         YY_BREAK
11510
11511 /* Impossible rules to avoid warnings from flex(1). */
11512 /* Ideally, this should be replaced by code in flexml.pl that
11513     generates just the states not covered by other rules. */
11514
11515 case 648:
11516 /* rule 648 can match eol */
11517 YY_RULE_SETUP
11518 FAIL("Syntax error on character `%c'.", yytext[0]);
11519         YY_BREAK
11520
11521 case 649:
11522 YY_RULE_SETUP
11523 ECHO;
11524         YY_BREAK
11525 case YY_STATE_EOF(INITIAL):
11526 case YY_STATE_EOF(S_simgrid_parse_AS_2):
11527 case YY_STATE_EOF(S_simgrid_parse_AS_5):
11528 case YY_STATE_EOF(S_simgrid_parse_AS_8):
11529 case YY_STATE_EOF(S_simgrid_parse_AS_10):
11530 case YY_STATE_EOF(S_simgrid_parse_AS_13):
11531 case YY_STATE_EOF(S_simgrid_parse_AS_15):
11532 case YY_STATE_EOF(S_simgrid_parse_ASroute_1):
11533 case YY_STATE_EOF(S_simgrid_parse_actor_1):
11534 case YY_STATE_EOF(S_simgrid_parse_bypassASroute_1):
11535 case YY_STATE_EOF(S_simgrid_parse_bypassRoute_1):
11536 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute_1):
11537 case YY_STATE_EOF(S_simgrid_parse_cluster_1):
11538 case YY_STATE_EOF(S_simgrid_parse_config_1):
11539 case YY_STATE_EOF(S_simgrid_parse_disk_1):
11540 case YY_STATE_EOF(S_simgrid_parse_host_1):
11541 case YY_STATE_EOF(S_simgrid_parse_include_1):
11542 case YY_STATE_EOF(S_simgrid_parse_link_1):
11543 case YY_STATE_EOF(ROOT_simgrid_parse_platform):
11544 case YY_STATE_EOF(S_simgrid_parse_platform_2):
11545 case YY_STATE_EOF(S_simgrid_parse_platform_5):
11546 case YY_STATE_EOF(S_simgrid_parse_platform_7):
11547 case YY_STATE_EOF(S_simgrid_parse_process_1):
11548 case YY_STATE_EOF(S_simgrid_parse_route_1):
11549 case YY_STATE_EOF(S_simgrid_parse_storage_1):
11550 case YY_STATE_EOF(S_simgrid_parse_storage___type_1):
11551 case YY_STATE_EOF(S_simgrid_parse_zone_2):
11552 case YY_STATE_EOF(S_simgrid_parse_zone_5):
11553 case YY_STATE_EOF(S_simgrid_parse_zone_8):
11554 case YY_STATE_EOF(S_simgrid_parse_zone_10):
11555 case YY_STATE_EOF(S_simgrid_parse_zone_13):
11556 case YY_STATE_EOF(S_simgrid_parse_zone_15):
11557 case YY_STATE_EOF(S_simgrid_parse_zoneRoute_1):
11558 case YY_STATE_EOF(IMPOSSIBLE):
11559         yyterminate();
11560
11561         case YY_END_OF_BUFFER:
11562                 {
11563                 /* Amount of text matched not including the EOB char. */
11564                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
11565
11566                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
11567                 *yy_cp = (yy_hold_char);
11568                 YY_RESTORE_YY_MORE_OFFSET
11569
11570                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
11571                         {
11572                         /* We're scanning a new file or input source.  It's
11573                          * possible that this happened because the user
11574                          * just pointed yyin at a new source and called
11575                          * yylex().  If so, then we have to assure
11576                          * consistency between YY_CURRENT_BUFFER and our
11577                          * globals.  Here is the right place to do so, because
11578                          * this is the first action (other than possibly a
11579                          * back-up) that will match for the new input source.
11580                          */
11581                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
11582                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
11583                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
11584                         }
11585
11586                 /* Note that here we test for yy_c_buf_p "<=" to the position
11587                  * of the first EOB in the buffer, since yy_c_buf_p will
11588                  * already have been incremented past the NUL character
11589                  * (since all states make transitions on EOB to the
11590                  * end-of-buffer state).  Contrast this with the test
11591                  * in input().
11592                  */
11593                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
11594                         { /* This was really a NUL. */
11595                         yy_state_type yy_next_state;
11596
11597                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
11598
11599                         yy_current_state = yy_get_previous_state(  );
11600
11601                         /* Okay, we're now positioned to make the NUL
11602                          * transition.  We couldn't have
11603                          * yy_get_previous_state() go ahead and do it
11604                          * for us because it doesn't know how to deal
11605                          * with the possibility of jamming (and we don't
11606                          * want to build jamming into it because then it
11607                          * will run more slowly).
11608                          */
11609
11610                         yy_next_state = yy_try_NUL_trans( yy_current_state );
11611
11612                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11613
11614                         if ( yy_next_state )
11615                                 {
11616                                 /* Consume the NUL. */
11617                                 yy_cp = ++(yy_c_buf_p);
11618                                 yy_current_state = yy_next_state;
11619                                 goto yy_match;
11620                                 }
11621
11622                         else
11623                                 {
11624                                 yy_cp = (yy_c_buf_p);
11625                                 goto yy_find_action;
11626                                 }
11627                         }
11628
11629                 else switch ( yy_get_next_buffer(  ) )
11630                         {
11631                         case EOB_ACT_END_OF_FILE:
11632                                 {
11633                                 (yy_did_buffer_switch_on_eof) = 0;
11634
11635                                 if ( yywrap(  ) )
11636                                         {
11637                                         /* Note: because we've taken care in
11638                                          * yy_get_next_buffer() to have set up
11639                                          * yytext, we can now set up
11640                                          * yy_c_buf_p so that if some total
11641                                          * hoser (like flex itself) wants to
11642                                          * call the scanner after we return the
11643                                          * YY_NULL, it'll still work - another
11644                                          * YY_NULL will get returned.
11645                                          */
11646                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
11647
11648                                         yy_act = YY_STATE_EOF(YY_START);
11649                                         goto do_action;
11650                                         }
11651
11652                                 else
11653                                         {
11654                                         if ( ! (yy_did_buffer_switch_on_eof) )
11655                                                 YY_NEW_FILE;
11656                                         }
11657                                 break;
11658                                 }
11659
11660                         case EOB_ACT_CONTINUE_SCAN:
11661                                 (yy_c_buf_p) =
11662                                         (yytext_ptr) + yy_amount_of_matched_text;
11663
11664                                 yy_current_state = yy_get_previous_state(  );
11665
11666                                 yy_cp = (yy_c_buf_p);
11667                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11668                                 goto yy_match;
11669
11670                         case EOB_ACT_LAST_MATCH:
11671                                 (yy_c_buf_p) =
11672                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
11673
11674                                 yy_current_state = yy_get_previous_state(  );
11675
11676                                 yy_cp = (yy_c_buf_p);
11677                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11678                                 goto yy_find_action;
11679                         }
11680                 break;
11681                 }
11682
11683         default:
11684                 YY_FATAL_ERROR(
11685                         "fatal flex scanner internal error--no action found" );
11686         } /* end of action switch */
11687                 } /* end of scanning one token */
11688         } /* end of user's declarations */
11689 } /* end of yylex */
11690
11691 /* yy_get_next_buffer - try to read in a new buffer
11692  *
11693  * Returns a code representing an action:
11694  *      EOB_ACT_LAST_MATCH -
11695  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
11696  *      EOB_ACT_END_OF_FILE - end of file
11697  */
11698 static int yy_get_next_buffer (void)
11699 {
11700         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
11701         char *source = (yytext_ptr);
11702         int number_to_move, i;
11703         int ret_val;
11704
11705         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
11706                 YY_FATAL_ERROR(
11707                 "fatal flex scanner internal error--end of buffer missed" );
11708
11709         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
11710                 { /* Don't try to fill the buffer, so this is an EOF. */
11711                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
11712                         {
11713                         /* We matched a single character, the EOB, so
11714                          * treat this as a final EOF.
11715                          */
11716                         return EOB_ACT_END_OF_FILE;
11717                         }
11718
11719                 else
11720                         {
11721                         /* We matched some text prior to the EOB, first
11722                          * process it.
11723                          */
11724                         return EOB_ACT_LAST_MATCH;
11725                         }
11726                 }
11727
11728         /* Try to read more data. */
11729
11730         /* First move last chars to start of buffer. */
11731         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
11732
11733         for ( i = 0; i < number_to_move; ++i )
11734                 *(dest++) = *(source++);
11735
11736         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
11737                 /* don't do the read, it's not guaranteed to return an EOF,
11738                  * just force an EOF
11739                  */
11740                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
11741
11742         else
11743                 {
11744                         int num_to_read =
11745                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
11746
11747                 while ( num_to_read <= 0 )
11748                         { /* Not enough room in the buffer - grow it. */
11749
11750                         /* just a shorter name for the current buffer */
11751                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
11752
11753                         int yy_c_buf_p_offset =
11754                                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
11755
11756                         if ( b->yy_is_our_buffer )
11757                                 {
11758                                 int new_size = b->yy_buf_size * 2;
11759
11760                                 if ( new_size <= 0 )
11761                                         b->yy_buf_size += b->yy_buf_size / 8;
11762                                 else
11763                                         b->yy_buf_size *= 2;
11764
11765                                 b->yy_ch_buf = (char *)
11766                                         /* Include room in for 2 EOB chars. */
11767                                         yyrealloc( (void *) b->yy_ch_buf,
11768                                                          (yy_size_t) (b->yy_buf_size + 2)  );
11769                                 }
11770                         else
11771                                 /* Can't grow it, we don't own it. */
11772                                 b->yy_ch_buf = NULL;
11773
11774                         if ( ! b->yy_ch_buf )
11775                                 YY_FATAL_ERROR(
11776                                 "fatal error - scanner input buffer overflow" );
11777
11778                         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
11779
11780                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
11781                                                 number_to_move - 1;
11782
11783                         }
11784
11785                 if ( num_to_read > YY_READ_BUF_SIZE )
11786                         num_to_read = YY_READ_BUF_SIZE;
11787
11788                 /* Read in more data. */
11789                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
11790                         (yy_n_chars), num_to_read );
11791
11792                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
11793                 }
11794
11795         if ( (yy_n_chars) == 0 )
11796                 {
11797                 if ( number_to_move == YY_MORE_ADJ )
11798                         {
11799                         ret_val = EOB_ACT_END_OF_FILE;
11800                         yyrestart( yyin  );
11801                         }
11802
11803                 else
11804                         {
11805                         ret_val = EOB_ACT_LAST_MATCH;
11806                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
11807                                 YY_BUFFER_EOF_PENDING;
11808                         }
11809                 }
11810
11811         else
11812                 ret_val = EOB_ACT_CONTINUE_SCAN;
11813
11814         if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
11815                 /* Extend the array by 50%, plus the number we really need. */
11816                 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
11817                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
11818                         (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
11819                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
11820                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
11821                 /* "- 2" to take care of EOB's */
11822                 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
11823         }
11824
11825         (yy_n_chars) += number_to_move;
11826         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
11827         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
11828
11829         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
11830
11831         return ret_val;
11832 }
11833
11834 /* yy_get_previous_state - get the state just before the EOB char was reached */
11835
11836     static yy_state_type yy_get_previous_state (void)
11837 {
11838         yy_state_type yy_current_state;
11839         char *yy_cp;
11840     
11841         yy_current_state = (yy_start);
11842
11843         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
11844                 {
11845                 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
11846                 if ( yy_accept[yy_current_state] )
11847                         {
11848                         (yy_last_accepting_state) = yy_current_state;
11849                         (yy_last_accepting_cpos) = yy_cp;
11850                         }
11851                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
11852                         {
11853                         yy_current_state = (int) yy_def[yy_current_state];
11854                         if ( yy_current_state >= 3913 )
11855                                 yy_c = yy_meta[yy_c];
11856                         }
11857                 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
11858                 }
11859
11860         return yy_current_state;
11861 }
11862
11863 /* yy_try_NUL_trans - try to make a transition on the NUL character
11864  *
11865  * synopsis
11866  *      next_state = yy_try_NUL_trans( current_state );
11867  */
11868     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
11869 {
11870         int yy_is_jam;
11871         char *yy_cp = (yy_c_buf_p);
11872
11873         YY_CHAR yy_c = 1;
11874         if ( yy_accept[yy_current_state] )
11875                 {
11876                 (yy_last_accepting_state) = yy_current_state;
11877                 (yy_last_accepting_cpos) = yy_cp;
11878                 }
11879         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
11880                 {
11881                 yy_current_state = (int) yy_def[yy_current_state];
11882                 if ( yy_current_state >= 3913 )
11883                         yy_c = yy_meta[yy_c];
11884                 }
11885         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
11886         yy_is_jam = (yy_current_state == 3912);
11887
11888                 return yy_is_jam ? 0 : yy_current_state;
11889 }
11890
11891 #ifndef YY_NO_UNPUT
11892
11893 #endif
11894
11895 #ifndef YY_NO_INPUT
11896 #ifdef __cplusplus
11897     static int yyinput (void)
11898 #else
11899     static int input  (void)
11900 #endif
11901
11902 {
11903         int c;
11904     
11905         *(yy_c_buf_p) = (yy_hold_char);
11906
11907         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
11908                 {
11909                 /* yy_c_buf_p now points to the character we want to return.
11910                  * If this occurs *before* the EOB characters, then it's a
11911                  * valid NUL; if not, then we've hit the end of the buffer.
11912                  */
11913                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
11914                         /* This was really a NUL. */
11915                         *(yy_c_buf_p) = '\0';
11916
11917                 else
11918                         { /* need more input */
11919                         int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
11920                         ++(yy_c_buf_p);
11921
11922                         switch ( yy_get_next_buffer(  ) )
11923                                 {
11924                                 case EOB_ACT_LAST_MATCH:
11925                                         /* This happens because yy_g_n_b()
11926                                          * sees that we've accumulated a
11927                                          * token and flags that we need to
11928                                          * try matching the token before
11929                                          * proceeding.  But for input(),
11930                                          * there's no matching to consider.
11931                                          * So convert the EOB_ACT_LAST_MATCH
11932                                          * to EOB_ACT_END_OF_FILE.
11933                                          */
11934
11935                                         /* Reset buffer status. */
11936                                         yyrestart( yyin );
11937
11938                                         /*FALLTHROUGH*/
11939
11940                                 case EOB_ACT_END_OF_FILE:
11941                                         {
11942                                         if ( yywrap(  ) )
11943                                                 return 0;
11944
11945                                         if ( ! (yy_did_buffer_switch_on_eof) )
11946                                                 YY_NEW_FILE;
11947 #ifdef __cplusplus
11948                                         return yyinput();
11949 #else
11950                                         return input();
11951 #endif
11952                                         }
11953
11954                                 case EOB_ACT_CONTINUE_SCAN:
11955                                         (yy_c_buf_p) = (yytext_ptr) + offset;
11956                                         break;
11957                                 }
11958                         }
11959                 }
11960
11961         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
11962         *(yy_c_buf_p) = '\0';   /* preserve yytext */
11963         (yy_hold_char) = *++(yy_c_buf_p);
11964
11965         if ( c == '\n' )
11966                 
11967     yylineno++;
11968 ;
11969
11970         return c;
11971 }
11972 #endif  /* ifndef YY_NO_INPUT */
11973
11974 /** Immediately switch to a different input stream.
11975  * @param input_file A readable stream.
11976  * 
11977  * @note This function does not reset the start condition to @c INITIAL .
11978  */
11979     void yyrestart  (FILE * input_file )
11980 {
11981     
11982         if ( ! YY_CURRENT_BUFFER ){
11983         yyensure_buffer_stack ();
11984                 YY_CURRENT_BUFFER_LVALUE =
11985             yy_create_buffer( yyin, YY_BUF_SIZE );
11986         }
11987
11988         yy_init_buffer( YY_CURRENT_BUFFER, input_file );
11989         yy_load_buffer_state(  );
11990 }
11991
11992 /** Switch to a different input buffer.
11993  * @param new_buffer The new input buffer.
11994  * 
11995  */
11996     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
11997 {
11998     
11999         /* TODO. We should be able to replace this entire function body
12000          * with
12001          *              yypop_buffer_state();
12002          *              yypush_buffer_state(new_buffer);
12003      */
12004         yyensure_buffer_stack ();
12005         if ( YY_CURRENT_BUFFER == new_buffer )
12006                 return;
12007
12008         if ( YY_CURRENT_BUFFER )
12009                 {
12010                 /* Flush out information for old buffer. */
12011                 *(yy_c_buf_p) = (yy_hold_char);
12012                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
12013                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
12014                 }
12015
12016         YY_CURRENT_BUFFER_LVALUE = new_buffer;
12017         yy_load_buffer_state(  );
12018
12019         /* We don't actually know whether we did this switch during
12020          * EOF (yywrap()) processing, but the only time this flag
12021          * is looked at is after yywrap() is called, so it's safe
12022          * to go ahead and always set it.
12023          */
12024         (yy_did_buffer_switch_on_eof) = 1;
12025 }
12026
12027 static void yy_load_buffer_state  (void)
12028 {
12029         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
12030         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
12031         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
12032         (yy_hold_char) = *(yy_c_buf_p);
12033 }
12034
12035 /** Allocate and initialize an input buffer state.
12036  * @param file A readable stream.
12037  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
12038  * 
12039  * @return the allocated buffer state.
12040  */
12041     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
12042 {
12043         YY_BUFFER_STATE b;
12044     
12045         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
12046         if ( ! b )
12047                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
12048
12049         b->yy_buf_size = size;
12050
12051         /* yy_ch_buf has to be 2 characters longer than the size given because
12052          * we need to put in 2 end-of-buffer characters.
12053          */
12054         b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
12055         if ( ! b->yy_ch_buf )
12056                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
12057
12058         b->yy_is_our_buffer = 1;
12059
12060         yy_init_buffer( b, file );
12061
12062         return b;
12063 }
12064
12065 /** Destroy the buffer.
12066  * @param b a buffer created with yy_create_buffer()
12067  * 
12068  */
12069     void yy_delete_buffer (YY_BUFFER_STATE  b )
12070 {
12071     
12072         if ( ! b )
12073                 return;
12074
12075         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
12076                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
12077
12078         if ( b->yy_is_our_buffer )
12079                 yyfree( (void *) b->yy_ch_buf  );
12080
12081         yyfree( (void *) b  );
12082 }
12083
12084 /* Initializes or reinitializes a buffer.
12085  * This function is sometimes called more than once on the same buffer,
12086  * such as during a yyrestart() or at EOF.
12087  */
12088     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
12089
12090 {
12091         int oerrno = errno;
12092     
12093         yy_flush_buffer( b );
12094
12095         b->yy_input_file = file;
12096         b->yy_fill_buffer = 1;
12097
12098     /* If b is the current buffer, then yy_init_buffer was _probably_
12099      * called from yyrestart() or through yy_get_next_buffer.
12100      * In that case, we don't want to reset the lineno or column.
12101      */
12102     if (b != YY_CURRENT_BUFFER){
12103         b->yy_bs_lineno = 1;
12104         b->yy_bs_column = 0;
12105     }
12106
12107         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
12108     
12109         errno = oerrno;
12110 }
12111
12112 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
12113  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
12114  * 
12115  */
12116     void yy_flush_buffer (YY_BUFFER_STATE  b )
12117 {
12118         if ( ! b )
12119                 return;
12120
12121         b->yy_n_chars = 0;
12122
12123         /* We always need two end-of-buffer characters.  The first causes
12124          * a transition to the end-of-buffer state.  The second causes
12125          * a jam in that state.
12126          */
12127         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
12128         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
12129
12130         b->yy_buf_pos = &b->yy_ch_buf[0];
12131
12132         b->yy_at_bol = 1;
12133         b->yy_buffer_status = YY_BUFFER_NEW;
12134
12135         if ( b == YY_CURRENT_BUFFER )
12136                 yy_load_buffer_state(  );
12137 }
12138
12139 /** Pushes the new state onto the stack. The new state becomes
12140  *  the current state. This function will allocate the stack
12141  *  if necessary.
12142  *  @param new_buffer The new state.
12143  *  
12144  */
12145 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
12146 {
12147         if (new_buffer == NULL)
12148                 return;
12149
12150         yyensure_buffer_stack();
12151
12152         /* This block is copied from yy_switch_to_buffer. */
12153         if ( YY_CURRENT_BUFFER )
12154                 {
12155                 /* Flush out information for old buffer. */
12156                 *(yy_c_buf_p) = (yy_hold_char);
12157                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
12158                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
12159                 }
12160
12161         /* Only push if top exists. Otherwise, replace top. */
12162         if (YY_CURRENT_BUFFER)
12163                 (yy_buffer_stack_top)++;
12164         YY_CURRENT_BUFFER_LVALUE = new_buffer;
12165
12166         /* copied from yy_switch_to_buffer. */
12167         yy_load_buffer_state(  );
12168         (yy_did_buffer_switch_on_eof) = 1;
12169 }
12170
12171 /** Removes and deletes the top of the stack, if present.
12172  *  The next element becomes the new top.
12173  *  
12174  */
12175 void yypop_buffer_state (void)
12176 {
12177         if (!YY_CURRENT_BUFFER)
12178                 return;
12179
12180         yy_delete_buffer(YY_CURRENT_BUFFER );
12181         YY_CURRENT_BUFFER_LVALUE = NULL;
12182         if ((yy_buffer_stack_top) > 0)
12183                 --(yy_buffer_stack_top);
12184
12185         if (YY_CURRENT_BUFFER) {
12186                 yy_load_buffer_state(  );
12187                 (yy_did_buffer_switch_on_eof) = 1;
12188         }
12189 }
12190
12191 /* Allocates the stack if it does not exist.
12192  *  Guarantees space for at least one push.
12193  */
12194 static void yyensure_buffer_stack (void)
12195 {
12196         yy_size_t num_to_alloc;
12197     
12198         if (!(yy_buffer_stack)) {
12199
12200                 /* First allocation is just for 2 elements, since we don't know if this
12201                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
12202                  * immediate realloc on the next call.
12203          */
12204       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
12205                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
12206                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
12207                                                                 );
12208                 if ( ! (yy_buffer_stack) )
12209                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
12210
12211                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
12212
12213                 (yy_buffer_stack_max) = num_to_alloc;
12214                 (yy_buffer_stack_top) = 0;
12215                 return;
12216         }
12217
12218         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
12219
12220                 /* Increase the buffer to prepare for a possible push. */
12221                 yy_size_t grow_size = 8 /* arbitrary grow size */;
12222
12223                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
12224                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
12225                                                                 ((yy_buffer_stack),
12226                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
12227                                                                 );
12228                 if ( ! (yy_buffer_stack) )
12229                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
12230
12231                 /* zero only the new slots.*/
12232                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
12233                 (yy_buffer_stack_max) = num_to_alloc;
12234         }
12235 }
12236
12237 /** Setup the input buffer state to scan directly from a user-specified character buffer.
12238  * @param base the character buffer
12239  * @param size the size in bytes of the character buffer
12240  * 
12241  * @return the newly allocated buffer state object.
12242  */
12243 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
12244 {
12245         YY_BUFFER_STATE b;
12246     
12247         if ( size < 2 ||
12248              base[size-2] != YY_END_OF_BUFFER_CHAR ||
12249              base[size-1] != YY_END_OF_BUFFER_CHAR )
12250                 /* They forgot to leave room for the EOB's. */
12251                 return NULL;
12252
12253         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
12254         if ( ! b )
12255                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
12256
12257         b->yy_buf_size = (int) (size - 2);      /* "- 2" to take care of EOB's */
12258         b->yy_buf_pos = b->yy_ch_buf = base;
12259         b->yy_is_our_buffer = 0;
12260         b->yy_input_file = NULL;
12261         b->yy_n_chars = b->yy_buf_size;
12262         b->yy_is_interactive = 0;
12263         b->yy_at_bol = 1;
12264         b->yy_fill_buffer = 0;
12265         b->yy_buffer_status = YY_BUFFER_NEW;
12266
12267         yy_switch_to_buffer( b  );
12268
12269         return b;
12270 }
12271
12272 /** Setup the input buffer state to scan a string. The next call to yylex() will
12273  * scan from a @e copy of @a str.
12274  * @param yystr a NUL-terminated string to scan
12275  * 
12276  * @return the newly allocated buffer state object.
12277  * @note If you want to scan bytes that may contain NUL values, then use
12278  *       yy_scan_bytes() instead.
12279  */
12280 YY_BUFFER_STATE yy_scan_string (const char * yystr )
12281 {
12282     
12283         return yy_scan_bytes( yystr, (int) strlen(yystr) );
12284 }
12285
12286 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
12287  * scan from a @e copy of @a bytes.
12288  * @param yybytes the byte buffer to scan
12289  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
12290  * 
12291  * @return the newly allocated buffer state object.
12292  */
12293 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
12294 {
12295         YY_BUFFER_STATE b;
12296         char *buf;
12297         yy_size_t n;
12298         int i;
12299     
12300         /* Get memory for full buffer, including space for trailing EOB's. */
12301         n = (yy_size_t) (_yybytes_len + 2);
12302         buf = (char *) yyalloc( n  );
12303         if ( ! buf )
12304                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
12305
12306         for ( i = 0; i < _yybytes_len; ++i )
12307                 buf[i] = yybytes[i];
12308
12309         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
12310
12311         b = yy_scan_buffer( buf, n );
12312         if ( ! b )
12313                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
12314
12315         /* It's okay to grow etc. this buffer, and we should throw it
12316          * away when we're done.
12317          */
12318         b->yy_is_our_buffer = 1;
12319
12320         return b;
12321 }
12322
12323     static void yy_push_state (int  _new_state )
12324 {
12325         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
12326                 {
12327                 yy_size_t new_size;
12328
12329                 (yy_start_stack_depth) += YY_START_STACK_INCR;
12330                 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
12331
12332                 if ( ! (yy_start_stack) )
12333                         (yy_start_stack) = (int *) yyalloc( new_size  );
12334
12335                 else
12336                         (yy_start_stack) = (int *) yyrealloc(
12337                                         (void *) (yy_start_stack), new_size  );
12338
12339                 if ( ! (yy_start_stack) )
12340                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
12341                 }
12342
12343         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
12344
12345         BEGIN(_new_state);
12346 }
12347
12348     static void yy_pop_state  (void)
12349 {
12350         if ( --(yy_start_stack_ptr) < 0 )
12351                 YY_FATAL_ERROR( "start-condition stack underflow" );
12352
12353         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
12354 }
12355
12356 #ifndef YY_EXIT_FAILURE
12357 #define YY_EXIT_FAILURE 2
12358 #endif
12359
12360 static void yynoreturn yy_fatal_error (const char* msg )
12361 {
12362                         fprintf( stderr, "%s\n", msg );
12363         exit( YY_EXIT_FAILURE );
12364 }
12365
12366 /* Redefine yyless() so it works in section 3 code. */
12367
12368 #undef yyless
12369 #define yyless(n) \
12370         do \
12371                 { \
12372                 /* Undo effects of setting up yytext. */ \
12373         int yyless_macro_arg = (n); \
12374         YY_LESS_LINENO(yyless_macro_arg);\
12375                 yytext[yyleng] = (yy_hold_char); \
12376                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
12377                 (yy_hold_char) = *(yy_c_buf_p); \
12378                 *(yy_c_buf_p) = '\0'; \
12379                 yyleng = yyless_macro_arg; \
12380                 } \
12381         while ( 0 )
12382
12383 /* Accessor  methods (get/set functions) to struct members. */
12384
12385 /** Get the current line number.
12386  * 
12387  */
12388 int yyget_lineno  (void)
12389 {
12390     
12391     return yylineno;
12392 }
12393
12394 /** Get the input stream.
12395  * 
12396  */
12397 FILE *yyget_in  (void)
12398 {
12399         return yyin;
12400 }
12401
12402 /** Get the output stream.
12403  * 
12404  */
12405 FILE *yyget_out  (void)
12406 {
12407         return yyout;
12408 }
12409
12410 /** Get the length of the current token.
12411  * 
12412  */
12413 int yyget_leng  (void)
12414 {
12415         return yyleng;
12416 }
12417
12418 /** Get the current token.
12419  * 
12420  */
12421
12422 char *yyget_text  (void)
12423 {
12424         return yytext;
12425 }
12426
12427 /** Set the current line number.
12428  * @param _line_number line number
12429  * 
12430  */
12431 void yyset_lineno (int  _line_number )
12432 {
12433     
12434     yylineno = _line_number;
12435 }
12436
12437 /** Set the input stream. This does not discard the current
12438  * input buffer.
12439  * @param _in_str A readable stream.
12440  * 
12441  * @see yy_switch_to_buffer
12442  */
12443 void yyset_in (FILE *  _in_str )
12444 {
12445         yyin = _in_str ;
12446 }
12447
12448 void yyset_out (FILE *  _out_str )
12449 {
12450         yyout = _out_str ;
12451 }
12452
12453 int yyget_debug  (void)
12454 {
12455         return yy_flex_debug;
12456 }
12457
12458 void yyset_debug (int  _bdebug )
12459 {
12460         yy_flex_debug = _bdebug ;
12461 }
12462
12463 static int yy_init_globals (void)
12464 {
12465         /* Initialization is the same as for the non-reentrant scanner.
12466      * This function is called from yylex_destroy(), so don't allocate here.
12467      */
12468
12469     /* We do not touch yylineno unless the option is enabled. */
12470     yylineno =  1;
12471     
12472     (yy_buffer_stack) = NULL;
12473     (yy_buffer_stack_top) = 0;
12474     (yy_buffer_stack_max) = 0;
12475     (yy_c_buf_p) = NULL;
12476     (yy_init) = 0;
12477     (yy_start) = 0;
12478
12479     (yy_start_stack_ptr) = 0;
12480     (yy_start_stack_depth) = 0;
12481     (yy_start_stack) =  NULL;
12482
12483 /* Defined in main.c */
12484 #ifdef YY_STDINIT
12485     yyin = stdin;
12486     yyout = stdout;
12487 #else
12488     yyin = NULL;
12489     yyout = NULL;
12490 #endif
12491
12492     /* For future reference: Set errno on error, since we are called by
12493      * yylex_init()
12494      */
12495     return 0;
12496 }
12497
12498 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
12499 int yylex_destroy  (void)
12500 {
12501     
12502     /* Pop the buffer stack, destroying each element. */
12503         while(YY_CURRENT_BUFFER){
12504                 yy_delete_buffer( YY_CURRENT_BUFFER  );
12505                 YY_CURRENT_BUFFER_LVALUE = NULL;
12506                 yypop_buffer_state();
12507         }
12508
12509         /* Destroy the stack itself. */
12510         yyfree((yy_buffer_stack) );
12511         (yy_buffer_stack) = NULL;
12512
12513     /* Destroy the start condition stack. */
12514         yyfree( (yy_start_stack)  );
12515         (yy_start_stack) = NULL;
12516
12517     /* Reset the globals. This is important in a non-reentrant scanner so the next time
12518      * yylex() is called, initialization will occur. */
12519     yy_init_globals( );
12520
12521     return 0;
12522 }
12523
12524 /*
12525  * Internal utility routines.
12526  */
12527
12528 #ifndef yytext_ptr
12529 static void yy_flex_strncpy (char* s1, const char * s2, int n )
12530 {
12531                 
12532         int i;
12533         for ( i = 0; i < n; ++i )
12534                 s1[i] = s2[i];
12535 }
12536 #endif
12537
12538 #ifdef YY_NEED_STRLEN
12539 static int yy_flex_strlen (const char * s )
12540 {
12541         int n;
12542         for ( n = 0; s[n]; ++n )
12543                 ;
12544
12545         return n;
12546 }
12547 #endif
12548
12549 void *yyalloc (yy_size_t  size )
12550 {
12551                         return malloc(size);
12552 }
12553
12554 void *yyrealloc  (void * ptr, yy_size_t  size )
12555 {
12556                 
12557         /* The cast to (char *) in the following accommodates both
12558          * implementations that use char* generic pointers, and those
12559          * that use void* generic pointers.  It works with the latter
12560          * because both ANSI C and C++ allow castless assignment from
12561          * any pointer type to void*, and deal with argument conversions
12562          * as though doing an assignment.
12563          */
12564         return realloc(ptr, size);
12565 }
12566
12567 void yyfree (void * ptr )
12568 {
12569                         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
12570 }
12571
12572 #define YYTABLES_NAME "yytables"
12573
12574 /* Element context stack lookup. */
12575 int simgrid_parse_element_context(int i)
12576 {
12577   return (0<i && i<yy_start_stack_depth
12578           ? yy_start_stack[yy_start_stack_ptr - i]
12579           : 0);
12580 }
12581
12582 #ifdef FLEX_DEBUG
12583 void print_yy_stack(char* fmt, ...)
12584 {
12585   int i = 0; va_list ap; va_start(ap, fmt);
12586   vfprintf(stderr, fmt, ap);
12587   if (simgrid_parse_statenames) {
12588       for (i=1; i<yy_start_stack_ptr; i++) {
12589           fprintf(stderr, "%s/", simgrid_parse_statenames[yy_start_stack[i] ]);
12590       }
12591       fprintf(stderr,"%s\n", simgrid_parse_statenames[YY_START]);
12592   }
12593   va_end(ap);
12594 }
12595
12596 void print_simgrid_parse_bufferstack()
12597 {
12598     int i;
12599     fputs("Buffer: ", stderr);
12600     for (i = 0; i < blimit; i++) {
12601        if ( simgrid_parse_bufferstack[i] == '\377' ) break;
12602          putc(simgrid_parse_bufferstack[i], stderr);
12603     }
12604     putc('\n', stderr);
12605 }
12606
12607 static void debug_enter(int state, const char* statename) {
12608   yy_push_state(state);
12609   if (yy_flex_debug) {
12610        print_yy_stack("--ENTER(%s) : ",statename);
12611        print_simgrid_parse_bufferstack();
12612   }
12613 }
12614
12615 static void debug_leave(void) {
12616     if (yy_flex_debug) {
12617         print_yy_stack("--LEAVE : ");
12618         print_simgrid_parse_bufferstack();
12619     }
12620   yy_pop_state();
12621 }
12622
12623 static void debug_set(int state, const char* statename) {
12624   BEGIN(state);
12625   if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
12626 }
12627 #endif
12628
12629 static void cleanup(void)
12630 {
12631     if (simgrid_parse_statenames) {
12632         free(simgrid_parse_statenames);
12633         simgrid_parse_statenames = NULL;
12634     }
12635     free(simgrid_parse_bufferstack);
12636     simgrid_parse_bufferstack = NULL;
12637
12638     free(indexstack);
12639     indexstack = NULL;
12640 }
12641
12642 static int fail(const char* fmt, ...)
12643 {
12644     int chars_left, used;
12645     va_list ap; va_start(ap, fmt);
12646 #ifdef FLEXML_yylineno
12647     used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
12648                    "Invalid XML (XML input line %d, state %d): ",
12649                    yylineno, YY_START);
12650 #else
12651     used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
12652                    "Invalid XML (state %d): ",
12653                    YY_START);
12654 #endif
12655     chars_left = flexml_max_err_msg_size - used - 1;
12656     vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
12657     va_end(ap);
12658
12659 #ifndef FLEXML_quiet_parser
12660     /* print directly to sdterr */
12661     simgrid_parse_error(flexml_err_msg);
12662     flexml_err_msg[0] = '\0';
12663 #endif
12664
12665     cleanup();
12666
12667     return 1;
12668 }
12669