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