File Coverage

lex.yy.c
Criterion Covered Total %
statement 154 397 38.7
branch 55 176 31.2
condition n/a
subroutine n/a
pod n/a
total 209 573 36.4


line stmt bran cond sub pod time code
1             #line 1 "lex.yy.c"
2              
3             #line 3 "lex.yy.c"
4              
5             #define YY_INT_ALIGNED short int
6              
7             /* A lexical scanner generated by flex */
8              
9             #define yy_create_buffer itex2MML_yy_create_buffer
10             #define yy_delete_buffer itex2MML_yy_delete_buffer
11             #define yy_scan_buffer itex2MML_yy_scan_buffer
12             #define yy_scan_string itex2MML_yy_scan_string
13             #define yy_scan_bytes itex2MML_yy_scan_bytes
14             #define yy_init_buffer itex2MML_yy_init_buffer
15             #define yy_flush_buffer itex2MML_yy_flush_buffer
16             #define yy_load_buffer_state itex2MML_yy_load_buffer_state
17             #define yy_switch_to_buffer itex2MML_yy_switch_to_buffer
18             #define yypush_buffer_state itex2MML_yypush_buffer_state
19             #define yypop_buffer_state itex2MML_yypop_buffer_state
20             #define yyensure_buffer_stack itex2MML_yyensure_buffer_stack
21             #define yy_flex_debug itex2MML_yy_flex_debug
22             #define yyin itex2MML_yyin
23             #define yyleng itex2MML_yyleng
24             #define yylex itex2MML_yylex
25             #define yylineno itex2MML_yylineno
26             #define yyout itex2MML_yyout
27             #define yyrestart itex2MML_yyrestart
28             #define yytext itex2MML_yytext
29             #define yywrap itex2MML_yywrap
30             #define yyalloc itex2MML_yyalloc
31             #define yyrealloc itex2MML_yyrealloc
32             #define yyfree itex2MML_yyfree
33              
34             #define FLEX_SCANNER
35             #define YY_FLEX_MAJOR_VERSION 2
36             #define YY_FLEX_MINOR_VERSION 6
37             #define YY_FLEX_SUBMINOR_VERSION 4
38             #if YY_FLEX_SUBMINOR_VERSION > 0
39             #define FLEX_BETA
40             #endif
41              
42             #ifdef yy_create_buffer
43             #define itex2MML_yy_create_buffer_ALREADY_DEFINED
44             #else
45             #define yy_create_buffer itex2MML_yy_create_buffer
46             #endif
47              
48             #ifdef yy_delete_buffer
49             #define itex2MML_yy_delete_buffer_ALREADY_DEFINED
50             #else
51             #define yy_delete_buffer itex2MML_yy_delete_buffer
52             #endif
53              
54             #ifdef yy_scan_buffer
55             #define itex2MML_yy_scan_buffer_ALREADY_DEFINED
56             #else
57             #define yy_scan_buffer itex2MML_yy_scan_buffer
58             #endif
59              
60             #ifdef yy_scan_string
61             #define itex2MML_yy_scan_string_ALREADY_DEFINED
62             #else
63             #define yy_scan_string itex2MML_yy_scan_string
64             #endif
65              
66             #ifdef yy_scan_bytes
67             #define itex2MML_yy_scan_bytes_ALREADY_DEFINED
68             #else
69             #define yy_scan_bytes itex2MML_yy_scan_bytes
70             #endif
71              
72             #ifdef yy_init_buffer
73             #define itex2MML_yy_init_buffer_ALREADY_DEFINED
74             #else
75             #define yy_init_buffer itex2MML_yy_init_buffer
76             #endif
77              
78             #ifdef yy_flush_buffer
79             #define itex2MML_yy_flush_buffer_ALREADY_DEFINED
80             #else
81             #define yy_flush_buffer itex2MML_yy_flush_buffer
82             #endif
83              
84             #ifdef yy_load_buffer_state
85             #define itex2MML_yy_load_buffer_state_ALREADY_DEFINED
86             #else
87             #define yy_load_buffer_state itex2MML_yy_load_buffer_state
88             #endif
89              
90             #ifdef yy_switch_to_buffer
91             #define itex2MML_yy_switch_to_buffer_ALREADY_DEFINED
92             #else
93             #define yy_switch_to_buffer itex2MML_yy_switch_to_buffer
94             #endif
95              
96             #ifdef yypush_buffer_state
97             #define itex2MML_yypush_buffer_state_ALREADY_DEFINED
98             #else
99             #define yypush_buffer_state itex2MML_yypush_buffer_state
100             #endif
101              
102             #ifdef yypop_buffer_state
103             #define itex2MML_yypop_buffer_state_ALREADY_DEFINED
104             #else
105             #define yypop_buffer_state itex2MML_yypop_buffer_state
106             #endif
107              
108             #ifdef yyensure_buffer_stack
109             #define itex2MML_yyensure_buffer_stack_ALREADY_DEFINED
110             #else
111             #define yyensure_buffer_stack itex2MML_yyensure_buffer_stack
112             #endif
113              
114             #ifdef yylex
115             #define itex2MML_yylex_ALREADY_DEFINED
116             #else
117             #define yylex itex2MML_yylex
118             #endif
119              
120             #ifdef yyrestart
121             #define itex2MML_yyrestart_ALREADY_DEFINED
122             #else
123             #define yyrestart itex2MML_yyrestart
124             #endif
125              
126             #ifdef yylex_init
127             #define itex2MML_yylex_init_ALREADY_DEFINED
128             #else
129             #define yylex_init itex2MML_yylex_init
130             #endif
131              
132             #ifdef yylex_init_extra
133             #define itex2MML_yylex_init_extra_ALREADY_DEFINED
134             #else
135             #define yylex_init_extra itex2MML_yylex_init_extra
136             #endif
137              
138             #ifdef yylex_destroy
139             #define itex2MML_yylex_destroy_ALREADY_DEFINED
140             #else
141             #define yylex_destroy itex2MML_yylex_destroy
142             #endif
143              
144             #ifdef yyget_debug
145             #define itex2MML_yyget_debug_ALREADY_DEFINED
146             #else
147             #define yyget_debug itex2MML_yyget_debug
148             #endif
149              
150             #ifdef yyset_debug
151             #define itex2MML_yyset_debug_ALREADY_DEFINED
152             #else
153             #define yyset_debug itex2MML_yyset_debug
154             #endif
155              
156             #ifdef yyget_extra
157             #define itex2MML_yyget_extra_ALREADY_DEFINED
158             #else
159             #define yyget_extra itex2MML_yyget_extra
160             #endif
161              
162             #ifdef yyset_extra
163             #define itex2MML_yyset_extra_ALREADY_DEFINED
164             #else
165             #define yyset_extra itex2MML_yyset_extra
166             #endif
167              
168             #ifdef yyget_in
169             #define itex2MML_yyget_in_ALREADY_DEFINED
170             #else
171             #define yyget_in itex2MML_yyget_in
172             #endif
173              
174             #ifdef yyset_in
175             #define itex2MML_yyset_in_ALREADY_DEFINED
176             #else
177             #define yyset_in itex2MML_yyset_in
178             #endif
179              
180             #ifdef yyget_out
181             #define itex2MML_yyget_out_ALREADY_DEFINED
182             #else
183             #define yyget_out itex2MML_yyget_out
184             #endif
185              
186             #ifdef yyset_out
187             #define itex2MML_yyset_out_ALREADY_DEFINED
188             #else
189             #define yyset_out itex2MML_yyset_out
190             #endif
191              
192             #ifdef yyget_leng
193             #define itex2MML_yyget_leng_ALREADY_DEFINED
194             #else
195             #define yyget_leng itex2MML_yyget_leng
196             #endif
197              
198             #ifdef yyget_text
199             #define itex2MML_yyget_text_ALREADY_DEFINED
200             #else
201             #define yyget_text itex2MML_yyget_text
202             #endif
203              
204             #ifdef yyget_lineno
205             #define itex2MML_yyget_lineno_ALREADY_DEFINED
206             #else
207             #define yyget_lineno itex2MML_yyget_lineno
208             #endif
209              
210             #ifdef yyset_lineno
211             #define itex2MML_yyset_lineno_ALREADY_DEFINED
212             #else
213             #define yyset_lineno itex2MML_yyset_lineno
214             #endif
215              
216             #ifdef yywrap
217             #define itex2MML_yywrap_ALREADY_DEFINED
218             #else
219             #define yywrap itex2MML_yywrap
220             #endif
221              
222             #ifdef yyalloc
223             #define itex2MML_yyalloc_ALREADY_DEFINED
224             #else
225             #define yyalloc itex2MML_yyalloc
226             #endif
227              
228             #ifdef yyrealloc
229             #define itex2MML_yyrealloc_ALREADY_DEFINED
230             #else
231             #define yyrealloc itex2MML_yyrealloc
232             #endif
233              
234             #ifdef yyfree
235             #define itex2MML_yyfree_ALREADY_DEFINED
236             #else
237             #define yyfree itex2MML_yyfree
238             #endif
239              
240             #ifdef yytext
241             #define itex2MML_yytext_ALREADY_DEFINED
242             #else
243             #define yytext itex2MML_yytext
244             #endif
245              
246             #ifdef yyleng
247             #define itex2MML_yyleng_ALREADY_DEFINED
248             #else
249             #define yyleng itex2MML_yyleng
250             #endif
251              
252             #ifdef yyin
253             #define itex2MML_yyin_ALREADY_DEFINED
254             #else
255             #define yyin itex2MML_yyin
256             #endif
257              
258             #ifdef yyout
259             #define itex2MML_yyout_ALREADY_DEFINED
260             #else
261             #define yyout itex2MML_yyout
262             #endif
263              
264             #ifdef yy_flex_debug
265             #define itex2MML_yy_flex_debug_ALREADY_DEFINED
266             #else
267             #define yy_flex_debug itex2MML_yy_flex_debug
268             #endif
269              
270             #ifdef yylineno
271             #define itex2MML_yylineno_ALREADY_DEFINED
272             #else
273             #define yylineno itex2MML_yylineno
274             #endif
275              
276             /* First, we deal with platform-specific or compiler-specific issues. */
277              
278             /* begin standard C headers. */
279             #include
280             #include
281             #include
282             #include
283              
284             /* end standard C headers. */
285              
286             /* flex integer type definitions */
287              
288             #ifndef FLEXINT_H
289             #define FLEXINT_H
290              
291             /* C99 systems have . Non-C99 systems may or may not. */
292              
293             #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294              
295             /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296             * if you want the limit (max/min) macros for int types.
297             */
298             #ifndef __STDC_LIMIT_MACROS
299             #define __STDC_LIMIT_MACROS 1
300             #endif
301              
302             #include
303             typedef int8_t flex_int8_t;
304             typedef uint8_t flex_uint8_t;
305             typedef int16_t flex_int16_t;
306             typedef uint16_t flex_uint16_t;
307             typedef int32_t flex_int32_t;
308             typedef uint32_t flex_uint32_t;
309             #else
310             typedef signed char flex_int8_t;
311             typedef short int flex_int16_t;
312             typedef int flex_int32_t;
313             typedef unsigned char flex_uint8_t;
314             typedef unsigned short int flex_uint16_t;
315             typedef unsigned int flex_uint32_t;
316              
317             /* Limits of integral types. */
318             #ifndef INT8_MIN
319             #define INT8_MIN (-128)
320             #endif
321             #ifndef INT16_MIN
322             #define INT16_MIN (-32767-1)
323             #endif
324             #ifndef INT32_MIN
325             #define INT32_MIN (-2147483647-1)
326             #endif
327             #ifndef INT8_MAX
328             #define INT8_MAX (127)
329             #endif
330             #ifndef INT16_MAX
331             #define INT16_MAX (32767)
332             #endif
333             #ifndef INT32_MAX
334             #define INT32_MAX (2147483647)
335             #endif
336             #ifndef UINT8_MAX
337             #define UINT8_MAX (255U)
338             #endif
339             #ifndef UINT16_MAX
340             #define UINT16_MAX (65535U)
341             #endif
342             #ifndef UINT32_MAX
343             #define UINT32_MAX (4294967295U)
344             #endif
345              
346             #ifndef SIZE_MAX
347             #define SIZE_MAX (~(size_t)0)
348             #endif
349              
350             #endif /* ! C99 */
351              
352             #endif /* ! FLEXINT_H */
353              
354             /* begin standard C++ headers. */
355              
356             /* TODO: this is always defined, so inline it */
357             #define yyconst const
358              
359             #if defined(__GNUC__) && __GNUC__ >= 3
360             #define yynoreturn __attribute__((__noreturn__))
361             #else
362             #define yynoreturn
363             #endif
364              
365             /* Returned upon end-of-file. */
366             #define YY_NULL 0
367              
368             /* Promotes a possibly negative, possibly signed char to an
369             * integer in range [0..255] for use as an array index.
370             */
371             #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372              
373             /* Enter a start condition. This macro really ought to take a parameter,
374             * but we do it the disgusting crufty way forced on us by the ()-less
375             * definition of BEGIN.
376             */
377             #define BEGIN (yy_start) = 1 + 2 *
378             /* Translate the current start state into a value that can be later handed
379             * to BEGIN to return to the state. The YYSTATE alias is for lex
380             * compatibility.
381             */
382             #define YY_START (((yy_start) - 1) / 2)
383             #define YYSTATE YY_START
384             /* Action number for EOF rule of a given start state. */
385             #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386             /* Special action meaning "start processing a new file". */
387             #define YY_NEW_FILE yyrestart( yyin )
388             #define YY_END_OF_BUFFER_CHAR 0
389              
390             /* Size of default input buffer. */
391             #ifndef YY_BUF_SIZE
392             #ifdef __ia64__
393             /* On IA-64, the buffer size is 16k, not 8k.
394             * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395             * Ditto for the __ia64__ case accordingly.
396             */
397             #define YY_BUF_SIZE 32768
398             #else
399             #define YY_BUF_SIZE 16384
400             #endif /* __ia64__ */
401             #endif
402              
403             /* The state buf must be large enough to hold one state per character in the main buffer.
404             */
405             #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406              
407             #ifndef YY_TYPEDEF_YY_BUFFER_STATE
408             #define YY_TYPEDEF_YY_BUFFER_STATE
409             typedef struct yy_buffer_state *YY_BUFFER_STATE;
410             #endif
411              
412             #ifndef YY_TYPEDEF_YY_SIZE_T
413             #define YY_TYPEDEF_YY_SIZE_T
414             typedef size_t yy_size_t;
415             #endif
416              
417             extern int yyleng;
418              
419             extern FILE *yyin, *yyout;
420              
421             #define EOB_ACT_CONTINUE_SCAN 0
422             #define EOB_ACT_END_OF_FILE 1
423             #define EOB_ACT_LAST_MATCH 2
424            
425             #define YY_LESS_LINENO(n)
426             #define YY_LINENO_REWIND_TO(ptr)
427            
428             /* Return all but the first "n" matched characters back to the input stream. */
429             #define yyless(n) \
430             do \
431             { \
432             /* Undo effects of setting up yytext. */ \
433             int yyless_macro_arg = (n); \
434             YY_LESS_LINENO(yyless_macro_arg);\
435             *yy_cp = (yy_hold_char); \
436             YY_RESTORE_YY_MORE_OFFSET \
437             (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438             YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439             } \
440             while ( 0 )
441             #define unput(c) yyunput( c, (yytext_ptr) )
442              
443             #ifndef YY_STRUCT_YY_BUFFER_STATE
444             #define YY_STRUCT_YY_BUFFER_STATE
445             struct yy_buffer_state
446             {
447             FILE *yy_input_file;
448              
449             char *yy_ch_buf; /* input buffer */
450             char *yy_buf_pos; /* current position in input buffer */
451              
452             /* Size of input buffer in bytes, not including room for EOB
453             * characters.
454             */
455             int yy_buf_size;
456              
457             /* Number of characters read into yy_ch_buf, not including EOB
458             * characters.
459             */
460             int yy_n_chars;
461              
462             /* Whether we "own" the buffer - i.e., we know we created it,
463             * and can realloc() it to grow it, and should free() it to
464             * delete it.
465             */
466             int yy_is_our_buffer;
467              
468             /* Whether this is an "interactive" input source; if so, and
469             * if we're using stdio for input, then we want to use getc()
470             * instead of fread(), to make sure we stop fetching input after
471             * each newline.
472             */
473             int yy_is_interactive;
474              
475             /* Whether we're considered to be at the beginning of a line.
476             * If so, '^' rules will be active on the next match, otherwise
477             * not.
478             */
479             int yy_at_bol;
480              
481             int yy_bs_lineno; /**< The line count. */
482             int yy_bs_column; /**< The column count. */
483              
484             /* Whether to try to fill the input buffer when we reach the
485             * end of it.
486             */
487             int yy_fill_buffer;
488              
489             int yy_buffer_status;
490              
491             #define YY_BUFFER_NEW 0
492             #define YY_BUFFER_NORMAL 1
493             /* When an EOF's been seen but there's still some text to process
494             * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495             * shouldn't try reading from the input source any more. We might
496             * still have a bunch of tokens to match, though, because of
497             * possible backing-up.
498             *
499             * When we actually see the EOF, we change the status to "new"
500             * (via yyrestart()), so that the user can continue scanning by
501             * just pointing yyin at a new input file.
502             */
503             #define YY_BUFFER_EOF_PENDING 2
504              
505             };
506             #endif /* !YY_STRUCT_YY_BUFFER_STATE */
507              
508             /* Stack of input buffers. */
509             static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
510             static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
511             static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
512              
513             /* We provide macros for accessing buffer states in case in the
514             * future we want to put the buffer states in a more general
515             * "scanner state".
516             *
517             * Returns the top of the stack, or NULL.
518             */
519             #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520             ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521             : NULL)
522             /* Same as previous macro, but useful when we know that the buffer stack is not
523             * NULL or when we need an lvalue. For internal use only.
524             */
525             #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526              
527             /* yy_hold_char holds the character lost when yytext is formed. */
528             static char yy_hold_char;
529             static int yy_n_chars; /* number of characters read into yy_ch_buf */
530             int yyleng;
531              
532             /* Points to current character in buffer. */
533             static char *yy_c_buf_p = NULL;
534             static int yy_init = 0; /* whether we need to initialize */
535             static int yy_start = 0; /* start state number */
536              
537             /* Flag which is used to allow yywrap()'s to do buffer switches
538             * instead of setting up a fresh yyin. A bit of a hack ...
539             */
540             static int yy_did_buffer_switch_on_eof;
541              
542             void yyrestart ( FILE *input_file );
543             void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
544             YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
545             void yy_delete_buffer ( YY_BUFFER_STATE b );
546             void yy_flush_buffer ( YY_BUFFER_STATE b );
547             void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
548             void yypop_buffer_state ( void );
549              
550             static void yyensure_buffer_stack ( void );
551             static void yy_load_buffer_state ( void );
552             static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
553             #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554              
555             YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
556             YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
557             YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
558              
559             void *yyalloc ( yy_size_t );
560             void *yyrealloc ( void *, yy_size_t );
561             void yyfree ( void * );
562              
563             #define yy_new_buffer yy_create_buffer
564             #define yy_set_interactive(is_interactive) \
565             { \
566             if ( ! YY_CURRENT_BUFFER ){ \
567             yyensure_buffer_stack (); \
568             YY_CURRENT_BUFFER_LVALUE = \
569             yy_create_buffer( yyin, YY_BUF_SIZE ); \
570             } \
571             YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572             }
573             #define yy_set_bol(at_bol) \
574             { \
575             if ( ! YY_CURRENT_BUFFER ){\
576             yyensure_buffer_stack (); \
577             YY_CURRENT_BUFFER_LVALUE = \
578             yy_create_buffer( yyin, YY_BUF_SIZE ); \
579             } \
580             YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581             }
582             #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583              
584             /* Begin user sect3 */
585              
586             #define itex2MML_yywrap() (/*CONSTCOND*/1)
587             #define YY_SKIP_YYWRAP
588             typedef flex_uint8_t YY_CHAR;
589              
590             FILE *yyin = NULL, *yyout = NULL;
591              
592             typedef int yy_state_type;
593              
594             extern int yylineno;
595             int yylineno = 1;
596              
597             extern char *yytext;
598             #ifdef yytext_ptr
599             #undef yytext_ptr
600             #endif
601             #define yytext_ptr yytext
602              
603             static yy_state_type yy_get_previous_state ( void );
604             static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
605             static int yy_get_next_buffer ( void );
606             static void yynoreturn yy_fatal_error ( const char* msg );
607              
608             /* Done after the current pattern has been matched and before the
609             * corresponding action - sets up yytext.
610             */
611             #define YY_DO_BEFORE_ACTION \
612             (yytext_ptr) = yy_bp; \
613             (yytext_ptr) -= (yy_more_len); \
614             yyleng = (int) (yy_cp - (yytext_ptr)); \
615             (yy_hold_char) = *yy_cp; \
616             *yy_cp = '\0'; \
617             (yy_c_buf_p) = yy_cp;
618             #define YY_NUM_RULES 829
619             #define YY_END_OF_BUFFER 830
620             /* This struct is not used in this scanner,
621             but its presence is necessary. */
622             struct yy_trans_info
623             {
624             flex_int32_t yy_verify;
625             flex_int32_t yy_nxt;
626             };
627             static const flex_int16_t yy_accept[3376] =
628             { 0,
629             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633             0, 0, 0, 0, 830, 6, 5, 1, 6, 6,
634             748, 747, 746, 92, 97, 8, 38, 101, 48, 50,
635             99, 88, 90, 87, 86, 82, 43, 91, 95, 93,
636             96, 42, 49, 748, 51, 11, 12, 98, 14, 63,
637             15, 94, 829, 829, 797, 796, 796, 795, 794, 793,
638             791, 792, 812, 811, 811, 810, 808, 809, 802, 801,
639              
640             801, 800, 798, 799, 807, 806, 806, 805, 803, 804,
641             790, 789, 789, 788, 786, 787, 829, 818, 817, 817,
642             816, 814, 815, 823, 822, 822, 821, 819, 820, 828,
643             827, 827, 826, 824, 825, 829, 784, 784, 785, 752,
644             751, 751, 750, 777, 829, 776, 782, 779, 780, 781,
645             778, 759, 759, 757, 757, 754, 829, 755, 1, 0,
646             3, 2, 747, 8, 0, 0, 0, 0, 0, 102,
647             44, 0, 0, 43, 42, 724, 729, 89, 0, 40,
648             39, 9, 720, 722, 725, 742, 742, 742, 742, 742,
649             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
650              
651             742, 742, 742, 742, 742, 742, 742, 41, 10, 742,
652             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
653             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
654             742, 742, 742, 742, 53, 65, 55, 0, 13, 0,
655             749, 796, 811, 801, 806, 789, 0, 813, 817, 816,
656             822, 821, 827, 826, 0, 0, 0, 0, 0, 0,
657             0, 0, 0, 0, 0, 751, 777, 0, 0, 0,
658             782, 0, 758, 0, 756, 754, 753, 0, 755, 4,
659             0, 0, 0, 743, 0, 0, 0, 103, 0, 43,
660             43, 7, 742, 742, 742, 742, 742, 742, 742, 742,
661              
662             742, 742, 742, 742, 742, 742, 538, 742, 742, 742,
663             742, 742, 742, 742, 742, 186, 187, 742, 742, 742,
664             742, 742, 176, 165, 742, 542, 742, 742, 742, 742,
665             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
666             742, 742, 181, 742, 742, 742, 742, 742, 742, 742,
667             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
668             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
669             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
670             742, 742, 742, 742, 742, 742, 742, 742, 742, 366,
671             356, 742, 334, 742, 742, 742, 742, 742, 742, 742,
672              
673             742, 742, 308, 742, 742, 742, 742, 742, 742, 742,
674             742, 742, 742, 367, 742, 149, 742, 742, 398, 742,
675             150, 742, 335, 742, 742, 742, 742, 742, 742, 454,
676             115, 742, 742, 742, 742, 742, 578, 742, 392, 742,
677             742, 742, 742, 742, 742, 742, 116, 742, 742, 742,
678             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
679             742, 742, 118, 742, 453, 742, 742, 742, 742, 742,
680             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
681             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
682             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
683              
684             742, 207, 742, 742, 742, 742, 742, 742, 742, 742,
685             742, 742, 742, 742, 541, 456, 742, 742, 742, 117,
686             742, 742, 742, 742, 0, 0, 0, 0, 0, 0,
687             0, 0, 0, 0, 0, 0, 0, 0, 775, 774,
688             773, 744, 0, 0, 0, 0, 104, 0, 45, 742,
689             742, 20, 555, 742, 323, 742, 324, 566, 742, 742,
690             742, 742, 183, 742, 742, 742, 742, 742, 742, 742,
691             742, 258, 742, 742, 742, 742, 177, 178, 188, 742,
692             742, 259, 742, 742, 742, 189, 742, 742, 742, 742,
693             742, 742, 742, 742, 626, 742, 742, 742, 742, 742,
694              
695             742, 742, 742, 742, 742, 742, 138, 742, 322, 742,
696             742, 742, 639, 742, 742, 742, 742, 742, 18, 742,
697             742, 742, 474, 742, 742, 742, 742, 304, 742, 742,
698             742, 123, 742, 742, 742, 742, 742, 742, 139, 141,
699             143, 298, 742, 742, 742, 742, 742, 742, 742, 742,
700             144, 742, 157, 742, 742, 145, 742, 472, 742, 651,
701             742, 742, 742, 536, 742, 742, 702, 742, 742, 742,
702             742, 742, 110, 535, 742, 146, 742, 742, 742, 742,
703             742, 742, 742, 158, 358, 357, 742, 742, 742, 742,
704             742, 659, 742, 742, 147, 742, 742, 194, 742, 742,
705              
706             742, 742, 742, 159, 581, 742, 742, 742, 742, 742,
707             148, 742, 742, 742, 742, 742, 742, 742, 368, 742,
708             742, 562, 160, 742, 742, 563, 742, 742, 742, 742,
709             151, 742, 742, 742, 742, 742, 211, 742, 163, 742,
710             742, 190, 580, 164, 573, 742, 742, 742, 742, 742,
711             742, 742, 742, 742, 576, 577, 742, 742, 742, 742,
712             742, 506, 742, 742, 742, 742, 742, 742, 742, 742,
713             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
714             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
715             742, 133, 742, 742, 742, 742, 742, 742, 124, 572,
716              
717             742, 742, 742, 742, 742, 742, 742, 561, 119, 742,
718             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
719             742, 742, 152, 742, 742, 742, 742, 423, 153, 742,
720             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
721             742, 742, 605, 166, 742, 742, 155, 121, 742, 742,
722             742, 742, 742, 742, 742, 742, 742, 742, 507, 742,
723             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
724             742, 742, 742, 742, 742, 742, 742, 643, 481, 742,
725             742, 742, 742, 742, 742, 742, 742, 742, 742, 0,
726             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727              
728             0, 0, 0, 745, 0, 37, 0, 43, 0, 742,
729             171, 24, 27, 21, 742, 742, 742, 742, 742, 742,
730             742, 742, 742, 184, 742, 742, 742, 742, 742, 742,
731             742, 742, 543, 742, 742, 742, 742, 742, 742, 742,
732             742, 742, 193, 742, 544, 742, 64, 742, 742, 182,
733             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
734             742, 665, 742, 742, 742, 742, 106, 534, 742, 742,
735             742, 742, 22, 742, 26, 742, 19, 742, 742, 742,
736             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
737             742, 742, 742, 742, 742, 742, 742, 742, 169, 742,
738              
739             742, 560, 742, 742, 742, 742, 742, 742, 430, 742,
740             742, 742, 140, 142, 742, 742, 742, 228, 742, 742,
741             742, 742, 742, 652, 742, 742, 742, 742, 742, 36,
742             742, 742, 291, 742, 742, 742, 742, 742, 742, 742,
743             742, 742, 742, 742, 742, 742, 742, 742, 742, 480,
744             742, 630, 742, 742, 742, 359, 742, 742, 361, 742,
745             742, 742, 742, 742, 742, 742, 537, 742, 742, 735,
746             742, 742, 583, 742, 742, 742, 742, 742, 742, 742,
747             112, 742, 742, 742, 742, 742, 73, 742, 742, 742,
748             16, 369, 742, 742, 742, 742, 742, 742, 34, 742,
749              
750             742, 742, 376, 742, 742, 742, 742, 742, 742, 742,
751             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
752             742, 742, 742, 742, 742, 742, 742, 742, 742, 399,
753             433, 742, 402, 742, 394, 742, 742, 742, 742, 742,
754             742, 425, 742, 742, 742, 742, 742, 742, 742, 742,
755             551, 742, 742, 457, 742, 589, 742, 742, 742, 742,
756             742, 742, 742, 742, 664, 742, 742, 629, 742, 353,
757             742, 742, 742, 574, 348, 742, 606, 742, 742, 727,
758             742, 79, 742, 742, 742, 742, 742, 33, 742, 668,
759             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
760              
761             742, 742, 742, 742, 742, 742, 154, 742, 742, 742,
762             742, 742, 742, 742, 742, 667, 742, 742, 742, 742,
763             593, 742, 742, 431, 742, 742, 742, 156, 742, 742,
764             670, 742, 742, 742, 742, 742, 742, 742, 742, 742,
765             742, 742, 742, 742, 35, 742, 742, 742, 742, 742,
766             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
767             742, 742, 742, 742, 742, 742, 742, 62, 742, 742,
768             742, 742, 742, 742, 742, 742, 109, 0, 0, 0,
769             0, 0, 0, 0, 0, 0, 0, 0, 772, 0,
770             0, 0, 0, 0, 170, 29, 25, 742, 742, 172,
771              
772             742, 742, 742, 742, 173, 742, 185, 742, 742, 742,
773             742, 742, 191, 616, 742, 742, 742, 179, 742, 742,
774             180, 302, 742, 742, 742, 419, 417, 742, 624, 533,
775             709, 105, 452, 509, 742, 742, 742, 742, 704, 414,
776             742, 742, 742, 742, 742, 701, 742, 742, 742, 742,
777             742, 742, 742, 28, 23, 742, 742, 742, 742, 742,
778             742, 742, 742, 742, 742, 632, 742, 742, 742, 742,
779             742, 742, 742, 742, 742, 698, 742, 742, 742, 742,
780             742, 742, 293, 742, 657, 742, 742, 742, 742, 742,
781             742, 742, 297, 681, 742, 742, 742, 742, 742, 742,
782              
783             742, 742, 742, 416, 742, 742, 742, 653, 294, 108,
784             742, 742, 742, 742, 489, 742, 742, 742, 742, 742,
785             742, 742, 742, 558, 742, 742, 742, 742, 742, 742,
786             742, 437, 742, 742, 742, 742, 742, 714, 439, 107,
787             742, 742, 362, 364, 742, 742, 742, 742, 742, 742,
788             742, 742, 742, 742, 585, 539, 742, 742, 742, 46,
789             742, 742, 742, 742, 540, 113, 59, 742, 742, 742,
790             71, 292, 742, 742, 742, 742, 742, 742, 742, 742,
791             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
792             742, 377, 378, 742, 742, 742, 742, 742, 58, 742,
793              
794             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
795             742, 742, 742, 742, 742, 742, 742, 567, 742, 441,
796             221, 213, 742, 742, 742, 742, 742, 400, 742, 742,
797             403, 742, 405, 391, 393, 742, 532, 742, 742, 742,
798             432, 742, 742, 742, 742, 223, 215, 742, 595, 742,
799             742, 125, 742, 742, 742, 615, 742, 742, 742, 742,
800             742, 742, 742, 742, 742, 742, 742, 602, 742, 742,
801             742, 742, 742, 100, 742, 742, 728, 742, 61, 742,
802             742, 77, 742, 17, 742, 742, 742, 742, 742, 742,
803             742, 742, 742, 60, 742, 225, 217, 742, 501, 742,
804              
805             120, 424, 697, 742, 426, 669, 742, 742, 464, 463,
806             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
807             742, 742, 742, 742, 227, 219, 742, 742, 742, 631,
808             742, 111, 742, 742, 655, 592, 742, 742, 742, 742,
809             742, 295, 742, 300, 565, 564, 230, 742, 742, 742,
810             458, 742, 742, 418, 742, 742, 742, 742, 128, 742,
811             742, 742, 742, 742, 742, 420, 296, 742, 623, 742,
812             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
813             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814             0, 0, 0, 303, 299, 43, 484, 742, 742, 742,
815              
816             742, 742, 742, 742, 742, 175, 742, 742, 742, 742,
817             611, 742, 742, 469, 470, 742, 742, 742, 421, 413,
818             135, 136, 137, 742, 742, 742, 742, 742, 742, 742,
819             742, 742, 742, 742, 742, 306, 742, 301, 742, 742,
820             742, 742, 742, 742, 742, 742, 627, 742, 742, 742,
821             742, 742, 575, 415, 548, 550, 742, 742, 545, 742,
822             742, 742, 742, 502, 485, 742, 486, 742, 742, 742,
823             742, 742, 742, 742, 742, 742, 742, 590, 742, 608,
824             742, 742, 742, 742, 504, 742, 742, 742, 742, 654,
825             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
826              
827             742, 233, 742, 742, 742, 742, 491, 742, 742, 742,
828             742, 742, 559, 742, 742, 742, 529, 742, 742, 742,
829             381, 742, 742, 742, 380, 742, 742, 742, 742, 587,
830             742, 742, 742, 742, 742, 742, 628, 742, 114, 74,
831             52, 742, 742, 742, 742, 742, 742, 742, 742, 742,
832             742, 742, 742, 742, 70, 161, 162, 742, 742, 742,
833             742, 742, 742, 742, 742, 471, 742, 210, 694, 692,
834             742, 742, 742, 696, 688, 742, 737, 742, 742, 742,
835             693, 742, 689, 690, 742, 742, 600, 422, 742, 742,
836             742, 742, 742, 451, 742, 742, 742, 742, 742, 742,
837              
838             438, 742, 742, 742, 742, 742, 742, 742, 742, 742,
839             742, 742, 742, 742, 449, 450, 742, 742, 742, 742,
840             742, 742, 613, 742, 614, 610, 742, 742, 742, 742,
841             742, 742, 742, 742, 742, 742, 742, 742, 396, 742,
842             742, 742, 742, 436, 742, 80, 54, 76, 742, 742,
843             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
844             742, 742, 473, 742, 742, 742, 742, 742, 742, 742,
845             742, 742, 742, 742, 742, 556, 69, 742, 742, 341,
846             742, 742, 742, 442, 742, 742, 742, 406, 742, 742,
847             633, 634, 742, 742, 742, 742, 742, 742, 604, 673,
848              
849             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
850             234, 742, 742, 742, 742, 742, 742, 742, 134, 742,
851             129, 742, 742, 742, 742, 742, 333, 742, 742, 742,
852             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
853             742, 0, 0, 0, 771, 0, 767, 0, 0, 0,
854             0, 770, 0, 0, 742, 312, 742, 461, 742, 316,
855             742, 742, 742, 742, 742, 742, 742, 742, 231, 742,
856             192, 742, 742, 742, 742, 337, 742, 742, 482, 742,
857             483, 682, 742, 742, 455, 742, 618, 742, 742, 742,
858             742, 512, 742, 742, 742, 742, 742, 742, 742, 742,
859              
860             742, 742, 601, 742, 742, 742, 742, 742, 641, 742,
861             742, 742, 742, 742, 311, 742, 719, 742, 742, 742,
862             742, 742, 742, 742, 742, 742, 505, 462, 174, 742,
863             742, 742, 330, 742, 742, 742, 742, 742, 742, 742,
864             742, 742, 168, 315, 742, 742, 742, 742, 742, 742,
865             742, 742, 742, 742, 742, 742, 384, 742, 742, 742,
866             742, 742, 199, 742, 742, 742, 742, 742, 740, 742,
867             742, 742, 742, 742, 742, 742, 742, 742, 372, 742,
868             742, 375, 386, 75, 742, 742, 742, 742, 742, 742,
869             514, 742, 738, 699, 742, 742, 742, 742, 739, 742,
870              
871             700, 742, 742, 742, 742, 742, 742, 742, 508, 220,
872             212, 742, 742, 742, 742, 503, 742, 742, 742, 742,
873             742, 397, 742, 742, 742, 388, 448, 434, 742, 222,
874             214, 552, 742, 742, 167, 742, 742, 742, 742, 742,
875             663, 715, 742, 571, 734, 742, 742, 742, 742, 742,
876             498, 607, 742, 742, 742, 742, 742, 742, 742, 742,
877             742, 742, 742, 742, 716, 718, 81, 742, 742, 224,
878             216, 742, 742, 742, 742, 742, 742, 742, 742, 742,
879             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
880             446, 742, 742, 226, 218, 742, 742, 742, 742, 742,
881              
882             742, 742, 672, 742, 742, 742, 742, 742, 742, 742,
883             742, 742, 83, 742, 742, 122, 742, 742, 742, 742,
884             742, 742, 742, 742, 742, 742, 642, 742, 660, 742,
885             644, 742, 742, 742, 742, 742, 742, 742, 290, 742,
886             742, 0, 0, 0, 0, 0, 760, 0, 0, 0,
887             783, 742, 310, 320, 742, 314, 742, 742, 742, 742,
888             742, 742, 742, 742, 336, 742, 742, 742, 742, 742,
889             339, 742, 742, 742, 742, 617, 742, 620, 619, 742,
890             622, 625, 742, 742, 742, 742, 742, 742, 599, 546,
891             603, 717, 742, 742, 742, 742, 459, 706, 742, 713,
892              
893             742, 309, 319, 742, 742, 742, 742, 327, 742, 742,
894             742, 742, 321, 742, 742, 742, 490, 742, 742, 742,
895             742, 742, 742, 202, 557, 742, 313, 742, 742, 742,
896             742, 742, 742, 742, 360, 363, 742, 742, 742, 742,
897             742, 742, 742, 742, 742, 47, 582, 596, 742, 742,
898             742, 742, 742, 742, 742, 742, 370, 742, 742, 742,
899             742, 742, 387, 742, 742, 742, 742, 32, 695, 31,
900             742, 30, 742, 723, 493, 742, 742, 742, 742, 742,
901             730, 742, 742, 742, 742, 742, 742, 742, 742, 742,
902             742, 742, 742, 742, 742, 742, 742, 742, 742, 640,
903              
904             742, 349, 742, 742, 742, 742, 499, 742, 742, 742,
905             742, 742, 742, 742, 742, 742, 742, 708, 712, 742,
906             742, 742, 66, 579, 742, 742, 742, 742, 742, 742,
907             465, 467, 662, 742, 342, 742, 703, 742, 742, 742,
908             447, 407, 742, 685, 742, 742, 742, 477, 742, 742,
909             427, 742, 742, 742, 742, 742, 742, 742, 742, 661,
910             742, 742, 742, 742, 127, 742, 742, 130, 742, 742,
911             131, 742, 742, 742, 742, 742, 742, 742, 742, 742,
912             742, 742, 742, 763, 765, 768, 762, 0, 761, 0,
913             764, 742, 229, 742, 198, 742, 742, 742, 742, 742,
914              
915             742, 705, 742, 511, 338, 67, 742, 742, 679, 742,
916             612, 742, 742, 742, 742, 742, 547, 549, 742, 742,
917             742, 742, 707, 742, 742, 609, 742, 742, 742, 742,
918             742, 742, 742, 742, 742, 742, 742, 84, 742, 742,
919             742, 675, 742, 742, 711, 710, 742, 742, 677, 365,
920             382, 742, 385, 569, 742, 742, 197, 742, 742, 206,
921             742, 742, 742, 742, 742, 742, 742, 373, 742, 56,
922             742, 742, 742, 742, 379, 742, 742, 742, 742, 742,
923             742, 742, 742, 742, 401, 742, 742, 404, 350, 742,
924             395, 742, 389, 435, 742, 742, 553, 742, 636, 742,
925              
926             742, 742, 494, 742, 742, 742, 742, 742, 742, 742,
927             742, 742, 742, 742, 742, 742, 57, 742, 742, 742,
928             742, 742, 742, 460, 742, 742, 742, 742, 343, 344,
929             742, 742, 742, 408, 409, 684, 475, 742, 742, 721,
930             742, 742, 526, 742, 742, 742, 742, 742, 742, 638,
931             742, 742, 742, 742, 742, 742, 742, 478, 742, 742,
932             742, 658, 656, 742, 742, 742, 742, 742, 742, 742,
933             742, 742, 769, 0, 742, 742, 742, 254, 742, 200,
934             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
935             691, 742, 325, 742, 742, 742, 742, 742, 742, 328,
936              
937             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
938             742, 354, 742, 742, 742, 383, 742, 742, 742, 742,
939             742, 742, 742, 742, 742, 742, 742, 742, 742, 371,
940             374, 72, 742, 742, 742, 742, 742, 742, 742, 264,
941             742, 742, 742, 742, 742, 265, 742, 742, 742, 390,
942             742, 742, 742, 742, 742, 742, 742, 495, 742, 742,
943             742, 208, 742, 742, 742, 742, 742, 742, 742, 742,
944             78, 742, 686, 742, 597, 742, 598, 742, 466, 468,
945             671, 345, 443, 742, 742, 410, 742, 726, 742, 742,
946             742, 742, 742, 742, 637, 742, 742, 742, 742, 742,
947              
948             742, 742, 244, 132, 479, 742, 742, 742, 283, 742,
949             742, 742, 742, 281, 742, 742, 742, 0, 318, 742,
950             742, 742, 255, 235, 126, 674, 680, 742, 742, 742,
951             515, 742, 742, 326, 594, 317, 742, 487, 488, 742,
952             742, 742, 742, 742, 570, 742, 742, 742, 742, 742,
953             742, 232, 355, 742, 678, 742, 742, 742, 742, 742,
954             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
955             742, 742, 742, 742, 742, 742, 268, 732, 742, 742,
956             742, 269, 742, 742, 742, 742, 742, 742, 742, 742,
957             497, 496, 742, 742, 742, 742, 742, 742, 742, 742,
958              
959             742, 742, 742, 742, 742, 742, 445, 444, 476, 742,
960             742, 742, 742, 742, 742, 742, 742, 742, 742, 85,
961             742, 742, 742, 742, 742, 742, 284, 742, 742, 742,
962             742, 280, 742, 0, 307, 742, 742, 742, 742, 742,
963             513, 742, 742, 742, 742, 742, 742, 742, 742, 742,
964             683, 742, 742, 742, 742, 742, 742, 742, 742, 742,
965             742, 305, 742, 742, 742, 742, 742, 742, 742, 742,
966             742, 742, 742, 742, 742, 742, 676, 742, 635, 742,
967             742, 731, 742, 742, 742, 742, 554, 736, 742, 742,
968             742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
969              
970             500, 742, 742, 742, 742, 428, 429, 742, 742, 742,
971             742, 742, 742, 666, 742, 742, 742, 346, 411, 742,
972             742, 742, 742, 742, 742, 742, 742, 766, 742, 742,
973             621, 742, 530, 516, 742, 742, 742, 742, 742, 742,
974             238, 742, 329, 742, 742, 742, 742, 742, 492, 201,
975             742, 742, 250, 742, 272, 742, 742, 742, 742, 742,
976             742, 742, 204, 742, 256, 742, 510, 742, 733, 742,
977             742, 520, 742, 646, 742, 742, 742, 742, 742, 742,
978             742, 742, 742, 742, 742, 742, 742, 351, 68, 742,
979             742, 440, 742, 742, 742, 742, 742, 742, 278, 742,
980              
981             347, 412, 742, 742, 742, 742, 742, 742, 742, 742,
982             196, 742, 742, 742, 742, 742, 742, 742, 742, 742,
983             247, 742, 239, 340, 584, 249, 742, 742, 203, 742,
984             742, 252, 209, 742, 742, 236, 331, 742, 205, 257,
985             742, 742, 352, 742, 521, 742, 645, 742, 251, 742,
986             270, 742, 742, 742, 742, 742, 742, 742, 568, 524,
987             742, 586, 742, 742, 649, 742, 742, 279, 742, 742,
988             742, 288, 742, 742, 742, 742, 742, 531, 742, 742,
989             742, 260, 742, 591, 742, 248, 274, 742, 742, 273,
990             253, 742, 742, 742, 266, 267, 522, 742, 742, 742,
991              
992             742, 245, 742, 742, 237, 332, 742, 742, 525, 742,
993             742, 742, 648, 527, 742, 285, 289, 282, 742, 742,
994             742, 742, 742, 742, 261, 742, 275, 0, 0, 742,
995             742, 242, 523, 742, 742, 271, 742, 246, 241, 687,
996             262, 742, 742, 528, 742, 742, 742, 519, 517, 742,
997             742, 0, 0, 0, 741, 276, 742, 742, 588, 277,
998             263, 742, 742, 742, 195, 518, 240, 742, 647, 742,
999             286, 287, 243, 650, 0
1000             } ;
1001              
1002             static const YY_CHAR yy_ec[256] =
1003             { 0,
1004             1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1005             1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1006             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1007             1, 4, 5, 1, 6, 7, 8, 9, 10, 11,
1008             12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
1009             19, 19, 19, 19, 19, 19, 19, 20, 21, 1,
1010             22, 1, 23, 1, 24, 25, 26, 27, 28, 29,
1011             30, 31, 32, 31, 33, 34, 35, 36, 37, 38,
1012             31, 39, 40, 41, 42, 43, 44, 45, 31, 46,
1013             47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1014              
1015             57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1016             67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1017             77, 78, 79, 80, 81, 82, 1, 1, 1, 1,
1018             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1019             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1020             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1021             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1022             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1023             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1024             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1025              
1026             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1027             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1028             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1029             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1030             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1031             1, 1, 1, 1, 1
1032             } ;
1033              
1034             static const YY_CHAR yy_meta[83] =
1035             { 0,
1036             1, 2, 3, 2, 1, 4, 1, 1, 1, 1,
1037             1, 1, 1, 1, 1, 2, 2, 1, 5, 1,
1038             6, 1, 1, 7, 7, 7, 7, 7, 7, 8,
1039             8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
1040             8, 8, 8, 8, 8, 8, 1, 1, 1, 1,
1041             9, 1, 7, 7, 7, 7, 7, 7, 8, 8,
1042             8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
1043             8, 8, 8, 8, 8, 8, 8, 8, 1, 1,
1044             2, 1
1045             } ;
1046              
1047             static const flex_int16_t yy_base[3399] =
1048             { 0,
1049             0, 1, 49, 0, 4032, 4031, 131, 0, 213, 0,
1050             295, 0, 377, 0, 459, 0, 4030, 4029, 540, 543,
1051             546, 549, 552, 570, 4028, 4027, 4057, 4056, 4022, 4021,
1052             573, 576, 579, 582, 589, 592, 554, 555, 557, 558,
1053             4022, 4021, 4018, 4017, 4097, 4112, 4112, 4089, 4058, 0,
1054             4112, 8, 4112, 4112, 4112, 4087, 561, 4083, 4112, 4112,
1055             4112, 4112, 4112, 4112, 4073, 4112, 0, 4112, 4112, 4112,
1056             4112, 0, 4112, 670, 4112, 4112, 4112, 4112, 605, 4112,
1057             4112, 4112, 4112, 4010, 4112, 18, 21, 4112, 4112, 4112,
1058             4112, 4112, 4112, 28, 31, 4112, 4112, 4112, 4112, 34,
1059              
1060             37, 4112, 4112, 4112, 4112, 40, 595, 4112, 4112, 4112,
1061             4112, 608, 613, 4112, 4112, 4112, 4009, 4112, 633, 636,
1062             4070, 4112, 4112, 4112, 639, 661, 4069, 4112, 4112, 4112,
1063             664, 685, 4068, 4112, 4112, 727, 4112, 4029, 4112, 4112,
1064             718, 751, 4112, 754, 515, 4112, 757, 4112, 4112, 4112,
1065             4112, 4112, 4036, 4112, 4035, 760, 4002, 4112, 4112, 4053,
1066             4112, 4112, 12, 4112, 569, 4060, 627, 585, 651, 4070,
1067             4060, 4059, 4058, 750, 0, 4112, 4112, 4112, 0, 4112,
1068             4112, 4112, 4112, 4112, 4112, 4012, 711, 579, 716, 494,
1069             0, 4022, 722, 4021, 740, 4000, 3999, 731, 745, 752,
1070              
1071             596, 757, 615, 764, 4014, 4009, 4012, 4112, 4112, 760,
1072             776, 791, 812, 806, 786, 831, 839, 846, 4003, 627,
1073             876, 892, 932, 908, 955, 826, 984, 1000, 1023, 858,
1074             864, 900, 1040, 4010, 4112, 4112, 4112, 857, 4112, 3985,
1075             4112, 898, 952, 1007, 1019, 1026, 3984, 4112, 1029, 4045,
1076             1032, 4044, 1083, 4043, 3996, 3995, 590, 3994, 4005, 4004,
1077             4003, 3990, 789, 3989, 3987, 1092, 1104, 4003, 4002, 4001,
1078             1109, 4000, 4112, 3999, 4112, 1112, 4112, 3966, 4112, 4112,
1079             815, 0, 4025, 4112, 753, 773, 758, 4035, 4025, 4024,
1080             908, 4112, 3974, 3969, 3981, 3963, 3973, 3969, 3972, 3967,
1081              
1082             3970, 3980, 3957, 716, 3978, 3965, 0, 3957, 3956, 3959,
1083             3961, 3967, 3967, 3957, 3962, 0, 0, 3964, 3956, 3958,
1084             3948, 3956, 0, 0, 3955, 0, 3948, 3955, 3952, 3952,
1085             3952, 813, 3937, 3952, 3947, 921, 3954, 3953, 3952, 543,
1086             3948, 3947, 0, 3930, 890, 3948, 3941, 3931, 931, 817,
1087             3931, 720, 991, 855, 821, 3944, 1027, 919, 3928, 3928,
1088             3930, 785, 3923, 921, 1053, 3937, 876, 982, 3927, 1067,
1089             1063, 1073, 3937, 1058, 3921, 3924, 927, 3931, 3915, 1081,
1090             964, 979, 3921, 3924, 3930, 3912, 1025, 3916, 3924, 3910,
1091             3919, 1084, 3907, 3919, 3903, 3921, 3920, 1075, 3915, 3913,
1092              
1093             952, 910, 1088, 3898, 3912, 3915, 3899, 3896, 3908, 1001,
1094             3894, 3906, 3895, 1087, 3897, 0, 3904, 3894, 1095, 3891,
1095             1100, 1102, 3896, 3899, 1098, 1006, 3888, 842, 3898, 0,
1096             3889, 3895, 3890, 3923, 1016, 3882, 1139, 1025, 0, 3891,
1097             3886, 3874, 1111, 3884, 1112, 3874, 0, 987, 1065, 1112,
1098             1122, 3873, 3876, 3884, 1121, 1120, 3876, 3878, 3881, 1120,
1099             3867, 747, 3864, 3862, 3867, 1130, 3872, 3876, 3858, 3877,
1100             3872, 3862, 3857, 3869, 3861, 872, 1080, 3871, 3856, 1119,
1101             1142, 3861, 3864, 3850, 1164, 1126, 1140, 3866, 1148, 1147,
1102             1155, 3854, 3864, 1148, 1180, 1145, 3855, 1146, 3845, 1163,
1103              
1104             1165, 1164, 3853, 3846, 3845, 3858, 1178, 1185, 3857, 3839,
1105             1168, 1189, 3852, 3851, 0, 0, 3849, 3844, 3837, 0,
1106             3846, 3849, 3840, 3828, 3846, 3845, 3836, 3826, 3842, 3823,
1107             3821, 3820, 3838, 3837, 3825, 3829, 3834, 3830, 4112, 4112,
1108             4112, 4112, 3864, 1193, 3863, 1206, 4112, 3864, 1233, 3822,
1109             3828, 1198, 0, 3812, 0, 3812, 0, 3806, 3812, 3810,
1110             3808, 3819, 0, 3808, 3815, 3818, 3802, 3815, 3796, 3809,
1111             3807, 0, 3806, 3791, 3798, 3794, 0, 0, 0, 3801,
1112             3801, 0, 3794, 3787, 3786, 0, 3784, 3788, 3784, 3786,
1113             3791, 3780, 3780, 3778, 0, 3776, 3794, 3787, 3792, 3776,
1114              
1115             3784, 3782, 3777, 3776, 3769, 1182, 0, 3785, 0, 3772,
1116             3768, 3772, 3759, 3780, 3771, 1210, 3764, 3769, 1216, 3762,
1117             3773, 3771, 3754, 3753, 1239, 3760, 3755, 0, 3750, 3757,
1118             3765, 0, 3764, 3747, 3763, 1245, 1206, 3746, 3755, 3754,
1119             0, 0, 1187, 3754, 3742, 3751, 3755, 3750, 1199, 3736,
1120             0, 3735, 0, 3741, 3752, 0, 3736, 3742, 3734, 1246,
1121             3747, 3734, 3746, 0, 3741, 3725, 3724, 3734, 1215, 3739,
1122             3729, 1211, 0, 0, 3721, 0, 3727, 3729, 3717, 3735,
1123             1214, 3712, 3721, 0, 1228, 0, 3717, 3715, 3722, 1249,
1124             3712, 0, 3711, 3710, 0, 3716, 3720, 0, 1257, 3705,
1125              
1126             3704, 3711, 3710, 1247, 3716, 3719, 3718, 3694, 3697, 3700,
1127             0, 3697, 3712, 3706, 3711, 3702, 3690, 3689, 1253, 3689,
1128             3692, 0, 1213, 1259, 3688, 0, 3684, 3688, 3686, 3693,
1129             0, 3694, 3684, 3694, 3685, 3679, 3677, 3687, 0, 3675,
1130             3674, 0, 0, 3671, 3686, 3670, 3683, 3681, 3686, 3674,
1131             3664, 3670, 3665, 3664, 1261, 3660, 3671, 3662, 3660, 1270,
1132             3673, 1268, 3658, 3670, 3667, 3658, 3659, 1276, 3662, 3669,
1133             3668, 3650, 3649, 3648, 3653, 3645, 3643, 3657, 3641, 3641,
1134             3652, 1280, 3640, 3636, 3655, 3642, 3636, 3649, 1268, 3636,
1135             3637, 0, 3647, 3630, 3644, 3644, 3633, 1280, 0, 0,
1136              
1137             3644, 3640, 3625, 3635, 3640, 3631, 3624, 0, 0, 3630,
1138             3628, 3620, 3614, 3614, 1289, 3619, 3614, 3618, 3612, 3620,
1139             3610, 3609, 0, 3613, 3607, 3606, 3610, 3617, 3613, 3601,
1140             3607, 3606, 1245, 3612, 1056, 3596, 3594, 3613, 3612, 1282,
1141             3593, 3608, 0, 3591, 3591, 3590, 3599, 0, 3592, 3586,
1142             3584, 3602, 1273, 1292, 3598, 3596, 3593, 3587, 0, 1296,
1143             3590, 3577, 3580, 3590, 3579, 3585, 3584, 3573, 1298, 3589,
1144             3568, 3579, 3571, 3567, 1300, 3566, 3564, 0, 3581, 3562,
1145             3574, 3575, 3573, 3571, 3562, 3570, 3559, 3567, 3572, 3552,
1146             3551, 3563, 3568, 3548, 3562, 3558, 3528, 3516, 3478, 3471,
1147              
1148             3450, 492, 511, 4112, 1329, 4112, 1334, 1344, 599, 602,
1149             0, 1303, 0, 0, 614, 626, 713, 760, 824, 852,
1150             931, 1114, 1170, 0, 1190, 1191, 1309, 1209, 1251, 1316,
1151             1303, 1318, 0, 1304, 1317, 1325, 1323, 1324, 1329, 1317,
1152             1314, 1310, 1322, 1327, 0, 1328, 0, 1318, 1333, 0,
1153             1331, 1326, 1340, 1335, 1339, 1330, 1331, 1338, 1348, 1325,
1154             1335, 0, 1347, 1348, 1333, 1341, 0, 0, 1351, 1345,
1155             1352, 1359, 1349, 1344, 0, 1358, 0, 1352, 1347, 1354,
1156             1366, 1368, 1362, 1365, 1358, 1364, 1372, 1363, 1368, 1375,
1157             1370, 1382, 1379, 1377, 1378, 1382, 1387, 1388, 1375, 1380,
1158              
1159             1385, 1392, 1377, 1380, 1388, 1400, 1388, 1387, 0, 1391,
1160             1392, 1393, 0, 0, 1385, 1406, 1407, 0, 1401, 1399,
1161             1408, 1401, 1397, 1399, 1419, 1406, 1409, 1412, 1421, 0,
1162             1409, 1415, 0, 1416, 1428, 1412, 1427, 1408, 1419, 1423,
1163             1419, 1426, 1424, 1439, 1429, 1420, 1423, 1435, 1438, 0,
1164             1434, 0, 1442, 1434, 1450, 0, 1440, 1437, 1437, 1442,
1165             1440, 1442, 1441, 1454, 1451, 1441, 0, 1442, 1451, 0,
1166             1450, 1445, 0, 1458, 1458, 1447, 1456, 1446, 1465, 1460,
1167             0, 1460, 1467, 1475, 1457, 1474, 1467, 1477, 1469, 1463,
1168             1483, 0, 1473, 1485, 1472, 1474, 1472, 1487, 0, 1495,
1169              
1170             1478, 1482, 1482, 1487, 1493, 1505, 1493, 1503, 1489, 1490,
1171             1510, 1493, 1499, 1498, 1506, 1511, 1501, 1515, 1505, 1525,
1172             1509, 1524, 1514, 1515, 1529, 1519, 1528, 1528, 1519, 1522,
1173             0, 1520, 1525, 1524, 0, 1531, 1537, 1546, 1545, 1541,
1174             1532, 0, 1532, 1549, 1534, 1553, 1536, 1537, 1539, 1540,
1175             0, 1558, 1552, 0, 1560, 0, 1543, 1562, 1546, 1544,
1176             1565, 1548, 1549, 1564, 1568, 1562, 1560, 0, 1564, 0,
1177             1554, 1567, 1574, 0, 1576, 1573, 1561, 1563, 1580, 1567,
1178             1568, 1577, 1588, 1580, 1578, 1574, 1582, 0, 1578, 0,
1179             1586, 1590, 1584, 1585, 1595, 1602, 1599, 1585, 1590, 1589,
1180              
1181             1590, 1600, 1594, 1591, 1611, 1596, 0, 1606, 1603, 1611,
1182             1612, 1613, 1601, 1604, 1605, 0, 1620, 1605, 1605, 1614,
1183             0, 1605, 1622, 1627, 1624, 1613, 1615, 0, 1619, 1620,
1184             1618, 1635, 1634, 1639, 1632, 1625, 1640, 1628, 1636, 1629,
1185             1636, 1639, 1647, 1634, 0, 1636, 1641, 1652, 1653, 1640,
1186             1641, 1637, 1643, 1643, 1651, 1663, 1657, 1650, 1666, 1653,
1187             1661, 1663, 1663, 1665, 1666, 1656, 1675, 0, 1672, 1678,
1188             1658, 1674, 1674, 1667, 1669, 1681, 0, 1672, 1673, 1678,
1189             1668, 1676, 1676, 1691, 1688, 1681, 1689, 1682, 4112, 1685,
1190             1685, 1736, 1737, 1740, 0, 0, 0, 1691, 1708, 0,
1191              
1192             1696, 1693, 1697, 1702, 0, 1696, 0, 1715, 1699, 1709,
1193             1718, 1715, 0, 0, 1702, 1721, 1703, 0, 1704, 1705,
1194             0, 0, 1711, 1714, 1714, 0, 0, 1722, 0, 0,
1195             0, 0, 0, 0, 1707, 1713, 1719, 1720, 1720, 0,
1196             1720, 1719, 1729, 1735, 1721, 1722, 1738, 1729, 1737, 1737,
1197             1731, 1730, 1733, 0, 0, 1730, 1736, 1740, 1744, 1751,
1198             1754, 1747, 1745, 1753, 1755, 0, 1748, 1736, 1749, 1758,
1199             1744, 1741, 1754, 1751, 1750, 0, 1757, 1751, 1772, 1761,
1200             1755, 1759, 0, 1761, 0, 1761, 1774, 1762, 1760, 1773,
1201             1758, 1770, 1784, 0, 1785, 1767, 1767, 1786, 1786, 1791,
1202              
1203             1775, 1789, 1786, 0, 1784, 1792, 1778, 0, 0, 0,
1204             1785, 1787, 1800, 1797, 1800, 1784, 1801, 1789, 1795, 1810,
1205             1796, 1795, 1795, 1796, 1809, 1802, 1815, 1804, 1808, 1807,
1206             1819, 0, 1804, 1810, 1817, 1817, 1815, 0, 0, 0,
1207             1827, 1811, 0, 0, 1814, 1811, 1821, 1813, 1821, 1821,
1208             1817, 1834, 1831, 1821, 0, 0, 1837, 1839, 1835, 0,
1209             1827, 1843, 1831, 1827, 0, 0, 0, 1848, 1845, 1846,
1210             0, 0, 1834, 1852, 1849, 1846, 1839, 1849, 1857, 1843,
1211             1845, 1844, 1843, 1856, 1848, 1861, 1852, 1857, 1867, 1851,
1212             1854, 0, 0, 1868, 1865, 1857, 1869, 1858, 1864, 1864,
1213              
1214             1878, 1880, 1864, 1863, 1873, 1870, 1888, 1885, 1870, 1876,
1215             1894, 1894, 1878, 1885, 1898, 1882, 1895, 0, 1904, 0,
1216             1891, 1892, 1904, 1908, 1901, 1889, 1892, 0, 1901, 1913,
1217             0, 1903, 0, 0, 0, 1905, 1913, 1899, 1900, 1916,
1218             1917, 1918, 1910, 1917, 1918, 1912, 1913, 1910, 0, 1910,
1219             1912, 0, 1918, 1915, 1915, 0, 1928, 1918, 1920, 1934,
1220             1931, 1936, 1928, 1932, 1944, 1931, 1941, 0, 1932, 1928,
1221             1933, 1950, 1943, 0, 1950, 1939, 0, 1934, 0, 1951,
1222             1952, 0, 1940, 1958, 1953, 1941, 1953, 1949, 1944, 1964,
1223             1955, 1965, 1952, 0, 1952, 1958, 1959, 1961, 0, 1966,
1224              
1225             0, 0, 0, 1974, 0, 0, 1962, 1974, 0, 0,
1226             1965, 1966, 1981, 1979, 1970, 1970, 1970, 1990, 1976, 1973,
1227             1978, 1995, 1988, 1978, 1984, 1985, 1988, 1984, 1995, 0,
1228             1997, 0, 2004, 1990, 0, 2005, 2003, 2000, 2003, 2006,
1229             2011, 0, 2014, 0, 0, 0, 1998, 1999, 2004, 2003,
1230             0, 2005, 2003, 0, 2003, 2008, 2005, 2018, 0, 2013,
1231             2015, 2024, 2032, 2030, 2027, 0, 0, 2019, 0, 2037,
1232             2031, 2039, 2032, 2037, 2042, 2024, 2033, 2045, 2027, 2029,
1233             2041, 2043, 2048, 2025, 2046, 2027, 2039, 2034, 2050, 2048,
1234             2033, 2055, 2043, 4112, 4112, 2099, 0, 2051, 2051, 2060,
1235              
1236             2066, 2053, 2058, 2058, 2069, 0, 2057, 2069, 2059, 2072,
1237             0, 2061, 2079, 0, 0, 2058, 2081, 2069, 0, 2079,
1238             0, 0, 0, 2069, 2067, 2078, 2075, 2088, 2083, 2086,
1239             2077, 2079, 2076, 2083, 2089, 0, 2094, 0, 2093, 2079,
1240             2079, 2088, 2101, 2085, 2103, 2084, 0, 2099, 2092, 2091,
1241             2091, 2097, 0, 0, 0, 0, 2110, 2109, 0, 2092,
1242             2095, 2096, 2111, 0, 0, 2097, 0, 2117, 2114, 2111,
1243             2116, 2109, 2120, 2110, 2110, 2119, 2115, 0, 2112, 2110,
1244             2115, 2128, 2129, 2117, 0, 2130, 2130, 2123, 2121, 0,
1245             2136, 2140, 2117, 2128, 2129, 2126, 2144, 2129, 2125, 2131,
1246              
1247             2149, 0, 2142, 2147, 2147, 2141, 0, 2142, 2142, 2138,
1248             2144, 2145, 0, 2154, 2150, 2156, 0, 2150, 2150, 2148,
1249             0, 2162, 2156, 2150, 0, 2165, 2150, 2166, 2166, 0,
1250             2170, 2170, 2156, 2176, 2177, 2174, 0, 2167, 0, 0,
1251             0, 2163, 2164, 2177, 2177, 2164, 2168, 2169, 2174, 2174,
1252             2171, 2185, 2175, 2181, 0, 0, 0, 2190, 2185, 2196,
1253             2183, 2193, 2193, 2183, 2198, 0, 2199, 0, 0, 0,
1254             2191, 2194, 2206, 2207, 0, 2208, 0, 2201, 2199, 2211,
1255             0, 2195, 0, 0, 2209, 2212, 0, 0, 2215, 2214,
1256             2200, 2210, 2219, 0, 2209, 2199, 2200, 2205, 2222, 2223,
1257              
1258             0, 2208, 2227, 2211, 2221, 2230, 2220, 2216, 2233, 2222,
1259             2216, 2222, 2220, 2234, 0, 0, 2219, 2220, 2236, 2240,
1260             2238, 2233, 0, 2233, 0, 0, 2248, 2244, 2237, 2245,
1261             2233, 2247, 2250, 2244, 2244, 2243, 2243, 2242, 0, 2245,
1262             2253, 2250, 2244, 0, 2249, 0, 0, 0, 2248, 2266,
1263             2263, 2260, 2253, 2263, 2268, 2272, 2267, 2270, 2257, 2263,
1264             2274, 2269, 0, 2262, 2259, 2260, 2263, 2276, 2285, 2269,
1265             2283, 2268, 2287, 2286, 2287, 0, 0, 2288, 2282, 2290,
1266             2294, 2282, 2281, 0, 2284, 2292, 2289, 2298, 2282, 2283,
1267             0, 0, 2281, 2283, 2294, 2294, 2302, 2312, 0, 0,
1268              
1269             2298, 2303, 2307, 2313, 2301, 2315, 2299, 2313, 2318, 2302,
1270             0, 2325, 2312, 2314, 2311, 2321, 2315, 2324, 0, 2317,
1271             0, 2321, 2316, 2317, 2317, 2337, 0, 2321, 2335, 2321,
1272             2330, 2340, 2326, 2336, 2345, 2342, 2339, 2331, 2341, 2336,
1273             2351, 2329, 2330, 2351, 4112, 2332, 4112, 2352, 2329, 2335,
1274             2359, 4112, 2337, 2355, 2348, 2348, 2353, 0, 2352, 0,
1275             2354, 2366, 2355, 2363, 2354, 2353, 2356, 2357, 0, 2358,
1276             0, 2360, 2358, 2370, 2367, 2376, 2363, 2378, 0, 2377,
1277             0, 0, 2376, 2378, 0, 2369, 0, 2369, 2384, 2374,
1278             2375, 0, 2378, 2374, 2389, 2369, 2375, 2388, 2396, 2380,
1279              
1280             2388, 2382, 0, 2394, 2384, 2385, 2387, 2405, 0, 2387,
1281             2396, 2390, 2393, 2397, 2397, 2402, 0, 2407, 2414, 2402,
1282             2414, 2416, 2404, 2403, 2416, 2411, 0, 2407, 0, 2408,
1283             2414, 2409, 0, 2429, 2417, 2417, 2419, 2418, 2417, 2422,
1284             2417, 2426, 0, 0, 2425, 2433, 2429, 2419, 2439, 2435,
1285             2438, 2427, 2424, 2434, 2431, 2446, 0, 2435, 2444, 2434,
1286             2447, 2454, 0, 2450, 2433, 2447, 2448, 2458, 0, 2447,
1287             2447, 2444, 2457, 2457, 2462, 2459, 2449, 2452, 0, 2451,
1288             2465, 0, 0, 0, 2468, 2471, 2451, 2456, 2469, 2463,
1289             0, 2462, 0, 0, 2464, 2470, 2466, 2464, 0, 2468,
1290              
1291             0, 2481, 2481, 2471, 2470, 2471, 2483, 2473, 0, 0,
1292             0, 2476, 2488, 2483, 2476, 0, 2482, 2479, 2491, 2485,
1293             2495, 0, 2483, 2493, 2502, 2499, 0, 2500, 2494, 0,
1294             0, 0, 2489, 2507, 0, 2491, 2507, 2491, 2507, 2505,
1295             0, 0, 2502, 0, 0, 2497, 2498, 2505, 2502, 2506,
1296             0, 0, 2508, 2503, 2504, 2517, 2517, 2504, 2508, 2515,
1297             2513, 2526, 2516, 2512, 0, 0, 0, 2527, 2530, 0,
1298             0, 2515, 2531, 2518, 2522, 2518, 2531, 2532, 2541, 2523,
1299             2524, 2533, 2537, 2530, 2543, 2538, 2532, 2539, 2536, 2540,
1300             0, 2537, 2550, 0, 0, 2551, 2545, 2540, 2543, 2547,
1301              
1302             2560, 2559, 0, 2558, 2550, 2553, 2565, 2561, 2554, 2564,
1303             2563, 2552, 0, 2555, 2559, 0, 2560, 2564, 2576, 2569,
1304             2559, 2579, 2576, 2577, 2582, 2570, 0, 2582, 0, 2582,
1305             0, 2569, 2581, 2571, 2584, 2584, 2574, 2586, 0, 2576,
1306             2590, 2567, 2568, 2569, 2570, 2596, 4112, 2572, 2582, 2574,
1307             4112, 2586, 0, 0, 2582, 0, 2586, 2584, 2588, 2594,
1308             2592, 2596, 2594, 2595, 0, 2595, 2603, 2611, 2600, 2610,
1309             0, 2612, 2613, 2601, 2610, 0, 2604, 0, 0, 2617,
1310             0, 0, 2620, 2625, 2626, 2613, 2621, 2625, 0, 0,
1311             0, 0, 2613, 2613, 2624, 2633, 0, 0, 2615, 0,
1312              
1313             2618, 0, 0, 2623, 2618, 2621, 2619, 0, 2634, 2627,
1314             2642, 2624, 0, 2624, 2626, 2627, 0, 2630, 2629, 2627,
1315             2650, 2637, 2635, 0, 0, 2649, 0, 2635, 2651, 2638,
1316             2639, 2644, 2653, 2641, 0, 0, 2638, 2644, 2645, 2648,
1317             2646, 2666, 2648, 2644, 2652, 0, 0, 0, 2651, 2649,
1318             2658, 2673, 2655, 2669, 2672, 2671, 0, 2664, 2662, 2661,
1319             2662, 2675, 0, 2683, 2665, 2663, 2670, 0, 0, 0,
1320             2683, 0, 2688, 0, 0, 2681, 2676, 2684, 2675, 2693,
1321             0, 2676, 2680, 2677, 2683, 2691, 2680, 2689, 2684, 2699,
1322             2686, 2688, 2689, 2702, 2688, 2695, 2696, 2706, 2711, 0,
1323              
1324             2693, 0, 2703, 2700, 2691, 2699, 0, 2713, 2704, 2704,
1325             2701, 2714, 2714, 2719, 2720, 2706, 2719, 0, 0, 2708,
1326             2712, 2705, 0, 0, 2731, 2710, 2721, 2723, 2716, 2725,
1327             2733, 2734, 0, 2726, 2724, 2725, 0, 2728, 2719, 2727,
1328             0, 2729, 2730, 0, 2743, 2744, 2732, 0, 2748, 2747,
1329             2749, 2734, 2750, 2747, 2754, 2738, 2754, 2742, 2754, 0,
1330             2745, 2750, 2742, 2753, 0, 2755, 2755, 0, 2751, 2752,
1331             0, 2766, 2763, 2770, 2761, 2769, 2760, 2759, 2772, 2766,
1332             2774, 2765, 2778, 4112, 4112, 4112, 4112, 2756, 4112, 2768,
1333             4112, 2772, 0, 2779, 0, 2788, 2767, 2782, 2769, 2778,
1334              
1335             2779, 0, 2780, 0, 0, 0, 2784, 2789, 0, 2793,
1336             0, 2787, 2786, 2783, 2788, 2791, 0, 0, 2789, 2785,
1337             2788, 2788, 0, 2793, 2789, 0, 2805, 2808, 2807, 2790,
1338             2796, 2814, 2807, 2792, 2809, 2796, 2815, 0, 2803, 2807,
1339             2808, 0, 2806, 2806, 0, 0, 2806, 2819, 0, 0,
1340             0, 2809, 0, 0, 2811, 2829, 0, 2830, 2823, 2813,
1341             2819, 2817, 2835, 2836, 2818, 2831, 2816, 0, 2823, 0,
1342             2837, 2826, 2844, 2834, 0, 2845, 2834, 2833, 2827, 2831,
1343             2838, 2852, 2840, 2856, 0, 2835, 2839, 0, 0, 2845,
1344             0, 2860, 2845, 0, 2851, 2856, 0, 2864, 0, 2848,
1345              
1346             2858, 2867, 0, 2846, 2866, 2857, 2864, 2851, 2860, 2875,
1347             2857, 2871, 2874, 2874, 2862, 2877, 0, 2875, 2880, 2874,
1348             2873, 2879, 2884, 0, 2889, 2874, 2875, 2888, 0, 2877,
1349             2871, 2891, 2882, 0, 2881, 0, 0, 2884, 2895, 0,
1350             2886, 2897, 0, 2894, 2899, 2899, 2899, 2902, 2907, 0,
1351             2890, 2890, 2896, 2900, 2894, 2900, 2908, 0, 2902, 2903,
1352             2907, 0, 0, 2897, 2901, 2907, 2922, 2904, 2903, 2907,
1353             2913, 2909, 4112, 2921, 2907, 2917, 2915, 0, 2927, 0,
1354             2912, 2913, 2923, 2933, 2919, 2939, 2936, 2935, 2938, 2937,
1355             0, 2922, 0, 2943, 2939, 2924, 2944, 2947, 2948, 0,
1356              
1357             2950, 2935, 2936, 2935, 2944, 2944, 2953, 2952, 2942, 2947,
1358             2940, 0, 2945, 2946, 2946, 0, 2949, 2951, 2954, 2956,
1359             2971, 2959, 2956, 2957, 2975, 2960, 2960, 2970, 2960, 0,
1360             0, 0, 2963, 2964, 2978, 2975, 2970, 2979, 2967, 0,
1361             2987, 2966, 2985, 2990, 2989, 0, 2992, 2971, 2983, 0,
1362             2991, 2988, 2997, 2986, 2982, 2994, 2984, 0, 2986, 2980,
1363             2991, 2986, 2992, 2990, 3008, 3009, 3010, 2992, 2993, 3009,
1364             0, 2999, 0, 3004, 0, 3003, 0, 3004, 0, 0,
1365             0, 0, 0, 3002, 2996, 0, 2997, 0, 2999, 3017,
1366             3017, 3018, 3006, 3019, 0, 3010, 3020, 3025, 3030, 3009,
1367              
1368             3028, 3025, 0, 0, 0, 3030, 3031, 3032, 0, 3037,
1369             3016, 3022, 3040, 0, 3041, 3020, 3036, 3021, 0, 3032,
1370             3029, 3040, 0, 0, 0, 0, 0, 3028, 3047, 3047,
1371             0, 3041, 3042, 0, 0, 0, 3048, 0, 0, 3041,
1372             3052, 3049, 3044, 3043, 0, 3057, 3058, 3060, 3047, 3051,
1373             3055, 0, 0, 3064, 0, 3055, 3053, 3064, 3060, 3066,
1374             3072, 3062, 3060, 3061, 3059, 3063, 3069, 3082, 3069, 3067,
1375             3080, 3080, 3064, 3077, 3071, 3073, 0, 0, 3089, 3089,
1376             3077, 0, 3084, 3091, 3091, 3085, 3095, 3086, 3094, 3085,
1377             0, 0, 3084, 3104, 3092, 3089, 3090, 3091, 3092, 3102,
1378              
1379             3111, 3096, 3094, 3110, 3095, 3110, 0, 0, 0, 3104,
1380             3099, 3112, 3103, 3121, 3103, 3106, 3118, 3106, 3109, 0,
1381             3122, 3122, 3113, 3114, 3120, 3115, 0, 3116, 3117, 3118,
1382             3136, 0, 3138, 3111, 0, 3126, 3122, 3138, 3129, 3129,
1383             0, 3141, 3142, 3139, 3131, 3130, 3145, 3145, 3130, 3139,
1384             0, 3136, 3149, 3156, 3135, 3154, 3151, 3144, 3139, 3148,
1385             3155, 0, 3153, 3151, 3151, 3145, 3154, 3154, 3162, 3157,
1386             3168, 3156, 3152, 3161, 3157, 3170, 0, 3174, 0, 3162,
1387             3176, 0, 3164, 3178, 3164, 3177, 0, 0, 3163, 3167,
1388             3173, 3184, 3181, 3187, 3177, 3177, 3176, 3177, 3183, 3179,
1389              
1390             0, 3179, 3187, 3181, 3189, 0, 3197, 3183, 3203, 3187,
1391             3205, 3192, 3201, 0, 3192, 3191, 3204, 3196, 3197, 3210,
1392             3207, 3199, 3203, 3201, 3202, 3203, 3204, 4112, 3200, 3223,
1393             0, 3202, 0, 3222, 3221, 3221, 3228, 3212, 3211, 3224,
1394             0, 3210, 0, 3230, 3224, 3218, 3232, 3232, 0, 0,
1395             3218, 3239, 0, 3220, 0, 3225, 3222, 3231, 3240, 3225,
1396             3230, 3232, 0, 3228, 0, 3232, 0, 3238, 0, 3239,
1397             3243, 3251, 3237, 0, 3257, 3236, 3253, 3249, 3247, 3247,
1398             3241, 3250, 3251, 3252, 3263, 3251, 3261, 0, 0, 3266,
1399             3255, 3268, 3262, 3257, 3258, 3254, 3258, 3264, 0, 3260,
1400              
1401             0, 0, 3275, 3275, 3268, 3261, 3270, 3271, 3271, 3272,
1402             0, 3271, 3276, 3276, 3287, 3284, 3274, 3287, 3284, 3288,
1403             0, 3278, 0, 0, 0, 0, 3279, 3292, 0, 3282,
1404             3288, 0, 3284, 3289, 3304, 0, 0, 3291, 0, 0,
1405             3284, 3285, 0, 3292, 3305, 3293, 0, 3294, 0, 3290,
1406             0, 3295, 3300, 3293, 3294, 3299, 3304, 3294, 0, 0,
1407             3304, 0, 3307, 3305, 0, 3323, 3302, 0, 3306, 3319,
1408             3305, 0, 3306, 3307, 3316, 3317, 3315, 0, 3311, 3329,
1409             3329, 0, 3317, 0, 3331, 0, 0, 3319, 3345, 0,
1410             0, 3327, 3324, 3320, 0, 0, 0, 3327, 3327, 3345,
1411              
1412             3333, 0, 3334, 3330, 0, 0, 3327, 3346, 0, 3329,
1413             3338, 3336, 0, 0, 3335, 0, 0, 0, 3341, 3342,
1414             3343, 3345, 3340, 3353, 0, 3354, 0, 3366, 3335, 3346,
1415             3348, 0, 0, 3352, 3356, 0, 3350, 0, 0, 0,
1416             0, 3347, 3353, 0, 3359, 3360, 3352, 0, 0, 3356,
1417             3357, 3381, 3352, 3351, 4112, 0, 3366, 3359, 0, 0,
1418             0, 3368, 3365, 3366, 0, 0, 0, 3363, 0, 3364,
1419             0, 0, 0, 0, 4112, 3439, 3448, 3457, 3466, 3475,
1420             3484, 3493, 3502, 3511, 3520, 3526, 3529, 3536, 3544, 3553,
1421             3562, 3571, 3576, 3585, 3588, 3592, 3599, 3608
1422              
1423             } ;
1424              
1425             static const flex_int16_t yy_def[3399] =
1426             { 0,
1427             3376, 3376, 3375, 3, 3377, 3377, 3375, 7, 3375, 9,
1428             3375, 11, 3375, 13, 3375, 15, 3377, 3377, 3378, 3378,
1429             3379, 3379, 3380, 3380, 3377, 3377, 3381, 3381, 3377, 3377,
1430             3382, 3382, 3377, 3377, 3377, 3377, 3383, 3383, 3384, 3384,
1431             3377, 3377, 3385, 3385, 3375, 3375, 3375, 3375, 3375, 3375,
1432             3375, 3375, 3375, 3375, 3375, 3375, 3386, 3375, 3375, 3375,
1433             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1434             3375, 3387, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1435             3375, 3375, 3375, 3388, 3375, 3375, 3375, 3375, 3375, 3375,
1436             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1437              
1438             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1439             3375, 3375, 3375, 3375, 3375, 3375, 3389, 3375, 3375, 3375,
1440             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1441             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1442             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1443             3375, 3375, 3390, 3375, 3391, 3375, 3392, 3375, 3375, 3375,
1444             3375, 3375, 3375, 3375, 3375, 3393, 3393, 3393, 3393, 3375,
1445             3375, 3375, 3375, 3375, 3387, 3375, 3375, 3375, 3394, 3375,
1446             3375, 3375, 3375, 3375, 3375, 3395, 3395, 3395, 3395, 3395,
1447             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1448              
1449             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3375, 3375, 3395,
1450             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1451             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1452             3395, 3395, 3395, 3395, 3375, 3375, 3375, 3375, 3375, 3388,
1453             3375, 3375, 3375, 3375, 3375, 3375, 3389, 3375, 3375, 3375,
1454             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1455             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1456             3375, 3390, 3375, 3391, 3375, 3375, 3375, 3392, 3375, 3375,
1457             3375, 3396, 3393, 3375, 3393, 3393, 3393, 3375, 3375, 3375,
1458             3375, 3375, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1459              
1460             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1461             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1462             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1463             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1464             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1465             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1466             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1467             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1468             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1469             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1470              
1471             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1472             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1473             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1474             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1475             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1476             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1477             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1478             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1479             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1480             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1481              
1482             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1483             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1484             3395, 3395, 3395, 3395, 3375, 3375, 3375, 3375, 3375, 3375,
1485             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1486             3375, 3375, 3396, 3393, 3393, 3393, 3375, 3375, 3375, 3395,
1487             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1488             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1489             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1490             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1491             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1492              
1493             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1494             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1495             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1496             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1497             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1498             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1499             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1500             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1501             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1502             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1503              
1504             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1505             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1506             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1507             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1508             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1509             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1510             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1511             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1512             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1513             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1514              
1515             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1516             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1517             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1518             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1519             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1520             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1521             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1522             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1523             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3375,
1524             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1525              
1526             3375, 3375, 3375, 3375, 3393, 3375, 3393, 3375, 3375, 3395,
1527             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1528             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1529             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1530             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1531             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1532             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1533             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1534             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1535             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1536              
1537             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1538             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1539             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1540             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1541             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1542             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1543             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1544             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1545             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1546             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1547              
1548             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1549             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1550             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1551             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1552             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1553             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1554             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1555             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1556             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1557             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1558              
1559             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1560             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1561             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1562             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1563             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1564             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1565             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1566             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3375, 3375, 3375,
1567             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1568             3375, 3393, 3393, 3375, 3395, 3395, 3395, 3395, 3395, 3395,
1569              
1570             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1571             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1572             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1573             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1574             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1575             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1576             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1577             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1578             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1579             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1580              
1581             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1582             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1583             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1584             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1585             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1586             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1587             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1588             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1589             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1590             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1591              
1592             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1593             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1594             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1595             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1596             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1597             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1598             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1599             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1600             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1601             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1602              
1603             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1604             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1605             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1606             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1607             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1608             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1609             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1610             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1611             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1612             3375, 3375, 3375, 3375, 3375, 3375, 3395, 3395, 3395, 3395,
1613              
1614             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1615             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1616             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1617             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1618             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1619             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1620             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1621             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1622             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1623             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1624              
1625             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1626             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1627             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1628             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1629             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1630             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1631             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1632             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1633             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1634             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1635              
1636             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1637             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1638             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1639             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1640             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1641             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1642             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1643             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1644             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1645             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1646              
1647             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1648             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1649             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1650             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1651             3395, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1652             3375, 3375, 3375, 3375, 3395, 3395, 3395, 3395, 3395, 3395,
1653             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1654             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1655             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1656             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1657              
1658             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1659             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1660             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1661             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1662             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1663             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1664             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1665             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1666             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1667             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1668              
1669             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1670             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1671             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1672             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1673             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1674             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1675             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1676             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1677             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1678             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1679              
1680             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1681             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1682             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1683             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1684             3395, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1685             3375, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1686             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1687             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1688             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1689             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1690              
1691             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1692             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1693             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1694             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1695             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1696             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1697             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1698             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1699             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1700             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1701              
1702             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1703             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1704             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1705             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1706             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1707             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1708             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1709             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1710             3395, 3395, 3395, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1711             3375, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1712              
1713             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1714             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1715             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1716             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1717             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1718             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1719             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1720             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1721             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1722             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1723              
1724             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1725             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1726             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1727             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1728             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1729             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1730             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1731             3395, 3395, 3375, 3375, 3395, 3395, 3395, 3395, 3395, 3395,
1732             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1733             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1734              
1735             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1736             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1737             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1738             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1739             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1740             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1741             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1742             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1743             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1744             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1745              
1746             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1747             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3375, 3395, 3395,
1748             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1749             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1750             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1751             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1752             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1753             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1754             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1755             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1756              
1757             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1758             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1759             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1760             3395, 3395, 3395, 3375, 3395, 3395, 3395, 3395, 3395, 3395,
1761             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1762             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1763             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1764             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1765             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1766             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1767              
1768             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1769             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1770             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3375, 3395, 3395,
1771             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1772             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1773             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1774             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1775             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1776             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1777             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1778              
1779             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1780             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1781             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1782             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1783             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1784             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1785             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1786             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1787             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1788             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1789              
1790             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1791             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1792             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3397, 3398, 3395,
1793             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1794             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1795             3395, 3397, 3375, 3398, 3375, 3395, 3395, 3395, 3395, 3395,
1796             3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395, 3395,
1797             3395, 3395, 3395, 3395, 0, 3375, 3375, 3375, 3375, 3375,
1798             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
1799             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375
1800              
1801             } ;
1802              
1803             static const flex_int16_t yy_nxt[4195] =
1804             { 0,
1805             3375, 3375, 47, 47, 3375, 3375, 48, 48, 3375, 163,
1806             161, 163, 3375, 163, 172, 163, 173, 3375, 174, 242,
1807             242, 242, 242, 242, 242, 3375, 3375, 49, 49, 243,
1808             243, 243, 243, 243, 243, 244, 244, 244, 244, 244,
1809             244, 245, 245, 245, 3375, 3375, 162, 50, 50, 51,
1810             52, 53, 52, 54, 55, 56, 51, 57, 58, 59,
1811             60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1812             70, 71, 72, 72, 72, 72, 72, 72, 72, 72,
1813             72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1814             72, 72, 72, 72, 72, 73, 74, 75, 76, 77,
1815              
1816             78, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1817             72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1818             72, 72, 72, 72, 72, 72, 72, 79, 80, 81,
1819             82, 85, 86, 87, 86, 85, 85, 85, 85, 85,
1820             85, 85, 85, 85, 85, 85, 85, 85, 85, 88,
1821             85, 85, 85, 85, 89, 89, 89, 89, 89, 89,
1822             89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1823             89, 89, 89, 89, 89, 89, 89, 85, 85, 85,
1824             85, 85, 85, 90, 90, 90, 90, 90, 90, 90,
1825             90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1826              
1827             90, 90, 90, 90, 90, 90, 90, 90, 90, 91,
1828             85, 92, 85, 93, 94, 95, 94, 93, 93, 93,
1829             93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1830             93, 93, 93, 93, 93, 93, 96, 96, 96, 96,
1831             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1832             96, 96, 96, 96, 96, 96, 96, 96, 96, 93,
1833             93, 93, 93, 93, 93, 96, 96, 96, 96, 96,
1834             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1835             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1836             96, 97, 93, 98, 93, 99, 100, 101, 100, 99,
1837              
1838             99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1839             99, 99, 99, 99, 99, 99, 99, 99, 102, 102,
1840             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1841             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1842             102, 99, 99, 99, 99, 99, 99, 102, 102, 102,
1843             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1844             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1845             102, 102, 102, 103, 99, 104, 99, 105, 106, 107,
1846             106, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1847             105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1848              
1849             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1850             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1851             108, 108, 108, 105, 105, 105, 105, 105, 105, 108,
1852             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1853             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1854             108, 108, 108, 108, 108, 109, 105, 110, 105, 111,
1855             112, 113, 112, 111, 111, 111, 111, 111, 111, 111,
1856             111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1857             111, 111, 114, 114, 114, 114, 114, 114, 114, 114,
1858             114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1859              
1860             114, 114, 114, 114, 114, 111, 111, 111, 111, 111,
1861             111, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1862             114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1863             114, 114, 114, 114, 114, 114, 114, 115, 111, 116,
1864             111, 119, 120, 119, 119, 120, 119, 125, 126, 125,
1865             125, 126, 125, 131, 132, 131, 83, 83, 121, 83,
1866             83, 121, 304, 1290, 127, 305, 165, 127, 268, 269,
1867             133, 131, 132, 131, 141, 142, 141, 141, 142, 141,
1868             144, 144, 144, 144, 144, 144, 270, 281, 133, 1291,
1869             147, 147, 147, 147, 147, 147, 245, 245, 245, 595,
1870              
1871             153, 153, 167, 155, 155, 284, 238, 238, 238, 246,
1872             246, 246, 596, 168, 246, 246, 246, 171, 122, 143,
1873             123, 122, 143, 123, 128, 145, 129, 128, 145, 129,
1874             134, 298, 135, 169, 249, 249, 249, 249, 249, 249,
1875             251, 251, 251, 148, 282, 299, 148, 284, 134, 286,
1876             135, 300, 149, 527, 1295, 149, 331, 146, 150, 528,
1877             146, 150, 251, 251, 251, 253, 253, 253, 332, 151,
1878             1298, 284, 151, 176, 177, 178, 179, 180, 181, 407,
1879             335, 182, 336, 408, 183, 239, 253, 253, 253, 184,
1880             185, 1299, 285, 186, 187, 188, 189, 190, 191, 192,
1881              
1882             191, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1883             202, 203, 204, 205, 206, 207, 287, 208, 209, 266,
1884             266, 266, 210, 211, 212, 213, 214, 215, 216, 217,
1885             218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1886             228, 229, 230, 231, 232, 233, 191, 234, 235, 236,
1887             237, 255, 266, 266, 266, 267, 267, 267, 271, 271,
1888             271, 276, 276, 276, 172, 1300, 173, 294, 291, 256,
1889             561, 295, 301, 284, 612, 277, 302, 296, 284, 257,
1890             258, 259, 303, 297, 562, 260, 307, 308, 309, 613,
1891             337, 261, 311, 284, 262, 318, 312, 263, 319, 791,
1892              
1893             264, 321, 320, 313, 322, 323, 314, 792, 326, 333,
1894             315, 327, 328, 544, 324, 325, 334, 338, 546, 339,
1895             340, 329, 330, 345, 346, 347, 1301, 348, 352, 349,
1896             350, 351, 353, 281, 354, 542, 355, 341, 383, 356,
1897             545, 631, 357, 359, 384, 632, 360, 361, 358, 385,
1898             362, 363, 386, 534, 364, 387, 535, 365, 238, 238,
1899             238, 366, 536, 367, 368, 369, 584, 370, 371, 376,
1900             377, 378, 372, 379, 380, 373, 1302, 381, 374, 619,
1901             585, 382, 468, 388, 375, 389, 620, 390, 609, 391,
1902             509, 395, 396, 610, 469, 397, 392, 743, 470, 242,
1903              
1904             242, 242, 393, 400, 394, 398, 401, 744, 399, 617,
1905             402, 403, 404, 505, 618, 1303, 510, 405, 409, 511,
1906             512, 506, 172, 507, 173, 508, 549, 808, 410, 411,
1907             412, 413, 414, 415, 416, 417, 418, 239, 809, 419,
1908             420, 421, 422, 642, 425, 643, 600, 423, 426, 424,
1909             601, 427, 428, 243, 243, 243, 513, 602, 429, 430,
1910             514, 450, 701, 451, 431, 432, 452, 515, 453, 516,
1911             433, 454, 455, 589, 434, 456, 590, 702, 457, 458,
1912             665, 459, 626, 627, 435, 606, 436, 634, 437, 607,
1913             438, 591, 439, 635, 666, 440, 441, 1304, 442, 443,
1914              
1915             608, 444, 445, 446, 447, 448, 449, 460, 244, 244,
1916             244, 461, 699, 770, 462, 463, 673, 700, 464, 465,
1917             245, 245, 245, 674, 466, 467, 471, 246, 246, 246,
1918             249, 249, 249, 251, 251, 251, 472, 473, 474, 675,
1919             644, 475, 771, 476, 477, 614, 676, 478, 479, 615,
1920             480, 645, 646, 481, 484, 482, 485, 483, 740, 486,
1921             487, 741, 616, 488, 489, 713, 714, 490, 491, 750,
1922             492, 493, 494, 517, 495, 496, 497, 681, 518, 498,
1923             499, 758, 500, 501, 253, 253, 253, 751, 772, 502,
1924             622, 682, 503, 266, 266, 266, 759, 504, 623, 519,
1925              
1926             520, 624, 625, 521, 522, 267, 267, 267, 1214, 523,
1927             271, 271, 271, 276, 276, 276, 636, 773, 637, 648,
1928             638, 651, 649, 639, 640, 654, 652, 277, 1215, 660,
1929             661, 655, 662, 650, 653, 669, 687, 656, 810, 695,
1930             688, 696, 703, 657, 718, 704, 658, 724, 725, 670,
1931             811, 671, 728, 672, 689, 719, 729, 720, 726, 705,
1932             731, 706, 753, 763, 774, 737, 1305, 732, 733, 738,
1933             730, 766, 767, 739, 776, 788, 783, 781, 825, 734,
1934             764, 782, 775, 784, 768, 814, 796, 821, 777, 789,
1935             797, 754, 826, 815, 816, 817, 798, 755, 827, 833,
1936              
1937             831, 841, 842, 845, 828, 829, 834, 756, 832, 835,
1938             847, 850, 843, 284, 757, 844, 822, 848, 823, 853,
1939             876, 851, 857, 854, 836, 837, 284, 838, 855, 856,
1940             858, 859, 846, 864, 877, 824, 957, 868, 865, 1306,
1941             869, 866, 1307, 878, 870, 879, 1308, 867, 871, 909,
1942             1015, 549, 958, 959, 1022, 872, 912, 873, 880, 905,
1943             1016, 913, 967, 1045, 1009, 1023, 1010, 914, 1052, 968,
1944             972, 1046, 907, 1096, 973, 1041, 974, 1011, 1053, 975,
1945             1311, 1042, 976, 1097, 969, 977, 978, 979, 980, 981,
1946             982, 988, 989, 990, 991, 992, 1056, 1005, 1057, 1211,
1947              
1948             1212, 1061, 1031, 993, 1062, 1063, 994, 1077, 1006, 995,
1949             996, 1007, 1064, 1032, 1312, 1008, 1033, 1071, 1078, 1065,
1950             1167, 1092, 1072, 1093, 1098, 1125, 1099, 1132, 1136, 1143,
1951             1144, 1126, 1127, 1137, 1159, 1177, 1220, 1168, 1133, 1169,
1952             1134, 1191, 1233, 1145, 1234, 1160, 1235, 1178, 1241, 284,
1953             1251, 1221, 1192, 1222, 284, 1193, 1258, 1236, 172, 1194,
1954             1294, 1309, 1259, 1242, 1252, 1260, 1296, 1261, 1313, 1262,
1955             1263, 1264, 1297, 1314, 1315, 1316, 1317, 1318, 1310, 1319,
1956             1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
1957             1330, 1331, 1332, 1333, 1292, 1334, 1335, 1336, 1337, 1293,
1958              
1959             1338, 1339, 1340, 1341, 1344, 1345, 1346, 1347, 1348, 1356,
1960             1349, 1351, 1354, 1357, 1342, 1350, 1362, 1343, 1355, 1352,
1961             1360, 1363, 1364, 1361, 1365, 1358, 1366, 1367, 1368, 1359,
1962             1369, 1353, 1370, 1371, 1372, 1374, 1375, 1376, 1373, 1377,
1963             1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1388,
1964             1389, 1390, 1391, 1393, 1395, 1387, 1396, 1394, 1397, 1398,
1965             1392, 1399, 1400, 1401, 1402, 1405, 1406, 1407, 1408, 1409,
1966             1403, 1410, 1411, 1412, 1404, 1413, 1414, 1415, 1416, 1417,
1967             1418, 1422, 1423, 1419, 1424, 1425, 1426, 1420, 1427, 1428,
1968             1429, 1430, 1431, 1432, 1433, 1434, 1435, 1437, 1438, 1439,
1969              
1970             1421, 1436, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
1971             1448, 1449, 1450, 1451, 1452, 1454, 1455, 1456, 1457, 1458,
1972             1453, 1459, 1460, 1461, 1463, 1464, 1465, 1466, 1467, 1468,
1973             1469, 1470, 1471, 1472, 1462, 1473, 1479, 1480, 1485, 1486,
1974             1481, 1482, 1474, 1483, 1487, 1488, 1475, 1489, 1490, 1491,
1975             1492, 1493, 1476, 1477, 1478, 1484, 1494, 1496, 1497, 1498,
1976             1499, 1500, 1495, 1501, 1502, 1510, 1511, 1503, 1512, 1513,
1977             1504, 1514, 1515, 1505, 1516, 1517, 1506, 1518, 1519, 1507,
1978             1508, 1509, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
1979             1528, 1530, 1529, 1531, 1533, 1532, 1534, 1535, 1536, 1537,
1980              
1981             1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
1982             1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557,
1983             1558, 1559, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1574,
1984             1570, 1560, 1571, 1575, 1576, 1577, 1578, 1561, 1562, 1579,
1985             1580, 1572, 1581, 1582, 1583, 1584, 1573, 1585, 1586, 1587,
1986             1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
1987             1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
1988             1608, 1609, 1610, 1611, 1613, 1614, 1615, 1616, 1617, 1619,
1989             1624, 1620, 1625, 1621, 1626, 1627, 1628, 1612, 1629, 1630,
1990             1631, 1632, 1622, 1618, 1633, 1634, 1635, 1623, 1636, 1637,
1991              
1992             1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647,
1993             1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657,
1994             1658, 1659, 1661, 1662, 1664, 1666, 1667, 1668, 1669, 1675,
1995             1660, 1670, 1671, 1676, 1665, 1663, 1677, 1672, 1678, 1679,
1996             1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1673,
1997             1689, 1674, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697,
1998             1698, 1701, 1702, 1703, 1699, 1704, 1705, 1706, 1707, 1708,
1999             1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1700, 1717,
2000             1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727,
2001             1729, 1730, 1728, 1731, 1732, 1733, 1734, 1735, 1736, 1737,
2002              
2003             1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
2004             1748, 1749, 1752, 1753, 1754, 1755, 1756, 1757, 1750, 1751,
2005             1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767,
2006             1768, 1769, 1770, 1771, 1772, 1773, 1774, 1777, 1778, 1779,
2007             1775, 1780, 1781, 1784, 1785, 1786, 1787, 1788, 1789, 1790,
2008             1791, 1792, 1793, 1794, 1776, 1795, 1796, 1797, 1798, 1782,
2009             1783, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807,
2010             1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816, 1817, 1818,
2011             1819, 1820, 1821, 1824, 1822, 1825, 1826, 1827, 1812, 1823,
2012             1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1837, 1838,
2013              
2014             1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1849,
2015             1850, 1851, 1852, 1836, 1853, 1848, 1854, 1855, 1856, 1857,
2016             1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867,
2017             1868, 1869, 1872, 1874, 1875, 1870, 1876, 1877, 1871, 1882,
2018             1878, 1884, 1883, 1873, 1879, 1885, 1886, 1887, 1888, 1889,
2019             1891, 1880, 1881, 1893, 1894, 1890, 1895, 1896, 1897, 1898,
2020             1899, 1900, 1901, 1902, 1903, 1904, 1906, 1892, 1907, 1908,
2021             1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918,
2022             1919, 1920, 1905, 1921, 1922, 1923, 1924, 1925, 1926, 1927,
2023             1928, 1930, 1931, 1932, 1929, 1933, 1934, 1935, 1936, 1937,
2024              
2025             1938, 1939, 1940, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
2026             1949, 1955, 1956, 1957, 1958, 1959, 1960, 1950, 1961, 1962,
2027             1941, 1951, 1963, 1964, 1965, 1966, 1967, 1952, 1953, 1954,
2028             1968, 1970, 1972, 1969, 1973, 1974, 1975, 1976, 1977, 1978,
2029             1979, 1980, 1981, 1982, 1971, 1983, 1984, 1985, 1987, 1988,
2030             1989, 1990, 1991, 1992, 1995, 1993, 1996, 1998, 1999, 2000,
2031             2001, 2002, 2003, 2004, 2010, 1986, 1994, 2005, 2011, 2012,
2032             2013, 2014, 2015, 2016, 1997, 2017, 2018, 2006, 2019, 2020,
2033             2007, 2021, 2022, 2008, 2009, 2023, 2025, 2026, 2027, 2028,
2034             2029, 2030, 2031, 2032, 2033, 2035, 2036, 2038, 2040, 2024,
2035              
2036             2041, 2042, 2037, 2043, 2044, 2045, 2046, 2047, 2048, 2049,
2037             2050, 2034, 2051, 2052, 2039, 2053, 2054, 1696, 2055, 2056,
2038             2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066,
2039             2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076,
2040             2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086,
2041             2087, 2088, 2089, 2090, 2092, 2093, 2094, 2095, 2096, 2097,
2042             2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107,
2043             2109, 2110, 2108, 2091, 2111, 2112, 2113, 2114, 2115, 2116,
2044             2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126,
2045             2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2136, 2137,
2046              
2047             2138, 2139, 2140, 2141, 2135, 2142, 2143, 2144, 2145, 2146,
2048             2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156,
2049             2157, 2158, 2159, 2160, 2161, 2162, 2164, 2165, 2166, 2167,
2050             2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177,
2051             2163, 2178, 2179, 2180, 2182, 2183, 2184, 2185, 2186, 2187,
2052             2188, 2189, 2190, 2181, 2191, 2192, 2193, 2194, 2195, 2196,
2053             2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206,
2054             2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2216, 2217,
2055             2218, 2219, 2220, 2221, 2222, 2223, 2224, 2226, 2215, 2225,
2056             2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236,
2057              
2058             2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246,
2059             2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256,
2060             2257, 2258, 2259, 2261, 2262, 2263, 2264, 2265, 2266, 2260,
2061             2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276,
2062             2278, 2279, 2280, 2281, 2282, 2283, 2284, 2277, 2286, 2287,
2063             2288, 2289, 2290, 2291, 2292, 2285, 2294, 2295, 2296, 2297,
2064             2298, 2299, 2300, 2293, 2302, 2303, 2304, 2305, 2306, 2301,
2065             2307, 2308, 2310, 2311, 2312, 2309, 2313, 2314, 2315, 2316,
2066             2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326,
2067             2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336,
2068              
2069             2337, 2338, 2339, 2340, 2342, 2343, 2344, 2345, 2346, 2347,
2070             2348, 2349, 2350, 2351, 2341, 2352, 2353, 2354, 2355, 2356,
2071             2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366,
2072             2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376,
2073             2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386,
2074             2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2397, 2395,
2075             2396, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406,
2076             2408, 2409, 2407, 2410, 2411, 2412, 2413, 2414, 2415, 2416,
2077             2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426,
2078             2427, 2428, 2430, 2431, 2432, 2433, 2429, 2434, 2435, 2436,
2079              
2080             2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446,
2081             2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456,
2082             2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466,
2083             2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476,
2084             2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486,
2085             2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496,
2086             2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506,
2087             2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
2088             2517, 2518, 2519, 2520, 2521, 2523, 2524, 2525, 2526, 2527,
2089             2522, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536,
2090              
2091             2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546,
2092             2547, 2548, 2549, 2550, 2551, 2552, 2553, 2555, 2556, 2557,
2093             2558, 2559, 2554, 2560, 2561, 2562, 2563, 2564, 2565, 2566,
2094             2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576,
2095             2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2096             2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596,
2097             2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606,
2098             2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616,
2099             2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626,
2100             2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636,
2101              
2102             2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646,
2103             2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656,
2104             2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666,
2105             2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676,
2106             2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686,
2107             2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696,
2108             2697, 2698, 2699, 2700, 2702, 2703, 2704, 2705, 2706, 2707,
2109             2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717,
2110             2701, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726,
2111             2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736,
2112              
2113             2737, 2738, 2739, 2740, 2741, 2745, 2746, 2747, 2748, 2749,
2114             2750, 2751, 2742, 2752, 2753, 2754, 2755, 2743, 2744, 2756,
2115             2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766,
2116             2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776,
2117             2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786,
2118             2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796,
2119             2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806,
2120             2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816,
2121             2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2827, 2828,
2122             2829, 2830, 2831, 2832, 2825, 2833, 2834, 2835, 2837, 2838,
2123              
2124             2839, 2840, 2841, 2836, 2842, 2826, 2843, 2844, 2845, 2846,
2125             2847, 2848, 2849, 2850, 2851, 2853, 2854, 2855, 2856, 2857,
2126             2852, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2866, 2867,
2127             2868, 2869, 2870, 2871, 2865, 2872, 2873, 2874, 2875, 2876,
2128             2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886,
2129             2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896,
2130             2898, 2899, 2900, 2901, 2903, 2904, 2905, 2906, 2907, 2902,
2131             2908, 2909, 2910, 2911, 2912, 2913, 2897, 2914, 2915, 2916,
2132             2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926,
2133             2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936,
2134              
2135             2937, 2938, 2939, 2940, 2943, 2944, 2945, 2946, 2947, 2948,
2136             2949, 2950, 2951, 2941, 2952, 2953, 2954, 2955, 2956, 2942,
2137             2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966,
2138             2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976,
2139             2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986,
2140             2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996,
2141             2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006,
2142             3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016,
2143             3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026,
2144             3027, 3028, 3029, 3030, 3032, 3033, 3034, 3035, 3036, 3037,
2145              
2146             3031, 3038, 3039, 3041, 3042, 3043, 3045, 3046, 3047, 3048,
2147             3049, 3044, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3040,
2148             3058, 3059, 3060, 3061, 3057, 3062, 3063, 3064, 3066, 3067,
2149             3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077,
2150             3078, 3079, 3080, 3081, 3065, 3082, 3083, 3084, 3085, 3086,
2151             3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096,
2152             3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106,
2153             3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116,
2154             3117, 3118, 3119, 3120, 3122, 3123, 3124, 3125, 3126, 3121,
2155             3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136,
2156              
2157             3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146,
2158             3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156,
2159             3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166,
2160             3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176,
2161             3177, 3178, 3179, 3181, 3182, 3183, 3184, 3185, 3186, 3187,
2162             3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3180,
2163             3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206,
2164             3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3217, 3218,
2165             3219, 3220, 3221, 3222, 3223, 3215, 3224, 3225, 3226, 3227,
2166             3228, 3216, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236,
2167              
2168             3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246,
2169             3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256,
2170             3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266,
2171             3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276,
2172             3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286,
2173             3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296,
2174             3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306,
2175             3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316,
2176             3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326,
2177             3327, 3328, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337,
2178              
2179             3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347,
2180             3348, 3349, 3350, 3351, 3353, 3355, 3356, 3357, 3358, 3359,
2181             3360, 3361, 3362, 3329, 3363, 3364, 3365, 3366, 3367, 3353,
2182             3329, 3355, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 46,
2183             46, 46, 46, 46, 46, 46, 46, 46, 83, 83,
2184             83, 83, 83, 83, 83, 83, 83, 118, 118, 118,
2185             118, 118, 118, 118, 118, 118, 124, 124, 124, 124,
2186             124, 124, 124, 124, 124, 130, 130, 130, 130, 130,
2187             130, 130, 130, 130, 137, 137, 137, 137, 137, 137,
2188             137, 137, 137, 140, 140, 140, 140, 140, 140, 140,
2189              
2190             140, 140, 152, 152, 152, 152, 152, 152, 152, 152,
2191             152, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2192             157, 157, 157, 157, 157, 157, 157, 157, 157, 166,
2193             1289, 1288, 166, 166, 166, 175, 175, 240, 240, 240,
2194             240, 1287, 240, 240, 247, 247, 247, 247, 247, 247,
2195             247, 247, 247, 272, 272, 272, 272, 272, 272, 272,
2196             272, 272, 274, 274, 274, 274, 274, 274, 274, 274,
2197             274, 278, 278, 278, 278, 278, 278, 278, 278, 278,
2198             283, 283, 283, 283, 283, 292, 292, 1286, 292, 292,
2199             292, 292, 292, 292, 191, 191, 543, 1285, 543, 3352,
2200              
2201             3352, 3352, 3352, 3352, 3352, 3352, 3352, 3352, 3354, 3354,
2202             3354, 3354, 3354, 3354, 3354, 3354, 3354, 1284, 1283, 1282,
2203             1281, 1280, 1279, 1278, 1277, 1276, 1275, 1274, 1273, 1272,
2204             1271, 1270, 1269, 1268, 1267, 1266, 1265, 1257, 1256, 1255,
2205             1254, 1253, 1250, 1249, 1248, 1247, 1246, 1245, 1244, 1243,
2206             1240, 1239, 1238, 1237, 1232, 1231, 1230, 1229, 1228, 1227,
2207             1226, 1225, 1224, 1223, 1219, 1218, 1217, 1216, 1213, 1210,
2208             1209, 1208, 1207, 1206, 1205, 1204, 1203, 1202, 1201, 1200,
2209             1199, 1198, 1197, 1196, 1195, 1190, 1189, 1188, 1187, 1186,
2210             1185, 1184, 1183, 1182, 1181, 1180, 1179, 1176, 1175, 1174,
2211              
2212             1173, 1172, 1171, 1170, 1166, 1165, 1164, 1163, 1162, 1161,
2213             1158, 1157, 1156, 1155, 1154, 1153, 1152, 1151, 1150, 1149,
2214             1148, 1147, 1146, 1142, 1141, 1140, 1139, 1138, 1135, 1131,
2215             1130, 1129, 1128, 1124, 1123, 1122, 1121, 1120, 1119, 1118,
2216             1117, 1116, 1115, 1114, 1113, 1112, 1111, 1110, 1109, 1108,
2217             1107, 1106, 1105, 1104, 1103, 1102, 1101, 1100, 1095, 1094,
2218             1091, 1090, 1089, 1088, 1087, 1086, 1085, 1084, 1083, 1082,
2219             1081, 1080, 1079, 1076, 1075, 1074, 1073, 1070, 1069, 1068,
2220             1067, 1066, 1060, 1059, 1058, 1055, 1054, 1051, 1050, 1049,
2221             1048, 1047, 1044, 1043, 1040, 1039, 1038, 1037, 1036, 1035,
2222              
2223             1034, 1030, 1029, 1028, 1027, 1026, 1025, 1024, 1021, 1020,
2224             1019, 1018, 1017, 1014, 1013, 1012, 1004, 1003, 1002, 1001,
2225             1000, 999, 998, 997, 987, 986, 985, 984, 983, 971,
2226             970, 966, 965, 964, 963, 962, 961, 960, 956, 955,
2227             954, 953, 952, 951, 950, 949, 948, 947, 946, 945,
2228             944, 943, 942, 941, 940, 939, 938, 937, 936, 935,
2229             934, 933, 932, 931, 930, 929, 928, 927, 926, 925,
2230             924, 923, 922, 921, 920, 919, 918, 917, 916, 915,
2231             911, 910, 908, 906, 904, 903, 902, 901, 900, 899,
2232             898, 897, 896, 895, 894, 893, 892, 891, 890, 889,
2233              
2234             888, 887, 886, 885, 884, 883, 882, 881, 875, 874,
2235             863, 862, 861, 860, 852, 849, 840, 839, 830, 820,
2236             819, 818, 813, 812, 807, 806, 805, 804, 803, 802,
2237             801, 800, 799, 795, 794, 793, 790, 787, 786, 785,
2238             780, 779, 778, 769, 765, 762, 761, 760, 752, 749,
2239             748, 747, 746, 745, 742, 736, 735, 727, 723, 722,
2240             721, 717, 716, 715, 712, 711, 710, 709, 708, 707,
2241             698, 697, 694, 693, 692, 691, 690, 686, 685, 684,
2242             683, 680, 679, 678, 677, 668, 667, 664, 663, 659,
2243             647, 641, 633, 630, 629, 628, 621, 611, 605, 604,
2244              
2245             603, 599, 598, 597, 594, 593, 592, 588, 587, 586,
2246             583, 582, 581, 580, 579, 578, 577, 576, 575, 574,
2247             573, 572, 571, 570, 569, 568, 567, 566, 565, 564,
2248             563, 560, 559, 558, 557, 556, 555, 554, 553, 552,
2249             551, 550, 290, 548, 547, 284, 279, 275, 273, 541,
2250             540, 539, 538, 537, 533, 532, 531, 530, 529, 526,
2251             525, 254, 252, 250, 248, 241, 524, 406, 344, 343,
2252             342, 317, 316, 310, 306, 293, 290, 289, 171, 288,
2253             284, 280, 279, 275, 273, 265, 254, 252, 250, 248,
2254             241, 171, 170, 164, 160, 159, 3375, 158, 158, 156,
2255              
2256             156, 139, 139, 138, 138, 136, 136, 117, 117, 84,
2257             84, 45, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2258             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2259             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2260             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2261             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2262             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2263             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2264             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2265             3375, 3375, 3375, 3375
2266              
2267             } ;
2268              
2269             static const flex_int16_t yy_chk[4195] =
2270             { 0,
2271             0, 0, 1, 2, 0, 0, 1, 2, 0, 52,
2272             50, 52, 0, 163, 67, 163, 67, 0, 67, 86,
2273             86, 86, 87, 87, 87, 0, 0, 1, 2, 94,
2274             94, 94, 95, 95, 95, 100, 100, 100, 101, 101,
2275             101, 106, 106, 106, 0, 0, 50, 1, 2, 3,
2276             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2277             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2278             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2279             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2280             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2281              
2282             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2283             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2284             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2285             3, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2286             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2287             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2288             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2289             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2290             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2291             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2292              
2293             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2294             7, 7, 7, 9, 9, 9, 9, 9, 9, 9,
2295             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2296             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2297             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2298             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2299             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2300             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2301             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2302             9, 9, 9, 9, 9, 11, 11, 11, 11, 11,
2303              
2304             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2305             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2306             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2307             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2308             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2309             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2310             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2311             11, 11, 11, 11, 11, 11, 11, 13, 13, 13,
2312             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2313             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2314              
2315             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2316             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2317             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2318             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2319             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2320             13, 13, 13, 13, 13, 13, 13, 13, 13, 15,
2321             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2322             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2323             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2324             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2325              
2326             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2327             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2328             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2329             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2330             15, 19, 19, 19, 20, 20, 20, 21, 21, 21,
2331             22, 22, 22, 23, 23, 23, 37, 38, 19, 39,
2332             40, 20, 190, 902, 21, 190, 57, 22, 145, 145,
2333             23, 24, 24, 24, 31, 31, 31, 32, 32, 32,
2334             33, 33, 33, 34, 34, 34, 145, 165, 24, 903,
2335             35, 35, 35, 36, 36, 36, 107, 107, 107, 340,
2336              
2337             37, 38, 57, 39, 40, 168, 79, 79, 79, 112,
2338             112, 112, 340, 57, 113, 113, 113, 909, 19, 31,
2339             19, 20, 32, 20, 21, 33, 21, 22, 34, 22,
2340             23, 188, 23, 57, 119, 119, 119, 120, 120, 120,
2341             125, 125, 125, 35, 165, 188, 36, 167, 24, 168,
2342             24, 188, 35, 257, 910, 36, 201, 33, 35, 257,
2343             34, 36, 126, 126, 126, 131, 131, 131, 201, 35,
2344             915, 169, 36, 74, 74, 74, 74, 74, 74, 220,
2345             203, 74, 203, 220, 74, 79, 132, 132, 132, 74,
2346             74, 916, 167, 74, 74, 74, 74, 74, 74, 74,
2347              
2348             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2349             74, 74, 74, 74, 74, 74, 169, 74, 74, 141,
2350             141, 141, 74, 74, 74, 74, 74, 74, 74, 74,
2351             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2352             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2353             74, 136, 142, 142, 142, 144, 144, 144, 147, 147,
2354             147, 156, 156, 156, 174, 917, 174, 187, 174, 136,
2355             304, 187, 189, 285, 352, 156, 189, 187, 287, 136,
2356             136, 136, 189, 187, 304, 136, 193, 193, 193, 352,
2357             204, 136, 195, 286, 136, 198, 195, 136, 198, 462,
2358              
2359             136, 199, 198, 195, 199, 199, 195, 462, 200, 202,
2360             195, 200, 200, 285, 199, 199, 202, 204, 287, 204,
2361             204, 200, 200, 210, 210, 210, 918, 210, 211, 210,
2362             210, 210, 211, 281, 211, 281, 211, 204, 215, 211,
2363             286, 362, 211, 212, 215, 362, 212, 212, 211, 215,
2364             212, 212, 215, 263, 212, 215, 263, 212, 238, 238,
2365             238, 212, 263, 212, 213, 213, 332, 213, 213, 214,
2366             214, 214, 213, 214, 214, 213, 919, 214, 213, 355,
2367             332, 214, 226, 216, 213, 216, 355, 216, 350, 216,
2368             231, 217, 217, 350, 226, 217, 216, 428, 226, 242,
2369              
2370             242, 242, 216, 218, 216, 217, 218, 428, 217, 354,
2371             218, 218, 218, 230, 354, 920, 231, 218, 221, 231,
2372             231, 230, 291, 230, 291, 230, 291, 476, 221, 221,
2373             221, 221, 221, 221, 221, 221, 221, 238, 476, 221,
2374             221, 221, 221, 367, 222, 367, 345, 221, 222, 221,
2375             345, 222, 222, 243, 243, 243, 232, 345, 222, 222,
2376             232, 224, 402, 224, 222, 223, 224, 232, 224, 232,
2377             223, 224, 224, 336, 223, 224, 336, 402, 224, 224,
2378             377, 224, 358, 358, 223, 349, 223, 364, 223, 349,
2379             223, 336, 223, 364, 377, 223, 223, 921, 223, 223,
2380              
2381             349, 223, 223, 223, 223, 223, 223, 225, 244, 244,
2382             244, 225, 401, 448, 225, 225, 381, 401, 225, 225,
2383             245, 245, 245, 381, 225, 225, 227, 246, 246, 246,
2384             249, 249, 249, 251, 251, 251, 227, 227, 227, 382,
2385             368, 227, 448, 227, 227, 353, 382, 227, 227, 353,
2386             227, 368, 368, 227, 228, 227, 228, 227, 426, 228,
2387             228, 426, 353, 228, 228, 410, 410, 228, 228, 435,
2388             228, 228, 228, 233, 228, 229, 229, 387, 233, 229,
2389             229, 438, 229, 229, 253, 253, 253, 435, 449, 229,
2390             357, 387, 229, 266, 266, 266, 438, 229, 357, 233,
2391              
2392             233, 357, 357, 233, 233, 267, 267, 267, 835, 233,
2393             271, 271, 271, 276, 276, 276, 365, 449, 365, 370,
2394             365, 371, 370, 365, 365, 372, 371, 276, 835, 374,
2395             374, 372, 374, 370, 371, 380, 392, 372, 477, 398,
2396             392, 398, 403, 372, 414, 403, 372, 419, 419, 380,
2397             477, 380, 421, 380, 392, 414, 421, 414, 419, 403,
2398             422, 403, 437, 443, 450, 425, 922, 422, 422, 425,
2399             421, 445, 445, 425, 451, 460, 456, 455, 486, 422,
2400             443, 455, 450, 456, 445, 480, 466, 485, 451, 460,
2401             466, 437, 486, 480, 481, 481, 466, 437, 487, 490,
2402              
2403             489, 494, 494, 495, 487, 487, 490, 437, 489, 491,
2404             496, 498, 494, 544, 437, 494, 485, 496, 485, 500,
2405             511, 498, 502, 500, 491, 491, 546, 491, 501, 501,
2406             502, 502, 495, 507, 511, 485, 606, 508, 507, 923,
2407             508, 507, 925, 512, 508, 512, 926, 507, 508, 549,
2408             643, 549, 606, 606, 649, 508, 552, 508, 512, 544,
2409             643, 552, 616, 672, 637, 649, 637, 552, 681, 616,
2410             619, 672, 546, 723, 619, 669, 619, 637, 681, 619,
2411             928, 669, 619, 723, 616, 619, 619, 619, 619, 619,
2412             619, 625, 625, 625, 625, 625, 685, 636, 685, 833,
2413              
2414             833, 690, 660, 625, 690, 690, 625, 704, 636, 625,
2415             625, 636, 690, 660, 929, 636, 660, 699, 704, 690,
2416             789, 719, 699, 719, 724, 755, 724, 760, 762, 768,
2417             768, 755, 755, 762, 782, 798, 840, 789, 760, 789,
2418             760, 815, 853, 768, 853, 782, 854, 798, 860, 905,
2419             869, 840, 815, 840, 907, 815, 875, 854, 908, 815,
2420             908, 927, 875, 860, 869, 875, 912, 875, 930, 875,
2421             875, 875, 912, 931, 932, 934, 935, 936, 927, 937,
2422             938, 939, 940, 941, 942, 943, 944, 946, 948, 949,
2423             951, 952, 953, 954, 905, 955, 956, 957, 958, 907,
2424              
2425             959, 960, 961, 963, 964, 965, 966, 969, 970, 974,
2426             971, 972, 973, 976, 963, 971, 979, 963, 973, 972,
2427             978, 980, 981, 978, 982, 976, 983, 984, 985, 976,
2428             986, 972, 987, 988, 989, 990, 991, 992, 989, 993,
2429             994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
2430             1004, 1005, 1006, 1007, 1008, 1002, 1010, 1007, 1011, 1012,
2431             1006, 1015, 1016, 1017, 1019, 1020, 1021, 1022, 1023, 1024,
2432             1019, 1025, 1026, 1027, 1019, 1028, 1029, 1031, 1032, 1034,
2433             1035, 1036, 1037, 1035, 1038, 1039, 1040, 1035, 1041, 1042,
2434             1043, 1044, 1045, 1046, 1047, 1048, 1049, 1051, 1053, 1054,
2435              
2436             1035, 1049, 1055, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
2437             1064, 1065, 1066, 1068, 1069, 1071, 1072, 1074, 1075, 1076,
2438             1069, 1077, 1078, 1079, 1080, 1082, 1083, 1084, 1085, 1086,
2439             1087, 1088, 1089, 1090, 1079, 1091, 1093, 1094, 1095, 1096,
2440             1094, 1094, 1091, 1094, 1097, 1098, 1091, 1100, 1101, 1102,
2441             1103, 1104, 1091, 1091, 1091, 1094, 1105, 1106, 1107, 1108,
2442             1109, 1110, 1105, 1111, 1111, 1112, 1113, 1111, 1114, 1115,
2443             1111, 1116, 1117, 1111, 1118, 1119, 1111, 1120, 1121, 1111,
2444             1111, 1111, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129,
2445             1130, 1132, 1130, 1133, 1134, 1133, 1136, 1137, 1138, 1139,
2446              
2447             1140, 1141, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
2448             1152, 1153, 1155, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
2449             1164, 1165, 1166, 1167, 1169, 1171, 1172, 1173, 1175, 1176,
2450             1175, 1165, 1175, 1177, 1178, 1179, 1180, 1165, 1165, 1181,
2451             1182, 1175, 1183, 1184, 1185, 1186, 1175, 1187, 1189, 1191,
2452             1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201,
2453             1202, 1203, 1204, 1205, 1206, 1208, 1209, 1210, 1211, 1212,
2454             1213, 1214, 1215, 1217, 1218, 1219, 1220, 1222, 1223, 1224,
2455             1225, 1224, 1226, 1224, 1227, 1229, 1230, 1217, 1231, 1232,
2456             1233, 1234, 1224, 1223, 1235, 1236, 1237, 1224, 1238, 1239,
2457              
2458             1240, 1241, 1242, 1243, 1244, 1246, 1247, 1248, 1249, 1250,
2459             1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260,
2460             1261, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1271,
2461             1261, 1270, 1270, 1272, 1264, 1263, 1273, 1270, 1274, 1275,
2462             1276, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1270,
2463             1286, 1270, 1287, 1288, 1290, 1291, 1292, 1293, 1294, 1298,
2464             1299, 1301, 1302, 1303, 1299, 1304, 1306, 1308, 1309, 1310,
2465             1311, 1312, 1315, 1316, 1317, 1319, 1320, 1323, 1299, 1324,
2466             1325, 1328, 1335, 1336, 1337, 1338, 1339, 1341, 1342, 1343,
2467             1344, 1345, 1343, 1346, 1347, 1348, 1349, 1350, 1351, 1352,
2468              
2469             1353, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
2470             1365, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1367, 1367,
2471             1374, 1375, 1377, 1378, 1379, 1380, 1381, 1382, 1384, 1386,
2472             1387, 1388, 1389, 1390, 1391, 1392, 1393, 1395, 1396, 1397,
2473             1393, 1398, 1399, 1400, 1401, 1402, 1403, 1405, 1406, 1407,
2474             1411, 1412, 1413, 1414, 1393, 1415, 1416, 1417, 1418, 1399,
2475             1399, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
2476             1428, 1429, 1430, 1431, 1433, 1434, 1435, 1436, 1437, 1441,
2477             1442, 1445, 1446, 1448, 1447, 1449, 1450, 1451, 1431, 1447,
2478             1452, 1453, 1454, 1457, 1458, 1459, 1461, 1462, 1463, 1464,
2479              
2480             1468, 1469, 1470, 1473, 1474, 1475, 1476, 1477, 1478, 1479,
2481             1480, 1481, 1482, 1462, 1483, 1478, 1484, 1485, 1486, 1487,
2482             1488, 1489, 1490, 1491, 1494, 1495, 1496, 1497, 1498, 1499,
2483             1500, 1501, 1502, 1503, 1504, 1501, 1505, 1506, 1501, 1508,
2484             1507, 1509, 1508, 1502, 1507, 1510, 1511, 1512, 1513, 1514,
2485             1515, 1507, 1507, 1516, 1517, 1514, 1519, 1521, 1522, 1523,
2486             1524, 1525, 1526, 1527, 1529, 1530, 1532, 1515, 1536, 1537,
2487             1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
2488             1548, 1550, 1530, 1551, 1553, 1554, 1555, 1557, 1558, 1559,
2489             1560, 1561, 1562, 1563, 1560, 1564, 1565, 1566, 1567, 1569,
2490              
2491             1570, 1571, 1572, 1573, 1575, 1576, 1578, 1580, 1581, 1583,
2492             1584, 1585, 1586, 1587, 1588, 1589, 1590, 1584, 1591, 1592,
2493             1572, 1584, 1593, 1595, 1596, 1597, 1598, 1584, 1584, 1584,
2494             1600, 1604, 1607, 1600, 1608, 1611, 1612, 1613, 1614, 1615,
2495             1616, 1617, 1618, 1619, 1604, 1620, 1621, 1622, 1623, 1624,
2496             1625, 1626, 1627, 1628, 1631, 1629, 1633, 1634, 1636, 1637,
2497             1638, 1639, 1640, 1641, 1647, 1622, 1629, 1643, 1648, 1649,
2498             1650, 1652, 1653, 1655, 1633, 1656, 1657, 1643, 1658, 1660,
2499             1643, 1661, 1662, 1643, 1643, 1663, 1664, 1665, 1668, 1670,
2500             1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1663,
2501              
2502             1680, 1681, 1677, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
2503             1689, 1675, 1690, 1691, 1678, 1692, 1693, 1696, 1698, 1699,
2504             1700, 1701, 1702, 1703, 1704, 1705, 1707, 1708, 1709, 1710,
2505             1712, 1713, 1716, 1717, 1718, 1720, 1724, 1725, 1726, 1727,
2506             1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1737, 1739,
2507             1740, 1741, 1742, 1743, 1744, 1745, 1746, 1748, 1749, 1750,
2508             1751, 1752, 1757, 1758, 1760, 1761, 1762, 1763, 1766, 1768,
2509             1769, 1770, 1768, 1743, 1771, 1772, 1773, 1774, 1775, 1776,
2510             1777, 1779, 1780, 1781, 1782, 1783, 1784, 1786, 1787, 1788,
2511             1789, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
2512              
2513             1800, 1801, 1803, 1804, 1797, 1805, 1806, 1808, 1809, 1810,
2514             1811, 1812, 1814, 1815, 1816, 1818, 1819, 1820, 1822, 1823,
2515             1824, 1826, 1827, 1828, 1829, 1831, 1832, 1833, 1834, 1835,
2516             1836, 1838, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849,
2517             1831, 1850, 1851, 1852, 1853, 1854, 1858, 1859, 1860, 1861,
2518             1862, 1863, 1864, 1852, 1865, 1867, 1871, 1872, 1873, 1874,
2519             1876, 1878, 1879, 1880, 1882, 1885, 1886, 1889, 1890, 1891,
2520             1892, 1893, 1895, 1896, 1897, 1898, 1899, 1900, 1902, 1903,
2521             1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1900, 1910,
2522             1912, 1913, 1914, 1917, 1918, 1919, 1920, 1921, 1922, 1924,
2523              
2524             1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936,
2525             1937, 1938, 1940, 1941, 1942, 1943, 1945, 1949, 1950, 1951,
2526             1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1954,
2527             1961, 1962, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
2528             1972, 1973, 1974, 1975, 1978, 1979, 1980, 1971, 1981, 1982,
2529             1983, 1985, 1986, 1987, 1988, 1980, 1989, 1990, 1993, 1994,
2530             1995, 1996, 1997, 1988, 1998, 2001, 2002, 2003, 2004, 1997,
2531             2005, 2006, 2007, 2008, 2009, 2006, 2010, 2012, 2013, 2014,
2532             2015, 2016, 2017, 2018, 2020, 2022, 2023, 2024, 2025, 2026,
2533             2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
2534              
2535             2038, 2039, 2040, 2041, 2042, 2043, 2044, 2046, 2048, 2049,
2536             2050, 2051, 2053, 2054, 2041, 2055, 2056, 2057, 2059, 2061,
2537             2062, 2063, 2064, 2065, 2066, 2067, 2068, 2070, 2072, 2073,
2538             2074, 2075, 2076, 2077, 2078, 2080, 2083, 2084, 2086, 2088,
2539             2089, 2090, 2091, 2093, 2094, 2095, 2096, 2097, 2098, 2099,
2540             2100, 2101, 2102, 2104, 2105, 2106, 2107, 2108, 2110, 2108,
2541             2108, 2111, 2112, 2113, 2114, 2115, 2116, 2118, 2119, 2120,
2542             2121, 2122, 2120, 2123, 2124, 2125, 2126, 2128, 2130, 2131,
2543             2132, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
2544             2145, 2146, 2147, 2148, 2149, 2150, 2146, 2151, 2152, 2153,
2545              
2546             2154, 2155, 2156, 2158, 2159, 2160, 2161, 2162, 2164, 2165,
2547             2166, 2167, 2168, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
2548             2177, 2178, 2180, 2181, 2185, 2186, 2187, 2188, 2189, 2190,
2549             2192, 2195, 2196, 2197, 2198, 2200, 2202, 2203, 2204, 2205,
2550             2206, 2207, 2208, 2212, 2213, 2214, 2215, 2217, 2218, 2219,
2551             2220, 2221, 2223, 2224, 2225, 2226, 2228, 2229, 2233, 2234,
2552             2236, 2237, 2238, 2239, 2240, 2243, 2246, 2247, 2248, 2249,
2553             2250, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261,
2554             2262, 2263, 2264, 2268, 2269, 2272, 2273, 2274, 2275, 2276,
2555             2269, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285,
2556              
2557             2286, 2287, 2288, 2289, 2290, 2292, 2293, 2296, 2297, 2298,
2558             2299, 2300, 2301, 2302, 2304, 2305, 2306, 2307, 2308, 2309,
2559             2310, 2311, 2306, 2312, 2314, 2315, 2317, 2318, 2319, 2320,
2560             2321, 2322, 2323, 2324, 2325, 2326, 2328, 2330, 2332, 2333,
2561             2334, 2335, 2336, 2337, 2338, 2340, 2341, 2342, 2343, 2344,
2562             2345, 2346, 2348, 2349, 2350, 2352, 2355, 2357, 2358, 2359,
2563             2360, 2361, 2362, 2363, 2364, 2366, 2367, 2368, 2369, 2370,
2564             2372, 2373, 2374, 2375, 2377, 2380, 2383, 2384, 2385, 2386,
2565             2387, 2388, 2393, 2394, 2395, 2396, 2399, 2401, 2404, 2405,
2566             2406, 2407, 2409, 2410, 2411, 2412, 2414, 2415, 2416, 2418,
2567              
2568             2419, 2420, 2421, 2422, 2423, 2426, 2428, 2429, 2430, 2431,
2569             2432, 2433, 2434, 2437, 2438, 2439, 2440, 2441, 2442, 2443,
2570             2444, 2445, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456,
2571             2458, 2459, 2460, 2461, 2462, 2464, 2465, 2466, 2467, 2471,
2572             2473, 2476, 2477, 2478, 2479, 2480, 2482, 2483, 2484, 2485,
2573             2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495,
2574             2496, 2497, 2498, 2499, 2501, 2503, 2504, 2505, 2506, 2508,
2575             2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2520,
2576             2499, 2521, 2522, 2525, 2526, 2527, 2528, 2529, 2530, 2531,
2577             2532, 2534, 2535, 2536, 2538, 2539, 2540, 2542, 2543, 2545,
2578              
2579             2546, 2547, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556,
2580             2557, 2558, 2551, 2559, 2561, 2562, 2563, 2551, 2551, 2564,
2581             2566, 2567, 2569, 2570, 2572, 2573, 2574, 2575, 2576, 2577,
2582             2578, 2579, 2580, 2581, 2582, 2583, 2588, 2590, 2592, 2594,
2583             2596, 2597, 2598, 2599, 2600, 2601, 2603, 2607, 2608, 2610,
2584             2612, 2613, 2614, 2615, 2616, 2619, 2620, 2621, 2622, 2624,
2585             2625, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635,
2586             2636, 2637, 2639, 2640, 2641, 2643, 2644, 2647, 2648, 2652,
2587             2655, 2656, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665,
2588             2666, 2667, 2669, 2671, 2663, 2672, 2673, 2674, 2676, 2677,
2589              
2590             2678, 2679, 2680, 2674, 2681, 2663, 2682, 2683, 2684, 2686,
2591             2687, 2690, 2692, 2693, 2695, 2696, 2698, 2700, 2701, 2702,
2592             2695, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712,
2593             2713, 2714, 2715, 2716, 2710, 2718, 2719, 2720, 2721, 2722,
2594             2723, 2725, 2726, 2727, 2728, 2730, 2731, 2732, 2733, 2735,
2595             2738, 2739, 2741, 2742, 2744, 2745, 2746, 2747, 2748, 2749,
2596             2751, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2754,
2597             2761, 2764, 2765, 2766, 2767, 2768, 2749, 2769, 2770, 2771,
2598             2772, 2774, 2775, 2776, 2777, 2779, 2781, 2782, 2783, 2784,
2599             2785, 2786, 2787, 2788, 2789, 2790, 2792, 2794, 2795, 2796,
2600              
2601             2797, 2798, 2799, 2801, 2802, 2803, 2804, 2805, 2806, 2807,
2602             2808, 2809, 2810, 2801, 2811, 2813, 2814, 2815, 2817, 2801,
2603             2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827,
2604             2828, 2829, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2841,
2605             2842, 2843, 2844, 2845, 2847, 2848, 2849, 2851, 2852, 2853,
2606             2854, 2855, 2856, 2857, 2859, 2860, 2861, 2862, 2863, 2864,
2607             2865, 2866, 2867, 2868, 2869, 2870, 2872, 2874, 2876, 2878,
2608             2884, 2885, 2887, 2889, 2890, 2891, 2892, 2893, 2894, 2896,
2609             2897, 2898, 2899, 2900, 2901, 2902, 2906, 2907, 2908, 2910,
2610             2911, 2912, 2913, 2915, 2916, 2917, 2918, 2920, 2921, 2922,
2611              
2612             2915, 2928, 2929, 2930, 2932, 2933, 2937, 2940, 2941, 2942,
2613             2943, 2933, 2944, 2946, 2947, 2948, 2949, 2950, 2951, 2929,
2614             2954, 2956, 2957, 2958, 2951, 2959, 2960, 2961, 2962, 2963,
2615             2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973,
2616             2974, 2975, 2976, 2979, 2961, 2980, 2981, 2983, 2984, 2985,
2617             2986, 2987, 2988, 2989, 2990, 2993, 2994, 2995, 2996, 2997,
2618             2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3010,
2619             3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3021,
2620             3022, 3023, 3024, 3025, 3026, 3028, 3029, 3030, 3031, 3025,
2621             3033, 3034, 3036, 3037, 3038, 3039, 3040, 3042, 3043, 3044,
2622              
2623             3045, 3046, 3047, 3048, 3049, 3050, 3052, 3053, 3054, 3055,
2624             3056, 3057, 3058, 3059, 3060, 3061, 3063, 3064, 3065, 3066,
2625             3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076,
2626             3078, 3080, 3081, 3083, 3084, 3085, 3086, 3089, 3090, 3091,
2627             3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3102,
2628             3103, 3104, 3105, 3107, 3108, 3109, 3110, 3111, 3112, 3094,
2629             3113, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123,
2630             3124, 3125, 3126, 3127, 3129, 3130, 3132, 3134, 3135, 3136,
2631             3137, 3138, 3139, 3140, 3142, 3134, 3144, 3145, 3146, 3147,
2632             3148, 3134, 3151, 3152, 3154, 3156, 3157, 3158, 3159, 3160,
2633              
2634             3161, 3162, 3164, 3166, 3168, 3170, 3171, 3172, 3173, 3175,
2635             3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185,
2636             3186, 3187, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197,
2637             3198, 3200, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210,
2638             3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3222,
2639             3227, 3228, 3230, 3231, 3233, 3234, 3235, 3238, 3241, 3242,
2640             3244, 3245, 3246, 3248, 3250, 3252, 3253, 3254, 3255, 3256,
2641             3257, 3258, 3261, 3263, 3264, 3266, 3267, 3269, 3270, 3271,
2642             3273, 3274, 3275, 3276, 3277, 3279, 3280, 3281, 3283, 3285,
2643             3288, 3289, 3292, 3293, 3294, 3298, 3299, 3300, 3301, 3303,
2644              
2645             3304, 3307, 3308, 3310, 3311, 3312, 3315, 3319, 3320, 3321,
2646             3322, 3323, 3324, 3326, 3328, 3329, 3330, 3331, 3334, 3335,
2647             3337, 3342, 3343, 3289, 3345, 3346, 3347, 3350, 3351, 3352,
2648             3353, 3354, 3357, 3358, 3362, 3363, 3364, 3368, 3370, 3376,
2649             3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3377, 3377,
2650             3377, 3377, 3377, 3377, 3377, 3377, 3377, 3378, 3378, 3378,
2651             3378, 3378, 3378, 3378, 3378, 3378, 3379, 3379, 3379, 3379,
2652             3379, 3379, 3379, 3379, 3379, 3380, 3380, 3380, 3380, 3380,
2653             3380, 3380, 3380, 3380, 3381, 3381, 3381, 3381, 3381, 3381,
2654             3381, 3381, 3381, 3382, 3382, 3382, 3382, 3382, 3382, 3382,
2655              
2656             3382, 3382, 3383, 3383, 3383, 3383, 3383, 3383, 3383, 3383,
2657             3383, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
2658             3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3386,
2659             901, 900, 3386, 3386, 3386, 3387, 3387, 3388, 3388, 3388,
2660             3388, 899, 3388, 3388, 3389, 3389, 3389, 3389, 3389, 3389,
2661             3389, 3389, 3389, 3390, 3390, 3390, 3390, 3390, 3390, 3390,
2662             3390, 3390, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
2663             3391, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392,
2664             3393, 3393, 3393, 3393, 3393, 3394, 3394, 898, 3394, 3394,
2665             3394, 3394, 3394, 3394, 3395, 3395, 3396, 897, 3396, 3397,
2666              
2667             3397, 3397, 3397, 3397, 3397, 3397, 3397, 3397, 3398, 3398,
2668             3398, 3398, 3398, 3398, 3398, 3398, 3398, 896, 895, 894,
2669             893, 892, 891, 890, 889, 888, 887, 886, 885, 884,
2670             883, 882, 881, 880, 879, 877, 876, 874, 873, 872,
2671             871, 870, 868, 867, 866, 865, 864, 863, 862, 861,
2672             858, 857, 856, 855, 852, 851, 850, 849, 847, 846,
2673             845, 844, 842, 841, 839, 838, 837, 836, 834, 832,
2674             831, 830, 829, 828, 827, 826, 825, 824, 822, 821,
2675             820, 819, 818, 817, 816, 814, 813, 812, 811, 810,
2676             807, 806, 805, 804, 803, 802, 801, 797, 796, 795,
2677              
2678             794, 793, 791, 790, 788, 787, 786, 785, 784, 783,
2679             781, 780, 779, 778, 777, 776, 775, 774, 773, 772,
2680             771, 770, 769, 767, 766, 765, 764, 763, 761, 759,
2681             758, 757, 756, 754, 753, 752, 751, 750, 749, 748,
2682             747, 746, 745, 744, 741, 740, 738, 737, 736, 735,
2683             734, 733, 732, 730, 729, 728, 727, 725, 721, 720,
2684             718, 717, 716, 715, 714, 713, 712, 710, 709, 708,
2685             707, 706, 705, 703, 702, 701, 700, 697, 696, 694,
2686             693, 691, 689, 688, 687, 683, 682, 680, 679, 678,
2687             677, 675, 671, 670, 668, 667, 666, 665, 663, 662,
2688              
2689             661, 659, 658, 657, 655, 654, 652, 650, 648, 647,
2690             646, 645, 644, 640, 639, 638, 635, 634, 633, 631,
2691             630, 629, 627, 626, 624, 623, 622, 621, 620, 618,
2692             617, 615, 614, 613, 612, 611, 610, 608, 605, 604,
2693             603, 602, 601, 600, 599, 598, 597, 596, 594, 593,
2694             592, 591, 590, 589, 588, 587, 585, 584, 583, 581,
2695             580, 576, 575, 574, 573, 571, 570, 569, 568, 567,
2696             566, 565, 564, 562, 561, 560, 559, 558, 556, 554,
2697             551, 550, 548, 545, 543, 538, 537, 536, 535, 534,
2698             533, 532, 531, 530, 529, 528, 527, 526, 525, 524,
2699              
2700             523, 522, 521, 519, 518, 517, 514, 513, 510, 509,
2701             506, 505, 504, 503, 499, 497, 493, 492, 488, 484,
2702             483, 482, 479, 478, 475, 474, 473, 472, 471, 470,
2703             469, 468, 467, 465, 464, 463, 461, 459, 458, 457,
2704             454, 453, 452, 446, 444, 442, 441, 440, 436, 434,
2705             433, 432, 431, 429, 427, 424, 423, 420, 418, 417,
2706             415, 413, 412, 411, 409, 408, 407, 406, 405, 404,
2707             400, 399, 397, 396, 395, 394, 393, 391, 390, 389,
2708             388, 386, 385, 384, 383, 379, 378, 376, 375, 373,
2709             369, 366, 363, 361, 360, 359, 356, 351, 348, 347,
2710              
2711             346, 344, 342, 341, 339, 338, 337, 335, 334, 333,
2712             331, 330, 329, 328, 327, 325, 322, 321, 320, 319,
2713             318, 315, 314, 313, 312, 311, 310, 309, 308, 306,
2714             305, 303, 302, 301, 300, 299, 298, 297, 296, 295,
2715             294, 293, 290, 289, 288, 283, 278, 274, 272, 270,
2716             269, 268, 265, 264, 262, 261, 260, 259, 258, 256,
2717             255, 254, 252, 250, 247, 240, 234, 219, 207, 206,
2718             205, 197, 196, 194, 192, 186, 173, 172, 171, 170,
2719             166, 160, 157, 155, 153, 138, 133, 127, 121, 117,
2720             84, 65, 58, 56, 49, 48, 45, 44, 43, 42,
2721              
2722             41, 30, 29, 28, 27, 26, 25, 18, 17, 6,
2723             5, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2724             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2725             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2726             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2727             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2728             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2729             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2730             3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
2731             3375, 3375, 3375, 3375
2732              
2733             } ;
2734              
2735             static yy_state_type yy_last_accepting_state;
2736             static char *yy_last_accepting_cpos;
2737              
2738             extern int yy_flex_debug;
2739             int yy_flex_debug = 0;
2740              
2741             /* The intent behind this definition is that it'll catch
2742             * any uses of REJECT which flex missed.
2743             */
2744             #define REJECT reject_used_but_not_detected
2745             static int yy_more_flag = 0;
2746             static int yy_more_len = 0;
2747             #define yymore() ((yy_more_flag) = 1)
2748             #define YY_MORE_ADJ (yy_more_len)
2749             #define YY_RESTORE_YY_MORE_OFFSET
2750             char *yytext;
2751             #line 1 "itex2MML.l"
2752             /* itex2MML 1.6.1
2753             * itex2MML.l last modified 10/3/2021
2754             */
2755             #line 6 "itex2MML.l"
2756             #line 2756 "lex.yy.c"
2757              
2758             #line 10 "itex2MML.l"
2759             #include
2760              
2761             #define YYSTYPE char *
2762              
2763             #include "y.tab.h"
2764             #include "itex2MML.h"
2765              
2766             #define YY_NEVER_INTERACTIVE 1
2767             #define YY_INPUT(buffer,result,max_size) result = s_itex2MML_read (buffer, max_size)
2768              
2769             static size_t s_itex2MML_read (char * buffer, size_t max_size);
2770             void itex2MML_do_capture_eqn();
2771             void itex2MML_capture_eqn_src();
2772              
2773             #define yylval itex2MML_yylval
2774             #define itex2MML_optarg_depth 100
2775              
2776             extern char * yylval;
2777              
2778             int itex2MML_lineno = 1;
2779             int itex2MML_inoptarg[itex2MML_optarg_depth];
2780             int itex2MML_optarg_ind = 0;
2781             int itex2MML_env_start = 0;
2782              
2783             #define YY_USER_ACTION itex2MML_capture_eqn_src();
2784             # define itex2MML_eqn_bufsize 131072
2785             char itex2MML_eqn_src[itex2MML_eqn_bufsize];
2786             char * itex2MML_eqn_end = itex2MML_eqn_src;
2787              
2788             int itex2MML_rowposn = 0;
2789             int itex2MML_displaymode = 0;
2790              
2791             #line 2791 "lex.yy.c"
2792             #line 2792 "lex.yy.c"
2793              
2794             #define INITIAL 0
2795             #define MATH 1
2796             #define ATTRIBUTELIST 2
2797             #define BBOLD 3
2798             #define FRAKTUR 4
2799             #define CALLIGRAPHIC 5
2800             #define SCRIPT 6
2801             #define ROMAN 7
2802             #define PLAINTEXT 8
2803             #define INT1 9
2804             #define INT2 10
2805             #define INT3 11
2806             #define MATHENV 12
2807             #define SVGENV 13
2808             #define SVGEND 14
2809             #define OPTARG 15
2810             #define ARRAYOPTIONS 16
2811             #define COLOPTS 17
2812             #define TEXTOPTARG 18
2813             #define TEXTOPTARG1 19
2814             #define RAISEBOX1 20
2815             #define RAISEBOX2 21
2816              
2817             #ifndef YY_NO_UNISTD_H
2818             /* Special case for "unistd.h", since it is non-ANSI. We include it way
2819             * down here because we want the user's section 1 to have been scanned first.
2820             * The user has a chance to override it with an option.
2821             */
2822             #include
2823             #endif
2824              
2825             #ifndef YY_EXTRA_TYPE
2826             #define YY_EXTRA_TYPE void *
2827             #endif
2828              
2829             static int yy_init_globals ( void );
2830              
2831             /* Accessor methods to globals.
2832             These are made visible to non-reentrant scanners for convenience. */
2833              
2834             int yylex_destroy ( void );
2835              
2836             int yyget_debug ( void );
2837              
2838             void yyset_debug ( int debug_flag );
2839              
2840             YY_EXTRA_TYPE yyget_extra ( void );
2841              
2842             void yyset_extra ( YY_EXTRA_TYPE user_defined );
2843              
2844             FILE *yyget_in ( void );
2845              
2846             void yyset_in ( FILE * _in_str );
2847              
2848             FILE *yyget_out ( void );
2849              
2850             void yyset_out ( FILE * _out_str );
2851              
2852             int yyget_leng ( void );
2853              
2854             char *yyget_text ( void );
2855              
2856             int yyget_lineno ( void );
2857              
2858             void yyset_lineno ( int _line_number );
2859              
2860             /* Macros after this point can all be overridden by user definitions in
2861             * section 1.
2862             */
2863              
2864             #ifndef YY_SKIP_YYWRAP
2865             #ifdef __cplusplus
2866             extern "C" int yywrap ( void );
2867             #else
2868             extern int yywrap ( void );
2869             #endif
2870             #endif
2871              
2872             #ifndef YY_NO_UNPUT
2873            
2874             static void yyunput ( int c, char *buf_ptr );
2875            
2876             #endif
2877              
2878             #ifndef yytext_ptr
2879             static void yy_flex_strncpy ( char *, const char *, int );
2880             #endif
2881              
2882             #ifdef YY_NEED_STRLEN
2883             static int yy_flex_strlen ( const char * );
2884             #endif
2885              
2886             #ifndef YY_NO_INPUT
2887             #ifdef __cplusplus
2888             static int yyinput ( void );
2889             #else
2890             static int input ( void );
2891             #endif
2892              
2893             #endif
2894              
2895             /* Amount of stuff to slurp up with each read. */
2896             #ifndef YY_READ_BUF_SIZE
2897             #ifdef __ia64__
2898             /* On IA-64, the buffer size is 16k, not 8k */
2899             #define YY_READ_BUF_SIZE 16384
2900             #else
2901             #define YY_READ_BUF_SIZE 8192
2902             #endif /* __ia64__ */
2903             #endif
2904              
2905             /* Copy whatever the last rule matched to the standard output. */
2906             #ifndef ECHO
2907             /* This used to be an fputs(), but since the string might contain NUL's,
2908             * we now use fwrite().
2909             */
2910             #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2911             #endif
2912              
2913             /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2914             * is returned in "result".
2915             */
2916             #ifndef YY_INPUT
2917             #define YY_INPUT(buf,result,max_size) \
2918             if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2919             { \
2920             int c = '*'; \
2921             int n; \
2922             for ( n = 0; n < max_size && \
2923             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2924             buf[n] = (char) c; \
2925             if ( c == '\n' ) \
2926             buf[n++] = (char) c; \
2927             if ( c == EOF && ferror( yyin ) ) \
2928             YY_FATAL_ERROR( "input in flex scanner failed" ); \
2929             result = n; \
2930             } \
2931             else \
2932             { \
2933             errno=0; \
2934             while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2935             { \
2936             if( errno != EINTR) \
2937             { \
2938             YY_FATAL_ERROR( "input in flex scanner failed" ); \
2939             break; \
2940             } \
2941             errno=0; \
2942             clearerr(yyin); \
2943             } \
2944             }\
2945             \
2946              
2947             #endif
2948              
2949             /* No semi-colon after return; correct usage is to write "yyterminate();" -
2950             * we don't want an extra ';' after the "return" because that will cause
2951             * some compilers to complain about unreachable statements.
2952             */
2953             #ifndef yyterminate
2954             #define yyterminate() return YY_NULL
2955             #endif
2956              
2957             /* Number of entries by which start-condition stack grows. */
2958             #ifndef YY_START_STACK_INCR
2959             #define YY_START_STACK_INCR 25
2960             #endif
2961              
2962             /* Report a fatal error. */
2963             #ifndef YY_FATAL_ERROR
2964             #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2965             #endif
2966              
2967             /* end tables serialization structures and prototypes */
2968              
2969             /* Default declaration of generated scanner - a define so the user can
2970             * easily add parameters.
2971             */
2972             #ifndef YY_DECL
2973             #define YY_DECL_IS_OURS 1
2974              
2975             extern int yylex (void);
2976              
2977             #define YY_DECL int yylex (void)
2978             #endif /* !YY_DECL */
2979              
2980             /* Code executed at the beginning of each rule, after yytext and yyleng
2981             * have been set up.
2982             */
2983             #ifndef YY_USER_ACTION
2984             #define YY_USER_ACTION
2985             #endif
2986              
2987             /* Code executed at the end of each rule. */
2988             #ifndef YY_BREAK
2989             #define YY_BREAK /*LINTED*/break;
2990             #endif
2991              
2992             #define YY_RULE_SETUP \
2993             YY_USER_ACTION
2994              
2995             /** The main scanner function which does all the work.
2996 73           */
2997             YY_DECL
2998             {
2999             yy_state_type yy_current_state;
3000             char *yy_cp, *yy_bp;
3001             int yy_act;
3002 73 100        
3003             if ( !(yy_init) )
3004 1           {
3005             (yy_init) = 1;
3006              
3007             #ifdef YY_USER_INIT
3008             YY_USER_INIT;
3009             #endif
3010 1 50          
3011 0           if ( ! (yy_start) )
3012             (yy_start) = 1; /* first start state */
3013 1 50          
3014 1           if ( ! yyin )
3015             yyin = stdin;
3016 1 50          
3017 1           if ( ! yyout )
3018             yyout = stdout;
3019 1 50          
    0          
3020 1           if ( ! YY_CURRENT_BUFFER ) {
3021 1           yyensure_buffer_stack ();
3022 1           YY_CURRENT_BUFFER_LVALUE =
3023             yy_create_buffer( yyin, YY_BUF_SIZE );
3024             }
3025 1            
3026             yy_load_buffer_state( );
3027             }
3028              
3029             {
3030             #line 43 "itex2MML.l"
3031              
3032             if (itex2MML_rowposn==1) itex2MML_rowposn=0;
3033             #line 46 "itex2MML.l"
3034             if (itex2MML_rowposn==2) itex2MML_rowposn=1;
3035              
3036              
3037             #line 3037 "lex.yy.c"
3038              
3039             while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
3040 73           {
3041 73 50         (yy_more_len) = 0;
3042             if ( (yy_more_flag) )
3043 0           {
3044 0           (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
3045             (yy_more_flag) = 0;
3046 73           }
3047             yy_cp = (yy_c_buf_p);
3048              
3049 73           /* Support of yytext. */
3050             *yy_cp = (yy_hold_char);
3051              
3052             /* yy_bp points to the position in yy_ch_buf of the start of
3053             * the current run.
3054 73           */
3055             yy_bp = yy_cp;
3056 73            
3057             yy_current_state = (yy_start);
3058             yy_match:
3059             do
3060 131           {
3061 131 100         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3062             if ( yy_accept[yy_current_state] )
3063 54           {
3064 54           (yy_last_accepting_state) = yy_current_state;
3065             (yy_last_accepting_cpos) = yy_cp;
3066 206 100         }
3067             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3068 75           {
3069 75 100         yy_current_state = (int) yy_def[yy_current_state];
3070 45           if ( yy_current_state >= 3376 )
3071             yy_c = yy_meta[yy_c];
3072 131           }
3073 131           yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3074             ++yy_cp;
3075 131 100         }
3076             while ( yy_base[yy_current_state] != 4112 );
3077              
3078 79           yy_find_action:
3079 79 100         yy_act = yy_accept[yy_current_state];
3080             if ( yy_act == 0 )
3081 30           { /* have to back up */
3082 30           yy_cp = (yy_last_accepting_cpos);
3083 30           yy_current_state = (yy_last_accepting_state);
3084             yy_act = yy_accept[yy_current_state];
3085             }
3086 79            
3087             YY_DO_BEFORE_ACTION;
3088              
3089             do_action: /* This label is used only to access EOF actions. */
3090 83            
3091             switch ( yy_act )
3092             { /* beginning of action switch */
3093             case 0: /* must back up */
3094 0           /* undo the effects of YY_DO_BEFORE_ACTION */
3095 0           *yy_cp = (yy_hold_char);
3096 0           yy_cp = (yy_last_accepting_cpos);
3097 0           yy_current_state = (yy_last_accepting_state);
3098             goto yy_find_action;
3099              
3100 4           case 1:
3101             YY_RULE_SETUP
3102             #line 49 "itex2MML.l"
3103             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; if (yyleng==2) { itex2MML_displaymode=1; return STARTDMATH;}; itex2MML_displaymode=0; return STARTMATH;
3104             YY_BREAK
3105             case 2:
3106             YY_RULE_SETUP
3107             #line 50 "itex2MML.l"
3108             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; itex2MML_displaymode=1; return STARTDMATH;
3109             YY_BREAK
3110             case 3:
3111             YY_RULE_SETUP
3112             #line 51 "itex2MML.l"
3113             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; itex2MML_displaymode=0; return STARTMATH;
3114             YY_BREAK
3115             case 4:
3116             YY_RULE_SETUP
3117             #line 52 "itex2MML.l"
3118             return 0;
3119             YY_BREAK
3120             case 5:
3121             /* rule 5 can match eol */
3122             YY_RULE_SETUP
3123             #line 53 "itex2MML.l"
3124             {itex2MML_lineno++; yylval=itex2MML_copy_string(yytext); return CHAR;}
3125             YY_BREAK
3126             case 6:
3127             YY_RULE_SETUP
3128             #line 54 "itex2MML.l"
3129             {yylval=itex2MML_copy_string(yytext); return CHAR;}
3130             YY_BREAK
3131              
3132             case 7:
3133             *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3134             (yy_c_buf_p) = yy_cp = yy_bp + 2;
3135             YY_DO_BEFORE_ACTION; /* set up yytext again */
3136             YY_RULE_SETUP
3137             #line 59 "itex2MML.l"
3138             {yylval=itex2MML_copy_string("$"); return MI;};
3139             YY_BREAK
3140             case 8:
3141             #line 61 "itex2MML.l"
3142             case 9:
3143             #line 62 "itex2MML.l"
3144             case 10:
3145             YY_RULE_SETUP
3146             #line 62 "itex2MML.l"
3147             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src-yyleng]=0; itex2MML_eqn_end=itex2MML_eqn_src; yylval=itex2MML_copy_escaped(itex2MML_eqn_src); BEGIN(INITIAL); return ENDMATH;}
3148             YY_BREAK
3149             case 11:
3150             YY_RULE_SETUP
3151             #line 64 "itex2MML.l"
3152             return SUP;
3153             YY_BREAK
3154             case 12:
3155             YY_RULE_SETUP
3156             #line 65 "itex2MML.l"
3157             return SUB;
3158             YY_BREAK
3159             case 13:
3160             /* rule 13 can match eol */
3161             YY_RULE_SETUP
3162             #line 66 "itex2MML.l"
3163             return EMPTYMROW;
3164             YY_BREAK
3165             case 14:
3166             YY_RULE_SETUP
3167             #line 67 "itex2MML.l"
3168             {itex2MML_rowposn = 2; if(itex2MML_inoptarg[itex2MML_optarg_ind] != 0) itex2MML_inoptarg[itex2MML_optarg_ind]++; return MROWOPEN;}
3169             YY_BREAK
3170             case 15:
3171             YY_RULE_SETUP
3172             #line 68 "itex2MML.l"
3173             {if(itex2MML_inoptarg[itex2MML_optarg_ind] != 0) itex2MML_inoptarg[itex2MML_optarg_ind]--; return MROWCLOSE;}
3174             YY_BREAK
3175             case 16:
3176             YY_RULE_SETUP
3177             #line 70 "itex2MML.l"
3178             itex2MML_rowposn=2; return LEFT;
3179             YY_BREAK
3180             case 17:
3181             YY_RULE_SETUP
3182             #line 71 "itex2MML.l"
3183             return RIGHT;
3184             YY_BREAK
3185             case 18:
3186             #line 74 "itex2MML.l"
3187             case 19:
3188             YY_RULE_SETUP
3189             #line 74 "itex2MML.l"
3190             {return BIG;}
3191             YY_BREAK
3192             case 20:
3193             #line 76 "itex2MML.l"
3194             case 21:
3195             YY_RULE_SETUP
3196             #line 76 "itex2MML.l"
3197             {return BBIG;}
3198             YY_BREAK
3199             case 22:
3200             #line 78 "itex2MML.l"
3201             case 23:
3202             YY_RULE_SETUP
3203             #line 78 "itex2MML.l"
3204             {return BIGG;}
3205             YY_BREAK
3206             case 24:
3207             #line 80 "itex2MML.l"
3208             case 25:
3209             YY_RULE_SETUP
3210             #line 80 "itex2MML.l"
3211             {return BBIGG;}
3212             YY_BREAK
3213             case 26:
3214             YY_RULE_SETUP
3215             #line 82 "itex2MML.l"
3216             {return BIGL;}
3217             YY_BREAK
3218             case 27:
3219             YY_RULE_SETUP
3220             #line 83 "itex2MML.l"
3221             {return BBIGL;}
3222             YY_BREAK
3223             case 28:
3224             YY_RULE_SETUP
3225             #line 84 "itex2MML.l"
3226             {return BIGGL;}
3227             YY_BREAK
3228             case 29:
3229             YY_RULE_SETUP
3230             #line 85 "itex2MML.l"
3231             {return BBIGGL;}
3232             YY_BREAK
3233             case 30:
3234             YY_RULE_SETUP
3235             #line 87 "itex2MML.l"
3236             {return RLAP;}
3237             YY_BREAK
3238             case 31:
3239             YY_RULE_SETUP
3240             #line 88 "itex2MML.l"
3241             {return LLAP;}
3242             YY_BREAK
3243             case 32:
3244             YY_RULE_SETUP
3245             #line 89 "itex2MML.l"
3246             {return CLAP;}
3247             YY_BREAK
3248             case 33:
3249             #line 91 "itex2MML.l"
3250             case 34:
3251             #line 92 "itex2MML.l"
3252             case 35:
3253             #line 93 "itex2MML.l"
3254             case 36:
3255             YY_RULE_SETUP
3256             #line 93 "itex2MML.l"
3257             {/* Ignore */ ;}
3258             YY_BREAK
3259             case 37:
3260             #line 97 "itex2MML.l"
3261             case 38:
3262             YY_RULE_SETUP
3263             #line 97 "itex2MML.l"
3264             {itex2MML_rowposn=2; return COLSEP;}
3265             YY_BREAK
3266             case 39:
3267             YY_RULE_SETUP
3268             #line 99 "itex2MML.l"
3269             {yylval=itex2MML_copy_string("&"); return MI;}
3270             YY_BREAK
3271             case 40:
3272             YY_RULE_SETUP
3273             #line 101 "itex2MML.l"
3274             {yylval=itex2MML_copy_string("%"); return MI;}
3275             YY_BREAK
3276             case 41:
3277             YY_RULE_SETUP
3278             #line 103 "itex2MML.l"
3279             itex2MML_rowposn=2; return ROWSEP;
3280             YY_BREAK
3281             case 42:
3282             YY_RULE_SETUP
3283             #line 105 "itex2MML.l"
3284             {yylval=itex2MML_copy_string(yytext); return MI;}
3285             YY_BREAK
3286             case 43:
3287             #line 108 "itex2MML.l"
3288             case 44:
3289             #line 109 "itex2MML.l"
3290             case 45:
3291             YY_RULE_SETUP
3292             #line 109 "itex2MML.l"
3293             {yylval=itex2MML_copy_string(yytext); return MN;}
3294             YY_BREAK
3295             case 46:
3296             #line 111 "itex2MML.l"
3297             case 47:
3298             YY_RULE_SETUP
3299             #line 111 "itex2MML.l"
3300             {yylval=itex2MML_copy_string("∞"); return MN;}
3301             YY_BREAK
3302             case 48:
3303             #line 114 "itex2MML.l"
3304             case 49:
3305             YY_RULE_SETUP
3306             #line 114 "itex2MML.l"
3307             {yylval=itex2MML_copy_string(yytext); return LEFTDELIM;}
3308             YY_BREAK
3309             case 50:
3310             YY_RULE_SETUP
3311             #line 116 "itex2MML.l"
3312             {yylval=itex2MML_copy_string(yytext); return RIGHTDELIM;}
3313             YY_BREAK
3314             case 51:
3315             YY_RULE_SETUP
3316             #line 117 "itex2MML.l"
3317             {if(itex2MML_inoptarg[itex2MML_optarg_ind]==1 && itex2MML_optarg_ind > 0) {itex2MML_inoptarg[itex2MML_optarg_ind]=0; itex2MML_optarg_ind--; return OPTARGCLOSE;} else {yylval=itex2MML_copy_string(yytext); return RIGHTDELIM;}}
3318             YY_BREAK
3319             case 52:
3320             #line 120 "itex2MML.l"
3321             case 53:
3322             YY_RULE_SETUP
3323             #line 120 "itex2MML.l"
3324             {yylval=itex2MML_copy_string("{"); return LEFTDELIM;}
3325             YY_BREAK
3326             case 54:
3327             #line 122 "itex2MML.l"
3328             case 55:
3329             YY_RULE_SETUP
3330             #line 122 "itex2MML.l"
3331             {yylval=itex2MML_copy_string("}"); return RIGHTDELIM;}
3332             YY_BREAK
3333             case 56:
3334             YY_RULE_SETUP
3335             #line 124 "itex2MML.l"
3336             {yylval=itex2MML_copy_string("⟦"); return LEFTDELIM;}
3337             YY_BREAK
3338             case 57:
3339             YY_RULE_SETUP
3340             #line 125 "itex2MML.l"
3341             {yylval=itex2MML_copy_string("⟧"); return RIGHTDELIM;}
3342             YY_BREAK
3343             case 58:
3344             YY_RULE_SETUP
3345             #line 127 "itex2MML.l"
3346             {yylval=itex2MML_copy_string("|"); return LEFTDELIM;}
3347             YY_BREAK
3348             case 59:
3349             YY_RULE_SETUP
3350             #line 128 "itex2MML.l"
3351             {yylval=itex2MML_copy_string("‖"); return LEFTDELIM;}
3352             YY_BREAK
3353             case 60:
3354             YY_RULE_SETUP
3355             #line 129 "itex2MML.l"
3356             {yylval=itex2MML_copy_string("|"); return RIGHTDELIM;}
3357             YY_BREAK
3358             case 61:
3359             YY_RULE_SETUP
3360             #line 130 "itex2MML.l"
3361             {yylval=itex2MML_copy_string("‖"); return RIGHTDELIM;}
3362             YY_BREAK
3363             case 62:
3364             #line 133 "itex2MML.l"
3365             case 63:
3366             YY_RULE_SETUP
3367             #line 133 "itex2MML.l"
3368             {yylval=itex2MML_copy_string("|"); return OTHERDELIM;}
3369             YY_BREAK
3370             case 64:
3371             #line 135 "itex2MML.l"
3372             case 65:
3373             YY_RULE_SETUP
3374             #line 135 "itex2MML.l"
3375             {yylval=itex2MML_copy_string("‖"); return OTHERDELIM;}
3376             YY_BREAK
3377             case 66:
3378             YY_RULE_SETUP
3379             #line 137 "itex2MML.l"
3380             {yylval=itex2MML_copy_string("∖"); return MO;}
3381             YY_BREAK
3382             case 67:
3383             YY_RULE_SETUP
3384             #line 138 "itex2MML.l"
3385             {yylval=itex2MML_copy_string("\"); return MO;}
3386             YY_BREAK
3387             case 68:
3388             YY_RULE_SETUP
3389             #line 139 "itex2MML.l"
3390             {yylval=itex2MML_copy_string("﹨"); return MOF;}
3391             YY_BREAK
3392             case 69:
3393             YY_RULE_SETUP
3394             #line 141 "itex2MML.l"
3395             {yylval=itex2MML_copy_string("⫽"); return MO;}
3396             YY_BREAK
3397             case 70:
3398             #line 144 "itex2MML.l"
3399             case 71:
3400             #line 145 "itex2MML.l"
3401             case 72:
3402             #line 146 "itex2MML.l"
3403             case 73:
3404             #line 147 "itex2MML.l"
3405             case 74:
3406             YY_RULE_SETUP
3407             #line 147 "itex2MML.l"
3408             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return LEFTDELIM;}
3409             YY_BREAK
3410             case 75:
3411             YY_RULE_SETUP
3412             #line 148 "itex2MML.l"
3413             {yylval=itex2MML_copy_string("⟪"); return LEFTDELIM;}
3414             YY_BREAK
3415             case 76:
3416             #line 151 "itex2MML.l"
3417             case 77:
3418             #line 152 "itex2MML.l"
3419             case 78:
3420             #line 153 "itex2MML.l"
3421             case 79:
3422             #line 154 "itex2MML.l"
3423             case 80:
3424             YY_RULE_SETUP
3425             #line 154 "itex2MML.l"
3426             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return RIGHTDELIM;}
3427             YY_BREAK
3428             case 81:
3429             YY_RULE_SETUP
3430             #line 155 "itex2MML.l"
3431             {yylval=itex2MML_copy_string("⟫"); return RIGHTDELIM;}
3432             YY_BREAK
3433             case 82:
3434             YY_RULE_SETUP
3435             #line 157 "itex2MML.l"
3436             {yylval=itex2MML_copy_string(yytext); return OTHERDELIM;}
3437             YY_BREAK
3438             case 83:
3439             #line 160 "itex2MML.l"
3440             case 84:
3441             #line 161 "itex2MML.l"
3442             case 85:
3443             YY_RULE_SETUP
3444             #line 161 "itex2MML.l"
3445             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return OTHERDELIM;}
3446             YY_BREAK
3447             case 86:
3448             YY_RULE_SETUP
3449             #line 163 "itex2MML.l"
3450             {yylval=itex2MML_copy_string(yytext); return PERIODDELIM;}
3451             YY_BREAK
3452             case 87:
3453             YY_RULE_SETUP
3454             #line 165 "itex2MML.l"
3455             {if (itex2MML_rowposn==1) return UNARYMINUS; else {yylval=itex2MML_copy_string("−"); return MO;}}
3456             YY_BREAK
3457             case 88:
3458             YY_RULE_SETUP
3459             #line 167 "itex2MML.l"
3460             {if (itex2MML_rowposn==1) return UNARYPLUS; else {yylval=itex2MML_copy_string("+"); return MO;}}
3461             YY_BREAK
3462             case 89:
3463             YY_RULE_SETUP
3464             #line 169 "itex2MML.l"
3465             {yylval=itex2MML_copy_string("#"); return MOL;}
3466             YY_BREAK
3467             case 90:
3468             #line 172 "itex2MML.l"
3469             case 91:
3470             #line 173 "itex2MML.l"
3471             case 92:
3472             #line 174 "itex2MML.l"
3473             case 93:
3474             #line 175 "itex2MML.l"
3475             case 94:
3476             #line 176 "itex2MML.l"
3477             case 95:
3478             #line 177 "itex2MML.l"
3479             case 96:
3480             #line 178 "itex2MML.l"
3481             case 97:
3482             #line 179 "itex2MML.l"
3483             case 98:
3484             #line 180 "itex2MML.l"
3485             case 99:
3486             YY_RULE_SETUP
3487             #line 180 "itex2MML.l"
3488             {yylval=itex2MML_copy_string(yytext); return MOL;}
3489             YY_BREAK
3490             case 100:
3491             YY_RULE_SETUP
3492             #line 182 "itex2MML.l"
3493             {yylval=itex2MML_copy_string("′"); return MOLL;}
3494             YY_BREAK
3495             case 101:
3496             YY_RULE_SETUP
3497             #line 183 "itex2MML.l"
3498             {yylval=itex2MML_copy_string("′"); return MOL;}
3499             YY_BREAK
3500             case 102:
3501             YY_RULE_SETUP
3502             #line 184 "itex2MML.l"
3503             {yylval=itex2MML_copy_string("″"); return MOL;}
3504             YY_BREAK
3505             case 103:
3506             YY_RULE_SETUP
3507             #line 185 "itex2MML.l"
3508             {yylval=itex2MML_copy_string("‴"); return MOL;}
3509             YY_BREAK
3510             case 104:
3511             YY_RULE_SETUP
3512             #line 186 "itex2MML.l"
3513             {yylval=itex2MML_copy_string("⁗"); return MOL;}
3514             YY_BREAK
3515             case 105:
3516             #line 189 "itex2MML.l"
3517             case 106:
3518             #line 190 "itex2MML.l"
3519             case 107:
3520             #line 191 "itex2MML.l"
3521             case 108:
3522             #line 192 "itex2MML.l"
3523             case 109:
3524             #line 193 "itex2MML.l"
3525             case 110:
3526             #line 194 "itex2MML.l"
3527             case 111:
3528             #line 195 "itex2MML.l"
3529             case 112:
3530             #line 196 "itex2MML.l"
3531             case 113:
3532             #line 197 "itex2MML.l"
3533             case 114:
3534             #line 198 "itex2MML.l"
3535             case 115:
3536             #line 199 "itex2MML.l"
3537             case 116:
3538             #line 200 "itex2MML.l"
3539             case 117:
3540             #line 201 "itex2MML.l"
3541             case 118:
3542             #line 202 "itex2MML.l"
3543             case 119:
3544             #line 203 "itex2MML.l"
3545             case 120:
3546             #line 204 "itex2MML.l"
3547             case 121:
3548             #line 205 "itex2MML.l"
3549             case 122:
3550             #line 206 "itex2MML.l"
3551             case 123:
3552             #line 207 "itex2MML.l"
3553             case 124:
3554             #line 208 "itex2MML.l"
3555             case 125:
3556             #line 209 "itex2MML.l"
3557             case 126:
3558             #line 210 "itex2MML.l"
3559             case 127:
3560             #line 211 "itex2MML.l"
3561             case 128:
3562             #line 212 "itex2MML.l"
3563             case 129:
3564             #line 213 "itex2MML.l"
3565             case 130:
3566             #line 214 "itex2MML.l"
3567             case 131:
3568             YY_RULE_SETUP
3569             #line 214 "itex2MML.l"
3570             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
3571             YY_BREAK
3572             case 132:
3573             YY_RULE_SETUP
3574             #line 216 "itex2MML.l"
3575             {yylval=itex2MML_copy_string("ε"); return MI;}
3576             YY_BREAK
3577             case 133:
3578             YY_RULE_SETUP
3579             #line 217 "itex2MML.l"
3580             {yylval=itex2MML_copy_string("ϕ"); return MI;}
3581             YY_BREAK
3582             case 134:
3583             YY_RULE_SETUP
3584             #line 218 "itex2MML.l"
3585             {yylval=itex2MML_copy_string("φ"); return MI;}
3586             YY_BREAK
3587             case 135:
3588             #line 221 "itex2MML.l"
3589             case 136:
3590             #line 222 "itex2MML.l"
3591             case 137:
3592             #line 223 "itex2MML.l"
3593             case 138:
3594             #line 224 "itex2MML.l"
3595             case 139:
3596             #line 225 "itex2MML.l"
3597             case 140:
3598             #line 226 "itex2MML.l"
3599             case 141:
3600             #line 227 "itex2MML.l"
3601             case 142:
3602             #line 228 "itex2MML.l"
3603             case 143:
3604             #line 229 "itex2MML.l"
3605             case 144:
3606             #line 230 "itex2MML.l"
3607             case 145:
3608             #line 231 "itex2MML.l"
3609             case 146:
3610             #line 232 "itex2MML.l"
3611             case 147:
3612             #line 233 "itex2MML.l"
3613             case 148:
3614             #line 234 "itex2MML.l"
3615             case 149:
3616             #line 235 "itex2MML.l"
3617             case 150:
3618             #line 236 "itex2MML.l"
3619             case 151:
3620             #line 237 "itex2MML.l"
3621             case 152:
3622             #line 238 "itex2MML.l"
3623             case 153:
3624             #line 239 "itex2MML.l"
3625             case 154:
3626             #line 240 "itex2MML.l"
3627             case 155:
3628             #line 241 "itex2MML.l"
3629             case 156:
3630             YY_RULE_SETUP
3631             #line 241 "itex2MML.l"
3632             {yylval=itex2MML_copy_string(yytext+1); return MI;}
3633             YY_BREAK
3634             case 157:
3635             #line 244 "itex2MML.l"
3636             case 158:
3637             #line 245 "itex2MML.l"
3638             case 159:
3639             #line 246 "itex2MML.l"
3640             case 160:
3641             #line 247 "itex2MML.l"
3642             case 161:
3643             #line 248 "itex2MML.l"
3644             case 162:
3645             #line 249 "itex2MML.l"
3646             case 163:
3647             #line 250 "itex2MML.l"
3648             case 164:
3649             #line 251 "itex2MML.l"
3650             case 165:
3651             #line 252 "itex2MML.l"
3652             case 166:
3653             YY_RULE_SETUP
3654             #line 252 "itex2MML.l"
3655             {yylval=itex2MML_copy_string(yytext+1); return MIB;}
3656             YY_BREAK
3657             case 167:
3658             YY_RULE_SETUP
3659             #line 254 "itex2MML.l"
3660             {yylval=itex2MML_copy_string("ℴ"); return MI;}
3661             YY_BREAK
3662             case 168:
3663             YY_RULE_SETUP
3664             #line 256 "itex2MML.l"
3665             {yylval=itex2MML_copy_string("ε"); return MI;}
3666             YY_BREAK
3667             case 169:
3668             YY_RULE_SETUP
3669             #line 258 "itex2MML.l"
3670             {yylval=itex2MML_copy_string("⋅"); return MO;}
3671             YY_BREAK
3672             case 170:
3673             #line 261 "itex2MML.l"
3674             case 171:
3675             #line 262 "itex2MML.l"
3676             case 172:
3677             #line 263 "itex2MML.l"
3678             case 173:
3679             #line 264 "itex2MML.l"
3680             case 174:
3681             #line 265 "itex2MML.l"
3682             case 175:
3683             #line 266 "itex2MML.l"
3684             case 176:
3685             #line 267 "itex2MML.l"
3686             case 177:
3687             #line 268 "itex2MML.l"
3688             case 178:
3689             #line 269 "itex2MML.l"
3690             case 179:
3691             #line 270 "itex2MML.l"
3692             case 180:
3693             #line 271 "itex2MML.l"
3694             case 181:
3695             #line 272 "itex2MML.l"
3696             case 182:
3697             #line 273 "itex2MML.l"
3698             case 183:
3699             #line 274 "itex2MML.l"
3700             case 184:
3701             #line 275 "itex2MML.l"
3702             case 185:
3703             #line 276 "itex2MML.l"
3704             case 186:
3705             #line 277 "itex2MML.l"
3706             case 187:
3707             #line 278 "itex2MML.l"
3708             case 188:
3709             #line 279 "itex2MML.l"
3710             case 189:
3711             #line 280 "itex2MML.l"
3712             case 190:
3713             #line 281 "itex2MML.l"
3714             case 191:
3715             YY_RULE_SETUP
3716             #line 281 "itex2MML.l"
3717             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
3718             YY_BREAK
3719             case 192:
3720             #line 284 "itex2MML.l"
3721             case 193:
3722             YY_RULE_SETUP
3723             #line 284 "itex2MML.l"
3724             {yylval=itex2MML_copy_string("ϒ"); return MI;}
3725             YY_BREAK
3726             case 194:
3727             #line 287 "itex2MML.l"
3728             case 195:
3729             YY_RULE_SETUP
3730             #line 287 "itex2MML.l"
3731             {yylval=itex2MML_copy_string("⇔"); return MOL;}
3732             YY_BREAK
3733             case 196:
3734             YY_RULE_SETUP
3735             #line 289 "itex2MML.l"
3736             {yylval=itex2MML_copy_string("⇔"); return MOL;}
3737             YY_BREAK
3738             case 197:
3739             #line 292 "itex2MML.l"
3740             case 198:
3741             YY_RULE_SETUP
3742             #line 292 "itex2MML.l"
3743             {yylval=itex2MML_copy_string("⇐"); return MOL;}
3744             YY_BREAK
3745             case 199:
3746             #line 295 "itex2MML.l"
3747             case 200:
3748             YY_RULE_SETUP
3749             #line 295 "itex2MML.l"
3750             {yylval=itex2MML_copy_string("⇒"); return MOL;}
3751             YY_BREAK
3752             case 201:
3753             YY_RULE_SETUP
3754             #line 297 "itex2MML.l"
3755             {yylval=itex2MML_copy_string("↩"); return MOL;}
3756             YY_BREAK
3757             case 202:
3758             #line 300 "itex2MML.l"
3759             case 203:
3760             YY_RULE_SETUP
3761             #line 300 "itex2MML.l"
3762             {yylval=itex2MML_copy_string("↪"); return MOL;}
3763             YY_BREAK
3764             case 204:
3765             YY_RULE_SETUP
3766             #line 302 "itex2MML.l"
3767             {yylval=itex2MML_copy_string("⟵"); return MOL;}
3768             YY_BREAK
3769             case 205:
3770             YY_RULE_SETUP
3771             #line 304 "itex2MML.l"
3772             {yylval=itex2MML_copy_string("⟶"); return MOL;}
3773             YY_BREAK
3774             case 206:
3775             YY_RULE_SETUP
3776             #line 306 "itex2MML.l"
3777             {yylval=itex2MML_copy_string("←"); return MOL;}
3778             YY_BREAK
3779             case 207:
3780             #line 309 "itex2MML.l"
3781             case 208:
3782             YY_RULE_SETUP
3783             #line 309 "itex2MML.l"
3784             {yylval=itex2MML_copy_string("→"); return MOL;}
3785             YY_BREAK
3786             case 209:
3787             YY_RULE_SETUP
3788             #line 311 "itex2MML.l"
3789             {yylval=itex2MML_copy_string("↔"); return MOL;}
3790             YY_BREAK
3791             case 210:
3792             #line 314 "itex2MML.l"
3793             case 211:
3794             YY_RULE_SETUP
3795             #line 314 "itex2MML.l"
3796             {yylval=itex2MML_copy_string("↦"); return MOL;}
3797             YY_BREAK
3798             case 212:
3799             #line 317 "itex2MML.l"
3800             case 213:
3801             YY_RULE_SETUP
3802             #line 317 "itex2MML.l"
3803             {yylval=itex2MML_copy_string("↗"); return MOL;}
3804             YY_BREAK
3805             case 214:
3806             #line 320 "itex2MML.l"
3807             case 215:
3808             YY_RULE_SETUP
3809             #line 320 "itex2MML.l"
3810             {yylval=itex2MML_copy_string("↖"); return MOL;}
3811             YY_BREAK
3812             case 216:
3813             #line 323 "itex2MML.l"
3814             case 217:
3815             YY_RULE_SETUP
3816             #line 323 "itex2MML.l"
3817             {yylval=itex2MML_copy_string("↘"); return MOL;}
3818             YY_BREAK
3819             case 218:
3820             #line 326 "itex2MML.l"
3821             case 219:
3822             YY_RULE_SETUP
3823             #line 326 "itex2MML.l"
3824             {yylval=itex2MML_copy_string("↙"); return MOL;}
3825             YY_BREAK
3826             case 220:
3827             #line 329 "itex2MML.l"
3828             case 221:
3829             YY_RULE_SETUP
3830             #line 329 "itex2MML.l"
3831             {yylval=itex2MML_copy_string("⇗"); return MOL;}
3832             YY_BREAK
3833             case 222:
3834             #line 332 "itex2MML.l"
3835             case 223:
3836             YY_RULE_SETUP
3837             #line 332 "itex2MML.l"
3838             {yylval=itex2MML_copy_string("⇖"); return MOL;}
3839             YY_BREAK
3840             case 224:
3841             #line 335 "itex2MML.l"
3842             case 225:
3843             YY_RULE_SETUP
3844             #line 335 "itex2MML.l"
3845             {yylval=itex2MML_copy_string("⇘"); return MOL;}
3846             YY_BREAK
3847             case 226:
3848             #line 338 "itex2MML.l"
3849             case 227:
3850             YY_RULE_SETUP
3851             #line 338 "itex2MML.l"
3852             {yylval=itex2MML_copy_string("⇙"); return MOL;}
3853             YY_BREAK
3854             case 228:
3855             YY_RULE_SETUP
3856             #line 340 "itex2MML.l"
3857             {yylval=itex2MML_copy_string("↓"); return MOL;}
3858             YY_BREAK
3859             case 229:
3860             YY_RULE_SETUP
3861             #line 342 "itex2MML.l"
3862             {yylval=itex2MML_copy_string("⇓"); return MOL;}
3863             YY_BREAK
3864             case 230:
3865             YY_RULE_SETUP
3866             #line 344 "itex2MML.l"
3867             {yylval=itex2MML_copy_string("↑"); return MOL;}
3868             YY_BREAK
3869             case 231:
3870             YY_RULE_SETUP
3871             #line 346 "itex2MML.l"
3872             {yylval=itex2MML_copy_string("⇑"); return MOL;}
3873             YY_BREAK
3874             case 232:
3875             #line 349 "itex2MML.l"
3876             case 233:
3877             #line 350 "itex2MML.l"
3878             case 234:
3879             YY_RULE_SETUP
3880             #line 350 "itex2MML.l"
3881             {yylval=itex2MML_copy_string("↕"); return MOL;}
3882             YY_BREAK
3883             case 235:
3884             YY_RULE_SETUP
3885             #line 352 "itex2MML.l"
3886             {yylval=itex2MML_copy_string("⇕"); return MOL;}
3887             YY_BREAK
3888             case 236:
3889             YY_RULE_SETUP
3890             #line 354 "itex2MML.l"
3891             {yylval=itex2MML_copy_string("⇜"); return MOL;}
3892             YY_BREAK
3893             case 237:
3894             YY_RULE_SETUP
3895             #line 355 "itex2MML.l"
3896             {yylval=itex2MML_copy_string("⇝"); return MOL;}
3897             YY_BREAK
3898             case 238:
3899             YY_RULE_SETUP
3900             #line 356 "itex2MML.l"
3901             {yylval=itex2MML_copy_string("⤎"); return MOL;}
3902             YY_BREAK
3903             case 239:
3904             YY_RULE_SETUP
3905             #line 357 "itex2MML.l"
3906             {yylval=itex2MML_copy_string("⤏"); return MOL;}
3907             YY_BREAK
3908             case 240:
3909             YY_RULE_SETUP
3910             #line 358 "itex2MML.l"
3911             {yylval=itex2MML_copy_string("⤻"); return MOL;}
3912             YY_BREAK
3913             case 241:
3914             YY_RULE_SETUP
3915             #line 359 "itex2MML.l"
3916             {yylval=itex2MML_copy_string("⟲"); return MOL;}
3917             YY_BREAK
3918             case 242:
3919             YY_RULE_SETUP
3920             #line 360 "itex2MML.l"
3921             {yylval=itex2MML_copy_string("⟳"); return MOL;}
3922             YY_BREAK
3923             case 243:
3924             #line 362 "itex2MML.l"
3925             case 244:
3926             #line 363 "itex2MML.l"
3927             case 245:
3928             #line 364 "itex2MML.l"
3929             case 246:
3930             #line 365 "itex2MML.l"
3931             case 247:
3932             #line 366 "itex2MML.l"
3933             case 248:
3934             #line 367 "itex2MML.l"
3935             case 249:
3936             #line 368 "itex2MML.l"
3937             case 250:
3938             #line 369 "itex2MML.l"
3939             case 251:
3940             #line 370 "itex2MML.l"
3941             case 252:
3942             #line 371 "itex2MML.l"
3943             case 253:
3944             #line 372 "itex2MML.l"
3945             case 254:
3946             #line 373 "itex2MML.l"
3947             case 255:
3948             #line 374 "itex2MML.l"
3949             case 256:
3950             #line 375 "itex2MML.l"
3951             case 257:
3952             #line 376 "itex2MML.l"
3953             case 258:
3954             #line 377 "itex2MML.l"
3955             case 259:
3956             #line 378 "itex2MML.l"
3957             case 260:
3958             #line 379 "itex2MML.l"
3959             case 261:
3960             #line 380 "itex2MML.l"
3961             case 262:
3962             #line 381 "itex2MML.l"
3963             case 263:
3964             #line 382 "itex2MML.l"
3965             case 264:
3966             #line 383 "itex2MML.l"
3967             case 265:
3968             #line 384 "itex2MML.l"
3969             case 266:
3970             #line 385 "itex2MML.l"
3971             case 267:
3972             #line 386 "itex2MML.l"
3973             case 268:
3974             #line 387 "itex2MML.l"
3975             case 269:
3976             #line 388 "itex2MML.l"
3977             case 270:
3978             #line 389 "itex2MML.l"
3979             case 271:
3980             #line 390 "itex2MML.l"
3981             case 272:
3982             #line 391 "itex2MML.l"
3983             case 273:
3984             #line 392 "itex2MML.l"
3985             case 274:
3986             #line 393 "itex2MML.l"
3987             case 275:
3988             #line 394 "itex2MML.l"
3989             case 276:
3990             #line 395 "itex2MML.l"
3991             case 277:
3992             #line 396 "itex2MML.l"
3993             case 278:
3994             #line 397 "itex2MML.l"
3995             case 279:
3996             YY_RULE_SETUP
3997             #line 397 "itex2MML.l"
3998             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MOL;}
3999             YY_BREAK
4000             case 280:
4001             #line 400 "itex2MML.l"
4002             case 281:
4003             #line 401 "itex2MML.l"
4004             case 282:
4005             #line 402 "itex2MML.l"
4006             case 283:
4007             #line 403 "itex2MML.l"
4008             case 284:
4009             #line 404 "itex2MML.l"
4010             case 285:
4011             #line 405 "itex2MML.l"
4012             case 286:
4013             #line 406 "itex2MML.l"
4014             case 287:
4015             #line 407 "itex2MML.l"
4016             case 288:
4017             #line 408 "itex2MML.l"
4018             case 289:
4019             #line 409 "itex2MML.l"
4020             case 290:
4021             YY_RULE_SETUP
4022             #line 409 "itex2MML.l"
4023             {BEGIN(OPTARG); char * s1 = itex2MML_copy_string(yytext+2); yylval = itex2MML_copy3("&", s1, ";"); itex2MML_free_string(s1); return XARROW;}
4024             YY_BREAK
4025             case 291:
4026             #line 412 "itex2MML.l"
4027             case 292:
4028             YY_RULE_SETUP
4029             #line 412 "itex2MML.l"
4030             {yylval=itex2MML_copy_string("…"); return MI;}
4031             YY_BREAK
4032             case 293:
4033             YY_RULE_SETUP
4034             #line 413 "itex2MML.l"
4035             {yylval=itex2MML_copy_string("⋯"); return MI;}
4036             YY_BREAK
4037             case 294:
4038             YY_RULE_SETUP
4039             #line 414 "itex2MML.l"
4040             {yylval=itex2MML_copy_string("⋱"); return MI;}
4041             YY_BREAK
4042             case 295:
4043             YY_RULE_SETUP
4044             #line 415 "itex2MML.l"
4045             {yylval=itex2MML_copy_string("⋰"); return MI;}
4046             YY_BREAK
4047             case 296:
4048             YY_RULE_SETUP
4049             #line 416 "itex2MML.l"
4050             {yylval=itex2MML_copy_string("⋮"); return MI;}
4051             YY_BREAK
4052             case 297:
4053             YY_RULE_SETUP
4054             #line 417 "itex2MML.l"
4055             {yylval=itex2MML_copy_string(":"); return MOR;}
4056             YY_BREAK
4057             case 298:
4058             #line 420 "itex2MML.l"
4059             case 299:
4060             #line 421 "itex2MML.l"
4061             case 300:
4062             YY_RULE_SETUP
4063             #line 421 "itex2MML.l"
4064             {yylval=itex2MML_copy_string("∪"); return MOL;}
4065             YY_BREAK
4066             case 301:
4067             #line 424 "itex2MML.l"
4068             case 302:
4069             #line 425 "itex2MML.l"
4070             case 303:
4071             YY_RULE_SETUP
4072             #line 425 "itex2MML.l"
4073             {yylval=itex2MML_copy_string("⋃"); return MOB;}
4074             YY_BREAK
4075             case 304:
4076             #line 428 "itex2MML.l"
4077             case 305:
4078             YY_RULE_SETUP
4079             #line 428 "itex2MML.l"
4080             {yylval=itex2MML_copy_string("∩"); return MOL;}
4081             YY_BREAK
4082             case 306:
4083             #line 431 "itex2MML.l"
4084             case 307:
4085             YY_RULE_SETUP
4086             #line 431 "itex2MML.l"
4087             {yylval=itex2MML_copy_string("⋂"); return MOB;}
4088             YY_BREAK
4089             case 308:
4090             YY_RULE_SETUP
4091             #line 433 "itex2MML.l"
4092             {yylval=itex2MML_copy_string("∈"); return MOL;}
4093             YY_BREAK
4094             /* For some reason, Firefox does not put in the right spacing around some of these operators
4095             * unless we ask for it, explicitly.
4096             */
4097             case 309:
4098             YY_RULE_SETUP
4099             #line 438 "itex2MML.l"
4100             {yylval=itex2MML_copy_string("≔"); return MOL;}
4101             YY_BREAK
4102             case 310:
4103             YY_RULE_SETUP
4104             #line 439 "itex2MML.l"
4105             {yylval=itex2MML_copy_string("⩴"); return MOS;}
4106             YY_BREAK
4107             case 311:
4108             YY_RULE_SETUP
4109             #line 440 "itex2MML.l"
4110             {yylval=itex2MML_copy_string("∶−"); return MOS;}
4111             YY_BREAK
4112             case 312:
4113             YY_RULE_SETUP
4114             #line 441 "itex2MML.l"
4115             {yylval=itex2MML_copy_string("∷−"); return MOS;}
4116             YY_BREAK
4117             case 313:
4118             YY_RULE_SETUP
4119             #line 442 "itex2MML.l"
4120             {yylval=itex2MML_copy_string("≕"); return MOS;}
4121             YY_BREAK
4122             case 314:
4123             YY_RULE_SETUP
4124             #line 443 "itex2MML.l"
4125             {yylval=itex2MML_copy_string("=∷"); return MOS;}
4126             YY_BREAK
4127             case 315:
4128             YY_RULE_SETUP
4129             #line 444 "itex2MML.l"
4130             {yylval=itex2MML_copy_string("∹"); return MOS;}
4131             YY_BREAK
4132             case 316:
4133             YY_RULE_SETUP
4134             #line 445 "itex2MML.l"
4135             {yylval=itex2MML_copy_string("−∷"); return MOS;}
4136             YY_BREAK
4137             case 317:
4138             YY_RULE_SETUP
4139             #line 446 "itex2MML.l"
4140             {yylval=itex2MML_copy_string("∶≈"); return MOS;}
4141             YY_BREAK
4142             case 318:
4143             YY_RULE_SETUP
4144             #line 447 "itex2MML.l"
4145             {yylval=itex2MML_copy_string("∷≈"); return MOS;}
4146             YY_BREAK
4147             case 319:
4148             YY_RULE_SETUP
4149             #line 448 "itex2MML.l"
4150             {yylval=itex2MML_copy_string("∶∼"); return MOS;}
4151             YY_BREAK
4152             case 320:
4153             YY_RULE_SETUP
4154             #line 449 "itex2MML.l"
4155             {yylval=itex2MML_copy_string("∷∼"); return MOS;}
4156             YY_BREAK
4157             case 321:
4158             YY_RULE_SETUP
4159             #line 450 "itex2MML.l"
4160             {yylval=itex2MML_copy_string("∷"); return MOL;}
4161             YY_BREAK
4162             case 322:
4163             #line 453 "itex2MML.l"
4164             case 323:
4165             #line 454 "itex2MML.l"
4166             case 324:
4167             #line 455 "itex2MML.l"
4168             case 325:
4169             #line 456 "itex2MML.l"
4170             case 326:
4171             #line 457 "itex2MML.l"
4172             case 327:
4173             #line 458 "itex2MML.l"
4174             case 328:
4175             #line 459 "itex2MML.l"
4176             case 329:
4177             #line 460 "itex2MML.l"
4178             case 330:
4179             #line 461 "itex2MML.l"
4180             case 331:
4181             #line 462 "itex2MML.l"
4182             case 332:
4183             #line 463 "itex2MML.l"
4184             case 333:
4185             #line 464 "itex2MML.l"
4186             case 334:
4187             #line 465 "itex2MML.l"
4188             case 335:
4189             #line 466 "itex2MML.l"
4190             case 336:
4191             #line 467 "itex2MML.l"
4192             case 337:
4193             #line 468 "itex2MML.l"
4194             case 338:
4195             #line 469 "itex2MML.l"
4196             case 339:
4197             #line 470 "itex2MML.l"
4198             case 340:
4199             #line 471 "itex2MML.l"
4200             case 341:
4201             #line 472 "itex2MML.l"
4202             case 342:
4203             #line 473 "itex2MML.l"
4204             case 343:
4205             #line 474 "itex2MML.l"
4206             case 344:
4207             #line 475 "itex2MML.l"
4208             case 345:
4209             #line 476 "itex2MML.l"
4210             case 346:
4211             #line 477 "itex2MML.l"
4212             case 347:
4213             #line 478 "itex2MML.l"
4214             case 348:
4215             #line 479 "itex2MML.l"
4216             case 349:
4217             #line 480 "itex2MML.l"
4218             case 350:
4219             #line 481 "itex2MML.l"
4220             case 351:
4221             #line 482 "itex2MML.l"
4222             case 352:
4223             #line 483 "itex2MML.l"
4224             case 353:
4225             #line 484 "itex2MML.l"
4226             case 354:
4227             #line 485 "itex2MML.l"
4228             case 355:
4229             #line 486 "itex2MML.l"
4230             case 356:
4231             #line 487 "itex2MML.l"
4232             case 357:
4233             #line 488 "itex2MML.l"
4234             case 358:
4235             #line 489 "itex2MML.l"
4236             case 359:
4237             #line 490 "itex2MML.l"
4238             case 360:
4239             #line 491 "itex2MML.l"
4240             case 361:
4241             #line 492 "itex2MML.l"
4242             case 362:
4243             #line 493 "itex2MML.l"
4244             case 363:
4245             #line 494 "itex2MML.l"
4246             case 364:
4247             #line 495 "itex2MML.l"
4248             case 365:
4249             #line 496 "itex2MML.l"
4250             case 366:
4251             #line 497 "itex2MML.l"
4252             case 367:
4253             #line 498 "itex2MML.l"
4254             case 368:
4255             #line 499 "itex2MML.l"
4256             case 369:
4257             #line 500 "itex2MML.l"
4258             case 370:
4259             #line 501 "itex2MML.l"
4260             case 371:
4261             #line 502 "itex2MML.l"
4262             case 372:
4263             #line 503 "itex2MML.l"
4264             case 373:
4265             #line 504 "itex2MML.l"
4266             case 374:
4267             #line 505 "itex2MML.l"
4268             case 375:
4269             #line 506 "itex2MML.l"
4270             case 376:
4271             #line 507 "itex2MML.l"
4272             case 377:
4273             #line 508 "itex2MML.l"
4274             case 378:
4275             #line 509 "itex2MML.l"
4276             case 379:
4277             #line 510 "itex2MML.l"
4278             case 380:
4279             #line 511 "itex2MML.l"
4280             case 381:
4281             #line 512 "itex2MML.l"
4282             case 382:
4283             #line 513 "itex2MML.l"
4284             case 383:
4285             #line 514 "itex2MML.l"
4286             case 384:
4287             #line 515 "itex2MML.l"
4288             case 385:
4289             #line 516 "itex2MML.l"
4290             case 386:
4291             #line 517 "itex2MML.l"
4292             case 387:
4293             #line 518 "itex2MML.l"
4294             case 388:
4295             #line 519 "itex2MML.l"
4296             case 389:
4297             #line 520 "itex2MML.l"
4298             case 390:
4299             #line 521 "itex2MML.l"
4300             case 391:
4301             #line 522 "itex2MML.l"
4302             case 392:
4303             #line 523 "itex2MML.l"
4304             case 393:
4305             #line 524 "itex2MML.l"
4306             case 394:
4307             #line 525 "itex2MML.l"
4308             case 395:
4309             #line 526 "itex2MML.l"
4310             case 396:
4311             #line 527 "itex2MML.l"
4312             case 397:
4313             #line 528 "itex2MML.l"
4314             case 398:
4315             #line 529 "itex2MML.l"
4316             case 399:
4317             #line 530 "itex2MML.l"
4318             case 400:
4319             #line 531 "itex2MML.l"
4320             case 401:
4321             #line 532 "itex2MML.l"
4322             case 402:
4323             #line 533 "itex2MML.l"
4324             case 403:
4325             #line 534 "itex2MML.l"
4326             case 404:
4327             #line 535 "itex2MML.l"
4328             case 405:
4329             #line 536 "itex2MML.l"
4330             case 406:
4331             #line 537 "itex2MML.l"
4332             case 407:
4333             #line 538 "itex2MML.l"
4334             case 408:
4335             #line 539 "itex2MML.l"
4336             case 409:
4337             #line 540 "itex2MML.l"
4338             case 410:
4339             #line 541 "itex2MML.l"
4340             case 411:
4341             #line 542 "itex2MML.l"
4342             case 412:
4343             #line 543 "itex2MML.l"
4344             case 413:
4345             #line 544 "itex2MML.l"
4346             case 414:
4347             #line 545 "itex2MML.l"
4348             case 415:
4349             #line 546 "itex2MML.l"
4350             case 416:
4351             #line 547 "itex2MML.l"
4352             case 417:
4353             #line 548 "itex2MML.l"
4354             case 418:
4355             #line 549 "itex2MML.l"
4356             case 419:
4357             #line 550 "itex2MML.l"
4358             case 420:
4359             #line 551 "itex2MML.l"
4360             case 421:
4361             #line 552 "itex2MML.l"
4362             case 422:
4363             #line 553 "itex2MML.l"
4364             case 423:
4365             #line 554 "itex2MML.l"
4366             case 424:
4367             #line 555 "itex2MML.l"
4368             case 425:
4369             #line 556 "itex2MML.l"
4370             case 426:
4371             #line 557 "itex2MML.l"
4372             case 427:
4373             #line 558 "itex2MML.l"
4374             case 428:
4375             #line 559 "itex2MML.l"
4376             case 429:
4377             #line 560 "itex2MML.l"
4378             case 430:
4379             #line 561 "itex2MML.l"
4380             case 431:
4381             #line 562 "itex2MML.l"
4382             case 432:
4383             #line 563 "itex2MML.l"
4384             case 433:
4385             #line 564 "itex2MML.l"
4386             case 434:
4387             #line 565 "itex2MML.l"
4388             case 435:
4389             #line 566 "itex2MML.l"
4390             case 436:
4391             #line 567 "itex2MML.l"
4392             case 437:
4393             #line 568 "itex2MML.l"
4394             case 438:
4395             #line 569 "itex2MML.l"
4396             case 439:
4397             #line 570 "itex2MML.l"
4398             case 440:
4399             #line 571 "itex2MML.l"
4400             case 441:
4401             #line 572 "itex2MML.l"
4402             case 442:
4403             #line 573 "itex2MML.l"
4404             case 443:
4405             #line 574 "itex2MML.l"
4406             case 444:
4407             #line 575 "itex2MML.l"
4408             case 445:
4409             #line 576 "itex2MML.l"
4410             case 446:
4411             #line 577 "itex2MML.l"
4412             case 447:
4413             #line 578 "itex2MML.l"
4414             case 448:
4415             #line 579 "itex2MML.l"
4416             case 449:
4417             #line 580 "itex2MML.l"
4418             case 450:
4419             #line 581 "itex2MML.l"
4420             case 451:
4421             #line 582 "itex2MML.l"
4422             case 452:
4423             #line 583 "itex2MML.l"
4424             case 453:
4425             #line 584 "itex2MML.l"
4426             case 454:
4427             #line 585 "itex2MML.l"
4428             case 455:
4429             #line 586 "itex2MML.l"
4430             case 456:
4431             #line 587 "itex2MML.l"
4432             case 457:
4433             #line 588 "itex2MML.l"
4434             case 458:
4435             #line 589 "itex2MML.l"
4436             case 459:
4437             #line 590 "itex2MML.l"
4438             case 460:
4439             #line 591 "itex2MML.l"
4440             case 461:
4441             #line 592 "itex2MML.l"
4442             case 462:
4443             #line 593 "itex2MML.l"
4444             case 463:
4445             #line 594 "itex2MML.l"
4446             case 464:
4447             #line 595 "itex2MML.l"
4448             case 465:
4449             #line 596 "itex2MML.l"
4450             case 466:
4451             #line 597 "itex2MML.l"
4452             case 467:
4453             #line 598 "itex2MML.l"
4454             case 468:
4455             #line 599 "itex2MML.l"
4456             case 469:
4457             #line 600 "itex2MML.l"
4458             case 470:
4459             #line 601 "itex2MML.l"
4460             case 471:
4461             #line 602 "itex2MML.l"
4462             case 472:
4463             #line 603 "itex2MML.l"
4464             case 473:
4465             #line 604 "itex2MML.l"
4466             case 474:
4467             #line 605 "itex2MML.l"
4468             case 475:
4469             #line 606 "itex2MML.l"
4470             case 476:
4471             #line 607 "itex2MML.l"
4472             case 477:
4473             #line 608 "itex2MML.l"
4474             case 478:
4475             #line 609 "itex2MML.l"
4476             case 479:
4477             #line 610 "itex2MML.l"
4478             case 480:
4479             #line 611 "itex2MML.l"
4480             case 481:
4481             #line 612 "itex2MML.l"
4482             case 482:
4483             #line 613 "itex2MML.l"
4484             case 483:
4485             #line 614 "itex2MML.l"
4486             case 484:
4487             #line 615 "itex2MML.l"
4488             case 485:
4489             #line 616 "itex2MML.l"
4490             case 486:
4491             #line 617 "itex2MML.l"
4492             case 487:
4493             #line 618 "itex2MML.l"
4494             case 488:
4495             #line 619 "itex2MML.l"
4496             case 489:
4497             #line 620 "itex2MML.l"
4498             case 490:
4499             #line 621 "itex2MML.l"
4500             case 491:
4501             #line 622 "itex2MML.l"
4502             case 492:
4503             #line 623 "itex2MML.l"
4504             case 493:
4505             #line 624 "itex2MML.l"
4506             case 494:
4507             #line 625 "itex2MML.l"
4508             case 495:
4509             #line 626 "itex2MML.l"
4510             case 496:
4511             #line 627 "itex2MML.l"
4512             case 497:
4513             #line 628 "itex2MML.l"
4514             case 498:
4515             #line 629 "itex2MML.l"
4516             case 499:
4517             #line 630 "itex2MML.l"
4518             case 500:
4519             #line 631 "itex2MML.l"
4520             case 501:
4521             #line 632 "itex2MML.l"
4522             case 502:
4523             #line 633 "itex2MML.l"
4524             case 503:
4525             #line 634 "itex2MML.l"
4526             case 504:
4527             #line 635 "itex2MML.l"
4528             case 505:
4529             #line 636 "itex2MML.l"
4530             case 506:
4531             #line 637 "itex2MML.l"
4532             case 507:
4533             #line 638 "itex2MML.l"
4534             case 508:
4535             #line 639 "itex2MML.l"
4536             case 509:
4537             #line 640 "itex2MML.l"
4538             case 510:
4539             #line 641 "itex2MML.l"
4540             case 511:
4541             #line 642 "itex2MML.l"
4542             case 512:
4543             #line 643 "itex2MML.l"
4544             case 513:
4545             #line 644 "itex2MML.l"
4546             case 514:
4547             #line 645 "itex2MML.l"
4548             case 515:
4549             #line 646 "itex2MML.l"
4550             case 516:
4551             #line 647 "itex2MML.l"
4552             case 517:
4553             #line 648 "itex2MML.l"
4554             case 518:
4555             #line 649 "itex2MML.l"
4556             case 519:
4557             #line 650 "itex2MML.l"
4558             case 520:
4559             #line 651 "itex2MML.l"
4560             case 521:
4561             #line 652 "itex2MML.l"
4562             case 522:
4563             #line 653 "itex2MML.l"
4564             case 523:
4565             #line 654 "itex2MML.l"
4566             case 524:
4567             #line 655 "itex2MML.l"
4568             case 525:
4569             #line 656 "itex2MML.l"
4570             case 526:
4571             #line 657 "itex2MML.l"
4572             case 527:
4573             #line 658 "itex2MML.l"
4574             case 528:
4575             #line 659 "itex2MML.l"
4576             case 529:
4577             #line 660 "itex2MML.l"
4578             case 530:
4579             #line 661 "itex2MML.l"
4580             case 531:
4581             #line 662 "itex2MML.l"
4582             case 532:
4583             YY_RULE_SETUP
4584             #line 662 "itex2MML.l"
4585             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MOL;}
4586             YY_BREAK
4587             case 533:
4588             #line 665 "itex2MML.l"
4589             case 534:
4590             #line 666 "itex2MML.l"
4591             case 535:
4592             #line 667 "itex2MML.l"
4593             case 536:
4594             #line 668 "itex2MML.l"
4595             case 537:
4596             #line 669 "itex2MML.l"
4597             case 538:
4598             #line 670 "itex2MML.l"
4599             case 539:
4600             #line 671 "itex2MML.l"
4601             case 540:
4602             #line 672 "itex2MML.l"
4603             case 541:
4604             #line 673 "itex2MML.l"
4605             case 542:
4606             YY_RULE_SETUP
4607             #line 673 "itex2MML.l"
4608             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
4609             YY_BREAK
4610             case 543:
4611             #line 676 "itex2MML.l"
4612             case 544:
4613             YY_RULE_SETUP
4614             #line 676 "itex2MML.l"
4615             {yylval=itex2MML_copy_string("⫫"); return MOL;}
4616             YY_BREAK
4617             case 545:
4618             YY_RULE_SETUP
4619             #line 677 "itex2MML.l"
4620             {yylval=itex2MML_copy_string("⊡"); return MOL;}
4621             YY_BREAK
4622             case 546:
4623             YY_RULE_SETUP
4624             #line 678 "itex2MML.l"
4625             {yylval=itex2MML_copy_string("⧄"); return MOL;}
4626             YY_BREAK
4627             case 547:
4628             YY_RULE_SETUP
4629             #line 679 "itex2MML.l"
4630             {yylval=itex2MML_copy_string("⧅"); return MOL;}
4631             YY_BREAK
4632             case 548:
4633             YY_RULE_SETUP
4634             #line 680 "itex2MML.l"
4635             {yylval=itex2MML_copy_string("⧆"); return MOL;}
4636             YY_BREAK
4637             case 549:
4638             YY_RULE_SETUP
4639             #line 681 "itex2MML.l"
4640             {yylval=itex2MML_copy_string("⧇"); return MOL;}
4641             YY_BREAK
4642             case 550:
4643             YY_RULE_SETUP
4644             #line 682 "itex2MML.l"
4645             {yylval=itex2MML_copy_string("⧈"); return MOL;}
4646             YY_BREAK
4647             case 551:
4648             YY_RULE_SETUP
4649             #line 683 "itex2MML.l"
4650             {yylval=itex2MML_copy_string("⦶"); return MOL;}
4651             YY_BREAK
4652             case 552:
4653             YY_RULE_SETUP
4654             #line 684 "itex2MML.l"
4655             {yylval=itex2MML_copy_string("⦸"); return MOL;}
4656             YY_BREAK
4657             case 553:
4658             YY_RULE_SETUP
4659             #line 685 "itex2MML.l"
4660             {yylval=itex2MML_copy_string("⧀"); return MOL;}
4661             YY_BREAK
4662             case 554:
4663             YY_RULE_SETUP
4664             #line 686 "itex2MML.l"
4665             {yylval=itex2MML_copy_string("⧁"); return MOL;}
4666             YY_BREAK
4667             case 555:
4668             #line 688 "itex2MML.l"
4669             case 556:
4670             YY_RULE_SETUP
4671             #line 688 "itex2MML.l"
4672             {yylval=itex2MML_copy_string("□"); return MOL;}
4673             YY_BREAK
4674             case 557:
4675             #line 690 "itex2MML.l"
4676             case 558:
4677             YY_RULE_SETUP
4678             #line 690 "itex2MML.l"
4679             {yylval=itex2MML_copy_string("∅"); return MI;}
4680             YY_BREAK
4681             case 559:
4682             YY_RULE_SETUP
4683             #line 691 "itex2MML.l"
4684             {yylval=itex2MML_copy_string("∃"); return MOL;}
4685             YY_BREAK
4686             case 560:
4687             YY_RULE_SETUP
4688             #line 692 "itex2MML.l"
4689             {yylval=itex2MML_copy_string("∘"); return MOL;}
4690             YY_BREAK
4691             case 561:
4692             YY_RULE_SETUP
4693             #line 693 "itex2MML.l"
4694             {yylval=itex2MML_copy_string("⊳"); return MOL;}
4695             YY_BREAK
4696             case 562:
4697             YY_RULE_SETUP
4698             #line 694 "itex2MML.l"
4699             {yylval=itex2MML_copy_string("⊲"); return MOL;}
4700             YY_BREAK
4701             case 563:
4702             YY_RULE_SETUP
4703             #line 695 "itex2MML.l"
4704             {yylval=itex2MML_copy_string("⋘"); return MOL;}
4705             YY_BREAK
4706             case 564:
4707             YY_RULE_SETUP
4708             #line 696 "itex2MML.l"
4709             {yylval=itex2MML_copy_string("⊵"); return MOL;}
4710             YY_BREAK
4711             case 565:
4712             YY_RULE_SETUP
4713             #line 697 "itex2MML.l"
4714             {yylval=itex2MML_copy_string("⊴"); return MOL;}
4715             YY_BREAK
4716             case 566:
4717             #line 699 "itex2MML.l"
4718             case 567:
4719             YY_RULE_SETUP
4720             #line 699 "itex2MML.l"
4721             {yylval=itex2MML_copy_string("∇"); return MOL;}
4722             YY_BREAK
4723             case 568:
4724             YY_RULE_SETUP
4725             #line 700 "itex2MML.l"
4726             {yylval=itex2MML_copy_string("∢"); return MOL;}
4727             YY_BREAK
4728             case 569:
4729             YY_RULE_SETUP
4730             #line 702 "itex2MML.l"
4731             {yylval=itex2MML_copy_string("♡"); return MOL;}
4732             YY_BREAK
4733             case 570:
4734             YY_RULE_SETUP
4735             #line 703 "itex2MML.l"
4736             {yylval=itex2MML_copy_string("♢"); return MOL;}
4737             YY_BREAK
4738             case 571:
4739             YY_RULE_SETUP
4740             #line 705 "itex2MML.l"
4741             {yylval=itex2MML_copy_string("∂"); return MOL;}
4742             YY_BREAK
4743             case 572:
4744             YY_RULE_SETUP
4745             #line 707 "itex2MML.l"
4746             {yylval=itex2MML_copy_string("▪"); return MO;}
4747             YY_BREAK
4748             case 573:
4749             YY_RULE_SETUP
4750             #line 709 "itex2MML.l"
4751             {yylval=itex2MML_copy_string("mod"); return MOS;}
4752             YY_BREAK
4753             case 574:
4754             YY_RULE_SETUP
4755             #line 710 "itex2MML.l"
4756             {return PMOD;}
4757             YY_BREAK
4758             case 575:
4759             YY_RULE_SETUP
4760             #line 712 "itex2MML.l"
4761             {yylval=itex2MML_copy_string("⊥"); return MOL;}
4762             YY_BREAK
4763             case 576:
4764             YY_RULE_SETUP
4765             #line 714 "itex2MML.l"
4766             {yylval=itex2MML_copy_string("¬"); return MOL;}
4767             YY_BREAK
4768             case 577:
4769             #line 717 "itex2MML.l"
4770             case 578:
4771             YY_RULE_SETUP
4772             #line 717 "itex2MML.l"
4773             {yylval=itex2MML_copy_string("≠"); return MOL;}
4774             YY_BREAK
4775             case 579:
4776             #line 720 "itex2MML.l"
4777             case 580:
4778             YY_RULE_SETUP
4779             #line 720 "itex2MML.l"
4780             {yylval=itex2MML_copy_string("∣"); return MOS;}
4781             YY_BREAK
4782             case 581:
4783             #line 723 "itex2MML.l"
4784             case 582:
4785             YY_RULE_SETUP
4786             #line 723 "itex2MML.l"
4787             {yylval=itex2MML_copy_string("∫"); return MOL;}
4788             YY_BREAK
4789             case 583:
4790             #line 726 "itex2MML.l"
4791             case 584:
4792             YY_RULE_SETUP
4793             #line 726 "itex2MML.l"
4794             {yylval=itex2MML_copy_string("∬"); return MOL;}
4795             YY_BREAK
4796             case 585:
4797             #line 729 "itex2MML.l"
4798             case 586:
4799             YY_RULE_SETUP
4800             #line 729 "itex2MML.l"
4801             {yylval=itex2MML_copy_string("∭"); return MOL;}
4802             YY_BREAK
4803             case 587:
4804             #line 732 "itex2MML.l"
4805             case 588:
4806             YY_RULE_SETUP
4807             #line 732 "itex2MML.l"
4808             {yylval=itex2MML_copy_string("⨌"); return MOL;}
4809             YY_BREAK
4810             case 589:
4811             #line 735 "itex2MML.l"
4812             case 590:
4813             #line 736 "itex2MML.l"
4814             case 591:
4815             YY_RULE_SETUP
4816             #line 736 "itex2MML.l"
4817             {yylval=itex2MML_copy_string("∮"); return MOL;}
4818             YY_BREAK
4819             case 592:
4820             YY_RULE_SETUP
4821             #line 738 "itex2MML.l"
4822             {yylval=itex2MML_copy_string("×"); return MOL;}
4823             YY_BREAK
4824             case 593:
4825             YY_RULE_SETUP
4826             #line 739 "itex2MML.l"
4827             {yylval=itex2MML_copy_string("⋆"); return MOL;}
4828             YY_BREAK
4829             case 594:
4830             #line 741 "itex2MML.l"
4831             case 595:
4832             YY_RULE_SETUP
4833             #line 741 "itex2MML.l"
4834             {yylval=itex2MML_copy_string("⊝"); return MOL;}
4835             YY_BREAK
4836             case 596:
4837             YY_RULE_SETUP
4838             #line 743 "itex2MML.l"
4839             {yylval=itex2MML_copy_string("⊺"); return MOL;}
4840             YY_BREAK
4841             case 597:
4842             YY_RULE_SETUP
4843             #line 744 "itex2MML.l"
4844             {yylval=itex2MML_copy_string("⌢"); return MOL;}
4845             YY_BREAK
4846             case 598:
4847             YY_RULE_SETUP
4848             #line 745 "itex2MML.l"
4849             {yylval=itex2MML_copy_string("⌣"); return MOL;}
4850             YY_BREAK
4851             case 599:
4852             #line 748 "itex2MML.l"
4853             case 600:
4854             YY_RULE_SETUP
4855             #line 748 "itex2MML.l"
4856             {yylval=itex2MML_copy_string("⊟"); return MOL;}
4857             YY_BREAK
4858             case 601:
4859             #line 750 "itex2MML.l"
4860             case 602:
4861             YY_RULE_SETUP
4862             #line 750 "itex2MML.l"
4863             {yylval=itex2MML_copy_string("⊞"); return MOL;}
4864             YY_BREAK
4865             case 603:
4866             #line 752 "itex2MML.l"
4867             case 604:
4868             YY_RULE_SETUP
4869             #line 752 "itex2MML.l"
4870             {yylval=itex2MML_copy_string("⊠"); return MOL;}
4871             YY_BREAK
4872             case 605:
4873             YY_RULE_SETUP
4874             #line 754 "itex2MML.l"
4875             {yylval=itex2MML_copy_string("∑"); return MOB;}
4876             YY_BREAK
4877             case 606:
4878             #line 757 "itex2MML.l"
4879             case 607:
4880             YY_RULE_SETUP
4881             #line 757 "itex2MML.l"
4882             {yylval=itex2MML_copy_string("∏"); return MOB;}
4883             YY_BREAK
4884             case 608:
4885             #line 760 "itex2MML.l"
4886             case 609:
4887             YY_RULE_SETUP
4888             #line 760 "itex2MML.l"
4889             {yylval=itex2MML_copy_string("∐"); return MOB;}
4890             YY_BREAK
4891             case 610:
4892             YY_RULE_SETUP
4893             #line 762 "itex2MML.l"
4894             {yylval=itex2MML_copy_string("⊗"); return MOL;}
4895             YY_BREAK
4896             case 611:
4897             YY_RULE_SETUP
4898             #line 763 "itex2MML.l"
4899             {yylval=itex2MML_copy_string("⨷"); return MOL;}
4900             YY_BREAK
4901             case 612:
4902             YY_RULE_SETUP
4903             #line 764 "itex2MML.l"
4904             {yylval=itex2MML_copy_string("⨂"); return MOL;}
4905             YY_BREAK
4906             case 613:
4907             YY_RULE_SETUP
4908             #line 766 "itex2MML.l"
4909             {yylval=itex2MML_copy_string("⊖"); return MOL;}
4910             YY_BREAK
4911             case 614:
4912             YY_RULE_SETUP
4913             #line 767 "itex2MML.l"
4914             {yylval=itex2MML_copy_string("⊘"); return MOL;}
4915             YY_BREAK
4916             case 615:
4917             YY_RULE_SETUP
4918             #line 769 "itex2MML.l"
4919             {yylval=itex2MML_copy_string("⊕"); return MOL;}
4920             YY_BREAK
4921             case 616:
4922             #line 771 "itex2MML.l"
4923             case 617:
4924             YY_RULE_SETUP
4925             #line 771 "itex2MML.l"
4926             {yylval=itex2MML_copy_string("⨁"); return MOB;}
4927             YY_BREAK
4928             case 618:
4929             YY_RULE_SETUP
4930             #line 773 "itex2MML.l"
4931             {yylval=itex2MML_copy_string("⨀"); return MOB;}
4932             YY_BREAK
4933             case 619:
4934             YY_RULE_SETUP
4935             #line 774 "itex2MML.l"
4936             {yylval=itex2MML_copy_string("⨆"); return MOB;}
4937             YY_BREAK
4938             case 620:
4939             YY_RULE_SETUP
4940             #line 775 "itex2MML.l"
4941             {yylval=itex2MML_copy_string("⨅"); return MOB;}
4942             YY_BREAK
4943             case 621:
4944             YY_RULE_SETUP
4945             #line 776 "itex2MML.l"
4946             {yylval=itex2MML_copy_string("⫼"); return MOB;}
4947             YY_BREAK
4948             case 622:
4949             YY_RULE_SETUP
4950             #line 777 "itex2MML.l"
4951             {yylval=itex2MML_copy_string("⨄"); return MOB;}
4952             YY_BREAK
4953             case 623:
4954             YY_RULE_SETUP
4955             #line 779 "itex2MML.l"
4956             {yylval=itex2MML_copy_string("∧"); return MOL;}
4957             YY_BREAK
4958             case 624:
4959             #line 781 "itex2MML.l"
4960             case 625:
4961             YY_RULE_SETUP
4962             #line 781 "itex2MML.l"
4963             {yylval=itex2MML_copy_string("⋀"); return MOB;}
4964             YY_BREAK
4965             case 626:
4966             #line 784 "itex2MML.l"
4967             case 627:
4968             YY_RULE_SETUP
4969             #line 784 "itex2MML.l"
4970             {yylval=itex2MML_copy_string("⋁"); return MOB;}
4971             YY_BREAK
4972             case 628:
4973             #line 787 "itex2MML.l"
4974             case 629:
4975             YY_RULE_SETUP
4976             #line 787 "itex2MML.l"
4977             {yylval=itex2MML_copy_string("⅋"); return MOL;}
4978             YY_BREAK
4979             case 630:
4980             YY_RULE_SETUP
4981             #line 789 "itex2MML.l"
4982             {return FRAC;}
4983             YY_BREAK
4984             case 631:
4985             YY_RULE_SETUP
4986             #line 790 "itex2MML.l"
4987             {return TFRAC;}
4988             YY_BREAK
4989             case 632:
4990             YY_RULE_SETUP
4991             #line 792 "itex2MML.l"
4992             {return BINOM;}
4993             YY_BREAK
4994             case 633:
4995             YY_RULE_SETUP
4996             #line 793 "itex2MML.l"
4997             {return TBINOM;}
4998             YY_BREAK
4999             case 634:
5000             YY_RULE_SETUP
5001             #line 795 "itex2MML.l"
5002             {return TENSOR;}
5003             YY_BREAK
5004             case 635:
5005             YY_RULE_SETUP
5006             #line 797 "itex2MML.l"
5007             {return MULTI;}
5008             YY_BREAK
5009             case 636:
5010             YY_RULE_SETUP
5011             #line 799 "itex2MML.l"
5012             {return OVERBRACE;}
5013             YY_BREAK
5014             case 637:
5015             YY_RULE_SETUP
5016             #line 801 "itex2MML.l"
5017             {return UNDERBRACE;}
5018             YY_BREAK
5019             case 638:
5020             YY_RULE_SETUP
5021             #line 803 "itex2MML.l"
5022             {return UNDERLINE;}
5023             YY_BREAK
5024             case 639:
5025             YY_RULE_SETUP
5026             #line 805 "itex2MML.l"
5027             {return BAR;}
5028             YY_BREAK
5029             case 640:
5030             #line 807 "itex2MML.l"
5031             case 641:
5032             #line 808 "itex2MML.l"
5033             case 642:
5034             YY_RULE_SETUP
5035             #line 808 "itex2MML.l"
5036             {return WIDEBAR;}
5037             YY_BREAK
5038             case 643:
5039             YY_RULE_SETUP
5040             #line 810 "itex2MML.l"
5041             {return VEC;}
5042             YY_BREAK
5043             case 644:
5044             #line 812 "itex2MML.l"
5045             case 645:
5046             YY_RULE_SETUP
5047             #line 812 "itex2MML.l"
5048             {return WIDEVEC;}
5049             YY_BREAK
5050             case 646:
5051             YY_RULE_SETUP
5052             #line 813 "itex2MML.l"
5053             {return WIDELVEC;}
5054             YY_BREAK
5055             case 647:
5056             YY_RULE_SETUP
5057             #line 814 "itex2MML.l"
5058             {return WIDELRVEC;}
5059             YY_BREAK
5060             case 648:
5061             YY_RULE_SETUP
5062             #line 816 "itex2MML.l"
5063             {return WIDEUVEC;}
5064             YY_BREAK
5065             case 649:
5066             YY_RULE_SETUP
5067             #line 817 "itex2MML.l"
5068             {return WIDEULVEC;}
5069             YY_BREAK
5070             case 650:
5071             YY_RULE_SETUP
5072             #line 818 "itex2MML.l"
5073             {return WIDEULRVEC;}
5074             YY_BREAK
5075             case 651:
5076             YY_RULE_SETUP
5077             #line 820 "itex2MML.l"
5078             {return DOT;}
5079             YY_BREAK
5080             case 652:
5081             YY_RULE_SETUP
5082             #line 821 "itex2MML.l"
5083             {return DDOT;}
5084             YY_BREAK
5085             case 653:
5086             YY_RULE_SETUP
5087             #line 822 "itex2MML.l"
5088             {return DDDOT;}
5089             YY_BREAK
5090             case 654:
5091             YY_RULE_SETUP
5092             #line 823 "itex2MML.l"
5093             {return DDDDOT;}
5094             YY_BREAK
5095             case 655:
5096             YY_RULE_SETUP
5097             #line 825 "itex2MML.l"
5098             {return TILDE;}
5099             YY_BREAK
5100             case 656:
5101             YY_RULE_SETUP
5102             #line 826 "itex2MML.l"
5103             {return WIDETILDE;}
5104             YY_BREAK
5105             case 657:
5106             YY_RULE_SETUP
5107             #line 828 "itex2MML.l"
5108             {return CHECK;}
5109             YY_BREAK
5110             case 658:
5111             YY_RULE_SETUP
5112             #line 829 "itex2MML.l"
5113             {return WIDECHECK;}
5114             YY_BREAK
5115             case 659:
5116             YY_RULE_SETUP
5117             #line 831 "itex2MML.l"
5118             {return HAT;}
5119             YY_BREAK
5120             case 660:
5121             YY_RULE_SETUP
5122             #line 832 "itex2MML.l"
5123             {return WIDEHAT;}
5124             YY_BREAK
5125             case 661:
5126             YY_RULE_SETUP
5127             #line 834 "itex2MML.l"
5128             {return UNDER;}
5129             YY_BREAK
5130             case 662:
5131             #line 837 "itex2MML.l"
5132             case 663:
5133             YY_RULE_SETUP
5134             #line 837 "itex2MML.l"
5135             {return OVER;}
5136             YY_BREAK
5137             case 664:
5138             YY_RULE_SETUP
5139             #line 839 "itex2MML.l"
5140             {return TEXOVER;}
5141             YY_BREAK
5142             case 665:
5143             YY_RULE_SETUP
5144             #line 840 "itex2MML.l"
5145             {return TEXATOP;}
5146             YY_BREAK
5147             case 666:
5148             YY_RULE_SETUP
5149             #line 842 "itex2MML.l"
5150             {return UNDEROVER;}
5151             YY_BREAK
5152             case 667:
5153             YY_RULE_SETUP
5154             #line 844 "itex2MML.l"
5155             {BEGIN(OPTARG); return SQRT;}
5156             YY_BREAK
5157             case 668:
5158             YY_RULE_SETUP
5159             #line 846 "itex2MML.l"
5160             {return ROOT;}
5161             YY_BREAK
5162             case 669:
5163             YY_RULE_SETUP
5164             #line 848 "itex2MML.l"
5165             {BEGIN(INT1); return SPACE;}
5166             YY_BREAK
5167             case 670:
5168             YY_RULE_SETUP
5169             #line 850 "itex2MML.l"
5170             {BEGIN(PLAINTEXT); return TEXTBOX;}
5171             YY_BREAK
5172             case 671:
5173             YY_RULE_SETUP
5174             #line 852 "itex2MML.l"
5175             {BEGIN(PLAINTEXT); return STATLINE;}
5176             YY_BREAK
5177             case 672:
5178             YY_RULE_SETUP
5179             #line 853 "itex2MML.l"
5180             {BEGIN(PLAINTEXT); return TOOLTIP;}
5181             YY_BREAK
5182             case 673:
5183             YY_RULE_SETUP
5184             #line 855 "itex2MML.l"
5185             {return TOGGLE;}
5186             YY_BREAK
5187             case 674:
5188             YY_RULE_SETUP
5189             #line 856 "itex2MML.l"
5190             {return TOGGLESTART;}
5191             YY_BREAK
5192             case 675:
5193             YY_RULE_SETUP
5194             #line 857 "itex2MML.l"
5195             {return TOGGLEEND;}
5196             YY_BREAK
5197             case 676:
5198             YY_RULE_SETUP
5199             #line 859 "itex2MML.l"
5200             {BEGIN(RAISEBOX1); return RAISEBOX;}
5201             YY_BREAK
5202             case 677:
5203             #line 862 "itex2MML.l"
5204             case 678:
5205             YY_RULE_SETUP
5206             #line 862 "itex2MML.l"
5207             {BEGIN(ATTRIBUTELIST); return FGHIGHLIGHT;}
5208             YY_BREAK
5209             case 679:
5210             #line 865 "itex2MML.l"
5211             case 680:
5212             YY_RULE_SETUP
5213             #line 865 "itex2MML.l"
5214             {BEGIN(ATTRIBUTELIST); return BGHIGHLIGHT;}
5215             YY_BREAK
5216             case 681:
5217             YY_RULE_SETUP
5218             #line 867 "itex2MML.l"
5219             {BEGIN(ATTRIBUTELIST); return COLOR;}
5220             YY_BREAK
5221             case 682:
5222             YY_RULE_SETUP
5223             #line 868 "itex2MML.l"
5224             {BEGIN(ATTRIBUTELIST); return BGCOLOR;}
5225             YY_BREAK
5226             case 683:
5227             YY_RULE_SETUP
5228             #line 870 "itex2MML.l"
5229             {itex2MML_displaymode=1; itex2MML_rowposn=2; return DISPLAY;}
5230             YY_BREAK
5231             case 684:
5232             YY_RULE_SETUP
5233             #line 872 "itex2MML.l"
5234             {itex2MML_displaymode=0; itex2MML_rowposn=2; return TEXTSTY;}
5235             YY_BREAK
5236             case 685:
5237             YY_RULE_SETUP
5238             #line 874 "itex2MML.l"
5239             {return TEXTSIZE;}
5240             YY_BREAK
5241             case 686:
5242             YY_RULE_SETUP
5243             #line 876 "itex2MML.l"
5244             {return SCSIZE;}
5245             YY_BREAK
5246             case 687:
5247             YY_RULE_SETUP
5248             #line 878 "itex2MML.l"
5249             {return SCSCSIZE;}
5250             YY_BREAK
5251             case 688:
5252             YY_RULE_SETUP
5253             #line 880 "itex2MML.l"
5254             {return ITALICS;}
5255             YY_BREAK
5256             case 689:
5257             YY_RULE_SETUP
5258             #line 882 "itex2MML.l"
5259             {return SANS;}
5260             YY_BREAK
5261             case 690:
5262             YY_RULE_SETUP
5263             #line 883 "itex2MML.l"
5264             {return TT;}
5265             YY_BREAK
5266             case 691:
5267             #line 886 "itex2MML.l"
5268             case 692:
5269             YY_RULE_SETUP
5270             #line 886 "itex2MML.l"
5271             {return BOLD;}
5272             YY_BREAK
5273             case 693:
5274             YY_RULE_SETUP
5275             #line 888 "itex2MML.l"
5276             {BEGIN(ROMAN); return RM;}
5277             YY_BREAK
5278             case 694:
5279             YY_RULE_SETUP
5280             #line 890 "itex2MML.l"
5281             {BEGIN(BBOLD); return BB;}
5282             YY_BREAK
5283             case 695:
5284             #line 893 "itex2MML.l"
5285             case 696:
5286             YY_RULE_SETUP
5287             #line 893 "itex2MML.l"
5288             {BEGIN(FRAKTUR); return FRAK;}
5289             YY_BREAK
5290             case 697:
5291             YY_RULE_SETUP
5292             #line 895 "itex2MML.l"
5293             {return SLASHED;}
5294             YY_BREAK
5295             case 698:
5296             YY_RULE_SETUP
5297             #line 897 "itex2MML.l"
5298             {return BOXED;}
5299             YY_BREAK
5300             case 699:
5301             YY_RULE_SETUP
5302             #line 899 "itex2MML.l"
5303             {BEGIN(CALLIGRAPHIC); return CAL;}
5304             YY_BREAK
5305             case 700:
5306             YY_RULE_SETUP
5307             #line 900 "itex2MML.l"
5308             {BEGIN(SCRIPT); return SCR;}
5309             YY_BREAK
5310             case 701:
5311             YY_RULE_SETUP
5312             #line 902 "itex2MML.l"
5313             {itex2MML_env_start = 1; BEGIN(MATHENV); return BEGINENV;}
5314             YY_BREAK
5315             case 702:
5316             YY_RULE_SETUP
5317             #line 903 "itex2MML.l"
5318             {BEGIN(MATHENV); return ENDENV;}
5319             YY_BREAK
5320             case 703:
5321             YY_RULE_SETUP
5322             #line 905 "itex2MML.l"
5323             {return SUBSTACK;}
5324             YY_BREAK
5325             case 704:
5326             YY_RULE_SETUP
5327             #line 907 "itex2MML.l"
5328             {return ARRAY;}
5329             YY_BREAK
5330             case 705:
5331             YY_RULE_SETUP
5332             #line 909 "itex2MML.l"
5333             {return ARRAYOPTS;}
5334             YY_BREAK
5335             case 706:
5336             YY_RULE_SETUP
5337             #line 911 "itex2MML.l"
5338             {BEGIN(ATTRIBUTELIST); return COLALIGN;}
5339             YY_BREAK
5340             case 707:
5341             YY_RULE_SETUP
5342             #line 913 "itex2MML.l"
5343             {BEGIN(ATTRIBUTELIST); return COLLAYOUT;}
5344             YY_BREAK
5345             case 708:
5346             YY_RULE_SETUP
5347             #line 915 "itex2MML.l"
5348             {BEGIN(ATTRIBUTELIST); return ROWALIGN;}
5349             YY_BREAK
5350             case 709:
5351             YY_RULE_SETUP
5352             #line 917 "itex2MML.l"
5353             {BEGIN(ATTRIBUTELIST); return ALIGN;}
5354             YY_BREAK
5355             case 710:
5356             YY_RULE_SETUP
5357             #line 919 "itex2MML.l"
5358             {BEGIN(ATTRIBUTELIST); return EQROWS;}
5359             YY_BREAK
5360             case 711:
5361             YY_RULE_SETUP
5362             #line 921 "itex2MML.l"
5363             {BEGIN(ATTRIBUTELIST); return EQCOLS;}
5364             YY_BREAK
5365             case 712:
5366             YY_RULE_SETUP
5367             #line 923 "itex2MML.l"
5368             {BEGIN(ATTRIBUTELIST); return ROWLINES;}
5369             YY_BREAK
5370             case 713:
5371             YY_RULE_SETUP
5372             #line 925 "itex2MML.l"
5373             {BEGIN(ATTRIBUTELIST); return COLLINES;}
5374             YY_BREAK
5375             case 714:
5376             YY_RULE_SETUP
5377             #line 927 "itex2MML.l"
5378             {BEGIN(ATTRIBUTELIST); return FRAME;}
5379             YY_BREAK
5380             case 715:
5381             YY_RULE_SETUP
5382             #line 929 "itex2MML.l"
5383             {BEGIN(ATTRIBUTELIST); return PADDING;}
5384             YY_BREAK
5385             case 716:
5386             YY_RULE_SETUP
5387             #line 931 "itex2MML.l"
5388             {return ROWOPTS;}
5389             YY_BREAK
5390             case 717:
5391             YY_RULE_SETUP
5392             #line 933 "itex2MML.l"
5393             {return CELLOPTS;}
5394             YY_BREAK
5395             case 718:
5396             YY_RULE_SETUP
5397             #line 935 "itex2MML.l"
5398             {BEGIN(ATTRIBUTELIST); return ROWSPAN;}
5399             YY_BREAK
5400             case 719:
5401             YY_RULE_SETUP
5402             #line 937 "itex2MML.l"
5403             {BEGIN(ATTRIBUTELIST); return COLSPAN;}
5404             YY_BREAK
5405             case 720:
5406             #line 941 "itex2MML.l"
5407             case 721:
5408             YY_RULE_SETUP
5409             #line 941 "itex2MML.l"
5410             {return THINSPACE;}
5411             YY_BREAK
5412             case 722:
5413             #line 944 "itex2MML.l"
5414             case 723:
5415             YY_RULE_SETUP
5416             #line 944 "itex2MML.l"
5417             {return MEDSPACE;}
5418             YY_BREAK
5419             case 724:
5420             #line 947 "itex2MML.l"
5421             case 725:
5422             #line 948 "itex2MML.l"
5423             case 726:
5424             YY_RULE_SETUP
5425             #line 948 "itex2MML.l"
5426             {return THICKSPACE;}
5427             YY_BREAK
5428             case 727:
5429             YY_RULE_SETUP
5430             #line 950 "itex2MML.l"
5431             {return QUAD;}
5432             YY_BREAK
5433             case 728:
5434             YY_RULE_SETUP
5435             #line 951 "itex2MML.l"
5436             {return QQUAD;}
5437             YY_BREAK
5438             case 729:
5439             #line 954 "itex2MML.l"
5440             case 730:
5441             #line 955 "itex2MML.l"
5442             case 731:
5443             YY_RULE_SETUP
5444             #line 955 "itex2MML.l"
5445             {return NEGSPACE;}
5446             YY_BREAK
5447             case 732:
5448             YY_RULE_SETUP
5449             #line 957 "itex2MML.l"
5450             {return NEGMEDSPACE;}
5451             YY_BREAK
5452             case 733:
5453             YY_RULE_SETUP
5454             #line 959 "itex2MML.l"
5455             {return NEGTHICKSPACE;}
5456             YY_BREAK
5457             case 734:
5458             YY_RULE_SETUP
5459             #line 961 "itex2MML.l"
5460             {return PHANTOM;}
5461             YY_BREAK
5462             case 735:
5463             YY_RULE_SETUP
5464             #line 963 "itex2MML.l"
5465             {BEGIN(PLAINTEXT); return HREF;}
5466             YY_BREAK
5467             case 736:
5468             YY_RULE_SETUP
5469             #line 965 "itex2MML.l"
5470             {BEGIN(PLAINTEXT); return OPERATORNAME;}
5471             YY_BREAK
5472             case 737:
5473             YY_RULE_SETUP
5474             #line 966 "itex2MML.l"
5475             {BEGIN(PLAINTEXT); return MATHOP;}
5476             YY_BREAK
5477             case 738:
5478             YY_RULE_SETUP
5479             #line 967 "itex2MML.l"
5480             {BEGIN(PLAINTEXT); return MATHBIN;}
5481             YY_BREAK
5482             case 739:
5483             YY_RULE_SETUP
5484             #line 968 "itex2MML.l"
5485             {BEGIN(PLAINTEXT); return MATHREL;}
5486             YY_BREAK
5487             case 740:
5488             YY_RULE_SETUP
5489             #line 969 "itex2MML.l"
5490             {BEGIN(PLAINTEXT); return ITEXNUM;}
5491             YY_BREAK
5492             case 741:
5493             /* rule 741 can match eol */
5494             YY_RULE_SETUP
5495             #line 971 "itex2MML.l"
5496             ;
5497             YY_BREAK
5498             case 742:
5499             YY_RULE_SETUP
5500             #line 973 "itex2MML.l"
5501             {yylval=itex2MML_copy_string(yytext+1); return MOP;}
5502             YY_BREAK
5503             case 743:
5504             #line 976 "itex2MML.l"
5505             case 744:
5506             #line 977 "itex2MML.l"
5507             case 745:
5508             YY_RULE_SETUP
5509             #line 977 "itex2MML.l"
5510             {yylval=itex2MML_copy_string(yytext); return MI;}
5511             YY_BREAK
5512             case 746:
5513             /* rule 746 can match eol */
5514             YY_RULE_SETUP
5515             #line 979 "itex2MML.l"
5516             itex2MML_lineno++;
5517             YY_BREAK
5518             case 747:
5519             YY_RULE_SETUP
5520             #line 980 "itex2MML.l"
5521             ;
5522             YY_BREAK
5523             case 748:
5524             YY_RULE_SETUP
5525             #line 983 "itex2MML.l"
5526             {return UNKNOWNCHAR;}
5527             YY_BREAK
5528              
5529             case 749:
5530             /* rule 749 can match eol */
5531             YY_RULE_SETUP
5532             #line 986 "itex2MML.l"
5533             {BEGIN(MATH); yylval=itex2MML_copy_string(yytext); if (yylval != itex2MML_empty_string) { yylval[0]='"'; yylval[yyleng-1]='"'; } return ATTRLIST;}
5534             YY_BREAK
5535              
5536             case 750:
5537             YY_RULE_SETUP
5538             #line 989 "itex2MML.l"
5539             {if(itex2MML_optarg_ind < itex2MML_optarg_depth - 1 && itex2MML_inoptarg[itex2MML_optarg_ind] !=1 ){itex2MML_optarg_ind++; itex2MML_inoptarg[itex2MML_optarg_ind]=1;}; BEGIN(MATH); return OPTARGOPEN;}
5540             YY_BREAK
5541             case 751:
5542             /* rule 751 can match eol */
5543             YY_RULE_SETUP
5544             #line 990 "itex2MML.l"
5545             ;
5546             YY_BREAK
5547             case 752:
5548             YY_RULE_SETUP
5549             #line 991 "itex2MML.l"
5550             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5551             YY_BREAK
5552              
5553              
5554             case 753:
5555             /* rule 753 can match eol */
5556             YY_RULE_SETUP
5557             #line 995 "itex2MML.l"
5558             {BEGIN(RAISEBOX2); return NEG;}
5559             YY_BREAK
5560             case 754:
5561             /* rule 754 can match eol */
5562             YY_RULE_SETUP
5563             #line 996 "itex2MML.l"
5564             {BEGIN(RAISEBOX2);}
5565             YY_BREAK
5566              
5567              
5568             case 755:
5569             /* rule 755 can match eol */
5570             YY_RULE_SETUP
5571             #line 1000 "itex2MML.l"
5572             {yylval=itex2MML_copy_string(yytext); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-1]='\0'; BEGIN(TEXTOPTARG1); return TEXTSTRING;}
5573             YY_BREAK
5574              
5575              
5576             case 756:
5577             /* rule 756 can match eol */
5578             YY_RULE_SETUP
5579             #line 1005 "itex2MML.l"
5580             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(TEXTOPTARG); return TEXTSTRING;}
5581             YY_BREAK
5582             case 757:
5583             YY_RULE_SETUP
5584             #line 1006 "itex2MML.l"
5585             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5586             YY_BREAK
5587              
5588              
5589             case 758:
5590             /* rule 758 can match eol */
5591             YY_RULE_SETUP
5592             #line 1010 "itex2MML.l"
5593             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
5594             YY_BREAK
5595             case 759:
5596             YY_RULE_SETUP
5597             #line 1011 "itex2MML.l"
5598             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5599             YY_BREAK
5600              
5601              
5602             case 760:
5603             YY_RULE_SETUP
5604             #line 1015 "itex2MML.l"
5605             {itex2MML_env_start = 0; BEGIN(MATH); return MATRIX;}
5606             YY_BREAK
5607             case 761:
5608             YY_RULE_SETUP
5609             #line 1016 "itex2MML.l"
5610             {itex2MML_env_start = 0; BEGIN(MATH); return PMATRIX;}
5611             YY_BREAK
5612             case 762:
5613             YY_RULE_SETUP
5614             #line 1017 "itex2MML.l"
5615             {itex2MML_env_start = 0; BEGIN(MATH); return BMATRIX;}
5616             YY_BREAK
5617             case 763:
5618             YY_RULE_SETUP
5619             #line 1018 "itex2MML.l"
5620             {itex2MML_env_start = 0; BEGIN(MATH); return BBMATRIX;}
5621             YY_BREAK
5622             case 764:
5623             YY_RULE_SETUP
5624             #line 1019 "itex2MML.l"
5625             {itex2MML_env_start = 0; BEGIN(MATH); return VMATRIX;}
5626             YY_BREAK
5627             case 765:
5628             YY_RULE_SETUP
5629             #line 1020 "itex2MML.l"
5630             {itex2MML_env_start = 0; BEGIN(MATH); return VVMATRIX;}
5631             YY_BREAK
5632             case 766:
5633             YY_RULE_SETUP
5634             #line 1021 "itex2MML.l"
5635             {itex2MML_env_start = 0; BEGIN(MATH); return SMALLMATRIX;}
5636             YY_BREAK
5637             case 767:
5638             YY_RULE_SETUP
5639             #line 1022 "itex2MML.l"
5640             {itex2MML_env_start = 0; BEGIN(MATH); return CASES;}
5641             YY_BREAK
5642             case 768:
5643             YY_RULE_SETUP
5644             #line 1023 "itex2MML.l"
5645             {itex2MML_env_start = 0; BEGIN(MATH); return ALIGNED;}
5646             YY_BREAK
5647             case 769:
5648             YY_RULE_SETUP
5649             #line 1024 "itex2MML.l"
5650             {itex2MML_env_start = 0; BEGIN(MATH); return GATHERED;}
5651             YY_BREAK
5652             case 770:
5653             YY_RULE_SETUP
5654             #line 1025 "itex2MML.l"
5655             {itex2MML_env_start = 0; BEGIN(MATH); return ALIGNED;}
5656             YY_BREAK
5657             case 771:
5658             YY_RULE_SETUP
5659             #line 1026 "itex2MML.l"
5660             {if (itex2MML_env_start == 1) BEGIN(ARRAYOPTIONS); else BEGIN(MATH); return ARRAY;}
5661             YY_BREAK
5662             case 772:
5663             YY_RULE_SETUP
5664             #line 1027 "itex2MML.l"
5665             {itex2MML_env_start = 0; BEGIN(SVGENV); return SVG;}
5666             YY_BREAK
5667              
5668              
5669             case 773:
5670             YY_RULE_SETUP
5671             #line 1031 "itex2MML.l"
5672             {yylval=itex2MML_copy_string("axis 1"); return ARRAYALIGN;}
5673             YY_BREAK
5674             case 774:
5675             YY_RULE_SETUP
5676             #line 1032 "itex2MML.l"
5677             {yylval=itex2MML_copy_string("center"); return ARRAYALIGN;}
5678             YY_BREAK
5679             case 775:
5680             YY_RULE_SETUP
5681             #line 1033 "itex2MML.l"
5682             {yylval=itex2MML_copy_string("axis -1"); return ARRAYALIGN;}
5683             YY_BREAK
5684             case 776:
5685             YY_RULE_SETUP
5686             #line 1034 "itex2MML.l"
5687             {BEGIN(COLOPTS); return ST;}
5688             YY_BREAK
5689             case 777:
5690             /* rule 777 can match eol */
5691             YY_RULE_SETUP
5692             #line 1035 "itex2MML.l"
5693             ;
5694             YY_BREAK
5695              
5696              
5697             case 778:
5698             YY_RULE_SETUP
5699             #line 1039 "itex2MML.l"
5700             {itex2MML_env_start = 0; BEGIN(MATH); return END;}
5701             YY_BREAK
5702             case 779:
5703             YY_RULE_SETUP
5704             #line 1040 "itex2MML.l"
5705             {yylval=itex2MML_copy_string("center"); return COLUMNALIGN;}
5706             YY_BREAK
5707             case 780:
5708             YY_RULE_SETUP
5709             #line 1041 "itex2MML.l"
5710             {yylval=itex2MML_copy_string("left"); return COLUMNALIGN;}
5711             YY_BREAK
5712             case 781:
5713             YY_RULE_SETUP
5714             #line 1042 "itex2MML.l"
5715             {yylval=itex2MML_copy_string("right"); return COLUMNALIGN;}
5716             YY_BREAK
5717             case 782:
5718             /* rule 782 can match eol */
5719             YY_RULE_SETUP
5720             #line 1043 "itex2MML.l"
5721             ;
5722             YY_BREAK
5723              
5724              
5725             case 783:
5726             YY_RULE_SETUP
5727             #line 1047 "itex2MML.l"
5728             {itex2MML_do_capture_eqn(); yylval=itex2MML_copy_string(yytext); yylval[yyleng-8]=0; BEGIN(SVGEND); return XMLSTRING;}
5729             YY_BREAK
5730             case 784:
5731             /* rule 784 can match eol */
5732             YY_RULE_SETUP
5733             #line 1048 "itex2MML.l"
5734             {yymore();}
5735             YY_BREAK
5736              
5737              
5738             case 785:
5739             YY_RULE_SETUP
5740             #line 1052 "itex2MML.l"
5741             {BEGIN(MATH); return ENDSVG;}
5742             YY_BREAK
5743              
5744              
5745             case 786:
5746             YY_RULE_SETUP
5747             #line 1056 "itex2MML.l"
5748             {return ST;}
5749             YY_BREAK
5750             case 787:
5751             YY_RULE_SETUP
5752             #line 1057 "itex2MML.l"
5753             {BEGIN(MATH); return END;}
5754             YY_BREAK
5755             case 788:
5756             YY_RULE_SETUP
5757             #line 1058 "itex2MML.l"
5758             {yylval=itex2MML_copy_string(yytext); return RMCHAR;}
5759             YY_BREAK
5760             case 789:
5761             /* rule 789 can match eol */
5762             YY_RULE_SETUP
5763             #line 1059 "itex2MML.l"
5764             ;
5765             YY_BREAK
5766             case 790:
5767             YY_RULE_SETUP
5768             #line 1060 "itex2MML.l"
5769             {return yytext[0];}
5770             YY_BREAK
5771              
5772              
5773             case 791:
5774             YY_RULE_SETUP
5775             #line 1064 "itex2MML.l"
5776             {return ST;}
5777             YY_BREAK
5778             case 792:
5779             YY_RULE_SETUP
5780             #line 1065 "itex2MML.l"
5781             {BEGIN(MATH); return END;}
5782             YY_BREAK
5783             case 793:
5784             YY_RULE_SETUP
5785             #line 1066 "itex2MML.l"
5786             {yylval=itex2MML_copy_string(yytext); return BBLOWERCHAR;}
5787             YY_BREAK
5788             case 794:
5789             YY_RULE_SETUP
5790             #line 1067 "itex2MML.l"
5791             {yylval=itex2MML_copy_string(yytext); return BBUPPERCHAR;}
5792             YY_BREAK
5793             case 795:
5794             YY_RULE_SETUP
5795             #line 1068 "itex2MML.l"
5796             {yylval=itex2MML_copy_string(yytext); return BBDIGIT;}
5797             YY_BREAK
5798             case 796:
5799             /* rule 796 can match eol */
5800             YY_RULE_SETUP
5801             #line 1069 "itex2MML.l"
5802             ;
5803             YY_BREAK
5804             case 797:
5805             YY_RULE_SETUP
5806             #line 1070 "itex2MML.l"
5807             {return yytext[0];}
5808             YY_BREAK
5809              
5810              
5811             case 798:
5812             YY_RULE_SETUP
5813             #line 1074 "itex2MML.l"
5814             {return ST;}
5815             YY_BREAK
5816             case 799:
5817             YY_RULE_SETUP
5818             #line 1075 "itex2MML.l"
5819             {BEGIN(MATH); return END;}
5820             YY_BREAK
5821             case 800:
5822             YY_RULE_SETUP
5823             #line 1076 "itex2MML.l"
5824             {yylval=itex2MML_copy_string(yytext); return CALCHAR;}
5825             YY_BREAK
5826             case 801:
5827             /* rule 801 can match eol */
5828             YY_RULE_SETUP
5829             #line 1077 "itex2MML.l"
5830             ;
5831             YY_BREAK
5832             case 802:
5833             YY_RULE_SETUP
5834             #line 1078 "itex2MML.l"
5835             {return yytext[0];}
5836             YY_BREAK
5837              
5838              
5839             case 803:
5840             YY_RULE_SETUP
5841             #line 1082 "itex2MML.l"
5842             {return ST;}
5843             YY_BREAK
5844             case 804:
5845             YY_RULE_SETUP
5846             #line 1083 "itex2MML.l"
5847             {BEGIN(MATH); return END;}
5848             YY_BREAK
5849             case 805:
5850             YY_RULE_SETUP
5851             #line 1084 "itex2MML.l"
5852             {yylval=itex2MML_copy_string(yytext); return CALCHAR;}
5853             YY_BREAK
5854             case 806:
5855             /* rule 806 can match eol */
5856             YY_RULE_SETUP
5857             #line 1085 "itex2MML.l"
5858             ;
5859             YY_BREAK
5860             case 807:
5861             YY_RULE_SETUP
5862             #line 1086 "itex2MML.l"
5863             {return yytext[0];}
5864             YY_BREAK
5865              
5866              
5867             case 808:
5868             YY_RULE_SETUP
5869             #line 1090 "itex2MML.l"
5870             {return ST;}
5871             YY_BREAK
5872             case 809:
5873             YY_RULE_SETUP
5874             #line 1091 "itex2MML.l"
5875             {BEGIN(MATH); return END;}
5876             YY_BREAK
5877             case 810:
5878             YY_RULE_SETUP
5879             #line 1092 "itex2MML.l"
5880             {yylval=itex2MML_copy_string(yytext); return FRAKCHAR;}
5881             YY_BREAK
5882             case 811:
5883             /* rule 811 can match eol */
5884             YY_RULE_SETUP
5885             #line 1093 "itex2MML.l"
5886             ;
5887             YY_BREAK
5888             case 812:
5889             YY_RULE_SETUP
5890             #line 1094 "itex2MML.l"
5891             {return yytext[0];}
5892             YY_BREAK
5893              
5894              
5895             case 813:
5896             /* rule 813 can match eol */
5897             YY_RULE_SETUP
5898             #line 1098 "itex2MML.l"
5899             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
5900             YY_BREAK
5901              
5902              
5903             case 814:
5904             YY_RULE_SETUP
5905             #line 1102 "itex2MML.l"
5906             {return ST;}
5907             YY_BREAK
5908             case 815:
5909             YY_RULE_SETUP
5910             #line 1103 "itex2MML.l"
5911             {BEGIN(INT2); return END;}
5912             YY_BREAK
5913             case 816:
5914             YY_RULE_SETUP
5915             #line 1104 "itex2MML.l"
5916             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTONE;}
5917             YY_BREAK
5918             case 817:
5919             /* rule 817 can match eol */
5920             YY_RULE_SETUP
5921             #line 1105 "itex2MML.l"
5922             ;
5923             YY_BREAK
5924             case 818:
5925             YY_RULE_SETUP
5926             #line 1106 "itex2MML.l"
5927             {return yytext[0];}
5928             YY_BREAK
5929              
5930              
5931             case 819:
5932             YY_RULE_SETUP
5933             #line 1110 "itex2MML.l"
5934             {return ST;}
5935             YY_BREAK
5936             case 820:
5937             YY_RULE_SETUP
5938             #line 1111 "itex2MML.l"
5939             {BEGIN(INT3); return END;}
5940             YY_BREAK
5941             case 821:
5942             YY_RULE_SETUP
5943             #line 1112 "itex2MML.l"
5944             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTWO;}
5945             YY_BREAK
5946             case 822:
5947             /* rule 822 can match eol */
5948             YY_RULE_SETUP
5949             #line 1113 "itex2MML.l"
5950             ;
5951             YY_BREAK
5952             case 823:
5953             YY_RULE_SETUP
5954             #line 1114 "itex2MML.l"
5955             {return yytext[0];}
5956             YY_BREAK
5957              
5958              
5959             case 824:
5960             YY_RULE_SETUP
5961             #line 1118 "itex2MML.l"
5962             {return ST;}
5963             YY_BREAK
5964             case 825:
5965             YY_RULE_SETUP
5966             #line 1119 "itex2MML.l"
5967             {BEGIN(MATH); return END;}
5968             YY_BREAK
5969             case 826:
5970             YY_RULE_SETUP
5971             #line 1120 "itex2MML.l"
5972             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTHREE;}
5973             YY_BREAK
5974             case 827:
5975             /* rule 827 can match eol */
5976             YY_RULE_SETUP
5977             #line 1121 "itex2MML.l"
5978             ;
5979             YY_BREAK
5980             case 828:
5981             YY_RULE_SETUP
5982             #line 1122 "itex2MML.l"
5983             {return yytext[0];}
5984             YY_BREAK
5985              
5986             case 829:
5987             YY_RULE_SETUP
5988             #line 1127 "itex2MML.l"
5989             ECHO;
5990             YY_BREAK
5991             #line 5991 "lex.yy.c"
5992             case YY_STATE_EOF(INITIAL):
5993             case YY_STATE_EOF(MATH):
5994             case YY_STATE_EOF(ATTRIBUTELIST):
5995             case YY_STATE_EOF(BBOLD):
5996             case YY_STATE_EOF(FRAKTUR):
5997             case YY_STATE_EOF(CALLIGRAPHIC):
5998             case YY_STATE_EOF(SCRIPT):
5999             case YY_STATE_EOF(ROMAN):
6000             case YY_STATE_EOF(PLAINTEXT):
6001             case YY_STATE_EOF(INT1):
6002             case YY_STATE_EOF(INT2):
6003             case YY_STATE_EOF(INT3):
6004             case YY_STATE_EOF(MATHENV):
6005             case YY_STATE_EOF(SVGENV):
6006             case YY_STATE_EOF(SVGEND):
6007             case YY_STATE_EOF(OPTARG):
6008             case YY_STATE_EOF(ARRAYOPTIONS):
6009             case YY_STATE_EOF(COLOPTS):
6010             case YY_STATE_EOF(TEXTOPTARG):
6011             case YY_STATE_EOF(TEXTOPTARG1):
6012             case YY_STATE_EOF(RAISEBOX1):
6013 4           case YY_STATE_EOF(RAISEBOX2):
6014             yyterminate();
6015              
6016             case YY_END_OF_BUFFER:
6017             {
6018 10           /* Amount of text matched not including the EOB char. */
6019             int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6020              
6021 10           /* Undo the effects of YY_DO_BEFORE_ACTION. */
6022             *yy_cp = (yy_hold_char);
6023             YY_RESTORE_YY_MORE_OFFSET
6024 10 100          
6025             if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6026             {
6027             /* We're scanning a new file or input source. It's
6028             * possible that this happened because the user
6029             * just pointed yyin at a new source and called
6030             * yylex(). If so, then we have to assure
6031             * consistency between YY_CURRENT_BUFFER and our
6032             * globals. Here is the right place to do so, because
6033             * this is the first action (other than possibly a
6034             * back-up) that will match for the new input source.
6035 4           */
6036 4           (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6037 4           YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
6038             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6039             }
6040              
6041             /* Note that here we test for yy_c_buf_p "<=" to the position
6042             * of the first EOB in the buffer, since yy_c_buf_p will
6043             * already have been incremented past the NUL character
6044             * (since all states make transitions on EOB to the
6045             * end-of-buffer state). Contrast this with the test
6046             * in input().
6047 10 50         */
6048             if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6049             { /* This was really a NUL. */
6050             yy_state_type yy_next_state;
6051 0            
6052             (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6053 0            
6054             yy_current_state = yy_get_previous_state( );
6055              
6056             /* Okay, we're now positioned to make the NUL
6057             * transition. We couldn't have
6058             * yy_get_previous_state() go ahead and do it
6059             * for us because it doesn't know how to deal
6060             * with the possibility of jamming (and we don't
6061             * want to build jamming into it because then it
6062             * will run more slowly).
6063             */
6064 0            
6065             yy_next_state = yy_try_NUL_trans( yy_current_state );
6066 0            
6067             yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6068 0 0          
6069             if ( yy_next_state )
6070             {
6071 0           /* Consume the NUL. */
6072 0           yy_cp = ++(yy_c_buf_p);
6073 0           yy_current_state = yy_next_state;
6074             goto yy_match;
6075             }
6076              
6077             else
6078 0           {
6079 0           yy_cp = (yy_c_buf_p);
6080             goto yy_find_action;
6081             }
6082             }
6083 10            
6084             else switch ( yy_get_next_buffer( ) )
6085             {
6086             case EOB_ACT_END_OF_FILE:
6087 4           {
6088             (yy_did_buffer_switch_on_eof) = 0;
6089              
6090             if ( yywrap( ) )
6091             {
6092             /* Note: because we've taken care in
6093             * yy_get_next_buffer() to have set up
6094             * yytext, we can now set up
6095             * yy_c_buf_p so that if some total
6096             * hoser (like flex itself) wants to
6097             * call the scanner after we return the
6098             * YY_NULL, it'll still work - another
6099             * YY_NULL will get returned.
6100 4           */
6101             (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6102 4            
6103 4           yy_act = YY_STATE_EOF(YY_START);
6104             goto do_action;
6105             }
6106              
6107             else
6108             {
6109             if ( ! (yy_did_buffer_switch_on_eof) )
6110             YY_NEW_FILE;
6111             }
6112             break;
6113             }
6114              
6115 4           case EOB_ACT_CONTINUE_SCAN:
6116 4           (yy_c_buf_p) =
6117             (yytext_ptr) + yy_amount_of_matched_text;
6118 4            
6119             yy_current_state = yy_get_previous_state( );
6120 4            
6121 4           yy_cp = (yy_c_buf_p);
6122 4           yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6123             goto yy_match;
6124              
6125 2           case EOB_ACT_LAST_MATCH:
6126 2           (yy_c_buf_p) =
6127             &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6128 2            
6129             yy_current_state = yy_get_previous_state( );
6130 2            
6131 2           yy_cp = (yy_c_buf_p);
6132 2           yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6133             goto yy_find_action;
6134 0           }
6135             break;
6136             }
6137              
6138 0           default:
6139             YY_FATAL_ERROR(
6140             "fatal flex scanner internal error--no action found" );
6141 0           } /* end of action switch */
6142             } /* end of scanning one token */
6143             } /* end of user's declarations */
6144             } /* end of yylex */
6145              
6146             /* yy_get_next_buffer - try to read in a new buffer
6147             *
6148             * Returns a code representing an action:
6149             * EOB_ACT_LAST_MATCH -
6150             * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6151             * EOB_ACT_END_OF_FILE - end of file
6152 10           */
6153             static int yy_get_next_buffer (void)
6154 10           {
6155 10           char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6156             char *source = (yytext_ptr);
6157             int number_to_move, i;
6158             int ret_val;
6159 10 50          
6160 0           if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6161             YY_FATAL_ERROR(
6162             "fatal flex scanner internal error--end of buffer missed" );
6163 10 50          
6164             if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6165 0 0         { /* Don't try to fill the buffer, so this is an EOF. */
6166             if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6167             {
6168             /* We matched a single character, the EOB, so
6169             * treat this as a final EOF.
6170 0           */
6171             return EOB_ACT_END_OF_FILE;
6172             }
6173              
6174             else
6175             {
6176             /* We matched some text prior to the EOB, first
6177             * process it.
6178 0           */
6179             return EOB_ACT_LAST_MATCH;
6180             }
6181             }
6182              
6183             /* Try to read more data. */
6184              
6185 10           /* First move last chars to start of buffer. */
6186             number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
6187 12 100          
6188 2           for ( i = 0; i < number_to_move; ++i )
6189             *(dest++) = *(source++);
6190 10 100          
6191             if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6192             /* don't do the read, it's not guaranteed to return an EOF,
6193             * just force an EOF
6194 2           */
6195             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6196              
6197             else
6198 8           {
6199 8           int num_to_read =
6200             YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6201 8 50          
6202             while ( num_to_read <= 0 )
6203             { /* Not enough room in the buffer - grow it. */
6204              
6205 0           /* just a shorter name for the current buffer */
6206             YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6207 0            
6208 0           int yy_c_buf_p_offset =
6209             (int) ((yy_c_buf_p) - b->yy_ch_buf);
6210 0 0          
6211             if ( b->yy_is_our_buffer )
6212 0           {
6213             int new_size = b->yy_buf_size * 2;
6214 0 0          
6215 0           if ( new_size <= 0 )
6216             b->yy_buf_size += b->yy_buf_size / 8;
6217 0           else
6218             b->yy_buf_size *= 2;
6219 0            
6220             b->yy_ch_buf = (char *)
6221 0           /* Include room in for 2 EOB chars. */
6222 0           yyrealloc( (void *) b->yy_ch_buf,
6223             (yy_size_t) (b->yy_buf_size + 2) );
6224             }
6225             else
6226 0           /* Can't grow it, we don't own it. */
6227             b->yy_ch_buf = NULL;
6228 0 0          
6229 0           if ( ! b->yy_ch_buf )
6230             YY_FATAL_ERROR(
6231             "fatal error - scanner input buffer overflow" );
6232 0            
6233             (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6234 0            
6235             num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6236             number_to_move - 1;
6237              
6238             }
6239 8 50          
6240 8           if ( num_to_read > YY_READ_BUF_SIZE )
6241             num_to_read = YY_READ_BUF_SIZE;
6242              
6243 8           /* Read in more data. */
6244             YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6245             (yy_n_chars), num_to_read );
6246 8            
6247             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6248             }
6249 10 100          
6250             if ( (yy_n_chars) == 0 )
6251 6 100         {
6252             if ( number_to_move == YY_MORE_ADJ )
6253 4           {
6254 4           ret_val = EOB_ACT_END_OF_FILE;
6255             yyrestart( yyin );
6256             }
6257              
6258             else
6259 2           {
6260 6           ret_val = EOB_ACT_LAST_MATCH;
6261             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6262             YY_BUFFER_EOF_PENDING;
6263             }
6264             }
6265              
6266 4           else
6267             ret_val = EOB_ACT_CONTINUE_SCAN;
6268 10 50          
6269             if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6270 0           /* Extend the array by 50%, plus the number we really need. */
6271 0           int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6272 0           YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
6273 0 0         (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
6274 0           if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6275             YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6276 0           /* "- 2" to take care of EOB's */
6277             YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6278             }
6279 10            
6280 10           (yy_n_chars) += number_to_move;
6281 10           YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6282             YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6283 10            
6284             (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6285 10            
6286             return ret_val;
6287             }
6288              
6289             /* yy_get_previous_state - get the state just before the EOB char was reached */
6290 6            
6291             static yy_state_type yy_get_previous_state (void)
6292             {
6293             yy_state_type yy_current_state;
6294             char *yy_cp;
6295 6          
6296             yy_current_state = (yy_start);
6297 8 100          
6298             for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6299 2 50         {
6300 2 50         YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6301             if ( yy_accept[yy_current_state] )
6302 0           {
6303 0           (yy_last_accepting_state) = yy_current_state;
6304             (yy_last_accepting_cpos) = yy_cp;
6305 2 50         }
6306             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6307 0           {
6308 0 0         yy_current_state = (int) yy_def[yy_current_state];
6309 0           if ( yy_current_state >= 3376 )
6310             yy_c = yy_meta[yy_c];
6311 2           }
6312             yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6313             }
6314 6            
6315             return yy_current_state;
6316             }
6317              
6318             /* yy_try_NUL_trans - try to make a transition on the NUL character
6319             *
6320             * synopsis
6321             * next_state = yy_try_NUL_trans( current_state );
6322 0           */
6323             static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6324             {
6325 0           int yy_is_jam;
6326             char *yy_cp = (yy_c_buf_p);
6327 0            
6328 0 0         YY_CHAR yy_c = 1;
6329             if ( yy_accept[yy_current_state] )
6330 0           {
6331 0           (yy_last_accepting_state) = yy_current_state;
6332             (yy_last_accepting_cpos) = yy_cp;
6333 0 0         }
6334             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6335 0           {
6336 0 0         yy_current_state = (int) yy_def[yy_current_state];
6337 0           if ( yy_current_state >= 3376 )
6338             yy_c = yy_meta[yy_c];
6339 0           }
6340 0           yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6341             yy_is_jam = (yy_current_state == 3375);
6342 0 0          
6343             return yy_is_jam ? 0 : yy_current_state;
6344             }
6345              
6346             #ifndef YY_NO_UNPUT
6347 0            
6348             static void yyunput (int c, char * yy_bp )
6349             {
6350             char *yy_cp;
6351 0          
6352             yy_cp = (yy_c_buf_p);
6353              
6354 0           /* undo effects of setting up yytext */
6355             *yy_cp = (yy_hold_char);
6356 0 0          
6357             if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6358             { /* need to shift things up to make room */
6359 0           /* +2 for EOB chars. */
6360 0           int number_to_move = (yy_n_chars) + 2;
6361 0           char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
6362 0           YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
6363 0           char *source =
6364             &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
6365 0 0          
6366 0           while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6367             *--dest = *--source;
6368 0            
6369 0           yy_cp += (int) (dest - source);
6370 0           yy_bp += (int) (dest - source);
6371 0           YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
6372             (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
6373 0 0          
6374 0           if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6375             YY_FATAL_ERROR( "flex scanner push-back overflow" );
6376             }
6377 0            
6378             *--yy_cp = (char) c;
6379 0            
6380 0           (yytext_ptr) = yy_bp;
6381 0           (yy_hold_char) = *yy_cp;
6382 0           (yy_c_buf_p) = yy_cp;
6383             }
6384              
6385             #endif
6386              
6387             #ifndef YY_NO_INPUT
6388             #ifdef __cplusplus
6389             static int yyinput (void)
6390 0           #else
6391             static int input (void)
6392             #endif
6393              
6394             {
6395             int c;
6396 0          
6397             *(yy_c_buf_p) = (yy_hold_char);
6398 0 0          
6399             if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6400             {
6401             /* yy_c_buf_p now points to the character we want to return.
6402             * If this occurs *before* the EOB characters, then it's a
6403             * valid NUL; if not, then we've hit the end of the buffer.
6404 0 0         */
6405             if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6406 0           /* This was really a NUL. */
6407             *(yy_c_buf_p) = '\0';
6408              
6409             else
6410 0           { /* need more input */
6411 0           int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
6412             ++(yy_c_buf_p);
6413 0            
6414             switch ( yy_get_next_buffer( ) )
6415             {
6416             case EOB_ACT_LAST_MATCH:
6417             /* This happens because yy_g_n_b()
6418             * sees that we've accumulated a
6419             * token and flags that we need to
6420             * try matching the token before
6421             * proceeding. But for input(),
6422             * there's no matching to consider.
6423             * So convert the EOB_ACT_LAST_MATCH
6424             * to EOB_ACT_END_OF_FILE.
6425             */
6426              
6427 0           /* Reset buffer status. */
6428             yyrestart( yyin );
6429              
6430             /*FALLTHROUGH*/
6431              
6432             case EOB_ACT_END_OF_FILE:
6433             {
6434 0           if ( yywrap( ) )
6435             return 0;
6436              
6437             if ( ! (yy_did_buffer_switch_on_eof) )
6438             YY_NEW_FILE;
6439             #ifdef __cplusplus
6440             return yyinput();
6441             #else
6442             return input();
6443             #endif
6444             }
6445              
6446 0           case EOB_ACT_CONTINUE_SCAN:
6447 0           (yy_c_buf_p) = (yytext_ptr) + offset;
6448             break;
6449             }
6450             }
6451             }
6452 0            
6453 0           c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6454 0           *(yy_c_buf_p) = '\0'; /* preserve yytext */
6455             (yy_hold_char) = *++(yy_c_buf_p);
6456 0            
6457             return c;
6458             }
6459             #endif /* ifndef YY_NO_INPUT */
6460              
6461             /** Immediately switch to a different input stream.
6462             * @param input_file A readable stream.
6463             *
6464             * @note This function does not reset the start condition to @c INITIAL .
6465 4           */
6466             void yyrestart (FILE * input_file )
6467             {
6468 4 50        
    50          
6469 0           if ( ! YY_CURRENT_BUFFER ){
6470 0           yyensure_buffer_stack ();
6471 0           YY_CURRENT_BUFFER_LVALUE =
6472             yy_create_buffer( yyin, YY_BUF_SIZE );
6473             }
6474 4 50          
6475 4           yy_init_buffer( YY_CURRENT_BUFFER, input_file );
6476 4           yy_load_buffer_state( );
6477             }
6478              
6479             /** Switch to a different input buffer.
6480             * @param new_buffer The new input buffer.
6481             *
6482 0           */
6483             void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
6484             {
6485            
6486             /* TODO. We should be able to replace this entire function body
6487             * with
6488             * yypop_buffer_state();
6489             * yypush_buffer_state(new_buffer);
6490 0           */
6491 0 0         yyensure_buffer_stack ();
    0          
6492 0           if ( YY_CURRENT_BUFFER == new_buffer )
6493             return;
6494 0 0          
    0          
6495             if ( YY_CURRENT_BUFFER )
6496             {
6497 0           /* Flush out information for old buffer. */
6498 0           *(yy_c_buf_p) = (yy_hold_char);
6499 0           YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6500             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6501             }
6502 0            
6503 0           YY_CURRENT_BUFFER_LVALUE = new_buffer;
6504             yy_load_buffer_state( );
6505              
6506             /* We don't actually know whether we did this switch during
6507             * EOF (yywrap()) processing, but the only time this flag
6508             * is looked at is after yywrap() is called, so it's safe
6509             * to go ahead and always set it.
6510 0           */
6511             (yy_did_buffer_switch_on_eof) = 1;
6512             }
6513 12            
6514             static void yy_load_buffer_state (void)
6515 12           {
6516 12           (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6517 12           (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6518 12           yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6519 12           (yy_hold_char) = *(yy_c_buf_p);
6520             }
6521              
6522             /** Allocate and initialize an input buffer state.
6523             * @param file A readable stream.
6524             * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6525             *
6526             * @return the allocated buffer state.
6527 1           */
6528             YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
6529             {
6530             YY_BUFFER_STATE b;
6531 1          
6532 1 50         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
6533 0           if ( ! b )
6534             YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6535 1            
6536             b->yy_buf_size = size;
6537              
6538             /* yy_ch_buf has to be 2 characters longer than the size given because
6539             * we need to put in 2 end-of-buffer characters.
6540 1           */
6541 1 50         b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
6542 0           if ( ! b->yy_ch_buf )
6543             YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6544 1            
6545             b->yy_is_our_buffer = 1;
6546 1            
6547             yy_init_buffer( b, file );
6548 1            
6549             return b;
6550             }
6551              
6552             /** Destroy the buffer.
6553             * @param b a buffer created with yy_create_buffer()
6554             *
6555 0           */
6556             void yy_delete_buffer (YY_BUFFER_STATE b )
6557             {
6558 0 0        
6559 0           if ( ! b )
6560             return;
6561 0 0          
    0          
6562 0           if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6563             YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6564 0 0          
6565 0           if ( b->yy_is_our_buffer )
6566             yyfree( (void *) b->yy_ch_buf );
6567 0            
6568             yyfree( (void *) b );
6569             }
6570              
6571             /* Initializes or reinitializes a buffer.
6572             * This function is sometimes called more than once on the same buffer,
6573             * such as during a yyrestart() or at EOF.
6574 5           */
6575             static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
6576              
6577 5           {
6578             int oerrno = errno;
6579 5          
6580             yy_flush_buffer( b );
6581 5            
6582 5           b->yy_input_file = file;
6583             b->yy_fill_buffer = 1;
6584              
6585             /* If b is the current buffer, then yy_init_buffer was _probably_
6586             * called from yyrestart() or through yy_get_next_buffer.
6587             * In that case, we don't want to reset the lineno or column.
6588 5 50         */
    100          
6589 1           if (b != YY_CURRENT_BUFFER){
6590 1           b->yy_bs_lineno = 1;
6591             b->yy_bs_column = 0;
6592             }
6593 5 50          
    50          
6594             b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6595 5          
6596 5           errno = oerrno;
6597             }
6598              
6599             /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6600             * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6601             *
6602 9           */
6603             void yy_flush_buffer (YY_BUFFER_STATE b )
6604 9 100         {
6605 1           if ( ! b )
6606             return;
6607 8            
6608             b->yy_n_chars = 0;
6609              
6610             /* We always need two end-of-buffer characters. The first causes
6611             * a transition to the end-of-buffer state. The second causes
6612             * a jam in that state.
6613 8           */
6614 8           b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6615             b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6616 8            
6617             b->yy_buf_pos = &b->yy_ch_buf[0];
6618 8            
6619 8           b->yy_at_bol = 1;
6620             b->yy_buffer_status = YY_BUFFER_NEW;
6621 8 50          
    100          
6622 7           if ( b == YY_CURRENT_BUFFER )
6623             yy_load_buffer_state( );
6624             }
6625              
6626             /** Pushes the new state onto the stack. The new state becomes
6627             * the current state. This function will allocate the stack
6628             * if necessary.
6629             * @param new_buffer The new state.
6630             *
6631 0           */
6632             void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
6633 0 0         {
6634 0           if (new_buffer == NULL)
6635             return;
6636 0            
6637             yyensure_buffer_stack();
6638              
6639 0 0         /* This block is copied from yy_switch_to_buffer. */
    0          
6640             if ( YY_CURRENT_BUFFER )
6641             {
6642 0           /* Flush out information for old buffer. */
6643 0           *(yy_c_buf_p) = (yy_hold_char);
6644 0           YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6645             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6646             }
6647              
6648 0 0         /* Only push if top exists. Otherwise, replace top. */
    0          
6649 0           if (YY_CURRENT_BUFFER)
6650 0           (yy_buffer_stack_top)++;
6651             YY_CURRENT_BUFFER_LVALUE = new_buffer;
6652              
6653 0           /* copied from yy_switch_to_buffer. */
6654 0           yy_load_buffer_state( );
6655             (yy_did_buffer_switch_on_eof) = 1;
6656             }
6657              
6658             /** Removes and deletes the top of the stack, if present.
6659             * The next element becomes the new top.
6660             *
6661 0           */
6662             void yypop_buffer_state (void)
6663 0 0         {
    0          
6664 0           if (!YY_CURRENT_BUFFER)
6665             return;
6666 0 0          
6667 0           yy_delete_buffer(YY_CURRENT_BUFFER );
6668 0 0         YY_CURRENT_BUFFER_LVALUE = NULL;
6669 0           if ((yy_buffer_stack_top) > 0)
6670             --(yy_buffer_stack_top);
6671 0 0          
    0          
6672 0           if (YY_CURRENT_BUFFER) {
6673 0           yy_load_buffer_state( );
6674             (yy_did_buffer_switch_on_eof) = 1;
6675             }
6676             }
6677              
6678             /* Allocates the stack if it does not exist.
6679             * Guarantees space for at least one push.
6680 1           */
6681             static void yyensure_buffer_stack (void)
6682             {
6683             yy_size_t num_to_alloc;
6684 1 50        
6685             if (!(yy_buffer_stack)) {
6686              
6687             /* First allocation is just for 2 elements, since we don't know if this
6688             * scanner will even need a stack. We use 2 instead of 1 to avoid an
6689             * immediate realloc on the next call.
6690 1           */
6691 1           num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
6692             (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
6693             (num_to_alloc * sizeof(struct yy_buffer_state*)
6694 1 50         );
6695 0           if ( ! (yy_buffer_stack) )
6696             YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6697 1            
6698             memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6699 1            
6700 1           (yy_buffer_stack_max) = num_to_alloc;
6701 1           (yy_buffer_stack_top) = 0;
6702             return;
6703             }
6704 0 0          
6705             if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6706              
6707 0           /* Increase the buffer to prepare for a possible push. */
6708             yy_size_t grow_size = 8 /* arbitrary grow size */;
6709 0            
6710 0           num_to_alloc = (yy_buffer_stack_max) + grow_size;
6711             (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
6712             ((yy_buffer_stack),
6713             num_to_alloc * sizeof(struct yy_buffer_state*)
6714 0 0         );
6715 0           if ( ! (yy_buffer_stack) )
6716             YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6717              
6718 0           /* zero only the new slots.*/
6719 0           memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6720             (yy_buffer_stack_max) = num_to_alloc;
6721             }
6722             }
6723              
6724             /** Setup the input buffer state to scan directly from a user-specified character buffer.
6725             * @param base the character buffer
6726             * @param size the size in bytes of the character buffer
6727             *
6728             * @return the newly allocated buffer state object.
6729 0           */
6730             YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
6731             {
6732             YY_BUFFER_STATE b;
6733 0 0        
    0          
6734 0 0         if ( size < 2 ||
6735 0           base[size-2] != YY_END_OF_BUFFER_CHAR ||
6736             base[size-1] != YY_END_OF_BUFFER_CHAR )
6737 0           /* They forgot to leave room for the EOB's. */
6738             return NULL;
6739 0            
6740 0 0         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
6741 0           if ( ! b )
6742             YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6743 0            
6744 0           b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
6745 0           b->yy_buf_pos = b->yy_ch_buf = base;
6746 0           b->yy_is_our_buffer = 0;
6747 0           b->yy_input_file = NULL;
6748 0           b->yy_n_chars = b->yy_buf_size;
6749 0           b->yy_is_interactive = 0;
6750 0           b->yy_at_bol = 1;
6751 0           b->yy_fill_buffer = 0;
6752             b->yy_buffer_status = YY_BUFFER_NEW;
6753 0            
6754             yy_switch_to_buffer( b );
6755 0            
6756             return b;
6757             }
6758              
6759             /** Setup the input buffer state to scan a string. The next call to yylex() will
6760             * scan from a @e copy of @a str.
6761             * @param yystr a NUL-terminated string to scan
6762             *
6763             * @return the newly allocated buffer state object.
6764             * @note If you want to scan bytes that may contain NUL values, then use
6765             * yy_scan_bytes() instead.
6766 0           */
6767             YY_BUFFER_STATE yy_scan_string (const char * yystr )
6768             {
6769 0          
6770             return yy_scan_bytes( yystr, (int) strlen(yystr) );
6771             }
6772              
6773             /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
6774             * scan from a @e copy of @a bytes.
6775             * @param yybytes the byte buffer to scan
6776             * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6777             *
6778             * @return the newly allocated buffer state object.
6779 0           */
6780             YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
6781             {
6782             YY_BUFFER_STATE b;
6783             char *buf;
6784             yy_size_t n;
6785             int i;
6786            
6787 0           /* Get memory for full buffer, including space for trailing EOB's. */
6788 0           n = (yy_size_t) (_yybytes_len + 2);
6789 0 0         buf = (char *) yyalloc( n );
6790 0           if ( ! buf )
6791             YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6792 0 0          
6793 0           for ( i = 0; i < _yybytes_len; ++i )
6794             buf[i] = yybytes[i];
6795 0            
6796             buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6797 0            
6798 0 0         b = yy_scan_buffer( buf, n );
6799 0           if ( ! b )
6800             YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6801              
6802             /* It's okay to grow etc. this buffer, and we should throw it
6803             * away when we're done.
6804 0           */
6805             b->yy_is_our_buffer = 1;
6806 0            
6807             return b;
6808             }
6809              
6810             #ifndef YY_EXIT_FAILURE
6811             #define YY_EXIT_FAILURE 2
6812             #endif
6813 0            
6814             static void yynoreturn yy_fatal_error (const char* msg )
6815 0           {
6816 0           fprintf( stderr, "%s\n", msg );
6817             exit( YY_EXIT_FAILURE );
6818             }
6819              
6820             /* Redefine yyless() so it works in section 3 code. */
6821              
6822             #undef yyless
6823             #define yyless(n) \
6824             do \
6825             { \
6826             /* Undo effects of setting up yytext. */ \
6827             int yyless_macro_arg = (n); \
6828             YY_LESS_LINENO(yyless_macro_arg);\
6829             yytext[yyleng] = (yy_hold_char); \
6830             (yy_c_buf_p) = yytext + yyless_macro_arg; \
6831             (yy_hold_char) = *(yy_c_buf_p); \
6832             *(yy_c_buf_p) = '\0'; \
6833             yyleng = yyless_macro_arg; \
6834             } \
6835             while ( 0 )
6836              
6837             /* Accessor methods (get/set functions) to struct members. */
6838              
6839             /** Get the current line number.
6840             *
6841 0           */
6842             int yyget_lineno (void)
6843             {
6844 0          
6845             return yylineno;
6846             }
6847              
6848             /** Get the input stream.
6849             *
6850 0           */
6851             FILE *yyget_in (void)
6852 0           {
6853             return yyin;
6854             }
6855              
6856             /** Get the output stream.
6857             *
6858 0           */
6859             FILE *yyget_out (void)
6860 0           {
6861             return yyout;
6862             }
6863              
6864             /** Get the length of the current token.
6865             *
6866 0           */
6867             int yyget_leng (void)
6868 0           {
6869             return yyleng;
6870             }
6871              
6872             /** Get the current token.
6873             *
6874             */
6875 0            
6876             char *yyget_text (void)
6877 0           {
6878             return yytext;
6879             }
6880              
6881             /** Set the current line number.
6882             * @param _line_number line number
6883             *
6884 0           */
6885             void yyset_lineno (int _line_number )
6886             {
6887 0          
6888 0           yylineno = _line_number;
6889             }
6890              
6891             /** Set the input stream. This does not discard the current
6892             * input buffer.
6893             * @param _in_str A readable stream.
6894             *
6895             * @see yy_switch_to_buffer
6896 0           */
6897             void yyset_in (FILE * _in_str )
6898 0           {
6899 0           yyin = _in_str ;
6900             }
6901 0            
6902             void yyset_out (FILE * _out_str )
6903 0           {
6904 0           yyout = _out_str ;
6905             }
6906 0            
6907             int yyget_debug (void)
6908 0           {
6909             return yy_flex_debug;
6910             }
6911 0            
6912             void yyset_debug (int _bdebug )
6913 0           {
6914 0           yy_flex_debug = _bdebug ;
6915             }
6916 0            
6917             static int yy_init_globals (void)
6918             {
6919             /* Initialization is the same as for the non-reentrant scanner.
6920             * This function is called from yylex_destroy(), so don't allocate here.
6921             */
6922 0            
6923 0           (yy_buffer_stack) = NULL;
6924 0           (yy_buffer_stack_top) = 0;
6925 0           (yy_buffer_stack_max) = 0;
6926 0           (yy_c_buf_p) = NULL;
6927 0           (yy_init) = 0;
6928             (yy_start) = 0;
6929              
6930             /* Defined in main.c */
6931             #ifdef YY_STDINIT
6932             yyin = stdin;
6933             yyout = stdout;
6934 0           #else
6935 0           yyin = NULL;
6936             yyout = NULL;
6937             #endif
6938              
6939             /* For future reference: Set errno on error, since we are called by
6940             * yylex_init()
6941 0           */
6942             return 0;
6943             }
6944              
6945 0           /* yylex_destroy is for both reentrant and non-reentrant scanners. */
6946             int yylex_destroy (void)
6947             {
6948            
6949 0 0         /* Pop the buffer stack, destroying each element. */
    0          
6950 0 0         while(YY_CURRENT_BUFFER){
6951 0           yy_delete_buffer( YY_CURRENT_BUFFER );
6952 0           YY_CURRENT_BUFFER_LVALUE = NULL;
6953             yypop_buffer_state();
6954             }
6955              
6956 0           /* Destroy the stack itself. */
6957 0           yyfree((yy_buffer_stack) );
6958             (yy_buffer_stack) = NULL;
6959              
6960             /* Reset the globals. This is important in a non-reentrant scanner so the next time
6961 0           * yylex() is called, initialization will occur. */
6962             yy_init_globals( );
6963 0            
6964             return 0;
6965             }
6966              
6967             /*
6968             * Internal utility routines.
6969             */
6970              
6971             #ifndef yytext_ptr
6972             static void yy_flex_strncpy (char* s1, const char * s2, int n )
6973             {
6974            
6975             int i;
6976             for ( i = 0; i < n; ++i )
6977             s1[i] = s2[i];
6978             }
6979             #endif
6980              
6981             #ifdef YY_NEED_STRLEN
6982             static int yy_flex_strlen (const char * s )
6983             {
6984             int n;
6985             for ( n = 0; s[n]; ++n )
6986             ;
6987              
6988             return n;
6989             }
6990             #endif
6991 3            
6992             void *yyalloc (yy_size_t size )
6993 3           {
6994             return malloc(size);
6995             }
6996 0            
6997             void *yyrealloc (void * ptr, yy_size_t size )
6998             {
6999            
7000             /* The cast to (char *) in the following accommodates both
7001             * implementations that use char* generic pointers, and those
7002             * that use void* generic pointers. It works with the latter
7003             * because both ANSI C and C++ allow castless assignment from
7004             * any pointer type to void*, and deal with argument conversions
7005             * as though doing an assignment.
7006 0           */
7007             return realloc(ptr, size);
7008             }
7009 0            
7010             void yyfree (void * ptr )
7011 0           {
7012 0           free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
7013             }
7014              
7015             #define YYTABLES_NAME "yytables"
7016              
7017             #line 1127 "itex2MML.l"
7018              
7019              
7020             void itex2MML_restart ()
7021             {
7022             BEGIN(INITIAL);
7023             }
7024              
7025             static const char * s_itex2MML_buffer = 0;
7026             static size_t s_itex2MML_length = 0;
7027              
7028             void itex2MML_setup (const char * buffer, size_t length)
7029             {
7030             yy_flush_buffer( YY_CURRENT_BUFFER );
7031              
7032             s_itex2MML_buffer = buffer;
7033             s_itex2MML_length = length;
7034             }
7035              
7036             void itex2MML_capture_eqn_src()
7037             {
7038             if (YY_START != INITIAL && YY_START != SVGENV)
7039             itex2MML_do_capture_eqn();
7040             }
7041              
7042             void itex2MML_do_capture_eqn()
7043             {
7044             if (itex2MML_eqn_bufsize - (itex2MML_eqn_end-itex2MML_eqn_src+yyleng) > 1)
7045             {
7046             strcpy(itex2MML_eqn_end, yytext);
7047             itex2MML_eqn_end += yyleng;
7048             }
7049             }
7050              
7051             static size_t s_itex2MML_read (char * buffer, size_t max_size)
7052             {
7053             size_t result = 0;
7054              
7055             if (max_size < s_itex2MML_length)
7056             {
7057             result = max_size;
7058              
7059             memcpy (buffer, s_itex2MML_buffer, max_size);
7060              
7061             s_itex2MML_buffer += max_size;
7062             s_itex2MML_length -= max_size;
7063             }
7064             else
7065             {
7066             result = s_itex2MML_length;
7067              
7068             memcpy (buffer, s_itex2MML_buffer, s_itex2MML_length);
7069              
7070             s_itex2MML_buffer = 0;
7071             s_itex2MML_length = 0;
7072             }
7073             return result;
7074             }
7075