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