xref: /netbsd/external/bsd/flex/dist/src/initscan.c (revision 8effae50)
1 
2 #define  YY_INT_ALIGNED short int
3 
4 /* A lexical scanner generated by flex */
5 
6 #define FLEX_SCANNER
7 #define YY_FLEX_MAJOR_VERSION 2
8 #define YY_FLEX_MINOR_VERSION 6
9 #define YY_FLEX_SUBMINOR_VERSION 3
10 #if YY_FLEX_SUBMINOR_VERSION > 0
11 #define FLEX_BETA
12 #endif
13 
14 /* First, we deal with  platform-specific or compiler-specific issues. */
15 
16 /* begin standard C headers. */
17 #ifdef _LIBC
18 #include "namespace.h"
19 #endif
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24 
25 /* end standard C headers. */
26 
27 /*	$NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $	*/
28 
29 /* flex integer type definitions */
30 
31 #ifndef FLEXINT_H
32 #define FLEXINT_H
33 
34 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
35 
36 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
37 
38 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
39  * if you want the limit (max/min) macros for int types.
40  */
41 #ifndef __STDC_LIMIT_MACROS
42 #define __STDC_LIMIT_MACROS 1
43 #endif
44 
45 #include <inttypes.h>
46 typedef int8_t flex_int8_t;
47 typedef uint8_t flex_uint8_t;
48 typedef int16_t flex_int16_t;
49 typedef uint16_t flex_uint16_t;
50 typedef int32_t flex_int32_t;
51 typedef uint32_t flex_uint32_t;
52 #else
53 typedef signed char flex_int8_t;
54 typedef short int flex_int16_t;
55 typedef int flex_int32_t;
56 typedef unsigned char flex_uint8_t;
57 typedef unsigned short int flex_uint16_t;
58 typedef unsigned int flex_uint32_t;
59 
60 /* Limits of integral types. */
61 #ifndef INT8_MIN
62 #define INT8_MIN               (-128)
63 #endif
64 #ifndef INT16_MIN
65 #define INT16_MIN              (-32767-1)
66 #endif
67 #ifndef INT32_MIN
68 #define INT32_MIN              (-2147483647-1)
69 #endif
70 #ifndef INT8_MAX
71 #define INT8_MAX               (127)
72 #endif
73 #ifndef INT16_MAX
74 #define INT16_MAX              (32767)
75 #endif
76 #ifndef INT32_MAX
77 #define INT32_MAX              (2147483647)
78 #endif
79 #ifndef UINT8_MAX
80 #define UINT8_MAX              (255U)
81 #endif
82 #ifndef UINT16_MAX
83 #define UINT16_MAX             (65535U)
84 #endif
85 #ifndef UINT32_MAX
86 #define UINT32_MAX             (4294967295U)
87 #endif
88 
89 #endif /* ! C99 */
90 
91 #endif /* ! FLEXINT_H */
92 
93 /* begin standard C++ headers. */
94 
95 /* TODO: this is always defined, so inline it */
96 #define yyconst const
97 
98 #if defined(__GNUC__) && __GNUC__ >= 3
99 #define yynoreturn __attribute__((__noreturn__))
100 #else
101 #define yynoreturn
102 #endif
103 
104 /* Returned upon end-of-file. */
105 #define YY_NULL 0
106 
107 /* Promotes a possibly negative, possibly signed char to an
108  *   integer in range [0..255] for use as an array index.
109  */
110 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
111 
112 /* Enter a start condition.  This macro really ought to take a parameter,
113  * but we do it the disgusting crufty way forced on us by the ()-less
114  * definition of BEGIN.
115  */
116 #define BEGIN (yy_start) = 1 + 2 *
117 /* Translate the current start state into a value that can be later handed
118  * to BEGIN to return to the state.  The YYSTATE alias is for lex
119  * compatibility.
120  */
121 #define YY_START (((yy_start) - 1) / 2)
122 #define YYSTATE YY_START
123 /* Action number for EOF rule of a given start state. */
124 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
125 /* Special action meaning "start processing a new file". */
126 #define YY_NEW_FILE yyrestart( yyin  )
127 #define YY_END_OF_BUFFER_CHAR 0
128 
129 /* Size of default input buffer. */
130 #ifndef YY_BUF_SIZE
131 #ifdef __ia64__
132 /* On IA-64, the buffer size is 16k, not 8k.
133  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
134  * Ditto for the __ia64__ case accordingly.
135  */
136 #define YY_BUF_SIZE 32768
137 #else
138 #define YY_BUF_SIZE 16384
139 #endif /* __ia64__ */
140 #endif
141 
142 /* The state buf must be large enough to hold one state per character in the main buffer.
143  */
144 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
145 
146 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
147 #define YY_TYPEDEF_YY_BUFFER_STATE
148 typedef struct yy_buffer_state *YY_BUFFER_STATE;
149 #endif
150 
151 #ifndef YY_TYPEDEF_YY_SIZE_T
152 #define YY_TYPEDEF_YY_SIZE_T
153 typedef size_t yy_size_t;
154 #endif
155 
156 extern yy_size_t yyleng;
157 
158 extern FILE *yyin, *yyout;
159 
160 #define EOB_ACT_CONTINUE_SCAN 0
161 #define EOB_ACT_END_OF_FILE 1
162 #define EOB_ACT_LAST_MATCH 2
163 
164     #define YY_LESS_LINENO(n)
165     #define YY_LINENO_REWIND_TO(ptr)
166 
167 /* Return all but the first "n" matched characters back to the input stream. */
168 #define yyless(n) \
169 	do \
170 		{ \
171 		/* Undo effects of setting up yytext. */ \
172         int yyless_macro_arg = (n); \
173         YY_LESS_LINENO(yyless_macro_arg);\
174 		*yy_cp = (yy_hold_char); \
175 		YY_RESTORE_YY_MORE_OFFSET \
176 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
177 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
178 		} \
179 	while ( 0 )
180 #define unput(c) yyunput( c, (yytext_ptr)  )
181 
182 #ifndef YY_STRUCT_YY_BUFFER_STATE
183 #define YY_STRUCT_YY_BUFFER_STATE
184 struct yy_buffer_state
185 	{
186 	FILE *yy_input_file;
187 
188 	char *yy_ch_buf;		/* input buffer */
189 	char *yy_buf_pos;		/* current position in input buffer */
190 
191 	/* Size of input buffer in bytes, not including room for EOB
192 	 * characters.
193 	 */
194 	size_t yy_buf_size;
195 
196 	/* Number of characters read into yy_ch_buf, not including EOB
197 	 * characters.
198 	 */
199 	size_t yy_n_chars;
200 
201 	/* Whether we "own" the buffer - i.e., we know we created it,
202 	 * and can realloc() it to grow it, and should free() it to
203 	 * delete it.
204 	 */
205 	int yy_is_our_buffer;
206 
207 	/* Whether this is an "interactive" input source; if so, and
208 	 * if we're using stdio for input, then we want to use getc()
209 	 * instead of fread(), to make sure we stop fetching input after
210 	 * each newline.
211 	 */
212 	int yy_is_interactive;
213 
214 	/* Whether we're considered to be at the beginning of a line.
215 	 * If so, '^' rules will be active on the next match, otherwise
216 	 * not.
217 	 */
218 	int yy_at_bol;
219 
220     int yy_bs_lineno; /**< The line count. */
221     int yy_bs_column; /**< The column count. */
222 
223 	/* Whether to try to fill the input buffer when we reach the
224 	 * end of it.
225 	 */
226 	int yy_fill_buffer;
227 
228 	int yy_buffer_status;
229 
230 #define YY_BUFFER_NEW 0
231 #define YY_BUFFER_NORMAL 1
232 	/* When an EOF's been seen but there's still some text to process
233 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
234 	 * shouldn't try reading from the input source any more.  We might
235 	 * still have a bunch of tokens to match, though, because of
236 	 * possible backing-up.
237 	 *
238 	 * When we actually see the EOF, we change the status to "new"
239 	 * (via yyrestart()), so that the user can continue scanning by
240 	 * just pointing yyin at a new input file.
241 	 */
242 #define YY_BUFFER_EOF_PENDING 2
243 
244 	};
245 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
246 
247 /* Stack of input buffers. */
248 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
249 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
250 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
251 
252 /* We provide macros for accessing buffer states in case in the
253  * future we want to put the buffer states in a more general
254  * "scanner state".
255  *
256  * Returns the top of the stack, or NULL.
257  */
258 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
259                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
260                           : NULL)
261 /* Same as previous macro, but useful when we know that the buffer stack is not
262  * NULL or when we need an lvalue. For internal use only.
263  */
264 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
265 
266 /* yy_hold_char holds the character lost when yytext is formed. */
267 static char yy_hold_char;
268 static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
269 yy_size_t yyleng;
270 
271 /* Points to current character in buffer. */
272 static char *yy_c_buf_p = NULL;
273 static int yy_init = 0;		/* whether we need to initialize */
274 static int yy_start = 0;	/* start state number */
275 
276 /* Flag which is used to allow yywrap()'s to do buffer switches
277  * instead of setting up a fresh yyin.  A bit of a hack ...
278  */
279 static int yy_did_buffer_switch_on_eof;
280 
281 void yyrestart ( FILE *input_file  );
282 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
283 YY_BUFFER_STATE yy_create_buffer ( FILE *file, yy_size_t size  );
284 void yy_delete_buffer ( YY_BUFFER_STATE b  );
285 void yy_flush_buffer ( YY_BUFFER_STATE b  );
286 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
287 void yypop_buffer_state ( void );
288 
289 static void yyensure_buffer_stack ( void );
290 static void yy_load_buffer_state ( void );
291 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
292 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
293 
294 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
295 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
296 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len  );
297 
298 void *yyalloc ( yy_size_t  );
299 void *yyrealloc ( void *, yy_size_t  );
300 void yyfree ( void *  );
301 
302 #define yy_new_buffer yy_create_buffer
303 #define yy_set_interactive(is_interactive) \
304 	{ \
305 	if ( ! YY_CURRENT_BUFFER ){ \
306         yyensure_buffer_stack (); \
307 		YY_CURRENT_BUFFER_LVALUE =    \
308             yy_create_buffer( yyin, YY_BUF_SIZE ); \
309 	} \
310 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
311 	}
312 #define yy_set_bol(at_bol) \
313 	{ \
314 	if ( ! YY_CURRENT_BUFFER ){\
315         yyensure_buffer_stack (); \
316 		YY_CURRENT_BUFFER_LVALUE =    \
317             yy_create_buffer( yyin, YY_BUF_SIZE ); \
318 	} \
319 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
320 	}
321 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
322 
323 /* Begin user sect3 */
324 typedef flex_uint8_t YY_CHAR;
325 
326 FILE *yyin = NULL, *yyout = NULL;
327 
328 typedef int yy_state_type;
329 
330 extern int yylineno;
331 int yylineno = 1;
332 
333 extern char *yytext;
334 #ifdef yytext_ptr
335 #undef yytext_ptr
336 #endif
337 #define yytext_ptr yytext
338 
339 static yy_state_type yy_get_previous_state ( void );
340 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
341 static int yy_get_next_buffer ( void );
342 static void yynoreturn yy_fatal_error ( const char* msg  );
343 
344 /* Done after the current pattern has been matched and before the
345  * corresponding action - sets up yytext.
346  */
347 #define YY_DO_BEFORE_ACTION \
348 	(yytext_ptr) = yy_bp; \
349 	yyleng = (yy_size_t)(yy_cp - yy_bp); \
350 	(yy_hold_char) = *yy_cp; \
351 	*yy_cp = '\0'; \
352 	(yy_c_buf_p) = yy_cp;
353 #define YY_NUM_RULES 253
354 #define YY_END_OF_BUFFER 254
355 /* This struct is not used in this scanner,
356    but its presence is necessary. */
357 struct yy_trans_info
358 	{
359 	flex_int32_t yy_verify;
360 	flex_int32_t yy_nxt;
361 	};
362 static const flex_int16_t yy_accept[1114] =
363     {   0,
364         0,    0,    0,    0,    0,    0,  246,  246,   40,   40,
365         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
366         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
367       239,  239,    0,    0,    0,    0,    0,    0,    0,    0,
368         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
369       250,  250,  239,  239,  254,  252,    9,   20,  252,   18,
370         1,   19,  252,  252,  252,  252,   17,  163,  148,  149,
371       163,  141,  163,  160,  161,  162,  162,  163,  163,  163,
372       162,  147,  137,  163,  163,  139,  140,  135,  136,  135,
373       134,  133,  134,  246,  247,  247,   40,   42,   40,   41,
374 
375        40,   40,   41,   41,   41,   50,   49,   51,  252,  169,
376       169,  164,  169,  165,  166,  168,  170,  218,  219,  218,
377       216,  215,  217,  171,  173,  171,  172,  171,  185,  185,
378       185,  185,  187,  189,  187,  187,  187,  187,  188,  228,
379       233,  228,  232,  231,  234,  229,  229,  229,  234,  234,
380       226,  227,  252,  130,  252,   21,   23,   21,   22,   22,
381        22,  235,  241,  235,  236,  242,  242,  242,  224,  224,
382       225,  224,  224,  224,  224,  224,  224,  224,  129,   53,
383        52,  129,  129,  129,  129,   54,  129,  129,  129,  129,
384       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
385 
386       129,  129,  129,  129,  129,  129,  129,   36,   33,   36,
387        34,   48,   45,  252,   48,   48,   44,   43,  175,  174,
388       176,  177,  178,  179,  180,  181,  182,   31,   32,   31,
389        30,   28,   29,   28,   27,   22,  250,  251,  251,  237,
390       237,  238,    9,   20,    0,   18,    1,   19,    0,    0,
391         0,   16,   10,    0,    0,    0,    0,    4,   16,    5,
392         0,    2,   17,  148,  149,    0,    0,    0,  143,    0,
393       159,  157,    0,  153,  153,    0,  243,  243,  243,    0,
394         0,  142,    0,  147,  137,    0,    0,    0,  139,  140,
395       152,  138,    0,  136,  134,  133,  131,  132,  246,  244,
396 
397       245,   40,   42,   40,   40,   37,   38,    0,   50,   49,
398        51,    0,  164,    0,  164,  167,  168,  219,  215,  173,
399         0,  183,  184,  189,  186,  228,  233,    0,    0,  221,
400       229,  229,  229,    0,  130,    0,   21,   23,   24,  235,
401       241,  240,  239,  240,    0,    0,  225,  220,    0,    0,
402        53,   52,    0,  128,    0,    0,  129,  129,  129,  129,
403       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
404       129,  129,  129,  129,  129,  129,   55,  129,  129,  129,
405       129,  129,  129,  129,  129,  129,  129,  129,    0,   35,
406        34,   48,   45,   46,   47,   31,   32,   29,   26,   25,
407 
408       250,  248,  249,  237,    0,   16,   10,    0,   14,    0,
409         0,    0,    0,    0,    4,   16,    5,    0,    6,    0,
410       144,    0,  145,    0,  158,    0,  153,  153,    0,  153,
411       153,  153,  243,  243,  155,  154,    0,  156,  138,  146,
412         0,  152,    0,  131,  132,   40,   40,    0,   39,    0,
413         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
414         0,    0,  230,  229,  229,    0,    0,  220,    0,    0,
415         0,    0,  129,  129,  129,  129,  129,  129,   65,  129,
416       129,  129,   70,  129,  129,  129,  129,  129,  129,  129,
417       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
418 
419       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
420       129,  129,  129,  129,  129,  129,  129,  129,    0,    0,
421         0,    0,   14,    0,    0,    0,    0,    0,    0,    4,
422         8,    5,    0,  153,  153,  153,  153,  153,  153,  153,
423       243,  156,    0,    0,   40,   40,    0,    0,    0,    0,
424         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
425         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
426         0,    0,   56,   57,  129,  129,  129,  129,  129,  129,
427       129,  129,  129,  129,   71,   72,  129,  129,  129,  129,
428        77,   78,  129,  129,  129,  129,  129,  129,  129,   83,
429 
430       129,  129,  129,  129,  129,  129,  129,  129,  129,   92,
431       129,  129,  129,  129,  129,  129,  129,  129,  129,    0,
432         0,    0,    0,   15,    0,    0,    0,    0,    0,    8,
433         8,    8,    0,  153,  153,  153,  153,  153,  153,  153,
434         0,    0,   40,   40,  214,    0,    0,    0,    0,    0,
435         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
436         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
437         0,    0,   58,  129,   60,  129,   62,  129,  129,  129,
438       129,   68,  129,  129,  129,   73,  129,  129,  129,  129,
439       129,  129,  129,  129,  129,  129,  129,   86,  129,  129,
440 
441       129,  129,   90,  129,  129,  129,  129,  129,  129,  129,
442       129,  129,  129,    0,    0,    0,    0,    3,    0,    0,
443         0,    8,    7,    8,    0,  153,  153,  153,    0,    0,
444        40,   40,    0,    0,    0,    0,    0,    0,    0,    0,
445         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
446         0,    0,    0,    0,    0,    0,  222,  223,  222,  223,
447       129,   61,  129,  129,  129,  129,  129,  129,  129,  125,
448       129,  129,  129,  129,  129,  129,  129,  129,  123,  129,
449        85,  129,   88,  129,   89,  129,  129,  129,  104,    0,
450       129,   94,  129,    0,   95,    0,    0,    0,    0,    0,
451 
452        12,    0,   13,    0,  151,    0,  150,    0,    0,    0,
453         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
454         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
455         0,  129,  129,  129,  129,  129,   66,  129,   69,  129,
456       129,  129,  129,  129,  129,  122,  129,   82,  129,  129,
457        87,  129,   91,  102,  124,    0,    0,    0,    0,    0,
458         0,  129,  129,    0,    0,    0,    0,    0,    0,    0,
459         0,    0,    0,  150,    0,    0,    0,    0,    0,    0,
460         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
461         0,    0,    0,    0,    0,    0,    0,    0,  129,  129,
462 
463       129,  129,  129,   67,  129,  129,  129,  129,   79,  129,
464       129,  129,  129,  129,  129,    0,    0,  113,    0,    0,
465         0,    0,    0,    0,   93,  129,    0,    0,  114,    0,
466         0,    0,    0,    0,    0,    0,    0,    0,   11,    0,
467       190,  191,  192,  193,  194,  195,  196,  197,  198,  199,
468       200,    0,    0,    0,    0,    0,    0,    0,    0,    0,
469         0,    0,    0,    0,  129,  129,  129,  129,  129,  129,
470       129,  129,  129,  129,  129,  129,   84,  129,  129,    0,
471         0,    0,    0,    0,    0,  115,    0,  103,    0,    0,
472         0,    0,    0,  116,    0,    0,    0,    0,    0,  201,
473 
474       202,  203,  204,  205,  206,  207,  208,  209,  210,  211,
475       212,    0,  129,  129,  129,  129,  129,  121,  129,  129,
476        75,  129,  129,  129,  129,  129,    0,    0,  109,    0,
477       119,  117,  110,    0,    0,    0,  120,  118,    0,    0,
478         0,    0,    0,    0,  213,  129,  129,  129,  129,  129,
479       125,   74,  129,   81,  129,  126,  129,  105,  107,    0,
480       106,  108,    0,    0,    0,    0,    0,    0,    0,  129,
481        63,  129,  129,  129,  129,   76,  129,  111,  112,   97,
482         0,    0,    0,    0,   98,  129,  129,  129,  129,  129,
483       127,   96,    0,  100,    0,  129,  129,  129,   66,  129,
484 
485        99,  101,  129,   64,  129,  129,  129,   67,  129,  129,
486        80,   59,    0
487     } ;
488 
489 static const YY_CHAR yy_ec[256] =
490     {   0,
491         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
492         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
493         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
494         1,    2,    1,    6,    7,    8,    9,    1,   10,   11,
495        12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
496        19,   19,   19,   19,   20,   21,   22,   23,    1,   24,
497        25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
498        34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
499        44,   45,   46,   47,   48,   49,   50,   51,   52,   44,
500        53,   54,   55,   56,   57,    1,   58,   59,   60,   61,
501 
502        62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
503        72,   73,   44,   74,   75,   76,   77,   78,   79,   80,
504        81,   44,   82,   83,   84,    1,    1,    1,    1,    1,
505         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
506         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
507         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
508         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
509         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
510         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
511         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
512 
513         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
516         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
517         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
518         1,    1,    1,    1,    1
519     } ;
520 
521 static const YY_CHAR yy_meta[85] =
522     {   0,
523         1,    1,    2,    1,    3,    4,    1,    1,    5,    6,
524         1,    7,    8,    9,    1,   10,    1,   11,   12,   12,
525        12,   12,   13,    1,    1,    1,    1,   14,   14,   14,
526        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
527        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
528        15,   15,   16,   17,   18,    1,   19,   14,   14,   14,
529        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
530        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
531        15,   20,    1,   21
532     } ;
533 
534 static const flex_int16_t yy_base[1221] =
535     {   0,
536         0,   84,  167,  250,  171,  184,  135,  142,  220,  231,
537       196,  200,  334,    0, 3627, 3625,  211,  416,  203,  212,
538       189,  225,  266,  417,  500,    0,  207,  208,  234,  421,
539       424,  436,  583,  588,  669,    0,  294,  304,  584,  751,
540       579,  580,  417,  576,  287,  306,  241,  441,  595,  608,
541       169,  238,  440,  754, 3680, 4511,  325, 4511, 3676,    0,
542       446, 4511, 3673,  430,  827, 3661,    0, 4511,  758, 4511,
543      3650, 4511,  453, 3621, 4511, 4511, 3619, 3584,  129,  746,
544       445,  766, 4511, 3604,  198, 3582, 4511, 4511, 4511, 3600,
545         0, 3599,  214,    0, 3506, 3483,    0, 4511, 3532, 4511,
546 
547       420,  119, 3481, 3478, 3446,    0, 3526, 4511, 3520, 4511,
548       482, 3520, 3518, 4511, 3455,    0, 4511, 4511, 4511, 3504,
549      4511,  598, 4511, 4511, 4511, 3499, 4511,  754, 4511, 3477,
550       759,  180, 4511, 4511, 3467,    0, 3442,  762, 4511,    0,
551      4511, 3459, 4511, 3406, 3434,    0,  562,  167, 3393, 3370,
552      4511, 4511,  326, 4511,  420,    0, 4511, 3418, 3402, 3366,
553      3342,    0, 4511, 3368, 4511, 3317,  444, 3314, 4511,  471,
554      4511, 3354, 3271, 3337,  572,  189, 3295, 3285, 4511, 3332,
555      4511, 3307, 3303,  585,  594, 4511,  746,  734,  744,  754,
556       763,  770,    0,  755,  748,  763,  818,  789,  240,  822,
557 
558       762,  381,  802,  791,  813,  824,  577, 4511, 4511, 3302,
559       871,    0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
560      4511, 4511, 4511, 4511, 4511, 4511, 4511,    0, 4511, 3279,
561      4511, 4511, 4511, 3276, 3260, 3259,    0, 3221, 3214,    0,
562      3264, 4511,  835, 4511, 3262,    0,  903, 4511, 3257,  842,
563       817,    0,    0,  910,  914,  918,  922,    0,  814,    0,
564       457, 4511,    0,  943, 4511, 3241, 3141,  483, 4511, 3217,
565      3212, 4511,  826,  556,  903,  930, 4511,  757,    0, 3134,
566      3131, 4511, 3129,  964, 4511, 3190, 3110, 3174, 3161, 4511,
567         0, 4511,  896, 4511,    0, 3172,    0,    0,    0, 4511,
568 
569      4511,    0, 4511,  910,  913, 4511, 4511,  602,    0, 3169,
570      4511,  957, 3164, 3161, 3127, 4511,    0, 4511,  976, 4511,
571      1020, 4511, 4511, 4511, 4511,    0, 4511, 3116,    0, 4511,
572         0,  926,  930,  644, 4511,  662,    0, 4511, 4511,    0,
573      4511, 4511, 3071, 3121,  794, 3037, 4511,    0,  934,  932,
574      3117, 4511, 3091, 4511,  938,  939,    0,  940,  738,  956,
575       802, 3059,  876,  978,  933,  933,  939,  948,  964, 1030,
576       938,  958,  976,  968,    0,  996, 4511,  999, 1057, 1068,
577       981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
578      1014,    0, 4511, 4511, 4511,    0, 4511, 4511, 4511, 4511,
579 
580         0, 4511, 4511,    0, 1078,    0,    0, 1153, 4511, 3063,
581      1166, 1077, 1076, 1091,    0, 1089,    0, 1018, 4511, 1022,
582      4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
583      1177, 1308, 1105,    0, 4511, 4511, 2954, 1198, 4511, 4511,
584      1144,    0, 1137,    0,    0, 1161, 1156, 1123, 4511, 1202,
585      1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
586      1323, 1382, 4511, 1172, 1166, 2589, 2537,    0, 1178, 1169,
587      1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323,    0, 1341,
588      1332, 1348,    0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
589      1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
590 
591      1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
592      1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
593      1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451,    0,
594      1143,    0, 1461, 1534, 1600, 1636,  204, 2525, 1606, 1681,
595      4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
596      1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
597      1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
598      1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
599      1731, 1711, 1702, 1718,    0,    0, 1719, 1706, 1716, 1735,
600         0,    0, 2553, 1722, 1732, 2540, 1725, 1722, 1733,    0,
601 
602      1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746,    0,
603      1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
604      1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780,    0,
605      1507, 1234, 2364,  732, 2273, 1809, 1845, 1430, 1076, 1585,
606      1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
607      1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
608      1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
609      1882, 1899,    0, 1887,    0, 1892,    0, 2260, 1900, 1891,
610      1909,    0, 1904, 2253, 1902,    0, 1916, 1907, 1918, 2227,
611      1912, 1909, 1924, 2201, 1908, 1918, 1922,    0, 1934, 1925,
612 
613      1931, 1947,    0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
614      1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
615      1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
616         0,    0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
617      2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
618      2037, 2035, 2045, 2051, 2054, 2061,    0,    0, 4511, 4511,
619      1922,    0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
620      2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085,    0, 2091,
621         0, 2074,    0, 1824,    0, 2091, 2094, 2082,    0, 2116,
622      2088,    0, 2092, 2133,    0, 1728, 2097, 2095, 1714, 1678,
623 
624      4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
625      1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
626      2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
627      2164, 2157, 2151, 2159, 2158, 2173,    0, 2165,    0, 2166,
628      2182, 2173, 2179, 2178, 2186,    0, 2185,    0, 2187, 2193,
629         0, 2202,    0,    0,    0, 2204, 2187, 2201, 2224, 2200,
630      2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
631      1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057,  984,
632       976,  969,  923,  913,  910,  931,  895,  891,  887,  881,
633       874,  856,  848,  843,  840,  804,  788, 2259, 2248, 2258,
634 
635      2265, 2264, 2241,    0, 2254, 2265, 2268, 2279,    0, 2262,
636      2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
637      2281, 2300, 2283, 2281,    0, 2303, 2307, 2292, 4511, 2302,
638      2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
639      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
640      4511,  746,  725,  597,  577,  441,  426,  420,  267,  253,
641       247,  230,  183,  181, 2317, 2338, 2342, 2330, 2336, 2343,
642      2339, 2331, 2334, 2350, 2341, 2345,    0, 2350, 2346, 2344,
643      2349, 2361, 2364, 2367, 2359, 4511, 2357,    0, 2358, 2362,
644      2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
645 
646      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
647      4511,  122, 2399, 2398, 2382, 2391, 2391,    0, 2407, 2408,
648         0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
649      4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
650      2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
651         0,    0, 2461,    0, 2444,    0, 2459, 4511, 4511, 2452,
652      4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
653         0, 2468, 2465, 2465, 2485,    0, 2465, 4511, 4511, 4511,
654      2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
655         0, 4511, 2497, 4511, 2510, 2500, 2502, 2500,    0, 2514,
656 
657      4511, 4511, 2516,    0, 2523, 2508, 2509,    0, 2528, 2531,
658         0,    0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
659      2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
660      2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
661      3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
662      3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
663      3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
664      3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
665      3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
666      3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
667 
668      4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
669      4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
670     } ;
671 
672 static const flex_int16_t yy_def[1221] =
673     {   0,
674      1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
675      1119, 1119, 1113,   13, 1120, 1120, 1121, 1121, 1122, 1122,
676      1123, 1123, 1124, 1124, 1113,   25, 1125, 1125, 1126, 1126,
677      1127, 1127, 1128, 1128, 1113,   35, 1129, 1129, 1130, 1130,
678      1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
679      1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
680      1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
681      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
682      1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
683      1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
684 
685      1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
686      1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
687      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
688      1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
689      1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
690      1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
691      1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
692      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
693      1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
694      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
695 
696      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
697      1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
698      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
699      1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
700      1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
701      1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
702      1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
703      1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
704      1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
705      1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
706 
707      1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
708      1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
709      1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
710      1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
711      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
712      1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
713      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
714      1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
715      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
716      1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
717 
718      1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
719      1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
720      1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
721      1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
722      1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
723      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
724      1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
725      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
726      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
727      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
728 
729      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
730      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
731      1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
732      1218, 1202, 1113, 1113, 1205,  432,  430,  430, 1205,  432,
733      1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
734      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
735      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
736      1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
737      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
738      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
739 
740      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
741      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
742      1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
743      1218, 1218, 1113,  534,  534, 1205,  432, 1205, 1205, 1205,
744      1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
745      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
746      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
747      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
748      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
749      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
750 
751      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
752      1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
753      1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
754      1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
755      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
756      1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
757      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
758      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
760      1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
761 
762      1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
763      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
764      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765      1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
766      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
767      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
768      1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
769      1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
770      1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
771      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
772 
773      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
774      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
775      1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
776      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
777      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
778      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779      1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
780      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
781      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
782      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
783 
784      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
785      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
786      1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
787      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
789      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
790      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
791      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
792      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
793      1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
794 
795      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
796      1217, 1217,    0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
797      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
798      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
799      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
800      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
801      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
802      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
803      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
804      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
805 
806      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
808     } ;
809 
810 static const flex_int16_t yy_nxt[4596] =
811     {   0,
812        56,   57,   58,   56,   59,   56,   56,   56,   56,   56,
813        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
814        56,   56,   56,   56,   56,   56,   56,   60,   60,   60,
815        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
816        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
817        60,   60,   56,   56,   56,   56,   60,   60,   60,   60,
818        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
819        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
820        60,   56,   56,   56,   56,   61,   62,   56,   63,   56,
821        64,   56,   65,   56,   56,   56,   56,   56,   56,   56,
822 
823        56,   66,   56,   56,   56,   56,   56,   56,   56,   56,
824        56,   67,   67,   67,   67,   67,   67,   67,   67,   67,
825        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
826        67,   67,   67,   67,   67,   67,   56,   56,   56,   56,
827        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
828        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
829        67,   67,   67,   67,   67,   56,   56,   56,   69,   70,
830       305,   71,   72,   89,   73,   90, 1045,   74,   75,   76,
831        76,  275,  276,   76,   77,   92,   89,   95,   90,   96,
832        78,   56,   93,   76,   95,  323,   96,  107,  108,  305,
833 
834       109,  107,  108, 1012,  109,  125,  291,  126,  127,  154,
835       154,  155,  155,  119,  125,  120,  126,  127,  333,   79,
836        80,  238,   98,  239,   99,  121,  638,   56,  100,  122,
837       122,  122,  122,   98,  323,   99,  157, 1011,  158,  105,
838       350,  130,  131,  233,  132,  234,  159,  333,   81,   76,
839        76,   82,   83,  235,   84,   72,  128,   73,   85,  427,
840        74,   75,   76,   76,  101,  128,   76,   77,  134,  350,
841       135,  102,  103,   86,  104,  101,   76,  130,  131,  292,
842       132,  136,  102,  103, 1010,  104,  160,  378,  161,  229,
843       238,  230,  239,  101,  123,  297,  209,  298,  231,  210,
844 
845       102, 1009,   79,   80,  101,   87,  209, 1008,  229,  210,
846       230,  102,  211,  211,  211,  211,  378,  231,  137,  138,
847       139, 1007,  211,  211,  211,  211,  243,  244,  335,  245,
848       336,   81,   76,   76,  110,  111,  112,  110,  113,  110,
849       110,  110,  110,  110,  110,  110,  114,  110,  114,  110,
850       110,  110,  110,  110,  110,  110,  110,  110,  110,  115,
851       110,  116,  116,  116,  116,  116,  116,  116,  116,  116,
852       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
853       116,  116,  116,  116,  116,  116,  110,  110,  110,  110,
854       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
855 
856       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
857       116,  116,  116,  116,  116,  110,  110,  110,  119,  134,
858       120,  135,  335,  157,  336,  158,  163,  383,  164,  165,
859       121,  250,  136,  159,  122,  122,  122,  122,  163,  224,
860       164,  165,  163,  233,  241,  234,  343,  247,  248,  242,
861       249,  304,  225,  235,  269,  269,  383,  270,  280,  419,
862       281,  420,  226,  282,  282,  282,  282,  227,  251,  137,
863       138,  139,  345,  160, 1006,  161,  166,  167,  168,  346,
864      1005,  304,  225,  312,  313,  423,  314,  424,  166,  167,
865       168,  226,  166,  167,  168, 1004,  227,  344,  251,  123,
866 
867       140,  140,  141,  140,  142,  143,  140,  140,  140,  144,
868       140,  140,  140,  140,  140,  140,  140,  145,  140,  140,
869       140,  140,  140,  140,  140,  140,  140,  146,  146,  146,
870       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
871       146,  146,  146,  146,  147,  146,  146,  146,  146,  146,
872       146,  148,  149,  140,  150,  140,  146,  146,  146,  146,
873       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
874       146,  146,  146,  147,  146,  146,  146,  146,  146,  146,
875       148,  151,  140,  152,  170,  171,  213,  172,  214,  170,
876       171,  173,  172,  332,  219,  219,  173,  157,  224,  158,
877 
878       174,  220,  220,  349,  449,  174,  450,  236,  428,  429,
879       157,  225,  158,  355,  221,  221,  319,  319,  319,  319,
880       236,  226,  356,  332,  222,  222,  227,  175,  388,  223,
881       223, 1003,  175,  349,  176,  177,  215,  178,  216,  176,
882       177,  225,  178,  355,  221,  221,  335,  160,  336,  161,
883       226, 1002,  356,  222,  222,  227,  175,  388,  223,  223,
884       160,  175,  161,  176,  335,  217,  336,  218,  176,  179,
885       180,  181,  179,  182,  183,  179,  179,  179,  179,  179,
886       179,  179,  179,  179,  179,  179,  179,  179,  184,  185,
887       179,  179,  179,  186,  179,  179,  187,  188,  189,  190,
888 
889       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
890       199,  200,  193,  201,  202,  203,  204,  205,  206,  193,
891       207,  179,  179,  179,  179,  179,  187,  188,  189,  190,
892       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
893       199,  200,  201,  202,  203,  204,  205,  206,  193,  207,
894       179,  179,  179,  213,  726,  214,  163,  362,  241,  264,
895       265,  360,  266,  242,  278,  278,  267,  284,  285,  361,
896       286,  363,  278,  278,  287,  433,  433,  278,  278, 1001,
897       278,  278,  475,  288,  358,  364,  369,  427,  370,  289,
898       359,  360,  365,  382,  371,  345,  279,  367,  372,  361,
899 
900      1000,  363,  346,  215,  279,  216,  166,  167,  168,  279,
901       963,  475,  279,  366,  358,  364,  369,  368,  370,  359,
902       376,  290,  365,  382,  371,  279,  962,  367,  372,  384,
903       377,  385,  217,  279,  218,  253,  243,  244,  279,  245,
904       268,  279,  366,  250,  386,  373,  368,  478,  268,  374,
905       376,  387,  405,  379,  254,  416,  255,  426,  255,  384,
906       377,  385,  961,  380,  255,  960,  381,  255,  256,  257,
907       959,  255,  258,  259,  386,  373,  478,  260,  958,  374,
908       251,  387,  405,  379,  254,  416,  255,  426,  255,  391,
909       391,  391,  391,  380,  255,  381,  957,  255,  256,  257,
910 
911       255,  258,  259,  956,  247,  248,  260,  249,  261,  955,
912       251,  408,  409,  954,  410,  408,  409,  953,  410,  408,
913       409,  480,  410,  408,  409,  430,  410,  443,  411,  411,
914       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
915       411,  411,  411,  411,  264,  265,  446,  266,  431,  431,
916       480,  267,  447,  952,  412,  428,  429,  443,  312,  313,
917       413,  314,  464,  414,  951,  284,  285,  950,  286,  465,
918       469,  470,  287,  471,  472,  473,  446,  949,  483,  484,
919       432,  288,  447,  412,  485,  476,  486,  289,  490,  474,
920       413,  487,  464,  414,  319,  319,  319,  319,  491,  465,
921 
922       469,  470,  477,  471,  472,  473,  481,  483,  484,  432,
923       482,  492,  499,  485,  493,  476,  486,  490,  474,  290,
924       419,  487,  420,  948,  419,  268,  420,  423,  491,  424,
925       947,  477,  391,  391,  391,  391,  481,  423,  946,  424,
926       482,  492,  499,  493,  494,  495,  268,  451,  452,  453,
927       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
928       455,  455,  458,  455,  455,  459,  455,  460,  455,  455,
929       461,  455,  488,  494,  495,  462,  489,  451,  452,  453,
930       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
931       455,  455,  458,  455,  459,  455,  460,  455,  455,  461,
932 
933       455,  496,  488,  497,  503,  489,  500,  504,  505,  506,
934       501,  945,  508,  498,  509,  502,  507,  944,  520,  428,
935       429,  527,  528,  277,  277,  449,  529,  450,  428,  429,
936       496,  531,  533,  497,  503,  943,  500,  504,  505,  506,
937       501,  508,  498,  509,  631,  502,  507,  510,  520,  511,
938       527,  528,  512,  513,  522,  523,  529,  524,  514,  515,
939       534,  531,  533,  942,  516,  517,  941,  526,  409,  518,
940       410,  525,  525,  525,  525,  543,  519,  510,  544,  511,
941       535,  535,  512,  513,  411,  411,  411,  411,  514,  515,
942       428,  429,  545,  516,  517,  539,  539,  546,  518,  542,
943 
944       542,  542,  542,  569,  449,  543,  450,  570,  544,  571,
945       572,  624,  536,  625,  936,  573,  427,  523,  935,  625,
946       526,  409,  545,  410,  632,  885,  624,  546,  625,  428,
947       429,  626,  523,  569,  524,  722,  723,  570,  724,  571,
948       572,  536,  427,  427,  573,  427,  427,  427,  427,  427,
949       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
950       427,  427,  427,  427,  427,  427,  427,  427,  427,  537,
951       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
952       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
953       537,  537,  537,  537,  428,  429,  884,  538,  427,  537,
954 
955       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
956       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
957       537,  537,  537,  427,  427,  427,  540,  540,  540,  540,
958       547,  547,  547,  547,  547,  540,  540,  540,  540,  540,
959       540,  547,  547,  547,  574,  547,  548,  549,  575,  547,
960       550,  576,  553,  558,  551,  883,  552,  577,  578,  579,
961       428,  429,  556,  557,  580,  540,  540,  540,  540,  540,
962       540,  554,  581,  574,  555,  583,  548,  549,  575,  582,
963       550,  576,  553,  558,  551,  552,  586,  577,  578,  579,
964       584,  587,  556,  557,  580,  882,  585,  588,  589,  881,
965 
966       554,  591,  581,  555, 1113,  583,  592,  593,  582,  559,
967       560,  561,  562,  594,  595,  563,  586,  596,  597,  584,
968       564,  587,  598,  599,  565,  585,  588,  566,  589,  567,
969       600,  591,  568,  601,  602,  603,  592,  593,  606,  559,
970       560,  561,  562,  594,  595,  563,  607,  596,  597,  604,
971       564,  608,  598,  599,  565,  605,  566,  609,  567,  610,
972       600,  568,  611,  601,  602,  603,  612,  614,  606,  613,
973       615,  616,  617,  618,  620,  607,  619,  621,  622,  604,
974       608,  623,  428,  429,  274,  605,  644,  609,  627,  610,
975       628,  629,  611,  633,  641,  642,  612,  614,  613,  880,
976 
977       615,  616,  617,  618,  620,  619,  621,  622,  631,  522,
978       523,  623,  524,  626,  523,  644,  524,  801,  627,  802,
979       628,  629,  879,  633,  641,  642,  525,  525,  525,  525,
980       525,  525,  525,  525,  427,  427,  878,  427,  427,  427,
981       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
982       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
983       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
984       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
985       634,  634,  634,  634,  634,  634,  428,  429,  632,  635,
986       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
987 
988       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
989       634,  634,  634,  634,  634,  427,  427,  427,  636,  636,
990       643,  547,  547,  877,  639,  639,  547,  547,  547,  547,
991       547,  648,  651,  547,  876,  547,  547,  428,  429,  646,
992       650,  647,  547,  653,  428,  429,  649,  655,  656,  657,
993       643,  658,  428,  429,  637,  637,  637,  637,  428,  429,
994       652,  648,  651,  637,  637,  637,  637,  637,  637,  646,
995       650,  647,  547,  653,  547,  649,  547,  655,  656,  657,
996       801,  658,  802,  547,  669,  547,  547,  661,  547,  652,
997       654,  671,  659,  637,  637,  637,  637,  637,  637,  640,
998 
999       640,  640,  640,  660,  547,  662,  666,  663,  640,  640,
1000       640,  640,  640,  640,  669,  547,  547,  661,  670,  672,
1001       654,  671,  659,  673,  668,  875,  664,  674,  675,  665,
1002       676,  677,  678,  660,  662,  667,  666,  663,  640,  640,
1003       640,  640,  640,  640,  682,  684,  679,  670,  672,  683,
1004       685,  874,  686,  673,  668,  664,  674,  675,  665,  676,
1005       687,  677,  678,  680,  688,  667,  690,  691,  695,  681,
1006       872,  693,  694,  696,  682,  684,  697,  698,  683,  699,
1007       685,  686,  700,  701,  869,  702,  703,  704,  705,  687,
1008       706,  707,  709,  680,  688,  690,  708,  691,  695,  681,
1009 
1010       693,  694,  696,  710,  711,  713,  697,  698,  712,  699,
1011       714,  700,  716,  701,  702,  703,  715,  704,  705,  717,
1012       706,  707,  709,  719,  720,  708,  721,  727,  727,  729,
1013       547,  731,  710,  547,  711,  713,  547,  712,  732,  852,
1014       714,  757,  716,  547,  547,  715,  841,  547,  734,  717,
1015       738,  547,  719,  739,  720,  721,  737,  547,  733,  729,
1016       731,  428,  429,  728,  728,  728,  728,  547,  732,  735,
1017       757,  748,  728,  728,  728,  728,  728,  728,  734,  736,
1018       738,  547,  547,  739,  547,  740,  737,  733,  741,  742,
1019       547,  547,  547,  743,  428,  429,  547,  747,  547,  735,
1020 
1021       748,  744,  728,  728,  728,  728,  728,  728,  736,  745,
1022       547,  746,  547,  547,  753,  740,  547,  750,  741,  742,
1023       547,  749,  758,  743,  547,  751,  752,  747,  759,  754,
1024       760,  744,  761,  756,  762,  764,  755,  832,  766,  745,
1025       767,  746,  768,  771,  753,  765,  770,  750,  772,  773,
1026       775,  749,  758,  776,  751,  777,  752,  759,  779,  754,
1027       760,  761,  780,  756,  762,  764,  755,  766,  781,  782,
1028       767,  783,  768,  771,  765,  770,  784,  785,  772,  773,
1029       775,  786,  776,  787,  789,  777,  788,  779,  791,  792,
1030       793,  780,  795,  796,  547,  797,  798,  781,  799,  782,
1031 
1032       783,  803,  804,  722,  723,  784,  724,  785,  807,  547,
1033       786,  808,  547,  787,  789,  788,  547,  809,  791,  792,
1034       793,  547,  795,  796,  797,  811,  798,  547,  799,  547,
1035       547,  803,  804,  428,  429,  427,  810,  547,  547,  547,
1036       812,  808,  813,  547,  547,  547,  547,  809,  547,  814,
1037       806,  547,  547,  815,  817,  811,  819,  547,  821,  547,
1038       818,  816,  822,  805,  820,  824,  810,  547,  826,  812,
1039       823,  825,  813,  547,  828,  827,  547,  833,  814,  835,
1040       829,  836,  815,  547,  817,  830,  819,  834,  821,  818,
1041       816,  837,  822,  820,  831,  824,  838,  839,  826,  823,
1042 
1043       840,  825,  842,  843,  828,  827,  844,  833,  845,  835,
1044       829,  836,  846,  847,  849,  830,  848,  834,  850,  723,
1045       851,  837,  853,  854,  831,  838,  839,  855,  862,  840,
1046       863,  870,  842,  843,  718,  871,  844,  801,  845,  802,
1047       873,  794,  846,  847,  849,  848,  856,  857,  850,  851,
1048       547,  858,  853,  854,  859,  547,  855,  860,  862,  790,
1049       863,  870,  861,  864,  865,  871,  547,  887,  866,  873,
1050       547,  867,  547,  547,  868,  888,  856,  857,  547,  886,
1051       547,  858,  890,  547,  859,  547,  547,  860,  889,  547,
1052       892,  861,  899,  864,  865,  900,  891,  887,  866,  898,
1053 
1054       901,  867,  893,  902,  868,  888,  547,  894,  886,  895,
1055       904,  897,  890,  903,  906,  896,  778,  905,  889,  907,
1056       892,  908,  899,  909,  900,  891,  910,  911,  912,  898,
1057       901,  893,  902,  913,  914,  916,  894,  917,  895,  904,
1058       897,  918,  774,  903,  906,  896,  905,  923,  907,  928,
1059       915,  908,  909,  924,  925,  919,  910,  911,  912,  920,
1060       926,  927,  921,  913,  914,  916,  917,  929,  769,  933,
1061       934,  918,  922,  937,  930,  763,  923,  931,  928,  915,
1062       939,  547,  940,  924,  925,  919,  969,  932,  965,  920,
1063       926,  927,  921,  966,  967,  968,  970,  929,  933,  934,
1064 
1065       971,  922,  937,  972,  930,  964,  973,  931,  974,  975,
1066       976,  730,  977,  978,  979,  969,  932,  980,  965,  981,
1067       982,  983,  984,  966,  967,  968,  970,  985,  427,  986,
1068       971,  987,  988,  972,  964,  989,  973,  974,  990,  975,
1069       976,  977,  991,  978,  979,  992,  993,  980,  981,  994,
1070       982,  983,  984,  995,  996,  999,  997,  985,  986,  939,
1071       987,  940,  988, 1013,  939,  989,  940,  990, 1014, 1015,
1072      1016, 1017,  991,  998, 1018,  992,  993, 1019,  994, 1020,
1073      1021, 1022,  995,  996,  999, 1023,  997, 1024, 1025,  725,
1074      1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1075 
1076      1016, 1017,  998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1077      1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1078      1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1079      1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1080      1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1081      1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1082      1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1083      1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1084      1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1085      1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1086 
1087      1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1088      1072, 1088, 1073, 1089, 1090,  718, 1091, 1074, 1075, 1076,
1089      1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1090      1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1091      1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1092      1092, 1107, 1093, 1094, 1108,  692, 1109, 1110, 1095, 1111,
1093      1096, 1097, 1112, 1098, 1099, 1100,  375,  375,  689,  434,
1094      1101,  434,  541, 1102,  541, 1103, 1104, 1105,  645, 1106,
1095       427, 1107,  415,  415, 1108, 1109, 1110,  415,  590, 1111,
1096       344,  343, 1112,   68,   68,   68,   68,   68,   68,   68,
1097 
1098        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1099        68,   68,   68,   68,   88,   88,   88,   88,   88,   88,
1100        88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
1101        88,   88,   88,   88,   88,   91,   91,   91,   91,   91,
1102        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
1103        91,   91,   91,   91,   91,   91,   94,   94,   94,   94,
1104        94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
1105        94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
1106        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
1107        97,   97,   97,   97,   97,   97,   97,   97,  106,  106,
1108 
1109       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
1110       106,  106,  106,  106,  106,  106,  106,  106,  106,   56,
1111        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1112        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1113       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1114       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1115       118,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1116       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1117       124,  124,  129,  129,  129,  129,  129,  129,  129,  129,
1118       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
1119 
1120       129,  129,  129,  133,  133,  133,  133,  133,  133,  133,
1121       133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
1122       133,  133,  133,  133,  153,  153,  153,  153,  153,  153,
1123       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
1124       153,  153,  153,  153,  153,  156,  156,  156,  156,  156,
1125       156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1126       156,  156,  156,  156,  156,  156,  162,  162,  162,  162,
1127       162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
1128       162,  162,  162,  162,  162,  162,  162,  169,  169,  169,
1129       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1130 
1131       169,  169,  169,  169,  169,  169,  169,  169,  208,  208,
1132       208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
1133       208,  208,  208,  208,  208,  208,  208,  208,  208,  212,
1134       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1135       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1136       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1137       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1138       228,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1139       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1140       232,  232,  237,  237,  237,  237,  237,  237,  237,  237,
1141 
1142       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
1143       237,  237,  237,  240,  240,  240,  240,  240,  240,  240,
1144       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
1145       240,  240,  240,  240,  246,  547,  246,  438,  246,  246,
1146       455,  455,  455,  246,  252,  252,  252,  252,  252,  252,
1147       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
1148       252,  252,  252,  252,  263,  409,  263,  390,  263,  263,
1149       417,  417,  479,  263,  274,  417,  274,  274,  274,  274,
1150       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1151       274,  274,  274,  274,  274,  277,  354,  277,  277,  277,
1152 
1153       277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
1154       277,  277,  277,  277,  277,  277,  283,  283,  351,  283,
1155       348,  283,  283,  467,  466,  463,  283,  295,  315,  295,
1156       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1157       295,  295,  295,  295,  295,  295,  295,  295,  299,  299,
1158       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1159       299,  299,  299,  313,  299,  315,  299,  299,  299,  302,
1160       310,  302,  302,  296,  302,  302,  302,  302,  302,  302,
1161       302,  302,  302,  302,  441,  302,  440,  302,  302,  302,
1162       309,  439,  285,  309,  309,  309,  309,  309,  309,  309,
1163 
1164       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1165       309,  317,  438,  317,  436,  317,  317,  435,  425,  269,
1166       317,  322,  421,  322,  322,  322,  322,  322,  322,  322,
1167       322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
1168       322,  322,  325,  265,  325,  325,  325,  325,  325,  325,
1169       325,  325,  325,  325,  325,  325,  325,  325,  325,  248,
1170       325,  325,  325,  326,  244,  326,  341,  326,  403,  326,
1171       326,  326,  326,  402,  326,  326,  400,  399,  398,  326,
1172       328,  397,  328,  328,  328,  395,  328,  328,  328,  328,
1173       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1174 
1175       328,  331,  394,  331,  393,  331,  331,  390,  354,  352,
1176       331,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1177       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1178       334,  334,  337,  351,  337,  337,  337,  337,  337,  307,
1179       337,  337,  337,  337,  337,  337,  337,  306,  337,  330,
1180       337,  337,  337,  340,  348,  340,  347,  340,  340,  340,
1181       340,  340,  340,  340,  340,  340,  340,  340,  307,  306,
1182       341,  340,  340,  340,  342,  342,  342,  342,  342,  342,
1183       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1184       342,  342,  342,  342,  342,  353,  307,  353,  353,  353,
1185 
1186       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1187       353,  353,  353,  353,  353,  353,  357,  357,  306,  339,
1188       338,  357,  357,  389,  307,  389,  389,  389,  389,  389,
1189       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1190       389,  389,  389,  389,  392,  306,  330,  392,  392,  392,
1191       392,  392,  392,  392,  392,  392,  392,  392,  392,  329,
1192       392,  327,  392,  396,  321,  396,  396,  396,  396,  324,
1193       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1194       396,  396,  396,  396,  401,  401,  401,  401,  401,  401,
1195       401,  401,  401,  401,  401,  401,  401,  401,  401,  321,
1196 
1197       401,  320,  401,  401,  401,  404,  318,  404,  404,  404,
1198       316,  404,  404,  404,  404,  404,  404,  404,  404,  404,
1199       313,  315,  311,  404,  404,  404,  246,  310,  246,  308,
1200       246,  246,  307,  306,  303,  246,  406,  301,  406,  406,
1201       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1202       406,  406,  406,  406,  406,  406,  406,  407,  300,  407,
1203       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1204       407,  407,  407,  407,  407,  407,  407,  407,  418,  418,
1205       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1206       418,  418,  418,  418,  418,  418,  418,  418,  418,  263,
1207 
1208       296,  263,  294,  263,  263,  293,  285,  273,  263,  422,
1209       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1210       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1211       427,  272,  427,  427,  427,  427,  427,  427,  427,  427,
1212       427,  427,  427,  427,  427,  427,  427,  271,  427,  427,
1213       427,  274,  265,  274,  274,  274,  274,  274,  274,  274,
1214       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1215       274,  274,  437,  262,  437,  248,  437,  437,  244, 1113,
1216       117,  437,  117,  437,  442, 1113,  442,  442,  442,  442,
1217       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1218 
1219       442,  442,  442,  442,  442,  295, 1113,  295,  295,  295,
1220       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1221       295,  295,  295,  295,  295,  295,  444, 1113,  444,  444,
1222       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1223       444,  444,  444,  444,  444,  444,  444,  445, 1113,  445,
1224       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1225       445,  445,  445,  445,  445,  445,  445,  445,  299,  299,
1226       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1227       299,  299,  299, 1113,  299, 1113,  299,  299,  299,  302,
1228      1113,  302,  302, 1113,  302,  302,  302,  302,  302,  302,
1229 
1230       302,  302,  302,  302, 1113,  302, 1113,  302,  302,  302,
1231       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1232       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1233       448,  309, 1113, 1113,  309,  309,  309,  309,  309,  309,
1234       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1235       309,  309,  317, 1113,  317, 1113,  317,  317, 1113, 1113,
1236      1113,  317,  326, 1113,  326, 1113,  326, 1113,  326,  326,
1237       326,  326, 1113,  326,  326, 1113, 1113, 1113,  326,  328,
1238      1113,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1239       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1240 
1241       331, 1113,  331, 1113,  331,  331, 1113, 1113, 1113,  331,
1242       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1243       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1244       334,  337, 1113,  337,  337,  337,  337,  337, 1113,  337,
1245       337,  337,  337,  337,  337,  337, 1113,  337, 1113,  337,
1246       337,  337,  340, 1113,  340, 1113,  340,  340,  340,  340,
1247       340,  340,  340,  340,  340,  340,  340, 1113, 1113, 1113,
1248       340,  340,  340,  468, 1113,  468,  468,  468,  468,  468,
1249       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1250       468,  468,  468,  468,  353, 1113,  353,  353,  353,  353,
1251 
1252       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1253       353,  353,  353,  353,  353,  357,  357, 1113, 1113, 1113,
1254       357,  357,  389, 1113,  389,  389,  389,  389,  389,  389,
1255       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1256       389,  389,  389,  392, 1113, 1113,  392,  392,  392,  392,
1257       392,  392,  392,  392,  392,  392,  392,  392, 1113,  392,
1258      1113,  392,  396, 1113,  396,  396,  396,  396, 1113,  396,
1259       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1260       396,  396,  396,  401,  401,  401,  401,  401,  401,  401,
1261       401,  401,  401,  401,  401,  401,  401,  401, 1113,  401,
1262 
1263      1113,  401,  401,  401,  404, 1113,  404,  404,  404, 1113,
1264       404,  404,  404,  404,  404,  404,  404,  404,  404, 1113,
1265      1113, 1113,  404,  404,  404,  406, 1113,  406,  406,  406,
1266       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1267       406,  406,  406,  406,  406,  406,  407, 1113,  407,  407,
1268       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1269       407,  407,  407,  407,  407,  407,  407,  521,  521,  521,
1270       521,  521,  521,  521,  521,  521,  521,  521,  521,  521,
1271       521,  521,  521,  521,  521,  521,  521,  521,  530, 1113,
1272       530, 1113,  530,  530, 1113, 1113, 1113,  530,  532, 1113,
1273 
1274       532, 1113,  532,  532, 1113, 1113, 1113,  532,  418,  418,
1275       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1276       418,  418,  418,  418,  418,  418,  418,  418,  418,  422,
1277       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1278       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1279       427, 1113,  427,  427,  427,  427,  427,  427,  427,  427,
1280       427,  427,  427,  427,  427,  427,  427, 1113,  427,  427,
1281       427,  437, 1113,  437, 1113,  437,  437, 1113, 1113, 1113,
1282       437, 1113,  437,  442, 1113,  442,  442,  442,  442,  442,
1283       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1284 
1285       442,  442,  442,  442,  444, 1113,  444,  444,  444,  444,
1286       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1287       444,  444,  444,  444,  444,  445, 1113,  445,  445,  445,
1288       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1289       445,  445,  445,  445,  445,  445,  302, 1113,  302,  302,
1290      1113,  302,  302,  302,  302,  302,  302,  302,  302,  302,
1291       302, 1113,  302, 1113,  302,  302,  302,  448,  448,  448,
1292       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1293       448,  448,  448,  448,  448,  448,  448,  448,  331, 1113,
1294       331, 1113,  331,  331, 1113, 1113, 1113,  331,  342, 1113,
1295 
1296       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1297       342,  342,  342,  342,  342,  342,  342,  342,  342,  468,
1298      1113,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1299       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1300       357,  357, 1113, 1113, 1113,  357,  357,  630, 1113,  630,
1301       630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
1302       630,  630,  630,  630,  630,  630,  630,  630,  800,  800,
1303       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
1304       800,  800,  800,  800,  800,  800,  800,  800,  800,  938,
1305       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1306 
1307       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1308        55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1309      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1310      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1311      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1312      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1313      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1314      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1315      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1316      1113, 1113, 1113, 1113, 1113
1317 
1318     } ;
1319 
1320 static const flex_int16_t yy_chk[4596] =
1321     {   0,
1322         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1323         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1324         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1325         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1326         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1327         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1328         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1329         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1330         1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
1331         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1332 
1333         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1334         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1335         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1336         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1337         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1338         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1339         2,    2,    2,    2,    2,    2,    2,    2,    3,    3,
1340       102,    3,    3,    5,    3,    5, 1012,    3,    3,    3,
1341         3,   79,   79,    3,    3,    6,    6,    7,    6,    7,
1342         3,   21,    6,    3,    8,  132,    8,   11,   11,  102,
1343 
1344        11,   12,   12,  964,   12,   19,   85,   19,   19,   27,
1345        28,   27,   28,   17,   20,   17,   20,   20,  148,    3,
1346         3,   51,    9,   51,    9,   17,  537,   22,    9,   17,
1347        17,   17,   17,   10,  132,   10,   29,  963,   29,   10,
1348       176,   21,   21,   47,   21,   47,   29,  148,    3,    3,
1349         3,    4,    4,   47,    4,    4,   19,    4,    4,  537,
1350         4,    4,    4,    4,    9,   20,    4,    4,   23,  176,
1351        23,    9,    9,    4,    9,   10,    4,   22,   22,   85,
1352        22,   23,   10,   10,  962,   10,   29,  199,   29,   45,
1353        52,   45,   52,    9,   17,   93,   37,   93,   45,   37,
1354 
1355         9,  961,    4,    4,   10,    4,   38,  960,   46,   38,
1356        46,   10,   37,   37,   37,   37,  199,   46,   23,   23,
1357        23,  959,   38,   38,   38,   38,   57,   57,  153,   57,
1358       153,    4,    4,    4,   13,   13,   13,   13,   13,   13,
1359        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1360        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1361        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1362        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1363        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1364        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1365 
1366        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1367        13,   13,   13,   13,   13,   13,   13,   13,   18,   24,
1368        18,   24,  155,   30,  155,   30,   31,  202,   31,   31,
1369        18,   64,   24,   30,   18,   18,   18,   18,   32,   43,
1370        32,   32,   53,   48,   53,   48,  167,   61,   61,   53,
1371        61,  101,   43,   48,   73,   73,  202,   73,   81,  261,
1372        81,  261,   43,   81,   81,   81,   81,   43,   64,   24,
1373        24,   24,  170,   30,  958,   30,   31,   31,   31,  170,
1374       957,  101,   43,  111,  111,  268,  111,  268,   32,   32,
1375        32,   43,   53,   53,   53,  956,   43,  167,   64,   18,
1376 
1377        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1378        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1379        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1380        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1381        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1382        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1383        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1384        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1385        25,   25,   25,   25,   33,   33,   39,   33,   39,   34,
1386        34,   33,   34,  147,   41,   42,   34,   49,   44,   49,
1387 
1388        33,   41,   42,  175,  308,   34,  308,   49,  274,  274,
1389        50,   44,   50,  184,   41,   42,  122,  122,  122,  122,
1390        50,   44,  185,  147,   41,   42,   44,   33,  207,   41,
1391        42,  955,   34,  175,   33,   33,   39,   33,   39,   34,
1392        34,   44,   34,  184,   41,   42,  334,   49,  334,   49,
1393        44,  954,  185,   41,   42,   44,   33,  207,   41,   42,
1394        50,   34,   50,   33,  336,   39,  336,   39,   34,   35,
1395        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1396        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1397        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1398 
1399        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1400        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1401        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1402        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1403        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1404        35,   35,   35,   40,  634,   40,   54,  189,   54,   69,
1405        69,  188,   69,   54,   80,   80,   69,   82,   82,  188,
1406        82,  189,  128,  128,   82,  278,  278,  131,  131,  953,
1407       138,  138,  359,   82,  187,  190,  194,  634,  195,   82,
1408       187,  188,  191,  201,  196,  345,   80,  192,  196,  188,
1409 
1410       952,  189,  345,   40,  128,   40,   54,   54,   54,  131,
1411       897,  359,  138,  191,  187,  190,  194,  192,  195,  187,
1412       198,   82,  191,  201,  196,   80,  896,  192,  196,  203,
1413       198,  204,   40,  128,   40,   65,  243,  243,  131,  243,
1414        69,  138,  191,  250,  205,  197,  192,  361,   82,  197,
1415       198,  206,  251,  200,   65,  259,   65,  273,   65,  203,
1416       198,  204,  895,  200,   65,  894,  200,   65,   65,   65,
1417       893,   65,   65,   65,  205,  197,  361,   65,  892,  197,
1418       250,  206,  251,  200,   65,  259,   65,  273,   65,  211,
1419       211,  211,  211,  200,   65,  200,  891,   65,   65,   65,
1420 
1421        65,   65,   65,  890,  247,  247,   65,  247,   65,  889,
1422       250,  254,  254,  888,  254,  255,  255,  887,  255,  256,
1423       256,  363,  256,  257,  257,  275,  257,  293,  254,  254,
1424       254,  254,  255,  255,  255,  255,  256,  256,  256,  256,
1425       257,  257,  257,  257,  264,  264,  304,  264,  276,  276,
1426       363,  264,  305,  886,  254,  275,  275,  293,  312,  312,
1427       256,  312,  332,  257,  885,  284,  284,  884,  284,  333,
1428       349,  350,  284,  355,  356,  358,  304,  883,  365,  366,
1429       276,  284,  305,  254,  367,  360,  368,  284,  371,  358,
1430       256,  369,  332,  257,  319,  319,  319,  319,  372,  333,
1431 
1432       349,  350,  360,  355,  356,  358,  364,  365,  366,  276,
1433       364,  373,  381,  367,  374,  360,  368,  371,  358,  284,
1434       418,  369,  418,  882,  420,  264,  420,  422,  372,  422,
1435       881,  360,  391,  391,  391,  391,  364,  424,  880,  424,
1436       364,  373,  381,  374,  376,  378,  284,  321,  321,  321,
1437       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1438       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1439       321,  321,  370,  376,  378,  321,  370,  321,  321,  321,
1440       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1441       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1442 
1443       321,  379,  370,  380,  383,  370,  382,  383,  384,  385,
1444       382,  879,  386,  380,  387,  382,  385,  878,  405,  427,
1445       427,  412,  413,  433,  433,  448,  414,  448,  639,  639,
1446       379,  416,  426,  380,  383,  877,  382,  383,  384,  385,
1447       382,  386,  380,  387,  531,  382,  385,  388,  405,  388,
1448       412,  413,  388,  388,  408,  408,  414,  408,  388,  388,
1449       428,  416,  426,  876,  388,  388,  875,  411,  411,  388,
1450       411,  408,  408,  408,  408,  441,  388,  388,  443,  388,
1451       429,  429,  388,  388,  411,  411,  411,  411,  388,  388,
1452       428,  428,  446,  388,  388,  431,  431,  447,  388,  438,
1453 
1454       438,  438,  438,  464,  450,  441,  450,  465,  443,  469,
1455       470,  521,  429,  521,  871,  471,  429,  524,  870,  524,
1456       526,  526,  446,  526,  531,  818,  625,  447,  625,  431,
1457       431,  626,  626,  464,  626,  632,  632,  465,  632,  469,
1458       470,  429,  430,  430,  471,  430,  430,  430,  430,  430,
1459       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1460       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1461       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1462       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1463       430,  430,  430,  430,  430,  430,  817,  430,  430,  430,
1464 
1465       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1466       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1467       430,  430,  430,  430,  430,  430,  432,  432,  432,  432,
1468       451,  452,  453,  457,  456,  432,  432,  432,  432,  432,
1469       432,  454,  459,  460,  472,  461,  451,  452,  473,  458,
1470       453,  474,  457,  461,  454,  816,  456,  475,  476,  477,
1471       432,  432,  459,  460,  478,  432,  432,  432,  432,  432,
1472       432,  458,  480,  472,  458,  482,  451,  452,  473,  481,
1473       453,  474,  457,  461,  454,  456,  486,  475,  476,  477,
1474       484,  487,  459,  460,  478,  815,  485,  488,  489,  814,
1475 
1476       458,  491,  480,  458,  462,  482,  492,  493,  481,  462,
1477       462,  462,  462,  494,  495,  462,  486,  496,  497,  484,
1478       462,  487,  498,  499,  462,  485,  488,  462,  489,  462,
1479       500,  491,  462,  501,  502,  503,  492,  493,  505,  462,
1480       462,  462,  462,  494,  495,  462,  506,  496,  497,  504,
1481       462,  507,  498,  499,  462,  504,  462,  508,  462,  509,
1482       500,  462,  510,  501,  502,  503,  511,  513,  505,  512,
1483       514,  515,  516,  517,  519,  506,  518,  519,  519,  504,
1484       507,  520,  638,  638,  638,  504,  546,  508,  527,  509,
1485       528,  529,  510,  533,  543,  544,  511,  513,  512,  813,
1486 
1487       514,  515,  516,  517,  519,  518,  519,  519,  631,  522,
1488       522,  520,  522,  525,  525,  546,  525,  719,  527,  719,
1489       528,  529,  812,  533,  543,  544,  522,  522,  522,  522,
1490       525,  525,  525,  525,  534,  534,  811,  534,  534,  534,
1491       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1492       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1493       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1494       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1495       534,  534,  534,  534,  534,  534,  534,  534,  631,  534,
1496       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1497 
1498       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1499       534,  534,  534,  534,  534,  534,  534,  534,  535,  535,
1500       545,  548,  550,  810,  539,  539,  549,  552,  557,  551,
1501       554,  549,  552,  553,  809,  559,  558,  640,  640,  548,
1502       551,  548,  556,  554,  727,  727,  550,  556,  557,  558,
1503       545,  559,  535,  535,  536,  536,  536,  536,  539,  539,
1504       553,  549,  552,  536,  536,  536,  536,  536,  536,  548,
1505       551,  548,  555,  554,  562,  550,  560,  556,  557,  558,
1506       800,  559,  800,  563,  569,  561,  566,  562,  564,  553,
1507       555,  571,  560,  536,  536,  536,  536,  536,  536,  540,
1508 
1509       540,  540,  540,  561,  565,  563,  566,  564,  540,  540,
1510       540,  540,  540,  540,  569,  567,  568,  562,  570,  572,
1511       555,  571,  560,  575,  568,  808,  565,  576,  577,  565,
1512       578,  579,  580,  561,  563,  567,  566,  564,  540,  540,
1513       540,  540,  540,  540,  582,  584,  581,  570,  572,  583,
1514       587,  806,  588,  575,  568,  565,  576,  577,  565,  578,
1515       589,  579,  580,  581,  590,  567,  594,  595,  599,  581,
1516       799,  597,  598,  601,  582,  584,  602,  603,  583,  604,
1517       587,  588,  605,  606,  796,  607,  608,  609,  611,  589,
1518       612,  613,  615,  581,  590,  594,  614,  595,  599,  581,
1519 
1520       597,  598,  601,  616,  617,  619,  602,  603,  618,  604,
1521       620,  605,  621,  606,  607,  608,  620,  609,  611,  622,
1522       612,  613,  615,  627,  628,  614,  629,  636,  636,  641,
1523       651,  643,  616,  646,  617,  619,  647,  618,  644,  784,
1524       620,  669,  621,  650,  652,  620,  770,  660,  647,  622,
1525       651,  648,  627,  652,  628,  629,  650,  649,  646,  641,
1526       643,  636,  636,  637,  637,  637,  637,  653,  644,  648,
1527       669,  660,  637,  637,  637,  637,  637,  637,  647,  649,
1528       651,  654,  655,  652,  656,  653,  650,  646,  654,  655,
1529       657,  658,  659,  656,  728,  728,  665,  659,  663,  648,
1530 
1531       660,  657,  637,  637,  637,  637,  637,  637,  649,  658,
1532       661,  658,  662,  664,  665,  653,  667,  662,  654,  655,
1533       668,  661,  670,  656,  666,  663,  664,  659,  671,  666,
1534       672,  657,  674,  668,  676,  679,  667,  761,  680,  658,
1535       681,  658,  683,  687,  665,  679,  685,  662,  688,  689,
1536       691,  661,  670,  692,  663,  693,  664,  671,  695,  666,
1537       672,  674,  696,  668,  676,  679,  667,  680,  697,  699,
1538       681,  700,  683,  687,  679,  685,  701,  702,  688,  689,
1539       691,  704,  692,  705,  707,  693,  706,  695,  709,  710,
1540       711,  696,  713,  714,  733,  715,  716,  697,  717,  699,
1541 
1542       700,  720,  721,  722,  722,  701,  722,  702,  730,  736,
1543       704,  733,  734,  705,  707,  706,  737,  734,  709,  710,
1544       711,  735,  713,  714,  715,  736,  716,  739,  717,  740,
1545       738,  720,  721,  726,  726,  726,  735,  741,  743,  745,
1546       737,  733,  738,  744,  747,  742,  746,  734,  748,  739,
1547       729,  750,  749,  740,  742,  736,  744,  752,  746,  751,
1548       743,  741,  747,  725,  745,  749,  735,  753,  751,  737,
1549       748,  750,  738,  754,  753,  752,  755,  763,  739,  764,
1550       754,  765,  740,  756,  742,  755,  744,  763,  746,  743,
1551       741,  766,  747,  745,  756,  749,  767,  768,  751,  748,
1552 
1553       769,  750,  771,  772,  753,  752,  773,  763,  774,  764,
1554       754,  765,  775,  776,  778,  755,  777,  763,  780,  724,
1555       782,  766,  786,  787,  756,  767,  768,  788,  791,  769,
1556       793,  797,  771,  772,  718,  798,  773,  802,  774,  802,
1557       804,  712,  775,  776,  778,  777,  790,  790,  780,  782,
1558       820,  790,  786,  787,  790,  819,  788,  790,  791,  708,
1559       793,  797,  790,  794,  794,  798,  823,  820,  794,  804,
1560       821,  794,  824,  822,  794,  821,  790,  790,  825,  819,
1561       826,  790,  823,  827,  790,  828,  831,  790,  822,  830,
1562       825,  790,  832,  794,  794,  833,  824,  820,  794,  831,
1563 
1564       834,  794,  826,  835,  794,  821,  829,  827,  819,  828,
1565       838,  830,  823,  836,  841,  829,  694,  840,  822,  842,
1566       825,  843,  832,  844,  833,  824,  845,  847,  849,  831,
1567       834,  826,  835,  850,  852,  856,  827,  857,  828,  838,
1568       830,  858,  690,  836,  841,  829,  840,  860,  842,  865,
1569       852,  843,  844,  861,  862,  859,  845,  847,  849,  859,
1570       863,  864,  859,  850,  852,  856,  857,  866,  684,  868,
1571       869,  858,  859,  872,  867,  678,  860,  867,  865,  852,
1572       873,  898,  873,  861,  862,  859,  903,  867,  899,  859,
1573       863,  864,  859,  900,  901,  902,  905,  866,  868,  869,
1574 
1575       906,  859,  872,  907,  867,  898,  908,  867,  910,  911,
1576       912,  642,  913,  914,  915,  903,  867,  916,  899,  917,
1577       919,  920,  921,  900,  901,  902,  905,  922,  635,  923,
1578       906,  924,  926,  907,  898,  927,  908,  910,  928,  911,
1579       912,  913,  930,  914,  915,  931,  932,  916,  917,  933,
1580       919,  920,  921,  934,  935,  937,  936,  922,  923,  938,
1581       924,  938,  926,  965,  940,  927,  940,  928,  966,  967,
1582       968,  969,  930,  936,  970,  931,  932,  971,  933,  972,
1583       973,  974,  934,  935,  937,  975,  936,  976,  978,  633,
1584       979,  980,  965,  981,  982,  983,  984,  985,  966,  967,
1585 
1586       968,  969,  936,  987,  970,  989,  990,  971,  972,  973,
1587       991,  974,  992,  993,  975,  995,  999,  976,  978,  979,
1588       980,  996,  981,  998,  982,  983,  984,  985, 1015,  997,
1589      1013, 1014,  987,  997,  989,  990, 1016, 1017, 1019, 1020,
1590       991, 1022,  992,  993, 1023,  995,  999, 1024, 1025, 1026,
1591       996, 1027,  998, 1028, 1030, 1034, 1035, 1015,  997, 1036,
1592      1013, 1014,  997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1593      1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1594      1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1595      1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1596 
1597      1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1598      1048, 1073, 1049, 1074, 1075,  623, 1077, 1050, 1053, 1055,
1599      1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1600      1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1601      1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1602      1081, 1103, 1082, 1083, 1105,  596, 1106, 1107, 1084, 1109,
1603      1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157,  593, 1173,
1604      1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098,  547, 1100,
1605       538, 1103, 1166, 1166, 1105, 1106, 1107, 1166,  490, 1109,
1606       467,  466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1607 
1608      1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1609      1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1610      1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1611      1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1612      1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1613      1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1614      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1615      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1616      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1617      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1618 
1619      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1620      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1621      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1622      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1623      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1624      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1625      1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1626      1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1627      1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1628      1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1629 
1630      1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1631      1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1632      1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1633      1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1634      1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1635      1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1636      1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1637      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1638      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1639      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1640 
1641      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1642      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1643      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1644      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1645      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1646      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1647      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1648      1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1649      1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1650      1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1651 
1652      1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1653      1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1654      1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1655      1134, 1134, 1134, 1134, 1135,  455, 1135,  437, 1135, 1135,
1656      1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1657      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1658      1136, 1136, 1136, 1136, 1137,  410, 1137,  389, 1137, 1137,
1659      1167, 1167,  362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1660      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1661      1138, 1138, 1138, 1138, 1138, 1139,  353, 1139, 1139, 1139,
1662 
1663      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1664      1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140,  351, 1140,
1665       346, 1140, 1140,  344,  343,  328, 1140, 1141,  315, 1141,
1666      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1667      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1668      1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1669      1142, 1142, 1142,  314, 1142,  313, 1142, 1142, 1142, 1143,
1670       310, 1143, 1143,  296, 1143, 1143, 1143, 1143, 1143, 1143,
1671      1143, 1143, 1143, 1143,  289, 1143,  288, 1143, 1143, 1143,
1672      1144,  287,  286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1673 
1674      1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1675      1144, 1145,  283, 1145,  281, 1145, 1145,  280,  271,  270,
1676      1145, 1146,  267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1677      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1678      1146, 1146, 1147,  266, 1147, 1147, 1147, 1147, 1147, 1147,
1679      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,  249,
1680      1147, 1147, 1147, 1148,  245, 1148,  241, 1148,  239, 1148,
1681      1148, 1148, 1148,  238, 1148, 1148,  236,  235,  234, 1148,
1682      1149,  230, 1149, 1149, 1149,  216, 1149, 1149, 1149, 1149,
1683      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1684 
1685      1149, 1150,  215, 1150,  214, 1150, 1150,  210,  183,  182,
1686      1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1687      1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1688      1151, 1151, 1152,  180, 1152, 1152, 1152, 1152, 1152,  178,
1689      1152, 1152, 1152, 1152, 1152, 1152, 1152,  177, 1152,  174,
1690      1152, 1152, 1152, 1153,  173, 1153,  172, 1153, 1153, 1153,
1691      1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,  168,  166,
1692       164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1693      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1694      1154, 1154, 1154, 1154, 1154, 1155,  161, 1155, 1155, 1155,
1695 
1696      1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1697      1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156,  160,  159,
1698       158, 1156, 1156, 1158,  150, 1158, 1158, 1158, 1158, 1158,
1699      1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1700      1158, 1158, 1158, 1158, 1159,  149,  145, 1159, 1159, 1159,
1701      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,  144,
1702      1159,  142, 1159, 1160,  137, 1160, 1160, 1160, 1160,  135,
1703      1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1704      1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1705      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  130,
1706 
1707      1161,  126, 1161, 1161, 1161, 1162,  120, 1162, 1162, 1162,
1708       115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1709       113,  112,  109, 1162, 1162, 1162, 1163,  107, 1163,  105,
1710      1163, 1163,  104,  103,   99, 1163, 1164,   96, 1164, 1164,
1711      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1712      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165,   95, 1165,
1713      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1714      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1715      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1716      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1717 
1718        92, 1169,   90, 1169, 1169,   86,   84,   78, 1169, 1170,
1719      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1720      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1721      1171,   77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1722      1171, 1171, 1171, 1171, 1171, 1171, 1171,   74, 1171, 1171,
1723      1171, 1172,   71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1724      1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1725      1172, 1172, 1174,   66, 1174,   63, 1174, 1174,   59,   55,
1726        16, 1174,   15, 1174, 1175,    0, 1175, 1175, 1175, 1175,
1727      1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1728 
1729      1175, 1175, 1175, 1175, 1175, 1176,    0, 1176, 1176, 1176,
1730      1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1731      1176, 1176, 1176, 1176, 1176, 1176, 1177,    0, 1177, 1177,
1732      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1733      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178,    0, 1178,
1734      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1735      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1736      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1737      1179, 1179, 1179,    0, 1179,    0, 1179, 1179, 1179, 1180,
1738         0, 1180, 1180,    0, 1180, 1180, 1180, 1180, 1180, 1180,
1739 
1740      1180, 1180, 1180, 1180,    0, 1180,    0, 1180, 1180, 1180,
1741      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1742      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1743      1181, 1182,    0,    0, 1182, 1182, 1182, 1182, 1182, 1182,
1744      1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1745      1182, 1182, 1183,    0, 1183,    0, 1183, 1183,    0,    0,
1746         0, 1183, 1184,    0, 1184,    0, 1184,    0, 1184, 1184,
1747      1184, 1184,    0, 1184, 1184,    0,    0,    0, 1184, 1185,
1748         0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1749      1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1750 
1751      1186,    0, 1186,    0, 1186, 1186,    0,    0,    0, 1186,
1752      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1753      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1754      1187, 1188,    0, 1188, 1188, 1188, 1188, 1188,    0, 1188,
1755      1188, 1188, 1188, 1188, 1188, 1188,    0, 1188,    0, 1188,
1756      1188, 1188, 1189,    0, 1189,    0, 1189, 1189, 1189, 1189,
1757      1189, 1189, 1189, 1189, 1189, 1189, 1189,    0,    0,    0,
1758      1189, 1189, 1189, 1190,    0, 1190, 1190, 1190, 1190, 1190,
1759      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1760      1190, 1190, 1190, 1190, 1191,    0, 1191, 1191, 1191, 1191,
1761 
1762      1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1763      1191, 1191, 1191, 1191, 1191, 1192, 1192,    0,    0,    0,
1764      1192, 1192, 1193,    0, 1193, 1193, 1193, 1193, 1193, 1193,
1765      1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1766      1193, 1193, 1193, 1194,    0,    0, 1194, 1194, 1194, 1194,
1767      1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,    0, 1194,
1768         0, 1194, 1195,    0, 1195, 1195, 1195, 1195,    0, 1195,
1769      1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1770      1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1771      1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,    0, 1196,
1772 
1773         0, 1196, 1196, 1196, 1197,    0, 1197, 1197, 1197,    0,
1774      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,    0,
1775         0,    0, 1197, 1197, 1197, 1198,    0, 1198, 1198, 1198,
1776      1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1777      1198, 1198, 1198, 1198, 1198, 1198, 1199,    0, 1199, 1199,
1778      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1779      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1780      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1781      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201,    0,
1782      1201,    0, 1201, 1201,    0,    0,    0, 1201, 1202,    0,
1783 
1784      1202,    0, 1202, 1202,    0,    0,    0, 1202, 1203, 1203,
1785      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1786      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1787      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1788      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1789      1205,    0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1790      1205, 1205, 1205, 1205, 1205, 1205, 1205,    0, 1205, 1205,
1791      1205, 1207,    0, 1207,    0, 1207, 1207,    0,    0,    0,
1792      1207,    0, 1207, 1208,    0, 1208, 1208, 1208, 1208, 1208,
1793      1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1794 
1795      1208, 1208, 1208, 1208, 1209,    0, 1209, 1209, 1209, 1209,
1796      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1797      1209, 1209, 1209, 1209, 1209, 1210,    0, 1210, 1210, 1210,
1798      1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1799      1210, 1210, 1210, 1210, 1210, 1210, 1211,    0, 1211, 1211,
1800         0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1801      1211,    0, 1211,    0, 1211, 1211, 1211, 1212, 1212, 1212,
1802      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1803      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214,    0,
1804      1214,    0, 1214, 1214,    0,    0,    0, 1214, 1215,    0,
1805 
1806      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1807      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1808         0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1809      1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1810      1217, 1217,    0,    0,    0, 1217, 1217, 1218,    0, 1218,
1811      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1812      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1813      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1814      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1815      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1816 
1817      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1818      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1819      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1820      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1821      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1822      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1823      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1824      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1825      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1826      1113, 1113, 1113, 1113, 1113
1827 
1828     } ;
1829 
1830 static yy_state_type yy_last_accepting_state;
1831 static char *yy_last_accepting_cpos;
1832 
1833 extern int yy_flex_debug;
1834 int yy_flex_debug = 0;
1835 
1836 /* The intent behind this definition is that it'll catch
1837  * any uses of REJECT which flex missed.
1838  */
1839 #define REJECT reject_used_but_not_detected
1840 #define yymore() yymore_used_but_not_detected
1841 #define YY_MORE_ADJ 0
1842 #define YY_RESTORE_YY_MORE_OFFSET
1843 char *yytext;
1844 /*	$NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $	*/
1845 /* scan.l - scanner for flex input -*-C-*- */
1846 /*  Copyright (c) 1990 The Regents of the University of California. */
1847 /*  All rights reserved. */
1848 
1849 /*  This code is derived from software contributed to Berkeley by */
1850 /*  Vern Paxson. */
1851 
1852 /*  The United States Government has rights in this work pursuant */
1853 /*  to contract no. DE-AC03-76SF00098 between the United States */
1854 /*  Department of Energy and the University of California. */
1855 
1856 /*  This file is part of flex. */
1857 
1858 /*  Redistribution and use in source and binary forms, with or without */
1859 /*  modification, are permitted provided that the following conditions */
1860 /*  are met: */
1861 
1862 /*  1. Redistributions of source code must retain the above copyright */
1863 /*     notice, this list of conditions and the following disclaimer. */
1864 /*  2. Redistributions in binary form must reproduce the above copyright */
1865 /*     notice, this list of conditions and the following disclaimer in the */
1866 /*     documentation and/or other materials provided with the distribution. */
1867 
1868 /*  Neither the name of the University nor the names of its contributors */
1869 /*  may be used to endorse or promote products derived from this software */
1870 /*  without specific prior written permission. */
1871 
1872 /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1873 /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1874 /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1875 /*  PURPOSE. */
1876 #include "flexdef.h"
1877 __RCSID("$NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $");
1878 
1879 #include "parse.h"
1880 extern bool tablesverify, tablesext;
1881 extern int trlcontxt; /* Set in  parse.y for each rule. */
1882 extern const char *escaped_qstart, *escaped_qend;
1883 extern int yylval;	/* XXX: for bootstrap */
1884 
1885 #define M4QSTART "[""["
1886 #define M4QEND "]""]"
1887 
1888 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1889 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1890 
1891 #define ACTION_ECHO add_action( yytext )
1892 #define ACTION_IFDEF(def, should_define) \
1893 	{ \
1894 	if ( should_define ) \
1895 		action_define( def, 1 ); \
1896 	}
1897 
1898 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1899 #define ACTION_ECHO_QEND   add_action (ESCAPED_QEND)
1900 
1901 #define ACTION_M4_IFDEF(def, should_define) \
1902     do{ \
1903         if ( should_define ) \
1904             buf_m4_define( &m4defs_buf, def, NULL);\
1905         else \
1906             buf_m4_undefine( &m4defs_buf, def);\
1907     } while(0)
1908 
1909 #define MARK_END_OF_PROLOG mark_prolog();
1910 
1911 #define YY_DECL \
1912 	int flexscan(void)
1913 
1914 #define RETURNCHAR \
1915 	yylval = (unsigned char) yytext[0]; \
1916 	return CHAR;
1917 
1918 #define RETURNNAME \
1919 	if(yyleng < MAXLINE) \
1920          { \
1921 	strlcpy( nmstr, yytext, sizeof(nmstr) ); \
1922 	return NAME; \
1923 	 } \
1924 	else \
1925 	 do { \
1926 	   synerr(_("Input line too long\n")); \
1927 	   FLEX_EXIT(EXIT_FAILURE);  \
1928 	 } while (0)
1929 
1930 #define PUT_BACK_STRING(str, start) \
1931 	{ size_t i = strlen( str );	\
1932 	  while ( i > start )		\
1933 	    unput((str)[--i]);		\
1934 	}
1935 
1936 #define CHECK_REJECT(str) \
1937 	if ( all_upper( str ) ) \
1938 		reject = true;
1939 
1940 #define CHECK_YYMORE(str) \
1941 	if ( all_lower( str ) ) \
1942 		yymore_used = true;
1943 
1944 #define YY_USER_INIT \
1945 	if ( getenv("POSIXLY_CORRECT") ) \
1946 		posix_compat = true;
1947 
1948 #define START_CODEBLOCK(x) do { \
1949     /* Emit the needed line directive... */\
1950     if (indented_code == false) { \
1951         linenum++; \
1952         line_directive_out(NULL, 1); \
1953     } \
1954     add_action(M4QSTART); \
1955     yy_push_state(CODEBLOCK); \
1956     if ((indented_code = x)) ACTION_ECHO; \
1957 } while(0)
1958 
1959 #define END_CODEBLOCK do { \
1960     yy_pop_state();\
1961     add_action(M4QEND); \
1962     if (!indented_code) line_directive_out(NULL, 0);\
1963 } while (0)
1964 
1965 #define INITIAL 0
1966 #define SECT2 1
1967 #define SECT2PROLOG 2
1968 #define SECT3 3
1969 #define CODEBLOCK 4
1970 #define PICKUPDEF 5
1971 #define SC 6
1972 #define CARETISBOL 7
1973 #define NUM 8
1974 #define QUOTE 9
1975 #define FIRSTCCL 10
1976 #define CCL 11
1977 #define ACTION 12
1978 #define RECOVER 13
1979 #define COMMENT 14
1980 #define ACTION_STRING 15
1981 #define PERCENT_BRACE_ACTION 16
1982 #define OPTION 17
1983 #define LINEDIR 18
1984 #define CODEBLOCK_MATCH_BRACE 19
1985 #define GROUP_WITH_PARAMS 20
1986 #define GROUP_MINUS_PARAMS 21
1987 #define EXTENDED_COMMENT 22
1988 #define COMMENT_DISCARD 23
1989 #define CODE_COMMENT 24
1990 #define SECT3_NOESCAPE 25
1991 #define CHARACTER_CONSTANT 26
1992 
1993 #ifndef YY_NO_UNISTD_H
1994 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1995  * down here because we want the user's section 1 to have been scanned first.
1996  * The user has a chance to override it with an option.
1997  */
1998 #include <unistd.h>
1999 #endif
2000 
2001 #ifndef YY_EXTRA_TYPE
2002 #define YY_EXTRA_TYPE void *
2003 #endif
2004 
2005 static int yy_init_globals ( void );
2006 
2007 /* Accessor methods to globals.
2008    These are made visible to non-reentrant scanners for convenience. */
2009 
2010 int yylex_destroy ( void );
2011 
2012 int yyget_debug ( void );
2013 
2014 void yyset_debug ( int debug_flag  );
2015 
2016 YY_EXTRA_TYPE yyget_extra ( void );
2017 
2018 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2019 
2020 FILE *yyget_in ( void );
2021 
2022 void yyset_in  ( FILE * _in_str  );
2023 
2024 FILE *yyget_out ( void );
2025 
2026 void yyset_out  ( FILE * _out_str  );
2027 
2028 			yy_size_t yyget_leng ( void );
2029 
2030 char *yyget_text ( void );
2031 
2032 int yyget_lineno ( void );
2033 
2034 void yyset_lineno ( int _line_number  );
2035 
2036 /* Macros after this point can all be overridden by user definitions in
2037  * section 1.
2038  */
2039 
2040 #ifndef YY_SKIP_YYWRAP
2041 #ifdef __cplusplus
2042 extern "C" int yywrap ( void );
2043 #else
2044 extern int yywrap ( void );
2045 #endif
2046 #endif
2047 
2048 #ifndef YY_NO_UNPUT
2049 
2050     static void yyunput ( int c, char *buf_ptr  );
2051 
2052 #endif
2053 
2054 #ifndef yytext_ptr
2055 static void yy_flex_strncpy ( char *, const char *, int );
2056 #endif
2057 
2058 #ifdef YY_NEED_STRLEN
2059 static int yy_flex_strlen ( const char * );
2060 #endif
2061 
2062 #ifndef YY_NO_INPUT
2063 #ifdef __cplusplus
2064 static int yyinput ( void );
2065 #else
2066 static int input ( void );
2067 #endif
2068 
2069 #endif
2070 
2071         static int yy_start_stack_ptr = 0;
2072         static int yy_start_stack_depth = 0;
2073         static int *yy_start_stack = NULL;
2074 
2075     static void yy_push_state ( int _new_state );
2076 
2077     static void yy_pop_state ( void );
2078 
2079 /* Amount of stuff to slurp up with each read. */
2080 #ifndef YY_READ_BUF_SIZE
2081 #ifdef __ia64__
2082 /* On IA-64, the buffer size is 16k, not 8k */
2083 #define YY_READ_BUF_SIZE 16384
2084 #else
2085 #define YY_READ_BUF_SIZE 8192
2086 #endif /* __ia64__ */
2087 #endif
2088 
2089 /* Copy whatever the last rule matched to the standard output. */
2090 #ifndef ECHO
2091 /* This used to be an fputs(), but since the string might contain NUL's,
2092  * we now use fwrite().
2093  */
2094 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2095 #endif
2096 
2097 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2098  * is returned in "result".
2099  */
2100 #ifndef YY_INPUT
2101 #define YY_INPUT(buf,result,max_size) \
2102 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2103 		{ \
2104 		int c = '*'; \
2105 		yy_size_t n; \
2106 		for ( n = 0; n < max_size && \
2107 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2108 			buf[n] = (char) c; \
2109 		if ( c == '\n' ) \
2110 			buf[n++] = (char) c; \
2111 		if ( c == EOF && ferror( yyin ) ) \
2112 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2113 		result = n; \
2114 		} \
2115 	else \
2116 		{ \
2117 		errno=0; \
2118 		while ( (result = fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2119 			{ \
2120 			if( errno != EINTR) \
2121 				{ \
2122 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2123 				break; \
2124 				} \
2125 			errno=0; \
2126 			clearerr(yyin); \
2127 			} \
2128 		}\
2129 \
2130 
2131 #endif
2132 
2133 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2134  * we don't want an extra ';' after the "return" because that will cause
2135  * some compilers to complain about unreachable statements.
2136  */
2137 #ifndef yyterminate
2138 #define yyterminate() return YY_NULL
2139 #endif
2140 
2141 /* Number of entries by which start-condition stack grows. */
2142 #ifndef YY_START_STACK_INCR
2143 #define YY_START_STACK_INCR 25
2144 #endif
2145 
2146 /* Report a fatal error. */
2147 #ifndef YY_FATAL_ERROR
2148 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2149 #endif
2150 
2151 /* end tables serialization structures and prototypes */
2152 
2153 /* Default declaration of generated scanner - a define so the user can
2154  * easily add parameters.
2155  */
2156 #ifndef YY_DECL
2157 #define YY_DECL_IS_OURS 1
2158 
2159 extern int yylex (void);
2160 
2161 #define YY_DECL int yylex (void)
2162 #endif /* !YY_DECL */
2163 
2164 /* Code executed at the beginning of each rule, after yytext and yyleng
2165  * have been set up.
2166  */
2167 #ifndef YY_USER_ACTION
2168 #define YY_USER_ACTION
2169 #endif
2170 
2171 /* Code executed at the end of each rule. */
2172 #ifndef YY_BREAK
2173 #define YY_BREAK /*LINTED*/break;
2174 #endif
2175 
2176 #define YY_RULE_SETUP \
2177 	if ( yyleng > 0 ) \
2178 		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2179 				(yytext[yyleng - 1] == '\n'); \
2180 	YY_USER_ACTION
2181 
2182 /** The main scanner function which does all the work.
2183  */
2184 YY_DECL
2185 {
2186 	yy_state_type yy_current_state;
2187 	char *yy_cp, *yy_bp;
2188 	int yy_act;
2189 
2190 	if ( !(yy_init) )
2191 		{
2192 		(yy_init) = 1;
2193 
2194 #ifdef YY_USER_INIT
2195 		YY_USER_INIT;
2196 #endif
2197 
2198 		if ( ! (yy_start) )
2199 			(yy_start) = 1;	/* first start state */
2200 
2201 		if ( ! yyin )
2202 			yyin = stdin;
2203 
2204 		if ( ! yyout )
2205 			yyout = stdout;
2206 
2207 		if ( ! YY_CURRENT_BUFFER ) {
2208 			yyensure_buffer_stack ();
2209 			YY_CURRENT_BUFFER_LVALUE =
2210 				yy_create_buffer( yyin, YY_BUF_SIZE );
2211 		}
2212 
2213 		yy_load_buffer_state(  );
2214 		}
2215 
2216 	{
2217 
2218 	static int bracelevel, didadef, indented_code;
2219 	static int doing_rule_action = false;
2220 	static int option_sense;
2221 
2222 	int doing_codeblock = false;
2223 	int brace_depth=0, brace_start_line=0;
2224 	char nmdef[MAXLINE];
2225 
2226 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2227 		{
2228 		yy_cp = (yy_c_buf_p);
2229 
2230 		/* Support of yytext. */
2231 		*yy_cp = (yy_hold_char);
2232 
2233 		/* yy_bp points to the position in yy_ch_buf of the start of
2234 		 * the current run.
2235 		 */
2236 		yy_bp = yy_cp;
2237 
2238 		yy_current_state = (yy_start);
2239 		yy_current_state += YY_AT_BOL();
2240 yy_match:
2241 		do
2242 			{
2243 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2244 			if ( yy_accept[yy_current_state] )
2245 				{
2246 				(yy_last_accepting_state) = yy_current_state;
2247 				(yy_last_accepting_cpos) = yy_cp;
2248 				}
2249 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2250 				{
2251 				yy_current_state = (int) yy_def[yy_current_state];
2252 				if ( yy_current_state >= 1114 )
2253 					yy_c = yy_meta[yy_c];
2254 				}
2255 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2256 			++yy_cp;
2257 			}
2258 		while ( yy_base[yy_current_state] != 4511 );
2259 
2260 yy_find_action:
2261 		yy_act = yy_accept[yy_current_state];
2262 		if ( yy_act == 0 )
2263 			{ /* have to back up */
2264 			yy_cp = (yy_last_accepting_cpos);
2265 			yy_current_state = (yy_last_accepting_state);
2266 			yy_act = yy_accept[yy_current_state];
2267 			}
2268 
2269 		YY_DO_BEFORE_ACTION;
2270 
2271 do_action:	/* This label is used only to access EOF actions. */
2272 
2273 		switch ( yy_act )
2274 	{ /* beginning of action switch */
2275 			case 0: /* must back up */
2276 			/* undo the effects of YY_DO_BEFORE_ACTION */
2277 			*yy_cp = (yy_hold_char);
2278 			yy_cp = (yy_last_accepting_cpos);
2279 			yy_current_state = (yy_last_accepting_state);
2280 			goto yy_find_action;
2281 
2282 case 1:
2283 YY_RULE_SETUP
2284 START_CODEBLOCK(true);
2285 	YY_BREAK
2286 case 2:
2287 YY_RULE_SETUP
2288 add_action("/*[""["); yy_push_state( COMMENT );
2289 	YY_BREAK
2290 case 3:
2291 YY_RULE_SETUP
2292 yy_push_state( LINEDIR );
2293 	YY_BREAK
2294 case 4:
2295 YY_RULE_SETUP
2296 return SCDECL;
2297 	YY_BREAK
2298 case 5:
2299 YY_RULE_SETUP
2300 return XSCDECL;
2301 	YY_BREAK
2302 case 6:
2303 /* rule 6 can match eol */
2304 YY_RULE_SETUP
2305 START_CODEBLOCK(false);
2306 	YY_BREAK
2307 case 7:
2308 /* rule 7 can match eol */
2309 YY_RULE_SETUP
2310 {
2311                 brace_start_line = linenum;
2312                 ++linenum;
2313                 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2314                 brace_depth = 1;
2315                 yy_push_state(CODEBLOCK_MATCH_BRACE);
2316             }
2317 	YY_BREAK
2318 case 8:
2319 YY_RULE_SETUP
2320 synerr( _("malformed '%top' directive") );
2321 	YY_BREAK
2322 case 9:
2323 YY_RULE_SETUP
2324 /* discard */
2325 	YY_BREAK
2326 case 10:
2327 YY_RULE_SETUP
2328 {
2329 			sectnum = 2;
2330 			bracelevel = 0;
2331 			mark_defs1();
2332 			line_directive_out(NULL, 1);
2333 			BEGIN(SECT2PROLOG);
2334 			return SECTEND;
2335 			}
2336 	YY_BREAK
2337 case 11:
2338 /* rule 11 can match eol */
2339 YY_RULE_SETUP
2340 yytext_is_array = false; ++linenum;
2341 	YY_BREAK
2342 case 12:
2343 /* rule 12 can match eol */
2344 YY_RULE_SETUP
2345 yytext_is_array = true; ++linenum;
2346 	YY_BREAK
2347 case 13:
2348 YY_RULE_SETUP
2349 BEGIN(OPTION); return TOK_OPTION;
2350 	YY_BREAK
2351 case 14:
2352 /* rule 14 can match eol */
2353 YY_RULE_SETUP
2354 ++linenum; /* ignore */
2355 	YY_BREAK
2356 case 15:
2357 /* rule 15 can match eol */
2358 YY_RULE_SETUP
2359 ++linenum;	/* ignore */
2360 	YY_BREAK
2361 /* xgettext: no-c-format */
2362 case 16:
2363 /* rule 16 can match eol */
2364 YY_RULE_SETUP
2365 synerr( _( "unrecognized '%' directive" ) );
2366 	YY_BREAK
2367 case 17:
2368 YY_RULE_SETUP
2369 {
2370 			if(yyleng < MAXLINE)
2371         		 {
2372 			strlcpy( nmstr, yytext, sizeof(nmstr) );
2373 			 }
2374 			else
2375 			 {
2376 			   synerr( _("Definition name too long\n"));
2377 			   FLEX_EXIT(EXIT_FAILURE);
2378 			 }
2379 
2380 			didadef = false;
2381 			BEGIN(PICKUPDEF);
2382 			}
2383 	YY_BREAK
2384 case 18:
2385 YY_RULE_SETUP
2386 RETURNNAME;
2387 	YY_BREAK
2388 case 19:
2389 /* rule 19 can match eol */
2390 YY_RULE_SETUP
2391 ++linenum; /* allows blank lines in section 1 */
2392 	YY_BREAK
2393 case 20:
2394 /* rule 20 can match eol */
2395 YY_RULE_SETUP
2396 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2397 	YY_BREAK
2398 
2399 /* */
2400 case 21:
2401 YY_RULE_SETUP
2402 ACTION_ECHO;
2403 	YY_BREAK
2404 case 22:
2405 YY_RULE_SETUP
2406 ACTION_ECHO;
2407 	YY_BREAK
2408 case 23:
2409 /* rule 23 can match eol */
2410 YY_RULE_SETUP
2411 ++linenum; ACTION_ECHO;
2412 	YY_BREAK
2413 
2414 case 24:
2415 YY_RULE_SETUP
2416 add_action("*/]""]"); yy_pop_state();
2417 	YY_BREAK
2418 
2419 case 25:
2420 YY_RULE_SETUP
2421 ACTION_ECHO; yy_pop_state();
2422 	YY_BREAK
2423 
2424 /* This is the same as COMMENT, but is discarded rather than output. */
2425 case 26:
2426 YY_RULE_SETUP
2427 yy_pop_state();
2428 	YY_BREAK
2429 case 27:
2430 YY_RULE_SETUP
2431 ;
2432 	YY_BREAK
2433 case 28:
2434 YY_RULE_SETUP
2435 ;
2436 	YY_BREAK
2437 case 29:
2438 /* rule 29 can match eol */
2439 YY_RULE_SETUP
2440 ++linenum;
2441 	YY_BREAK
2442 
2443 case 30:
2444 YY_RULE_SETUP
2445 yy_pop_state();
2446 	YY_BREAK
2447 case 31:
2448 YY_RULE_SETUP
2449 ;
2450 	YY_BREAK
2451 case 32:
2452 /* rule 32 can match eol */
2453 YY_RULE_SETUP
2454 ++linenum;
2455 	YY_BREAK
2456 
2457 case 33:
2458 /* rule 33 can match eol */
2459 YY_RULE_SETUP
2460 yy_pop_state();
2461 	YY_BREAK
2462 case 34:
2463 YY_RULE_SETUP
2464 linenum = myctoi( yytext );
2465 	YY_BREAK
2466 case 35:
2467 YY_RULE_SETUP
2468 {
2469 			free(infilename);
2470 			infilename = xstrdup(yytext + 1);
2471 			infilename[strlen( infilename ) - 1] = '\0';
2472 			}
2473 	YY_BREAK
2474 case 36:
2475 YY_RULE_SETUP
2476 /* ignore spurious characters */
2477 	YY_BREAK
2478 
2479 case 37:
2480 YY_RULE_SETUP
2481 ACTION_ECHO_QSTART;
2482 	YY_BREAK
2483 case 38:
2484 YY_RULE_SETUP
2485 ACTION_ECHO_QEND;
2486 	YY_BREAK
2487 
2488 case 39:
2489 /* rule 39 can match eol */
2490 YY_RULE_SETUP
2491 ++linenum; END_CODEBLOCK;
2492 	YY_BREAK
2493 case 40:
2494 YY_RULE_SETUP
2495 ACTION_ECHO;
2496 	YY_BREAK
2497 case 41:
2498 YY_RULE_SETUP
2499 ACTION_ECHO;
2500 	YY_BREAK
2501 case 42:
2502 /* rule 42 can match eol */
2503 YY_RULE_SETUP
2504 {
2505 			++linenum;
2506 			ACTION_ECHO;
2507 			if ( indented_code ) END_CODEBLOCK;
2508 			}
2509 	YY_BREAK
2510 
2511 case 43:
2512 YY_RULE_SETUP
2513 {
2514                 if( --brace_depth == 0){
2515                     /* TODO: Matched. */
2516                     yy_pop_state();
2517                 }else
2518                     buf_strnappend(&top_buf, yytext, yyleng);
2519             }
2520 	YY_BREAK
2521 case 44:
2522 YY_RULE_SETUP
2523 {
2524                 brace_depth++;
2525                 buf_strnappend(&top_buf, yytext, yyleng);
2526             }
2527 	YY_BREAK
2528 case 45:
2529 /* rule 45 can match eol */
2530 YY_RULE_SETUP
2531 {
2532                 ++linenum;
2533                 buf_strnappend(&top_buf, yytext, yyleng);
2534             }
2535 	YY_BREAK
2536 case 46:
2537 YY_RULE_SETUP
2538 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2539 	YY_BREAK
2540 case 47:
2541 YY_RULE_SETUP
2542 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2543 	YY_BREAK
2544 case 48:
2545 YY_RULE_SETUP
2546 {
2547        buf_strnappend(&top_buf, yytext, yyleng);
2548     }
2549 	YY_BREAK
2550 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2551 {
2552                 linenum = brace_start_line;
2553                 synerr(_("Unmatched '{'"));
2554                 yyterminate();
2555                 }
2556 	YY_BREAK
2557 
2558 case 49:
2559 YY_RULE_SETUP
2560 /* separates name and definition */
2561 	YY_BREAK
2562 case 50:
2563 YY_RULE_SETUP
2564 {
2565  		        if(yyleng < MAXLINE)
2566  		         {
2567 			strlcpy( nmdef, yytext, sizeof(nmdef) );
2568  		         }
2569  		        else
2570  		         {
2571  		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2572  		           FLEX_EXIT(EXIT_FAILURE);
2573 			 }
2574 			/* Skip trailing whitespace. */
2575 			{
2576 			    size_t i = strlen( nmdef );
2577 			    while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2578 			       --i;
2579 			    nmdef[i] = '\0';
2580 			}
2581 
2582 			ndinstal( nmstr, nmdef );
2583 			didadef = true;
2584 			}
2585 	YY_BREAK
2586 case 51:
2587 /* rule 51 can match eol */
2588 YY_RULE_SETUP
2589 {
2590 			if ( ! didadef )
2591 				synerr( _( "incomplete name definition" ) );
2592 			BEGIN(INITIAL);
2593 			++linenum;
2594 			}
2595 	YY_BREAK
2596 
2597 case 52:
2598 /* rule 52 can match eol */
2599 YY_RULE_SETUP
2600 ++linenum; BEGIN(INITIAL);
2601 	YY_BREAK
2602 case 53:
2603 YY_RULE_SETUP
2604 option_sense = true;
2605 	YY_BREAK
2606 case 54:
2607 YY_RULE_SETUP
2608 return '=';
2609 	YY_BREAK
2610 case 55:
2611 YY_RULE_SETUP
2612 option_sense = ! option_sense;
2613 	YY_BREAK
2614 case 56:
2615 YY_RULE_SETUP
2616 csize = option_sense ? 128 : 256;
2617 	YY_BREAK
2618 case 57:
2619 YY_RULE_SETUP
2620 csize = option_sense ? 256 : 128;
2621 	YY_BREAK
2622 case 58:
2623 YY_RULE_SETUP
2624 long_align = option_sense;
2625 	YY_BREAK
2626 case 59:
2627 YY_RULE_SETUP
2628 {
2629 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2630             interactive = option_sense;
2631 			}
2632 	YY_BREAK
2633 case 60:
2634 YY_RULE_SETUP
2635 yytext_is_array = option_sense;
2636 	YY_BREAK
2637 case 61:
2638 YY_RULE_SETUP
2639 backing_up_report = option_sense;
2640 	YY_BREAK
2641 case 62:
2642 YY_RULE_SETUP
2643 interactive = ! option_sense;
2644 	YY_BREAK
2645 case 63:
2646 YY_RULE_SETUP
2647 bison_bridge_lval = option_sense;
2648 	YY_BREAK
2649 case 64:
2650 YY_RULE_SETUP
2651 { if((bison_bridge_lloc = option_sense))
2652                             bison_bridge_lval = true;
2653                      }
2654 	YY_BREAK
2655 case 65:
2656 YY_RULE_SETUP
2657 C_plus_plus = option_sense;
2658 	YY_BREAK
2659 case 66:
2660 YY_RULE_SETUP
2661 sf_set_case_ins(!option_sense);
2662 	YY_BREAK
2663 case 67:
2664 YY_RULE_SETUP
2665 sf_set_case_ins(option_sense);
2666 	YY_BREAK
2667 case 68:
2668 YY_RULE_SETUP
2669 ddebug = option_sense;
2670 	YY_BREAK
2671 case 69:
2672 YY_RULE_SETUP
2673 spprdflt = ! option_sense;
2674 	YY_BREAK
2675 case 70:
2676 YY_RULE_SETUP
2677 useecs = option_sense;
2678 	YY_BREAK
2679 case 71:
2680 YY_RULE_SETUP
2681 {
2682 			useecs = usemecs = false;
2683 			use_read = fullspd = true;
2684 			}
2685 	YY_BREAK
2686 case 72:
2687 YY_RULE_SETUP
2688 {
2689 			useecs = usemecs = false;
2690 			use_read = fulltbl = true;
2691 			}
2692 	YY_BREAK
2693 case 73:
2694 YY_RULE_SETUP
2695 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2696 	YY_BREAK
2697 case 74:
2698 YY_RULE_SETUP
2699 interactive = option_sense;
2700 	YY_BREAK
2701 case 75:
2702 YY_RULE_SETUP
2703 lex_compat = option_sense;
2704 	YY_BREAK
2705 case 76:
2706 YY_RULE_SETUP
2707 posix_compat = option_sense;
2708 	YY_BREAK
2709 case 77:
2710 YY_RULE_SETUP
2711 gen_line_dirs = option_sense;
2712 	YY_BREAK
2713 case 78:
2714 YY_RULE_SETUP
2715 {
2716 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2717             /* Override yywrap */
2718             if( option_sense == true )
2719                 do_yywrap = false;
2720 			}
2721 	YY_BREAK
2722 case 79:
2723 YY_RULE_SETUP
2724 usemecs = option_sense;
2725 	YY_BREAK
2726 case 80:
2727 YY_RULE_SETUP
2728 {
2729 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2730             interactive = !option_sense;
2731 			}
2732 	YY_BREAK
2733 case 81:
2734 YY_RULE_SETUP
2735 performance_report += option_sense ? 1 : -1;
2736 	YY_BREAK
2737 case 82:
2738 YY_RULE_SETUP
2739 yytext_is_array = ! option_sense;
2740 	YY_BREAK
2741 case 83:
2742 YY_RULE_SETUP
2743 use_read = option_sense;
2744 	YY_BREAK
2745 case 84:
2746 YY_RULE_SETUP
2747 reentrant = option_sense;
2748 	YY_BREAK
2749 case 85:
2750 YY_RULE_SETUP
2751 reject_really_used = option_sense;
2752 	YY_BREAK
2753 case 86:
2754 YY_RULE_SETUP
2755 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2756 	YY_BREAK
2757 case 87:
2758 YY_RULE_SETUP
2759 do_stdinit = option_sense;
2760 	YY_BREAK
2761 case 88:
2762 YY_RULE_SETUP
2763 use_stdout = option_sense;
2764 	YY_BREAK
2765 case 89:
2766 YY_RULE_SETUP
2767 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2768 	YY_BREAK
2769 case 90:
2770 YY_RULE_SETUP
2771 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2772 	YY_BREAK
2773 case 91:
2774 YY_RULE_SETUP
2775 printstats = option_sense;
2776 	YY_BREAK
2777 case 92:
2778 YY_RULE_SETUP
2779 nowarn = ! option_sense;
2780 	YY_BREAK
2781 case 93:
2782 YY_RULE_SETUP
2783 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2784 	YY_BREAK
2785 case 94:
2786 YY_RULE_SETUP
2787 yymore_really_used = option_sense;
2788 	YY_BREAK
2789 case 95:
2790 YY_RULE_SETUP
2791 do_yywrap = option_sense;
2792 	YY_BREAK
2793 case 96:
2794 YY_RULE_SETUP
2795 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2796 	YY_BREAK
2797 case 97:
2798 YY_RULE_SETUP
2799 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2800 	YY_BREAK
2801 case 98:
2802 YY_RULE_SETUP
2803 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2804 	YY_BREAK
2805 case 99:
2806 YY_RULE_SETUP
2807 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2808 	YY_BREAK
2809 case 100:
2810 YY_RULE_SETUP
2811 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2812 	YY_BREAK
2813 case 101:
2814 YY_RULE_SETUP
2815 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2816 	YY_BREAK
2817 case 102:
2818 YY_RULE_SETUP
2819 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2820 	YY_BREAK
2821 case 103:
2822 YY_RULE_SETUP
2823 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2824 	YY_BREAK
2825 case 104:
2826 YY_RULE_SETUP
2827 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2828 	YY_BREAK
2829 case 105:
2830 YY_RULE_SETUP
2831 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2832 	YY_BREAK
2833 case 106:
2834 YY_RULE_SETUP
2835 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2836 	YY_BREAK
2837 case 107:
2838 YY_RULE_SETUP
2839 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2840 	YY_BREAK
2841 case 108:
2842 YY_RULE_SETUP
2843 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2844 	YY_BREAK
2845 case 109:
2846 YY_RULE_SETUP
2847 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2848 	YY_BREAK
2849 case 110:
2850 YY_RULE_SETUP
2851 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2852 	YY_BREAK
2853 case 111:
2854 YY_RULE_SETUP
2855 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2856 	YY_BREAK
2857 case 112:
2858 YY_RULE_SETUP
2859 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
2860 	YY_BREAK
2861 case 113:
2862 YY_RULE_SETUP
2863 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
2864 	YY_BREAK
2865 case 114:
2866 YY_RULE_SETUP
2867 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
2868 	YY_BREAK
2869 case 115:
2870 YY_RULE_SETUP
2871 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
2872 	YY_BREAK
2873 case 116:
2874 YY_RULE_SETUP
2875 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
2876 	YY_BREAK
2877 case 117:
2878 YY_RULE_SETUP
2879 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
2880 	YY_BREAK
2881 case 118:
2882 YY_RULE_SETUP
2883 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
2884 	YY_BREAK
2885 case 119:
2886 YY_RULE_SETUP
2887 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
2888 	YY_BREAK
2889 case 120:
2890 YY_RULE_SETUP
2891 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
2892 	YY_BREAK
2893 case 121:
2894 YY_RULE_SETUP
2895 return TOK_EXTRA_TYPE;
2896 	YY_BREAK
2897 case 122:
2898 YY_RULE_SETUP
2899 return TOK_OUTFILE;
2900 	YY_BREAK
2901 case 123:
2902 YY_RULE_SETUP
2903 return TOK_PREFIX;
2904 	YY_BREAK
2905 case 124:
2906 YY_RULE_SETUP
2907 return TOK_YYCLASS;
2908 	YY_BREAK
2909 case 125:
2910 YY_RULE_SETUP
2911 return TOK_HEADER_FILE;
2912 	YY_BREAK
2913 case 126:
2914 YY_RULE_SETUP
2915 return TOK_TABLES_FILE;
2916 	YY_BREAK
2917 case 127:
2918 YY_RULE_SETUP
2919 {
2920                     tablesverify = option_sense;
2921                     if(!tablesext && option_sense)
2922                         tablesext = true;
2923                     }
2924 	YY_BREAK
2925 case 128:
2926 YY_RULE_SETUP
2927 {
2928 			if(yyleng-1 < MAXLINE)
2929         		 {
2930 			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
2931 			 }
2932 			else
2933 			 {
2934 			   synerr( _("Option line too long\n"));
2935 			   FLEX_EXIT(EXIT_FAILURE);
2936 			 }
2937 			nmstr[strlen( nmstr ) - 1] = '\0';
2938 			return NAME;
2939 			}
2940 	YY_BREAK
2941 case 129:
2942 YY_RULE_SETUP
2943 {
2944 			format_synerr( _( "unrecognized %%option: %s" ),
2945 				yytext );
2946 			BEGIN(RECOVER);
2947 			}
2948 	YY_BREAK
2949 
2950 case 130:
2951 /* rule 130 can match eol */
2952 YY_RULE_SETUP
2953 ++linenum; BEGIN(INITIAL);
2954 	YY_BREAK
2955 
2956 case 131:
2957 YY_RULE_SETUP
2958 ++bracelevel; yyless( 2 );	/* eat only %{ */
2959 	YY_BREAK
2960 case 132:
2961 YY_RULE_SETUP
2962 --bracelevel; yyless( 2 );	/* eat only %} */
2963 	YY_BREAK
2964 case 133:
2965 YY_RULE_SETUP
2966 START_CODEBLOCK(true); /* indented code in prolog */
2967 	YY_BREAK
2968 case 134:
2969 YY_RULE_SETUP
2970 {
2971         /* non-indented code */
2972 		if ( bracelevel <= 0 ) {
2973             /* not in %{ ... %} */
2974             yyless( 0 );	/* put it all back */
2975             yy_set_bol( 1 );
2976             mark_prolog();
2977             BEGIN(SECT2);
2978         } else {
2979             START_CODEBLOCK(true);
2980         }
2981     }
2982 	YY_BREAK
2983 case 135:
2984 YY_RULE_SETUP
2985 ACTION_ECHO;
2986 	YY_BREAK
2987 case 136:
2988 /* rule 136 can match eol */
2989 YY_RULE_SETUP
2990 ++linenum; ACTION_ECHO;
2991 	YY_BREAK
2992 case YY_STATE_EOF(SECT2PROLOG):
2993 {
2994 			mark_prolog();
2995 			sectnum = 0;
2996 			yyterminate(); /* to stop the parser */
2997 			}
2998 	YY_BREAK
2999 
3000 case 137:
3001 /* rule 137 can match eol */
3002 YY_RULE_SETUP
3003 ++linenum; /* allow blank lines in section 2 */
3004 	YY_BREAK
3005 case 138:
3006 YY_RULE_SETUP
3007 {
3008 			indented_code = false;
3009 			doing_codeblock = true;
3010 			bracelevel = 1;
3011 			BEGIN(PERCENT_BRACE_ACTION);
3012 			}
3013 	YY_BREAK
3014 case 139:
3015 YY_RULE_SETUP
3016 {
3017                         /* Allow "<" to appear in (?x) patterns. */
3018                         if (!sf_skip_ws())
3019                             BEGIN(SC);
3020                         return '<';
3021                     }
3022 	YY_BREAK
3023 case 140:
3024 YY_RULE_SETUP
3025 return '^';
3026 	YY_BREAK
3027 case 141:
3028 YY_RULE_SETUP
3029 BEGIN(QUOTE); return '"';
3030 	YY_BREAK
3031 case 142:
3032 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3033 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3034 YY_DO_BEFORE_ACTION; /* set up yytext again */
3035 YY_RULE_SETUP
3036 {
3037 			BEGIN(NUM);
3038 			if ( lex_compat || posix_compat )
3039 				return BEGIN_REPEAT_POSIX;
3040 			else
3041 				return BEGIN_REPEAT_FLEX;
3042 			}
3043 	YY_BREAK
3044 case 143:
3045 /* rule 143 can match eol */
3046 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3047 YY_LINENO_REWIND_TO(yy_bp + 1);
3048 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3049 YY_DO_BEFORE_ACTION; /* set up yytext again */
3050 YY_RULE_SETUP
3051 return '$';
3052 	YY_BREAK
3053 case 144:
3054 YY_RULE_SETUP
3055 {
3056 			bracelevel = 1;
3057 			BEGIN(PERCENT_BRACE_ACTION);
3058 
3059 			if ( in_rule )
3060 				{
3061 				doing_rule_action = true;
3062 				in_rule = false;
3063 				return '\n';
3064 				}
3065 			}
3066 	YY_BREAK
3067 case 145:
3068 /* rule 145 can match eol */
3069 YY_RULE_SETUP
3070 {
3071                         if (sf_skip_ws()){
3072                             /* We're in the middle of a (?x: ) pattern. */
3073                             /* Push back everything starting at the "|" */
3074                             int amt = (int) (strchr (yytext, '|') - yytext);
3075                             yyless(amt);
3076                         }
3077                         else {
3078                             add_action("]""]");
3079                             continued_action = true;
3080                             ++linenum;
3081                             return '\n';
3082                         }
3083                     }
3084 	YY_BREAK
3085 case 146:
3086 YY_RULE_SETUP
3087 {
3088 
3089                 if (sf_skip_ws()){
3090                     /* We're in the middle of a (?x: ) pattern. */
3091                     yy_push_state(COMMENT_DISCARD);
3092                 }
3093                 else{
3094                     yyless( yyleng - 2 );	/* put back '/', '*' */
3095                     bracelevel = 0;
3096                     continued_action = false;
3097                     BEGIN(ACTION);
3098                 }
3099 			}
3100 	YY_BREAK
3101 case 147:
3102 YY_RULE_SETUP
3103 /* allow indented rules */ ;
3104 	YY_BREAK
3105 case 148:
3106 YY_RULE_SETUP
3107 {
3108             if (sf_skip_ws()){
3109                 /* We're in the middle of a (?x: ) pattern. */
3110             }
3111             else{
3112                 /* This rule is separate from the one below because
3113                  * otherwise we get variable trailing context, so
3114                  * we can't build the scanner using -{f,F}.
3115                  */
3116                 bracelevel = 0;
3117                 continued_action = false;
3118                 BEGIN(ACTION);
3119 
3120                 if ( in_rule )
3121                     {
3122                     doing_rule_action = true;
3123                     in_rule = false;
3124                     return '\n';
3125                     }
3126             }
3127 			}
3128 	YY_BREAK
3129 case 149:
3130 /* rule 149 can match eol */
3131 YY_RULE_SETUP
3132 {
3133             if (sf_skip_ws()){
3134                 /* We're in the middle of a (?x: ) pattern. */
3135                 ++linenum;
3136             }
3137             else{
3138                 bracelevel = 0;
3139                 continued_action = false;
3140                 BEGIN(ACTION);
3141                 unput( '\n' );	/* so <ACTION> sees it */
3142 
3143                 if ( in_rule )
3144                     {
3145                     doing_rule_action = true;
3146                     in_rule = false;
3147                     return '\n';
3148                     }
3149             }
3150 			}
3151 	YY_BREAK
3152 case 150:
3153 case 151:
3154 YY_RULE_SETUP
3155 return EOF_OP;
3156 	YY_BREAK
3157 case 152:
3158 YY_RULE_SETUP
3159 {
3160 			sectnum = 3;
3161 			BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3162 			outn("/* Begin user sect3 */");
3163 			yyterminate(); /* to stop the parser */
3164 
3165 			}
3166 	YY_BREAK
3167 case 153:
3168 YY_RULE_SETUP
3169 {
3170 			int cclval;
3171 
3172 			if(yyleng < MAXLINE)
3173         		 {
3174 			strlcpy( nmstr, yytext, sizeof(nmstr) );
3175 			 }
3176 			else
3177 			 {
3178 			   synerr( _("Input line too long\n"));
3179 			   FLEX_EXIT(EXIT_FAILURE);
3180 			 }
3181 
3182 			/* Check to see if we've already encountered this
3183 			 * ccl.
3184 			 */
3185 			if (0 /* <--- This "0" effectively disables the reuse of a
3186                    * character class (purely based on its source text).
3187                    * The reason it was disabled is so yacc/bison can parse
3188                    * ccl operations, such as ccl difference and union.
3189                    */
3190                 &&  (cclval = ccllookup( nmstr )) != 0 )
3191 				{
3192 				if ( input() != ']' )
3193 					synerr( _( "bad character class" ) );
3194 
3195 				yylval = cclval;
3196 				++cclreuse;
3197 				return PREVCCL;
3198 				}
3199 			else
3200 				{
3201 				/* We fudge a bit.  We know that this ccl will
3202 				 * soon be numbered as lastccl + 1 by cclinit.
3203 				 */
3204 				cclinstal( nmstr, lastccl + 1 );
3205 
3206 				/* Push back everything but the leading bracket
3207 				 * so the ccl can be rescanned.
3208 				 */
3209 				yyless( 1 );
3210 
3211 				BEGIN(FIRSTCCL);
3212 				return '[';
3213 				}
3214 			}
3215 	YY_BREAK
3216 case 154:
3217 YY_RULE_SETUP
3218 return CCL_OP_DIFF;
3219 	YY_BREAK
3220 case 155:
3221 YY_RULE_SETUP
3222 return CCL_OP_UNION;
3223 	YY_BREAK
3224 /* Check for :space: at the end of the rule so we don't
3225      * wrap the expanded regex in '(' ')' -- breaking trailing
3226      * context.
3227      */
3228 case 156:
3229 /* rule 156 can match eol */
3230 YY_RULE_SETUP
3231 {
3232 			char *nmdefptr;
3233             int end_is_ws, end_ch;
3234 
3235             end_ch = yytext[yyleng-1];
3236             end_is_ws = end_ch != '}' ? 1 : 0;
3237 
3238  			if(yyleng-1 < MAXLINE)
3239          		 {
3240 			strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
3241  			 }
3242  			else
3243  			 {
3244  			   synerr( _("Input line too long\n"));
3245  			   FLEX_EXIT(EXIT_FAILURE);
3246  			 }
3247 nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3248 
3249 			if ( (nmdefptr = ndlookup( nmstr )) == 0 )
3250 				format_synerr(
3251 					_( "undefined definition {%s}" ),
3252 						nmstr );
3253 
3254 			else
3255 				{ /* push back name surrounded by ()'s */
3256 				size_t len = strlen( nmdefptr );
3257                 if (end_is_ws)
3258                     unput(end_ch);
3259 
3260 				if ( lex_compat || nmdefptr[0] == '^' ||
3261 				     (len > 0 && nmdefptr[len - 1] == '$')
3262                      || (end_is_ws && trlcontxt && !sf_skip_ws()))
3263 					{ /* don't use ()'s after all */
3264 					PUT_BACK_STRING(nmdefptr, 0);
3265 
3266 					if ( nmdefptr[0] == '^' )
3267 						BEGIN(CARETISBOL);
3268 					}
3269 
3270 				else
3271 					{
3272 					unput(')');
3273 					PUT_BACK_STRING(nmdefptr, 0);
3274 					unput('(');
3275 					}
3276 				}
3277 			}
3278 	YY_BREAK
3279 case 157:
3280 YY_RULE_SETUP
3281 {
3282                     if (sf_skip_ws())
3283                         yy_push_state(COMMENT_DISCARD);
3284                     else{
3285                         /* Push back the "*" and return "/" as usual. */
3286                         yyless(1);
3287                         return '/';
3288                     }
3289                 }
3290 	YY_BREAK
3291 case 158:
3292 YY_RULE_SETUP
3293 {
3294                     if (lex_compat || posix_compat){
3295                         /* Push back the "?#" and treat it like a normal parens. */
3296                         yyless(1);
3297                         sf_push();
3298                         return '(';
3299                     }
3300                     else
3301                         yy_push_state(EXTENDED_COMMENT);
3302                 }
3303 	YY_BREAK
3304 case 159:
3305 YY_RULE_SETUP
3306 {
3307                     sf_push();
3308                     if (lex_compat || posix_compat)
3309                         /* Push back the "?" and treat it like a normal parens. */
3310                         yyless(1);
3311                     else
3312                         BEGIN(GROUP_WITH_PARAMS);
3313                     return '(';
3314                 }
3315 	YY_BREAK
3316 case 160:
3317 YY_RULE_SETUP
3318 sf_push(); return '(';
3319 	YY_BREAK
3320 case 161:
3321 YY_RULE_SETUP
3322 {
3323                     if (_sf_top_ix > 0) {
3324                         sf_pop();
3325                         return ')';
3326                     } else
3327                         synerr(_("unbalanced parenthesis"));
3328                 }
3329 	YY_BREAK
3330 case 162:
3331 YY_RULE_SETUP
3332 return (unsigned char) yytext[0];
3333 	YY_BREAK
3334 case 163:
3335 YY_RULE_SETUP
3336 RETURNCHAR;
3337 	YY_BREAK
3338 
3339 case 164:
3340 /* rule 164 can match eol */
3341 YY_RULE_SETUP
3342 ++linenum;	/* Allow blank lines & continuations */
3343 	YY_BREAK
3344 case 165:
3345 YY_RULE_SETUP
3346 return (unsigned char) yytext[0];
3347 	YY_BREAK
3348 case 166:
3349 YY_RULE_SETUP
3350 BEGIN(SECT2); return '>';
3351 	YY_BREAK
3352 case 167:
3353 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3354 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3355 YY_DO_BEFORE_ACTION; /* set up yytext again */
3356 YY_RULE_SETUP
3357 BEGIN(CARETISBOL); return '>';
3358 	YY_BREAK
3359 case 168:
3360 YY_RULE_SETUP
3361 RETURNNAME;
3362 	YY_BREAK
3363 case 169:
3364 YY_RULE_SETUP
3365 {
3366 			format_synerr( _( "bad <start condition>: %s" ),
3367 				yytext );
3368 			}
3369 	YY_BREAK
3370 
3371 case 170:
3372 YY_RULE_SETUP
3373 BEGIN(SECT2); return '^';
3374 	YY_BREAK
3375 
3376 case 171:
3377 YY_RULE_SETUP
3378 RETURNCHAR;
3379 	YY_BREAK
3380 case 172:
3381 YY_RULE_SETUP
3382 BEGIN(SECT2); return '"';
3383 	YY_BREAK
3384 case 173:
3385 /* rule 173 can match eol */
3386 YY_RULE_SETUP
3387 {
3388 			synerr( _( "missing quote" ) );
3389 			BEGIN(SECT2);
3390 			++linenum;
3391 			return '"';
3392 			}
3393 	YY_BREAK
3394 
3395 case 174:
3396 YY_RULE_SETUP
3397 BEGIN(SECT2);
3398 	YY_BREAK
3399 case 175:
3400 YY_RULE_SETUP
3401 BEGIN(GROUP_MINUS_PARAMS);
3402 	YY_BREAK
3403 case 176:
3404 YY_RULE_SETUP
3405 sf_set_case_ins(1);
3406 	YY_BREAK
3407 case 177:
3408 YY_RULE_SETUP
3409 sf_set_dot_all(1);
3410 	YY_BREAK
3411 case 178:
3412 YY_RULE_SETUP
3413 sf_set_skip_ws(1);
3414 	YY_BREAK
3415 
3416 case 179:
3417 YY_RULE_SETUP
3418 BEGIN(SECT2);
3419 	YY_BREAK
3420 case 180:
3421 YY_RULE_SETUP
3422 sf_set_case_ins(0);
3423 	YY_BREAK
3424 case 181:
3425 YY_RULE_SETUP
3426 sf_set_dot_all(0);
3427 	YY_BREAK
3428 case 182:
3429 YY_RULE_SETUP
3430 sf_set_skip_ws(0);
3431 	YY_BREAK
3432 
3433 case 183:
3434 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3435 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3436 YY_DO_BEFORE_ACTION; /* set up yytext again */
3437 YY_RULE_SETUP
3438 BEGIN(CCL); return '^';
3439 	YY_BREAK
3440 case 184:
3441 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3442 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3443 YY_DO_BEFORE_ACTION; /* set up yytext again */
3444 YY_RULE_SETUP
3445 return '^';
3446 	YY_BREAK
3447 case 185:
3448 YY_RULE_SETUP
3449 BEGIN(CCL); RETURNCHAR;
3450 	YY_BREAK
3451 
3452 case 186:
3453 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3454 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3455 YY_DO_BEFORE_ACTION; /* set up yytext again */
3456 YY_RULE_SETUP
3457 return '-';
3458 	YY_BREAK
3459 case 187:
3460 YY_RULE_SETUP
3461 RETURNCHAR;
3462 	YY_BREAK
3463 case 188:
3464 YY_RULE_SETUP
3465 BEGIN(SECT2); return ']';
3466 	YY_BREAK
3467 case 189:
3468 /* rule 189 can match eol */
3469 YY_RULE_SETUP
3470 {
3471 			synerr( _( "bad character class" ) );
3472 			BEGIN(SECT2);
3473 			return ']';
3474 			}
3475 	YY_BREAK
3476 
3477 case 190:
3478 YY_RULE_SETUP
3479 BEGIN(CCL); return CCE_ALNUM;
3480 	YY_BREAK
3481 case 191:
3482 YY_RULE_SETUP
3483 BEGIN(CCL); return CCE_ALPHA;
3484 	YY_BREAK
3485 case 192:
3486 YY_RULE_SETUP
3487 BEGIN(CCL); return CCE_BLANK;
3488 	YY_BREAK
3489 case 193:
3490 YY_RULE_SETUP
3491 BEGIN(CCL); return CCE_CNTRL;
3492 	YY_BREAK
3493 case 194:
3494 YY_RULE_SETUP
3495 BEGIN(CCL); return CCE_DIGIT;
3496 	YY_BREAK
3497 case 195:
3498 YY_RULE_SETUP
3499 BEGIN(CCL); return CCE_GRAPH;
3500 	YY_BREAK
3501 case 196:
3502 YY_RULE_SETUP
3503 BEGIN(CCL); return CCE_LOWER;
3504 	YY_BREAK
3505 case 197:
3506 YY_RULE_SETUP
3507 BEGIN(CCL); return CCE_PRINT;
3508 	YY_BREAK
3509 case 198:
3510 YY_RULE_SETUP
3511 BEGIN(CCL); return CCE_PUNCT;
3512 	YY_BREAK
3513 case 199:
3514 YY_RULE_SETUP
3515 BEGIN(CCL); return CCE_SPACE;
3516 	YY_BREAK
3517 case 200:
3518 YY_RULE_SETUP
3519 BEGIN(CCL); return CCE_UPPER;
3520 	YY_BREAK
3521 case 201:
3522 YY_RULE_SETUP
3523 BEGIN(CCL); return CCE_XDIGIT;
3524 	YY_BREAK
3525 case 202:
3526 YY_RULE_SETUP
3527 BEGIN(CCL); return CCE_NEG_ALNUM;
3528 	YY_BREAK
3529 case 203:
3530 YY_RULE_SETUP
3531 BEGIN(CCL); return CCE_NEG_ALPHA;
3532 	YY_BREAK
3533 case 204:
3534 YY_RULE_SETUP
3535 BEGIN(CCL); return CCE_NEG_BLANK;
3536 	YY_BREAK
3537 case 205:
3538 YY_RULE_SETUP
3539 BEGIN(CCL); return CCE_NEG_CNTRL;
3540 	YY_BREAK
3541 case 206:
3542 YY_RULE_SETUP
3543 BEGIN(CCL); return CCE_NEG_DIGIT;
3544 	YY_BREAK
3545 case 207:
3546 YY_RULE_SETUP
3547 BEGIN(CCL); return CCE_NEG_GRAPH;
3548 	YY_BREAK
3549 case 208:
3550 YY_RULE_SETUP
3551 BEGIN(CCL); return CCE_NEG_LOWER;
3552 	YY_BREAK
3553 case 209:
3554 YY_RULE_SETUP
3555 BEGIN(CCL); return CCE_NEG_PRINT;
3556 	YY_BREAK
3557 case 210:
3558 YY_RULE_SETUP
3559 BEGIN(CCL); return CCE_NEG_PUNCT;
3560 	YY_BREAK
3561 case 211:
3562 YY_RULE_SETUP
3563 BEGIN(CCL); return CCE_NEG_SPACE;
3564 	YY_BREAK
3565 case 212:
3566 YY_RULE_SETUP
3567 BEGIN(CCL); return CCE_NEG_UPPER;
3568 	YY_BREAK
3569 case 213:
3570 YY_RULE_SETUP
3571 BEGIN(CCL); return CCE_NEG_XDIGIT;
3572 	YY_BREAK
3573 case 214:
3574 YY_RULE_SETUP
3575 {
3576 			format_synerr(
3577 				_( "bad character class expression: %s" ),
3578 					yytext );
3579 			BEGIN(CCL); return CCE_ALNUM;
3580 			}
3581 	YY_BREAK
3582 
3583 case 215:
3584 YY_RULE_SETUP
3585 {
3586 			yylval = myctoi( yytext );
3587 			return NUMBER;
3588 			}
3589 	YY_BREAK
3590 case 216:
3591 YY_RULE_SETUP
3592 return ',';
3593 	YY_BREAK
3594 case 217:
3595 YY_RULE_SETUP
3596 {
3597 			BEGIN(SECT2);
3598 			if ( lex_compat || posix_compat )
3599 				return END_REPEAT_POSIX;
3600 			else
3601 				return END_REPEAT_FLEX;
3602 			}
3603 	YY_BREAK
3604 case 218:
3605 YY_RULE_SETUP
3606 {
3607 			synerr( _( "bad character inside {}'s" ) );
3608 			BEGIN(SECT2);
3609 			return '}';
3610 			}
3611 	YY_BREAK
3612 case 219:
3613 /* rule 219 can match eol */
3614 YY_RULE_SETUP
3615 {
3616 			synerr( _( "missing }" ) );
3617 			BEGIN(SECT2);
3618 			++linenum;
3619 			return '}';
3620 			}
3621 	YY_BREAK
3622 
3623 case 220:
3624 YY_RULE_SETUP
3625 bracelevel = 0;
3626 	YY_BREAK
3627 case 221:
3628 YY_RULE_SETUP
3629 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3630 	YY_BREAK
3631 
3632 case 222:
3633 YY_RULE_SETUP
3634 {
3635             ACTION_ECHO;
3636             CHECK_REJECT(yytext);
3637         }
3638 	YY_BREAK
3639 case 223:
3640 YY_RULE_SETUP
3641 {
3642             ACTION_ECHO;
3643             CHECK_YYMORE(yytext);
3644         }
3645 	YY_BREAK
3646 
3647 case 224:
3648 YY_RULE_SETUP
3649 ACTION_ECHO;
3650 	YY_BREAK
3651 case 225:
3652 /* rule 225 can match eol */
3653 YY_RULE_SETUP
3654 {
3655 		++linenum;
3656 		ACTION_ECHO;
3657 		if (bracelevel == 0 || (doing_codeblock && indented_code)) {
3658             if ( doing_rule_action )
3659                 add_action( "\tYY_BREAK]""]\n" );
3660 
3661             doing_rule_action = doing_codeblock = false;
3662             BEGIN(SECT2);
3663         }
3664     }
3665 	YY_BREAK
3666 
3667 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3668 
3669 case 226:
3670 YY_RULE_SETUP
3671 ACTION_ECHO; ++bracelevel;
3672 	YY_BREAK
3673 case 227:
3674 YY_RULE_SETUP
3675 ACTION_ECHO; --bracelevel;
3676 	YY_BREAK
3677 case 228:
3678 YY_RULE_SETUP
3679 ACTION_ECHO;
3680 	YY_BREAK
3681 case 229:
3682 YY_RULE_SETUP
3683 ACTION_ECHO;
3684 	YY_BREAK
3685 case 230:
3686 YY_RULE_SETUP
3687 ACTION_ECHO; /* character constant */
3688 	YY_BREAK
3689 case 231:
3690 YY_RULE_SETUP
3691 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3692 	YY_BREAK
3693 case 232:
3694 YY_RULE_SETUP
3695 ACTION_ECHO; BEGIN(ACTION_STRING);
3696 	YY_BREAK
3697 case 233:
3698 /* rule 233 can match eol */
3699 YY_RULE_SETUP
3700 {
3701 			++linenum;
3702 			ACTION_ECHO;
3703 			if (bracelevel == 0) {
3704 				if ( doing_rule_action )
3705                     add_action( "\tYY_BREAK]""]\n" );
3706 
3707                 doing_rule_action = false;
3708                 BEGIN(SECT2);
3709             }
3710         }
3711 	YY_BREAK
3712 case 234:
3713 YY_RULE_SETUP
3714 ACTION_ECHO;
3715 	YY_BREAK
3716 
3717 case 235:
3718 YY_RULE_SETUP
3719 ACTION_ECHO;
3720 	YY_BREAK
3721 case 236:
3722 YY_RULE_SETUP
3723 ACTION_ECHO; BEGIN(ACTION);
3724 	YY_BREAK
3725 
3726 case 237:
3727 YY_RULE_SETUP
3728 ACTION_ECHO;
3729 	YY_BREAK
3730 case 238:
3731 YY_RULE_SETUP
3732 ACTION_ECHO; BEGIN(ACTION);
3733 	YY_BREAK
3734 
3735 case 239:
3736 /* rule 239 can match eol */
3737 YY_RULE_SETUP
3738 ACTION_ECHO;
3739 	YY_BREAK
3740 case 240:
3741 /* rule 240 can match eol */
3742 YY_RULE_SETUP
3743 ACTION_ECHO;
3744 	YY_BREAK
3745 case 241:
3746 /* rule 241 can match eol */
3747 YY_RULE_SETUP
3748 ++linenum; ACTION_ECHO; BEGIN(ACTION);
3749 	YY_BREAK
3750 case 242:
3751 YY_RULE_SETUP
3752 ACTION_ECHO;
3753 	YY_BREAK
3754 
3755 case YY_STATE_EOF(COMMENT):
3756 case YY_STATE_EOF(CODE_COMMENT):
3757 case YY_STATE_EOF(COMMENT_DISCARD):
3758 case YY_STATE_EOF(ACTION):
3759 case YY_STATE_EOF(ACTION_STRING):
3760 case YY_STATE_EOF(CHARACTER_CONSTANT):
3761 {
3762 			synerr( _( "EOF encountered inside an action" ) );
3763 			yyterminate();
3764 			}
3765 	YY_BREAK
3766 case YY_STATE_EOF(EXTENDED_COMMENT):
3767 case YY_STATE_EOF(GROUP_WITH_PARAMS):
3768 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
3769 {
3770 			synerr( _( "EOF encountered inside pattern" ) );
3771 			yyterminate();
3772 			}
3773 	YY_BREAK
3774 case 243:
3775 YY_RULE_SETUP
3776 {
3777 			yylval = myesc( (unsigned char *) yytext );
3778 
3779 			if ( YY_START == FIRSTCCL )
3780 				BEGIN(CCL);
3781 
3782 			return CHAR;
3783 			}
3784 	YY_BREAK
3785 
3786 case 244:
3787 YY_RULE_SETUP
3788 fputs(escaped_qstart, yyout);
3789 	YY_BREAK
3790 case 245:
3791 YY_RULE_SETUP
3792 fputs(escaped_qend, yyout);
3793 	YY_BREAK
3794 case 246:
3795 /* rule 246 can match eol */
3796 YY_RULE_SETUP
3797 ECHO;
3798 	YY_BREAK
3799 case 247:
3800 YY_RULE_SETUP
3801 ECHO;
3802 	YY_BREAK
3803 case YY_STATE_EOF(SECT3):
3804 {
3805         sectnum = 0;
3806         yyterminate();
3807     }
3808 	YY_BREAK
3809 
3810 case 248:
3811 YY_RULE_SETUP
3812 fprintf(yyout, "[""[%s]""]", escaped_qstart);
3813 	YY_BREAK
3814 case 249:
3815 YY_RULE_SETUP
3816 fprintf(yyout, "[""[%s]""]", escaped_qend);
3817 	YY_BREAK
3818 case 250:
3819 /* rule 250 can match eol */
3820 YY_RULE_SETUP
3821 ECHO;
3822 	YY_BREAK
3823 case 251:
3824 YY_RULE_SETUP
3825 ECHO;
3826 	YY_BREAK
3827 case YY_STATE_EOF(SECT3_NOESCAPE):
3828 {
3829        sectnum = 0;
3830        yyterminate();
3831     }
3832 	YY_BREAK
3833 
3834 case 252:
3835 /* rule 252 can match eol */
3836 YY_RULE_SETUP
3837 format_synerr( _( "bad character: %s" ), yytext );
3838 	YY_BREAK
3839 case 253:
3840 YY_RULE_SETUP
3841 YY_FATAL_ERROR( "flex scanner jammed" );
3842 	YY_BREAK
3843 case YY_STATE_EOF(INITIAL):
3844 case YY_STATE_EOF(SECT2):
3845 case YY_STATE_EOF(CODEBLOCK):
3846 case YY_STATE_EOF(PICKUPDEF):
3847 case YY_STATE_EOF(SC):
3848 case YY_STATE_EOF(CARETISBOL):
3849 case YY_STATE_EOF(NUM):
3850 case YY_STATE_EOF(QUOTE):
3851 case YY_STATE_EOF(FIRSTCCL):
3852 case YY_STATE_EOF(CCL):
3853 case YY_STATE_EOF(RECOVER):
3854 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
3855 case YY_STATE_EOF(OPTION):
3856 case YY_STATE_EOF(LINEDIR):
3857 	yyterminate();
3858 
3859 	case YY_END_OF_BUFFER:
3860 		{
3861 		/* Amount of text matched not including the EOB char. */
3862 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3863 
3864 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
3865 		*yy_cp = (yy_hold_char);
3866 		YY_RESTORE_YY_MORE_OFFSET
3867 
3868 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3869 			{
3870 			/* We're scanning a new file or input source.  It's
3871 			 * possible that this happened because the user
3872 			 * just pointed yyin at a new source and called
3873 			 * yylex().  If so, then we have to assure
3874 			 * consistency between YY_CURRENT_BUFFER and our
3875 			 * globals.  Here is the right place to do so, because
3876 			 * this is the first action (other than possibly a
3877 			 * back-up) that will match for the new input source.
3878 			 */
3879 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3880 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3881 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3882 			}
3883 
3884 		/* Note that here we test for yy_c_buf_p "<=" to the position
3885 		 * of the first EOB in the buffer, since yy_c_buf_p will
3886 		 * already have been incremented past the NUL character
3887 		 * (since all states make transitions on EOB to the
3888 		 * end-of-buffer state).  Contrast this with the test
3889 		 * in input().
3890 		 */
3891 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3892 			{ /* This was really a NUL. */
3893 			yy_state_type yy_next_state;
3894 
3895 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3896 
3897 			yy_current_state = yy_get_previous_state(  );
3898 
3899 			/* Okay, we're now positioned to make the NUL
3900 			 * transition.  We couldn't have
3901 			 * yy_get_previous_state() go ahead and do it
3902 			 * for us because it doesn't know how to deal
3903 			 * with the possibility of jamming (and we don't
3904 			 * want to build jamming into it because then it
3905 			 * will run more slowly).
3906 			 */
3907 
3908 			yy_next_state = yy_try_NUL_trans( yy_current_state );
3909 
3910 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3911 
3912 			if ( yy_next_state )
3913 				{
3914 				/* Consume the NUL. */
3915 				yy_cp = ++(yy_c_buf_p);
3916 				yy_current_state = yy_next_state;
3917 				goto yy_match;
3918 				}
3919 
3920 			else
3921 				{
3922 				yy_cp = (yy_c_buf_p);
3923 				goto yy_find_action;
3924 				}
3925 			}
3926 
3927 		else switch ( yy_get_next_buffer(  ) )
3928 			{
3929 			case EOB_ACT_END_OF_FILE:
3930 				{
3931 				(yy_did_buffer_switch_on_eof) = 0;
3932 
3933 				if ( yywrap(  ) )
3934 					{
3935 					/* Note: because we've taken care in
3936 					 * yy_get_next_buffer() to have set up
3937 					 * yytext, we can now set up
3938 					 * yy_c_buf_p so that if some total
3939 					 * hoser (like flex itself) wants to
3940 					 * call the scanner after we return the
3941 					 * YY_NULL, it'll still work - another
3942 					 * YY_NULL will get returned.
3943 					 */
3944 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3945 
3946 					yy_act = YY_STATE_EOF(YY_START);
3947 					goto do_action;
3948 					}
3949 
3950 				else
3951 					{
3952 					if ( ! (yy_did_buffer_switch_on_eof) )
3953 						YY_NEW_FILE;
3954 					}
3955 				break;
3956 				}
3957 
3958 			case EOB_ACT_CONTINUE_SCAN:
3959 				(yy_c_buf_p) =
3960 					(yytext_ptr) + yy_amount_of_matched_text;
3961 
3962 				yy_current_state = yy_get_previous_state(  );
3963 
3964 				yy_cp = (yy_c_buf_p);
3965 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3966 				goto yy_match;
3967 
3968 			case EOB_ACT_LAST_MATCH:
3969 				(yy_c_buf_p) =
3970 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3971 
3972 				yy_current_state = yy_get_previous_state(  );
3973 
3974 				yy_cp = (yy_c_buf_p);
3975 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3976 				goto yy_find_action;
3977 			}
3978 		break;
3979 		}
3980 
3981 	default:
3982 		YY_FATAL_ERROR(
3983 			"fatal flex scanner internal error--no action found" );
3984 	} /* end of action switch */
3985 		} /* end of scanning one token */
3986 	} /* end of user's declarations */
3987 } /* end of yylex */
3988 
3989 /* yy_get_next_buffer - try to read in a new buffer
3990  *
3991  * Returns a code representing an action:
3992  *	EOB_ACT_LAST_MATCH -
3993  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3994  *	EOB_ACT_END_OF_FILE - end of file
3995  */
yy_get_next_buffer(void)3996 static int yy_get_next_buffer (void)
3997 {
3998     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3999 	char *source = (yytext_ptr);
4000 	yy_size_t number_to_move, i;
4001 	int ret_val;
4002 
4003 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4004 		YY_FATAL_ERROR(
4005 		"fatal flex scanner internal error--end of buffer missed" );
4006 
4007 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4008 		{ /* Don't try to fill the buffer, so this is an EOF. */
4009 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4010 			{
4011 			/* We matched a single character, the EOB, so
4012 			 * treat this as a final EOF.
4013 			 */
4014 			return EOB_ACT_END_OF_FILE;
4015 			}
4016 
4017 		else
4018 			{
4019 			/* We matched some text prior to the EOB, first
4020 			 * process it.
4021 			 */
4022 			return EOB_ACT_LAST_MATCH;
4023 			}
4024 		}
4025 
4026 	/* Try to read more data. */
4027 
4028 	/* First move last chars to start of buffer. */
4029 	number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr) - 1);
4030 
4031 	for ( i = 0; i < number_to_move; ++i )
4032 		*(dest++) = *(source++);
4033 
4034 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4035 		/* don't do the read, it's not guaranteed to return an EOF,
4036 		 * just force an EOF
4037 		 */
4038 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4039 
4040 	else
4041 		{
4042 			yy_size_t num_to_read =
4043 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4044 
4045 		while ( num_to_read <= 0 )
4046 			{ /* Not enough room in the buffer - grow it. */
4047 
4048 			/* just a shorter name for the current buffer */
4049 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4050 
4051 			int yy_c_buf_p_offset =
4052 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
4053 
4054 			if ( b->yy_is_our_buffer )
4055 				{
4056 				yy_size_t new_size = b->yy_buf_size * 2;
4057 
4058 				if ( new_size <= 0 )
4059 					b->yy_buf_size += b->yy_buf_size / 8;
4060 				else
4061 					b->yy_buf_size *= 2;
4062 
4063 				b->yy_ch_buf = (char *)
4064 					/* Include room in for 2 EOB chars. */
4065 					yyrealloc( (void *) b->yy_ch_buf,
4066 							 (yy_size_t) (b->yy_buf_size + 2)  );
4067 				}
4068 			else
4069 				/* Can't grow it, we don't own it. */
4070 				b->yy_ch_buf = NULL;
4071 
4072 			if ( ! b->yy_ch_buf )
4073 				YY_FATAL_ERROR(
4074 				"fatal error - scanner input buffer overflow" );
4075 
4076 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4077 
4078 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4079 						number_to_move - 1;
4080 
4081 			}
4082 
4083 		if ( num_to_read > YY_READ_BUF_SIZE )
4084 			num_to_read = YY_READ_BUF_SIZE;
4085 
4086 		/* Read in more data. */
4087 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4088 			(yy_n_chars), num_to_read );
4089 
4090 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4091 		}
4092 
4093 	if ( (yy_n_chars) == 0 )
4094 		{
4095 		if ( number_to_move == YY_MORE_ADJ )
4096 			{
4097 			ret_val = EOB_ACT_END_OF_FILE;
4098 			yyrestart( yyin  );
4099 			}
4100 
4101 		else
4102 			{
4103 			ret_val = EOB_ACT_LAST_MATCH;
4104 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4105 				YY_BUFFER_EOF_PENDING;
4106 			}
4107 		}
4108 
4109 	else
4110 		ret_val = EOB_ACT_CONTINUE_SCAN;
4111 
4112 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4113 		/* Extend the array by 50%, plus the number we really need. */
4114 		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4115 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4116 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4117 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4118 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4119 	}
4120 
4121 	(yy_n_chars) += number_to_move;
4122 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4123 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4124 
4125 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4126 
4127 	return ret_val;
4128 }
4129 
4130 /* yy_get_previous_state - get the state just before the EOB char was reached */
4131 
yy_get_previous_state(void)4132     static yy_state_type yy_get_previous_state (void)
4133 {
4134 	yy_state_type yy_current_state;
4135 	char *yy_cp;
4136 
4137 	yy_current_state = (yy_start);
4138 	yy_current_state += YY_AT_BOL();
4139 
4140 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4141 		{
4142 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4143 		if ( yy_accept[yy_current_state] )
4144 			{
4145 			(yy_last_accepting_state) = yy_current_state;
4146 			(yy_last_accepting_cpos) = yy_cp;
4147 			}
4148 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4149 			{
4150 			yy_current_state = (int) yy_def[yy_current_state];
4151 			if ( yy_current_state >= 1114 )
4152 				yy_c = yy_meta[yy_c];
4153 			}
4154 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4155 		}
4156 
4157 	return yy_current_state;
4158 }
4159 
4160 /* yy_try_NUL_trans - try to make a transition on the NUL character
4161  *
4162  * synopsis
4163  *	next_state = yy_try_NUL_trans( current_state );
4164  */
yy_try_NUL_trans(yy_state_type yy_current_state)4165     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4166 {
4167 	int yy_is_jam;
4168     	char *yy_cp = (yy_c_buf_p);
4169 
4170 	YY_CHAR yy_c = 1;
4171 	if ( yy_accept[yy_current_state] )
4172 		{
4173 		(yy_last_accepting_state) = yy_current_state;
4174 		(yy_last_accepting_cpos) = yy_cp;
4175 		}
4176 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4177 		{
4178 		yy_current_state = (int) yy_def[yy_current_state];
4179 		if ( yy_current_state >= 1114 )
4180 			yy_c = yy_meta[yy_c];
4181 		}
4182 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4183 	yy_is_jam = (yy_current_state == 1113);
4184 
4185 		return yy_is_jam ? 0 : yy_current_state;
4186 }
4187 
4188 #ifndef YY_NO_UNPUT
4189 
yyunput(int c,char * yy_bp)4190     static void yyunput (int c, char * yy_bp )
4191 {
4192 	char *yy_cp;
4193 
4194     yy_cp = (yy_c_buf_p);
4195 
4196 	/* undo effects of setting up yytext */
4197 	*yy_cp = (yy_hold_char);
4198 
4199 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4200 		{ /* need to shift things up to make room */
4201 		/* +2 for EOB chars. */
4202 		yy_size_t number_to_move = (yy_n_chars) + 2;
4203 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4204 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4205 		char *source =
4206 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4207 
4208 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4209 			*--dest = *--source;
4210 
4211 		yy_cp += (int) (dest - source);
4212 		yy_bp += (int) (dest - source);
4213 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4214 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4215 
4216 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4217 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4218 		}
4219 
4220 	*--yy_cp = (char) c;
4221 
4222 	(yytext_ptr) = yy_bp;
4223 	(yy_hold_char) = *yy_cp;
4224 	(yy_c_buf_p) = yy_cp;
4225 }
4226 
4227 #endif
4228 
4229 #ifndef YY_NO_INPUT
4230 #ifdef __cplusplus
yyinput(void)4231     static int yyinput (void)
4232 #else
4233     static int input  (void)
4234 #endif
4235 
4236 {
4237 	int c;
4238 
4239 	*(yy_c_buf_p) = (yy_hold_char);
4240 
4241 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4242 		{
4243 		/* yy_c_buf_p now points to the character we want to return.
4244 		 * If this occurs *before* the EOB characters, then it's a
4245 		 * valid NUL; if not, then we've hit the end of the buffer.
4246 		 */
4247 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4248 			/* This was really a NUL. */
4249 			*(yy_c_buf_p) = '\0';
4250 
4251 		else
4252 			{ /* need more input */
4253 			yy_size_t offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4254 			++(yy_c_buf_p);
4255 
4256 			switch ( yy_get_next_buffer(  ) )
4257 				{
4258 				case EOB_ACT_LAST_MATCH:
4259 					/* This happens because yy_g_n_b()
4260 					 * sees that we've accumulated a
4261 					 * token and flags that we need to
4262 					 * try matching the token before
4263 					 * proceeding.  But for input(),
4264 					 * there's no matching to consider.
4265 					 * So convert the EOB_ACT_LAST_MATCH
4266 					 * to EOB_ACT_END_OF_FILE.
4267 					 */
4268 
4269 					/* Reset buffer status. */
4270 					yyrestart( yyin );
4271 
4272 					/*FALLTHROUGH*/
4273 
4274 				case EOB_ACT_END_OF_FILE:
4275 					{
4276 					if ( yywrap(  ) )
4277 						return 0;
4278 
4279 					if ( ! (yy_did_buffer_switch_on_eof) )
4280 						YY_NEW_FILE;
4281 #ifdef __cplusplus
4282 					return yyinput();
4283 #else
4284 					return input();
4285 #endif
4286 					}
4287 
4288 				case EOB_ACT_CONTINUE_SCAN:
4289 					(yy_c_buf_p) = (yytext_ptr) + offset;
4290 					break;
4291 				}
4292 			}
4293 		}
4294 
4295 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4296 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4297 	(yy_hold_char) = *++(yy_c_buf_p);
4298 
4299 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4300 
4301 	return c;
4302 }
4303 #endif	/* ifndef YY_NO_INPUT */
4304 
4305 /** Immediately switch to a different input stream.
4306  * @param input_file A readable stream.
4307  *
4308  * @note This function does not reset the start condition to @c INITIAL .
4309  */
yyrestart(FILE * input_file)4310     void yyrestart  (FILE * input_file )
4311 {
4312 
4313 	if ( ! YY_CURRENT_BUFFER ){
4314         yyensure_buffer_stack ();
4315 		YY_CURRENT_BUFFER_LVALUE =
4316             yy_create_buffer( yyin, YY_BUF_SIZE );
4317 	}
4318 
4319 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4320 	yy_load_buffer_state(  );
4321 }
4322 
4323 /** Switch to a different input buffer.
4324  * @param new_buffer The new input buffer.
4325  *
4326  */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)4327     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4328 {
4329 
4330 	/* TODO. We should be able to replace this entire function body
4331 	 * with
4332 	 *		yypop_buffer_state();
4333 	 *		yypush_buffer_state(new_buffer);
4334      */
4335 	yyensure_buffer_stack ();
4336 	if ( YY_CURRENT_BUFFER == new_buffer )
4337 		return;
4338 
4339 	if ( YY_CURRENT_BUFFER )
4340 		{
4341 		/* Flush out information for old buffer. */
4342 		*(yy_c_buf_p) = (yy_hold_char);
4343 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4344 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4345 		}
4346 
4347 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4348 	yy_load_buffer_state(  );
4349 
4350 	/* We don't actually know whether we did this switch during
4351 	 * EOF (yywrap()) processing, but the only time this flag
4352 	 * is looked at is after yywrap() is called, so it's safe
4353 	 * to go ahead and always set it.
4354 	 */
4355 	(yy_did_buffer_switch_on_eof) = 1;
4356 }
4357 
yy_load_buffer_state(void)4358 static void yy_load_buffer_state  (void)
4359 {
4360     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4361 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4362 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4363 	(yy_hold_char) = *(yy_c_buf_p);
4364 }
4365 
4366 /** Allocate and initialize an input buffer state.
4367  * @param file A readable stream.
4368  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4369  *
4370  * @return the allocated buffer state.
4371  */
yy_create_buffer(FILE * file,yy_size_t size)4372     YY_BUFFER_STATE yy_create_buffer  (FILE * file, yy_size_t  size )
4373 {
4374 	YY_BUFFER_STATE b;
4375 
4376 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4377 	if ( ! b )
4378 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4379 
4380 	b->yy_buf_size = size;
4381 
4382 	/* yy_ch_buf has to be 2 characters longer than the size given because
4383 	 * we need to put in 2 end-of-buffer characters.
4384 	 */
4385 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4386 	if ( ! b->yy_ch_buf )
4387 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4388 
4389 	b->yy_is_our_buffer = 1;
4390 
4391 	yy_init_buffer( b, file );
4392 
4393 	return b;
4394 }
4395 
4396 /** Destroy the buffer.
4397  * @param b a buffer created with yy_create_buffer()
4398  *
4399  */
yy_delete_buffer(YY_BUFFER_STATE b)4400     void yy_delete_buffer (YY_BUFFER_STATE  b )
4401 {
4402 
4403 	if ( ! b )
4404 		return;
4405 
4406 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4407 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4408 
4409 	if ( b->yy_is_our_buffer )
4410 		yyfree( (void *) b->yy_ch_buf  );
4411 
4412 	yyfree( (void *) b  );
4413 }
4414 
4415 /* Initializes or reinitializes a buffer.
4416  * This function is sometimes called more than once on the same buffer,
4417  * such as during a yyrestart() or at EOF.
4418  */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)4419     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4420 
4421 {
4422 	int oerrno = errno;
4423 
4424 	yy_flush_buffer( b );
4425 
4426 	b->yy_input_file = file;
4427 	b->yy_fill_buffer = 1;
4428 
4429     /* If b is the current buffer, then yy_init_buffer was _probably_
4430      * called from yyrestart() or through yy_get_next_buffer.
4431      * In that case, we don't want to reset the lineno or column.
4432      */
4433     if (b != YY_CURRENT_BUFFER){
4434         b->yy_bs_lineno = 1;
4435         b->yy_bs_column = 0;
4436     }
4437 
4438         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4439 
4440 	errno = oerrno;
4441 }
4442 
4443 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4444  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4445  *
4446  */
yy_flush_buffer(YY_BUFFER_STATE b)4447     void yy_flush_buffer (YY_BUFFER_STATE  b )
4448 {
4449     	if ( ! b )
4450 		return;
4451 
4452 	b->yy_n_chars = 0;
4453 
4454 	/* We always need two end-of-buffer characters.  The first causes
4455 	 * a transition to the end-of-buffer state.  The second causes
4456 	 * a jam in that state.
4457 	 */
4458 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4459 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4460 
4461 	b->yy_buf_pos = &b->yy_ch_buf[0];
4462 
4463 	b->yy_at_bol = 1;
4464 	b->yy_buffer_status = YY_BUFFER_NEW;
4465 
4466 	if ( b == YY_CURRENT_BUFFER )
4467 		yy_load_buffer_state(  );
4468 }
4469 
4470 /** Pushes the new state onto the stack. The new state becomes
4471  *  the current state. This function will allocate the stack
4472  *  if necessary.
4473  *  @param new_buffer The new state.
4474  *
4475  */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)4476 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4477 {
4478     	if (new_buffer == NULL)
4479 		return;
4480 
4481 	yyensure_buffer_stack();
4482 
4483 	/* This block is copied from yy_switch_to_buffer. */
4484 	if ( YY_CURRENT_BUFFER )
4485 		{
4486 		/* Flush out information for old buffer. */
4487 		*(yy_c_buf_p) = (yy_hold_char);
4488 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4489 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4490 		}
4491 
4492 	/* Only push if top exists. Otherwise, replace top. */
4493 	if (YY_CURRENT_BUFFER)
4494 		(yy_buffer_stack_top)++;
4495 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4496 
4497 	/* copied from yy_switch_to_buffer. */
4498 	yy_load_buffer_state(  );
4499 	(yy_did_buffer_switch_on_eof) = 1;
4500 }
4501 
4502 /** Removes and deletes the top of the stack, if present.
4503  *  The next element becomes the new top.
4504  *
4505  */
yypop_buffer_state(void)4506 void yypop_buffer_state (void)
4507 {
4508     	if (!YY_CURRENT_BUFFER)
4509 		return;
4510 
4511 	yy_delete_buffer(YY_CURRENT_BUFFER );
4512 	YY_CURRENT_BUFFER_LVALUE = NULL;
4513 	if ((yy_buffer_stack_top) > 0)
4514 		--(yy_buffer_stack_top);
4515 
4516 	if (YY_CURRENT_BUFFER) {
4517 		yy_load_buffer_state(  );
4518 		(yy_did_buffer_switch_on_eof) = 1;
4519 	}
4520 }
4521 
4522 /* Allocates the stack if it does not exist.
4523  *  Guarantees space for at least one push.
4524  */
yyensure_buffer_stack(void)4525 static void yyensure_buffer_stack (void)
4526 {
4527 	yy_size_t num_to_alloc;
4528 
4529 	if (!(yy_buffer_stack)) {
4530 
4531 		/* First allocation is just for 2 elements, since we don't know if this
4532 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4533 		 * immediate realloc on the next call.
4534          */
4535       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4536 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4537 								(num_to_alloc * sizeof(struct yy_buffer_state*)
4538 								);
4539 		if ( ! (yy_buffer_stack) )
4540 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4541 
4542 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4543 
4544 		(yy_buffer_stack_max) = num_to_alloc;
4545 		(yy_buffer_stack_top) = 0;
4546 		return;
4547 	}
4548 
4549 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4550 
4551 		/* Increase the buffer to prepare for a possible push. */
4552 		yy_size_t grow_size = 8 /* arbitrary grow size */;
4553 
4554 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4555 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4556 								((yy_buffer_stack),
4557 								num_to_alloc * sizeof(struct yy_buffer_state*)
4558 								);
4559 		if ( ! (yy_buffer_stack) )
4560 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4561 
4562 		/* zero only the new slots.*/
4563 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4564 		(yy_buffer_stack_max) = num_to_alloc;
4565 	}
4566 }
4567 
4568 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4569  * @param base the character buffer
4570  * @param size the size in bytes of the character buffer
4571  *
4572  * @return the newly allocated buffer state object.
4573  */
yy_scan_buffer(char * base,yy_size_t size)4574 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4575 {
4576 	YY_BUFFER_STATE b;
4577 
4578 	if ( size < 2 ||
4579 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4580 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4581 		/* They forgot to leave room for the EOB's. */
4582 		return NULL;
4583 
4584 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4585 	if ( ! b )
4586 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4587 
4588 	b->yy_buf_size = (size - 2);	/* "- 2" to take care of EOB's */
4589 	b->yy_buf_pos = b->yy_ch_buf = base;
4590 	b->yy_is_our_buffer = 0;
4591 	b->yy_input_file = NULL;
4592 	b->yy_n_chars = b->yy_buf_size;
4593 	b->yy_is_interactive = 0;
4594 	b->yy_at_bol = 1;
4595 	b->yy_fill_buffer = 0;
4596 	b->yy_buffer_status = YY_BUFFER_NEW;
4597 
4598 	yy_switch_to_buffer( b  );
4599 
4600 	return b;
4601 }
4602 
4603 /** Setup the input buffer state to scan a string. The next call to yylex() will
4604  * scan from a @e copy of @a str.
4605  * @param yystr a NUL-terminated string to scan
4606  *
4607  * @return the newly allocated buffer state object.
4608  * @note If you want to scan bytes that may contain NUL values, then use
4609  *       yy_scan_bytes() instead.
4610  */
yy_scan_string(const char * yystr)4611 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4612 {
4613 
4614 	return yy_scan_bytes( yystr, strlen(yystr) );
4615 }
4616 
4617 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4618  * scan from a @e copy of @a bytes.
4619  * @param yybytes the byte buffer to scan
4620  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4621  *
4622  * @return the newly allocated buffer state object.
4623  */
yy_scan_bytes(const char * yybytes,yy_size_t _yybytes_len)4624 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, yy_size_t  _yybytes_len )
4625 {
4626 	YY_BUFFER_STATE b;
4627 	char *buf;
4628 	yy_size_t n;
4629 	yy_size_t i;
4630 
4631 	/* Get memory for full buffer, including space for trailing EOB's. */
4632 	n = (yy_size_t) (_yybytes_len + 2);
4633 	buf = (char *) yyalloc( n  );
4634 	if ( ! buf )
4635 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4636 
4637 	for ( i = 0; i < _yybytes_len; ++i )
4638 		buf[i] = yybytes[i];
4639 
4640 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4641 
4642 	b = yy_scan_buffer( buf, n );
4643 	if ( ! b )
4644 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4645 
4646 	/* It's okay to grow etc. this buffer, and we should throw it
4647 	 * away when we're done.
4648 	 */
4649 	b->yy_is_our_buffer = 1;
4650 
4651 	return b;
4652 }
4653 
yy_push_state(int _new_state)4654     static void yy_push_state (int  _new_state )
4655 {
4656     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4657 		{
4658 		yy_size_t new_size;
4659 
4660 		(yy_start_stack_depth) += YY_START_STACK_INCR;
4661 		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4662 
4663 		if ( ! (yy_start_stack) )
4664 			(yy_start_stack) = (int *) yyalloc( new_size  );
4665 
4666 		else
4667 			(yy_start_stack) = (int *) yyrealloc(
4668 					(void *) (yy_start_stack), new_size  );
4669 
4670 		if ( ! (yy_start_stack) )
4671 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4672 		}
4673 
4674 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4675 
4676 	BEGIN(_new_state);
4677 }
4678 
yy_pop_state(void)4679     static void yy_pop_state  (void)
4680 {
4681     	if ( --(yy_start_stack_ptr) < 0 )
4682 		YY_FATAL_ERROR( "start-condition stack underflow" );
4683 
4684 	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4685 }
4686 
4687 #ifndef YY_EXIT_FAILURE
4688 #define YY_EXIT_FAILURE 2
4689 #endif
4690 
yy_fatal_error(const char * msg)4691 static void yynoreturn yy_fatal_error (const char* msg )
4692 {
4693 			(void) fprintf( stderr, "%s\n", msg );
4694 	exit( YY_EXIT_FAILURE );
4695 }
4696 
4697 /* Redefine yyless() so it works in section 3 code. */
4698 
4699 #undef yyless
4700 #define yyless(n) \
4701 	do \
4702 		{ \
4703 		/* Undo effects of setting up yytext. */ \
4704         int yyless_macro_arg = (n); \
4705         YY_LESS_LINENO(yyless_macro_arg);\
4706 		yytext[yyleng] = (yy_hold_char); \
4707 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
4708 		(yy_hold_char) = *(yy_c_buf_p); \
4709 		*(yy_c_buf_p) = '\0'; \
4710 		yyleng = yyless_macro_arg; \
4711 		} \
4712 	while ( 0 )
4713 
4714 /* Accessor  methods (get/set functions) to struct members. */
4715 
4716 /** Get the current line number.
4717  *
4718  */
yyget_lineno(void)4719 int yyget_lineno  (void)
4720 {
4721 
4722     return yylineno;
4723 }
4724 
4725 /** Get the input stream.
4726  *
4727  */
yyget_in(void)4728 FILE *yyget_in  (void)
4729 {
4730         return yyin;
4731 }
4732 
4733 /** Get the output stream.
4734  *
4735  */
yyget_out(void)4736 FILE *yyget_out  (void)
4737 {
4738         return yyout;
4739 }
4740 
4741 /** Get the length of the current token.
4742  *
4743  */
yyget_leng(void)4744 yy_size_t yyget_leng  (void)
4745 {
4746         return yyleng;
4747 }
4748 
4749 /** Get the current token.
4750  *
4751  */
4752 
yyget_text(void)4753 char *yyget_text  (void)
4754 {
4755         return yytext;
4756 }
4757 
4758 /** Set the current line number.
4759  * @param _line_number line number
4760  *
4761  */
yyset_lineno(int _line_number)4762 void yyset_lineno (int  _line_number )
4763 {
4764 
4765     yylineno = _line_number;
4766 }
4767 
4768 /** Set the input stream. This does not discard the current
4769  * input buffer.
4770  * @param _in_str A readable stream.
4771  *
4772  * @see yy_switch_to_buffer
4773  */
yyset_in(FILE * _in_str)4774 void yyset_in (FILE *  _in_str )
4775 {
4776         yyin = _in_str ;
4777 }
4778 
yyset_out(FILE * _out_str)4779 void yyset_out (FILE *  _out_str )
4780 {
4781         yyout = _out_str ;
4782 }
4783 
yyget_debug(void)4784 int yyget_debug  (void)
4785 {
4786         return yy_flex_debug;
4787 }
4788 
yyset_debug(int _bdebug)4789 void yyset_debug (int  _bdebug )
4790 {
4791         yy_flex_debug = _bdebug ;
4792 }
4793 
yy_init_globals(void)4794 static int yy_init_globals (void)
4795 {
4796         /* Initialization is the same as for the non-reentrant scanner.
4797      * This function is called from yylex_destroy(), so don't allocate here.
4798      */
4799 
4800     (yy_buffer_stack) = NULL;
4801     (yy_buffer_stack_top) = 0;
4802     (yy_buffer_stack_max) = 0;
4803     (yy_c_buf_p) = NULL;
4804     (yy_init) = 0;
4805     (yy_start) = 0;
4806 
4807     (yy_start_stack_ptr) = 0;
4808     (yy_start_stack_depth) = 0;
4809     (yy_start_stack) =  NULL;
4810 
4811 /* Defined in main.c */
4812 #ifdef YY_STDINIT
4813     yyin = stdin;
4814     yyout = stdout;
4815 #else
4816     yyin = NULL;
4817     yyout = NULL;
4818 #endif
4819 
4820     /* For future reference: Set errno on error, since we are called by
4821      * yylex_init()
4822      */
4823     return 0;
4824 }
4825 
4826 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)4827 int yylex_destroy  (void)
4828 {
4829 
4830     /* Pop the buffer stack, destroying each element. */
4831 	while(YY_CURRENT_BUFFER){
4832 		yy_delete_buffer( YY_CURRENT_BUFFER  );
4833 		YY_CURRENT_BUFFER_LVALUE = NULL;
4834 		yypop_buffer_state();
4835 	}
4836 
4837 	/* Destroy the stack itself. */
4838 	yyfree((yy_buffer_stack) );
4839 	(yy_buffer_stack) = NULL;
4840 
4841     /* Destroy the start condition stack. */
4842         yyfree( (yy_start_stack)  );
4843         (yy_start_stack) = NULL;
4844 
4845     /* Reset the globals. This is important in a non-reentrant scanner so the next time
4846      * yylex() is called, initialization will occur. */
4847     yy_init_globals( );
4848 
4849     return 0;
4850 }
4851 
4852 /*
4853  * Internal utility routines.
4854  */
4855 
4856 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)4857 static void yy_flex_strncpy (char* s1, const char * s2, int n )
4858 {
4859 
4860 	int i;
4861 	for ( i = 0; i < n; ++i )
4862 		s1[i] = s2[i];
4863 }
4864 #endif
4865 
4866 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)4867 static int yy_flex_strlen (const char * s )
4868 {
4869 	int n;
4870 	for ( n = 0; s[n]; ++n )
4871 		;
4872 
4873 	return n;
4874 }
4875 #endif
4876 
yyalloc(yy_size_t size)4877 void *yyalloc (yy_size_t  size )
4878 {
4879 			return malloc(size);
4880 }
4881 
yyrealloc(void * ptr,yy_size_t size)4882 void *yyrealloc  (void * ptr, yy_size_t  size )
4883 {
4884 
4885 	/* The cast to (char *) in the following accommodates both
4886 	 * implementations that use char* generic pointers, and those
4887 	 * that use void* generic pointers.  It works with the latter
4888 	 * because both ANSI C and C++ allow castless assignment from
4889 	 * any pointer type to void*, and deal with argument conversions
4890 	 * as though doing an assignment.
4891 	 */
4892 	return realloc(ptr, size);
4893 }
4894 
yyfree(void * ptr)4895 void yyfree (void * ptr )
4896 {
4897 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
4898 }
4899 
4900 #define YYTABLES_NAME "yytables"
4901 
yywrap(void)4902 int yywrap(void)
4903 	{
4904 	if ( --num_input_files > 0 )
4905 		{
4906 		set_input_file( *++input_files );
4907 		return 0;
4908 		}
4909 
4910 	else
4911 		return 1;
4912 	}
4913 
4914 /* set_input_file - open the given file (if NULL, stdin) for scanning */
4915 
set_input_file(char * file)4916 void set_input_file( char *file )
4917 	{
4918 	if ( file && strcmp( file, "-" ) )
4919 		{
4920 		infilename = xstrdup(file);
4921 		yyin = fopen( infilename, "r" );
4922 
4923 		if ( yyin == NULL )
4924 			lerr( _( "can't open %s" ), file );
4925 		}
4926 
4927 	else
4928 		{
4929 		yyin = stdin;
4930 		infilename = xstrdup("<stdin>");
4931 		}
4932 
4933 	linenum = 1;
4934 	}
4935 
4936