ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/src/lex.yy.c
Revision: 33
Committed: Sun Oct 2 20:50:00 2005 UTC (19 years, 10 months ago) by knight
Content type: text/x-csrc
File size: 125794 byte(s)
Log Message:
- svn:keywords

File Contents

# User Rev Content
1 adx 30 /* A lexical scanner generated by flex */
2    
3     /* Scanner skeleton version:
4     * $Header: /cvsroot/ircd-hybrid/src/lex.yy.c,v 7.51 2005/09/29 00:46:55 adx Exp $
5     * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar Exp $
6     */
7    
8     #if defined(__FreeBSD__)
9     #include <sys/cdefs.h>
10     #else
11     #define __unused
12     #endif
13    
14     #define FLEX_SCANNER
15     #define YY_FLEX_MAJOR_VERSION 2
16     #define YY_FLEX_MINOR_VERSION 5
17    
18     #include <stdio.h>
19    
20    
21     /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
22     #ifdef c_plusplus
23     #ifndef __cplusplus
24     #define __cplusplus
25     #endif
26     #endif
27    
28    
29     #ifdef __cplusplus
30    
31     #include <stdlib.h>
32     #include <unistd.h>
33    
34     /* Use prototypes in function declarations. */
35     #define YY_USE_PROTOS
36    
37     /* The "const" storage-class-modifier is valid. */
38     #define YY_USE_CONST
39    
40     #else /* ! __cplusplus */
41    
42     #if __STDC__
43    
44     #define YY_USE_PROTOS
45     #define YY_USE_CONST
46    
47     #endif /* __STDC__ */
48     #endif /* ! __cplusplus */
49    
50     #ifdef __TURBOC__
51     #pragma warn -rch
52     #pragma warn -use
53     #include <io.h>
54     #include <stdlib.h>
55     #define YY_USE_CONST
56     #define YY_USE_PROTOS
57     #endif
58    
59     #ifdef YY_USE_CONST
60     #define yyconst const
61     #else
62     #define yyconst
63     #endif
64    
65    
66     #ifdef YY_USE_PROTOS
67     #define YY_PROTO(proto) proto
68     #else
69     #define YY_PROTO(proto) ()
70     #endif
71    
72     /* Returned upon end-of-file. */
73     #define YY_NULL 0
74    
75     /* Promotes a possibly negative, possibly signed char to an unsigned
76     * integer for use as an array index. If the signed char is negative,
77     * we want to instead treat it as an 8-bit unsigned char, hence the
78     * double cast.
79     */
80     #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
81    
82     /* Enter a start condition. This macro really ought to take a parameter,
83     * but we do it the disgusting crufty way forced on us by the ()-less
84     * definition of BEGIN.
85     */
86     #define BEGIN yy_start = 1 + 2 *
87    
88     /* Translate the current start state into a value that can be later handed
89     * to BEGIN to return to the state. The YYSTATE alias is for lex
90     * compatibility.
91     */
92     #define YY_START ((yy_start - 1) / 2)
93     #define YYSTATE YY_START
94    
95     /* Action number for EOF rule of a given start state. */
96     #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
97    
98     /* Special action meaning "start processing a new file". */
99     #define YY_NEW_FILE yyrestart( yyin )
100    
101     #define YY_END_OF_BUFFER_CHAR 0
102    
103     /* Size of default input buffer. */
104     #define YY_BUF_SIZE 16384
105    
106     typedef struct yy_buffer_state *YY_BUFFER_STATE;
107    
108     extern int yyleng;
109     extern FILE *yyin, *yyout;
110    
111     #define EOB_ACT_CONTINUE_SCAN 0
112     #define EOB_ACT_END_OF_FILE 1
113     #define EOB_ACT_LAST_MATCH 2
114    
115     /* The funky do-while in the following #define is used to turn the definition
116     * int a single C statement (which needs a semi-colon terminator). This
117     * avoids problems with code like:
118     *
119     * if ( condition_holds )
120     * yyless( 5 );
121     * else
122     * do_something_else();
123     *
124     * Prior to using the do-while the compiler would get upset at the
125     * "else" because it interpreted the "if" statement as being all
126     * done when it reached the ';' after the yyless() call.
127     */
128    
129     /* Return all but the first 'n' matched characters back to the input stream. */
130    
131     #define yyless(n) \
132     do \
133     { \
134     /* Undo effects of setting up yytext. */ \
135     *yy_cp = yy_hold_char; \
136     YY_RESTORE_YY_MORE_OFFSET \
137     yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
138     YY_DO_BEFORE_ACTION; /* set up yytext again */ \
139     } \
140     while ( 0 )
141    
142     #define unput(c) yyunput( c, yytext_ptr )
143    
144     /* The following is because we cannot portably get our hands on size_t
145     * (without autoconf's help, which isn't available because we want
146     * flex-generated scanners to compile on their own).
147     */
148     typedef unsigned int yy_size_t;
149    
150    
151     struct yy_buffer_state
152     {
153     FILE *yy_input_file;
154    
155     char *yy_ch_buf; /* input buffer */
156     char *yy_buf_pos; /* current position in input buffer */
157    
158     /* Size of input buffer in bytes, not including room for EOB
159     * characters.
160     */
161     yy_size_t yy_buf_size;
162    
163     /* Number of characters read into yy_ch_buf, not including EOB
164     * characters.
165     */
166     int yy_n_chars;
167    
168     /* Whether we "own" the buffer - i.e., we know we created it,
169     * and can realloc() it to grow it, and should free() it to
170     * delete it.
171     */
172     int yy_is_our_buffer;
173    
174     /* Whether this is an "interactive" input source; if so, and
175     * if we're using stdio for input, then we want to use getc()
176     * instead of fread(), to make sure we stop fetching input after
177     * each newline.
178     */
179     int yy_is_interactive;
180    
181     /* Whether we're considered to be at the beginning of a line.
182     * If so, '^' rules will be active on the next match, otherwise
183     * not.
184     */
185     int yy_at_bol;
186    
187     /* Whether to try to fill the input buffer when we reach the
188     * end of it.
189     */
190     int yy_fill_buffer;
191    
192     int yy_buffer_status;
193     #define YY_BUFFER_NEW 0
194     #define YY_BUFFER_NORMAL 1
195     /* When an EOF's been seen but there's still some text to process
196     * then we mark the buffer as YY_EOF_PENDING, to indicate that we
197     * shouldn't try reading from the input source any more. We might
198     * still have a bunch of tokens to match, though, because of
199     * possible backing-up.
200     *
201     * When we actually see the EOF, we change the status to "new"
202     * (via yyrestart()), so that the user can continue scanning by
203     * just pointing yyin at a new input file.
204     */
205     #define YY_BUFFER_EOF_PENDING 2
206     };
207    
208     static YY_BUFFER_STATE yy_current_buffer = 0;
209    
210     /* We provide macros for accessing buffer states in case in the
211     * future we want to put the buffer states in a more general
212     * "scanner state".
213     */
214     #define YY_CURRENT_BUFFER yy_current_buffer
215    
216    
217     /* yy_hold_char holds the character lost when yytext is formed. */
218     static char yy_hold_char;
219    
220     static int yy_n_chars; /* number of characters read into yy_ch_buf */
221    
222    
223     int yyleng;
224    
225     /* Points to current character in buffer. */
226     static char *yy_c_buf_p = (char *) 0;
227     static int yy_init = 1; /* whether we need to initialize */
228     static int yy_start = 0; /* start state number */
229    
230     /* Flag which is used to allow yywrap()'s to do buffer switches
231     * instead of setting up a fresh yyin. A bit of a hack ...
232     */
233     static int yy_did_buffer_switch_on_eof;
234    
235     void yyrestart YY_PROTO(( FILE *input_file ));
236    
237     void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
238     void yy_load_buffer_state YY_PROTO(( void ));
239     YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
240     void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
241     void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
242     void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
243     #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
244    
245     YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
246     YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
247     YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
248    
249     static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
250     static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
251     static void yy_flex_free YY_PROTO(( void * ));
252    
253     #define yy_new_buffer yy_create_buffer
254    
255     #define yy_set_interactive(is_interactive) \
256     { \
257     if ( ! yy_current_buffer ) \
258     yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
259     yy_current_buffer->yy_is_interactive = is_interactive; \
260     }
261    
262     #define yy_set_bol(at_bol) \
263     { \
264     if ( ! yy_current_buffer ) \
265     yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
266     yy_current_buffer->yy_at_bol = at_bol; \
267     }
268    
269     #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
270    
271    
272     #define yywrap() 1
273     #define YY_SKIP_YYWRAP
274     typedef unsigned char YY_CHAR;
275     FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
276     typedef int yy_state_type;
277     extern char *yytext;
278     #define yytext_ptr yytext
279    
280     static yy_state_type yy_get_previous_state YY_PROTO(( void ));
281     static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
282     static int yy_get_next_buffer YY_PROTO(( void ));
283     static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
284    
285     /* Done after the current pattern has been matched and before the
286     * corresponding action - sets up yytext.
287     */
288     #define YY_DO_BEFORE_ACTION \
289     yytext_ptr = yy_bp; \
290     yytext_ptr -= yy_more_len; \
291     yyleng = (int) (yy_cp - yytext_ptr); \
292     yy_hold_char = *yy_cp; \
293     *yy_cp = '\0'; \
294     yy_c_buf_p = yy_cp;
295    
296     #define YY_NUM_RULES 286
297     #define YY_END_OF_BUFFER 287
298     static yyconst short int yy_accept[1840] =
299     { 0,
300     4, 4, 287, 285, 4, 3, 285, 5, 285, 285,
301     6, 285, 285, 285, 285, 285, 285, 285, 285, 285,
302     285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
303     285, 285, 285, 285, 285, 285, 8, 4, 3, 0,
304     7, 5, 284, 0, 2, 5, 6, 0, 0, 0,
305     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
306     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
308     0, 0, 0, 278, 0, 0, 0, 0, 0, 0,
309     0, 0, 0, 0, 98, 0, 268, 0, 0, 0,
310    
311     0, 0, 0, 0, 0, 0, 273, 0, 0, 0,
312     0, 0, 0, 0, 136, 0, 0, 0, 0, 0,
313     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314     0, 283, 0, 0, 0, 0, 0, 0, 0, 0,
315     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316     0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
317     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
318     0, 255, 0, 0, 0, 0, 0, 43, 0, 0,
319     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
320     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321    
322     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323     0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
324     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
325     0, 0, 0, 118, 0, 0, 0, 0, 0, 0,
326     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
327     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328     239, 0, 0, 0, 0, 0, 0, 0, 0, 178,
329     0, 0, 0, 0, 241, 169, 0, 0, 0, 0,
330     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331     0, 0, 0, 0, 0, 0, 0, 201, 0, 0,
332    
333     0, 0, 0, 0, 0, 16, 0, 0, 232, 0,
334     263, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335     0, 0, 0, 254, 234, 0, 0, 41, 0, 0,
336     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
337     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
338     0, 0, 236, 0, 0, 0, 0, 0, 0, 0,
339     0, 0, 0, 91, 257, 0, 0, 0, 0, 99,
340     100, 0, 0, 103, 0, 0, 0, 0, 0, 0,
341     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
342     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
343    
344     130, 0, 0, 0, 134, 0, 0, 0, 0, 0,
345     143, 0, 0, 226, 0, 152, 0, 0, 0, 0,
346     0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
347     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
348     0, 0, 0, 0, 0, 0, 0, 0, 183, 0,
349     0, 0, 0, 0, 193, 0, 0, 199, 253, 0,
350     0, 0, 0, 11, 0, 15, 0, 0, 18, 0,
351     262, 0, 0, 0, 233, 0, 0, 0, 29, 0,
352     0, 0, 0, 0, 235, 0, 0, 0, 0, 0,
353     249, 0, 0, 52, 0, 0, 0, 0, 0, 0,
354    
355     0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
356     0, 277, 73, 0, 0, 75, 0, 0, 0, 0,
357     0, 256, 0, 0, 0, 0, 0, 0, 267, 0,
358     0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
359     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360     0, 0, 0, 0, 0, 0, 0, 272, 0, 0,
361     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363     0, 0, 0, 158, 0, 0, 0, 0, 0, 0,
364     0, 0, 172, 0, 0, 0, 0, 0, 0, 237,
365    
366     0, 180, 0, 0, 282, 0, 0, 0, 0, 196,
367     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368     0, 0, 0, 197, 0, 0, 252, 200, 0, 0,
369     10, 0, 13, 0, 0, 0, 0, 0, 0, 0,
370     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371     0, 0, 0, 0, 0, 53, 0, 0, 56, 0,
372     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373     0, 276, 0, 0, 0, 76, 0, 0, 0, 84,
374     0, 0, 0, 0, 0, 0, 0, 266, 0, 0,
375     0, 0, 107, 0, 0, 110, 0, 0, 113, 0,
376    
377     0, 0, 116, 250, 0, 0, 0, 121, 0, 0,
378     0, 0, 0, 0, 0, 0, 0, 0, 271, 0,
379     0, 0, 259, 225, 0, 0, 0, 0, 0, 0,
380     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
381     0, 0, 147, 0, 0, 0, 0, 0, 0, 155,
382     0, 0, 159, 160, 162, 0, 0, 0, 0, 261,
383     0, 0, 0, 0, 176, 0, 179, 0, 0, 0,
384     0, 281, 0, 0, 194, 0, 0, 0, 0, 195,
385     240, 0, 229, 0, 0, 0, 0, 0, 0, 0,
386     198, 246, 0, 0, 0, 0, 0, 0, 0, 0,
387    
388     0, 0, 0, 0, 0, 25, 0, 0, 0, 31,
389     0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
390     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391     0, 0, 0, 0, 0, 0, 0, 0, 74, 0,
392     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394     108, 109, 0, 112, 0, 0, 0, 0, 119, 120,
395     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396     0, 0, 0, 258, 224, 238, 0, 0, 0, 0,
397     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398    
399     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400     0, 0, 0, 0, 0, 0, 0, 260, 0, 0,
401     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402     0, 0, 0, 0, 0, 0, 0, 0, 185, 228,
403     186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
404     0, 0, 17, 0, 0, 0, 247, 0, 22, 0,
405     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406     50, 0, 0, 0, 242, 0, 57, 0, 0, 0,
407     62, 0, 0, 0, 0, 0, 0, 0, 0, 70,
408     72, 275, 0, 0, 0, 0, 0, 0, 0, 0,
409    
410     0, 0, 93, 94, 0, 0, 0, 0, 0, 265,
411     0, 0, 0, 0, 111, 114, 0, 0, 0, 0,
412     223, 0, 0, 0, 0, 0, 0, 0, 0, 270,
413     0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
414     0, 144, 0, 0, 0, 146, 0, 243, 0, 148,
415     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417     0, 0, 0, 0, 0, 0, 280, 0, 0, 0,
418     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419     0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
420    
421     0, 0, 0, 0, 0, 0, 36, 0, 0, 0,
422     0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
423     0, 0, 60, 63, 66, 0, 0, 0, 0, 0,
424     0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
425     0, 0, 0, 0, 245, 0, 0, 0, 264, 0,
426     0, 0, 0, 115, 0, 117, 0, 0, 0, 0,
427     123, 124, 0, 0, 0, 269, 0, 0, 0, 0,
428     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429     0, 219, 0, 150, 0, 0, 0, 156, 157, 0,
430     163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431    
432     0, 0, 0, 0, 0, 0, 0, 0, 279, 0,
433     0, 0, 0, 0, 0, 0, 188, 189, 0, 0,
434     0, 0, 1, 0, 1, 0, 0, 0, 0, 19,
435     0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
436     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438     0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
439     0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
440     0, 0, 125, 0, 0, 126, 0, 0, 0, 82,
441     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442    
443     0, 0, 0, 0, 0, 153, 0, 0, 0, 0,
444     0, 0, 0, 173, 174, 0, 244, 177, 0, 0,
445     0, 0, 0, 0, 0, 0, 0, 251, 0, 0,
446     0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
447     0, 0, 0, 0, 0, 35, 0, 0, 0, 42,
448     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449     0, 0, 0, 0, 0, 0, 0, 0, 0, 80,
450     0, 0, 86, 87, 0, 0, 0, 0, 0, 0,
451     0, 0, 0, 0, 221, 211, 0, 122, 0, 0,
452     227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453    
454     0, 0, 0, 231, 0, 0, 149, 0, 0, 0,
455     0, 166, 0, 0, 0, 0, 0, 0, 0, 0,
456     0, 0, 0, 0, 0, 0, 0, 0, 190, 0,
457     0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
458     0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
459     51, 55, 0, 0, 0, 0, 0, 0, 0, 0,
460     0, 77, 0, 0, 85, 0, 89, 0, 0, 0,
461     0, 0, 0, 0, 106, 212, 0, 0, 0, 0,
462     0, 0, 0, 0, 132, 133, 135, 0, 0, 0,
463     0, 0, 0, 0, 0, 0, 151, 154, 0, 0,
464    
465     0, 0, 0, 0, 248, 181, 0, 0, 0, 0,
466     0, 0, 0, 0, 209, 0, 0, 0, 0, 12,
467     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
468     0, 0, 0, 0, 49, 0, 0, 59, 0, 0,
469     65, 0, 69, 71, 0, 0, 0, 0, 0, 0,
470     0, 0, 0, 0, 0, 0, 0, 0, 206, 0,
471     0, 131, 0, 0, 139, 0, 142, 0, 0, 0,
472     0, 0, 0, 0, 0, 171, 175, 0, 0, 0,
473     0, 0, 192, 0, 0, 210, 0, 214, 0, 0,
474     0, 20, 23, 0, 0, 0, 0, 0, 0, 45,
475    
476     0, 0, 0, 0, 0, 61, 64, 67, 78, 0,
477     0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
478     0, 0, 127, 0, 0, 0, 0, 0, 145, 0,
479     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480     0, 0, 0, 9, 207, 0, 0, 0, 0, 0,
481     0, 0, 0, 0, 0, 48, 0, 68, 79, 0,
482     88, 95, 0, 96, 0, 102, 0, 0, 0, 0,
483     0, 128, 0, 0, 141, 0, 0, 0, 0, 0,
484     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485     0, 26, 27, 0, 0, 0, 0, 0, 0, 0,
486    
487     0, 0, 83, 0, 101, 0, 0, 0, 0, 204,
488     0, 0, 138, 230, 0, 220, 161, 0, 0, 0,
489     0, 0, 0, 0, 0, 0, 0, 0, 0, 28,
490     33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491     213, 0, 0, 0, 0, 0, 164, 0, 0, 0,
492     217, 216, 215, 218, 0, 0, 0, 0, 0, 38,
493     0, 0, 0, 0, 202, 0, 0, 0, 205, 0,
494     137, 0, 0, 0, 0, 0, 184, 191, 0, 0,
495     0, 0, 0, 0, 0, 0, 222, 0, 0, 0,
496     168, 0, 0, 0, 0, 0, 0, 0, 0, 97,
497    
498     0, 0, 0, 167, 170, 0, 0, 0, 0, 0,
499     0, 0, 104, 0, 24, 182, 0, 0, 0, 0,
500     46, 0, 129, 0, 0, 0, 0, 47, 0, 0,
501     0, 40, 0, 37, 0, 0, 39, 208, 0
502     } ;
503    
504     static yyconst int yy_ec[256] =
505     { 0,
506     1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
507     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
508     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509     1, 2, 1, 4, 5, 1, 1, 1, 1, 1,
510     1, 6, 1, 1, 1, 7, 8, 9, 9, 9,
511     9, 10, 9, 11, 9, 9, 9, 1, 1, 12,
512     1, 13, 1, 1, 15, 16, 17, 18, 19, 20,
513     21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
514     31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
515     1, 1, 1, 1, 14, 1, 15, 16, 17, 18,
516    
517     19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
518     29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
519     39, 40, 1, 1, 1, 41, 1, 1, 1, 1,
520     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
525     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
527    
528     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533     1, 1, 1, 1, 1
534     } ;
535    
536     static yyconst int yy_meta[42] =
537     { 0,
538     1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
539     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
540     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
541     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542     1
543     } ;
544    
545     static yyconst short int yy_base[1845] =
546     { 0,
547     0, 0, 1860, 1861, 1857, 0, 39, 0, 37, 39,
548     39, 35, 30, 56, 57, 30, 78, 58, 79, 91,
549     1829, 94, 109, 110, 125, 1827, 68, 1821, 97, 142,
550     161, 34, 1833, 81, 1828, 1834, 1861, 1850, 0, 131,
551     1861, 0, 1861, 1823, 1861, 0, 136, 119, 1823, 1815,
552     1822, 1813, 1812, 1816, 1810, 1811, 1808, 38, 1812, 1825,
553     57, 128, 122, 1800, 1799, 154, 108, 1803, 1807, 1803,
554     1816, 1818, 140, 139, 143, 1817, 1805, 1801, 92, 1814,
555     1813, 1797, 126, 1787, 161, 1804, 82, 1788, 1805, 146,
556     1806, 1795, 1792, 1783, 1782, 1794, 1777, 1789, 1791, 1784,
557    
558     184, 1772, 1796, 62, 167, 158, 1771, 164, 1781, 1790,
559     1780, 1784, 176, 1788, 1790, 1776, 1783, 175, 1773, 1768,
560     31, 207, 1784, 187, 191, 187, 1775, 1777, 185, 1770,
561     1780, 1755, 1761, 1760, 1765, 1760, 192, 1775, 1762, 1757,
562     201, 1767, 1756, 105, 1765, 1760, 1749, 1764, 1761, 1756,
563     1755, 1738, 1747, 1752, 201, 1757, 1740, 1739, 1752, 1744,
564     1755, 1740, 1739, 1734, 1743, 1731, 1744, 1729, 1731, 1732,
565     1729, 1725, 1737, 1721, 1740, 1715, 1736, 1861, 1737, 184,
566     1723, 1735, 1719, 1725, 1731, 1714, 1726, 1717, 1724, 1716,
567     1722, 1717, 1716, 1719, 1711, 1713, 211, 1708, 1715, 1707,
568    
569     1713, 1697, 1701, 1710, 1713, 1699, 1710, 1706, 217, 1690,
570     1691, 1708, 1702, 1691, 1696, 227, 1690, 1683, 215, 1688,
571     1698, 1682, 1694, 1680, 1683, 1681, 1677, 1693, 1668, 1686,
572     1680, 1670, 1674, 228, 1677, 1687, 1666, 1684, 1665, 229,
573     1662, 1677, 1680, 1676, 1656, 1667, 231, 1675, 1658, 1670,
574     1655, 1665, 1665, 1651, 1652, 1664, 1649, 1658, 1661, 1664,
575     1659, 1648, 216, 1662, 1646, 1656, 1637, 1640, 1639, 1861,
576     1651, 1643, 1634, 1638, 1861, 1652, 1631, 1630, 1648, 1633,
577     1638, 1637, 1626, 1639, 219, 1634, 1637, 1620, 1628, 1634,
578     1626, 237, 1618, 1624, 1621, 1623, 1619, 1861, 1620, 1615,
579    
580     1615, 1615, 1612, 1604, 1626, 1861, 1622, 1613, 1861, 1603,
581     1603, 1616, 234, 1606, 1605, 1618, 1612, 1597, 1601, 1594,
582     1595, 1607, 1591, 1861, 1861, 1603, 1588, 1861, 1590, 1605,
583     1597, 1605, 1599, 1583, 1587, 1589, 1588, 1574, 1593, 1581,
584     1578, 1590, 1580, 1581, 1578, 1573, 1578, 1575, 1569, 1567,
585     1581, 1567, 1861, 1566, 1578, 1563, 1563, 1578, 1574, 1577,
586     233, 1572, 1576, 1861, 1556, 1561, 1553, 1554, 229, 1861,
587     1861, 1571, 1565, 1569, 1566, 1562, 1555, 1556, 1562, 1545,
588     1556, 1541, 1559, 1541, 1546, 1557, 1537, 1550, 1538, 1541,
589     1543, 1550, 1545, 255, 1544, 1546, 1546, 1532, 1525, 1532,
590    
591     1861, 1529, 1542, 1526, 1540, 1521, 1523, 1521, 1527, 1530,
592     253, 1534, 1510, 1861, 1532, 1861, 1530, 1510, 1514, 1510,
593     1503, 1507, 1522, 1504, 1505, 1522, 1505, 1506, 260, 247,
594     1514, 1498, 1503, 1504, 1512, 1508, 1510, 1493, 1506, 1508,
595     1489, 1494, 1504, 1484, 1505, 1503, 1502, 1488, 1861, 1481,
596     1491, 1480, 1489, 269, 1861, 1477, 1481, 1495, 1475, 1488,
597     1471, 1471, 1476, 1480, 1483, 1861, 249, 1472, 1861, 1486,
598     1861, 1467, 1472, 1479, 1861, 1477, 1479, 1462, 1861, 1459,
599     1473, 1472, 1473, 1463, 1861, 1462, 1464, 1460, 1457, 1461,
600     1861, 1460, 1453, 1861, 1462, 1450, 1461, 1444, 1449, 1458,
601    
602     1460, 1455, 1454, 1440, 1445, 1451, 1861, 1450, 1454, 1441,
603     1440, 1432, 1861, 1449, 1424, 265, 1436, 1438, 1426, 1431,
604     1425, 1861, 1442, 1433, 1436, 1431, 1434, 1432, 1418, 1433,
605     1410, 1434, 1433, 1412, 1410, 1415, 1414, 1419, 1424, 1412,
606     1416, 1411, 1423, 1408, 1402, 1415, 1405, 1398, 1413, 1413,
607     1414, 258, 1402, 1409, 1397, 262, 1410, 1391, 1384, 1401,
608     1392, 1401, 1400, 1397, 270, 1385, 1399, 1396, 1391, 1394,
609     1386, 1379, 273, 1376, 1395, 1393, 1370, 278, 284, 1378,
610     1391, 1376, 279, 1861, 1381, 1368, 1382, 1377, 1380, 278,
611     1380, 1367, 1861, 1364, 1372, 1365, 1375, 1378, 1357, 1861,
612    
613     1375, 1375, 1369, 1373, 1353, 1346, 1350, 1364, 1366, 1861,
614     1353, 1342, 1347, 1359, 1355, 1348, 1339, 1346, 266, 1345,
615     1344, 1342, 1348, 1358, 1338, 1339, 1861, 1861, 1348, 1351,
616     1861, 1331, 1861, 1340, 1332, 134, 290, 297, 224, 233,
617     288, 292, 302, 303, 287, 289, 289, 302, 292, 297,
618     309, 315, 302, 302, 306, 1861, 299, 320, 1861, 320,
619     322, 310, 320, 313, 314, 312, 316, 315, 323, 316,
620     318, 1861, 323, 316, 332, 1861, 339, 336, 341, 342,
621     338, 327, 334, 348, 347, 350, 339, 1861, 344, 333,
622     350, 352, 1861, 350, 340, 1861, 356, 355, 1861, 347,
623    
624     361, 359, 1861, 1861, 342, 358, 358, 1861, 364, 355,
625     369, 362, 357, 369, 372, 373, 364, 360, 1861, 359,
626     375, 367, 363, 364, 379, 381, 385, 376, 380, 388,
627     376, 373, 388, 393, 379, 381, 395, 384, 383, 397,
628     388, 400, 1861, 384, 388, 395, 404, 386, 392, 1861,
629     393, 404, 1861, 410, 409, 409, 389, 405, 413, 397,
630     416, 410, 406, 401, 1861, 409, 1861, 411, 410, 407,
631     417, 1861, 407, 417, 430, 410, 419, 435, 422, 1861,
632     1861, 432, 1861, 433, 435, 437, 419, 427, 436, 429,
633     1861, 1861, 430, 441, 431, 428, 446, 449, 437, 429,
634    
635     438, 445, 451, 441, 452, 1861, 438, 443, 454, 1861,
636     442, 456, 449, 464, 445, 466, 458, 468, 455, 470,
637     466, 460, 461, 459, 470, 476, 462, 463, 472, 465,
638     481, 470, 468, 475, 469, 467, 481, 482, 1861, 485,
639     467, 483, 482, 489, 477, 495, 479, 483, 488, 495,
640     499, 490, 488, 489, 504, 501, 483, 503, 502, 507,
641     1861, 1861, 508, 1861, 503, 496, 511, 512, 1861, 1861,
642     513, 500, 506, 516, 520, 509, 523, 514, 524, 520,
643     523, 529, 507, 1861, 1861, 1861, 526, 513, 533, 533,
644     515, 536, 537, 533, 523, 533, 529, 523, 528, 526,
645    
646     520, 534, 538, 544, 534, 537, 533, 543, 539, 536,
647     537, 548, 556, 538, 554, 538, 549, 1861, 543, 554,
648     550, 554, 557, 552, 556, 554, 550, 571, 572, 573,
649     574, 570, 571, 572, 560, 579, 576, 581, 1861, 1861,
650     1861, 577, 578, 581, 578, 577, 587, 600, 588, 573,
651     581, 580, 1861, 593, 579, 592, 1861, 593, 1861, 587,
652     582, 589, 597, 585, 593, 602, 598, 608, 594, 602,
653     1861, 596, 609, 605, 1861, 599, 1861, 602, 611, 612,
654     1861, 615, 611, 615, 620, 615, 619, 624, 625, 1861,
655     1861, 612, 627, 619, 625, 621, 631, 633, 637, 623,
656    
657     618, 626, 1861, 1861, 627, 638, 628, 630, 627, 628,
658     643, 648, 630, 639, 1861, 1861, 641, 641, 642, 639,
659     1861, 637, 643, 657, 639, 648, 661, 657, 658, 645,
660     653, 657, 653, 649, 665, 656, 666, 657, 667, 1861,
661     669, 1861, 650, 657, 673, 1861, 662, 1861, 660, 1861,
662     670, 677, 669, 670, 685, 666, 665, 673, 675, 690,
663     678, 691, 684, 675, 691, 690, 697, 695, 679, 695,
664     681, 693, 688, 689, 690, 691, 688, 708, 685, 691,
665     696, 707, 709, 698, 691, 705, 708, 699, 705, 732,
666     731, 724, 705, 724, 726, 727, 703, 720, 731, 1861,
667    
668     727, 728, 719, 731, 721, 732, 1861, 729, 727, 724,
669     726, 721, 734, 729, 740, 749, 743, 747, 1861, 736,
670     745, 735, 1861, 1861, 1861, 743, 739, 736, 743, 742,
671     739, 740, 1861, 746, 760, 749, 742, 762, 751, 752,
672     761, 762, 762, 762, 770, 752, 768, 768, 1861, 761,
673     756, 768, 776, 1861, 777, 1861, 759, 780, 761, 770,
674     1861, 1861, 780, 766, 765, 1861, 771, 775, 768, 766,
675     785, 790, 785, 793, 780, 783, 778, 797, 798, 794,
676     800, 802, 794, 1861, 795, 800, 804, 1861, 1861, 795,
677     1861, 805, 793, 790, 808, 789, 808, 799, 799, 811,
678    
679     813, 800, 810, 814, 805, 806, 807, 808, 1861, 805,
680     810, 807, 812, 817, 825, 811, 1861, 1861, 818, 833,
681     822, 845, 846, 838, 839, 820, 820, 835, 837, 1861,
682     840, 821, 831, 840, 832, 1861, 834, 832, 834, 836,
683     840, 839, 834, 851, 853, 844, 858, 854, 840, 852,
684     844, 858, 850, 860, 848, 855, 863, 857, 858, 855,
685     869, 861, 1861, 870, 866, 871, 859, 860, 879, 859,
686     866, 882, 883, 884, 869, 871, 887, 863, 864, 1861,
687     874, 872, 1861, 884, 884, 1861, 875, 892, 892, 1861,
688     882, 879, 886, 895, 886, 902, 888, 904, 884, 888,
689    
690     888, 889, 890, 905, 897, 1861, 911, 909, 906, 895,
691     911, 917, 903, 1861, 1861, 918, 1861, 1861, 911, 918,
692     913, 918, 919, 920, 921, 918, 919, 1861, 924, 910,
693     919, 1861, 925, 932, 925, 912, 921, 925, 914, 916,
694     939, 941, 937, 939, 944, 1861, 937, 931, 938, 1861,
695     940, 945, 949, 936, 951, 939, 946, 935, 956, 939,
696     947, 947, 948, 946, 950, 948, 949, 945, 957, 1861,
697     967, 954, 1861, 1861, 969, 961, 952, 958, 958, 971,
698     955, 956, 963, 960, 979, 1861, 975, 1861, 980, 969,
699     1861, 982, 981, 967, 983, 982, 970, 976, 973, 978,
700    
701     991, 982, 991, 1861, 978, 989, 1861, 992, 987, 1002,
702     1002, 1861, 1004, 994, 988, 987, 1004, 1004, 1007, 993,
703     994, 995, 996, 1002, 998, 999, 1017, 999, 1861, 1017,
704     1007, 1007, 1005, 1009, 1016, 1018, 1018, 1019, 1011, 1861,
705     1018, 1026, 1028, 1013, 1861, 1029, 1023, 1016, 1033, 1018,
706     1861, 1861, 1025, 1028, 1022, 1027, 1028, 1037, 1030, 1039,
707     1040, 1861, 1044, 1046, 1861, 1041, 1861, 1035, 1052, 1053,
708     1040, 1040, 1047, 1048, 1861, 1861, 1053, 1056, 1042, 1047,
709     1057, 1051, 1063, 1061, 1861, 1861, 1861, 1066, 1051, 1064,
710     1060, 1054, 1056, 1053, 1073, 1061, 1861, 1861, 1055, 1062,
711    
712     1066, 1073, 1075, 1072, 1861, 1861, 1080, 1082, 1083, 1084,
713     1085, 1081, 1082, 1088, 1861, 1088, 1070, 1086, 1074, 1861,
714     1078, 1074, 1080, 1076, 1081, 1093, 1094, 1082, 1098, 1102,
715     1089, 1104, 1100, 1102, 1861, 1092, 1093, 1861, 1102, 1103,
716     1861, 1104, 1861, 1861, 1094, 1098, 1098, 1096, 1096, 1114,
717     1106, 1098, 1107, 1108, 1121, 1115, 1124, 1118, 1861, 1121,
718     1109, 1861, 1109, 1117, 1861, 1126, 1861, 1127, 1110, 1130,
719     1118, 1126, 1122, 1132, 1113, 1861, 1861, 1119, 1125, 1126,
720     1127, 1128, 1861, 1144, 1139, 1861, 1125, 1861, 1143, 1144,
721     1149, 1861, 1861, 1128, 1137, 1130, 1153, 1139, 1136, 1861,
722    
723     1153, 1158, 1141, 1140, 1154, 1861, 1861, 1861, 1165, 1149,
724     1145, 1861, 1146, 1151, 1142, 1154, 1164, 1165, 1152, 1171,
725     1152, 1169, 1861, 1171, 1160, 1168, 1160, 1174, 1861, 1179,
726     1169, 1169, 1178, 1159, 1185, 1181, 1173, 1174, 1175, 1176,
727     1177, 1180, 1192, 1861, 1861, 1181, 1199, 1194, 1193, 1183,
728     1179, 1196, 1183, 1195, 1201, 1861, 1196, 1861, 1861, 1200,
729     1861, 1861, 1193, 1861, 1188, 1861, 1209, 1195, 1197, 1193,
730     1194, 1214, 1203, 1196, 1861, 1198, 1206, 1214, 1215, 1209,
731     1222, 1217, 1224, 1213, 1214, 1215, 1216, 1214, 1215, 1219,
732     1227, 1861, 1861, 1228, 1222, 1217, 1222, 1219, 1233, 1238,
733    
734     1225, 1238, 1861, 1228, 1861, 1231, 1230, 1231, 1241, 1861,
735     1228, 1239, 1861, 1861, 1237, 1861, 1861, 1231, 1245, 1243,
736     1247, 1229, 1230, 1231, 1232, 1238, 1244, 1248, 1242, 1861,
737     1861, 1257, 1243, 1242, 1247, 1252, 1254, 1263, 1264, 1261,
738     1861, 1266, 1254, 1264, 1254, 1270, 1861, 1267, 1265, 1269,
739     1861, 1861, 1861, 1861, 1270, 1276, 1256, 1263, 1277, 1861,
740     1279, 1285, 1272, 1274, 1861, 1285, 1276, 1278, 1861, 1278,
741     1861, 1274, 1281, 1289, 1283, 1293, 1861, 1861, 1296, 1293,
742     1281, 1297, 1296, 1301, 1283, 1295, 1861, 1289, 1297, 1302,
743     1861, 1303, 1304, 1303, 1293, 1312, 1298, 1302, 1301, 1861,
744    
745     1296, 1305, 1314, 1861, 1861, 1300, 1315, 1316, 1319, 1302,
746     1305, 1321, 1861, 1321, 1861, 1861, 1327, 1314, 1314, 1316,
747     1861, 1312, 1861, 1312, 1330, 1313, 1315, 1861, 1327, 1332,
748     1324, 1861, 1326, 1861, 1320, 1336, 1861, 1861, 1861, 1355,
749     1356, 1358, 1359, 1360
750     } ;
751    
752     static yyconst short int yy_def[1845] =
753     { 0,
754     1839, 1, 1839, 1839, 1839, 1840, 1841, 1842, 1839, 1839,
755     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
756     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
757     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1840, 1841,
758     1839, 1842, 1839, 1839, 1839, 1842, 1839, 1839, 1839, 1839,
759     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
760     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
761     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
762     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
763     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
764    
765     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
766     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
767     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
768     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
769     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
770     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
771     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
772     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
773     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
774     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
775    
776     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
777     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
778     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
779     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
780     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
781     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
782     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
783     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
784     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
785     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
786    
787     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
788     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
789     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
790     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
791     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
792     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
793     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
794     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
795     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
796     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
797    
798     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
799     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
800     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
801     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
802     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
803     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
804     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
805     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
806     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
807     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
808    
809     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
810     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
811     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
812     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
813     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
814     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
815     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
816     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
817     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
818     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
819    
820     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
821     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
822     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
823     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
824     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
825     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
826     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
827     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
828     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
829     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
830    
831     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
832     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
833     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
834     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
835     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
836     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
837     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
838     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
839     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
840     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
841    
842     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
843     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
844     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
845     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
846     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
847     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
848     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
849     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
850     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
851     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
852    
853     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
854     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
855     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
856     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
857     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
858     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
859     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
860     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
861     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
862     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
863    
864     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
865     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
866     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
867     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
868     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
869     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
870     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
871     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
872     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
873     1843, 1844, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
874    
875     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
876     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
877     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
878     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
879     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
880     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
881     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
882     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
883     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
884     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
885    
886     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
887     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
888     1839, 1843, 1843, 1844, 1844, 1839, 1839, 1839, 1839, 1839,
889     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
890     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
891     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
892     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
893     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
894     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
895     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
896    
897     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
898     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
899     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
900     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
901     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
902     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
903     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
904     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
905     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
906     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
907    
908     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
909     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
910     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
911     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
912     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
913     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
914     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
915     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
916     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
917     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
918    
919     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
920     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
921     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
922     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
923     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
924     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
925     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
926     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
927     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
928     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
929    
930     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
931     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
932     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
933     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
934     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
935     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
936     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
937     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
938     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
939     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
940    
941     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
942     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
943     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
944     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
945     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
946     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
947     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
948     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
949     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
950     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
951    
952     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
953     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
954     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
955     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 0, 1839,
956     1839, 1839, 1839, 1839
957     } ;
958    
959     static yyconst short int yy_nxt[1903] =
960     { 0,
961     4, 5, 6, 7, 8, 4, 9, 10, 11, 11,
962     11, 4, 4, 4, 12, 13, 14, 15, 16, 17,
963     18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
964     28, 29, 30, 31, 32, 33, 34, 35, 36, 4,
965     37, 41, 41, 43, 45, 255, 46, 47, 47, 47,
966     71, 48, 49, 256, 50, 54, 72, 73, 55, 44,
967     51, 141, 52, 160, 56, 161, 142, 74, 57, 53,
968     58, 65, 59, 84, 164, 66, 85, 60, 61, 67,
969     86, 62, 118, 87, 63, 68, 165, 64, 69, 231,
970     119, 70, 75, 88, 232, 144, 120, 76, 77, 145,
971    
972     78, 89, 79, 80, 206, 81, 82, 90, 92, 97,
973     207, 93, 83, 91, 195, 122, 98, 196, 94, 99,
974     95, 100, 101, 102, 106, 107, 178, 103, 108, 123,
975     294, 104, 109, 41, 41, 149, 295, 105, 110, 111,
976     179, 112, 166, 113, 47, 47, 47, 114, 169, 170,
977     167, 200, 150, 115, 185, 187, 186, 188, 201, 116,
978     124, 799, 168, 125, 126, 190, 127, 191, 173, 174,
979     128, 129, 189, 175, 130, 131, 132, 203, 210, 133,
980     211, 176, 134, 233, 238, 135, 177, 234, 204, 136,
981     235, 250, 137, 138, 244, 236, 239, 331, 139, 140,
982    
983     222, 223, 224, 265, 270, 268, 225, 251, 252, 245,
984     283, 226, 271, 274, 266, 288, 332, 227, 267, 269,
985     228, 257, 306, 275, 258, 289, 284, 259, 260, 307,
986     261, 349, 290, 262, 362, 363, 370, 371, 291, 263,
987     374, 390, 398, 375, 350, 446, 518, 406, 391, 425,
988     454, 426, 804, 473, 407, 447, 474, 392, 805, 408,
989     519, 526, 527, 399, 409, 594, 573, 574, 455, 550,
990     551, 552, 595, 592, 596, 553, 634, 554, 675, 711,
991     555, 635, 556, 712, 716, 575, 785, 619, 557, 576,
992     593, 620, 726, 621, 622, 743, 717, 676, 735, 727,
993    
994     745, 736, 737, 786, 800, 623, 744, 738, 751, 758,
995     802, 752, 759, 806, 807, 808, 809, 746, 810, 803,
996     747, 811, 812, 801, 813, 814, 815, 816, 817, 818,
997     819, 820, 821, 822, 823, 824, 825, 826, 827, 828,
998     829, 830, 831, 832, 837, 833, 838, 834, 839, 840,
999     841, 835, 843, 844, 845, 846, 847, 836, 842, 849,
1000     850, 851, 852, 853, 854, 855, 856, 848, 857, 860,
1001     861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1002     871, 858, 872, 873, 874, 875, 859, 876, 877, 878,
1003     879, 880, 881, 882, 883, 884, 885, 886, 887, 888,
1004    
1005     889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
1006     899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
1007     909, 910, 911, 912, 913, 914, 915, 916, 917, 918,
1008     919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
1009     932, 929, 933, 934, 935, 930, 931, 936, 937, 938,
1010     939, 940, 941, 942, 943, 944, 945, 946, 947, 948,
1011     949, 950, 951, 952, 953, 954, 955, 956, 957, 958,
1012     959, 960, 961, 962, 963, 964, 965, 966, 967, 968,
1013     969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
1014     979, 980, 981, 982, 983, 984, 985, 986, 988, 989,
1015    
1016     987, 990, 991, 992, 993, 994, 995, 996, 997, 998,
1017     1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
1018     1011, 1012, 999, 1000, 1013, 1014, 1015, 1016, 1017, 1018,
1019     1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028,
1020     1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
1021     1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
1022     1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058,
1023     1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068,
1024     1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
1025     1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088,
1026    
1027     1089, 1090, 1093, 1091, 1094, 1095, 1096, 1097, 1098, 1099,
1028     1100, 1092, 1101, 1102, 1103, 1104, 1106, 1107, 1108, 1105,
1029     1111, 1109, 1112, 1116, 1117, 1118, 1119, 1120, 1121, 1113,
1030     1122, 1123, 1124, 1114, 1110, 1125, 1126, 1127, 1128, 1115,
1031     1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138,
1032     1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148,
1033     1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158,
1034     1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168,
1035     1169, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
1036     1180, 1181, 1172, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
1037    
1038     1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
1039     1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1040     1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
1041     1219, 1220, 1221, 1090, 1223, 1091, 1225, 1226, 1227, 1228,
1042     1229, 1230, 1231, 1092, 1232, 1233, 1234, 1235, 1236, 1237,
1043     1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
1044     1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
1045     1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1046     1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1047     1278, 1279, 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288,
1048    
1049     1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
1050     1299, 1300, 1301, 1285, 1302, 1303, 1304, 1305, 1306, 1307,
1051     1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
1052     1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
1053     1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1223, 1223,
1054     1225, 1225, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
1055     1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353,
1056     1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
1057     1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373,
1058     1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
1059    
1060     1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
1061     1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
1062     1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
1063     1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
1064     1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
1065     1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443,
1066     1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453,
1067     1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463,
1068     1464, 1465, 1466, 1468, 1469, 1470, 1471, 1472, 1474, 1475,
1069     1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485,
1070    
1071     1486, 1467, 1487, 1488, 1473, 1489, 1490, 1491, 1493, 1494,
1072     1495, 1496, 1497, 1492, 1498, 1499, 1500, 1501, 1502, 1503,
1073     1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1074     1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
1075     1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1076     1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1077     1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
1078     1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563,
1079     1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
1080     1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583,
1081    
1082     1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
1083     1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
1084     1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
1085     1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,
1086     1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
1087     1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643,
1088     1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1654,
1089     1653, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663,
1090     1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
1091     1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683,
1092    
1093     1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
1094     1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
1095     1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
1096     1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723,
1097     1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733,
1098     1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743,
1099     1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753,
1100     1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763,
1101     1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773,
1102     1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783,
1103    
1104     1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793,
1105     1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803,
1106     1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
1107     1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823,
1108     1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
1109     1834, 1835, 1836, 1837, 1838, 39, 40, 40, 42, 1222,
1110     1224, 798, 797, 796, 795, 794, 793, 792, 791, 790,
1111     789, 788, 787, 784, 783, 782, 781, 780, 779, 778,
1112     777, 776, 775, 774, 773, 772, 771, 770, 769, 768,
1113     767, 766, 765, 764, 763, 762, 761, 760, 757, 756,
1114    
1115     755, 754, 753, 750, 749, 748, 742, 741, 740, 739,
1116     734, 733, 732, 731, 730, 729, 728, 725, 724, 723,
1117     722, 721, 720, 719, 718, 715, 714, 713, 710, 709,
1118     708, 707, 706, 705, 704, 703, 702, 701, 700, 699,
1119     698, 697, 696, 695, 694, 693, 692, 691, 690, 689,
1120     688, 687, 686, 685, 684, 683, 682, 681, 680, 679,
1121     678, 677, 674, 673, 672, 671, 670, 669, 668, 667,
1122     666, 665, 664, 663, 662, 661, 660, 659, 658, 657,
1123     656, 655, 654, 653, 652, 651, 650, 649, 648, 647,
1124     646, 645, 644, 643, 642, 641, 640, 639, 638, 637,
1125    
1126     636, 633, 632, 631, 630, 629, 628, 627, 626, 625,
1127     624, 618, 617, 616, 615, 614, 613, 612, 611, 610,
1128     609, 608, 607, 606, 605, 604, 603, 602, 601, 600,
1129     599, 598, 597, 591, 590, 589, 588, 587, 586, 585,
1130     584, 583, 582, 581, 580, 579, 578, 577, 572, 571,
1131     570, 569, 568, 567, 566, 565, 564, 563, 562, 561,
1132     560, 559, 558, 549, 548, 547, 546, 545, 544, 543,
1133     542, 541, 540, 539, 538, 537, 536, 535, 534, 533,
1134     532, 531, 530, 529, 528, 525, 524, 523, 522, 521,
1135     520, 517, 516, 515, 514, 513, 512, 511, 510, 509,
1136    
1137     508, 507, 506, 505, 504, 503, 502, 501, 500, 499,
1138     498, 497, 496, 495, 494, 493, 492, 491, 490, 489,
1139     488, 487, 486, 485, 484, 483, 482, 481, 480, 479,
1140     478, 477, 476, 475, 472, 471, 470, 469, 468, 467,
1141     466, 465, 464, 463, 462, 461, 460, 459, 458, 457,
1142     456, 453, 452, 451, 450, 449, 448, 445, 444, 443,
1143     442, 441, 440, 439, 438, 437, 436, 435, 434, 433,
1144     432, 431, 430, 429, 428, 427, 424, 423, 422, 421,
1145     420, 419, 418, 417, 416, 415, 414, 413, 412, 411,
1146     410, 405, 404, 403, 402, 401, 400, 397, 396, 395,
1147    
1148     394, 393, 389, 388, 387, 386, 385, 384, 383, 382,
1149     381, 380, 379, 378, 377, 376, 373, 372, 369, 368,
1150     367, 366, 365, 364, 361, 360, 359, 358, 357, 356,
1151     355, 354, 353, 352, 351, 348, 347, 346, 345, 344,
1152     343, 342, 341, 340, 339, 338, 337, 336, 335, 334,
1153     333, 330, 329, 328, 327, 326, 325, 324, 323, 322,
1154     321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
1155     311, 310, 309, 308, 305, 304, 303, 302, 301, 300,
1156     299, 298, 297, 296, 293, 292, 287, 286, 285, 282,
1157     281, 280, 279, 278, 277, 276, 273, 272, 264, 254,
1158    
1159     253, 249, 248, 247, 246, 243, 242, 241, 240, 237,
1160     230, 229, 221, 220, 219, 218, 217, 216, 215, 214,
1161     213, 212, 209, 208, 205, 202, 199, 198, 197, 194,
1162     193, 192, 184, 183, 182, 181, 180, 172, 171, 163,
1163     162, 159, 158, 157, 156, 155, 154, 153, 152, 151,
1164     148, 38, 147, 146, 143, 121, 117, 96, 38, 1839,
1165     3, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1166     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1167     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1168     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1169    
1170     1839, 1839
1171     } ;
1172    
1173     static yyconst short int yy_chk[1903] =
1174     { 0,
1175     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1176     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1177     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1178     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1179     1, 7, 7, 9, 10, 121, 10, 11, 11, 11,
1180     16, 12, 12, 121, 12, 13, 16, 16, 13, 9,
1181     12, 32, 12, 58, 13, 58, 32, 16, 13, 12,
1182     14, 15, 14, 18, 61, 15, 18, 14, 14, 15,
1183     18, 14, 27, 18, 14, 15, 61, 14, 15, 104,
1184     27, 15, 17, 19, 104, 34, 27, 17, 17, 34,
1185    
1186     17, 19, 17, 17, 87, 17, 17, 19, 20, 22,
1187     87, 20, 17, 19, 79, 29, 22, 79, 20, 22,
1188     20, 22, 23, 23, 24, 24, 67, 23, 24, 29,
1189     144, 23, 24, 40, 40, 48, 144, 23, 24, 25,
1190     67, 25, 62, 25, 47, 47, 47, 25, 63, 63,
1191     62, 83, 48, 25, 73, 74, 73, 74, 83, 25,
1192     30, 636, 62, 30, 30, 75, 30, 75, 66, 66,
1193     30, 30, 74, 66, 30, 30, 31, 85, 90, 31,
1194     90, 66, 31, 105, 108, 31, 66, 105, 85, 31,
1195     106, 118, 31, 31, 113, 106, 108, 180, 31, 31,
1196    
1197     101, 101, 101, 124, 126, 125, 101, 118, 118, 113,
1198     137, 101, 126, 129, 124, 141, 180, 101, 124, 125,
1199     101, 122, 155, 129, 122, 141, 137, 122, 122, 155,
1200     122, 197, 141, 122, 209, 209, 216, 216, 141, 122,
1201     219, 234, 240, 219, 197, 285, 361, 247, 234, 263,
1202     292, 263, 639, 313, 247, 285, 313, 234, 640, 247,
1203     361, 369, 369, 240, 247, 430, 411, 411, 292, 394,
1204     394, 394, 430, 429, 430, 394, 467, 394, 516, 552,
1205     394, 467, 394, 552, 556, 411, 619, 454, 394, 411,
1206     429, 454, 565, 454, 454, 578, 556, 516, 573, 565,
1207    
1208     579, 573, 573, 619, 637, 454, 578, 573, 583, 590,
1209     638, 583, 590, 641, 642, 643, 644, 579, 645, 638,
1210     579, 646, 647, 637, 648, 649, 650, 651, 652, 653,
1211     654, 655, 657, 658, 660, 661, 662, 663, 664, 665,
1212     666, 667, 668, 669, 670, 669, 671, 669, 673, 674,
1213     675, 669, 677, 678, 679, 680, 681, 669, 675, 682,
1214     683, 684, 685, 686, 687, 689, 690, 681, 691, 692,
1215     694, 695, 697, 698, 700, 701, 702, 705, 706, 707,
1216     709, 691, 710, 711, 712, 713, 691, 714, 715, 716,
1217     717, 718, 720, 721, 722, 723, 724, 725, 726, 727,
1218    
1219     728, 729, 730, 731, 732, 733, 734, 735, 736, 737,
1220     738, 739, 740, 741, 742, 744, 745, 746, 747, 748,
1221     749, 751, 752, 754, 755, 756, 757, 758, 759, 760,
1222     761, 762, 762, 763, 764, 766, 768, 769, 770, 771,
1223     773, 771, 774, 775, 776, 771, 771, 777, 778, 779,
1224     782, 784, 785, 786, 787, 788, 789, 790, 793, 794,
1225     795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
1226     805, 807, 808, 809, 811, 812, 813, 814, 815, 816,
1227     817, 818, 819, 820, 821, 822, 823, 824, 825, 826,
1228     827, 828, 829, 830, 831, 832, 833, 834, 835, 836,
1229    
1230     834, 837, 838, 840, 841, 842, 843, 844, 845, 846,
1231     847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
1232     857, 858, 846, 846, 859, 860, 863, 865, 866, 867,
1233     868, 871, 872, 873, 874, 875, 876, 877, 878, 879,
1234     880, 881, 882, 883, 887, 888, 889, 890, 891, 892,
1235     893, 894, 895, 896, 897, 898, 899, 900, 901, 902,
1236     903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1237     913, 914, 915, 916, 917, 919, 920, 921, 922, 923,
1238     924, 925, 926, 927, 928, 929, 930, 931, 932, 933,
1239     934, 935, 936, 937, 938, 942, 943, 944, 945, 946,
1240    
1241     947, 948, 949, 948, 950, 951, 952, 954, 955, 956,
1242     958, 948, 960, 961, 962, 963, 964, 965, 966, 963,
1243     967, 966, 968, 969, 970, 972, 973, 974, 976, 968,
1244     978, 979, 980, 968, 966, 982, 983, 984, 985, 968,
1245     986, 987, 988, 989, 992, 993, 994, 995, 996, 997,
1246     998, 999, 1000, 1001, 1002, 1005, 1006, 1007, 1008, 1009,
1247     1010, 1011, 1012, 1013, 1014, 1017, 1018, 1019, 1020, 1022,
1248     1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
1249     1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1043, 1044,
1250     1045, 1047, 1035, 1049, 1051, 1052, 1053, 1054, 1055, 1056,
1251    
1252     1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066,
1253     1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
1254     1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1255     1087, 1088, 1089, 1090, 1091, 1090, 1092, 1093, 1094, 1095,
1256     1096, 1097, 1098, 1090, 1099, 1101, 1102, 1103, 1104, 1105,
1257     1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
1258     1117, 1118, 1120, 1121, 1122, 1126, 1127, 1128, 1129, 1130,
1259     1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141,
1260     1142, 1143, 1144, 1145, 1146, 1147, 1148, 1150, 1151, 1152,
1261     1153, 1155, 1157, 1158, 1159, 1160, 1163, 1164, 1165, 1167,
1262    
1263     1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177,
1264     1178, 1179, 1180, 1163, 1181, 1182, 1183, 1185, 1186, 1187,
1265     1190, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
1266     1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1210, 1211,
1267     1212, 1213, 1214, 1215, 1216, 1219, 1220, 1221, 1222, 1223,
1268     1224, 1225, 1226, 1227, 1228, 1229, 1231, 1232, 1233, 1234,
1269     1235, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
1270     1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255,
1271     1256, 1257, 1258, 1259, 1260, 1261, 1262, 1264, 1265, 1266,
1272     1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276,
1273    
1274     1277, 1278, 1279, 1281, 1282, 1284, 1285, 1287, 1288, 1289,
1275     1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300,
1276     1301, 1302, 1303, 1304, 1305, 1307, 1308, 1309, 1310, 1311,
1277     1312, 1313, 1316, 1319, 1320, 1321, 1322, 1323, 1324, 1325,
1278     1326, 1327, 1329, 1330, 1331, 1333, 1334, 1335, 1336, 1337,
1279     1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1347, 1348,
1280     1349, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
1281     1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369,
1282     1371, 1372, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382,
1283     1383, 1384, 1385, 1387, 1389, 1390, 1392, 1393, 1394, 1395,
1284    
1285     1396, 1375, 1397, 1398, 1380, 1399, 1400, 1401, 1402, 1403,
1286     1405, 1406, 1408, 1401, 1409, 1410, 1411, 1413, 1414, 1415,
1287     1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425,
1288     1426, 1427, 1428, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
1289     1437, 1438, 1439, 1441, 1442, 1443, 1444, 1446, 1447, 1448,
1290     1449, 1450, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460,
1291     1461, 1463, 1464, 1466, 1468, 1469, 1470, 1471, 1472, 1473,
1292     1474, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1488,
1293     1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1499, 1500,
1294     1501, 1502, 1503, 1504, 1507, 1508, 1509, 1510, 1511, 1512,
1295    
1296     1513, 1514, 1516, 1517, 1518, 1519, 1521, 1522, 1523, 1524,
1297     1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
1298     1536, 1537, 1539, 1540, 1542, 1545, 1546, 1547, 1548, 1549,
1299     1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1560,
1300     1561, 1563, 1564, 1566, 1568, 1569, 1570, 1571, 1572, 1573,
1301     1574, 1575, 1578, 1579, 1580, 1581, 1582, 1584, 1585, 1587,
1302     1589, 1590, 1591, 1594, 1595, 1596, 1597, 1598, 1599, 1601,
1303     1599, 1602, 1603, 1604, 1605, 1609, 1610, 1611, 1613, 1614,
1304     1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1624, 1625,
1305     1626, 1627, 1628, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
1306    
1307     1637, 1638, 1639, 1640, 1641, 1642, 1643, 1646, 1647, 1647,
1308     1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1657, 1660,
1309     1663, 1665, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674,
1310     1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685,
1311     1686, 1687, 1688, 1689, 1690, 1691, 1694, 1695, 1696, 1697,
1312     1698, 1699, 1700, 1701, 1702, 1704, 1706, 1707, 1708, 1709,
1313     1711, 1712, 1715, 1718, 1719, 1720, 1721, 1722, 1723, 1724,
1314     1725, 1726, 1727, 1728, 1729, 1732, 1733, 1734, 1735, 1736,
1315     1737, 1738, 1739, 1740, 1742, 1743, 1744, 1745, 1746, 1748,
1316     1749, 1750, 1755, 1756, 1757, 1758, 1759, 1761, 1762, 1763,
1317    
1318     1764, 1766, 1767, 1768, 1770, 1772, 1773, 1774, 1775, 1776,
1319     1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1788, 1789,
1320     1790, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801,
1321     1802, 1803, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1814,
1322     1817, 1818, 1819, 1820, 1822, 1824, 1825, 1826, 1827, 1829,
1323     1830, 1831, 1833, 1835, 1836, 1840, 1841, 1841, 1842, 1843,
1324     1844, 635, 634, 632, 630, 629, 626, 625, 624, 623,
1325     622, 621, 620, 618, 617, 616, 615, 614, 613, 612,
1326     611, 609, 608, 607, 606, 605, 604, 603, 602, 601,
1327     599, 598, 597, 596, 595, 594, 592, 591, 589, 588,
1328    
1329     587, 586, 585, 582, 581, 580, 577, 576, 575, 574,
1330     572, 571, 570, 569, 568, 567, 566, 564, 563, 562,
1331     561, 560, 559, 558, 557, 555, 554, 553, 551, 550,
1332     549, 548, 547, 546, 545, 544, 543, 542, 541, 540,
1333     539, 538, 537, 536, 535, 534, 533, 532, 531, 530,
1334     529, 528, 527, 526, 525, 524, 523, 521, 520, 519,
1335     518, 517, 515, 514, 512, 511, 510, 509, 508, 506,
1336     505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
1337     495, 493, 492, 490, 489, 488, 487, 486, 484, 483,
1338     482, 481, 480, 478, 477, 476, 474, 473, 472, 470,
1339    
1340     468, 465, 464, 463, 462, 461, 460, 459, 458, 457,
1341     456, 453, 452, 451, 450, 448, 447, 446, 445, 444,
1342     443, 442, 441, 440, 439, 438, 437, 436, 435, 434,
1343     433, 432, 431, 428, 427, 426, 425, 424, 423, 422,
1344     421, 420, 419, 418, 417, 415, 413, 412, 410, 409,
1345     408, 407, 406, 405, 404, 403, 402, 400, 399, 398,
1346     397, 396, 395, 393, 392, 391, 390, 389, 388, 387,
1347     386, 385, 384, 383, 382, 381, 380, 379, 378, 377,
1348     376, 375, 374, 373, 372, 368, 367, 366, 365, 363,
1349     362, 360, 359, 358, 357, 356, 355, 354, 352, 351,
1350    
1351     350, 349, 348, 347, 346, 345, 344, 343, 342, 341,
1352     340, 339, 338, 337, 336, 335, 334, 333, 332, 331,
1353     330, 329, 327, 326, 323, 322, 321, 320, 319, 318,
1354     317, 316, 315, 314, 312, 311, 310, 308, 307, 305,
1355     304, 303, 302, 301, 300, 299, 297, 296, 295, 294,
1356     293, 291, 290, 289, 288, 287, 286, 284, 283, 282,
1357     281, 280, 279, 278, 277, 276, 274, 273, 272, 271,
1358     269, 268, 267, 266, 265, 264, 262, 261, 260, 259,
1359     258, 257, 256, 255, 254, 253, 252, 251, 250, 249,
1360     248, 246, 245, 244, 243, 242, 241, 239, 238, 237,
1361    
1362     236, 235, 233, 232, 231, 230, 229, 228, 227, 226,
1363     225, 224, 223, 222, 221, 220, 218, 217, 215, 214,
1364     213, 212, 211, 210, 208, 207, 206, 205, 204, 203,
1365     202, 201, 200, 199, 198, 196, 195, 194, 193, 192,
1366     191, 190, 189, 188, 187, 186, 185, 184, 183, 182,
1367     181, 179, 177, 176, 175, 174, 173, 172, 171, 170,
1368     169, 168, 167, 166, 165, 164, 163, 162, 161, 160,
1369     159, 158, 157, 156, 154, 153, 152, 151, 150, 149,
1370     148, 147, 146, 145, 143, 142, 140, 139, 138, 136,
1371     135, 134, 133, 132, 131, 130, 128, 127, 123, 120,
1372    
1373     119, 117, 116, 115, 114, 112, 111, 110, 109, 107,
1374     103, 102, 100, 99, 98, 97, 96, 95, 94, 93,
1375     92, 91, 89, 88, 86, 84, 82, 81, 80, 78,
1376     77, 76, 72, 71, 70, 69, 68, 65, 64, 60,
1377     59, 57, 56, 55, 54, 53, 52, 51, 50, 49,
1378     44, 38, 36, 35, 33, 28, 26, 21, 5, 3,
1379     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1380     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1381     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1382     1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
1383    
1384     1839, 1839
1385     } ;
1386    
1387     static yy_state_type yy_last_accepting_state;
1388     static char *yy_last_accepting_cpos;
1389    
1390     /* The intent behind this definition is that it'll catch
1391     * any uses of REJECT which flex missed.
1392     */
1393     #define REJECT reject_used_but_not_detected
1394     static int yy_more_flag = 0;
1395     static int yy_more_len = 0;
1396     #define yymore() (yy_more_flag = 1)
1397     #define YY_MORE_ADJ yy_more_len
1398     #define YY_RESTORE_YY_MORE_OFFSET
1399     char *yytext;
1400     #line 1 "ircd_lexer.l"
1401     #define INITIAL 0
1402     /*
1403     * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
1404     * ircd_lexer.l: Scans the ircd configuration file for tokens.
1405     *
1406     * Copyright (C) 2002 by the past and present ircd coders, and others.
1407     *
1408     * This program is free software; you can redistribute it and/or modify
1409     * it under the terms of the GNU General Public License as published by
1410     * the Free Software Foundation; either version 2 of the License, or
1411     * (at your option) any later version.
1412     *
1413     * This program is distributed in the hope that it will be useful,
1414     * but WITHOUT ANY WARRANTY; without even the implied warranty of
1415     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1416     * GNU General Public License for more details.
1417     *
1418     * You should have received a copy of the GNU General Public License
1419     * along with this program; if not, write to the Free Software
1420     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
1421     * USA
1422     *
1423 knight 31 * $Id$
1424 adx 30 */
1425     #define YY_NO_UNPUT 1
1426     #define YY_NEVER_INTERACTIVE 1
1427     #line 31 "ircd_lexer.l"
1428     #include "stdinc.h"
1429     #include "tools.h"
1430     #include "irc_string.h"
1431     #include "common.h"
1432     #include "s_conf.h"
1433     #include "memory.h"
1434     #include "hostmask.h"
1435     #include "s_log.h"
1436    
1437     #include "y.tab.h"
1438    
1439     #undef YY_INPUT
1440     #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg)
1441     #define YY_INPUT(buf,result,max_size) \
1442     if (!(result = conf_fbgets(buf, max_size, conf_fbfile_in))) \
1443     YY_FATAL_ERROR("input in flex scanner failed");
1444     #define MAX_INCLUDE_DEPTH 10
1445    
1446    
1447     unsigned int lineno = 1;
1448     char linebuf[IRCD_BUFSIZE];
1449     char conffilebuf[IRCD_BUFSIZE];
1450    
1451     static int include_stack_ptr = 0;
1452     static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1453     static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1454     static FBFILE *inc_fbfile_in[MAX_INCLUDE_DEPTH];
1455     static char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE];
1456     static void ccomment(void);
1457     static void cinclude(void);
1458     static int ieof(void);
1459     #line 1460 "lex.yy.c"
1460    
1461     /* Macros after this point can all be overridden by user definitions in
1462     * section 1.
1463     */
1464    
1465     #ifndef YY_SKIP_YYWRAP
1466     #ifdef __cplusplus
1467     extern "C" int yywrap YY_PROTO(( void ));
1468     #else
1469     extern int yywrap YY_PROTO(( void ));
1470     #endif
1471     #endif
1472    
1473     #ifndef YY_NO_UNPUT
1474     static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1475     #endif
1476    
1477     #ifndef yytext_ptr
1478     static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1479     #endif
1480    
1481     #ifdef YY_NEED_STRLEN
1482     static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1483     #endif
1484    
1485     #ifndef YY_NO_INPUT
1486     #ifdef __cplusplus
1487     static int yyinput YY_PROTO(( void ));
1488     #else
1489     static int input YY_PROTO(( void ));
1490     #endif
1491     #endif
1492    
1493     #if YY_STACK_USED
1494     static int yy_start_stack_ptr = 0;
1495     static int yy_start_stack_depth = 0;
1496     static int *yy_start_stack = 0;
1497     #ifndef YY_NO_PUSH_STATE
1498     static void yy_push_state YY_PROTO(( int new_state ));
1499     #endif
1500     #ifndef YY_NO_POP_STATE
1501     static void yy_pop_state YY_PROTO(( void ));
1502     #endif
1503     #ifndef YY_NO_TOP_STATE
1504     static int yy_top_state YY_PROTO(( void ));
1505     #endif
1506    
1507     #else
1508     #define YY_NO_PUSH_STATE 1
1509     #define YY_NO_POP_STATE 1
1510     #define YY_NO_TOP_STATE 1
1511     #endif
1512    
1513     #ifdef YY_MALLOC_DECL
1514     YY_MALLOC_DECL
1515     #else
1516     #if __STDC__
1517     #ifndef __cplusplus
1518     #include <stdlib.h>
1519     #endif
1520     #else
1521     /* Just try to get by without declaring the routines. This will fail
1522     * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1523     * or sizeof(void*) != sizeof(int).
1524     */
1525     #endif
1526     #endif
1527    
1528     /* Amount of stuff to slurp up with each read. */
1529     #ifndef YY_READ_BUF_SIZE
1530     #define YY_READ_BUF_SIZE 8192
1531     #endif
1532    
1533     /* Copy whatever the last rule matched to the standard output. */
1534    
1535     #ifndef ECHO
1536     /* This used to be an fputs(), but since the string might contain NUL's,
1537     * we now use fwrite().
1538     */
1539     #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1540     #endif
1541    
1542     /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1543     * is returned in "result".
1544     */
1545     #ifndef YY_INPUT
1546     #define YY_INPUT(buf,result,max_size) \
1547     if ( yy_current_buffer->yy_is_interactive ) \
1548     { \
1549     int c = '*', n; \
1550     for ( n = 0; n < max_size && \
1551     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1552     buf[n] = (char) c; \
1553     if ( c == '\n' ) \
1554     buf[n++] = (char) c; \
1555     if ( c == EOF && ferror( yyin ) ) \
1556     YY_FATAL_ERROR( "input in flex scanner failed" ); \
1557     result = n; \
1558     } \
1559     else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1560     && ferror( yyin ) ) \
1561     YY_FATAL_ERROR( "input in flex scanner failed" );
1562     #endif
1563    
1564     /* No semi-colon after return; correct usage is to write "yyterminate();" -
1565     * we don't want an extra ';' after the "return" because that will cause
1566     * some compilers to complain about unreachable statements.
1567     */
1568     #ifndef yyterminate
1569     #define yyterminate() return YY_NULL
1570     #endif
1571    
1572     /* Number of entries by which start-condition stack grows. */
1573     #ifndef YY_START_STACK_INCR
1574     #define YY_START_STACK_INCR 25
1575     #endif
1576    
1577     /* Report a fatal error. */
1578     #ifndef YY_FATAL_ERROR
1579     #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1580     #endif
1581    
1582     /* Default declaration of generated scanner - a define so the user can
1583     * easily add parameters.
1584     */
1585     #ifndef YY_DECL
1586     #define YY_DECL int yylex YY_PROTO(( void ))
1587     #endif
1588    
1589     /* Code executed at the beginning of each rule, after yytext and yyleng
1590     * have been set up.
1591     */
1592     #ifndef YY_USER_ACTION
1593     #define YY_USER_ACTION
1594     #endif
1595    
1596     /* Code executed at the end of each rule. */
1597     #ifndef YY_BREAK
1598     #define YY_BREAK break;
1599     #endif
1600    
1601     #define YY_RULE_SETUP \
1602     YY_USER_ACTION
1603    
1604     YY_DECL
1605     {
1606     register yy_state_type yy_current_state;
1607     register char *yy_cp, *yy_bp;
1608     register int yy_act;
1609    
1610     #line 70 "ircd_lexer.l"
1611    
1612     #line 1613 "lex.yy.c"
1613    
1614     if ( yy_init )
1615     {
1616     yy_init = 0;
1617    
1618     #ifdef YY_USER_INIT
1619     YY_USER_INIT;
1620     #endif
1621    
1622     if ( ! yy_start )
1623     yy_start = 1; /* first start state */
1624    
1625     if ( ! yyin )
1626     yyin = stdin;
1627    
1628     if ( ! yyout )
1629     yyout = stdout;
1630    
1631     if ( ! yy_current_buffer )
1632     yy_current_buffer =
1633     yy_create_buffer( yyin, YY_BUF_SIZE );
1634    
1635     yy_load_buffer_state();
1636     }
1637    
1638     while ( 1 ) /* loops until end-of-file is reached */
1639     {
1640     yy_more_len = 0;
1641     if ( yy_more_flag )
1642     {
1643     yy_more_len = yy_c_buf_p - yytext_ptr;
1644     yy_more_flag = 0;
1645     }
1646     yy_cp = yy_c_buf_p;
1647    
1648     /* Support of yytext. */
1649     *yy_cp = yy_hold_char;
1650    
1651     /* yy_bp points to the position in yy_ch_buf of the start of
1652     * the current run.
1653     */
1654     yy_bp = yy_cp;
1655    
1656     yy_current_state = yy_start;
1657     yy_match:
1658     do
1659     {
1660     register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1661     if ( yy_accept[yy_current_state] )
1662     {
1663     yy_last_accepting_state = yy_current_state;
1664     yy_last_accepting_cpos = yy_cp;
1665     }
1666     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1667     {
1668     yy_current_state = (int) yy_def[yy_current_state];
1669     if ( yy_current_state >= 1840 )
1670     yy_c = yy_meta[(unsigned int) yy_c];
1671     }
1672     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1673     ++yy_cp;
1674     }
1675     while ( yy_base[yy_current_state] != 1861 );
1676    
1677     yy_find_action:
1678     yy_act = yy_accept[yy_current_state];
1679     if ( yy_act == 0 )
1680     { /* have to back up */
1681     yy_cp = yy_last_accepting_cpos;
1682     yy_current_state = yy_last_accepting_state;
1683     yy_act = yy_accept[yy_current_state];
1684     }
1685    
1686     YY_DO_BEFORE_ACTION;
1687    
1688    
1689     do_action: /* This label is used only to access EOF actions. */
1690    
1691    
1692     switch ( yy_act )
1693     { /* beginning of action switch */
1694     case 0: /* must back up */
1695     /* undo the effects of YY_DO_BEFORE_ACTION */
1696     *yy_cp = yy_hold_char;
1697     yy_cp = yy_last_accepting_cpos;
1698     yy_current_state = yy_last_accepting_state;
1699     goto yy_find_action;
1700    
1701     case 1:
1702     YY_RULE_SETUP
1703     #line 71 "ircd_lexer.l"
1704     { cinclude(); }
1705     YY_BREAK
1706     case 2:
1707     YY_RULE_SETUP
1708     #line 72 "ircd_lexer.l"
1709     { ccomment(); }
1710     YY_BREAK
1711     case 3:
1712     YY_RULE_SETUP
1713     #line 74 "ircd_lexer.l"
1714     { strcpy(linebuf, yytext+1); ++lineno; yyless(1); }
1715     YY_BREAK
1716     case 4:
1717     YY_RULE_SETUP
1718     #line 76 "ircd_lexer.l"
1719     ;
1720     YY_BREAK
1721     case 5:
1722     YY_RULE_SETUP
1723     #line 77 "ircd_lexer.l"
1724     ;
1725     YY_BREAK
1726     case 6:
1727     YY_RULE_SETUP
1728     #line 79 "ircd_lexer.l"
1729     { yylval.number = atoi(yytext); return NUMBER; }
1730     YY_BREAK
1731     case 7:
1732     YY_RULE_SETUP
1733     #line 81 "ircd_lexer.l"
1734     { if (yytext[yyleng-2] == '\\')
1735     {
1736     yyless(yyleng-1); /* return last quote */
1737     yymore(); /* append next string */
1738     }
1739     else
1740     {
1741     yylval.string = yytext+1;
1742     if(yylval.string[yyleng-2] != '"')
1743     ilog(L_ERROR, "Unterminated character string");
1744     else
1745     {
1746     int i,j;
1747    
1748     yylval.string[yyleng-2] = '\0'; /* remove close
1749     * quote
1750     */
1751    
1752     for (j=i=0 ;yylval.string[i] != '\0'; i++,j++)
1753     {
1754     if (yylval.string[i] != '\\')
1755     {
1756     yylval.string[j] = yylval.string[i];
1757     }
1758     else
1759     {
1760     i++;
1761     if (yylval.string[i] == '\0') /* XXX
1762     * should not
1763     * happen
1764     */
1765     {
1766     ilog(L_ERROR,
1767     "Unterminated character string");
1768     break;
1769     }
1770     yylval.string[j] = yylval.string[i];
1771     }
1772     }
1773     yylval.string[j] = '\0';
1774     return QSTRING;
1775     }
1776     }
1777     }
1778     YY_BREAK
1779     case 8:
1780     YY_RULE_SETUP
1781     #line 126 "ircd_lexer.l"
1782     { return NOT; }
1783     YY_BREAK
1784     case 9:
1785     YY_RULE_SETUP
1786     #line 127 "ircd_lexer.l"
1787     { return ACCEPT_PASSWORD; }
1788     YY_BREAK
1789     case 10:
1790     YY_RULE_SETUP
1791     #line 128 "ircd_lexer.l"
1792     { return ACTION; }
1793     YY_BREAK
1794     case 11:
1795     YY_RULE_SETUP
1796     #line 129 "ircd_lexer.l"
1797     { return ADMIN; }
1798     YY_BREAK
1799     case 12:
1800     YY_RULE_SETUP
1801     #line 130 "ircd_lexer.l"
1802     { return ADMIN; }
1803     YY_BREAK
1804     case 13:
1805     YY_RULE_SETUP
1806     #line 131 "ircd_lexer.l"
1807     { return AFTYPE; }
1808     YY_BREAK
1809     case 14:
1810     YY_RULE_SETUP
1811     #line 132 "ircd_lexer.l"
1812     { return T_ALL; }
1813     YY_BREAK
1814     case 15:
1815     YY_RULE_SETUP
1816     #line 133 "ircd_lexer.l"
1817     { return T_ALLOW; }
1818     YY_BREAK
1819     case 16:
1820     YY_RULE_SETUP
1821     #line 134 "ircd_lexer.l"
1822     { return IRCD_AUTH; }
1823     YY_BREAK
1824     case 17:
1825     YY_RULE_SETUP
1826     #line 135 "ircd_lexer.l"
1827     { return AUTOCONN; }
1828     YY_BREAK
1829     case 18:
1830     YY_RULE_SETUP
1831     #line 136 "ircd_lexer.l"
1832     { return T_BLOCK; }
1833     YY_BREAK
1834     case 19:
1835     YY_RULE_SETUP
1836     #line 137 "ircd_lexer.l"
1837     { return BURST_AWAY; }
1838     YY_BREAK
1839     case 20:
1840     YY_RULE_SETUP
1841     #line 138 "ircd_lexer.l"
1842     { return BURST_TOPICWHO; }
1843     YY_BREAK
1844     case 21:
1845     YY_RULE_SETUP
1846     #line 139 "ircd_lexer.l"
1847     { return CAN_FLOOD; }
1848     YY_BREAK
1849     case 22:
1850     YY_RULE_SETUP
1851     #line 140 "ircd_lexer.l"
1852     { return CAN_IDLE; }
1853     YY_BREAK
1854     case 23:
1855     YY_RULE_SETUP
1856     #line 141 "ircd_lexer.l"
1857     { return CALLER_ID_WAIT; }
1858     YY_BREAK
1859     case 24:
1860     YY_RULE_SETUP
1861     #line 142 "ircd_lexer.l"
1862     { return OPERS_BYPASS_CALLERID; }
1863     YY_BREAK
1864     case 25:
1865     YY_RULE_SETUP
1866     #line 143 "ircd_lexer.l"
1867     { return CHANNEL; }
1868     YY_BREAK
1869     case 26:
1870     YY_RULE_SETUP
1871     #line 144 "ircd_lexer.l"
1872     { return CIDR_BITLEN_IPV4; }
1873     YY_BREAK
1874     case 27:
1875     YY_RULE_SETUP
1876     #line 145 "ircd_lexer.l"
1877     { return CIDR_BITLEN_IPV6; }
1878     YY_BREAK
1879     case 28:
1880     YY_RULE_SETUP
1881     #line 146 "ircd_lexer.l"
1882     { return CIPHER_PREFERENCE; }
1883     YY_BREAK
1884     case 29:
1885     YY_RULE_SETUP
1886     #line 147 "ircd_lexer.l"
1887     { return CLASS; }
1888     YY_BREAK
1889     case 30:
1890     YY_RULE_SETUP
1891     #line 148 "ircd_lexer.l"
1892     { return T_CLIENT_FLOOD; }
1893     YY_BREAK
1894     case 31:
1895     YY_RULE_SETUP
1896     #line 149 "ircd_lexer.l"
1897     { return T_CLUSTER; }
1898     YY_BREAK
1899     case 32:
1900     YY_RULE_SETUP
1901     #line 150 "ircd_lexer.l"
1902     { return COMPRESSED; }
1903     YY_BREAK
1904     case 33:
1905     YY_RULE_SETUP
1906     #line 151 "ircd_lexer.l"
1907     { return COMPRESSION_LEVEL; }
1908     YY_BREAK
1909     case 34:
1910     YY_RULE_SETUP
1911     #line 152 "ircd_lexer.l"
1912     { return CONNECT; }
1913     YY_BREAK
1914     case 35:
1915     YY_RULE_SETUP
1916     #line 153 "ircd_lexer.l"
1917     { return CONNECTFREQ; }
1918     YY_BREAK
1919     case 36:
1920     YY_RULE_SETUP
1921     #line 154 "ircd_lexer.l"
1922     { return CRYPTLINK; }
1923     YY_BREAK
1924     case 37:
1925     YY_RULE_SETUP
1926     #line 155 "ircd_lexer.l"
1927     { return DEFAULT_CIPHER_PREFERENCE; }
1928     YY_BREAK
1929     case 38:
1930     YY_RULE_SETUP
1931     #line 156 "ircd_lexer.l"
1932     { return DEFAULT_FLOODCOUNT; }
1933     YY_BREAK
1934     case 39:
1935     YY_RULE_SETUP
1936     #line 157 "ircd_lexer.l"
1937     { return DEFAULT_SPLIT_SERVER_COUNT; }
1938     YY_BREAK
1939     case 40:
1940     YY_RULE_SETUP
1941     #line 158 "ircd_lexer.l"
1942     { return DEFAULT_SPLIT_USER_COUNT; }
1943     YY_BREAK
1944     case 41:
1945     YY_RULE_SETUP
1946     #line 159 "ircd_lexer.l"
1947     { return DENY; }
1948     YY_BREAK
1949     case 42:
1950     YY_RULE_SETUP
1951     #line 160 "ircd_lexer.l"
1952     { return DESCRIPTION; }
1953     YY_BREAK
1954     case 43:
1955     YY_RULE_SETUP
1956     #line 161 "ircd_lexer.l"
1957     { return DIE; }
1958     YY_BREAK
1959     case 44:
1960     YY_RULE_SETUP
1961     #line 162 "ircd_lexer.l"
1962     { return DISABLE_AUTH; }
1963     YY_BREAK
1964     case 45:
1965     YY_RULE_SETUP
1966     #line 163 "ircd_lexer.l"
1967     { return DISABLE_HIDDEN; }
1968     YY_BREAK
1969     case 46:
1970     YY_RULE_SETUP
1971     #line 164 "ircd_lexer.l"
1972     { return DISABLE_LOCAL_CHANNELS; }
1973     YY_BREAK
1974     case 47:
1975     YY_RULE_SETUP
1976     #line 165 "ircd_lexer.l"
1977     { return DISABLE_REMOTE_COMMANDS; }
1978     YY_BREAK
1979     case 48:
1980     YY_RULE_SETUP
1981     #line 166 "ircd_lexer.l"
1982     { return DOT_IN_IP6_ADDR; }
1983     YY_BREAK
1984     case 49:
1985     YY_RULE_SETUP
1986     #line 167 "ircd_lexer.l"
1987     { return DOTS_IN_IDENT; }
1988     YY_BREAK
1989     case 50:
1990     YY_RULE_SETUP
1991     #line 168 "ircd_lexer.l"
1992     { return DURATION; }
1993     YY_BREAK
1994     case 51:
1995     YY_RULE_SETUP
1996     #line 169 "ircd_lexer.l"
1997     { return EGDPOOL_PATH; }
1998     YY_BREAK
1999     case 52:
2000     YY_RULE_SETUP
2001     #line 170 "ircd_lexer.l"
2002     { return EMAIL; }
2003     YY_BREAK
2004     case 53:
2005     YY_RULE_SETUP
2006     #line 171 "ircd_lexer.l"
2007     { return ENABLE; }
2008     YY_BREAK
2009     case 54:
2010     YY_RULE_SETUP
2011     #line 172 "ircd_lexer.l"
2012     { return ENCRYPTED; }
2013     YY_BREAK
2014     case 55:
2015     YY_RULE_SETUP
2016     #line 173 "ircd_lexer.l"
2017     { return EXCEED_LIMIT; }
2018     YY_BREAK
2019     case 56:
2020     YY_RULE_SETUP
2021     #line 174 "ircd_lexer.l"
2022     { return EXEMPT; }
2023     YY_BREAK
2024     case 57:
2025     YY_RULE_SETUP
2026     #line 175 "ircd_lexer.l"
2027     { return FAKENAME; }
2028     YY_BREAK
2029     case 58:
2030     YY_RULE_SETUP
2031     #line 176 "ircd_lexer.l"
2032     { return IRCD_FLAGS; }
2033     YY_BREAK
2034     case 59:
2035     YY_RULE_SETUP
2036     #line 177 "ircd_lexer.l"
2037     { return FLATTEN_LINKS; }
2038     YY_BREAK
2039     case 60:
2040     YY_RULE_SETUP
2041     #line 178 "ircd_lexer.l"
2042     { return FGLINELOG; }
2043     YY_BREAK
2044     case 61:
2045     YY_RULE_SETUP
2046     #line 179 "ircd_lexer.l"
2047     { return FGLINELOG; }
2048     YY_BREAK
2049     case 62:
2050     YY_RULE_SETUP
2051     #line 180 "ircd_lexer.l"
2052     { return FKILLLOG; }
2053     YY_BREAK
2054     case 63:
2055     YY_RULE_SETUP
2056     #line 181 "ircd_lexer.l"
2057     { return FIOERRLOG; }
2058     YY_BREAK
2059     case 64:
2060     YY_RULE_SETUP
2061     #line 182 "ircd_lexer.l"
2062     { return FIOERRLOG; }
2063     YY_BREAK
2064     case 65:
2065     YY_RULE_SETUP
2066     #line 183 "ircd_lexer.l"
2067     { return FKILLLOG; }
2068     YY_BREAK
2069     case 66:
2070     YY_RULE_SETUP
2071     #line 184 "ircd_lexer.l"
2072     { return FKLINELOG; }
2073     YY_BREAK
2074     case 67:
2075     YY_RULE_SETUP
2076     #line 185 "ircd_lexer.l"
2077     { return FKLINELOG; }
2078     YY_BREAK
2079     case 68:
2080     YY_RULE_SETUP
2081     #line 186 "ircd_lexer.l"
2082     { return FFAILED_OPERLOG; }
2083     YY_BREAK
2084     case 69:
2085     YY_RULE_SETUP
2086     #line 187 "ircd_lexer.l"
2087     { return FOPERLOG; }
2088     YY_BREAK
2089     case 70:
2090     YY_RULE_SETUP
2091     #line 188 "ircd_lexer.l"
2092     { return FOPERLOG; }
2093     YY_BREAK
2094     case 71:
2095     YY_RULE_SETUP
2096     #line 189 "ircd_lexer.l"
2097     { return FUSERLOG; }
2098     YY_BREAK
2099     case 72:
2100     YY_RULE_SETUP
2101     #line 190 "ircd_lexer.l"
2102     { return FUSERLOG; }
2103     YY_BREAK
2104     case 73:
2105     YY_RULE_SETUP
2106     #line 191 "ircd_lexer.l"
2107     { return GECOS; }
2108     YY_BREAK
2109     case 74:
2110     YY_RULE_SETUP
2111     #line 192 "ircd_lexer.l"
2112     { return GENERAL; }
2113     YY_BREAK
2114     case 75:
2115     YY_RULE_SETUP
2116     #line 193 "ircd_lexer.l"
2117     { return GLINE; }
2118     YY_BREAK
2119     case 76:
2120     YY_RULE_SETUP
2121     #line 194 "ircd_lexer.l"
2122     { return GLINES; }
2123     YY_BREAK
2124     case 77:
2125     YY_RULE_SETUP
2126     #line 195 "ircd_lexer.l"
2127     { return GLINE_EXEMPT; }
2128     YY_BREAK
2129     case 78:
2130     YY_RULE_SETUP
2131     #line 196 "ircd_lexer.l"
2132     { return GLINE_MIN_CIDR; }
2133     YY_BREAK
2134     case 79:
2135     YY_RULE_SETUP
2136     #line 197 "ircd_lexer.l"
2137     { return GLINE_MIN_CIDR6; }
2138     YY_BREAK
2139     case 80:
2140     YY_RULE_SETUP
2141     #line 198 "ircd_lexer.l"
2142     { return GLOBAL_KILL; }
2143     YY_BREAK
2144     case 81:
2145     YY_RULE_SETUP
2146     #line 199 "ircd_lexer.l"
2147     { return NEED_IDENT; }
2148     YY_BREAK
2149     case 82:
2150     YY_RULE_SETUP
2151     #line 200 "ircd_lexer.l"
2152     { return NEED_IDENT; }
2153     YY_BREAK
2154     case 83:
2155     YY_RULE_SETUP
2156     #line 201 "ircd_lexer.l"
2157     { return HAVENT_READ_CONF; }
2158     YY_BREAK
2159     case 84:
2160     YY_RULE_SETUP
2161     #line 202 "ircd_lexer.l"
2162     { return HIDDEN; }
2163     YY_BREAK
2164     case 85:
2165     YY_RULE_SETUP
2166     #line 203 "ircd_lexer.l"
2167     { return HIDDEN_ADMIN; }
2168     YY_BREAK
2169     case 86:
2170     YY_RULE_SETUP
2171     #line 204 "ircd_lexer.l"
2172     { return HIDDEN_NAME; }
2173     YY_BREAK
2174     case 87:
2175     YY_RULE_SETUP
2176     #line 205 "ircd_lexer.l"
2177     { return HIDDEN_OPER; }
2178     YY_BREAK
2179     case 88:
2180     YY_RULE_SETUP
2181     #line 206 "ircd_lexer.l"
2182     { return HIDE_SERVER_IPS; }
2183     YY_BREAK
2184     case 89:
2185     YY_RULE_SETUP
2186     #line 207 "ircd_lexer.l"
2187     { return HIDE_SERVERS; }
2188     YY_BREAK
2189     case 90:
2190     YY_RULE_SETUP
2191     #line 208 "ircd_lexer.l"
2192     { return HIDE_SPOOF_IPS; }
2193     YY_BREAK
2194     case 91:
2195     YY_RULE_SETUP
2196     #line 209 "ircd_lexer.l"
2197     { return HOST; }
2198     YY_BREAK
2199     case 92:
2200     YY_RULE_SETUP
2201     #line 210 "ircd_lexer.l"
2202     { return HUB; }
2203     YY_BREAK
2204     case 93:
2205     YY_RULE_SETUP
2206     #line 211 "ircd_lexer.l"
2207     { return HUB_MASK; }
2208     YY_BREAK
2209     case 94:
2210     YY_RULE_SETUP
2211     #line 212 "ircd_lexer.l"
2212     { return IDLETIME; }
2213     YY_BREAK
2214     case 95:
2215     YY_RULE_SETUP
2216     #line 213 "ircd_lexer.l"
2217     { return IGNORE_BOGUS_TS; }
2218     YY_BREAK
2219     case 96:
2220     YY_RULE_SETUP
2221     #line 214 "ircd_lexer.l"
2222     { return INVITE_OPS_ONLY; }
2223     YY_BREAK
2224     case 97:
2225     YY_RULE_SETUP
2226     #line 215 "ircd_lexer.l"
2227     { return INVISIBLE_ON_CONNECT; }
2228     YY_BREAK
2229     case 98:
2230     YY_RULE_SETUP
2231     #line 216 "ircd_lexer.l"
2232     { return IP; }
2233     YY_BREAK
2234     case 99:
2235     YY_RULE_SETUP
2236     #line 217 "ircd_lexer.l"
2237     { return T_IPV4; }
2238     YY_BREAK
2239     case 100:
2240     YY_RULE_SETUP
2241     #line 218 "ircd_lexer.l"
2242     { return T_IPV6; }
2243     YY_BREAK
2244     case 101:
2245     YY_RULE_SETUP
2246     #line 219 "ircd_lexer.l"
2247     { return JOIN_FLOOD_COUNT; }
2248     YY_BREAK
2249     case 102:
2250     YY_RULE_SETUP
2251     #line 220 "ircd_lexer.l"
2252     { return JOIN_FLOOD_TIME; }
2253     YY_BREAK
2254     case 103:
2255     YY_RULE_SETUP
2256     #line 221 "ircd_lexer.l"
2257     { return KILL; }
2258     YY_BREAK
2259     case 104:
2260     YY_RULE_SETUP
2261     #line 222 "ircd_lexer.l"
2262     { return KILL_CHASE_TIME_LIMIT; }
2263     YY_BREAK
2264     case 105:
2265     YY_RULE_SETUP
2266     #line 223 "ircd_lexer.l"
2267     { return KLINE; }
2268     YY_BREAK
2269     case 106:
2270     YY_RULE_SETUP
2271     #line 224 "ircd_lexer.l"
2272     { return KLINE_EXEMPT; }
2273     YY_BREAK
2274     case 107:
2275     YY_RULE_SETUP
2276     #line 225 "ircd_lexer.l"
2277     { return T_L_CRIT; }
2278     YY_BREAK
2279     case 108:
2280     YY_RULE_SETUP
2281     #line 226 "ircd_lexer.l"
2282     { return T_L_DEBUG; }
2283     YY_BREAK
2284     case 109:
2285     YY_RULE_SETUP
2286     #line 227 "ircd_lexer.l"
2287     { return T_L_ERROR; }
2288     YY_BREAK
2289     case 110:
2290     YY_RULE_SETUP
2291     #line 228 "ircd_lexer.l"
2292     { return T_L_INFO; }
2293     YY_BREAK
2294     case 111:
2295     YY_RULE_SETUP
2296     #line 229 "ircd_lexer.l"
2297     { return T_L_NOTICE; }
2298     YY_BREAK
2299     case 112:
2300     YY_RULE_SETUP
2301     #line 230 "ircd_lexer.l"
2302     { return T_L_TRACE; }
2303     YY_BREAK
2304     case 113:
2305     YY_RULE_SETUP
2306     #line 231 "ircd_lexer.l"
2307     { return T_L_WARN; }
2308     YY_BREAK
2309     case 114:
2310     YY_RULE_SETUP
2311     #line 232 "ircd_lexer.l"
2312     { return LAZYLINK; }
2313     YY_BREAK
2314     case 115:
2315     YY_RULE_SETUP
2316     #line 233 "ircd_lexer.l"
2317     { return LEAF_MASK; }
2318     YY_BREAK
2319     case 116:
2320     YY_RULE_SETUP
2321     #line 234 "ircd_lexer.l"
2322     { return LISTEN; }
2323     YY_BREAK
2324     case 117:
2325     YY_RULE_SETUP
2326     #line 235 "ircd_lexer.l"
2327     { return LOG_LEVEL; }
2328     YY_BREAK
2329     case 118:
2330     YY_RULE_SETUP
2331     #line 236 "ircd_lexer.l"
2332     { return LOGGING; }
2333     YY_BREAK
2334     case 119:
2335     YY_RULE_SETUP
2336     #line 237 "ircd_lexer.l"
2337     { return LOGGING; }
2338     YY_BREAK
2339     case 120:
2340     YY_RULE_SETUP
2341     #line 238 "ircd_lexer.l"
2342     { return T_LOGPATH; }
2343     YY_BREAK
2344     case 121:
2345     YY_RULE_SETUP
2346     #line 239 "ircd_lexer.l"
2347     { return TMASKED; }
2348     YY_BREAK
2349     case 122:
2350     YY_RULE_SETUP
2351     #line 240 "ircd_lexer.l"
2352     { return T_MAX_CLIENTS; }
2353     YY_BREAK
2354     case 123:
2355     YY_RULE_SETUP
2356     #line 241 "ircd_lexer.l"
2357     { return MAX_IDENT; }
2358     YY_BREAK
2359     case 124:
2360     YY_RULE_SETUP
2361     #line 242 "ircd_lexer.l"
2362     { return MAX_LOCAL; }
2363     YY_BREAK
2364     case 125:
2365     YY_RULE_SETUP
2366     #line 243 "ircd_lexer.l"
2367     { return MAX_GLOBAL; }
2368     YY_BREAK
2369     case 126:
2370     YY_RULE_SETUP
2371     #line 244 "ircd_lexer.l"
2372     { return MAX_NUMBER; }
2373     YY_BREAK
2374     case 127:
2375     YY_RULE_SETUP
2376     #line 245 "ircd_lexer.l"
2377     { return MESSAGE_LOCALE; }
2378     YY_BREAK
2379     case 128:
2380     YY_RULE_SETUP
2381     #line 246 "ircd_lexer.l"
2382     { return MIN_NONWILDCARD; }
2383     YY_BREAK
2384     case 129:
2385     YY_RULE_SETUP
2386     #line 247 "ircd_lexer.l"
2387     { return MIN_NONWILDCARD_SIMPLE; }
2388     YY_BREAK
2389     case 130:
2390     YY_RULE_SETUP
2391     #line 248 "ircd_lexer.l"
2392     { return NAME; }
2393     YY_BREAK
2394     case 131:
2395     YY_RULE_SETUP
2396     #line 249 "ircd_lexer.l"
2397     { return NEED_PASSWORD; }
2398     YY_BREAK
2399     case 132:
2400     YY_RULE_SETUP
2401     #line 250 "ircd_lexer.l"
2402     { return NETWORK_DESC; }
2403     YY_BREAK
2404     case 133:
2405     YY_RULE_SETUP
2406     #line 251 "ircd_lexer.l"
2407     { return NETWORK_NAME; }
2408     YY_BREAK
2409     case 134:
2410     YY_RULE_SETUP
2411     #line 252 "ircd_lexer.l"
2412     { return NICK; }
2413     YY_BREAK
2414     case 135:
2415     YY_RULE_SETUP
2416     #line 253 "ircd_lexer.l"
2417     { return NICK_CHANGES; }
2418     YY_BREAK
2419     case 136:
2420     YY_RULE_SETUP
2421     #line 254 "ircd_lexer.l"
2422     { yylval.number = NO; return TBOOL; }
2423     YY_BREAK
2424     case 137:
2425     YY_RULE_SETUP
2426     #line 255 "ircd_lexer.l"
2427     { return NO_CREATE_ON_SPLIT; }
2428     YY_BREAK
2429     case 138:
2430     YY_RULE_SETUP
2431     #line 256 "ircd_lexer.l"
2432     { return NO_JOIN_ON_SPLIT; }
2433     YY_BREAK
2434     case 139:
2435     YY_RULE_SETUP
2436     #line 257 "ircd_lexer.l"
2437     { return NO_OPER_FLOOD; }
2438     YY_BREAK
2439     case 140:
2440     YY_RULE_SETUP
2441     #line 258 "ircd_lexer.l"
2442     { return NO_TILDE; }
2443     YY_BREAK
2444     case 141:
2445     YY_RULE_SETUP
2446     #line 259 "ircd_lexer.l"
2447     { return NUMBER_PER_CIDR; }
2448     YY_BREAK
2449     case 142:
2450     YY_RULE_SETUP
2451     #line 260 "ircd_lexer.l"
2452     { return NUMBER_PER_IP; }
2453     YY_BREAK
2454     case 143:
2455     YY_RULE_SETUP
2456     #line 261 "ircd_lexer.l"
2457     { return OPERATOR; }
2458     YY_BREAK
2459     case 144:
2460     YY_RULE_SETUP
2461     #line 262 "ircd_lexer.l"
2462     { return OPER_LOG; }
2463     YY_BREAK
2464     case 145:
2465     YY_RULE_SETUP
2466     #line 263 "ircd_lexer.l"
2467     { return OPER_PASS_RESV; }
2468     YY_BREAK
2469     case 146:
2470     YY_RULE_SETUP
2471     #line 264 "ircd_lexer.l"
2472     { return OPERATOR; }
2473     YY_BREAK
2474     case 147:
2475     YY_RULE_SETUP
2476     #line 265 "ircd_lexer.l"
2477     { return PASSWORD; }
2478     YY_BREAK
2479     case 148:
2480     YY_RULE_SETUP
2481     #line 266 "ircd_lexer.l"
2482     { return PASSWORD; }
2483     YY_BREAK
2484     case 149:
2485     YY_RULE_SETUP
2486     #line 267 "ircd_lexer.l"
2487     { return PING_COOKIE; }
2488     YY_BREAK
2489     case 150:
2490     YY_RULE_SETUP
2491     #line 268 "ircd_lexer.l"
2492     { return PING_TIME; }
2493     YY_BREAK
2494     case 151:
2495     YY_RULE_SETUP
2496     #line 269 "ircd_lexer.l"
2497     { return PING_WARNING; }
2498     YY_BREAK
2499     case 152:
2500     YY_RULE_SETUP
2501     #line 270 "ircd_lexer.l"
2502     { return PORT; }
2503     YY_BREAK
2504     case 153:
2505     YY_RULE_SETUP
2506     #line 271 "ircd_lexer.l"
2507     { return RESV; }
2508     YY_BREAK
2509     case 154:
2510     YY_RULE_SETUP
2511     #line 272 "ircd_lexer.l"
2512     { return QUIET_ON_BAN; }
2513     YY_BREAK
2514     case 155:
2515     YY_RULE_SETUP
2516     #line 273 "ircd_lexer.l"
2517     { return REASON; }
2518     YY_BREAK
2519     case 156:
2520     YY_RULE_SETUP
2521     #line 274 "ircd_lexer.l"
2522     { return REDIRPORT; }
2523     YY_BREAK
2524     case 157:
2525     YY_RULE_SETUP
2526     #line 275 "ircd_lexer.l"
2527     { return REDIRSERV; }
2528     YY_BREAK
2529     case 158:
2530     YY_RULE_SETUP
2531     #line 276 "ircd_lexer.l"
2532     { return REGEX_T; }
2533     YY_BREAK
2534     case 159:
2535     YY_RULE_SETUP
2536     #line 277 "ircd_lexer.l"
2537     { return REHASH; }
2538     YY_BREAK
2539     case 160:
2540     YY_RULE_SETUP
2541     #line 278 "ircd_lexer.l"
2542     { return T_REJECT; }
2543     YY_BREAK
2544     case 161:
2545     YY_RULE_SETUP
2546     #line 279 "ircd_lexer.l"
2547     { return TREJECT_HOLD_TIME; }
2548     YY_BREAK
2549     case 162:
2550     YY_RULE_SETUP
2551     #line 280 "ircd_lexer.l"
2552     { return REMOTE; }
2553     YY_BREAK
2554     case 163:
2555     YY_RULE_SETUP
2556     #line 281 "ircd_lexer.l"
2557     { return REMOTEBAN; }
2558     YY_BREAK
2559     case 164:
2560     YY_RULE_SETUP
2561     #line 282 "ircd_lexer.l"
2562     { return RESTRICT_CHANNELS; }
2563     YY_BREAK
2564     case 165:
2565     YY_RULE_SETUP
2566     #line 283 "ircd_lexer.l"
2567     { return RESV; }
2568     YY_BREAK
2569     case 166:
2570     YY_RULE_SETUP
2571     #line 284 "ircd_lexer.l"
2572     { return RESV_EXEMPT; }
2573     YY_BREAK
2574     case 167:
2575     YY_RULE_SETUP
2576     #line 285 "ircd_lexer.l"
2577     { return RSA_PRIVATE_KEY_FILE; }
2578     YY_BREAK
2579     case 168:
2580     YY_RULE_SETUP
2581     #line 286 "ircd_lexer.l"
2582     { return RSA_PUBLIC_KEY_FILE; }
2583     YY_BREAK
2584     case 169:
2585     YY_RULE_SETUP
2586     #line 287 "ircd_lexer.l"
2587     { return T_SSL; }
2588     YY_BREAK
2589     case 170:
2590     YY_RULE_SETUP
2591     #line 288 "ircd_lexer.l"
2592     { return SSL_CERTIFICATE_FILE; }
2593     YY_BREAK
2594     case 171:
2595     YY_RULE_SETUP
2596     #line 289 "ircd_lexer.l"
2597     { return SEND_PASSWORD; }
2598     YY_BREAK
2599     case 172:
2600     YY_RULE_SETUP
2601     #line 290 "ircd_lexer.l"
2602     { return SENDQ; }
2603     YY_BREAK
2604     case 173:
2605     YY_RULE_SETUP
2606     #line 291 "ircd_lexer.l"
2607     { return SERVERHIDE; }
2608     YY_BREAK
2609     case 174:
2610     YY_RULE_SETUP
2611     #line 292 "ircd_lexer.l"
2612     { return SERVERINFO; }
2613     YY_BREAK
2614     case 175:
2615     YY_RULE_SETUP
2616     #line 293 "ircd_lexer.l"
2617     { return SERVLINK_PATH; }
2618     YY_BREAK
2619     case 176:
2620     YY_RULE_SETUP
2621     #line 294 "ircd_lexer.l"
2622     { return T_SHARED; }
2623     YY_BREAK
2624     case 177:
2625     YY_RULE_SETUP
2626     #line 295 "ircd_lexer.l"
2627     { return SHORT_MOTD; }
2628     YY_BREAK
2629     case 178:
2630     YY_RULE_SETUP
2631     #line 296 "ircd_lexer.l"
2632     { return IRCD_SID; }
2633     YY_BREAK
2634     case 179:
2635     YY_RULE_SETUP
2636     #line 297 "ircd_lexer.l"
2637     { return SILENT; }
2638     YY_BREAK
2639     case 180:
2640     YY_RULE_SETUP
2641     #line 298 "ircd_lexer.l"
2642     { return SPOOF; }
2643     YY_BREAK
2644     case 181:
2645     YY_RULE_SETUP
2646     #line 299 "ircd_lexer.l"
2647     { return SPOOF_NOTICE; }
2648     YY_BREAK
2649     case 182:
2650     YY_RULE_SETUP
2651     #line 300 "ircd_lexer.l"
2652     { return TKLINE_EXPIRE_NOTICES; }
2653     YY_BREAK
2654     case 183:
2655     YY_RULE_SETUP
2656     #line 301 "ircd_lexer.l"
2657     { return TYPE; }
2658     YY_BREAK
2659     case 184:
2660     YY_RULE_SETUP
2661     #line 302 "ircd_lexer.l"
2662     { return TRUE_NO_OPER_FLOOD; }
2663     YY_BREAK
2664     case 185:
2665     YY_RULE_SETUP
2666     #line 303 "ircd_lexer.l"
2667     { return UNKLINE; }
2668     YY_BREAK
2669     case 186:
2670     YY_RULE_SETUP
2671     #line 304 "ircd_lexer.l"
2672     { return USE_EGD; }
2673     YY_BREAK
2674     case 187:
2675     YY_RULE_SETUP
2676     #line 305 "ircd_lexer.l"
2677     { return USE_EXCEPT; }
2678     YY_BREAK
2679     case 188:
2680     YY_RULE_SETUP
2681     #line 306 "ircd_lexer.l"
2682     { return USE_INVEX; }
2683     YY_BREAK
2684     case 189:
2685     YY_RULE_SETUP
2686     #line 307 "ircd_lexer.l"
2687     { return USE_KNOCK; }
2688     YY_BREAK
2689     case 190:
2690     YY_RULE_SETUP
2691     #line 308 "ircd_lexer.l"
2692     { return USE_LOGGING; }
2693     YY_BREAK
2694     case 191:
2695     YY_RULE_SETUP
2696     #line 309 "ircd_lexer.l"
2697     { return USE_WHOIS_ACTUALLY; }
2698     YY_BREAK
2699     case 192:
2700     YY_RULE_SETUP
2701     #line 310 "ircd_lexer.l"
2702     { return THROTTLE_TIME; }
2703     YY_BREAK
2704     case 193:
2705     YY_RULE_SETUP
2706     #line 311 "ircd_lexer.l"
2707     { return USER; }
2708     YY_BREAK
2709     case 194:
2710     YY_RULE_SETUP
2711     #line 312 "ircd_lexer.l"
2712     { return TKLINE; }
2713     YY_BREAK
2714     case 195:
2715     YY_RULE_SETUP
2716     #line 313 "ircd_lexer.l"
2717     { return TXLINE; }
2718     YY_BREAK
2719     case 196:
2720     YY_RULE_SETUP
2721     #line 314 "ircd_lexer.l"
2722     { return TRESV; }
2723     YY_BREAK
2724     case 197:
2725     YY_RULE_SETUP
2726     #line 315 "ircd_lexer.l"
2727     { return VHOST; }
2728     YY_BREAK
2729     case 198:
2730     YY_RULE_SETUP
2731     #line 316 "ircd_lexer.l"
2732     { return VHOST6; }
2733     YY_BREAK
2734     case 199:
2735     YY_RULE_SETUP
2736     #line 317 "ircd_lexer.l"
2737     { return WARN; }
2738     YY_BREAK
2739     case 200:
2740     YY_RULE_SETUP
2741     #line 318 "ircd_lexer.l"
2742     { return XLINE; }
2743     YY_BREAK
2744     case 201:
2745     YY_RULE_SETUP
2746     #line 319 "ircd_lexer.l"
2747     { yylval.number = YES; return TBOOL; }
2748     YY_BREAK
2749     case 202:
2750     YY_RULE_SETUP
2751     #line 321 "ircd_lexer.l"
2752     { return FAILED_OPER_NOTICE; }
2753     YY_BREAK
2754     case 203:
2755     YY_RULE_SETUP
2756     #line 322 "ircd_lexer.l"
2757     { return MAX_ACCEPT; }
2758     YY_BREAK
2759     case 204:
2760     YY_RULE_SETUP
2761     #line 323 "ircd_lexer.l"
2762     { return MAX_NICK_CHANGES; }
2763     YY_BREAK
2764     case 205:
2765     YY_RULE_SETUP
2766     #line 324 "ircd_lexer.l"
2767     { return MAX_CHANS_PER_USER; }
2768     YY_BREAK
2769     case 206:
2770     YY_RULE_SETUP
2771     #line 325 "ircd_lexer.l"
2772     { return MAX_NICK_TIME; }
2773     YY_BREAK
2774     case 207:
2775     YY_RULE_SETUP
2776     #line 326 "ircd_lexer.l"
2777     { return ANTI_NICK_FLOOD; }
2778     YY_BREAK
2779     case 208:
2780     YY_RULE_SETUP
2781     #line 327 "ircd_lexer.l"
2782     { return ANTI_SPAM_EXIT_MESSAGE_TIME; }
2783     YY_BREAK
2784     case 209:
2785     YY_RULE_SETUP
2786     #line 328 "ircd_lexer.l"
2787     { return TS_MAX_DELTA; }
2788     YY_BREAK
2789     case 210:
2790     YY_RULE_SETUP
2791     #line 329 "ircd_lexer.l"
2792     { return TS_WARN_DELTA; }
2793     YY_BREAK
2794     case 211:
2795     YY_RULE_SETUP
2796     #line 330 "ircd_lexer.l"
2797     { return LINKS_DELAY; }
2798     YY_BREAK
2799     case 212:
2800     YY_RULE_SETUP
2801     #line 331 "ircd_lexer.l"
2802     { return KLINE_REASON; }
2803     YY_BREAK
2804     case 213:
2805     YY_RULE_SETUP
2806     #line 332 "ircd_lexer.l"
2807     { return KLINE_WITH_REASON; }
2808     YY_BREAK
2809     case 214:
2810     YY_RULE_SETUP
2811     #line 333 "ircd_lexer.l"
2812     { return WARN_NO_NLINE; }
2813     YY_BREAK
2814     case 215:
2815     YY_RULE_SETUP
2816     #line 335 "ircd_lexer.l"
2817     { return STATS_O_OPER_ONLY; }
2818     YY_BREAK
2819     case 216:
2820     YY_RULE_SETUP
2821     #line 336 "ircd_lexer.l"
2822     { return STATS_K_OPER_ONLY; }
2823     YY_BREAK
2824     case 217:
2825     YY_RULE_SETUP
2826     #line 337 "ircd_lexer.l"
2827     { return STATS_I_OPER_ONLY; }
2828     YY_BREAK
2829     case 218:
2830     YY_RULE_SETUP
2831     #line 338 "ircd_lexer.l"
2832     { return STATS_P_OPER_ONLY; }
2833     YY_BREAK
2834     case 219:
2835     YY_RULE_SETUP
2836     #line 339 "ircd_lexer.l"
2837     { return PACE_WAIT; }
2838     YY_BREAK
2839     case 220:
2840     YY_RULE_SETUP
2841     #line 340 "ircd_lexer.l"
2842     { return PACE_WAIT_SIMPLE; }
2843     YY_BREAK
2844     case 221:
2845     YY_RULE_SETUP
2846     #line 341 "ircd_lexer.l"
2847     { return KNOCK_DELAY; }
2848     YY_BREAK
2849     case 222:
2850     YY_RULE_SETUP
2851     #line 342 "ircd_lexer.l"
2852     { return KNOCK_DELAY_CHANNEL; }
2853     YY_BREAK
2854     case 223:
2855     YY_RULE_SETUP
2856     #line 343 "ircd_lexer.l"
2857     { return MAX_BANS; }
2858     YY_BREAK
2859     case 224:
2860     YY_RULE_SETUP
2861     #line 344 "ircd_lexer.l"
2862     { return MODULES; }
2863     YY_BREAK
2864     case 225:
2865     YY_RULE_SETUP
2866     #line 345 "ircd_lexer.l"
2867     { return MODULE; }
2868     YY_BREAK
2869     case 226:
2870     YY_RULE_SETUP
2871     #line 346 "ircd_lexer.l"
2872     { return PATH; }
2873     YY_BREAK
2874     case 227:
2875     YY_RULE_SETUP
2876     #line 347 "ircd_lexer.l"
2877     { return MAX_TARGETS; }
2878     YY_BREAK
2879     case 228:
2880     YY_RULE_SETUP
2881     #line 349 "ircd_lexer.l"
2882     { return T_UNXLINE; }
2883     YY_BREAK
2884     case 229:
2885     YY_RULE_SETUP
2886     #line 350 "ircd_lexer.l"
2887     { return T_UNRESV; }
2888     YY_BREAK
2889     case 230:
2890     YY_RULE_SETUP
2891     #line 352 "ircd_lexer.l"
2892     { return OPER_ONLY_UMODES; }
2893     YY_BREAK
2894     case 231:
2895     YY_RULE_SETUP
2896     #line 353 "ircd_lexer.l"
2897     { return OPER_UMODES; }
2898     YY_BREAK
2899     case 232:
2900     YY_RULE_SETUP
2901     #line 354 "ircd_lexer.l"
2902     { return T_BOTS; }
2903     YY_BREAK
2904     case 233:
2905     YY_RULE_SETUP
2906     #line 355 "ircd_lexer.l"
2907     { return T_CCONN; }
2908     YY_BREAK
2909     case 234:
2910     YY_RULE_SETUP
2911     #line 356 "ircd_lexer.l"
2912     { return T_DEAF; }
2913     YY_BREAK
2914     case 235:
2915     YY_RULE_SETUP
2916     #line 357 "ircd_lexer.l"
2917     { return T_DEBUG; }
2918     YY_BREAK
2919     case 236:
2920     YY_RULE_SETUP
2921     #line 358 "ircd_lexer.l"
2922     { return T_FULL; }
2923     YY_BREAK
2924     case 237:
2925     YY_RULE_SETUP
2926     #line 359 "ircd_lexer.l"
2927     { return T_SKILL; }
2928     YY_BREAK
2929     case 238:
2930     YY_RULE_SETUP
2931     #line 360 "ircd_lexer.l"
2932     { return T_NCHANGE; }
2933     YY_BREAK
2934     case 239:
2935     YY_RULE_SETUP
2936     #line 361 "ircd_lexer.l"
2937     { return T_REJ; }
2938     YY_BREAK
2939     case 240:
2940     YY_RULE_SETUP
2941     #line 362 "ircd_lexer.l"
2942     { return T_UNAUTH; }
2943     YY_BREAK
2944     case 241:
2945     YY_RULE_SETUP
2946     #line 363 "ircd_lexer.l"
2947     { return T_SPY; }
2948     YY_BREAK
2949     case 242:
2950     YY_RULE_SETUP
2951     #line 364 "ircd_lexer.l"
2952     { return T_EXTERNAL; }
2953     YY_BREAK
2954     case 243:
2955     YY_RULE_SETUP
2956     #line 365 "ircd_lexer.l"
2957     { return T_OPERWALL; }
2958     YY_BREAK
2959     case 244:
2960     YY_RULE_SETUP
2961     #line 366 "ircd_lexer.l"
2962     { return T_SERVNOTICE; }
2963     YY_BREAK
2964     case 245:
2965     YY_RULE_SETUP
2966     #line 367 "ircd_lexer.l"
2967     { return T_INVISIBLE; }
2968     YY_BREAK
2969     case 246:
2970     YY_RULE_SETUP
2971     #line 368 "ircd_lexer.l"
2972     { return T_WALLOP; }
2973     YY_BREAK
2974     case 247:
2975     YY_RULE_SETUP
2976     #line 369 "ircd_lexer.l"
2977     { return T_CALLERID; }
2978     YY_BREAK
2979     case 248:
2980     YY_RULE_SETUP
2981     #line 370 "ircd_lexer.l"
2982     { return T_SOFTCALLERID; }
2983     YY_BREAK
2984     case 249:
2985     YY_RULE_SETUP
2986     #line 371 "ircd_lexer.l"
2987     { return T_DRONE; }
2988     YY_BREAK
2989     case 250:
2990     YY_RULE_SETUP
2991     #line 372 "ircd_lexer.l"
2992     { return T_LOCOPS; }
2993     YY_BREAK
2994     case 251:
2995     YY_RULE_SETUP
2996     #line 373 "ircd_lexer.l"
2997     { return TOPICBURST; }
2998     YY_BREAK
2999     case 252:
3000     YY_RULE_SETUP
3001     #line 375 "ircd_lexer.l"
3002     { return WEEKS; }
3003     YY_BREAK
3004     case 253:
3005     YY_RULE_SETUP
3006     #line 376 "ircd_lexer.l"
3007     { return WEEKS; }
3008     YY_BREAK
3009     case 254:
3010     YY_RULE_SETUP
3011     #line 377 "ircd_lexer.l"
3012     { return DAYS; }
3013     YY_BREAK
3014     case 255:
3015     YY_RULE_SETUP
3016     #line 378 "ircd_lexer.l"
3017     { return DAYS; }
3018     YY_BREAK
3019     case 256:
3020     YY_RULE_SETUP
3021     #line 379 "ircd_lexer.l"
3022     { return HOURS; }
3023     YY_BREAK
3024     case 257:
3025     YY_RULE_SETUP
3026     #line 380 "ircd_lexer.l"
3027     { return HOURS; }
3028     YY_BREAK
3029     case 258:
3030     YY_RULE_SETUP
3031     #line 381 "ircd_lexer.l"
3032     { return MINUTES; }
3033     YY_BREAK
3034     case 259:
3035     YY_RULE_SETUP
3036     #line 382 "ircd_lexer.l"
3037     { return MINUTES; }
3038     YY_BREAK
3039     case 260:
3040     YY_RULE_SETUP
3041     #line 383 "ircd_lexer.l"
3042     { return SECONDS; }
3043     YY_BREAK
3044     case 261:
3045     YY_RULE_SETUP
3046     #line 384 "ircd_lexer.l"
3047     { return SECONDS; }
3048     YY_BREAK
3049     case 262:
3050     YY_RULE_SETUP
3051     #line 386 "ircd_lexer.l"
3052     { return BYTES; }
3053     YY_BREAK
3054     case 263:
3055     YY_RULE_SETUP
3056     #line 387 "ircd_lexer.l"
3057     { return BYTES; }
3058     YY_BREAK
3059     case 264:
3060     YY_RULE_SETUP
3061     #line 388 "ircd_lexer.l"
3062     { return KBYTES; }
3063     YY_BREAK
3064     case 265:
3065     YY_RULE_SETUP
3066     #line 389 "ircd_lexer.l"
3067     { return KBYTES; }
3068     YY_BREAK
3069     case 266:
3070     YY_RULE_SETUP
3071     #line 390 "ircd_lexer.l"
3072     { return KBYTES; }
3073     YY_BREAK
3074     case 267:
3075     YY_RULE_SETUP
3076     #line 391 "ircd_lexer.l"
3077     { return KBYTES; }
3078     YY_BREAK
3079     case 268:
3080     YY_RULE_SETUP
3081     #line 392 "ircd_lexer.l"
3082     { return KBYTES; }
3083     YY_BREAK
3084     case 269:
3085     YY_RULE_SETUP
3086     #line 393 "ircd_lexer.l"
3087     { return MBYTES; }
3088     YY_BREAK
3089     case 270:
3090     YY_RULE_SETUP
3091     #line 394 "ircd_lexer.l"
3092     { return MBYTES; }
3093     YY_BREAK
3094     case 271:
3095     YY_RULE_SETUP
3096     #line 395 "ircd_lexer.l"
3097     { return MBYTES; }
3098     YY_BREAK
3099     case 272:
3100     YY_RULE_SETUP
3101     #line 396 "ircd_lexer.l"
3102     { return MBYTES; }
3103     YY_BREAK
3104     case 273:
3105     YY_RULE_SETUP
3106     #line 397 "ircd_lexer.l"
3107     { return MBYTES; }
3108     YY_BREAK
3109     case 274:
3110     YY_RULE_SETUP
3111     #line 398 "ircd_lexer.l"
3112     { return GBYTES; }
3113     YY_BREAK
3114     case 275:
3115     YY_RULE_SETUP
3116     #line 399 "ircd_lexer.l"
3117     { return GBYTES; }
3118     YY_BREAK
3119     case 276:
3120     YY_RULE_SETUP
3121     #line 400 "ircd_lexer.l"
3122     { return GBYTES; }
3123     YY_BREAK
3124     case 277:
3125     YY_RULE_SETUP
3126     #line 401 "ircd_lexer.l"
3127     { return GBYTES; }
3128     YY_BREAK
3129     case 278:
3130     YY_RULE_SETUP
3131     #line 402 "ircd_lexer.l"
3132     { return GBYTES; }
3133     YY_BREAK
3134     case 279:
3135     YY_RULE_SETUP
3136     #line 403 "ircd_lexer.l"
3137     { return TBYTES; }
3138     YY_BREAK
3139     case 280:
3140     YY_RULE_SETUP
3141     #line 404 "ircd_lexer.l"
3142     { return TBYTES; }
3143     YY_BREAK
3144     case 281:
3145     YY_RULE_SETUP
3146     #line 405 "ircd_lexer.l"
3147     { return TBYTES; }
3148     YY_BREAK
3149     case 282:
3150     YY_RULE_SETUP
3151     #line 406 "ircd_lexer.l"
3152     { return TBYTES; }
3153     YY_BREAK
3154     case 283:
3155     YY_RULE_SETUP
3156     #line 407 "ircd_lexer.l"
3157     { return TBYTES; }
3158     YY_BREAK
3159     case 284:
3160     YY_RULE_SETUP
3161     #line 408 "ircd_lexer.l"
3162     { return TWODOTS; }
3163     YY_BREAK
3164     case 285:
3165     YY_RULE_SETUP
3166     #line 410 "ircd_lexer.l"
3167     { return yytext[0]; }
3168     YY_BREAK
3169     case YY_STATE_EOF(INITIAL):
3170     #line 411 "ircd_lexer.l"
3171     { if (ieof()) yyterminate(); }
3172     YY_BREAK
3173     case 286:
3174     YY_RULE_SETUP
3175     #line 413 "ircd_lexer.l"
3176     ECHO;
3177     YY_BREAK
3178     #line 3179 "lex.yy.c"
3179    
3180     case YY_END_OF_BUFFER:
3181     {
3182     /* Amount of text matched not including the EOB char. */
3183     int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3184    
3185     /* Undo the effects of YY_DO_BEFORE_ACTION. */
3186     *yy_cp = yy_hold_char;
3187     YY_RESTORE_YY_MORE_OFFSET
3188    
3189     if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3190     {
3191     /* We're scanning a new file or input source. It's
3192     * possible that this happened because the user
3193     * just pointed yyin at a new source and called
3194     * yylex(). If so, then we have to assure
3195     * consistency between yy_current_buffer and our
3196     * globals. Here is the right place to do so, because
3197     * this is the first action (other than possibly a
3198     * back-up) that will match for the new input source.
3199     */
3200     yy_n_chars = yy_current_buffer->yy_n_chars;
3201     yy_current_buffer->yy_input_file = yyin;
3202     yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3203     }
3204    
3205     /* Note that here we test for yy_c_buf_p "<=" to the position
3206     * of the first EOB in the buffer, since yy_c_buf_p will
3207     * already have been incremented past the NUL character
3208     * (since all states make transitions on EOB to the
3209     * end-of-buffer state). Contrast this with the test
3210     * in input().
3211     */
3212     if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3213     { /* This was really a NUL. */
3214     yy_state_type yy_next_state;
3215    
3216     yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3217    
3218     yy_current_state = yy_get_previous_state();
3219    
3220     /* Okay, we're now positioned to make the NUL
3221     * transition. We couldn't have
3222     * yy_get_previous_state() go ahead and do it
3223     * for us because it doesn't know how to deal
3224     * with the possibility of jamming (and we don't
3225     * want to build jamming into it because then it
3226     * will run more slowly).
3227     */
3228    
3229     yy_next_state = yy_try_NUL_trans( yy_current_state );
3230    
3231     yy_bp = yytext_ptr + YY_MORE_ADJ;
3232    
3233     if ( yy_next_state )
3234     {
3235     /* Consume the NUL. */
3236     yy_cp = ++yy_c_buf_p;
3237     yy_current_state = yy_next_state;
3238     goto yy_match;
3239     }
3240    
3241     else
3242     {
3243     yy_cp = yy_c_buf_p;
3244     goto yy_find_action;
3245     }
3246     }
3247    
3248     else switch ( yy_get_next_buffer() )
3249     {
3250     case EOB_ACT_END_OF_FILE:
3251     {
3252     yy_did_buffer_switch_on_eof = 0;
3253    
3254     if ( yywrap() )
3255     {
3256     /* Note: because we've taken care in
3257     * yy_get_next_buffer() to have set up
3258     * yytext, we can now set up
3259     * yy_c_buf_p so that if some total
3260     * hoser (like flex itself) wants to
3261     * call the scanner after we return the
3262     * YY_NULL, it'll still work - another
3263     * YY_NULL will get returned.
3264     */
3265     yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3266    
3267     yy_act = YY_STATE_EOF(YY_START);
3268     goto do_action;
3269     }
3270    
3271     else
3272     {
3273     if ( ! yy_did_buffer_switch_on_eof )
3274     YY_NEW_FILE;
3275     }
3276     break;
3277     }
3278    
3279     case EOB_ACT_CONTINUE_SCAN:
3280     yy_c_buf_p =
3281     yytext_ptr + yy_amount_of_matched_text;
3282    
3283     yy_current_state = yy_get_previous_state();
3284    
3285     yy_cp = yy_c_buf_p;
3286     yy_bp = yytext_ptr + YY_MORE_ADJ;
3287     goto yy_match;
3288    
3289     case EOB_ACT_LAST_MATCH:
3290     yy_c_buf_p =
3291     &yy_current_buffer->yy_ch_buf[yy_n_chars];
3292    
3293     yy_current_state = yy_get_previous_state();
3294    
3295     yy_cp = yy_c_buf_p;
3296     yy_bp = yytext_ptr + YY_MORE_ADJ;
3297     goto yy_find_action;
3298     }
3299     break;
3300     }
3301    
3302     default:
3303     YY_FATAL_ERROR(
3304     "fatal flex scanner internal error--no action found" );
3305     } /* end of action switch */
3306     } /* end of scanning one token */
3307     } /* end of yylex */
3308    
3309    
3310     /* yy_get_next_buffer - try to read in a new buffer
3311     *
3312     * Returns a code representing an action:
3313     * EOB_ACT_LAST_MATCH -
3314     * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3315     * EOB_ACT_END_OF_FILE - end of file
3316     */
3317    
3318     static int yy_get_next_buffer()
3319     {
3320     register char *dest = yy_current_buffer->yy_ch_buf;
3321     register char *source = yytext_ptr;
3322     register int number_to_move, i;
3323     int ret_val;
3324    
3325     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3326     YY_FATAL_ERROR(
3327     "fatal flex scanner internal error--end of buffer missed" );
3328    
3329     if ( yy_current_buffer->yy_fill_buffer == 0 )
3330     { /* Don't try to fill the buffer, so this is an EOF. */
3331     if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3332     {
3333     /* We matched a single character, the EOB, so
3334     * treat this as a final EOF.
3335     */
3336     return EOB_ACT_END_OF_FILE;
3337     }
3338    
3339     else
3340     {
3341     /* We matched some text prior to the EOB, first
3342     * process it.
3343     */
3344     return EOB_ACT_LAST_MATCH;
3345     }
3346     }
3347    
3348     /* Try to read more data. */
3349    
3350     /* First move last chars to start of buffer. */
3351     number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3352    
3353     for ( i = 0; i < number_to_move; ++i )
3354     *(dest++) = *(source++);
3355    
3356     if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3357     /* don't do the read, it's not guaranteed to return an EOF,
3358     * just force an EOF
3359     */
3360     yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3361    
3362     else
3363     {
3364     int num_to_read =
3365     yy_current_buffer->yy_buf_size - number_to_move - 1;
3366    
3367     while ( num_to_read <= 0 )
3368     { /* Not enough room in the buffer - grow it. */
3369     #ifdef YY_USES_REJECT
3370     YY_FATAL_ERROR(
3371     "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3372     #else
3373    
3374     /* just a shorter name for the current buffer */
3375     YY_BUFFER_STATE b = yy_current_buffer;
3376    
3377     int yy_c_buf_p_offset =
3378     (int) (yy_c_buf_p - b->yy_ch_buf);
3379    
3380     if ( b->yy_is_our_buffer )
3381     {
3382     int new_size = b->yy_buf_size * 2;
3383    
3384     if ( new_size <= 0 )
3385     b->yy_buf_size += b->yy_buf_size / 8;
3386     else
3387     b->yy_buf_size *= 2;
3388    
3389     b->yy_ch_buf = (char *)
3390     /* Include room in for 2 EOB chars. */
3391     yy_flex_realloc( (void *) b->yy_ch_buf,
3392     b->yy_buf_size + 2 );
3393     }
3394     else
3395     /* Can't grow it, we don't own it. */
3396     b->yy_ch_buf = 0;
3397    
3398     if ( ! b->yy_ch_buf )
3399     YY_FATAL_ERROR(
3400     "fatal error - scanner input buffer overflow" );
3401    
3402     yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3403    
3404     num_to_read = yy_current_buffer->yy_buf_size -
3405     number_to_move - 1;
3406     #endif
3407     }
3408    
3409     if ( num_to_read > YY_READ_BUF_SIZE )
3410     num_to_read = YY_READ_BUF_SIZE;
3411    
3412     /* Read in more data. */
3413     YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3414     yy_n_chars, num_to_read );
3415    
3416     yy_current_buffer->yy_n_chars = yy_n_chars;
3417     }
3418    
3419     if ( yy_n_chars == 0 )
3420     {
3421     if ( number_to_move == YY_MORE_ADJ )
3422     {
3423     ret_val = EOB_ACT_END_OF_FILE;
3424     yyrestart( yyin );
3425     }
3426    
3427     else
3428     {
3429     ret_val = EOB_ACT_LAST_MATCH;
3430     yy_current_buffer->yy_buffer_status =
3431     YY_BUFFER_EOF_PENDING;
3432     }
3433     }
3434    
3435     else
3436     ret_val = EOB_ACT_CONTINUE_SCAN;
3437    
3438     yy_n_chars += number_to_move;
3439     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3440     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3441    
3442     yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3443    
3444     return ret_val;
3445     }
3446    
3447    
3448     /* yy_get_previous_state - get the state just before the EOB char was reached */
3449    
3450     static yy_state_type yy_get_previous_state()
3451     {
3452     register yy_state_type yy_current_state;
3453     register char *yy_cp;
3454    
3455     yy_current_state = yy_start;
3456    
3457     for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3458     {
3459     register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3460     if ( yy_accept[yy_current_state] )
3461     {
3462     yy_last_accepting_state = yy_current_state;
3463     yy_last_accepting_cpos = yy_cp;
3464     }
3465     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3466     {
3467     yy_current_state = (int) yy_def[yy_current_state];
3468     if ( yy_current_state >= 1840 )
3469     yy_c = yy_meta[(unsigned int) yy_c];
3470     }
3471     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3472     }
3473    
3474     return yy_current_state;
3475     }
3476    
3477    
3478     /* yy_try_NUL_trans - try to make a transition on the NUL character
3479     *
3480     * synopsis
3481     * next_state = yy_try_NUL_trans( current_state );
3482     */
3483    
3484     #ifdef YY_USE_PROTOS
3485     static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3486     #else
3487     static yy_state_type yy_try_NUL_trans( yy_current_state )
3488     yy_state_type yy_current_state;
3489     #endif
3490     {
3491     register int yy_is_jam;
3492     register char *yy_cp = yy_c_buf_p;
3493    
3494     register YY_CHAR yy_c = 1;
3495     if ( yy_accept[yy_current_state] )
3496     {
3497     yy_last_accepting_state = yy_current_state;
3498     yy_last_accepting_cpos = yy_cp;
3499     }
3500     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3501     {
3502     yy_current_state = (int) yy_def[yy_current_state];
3503     if ( yy_current_state >= 1840 )
3504     yy_c = yy_meta[(unsigned int) yy_c];
3505     }
3506     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3507     yy_is_jam = (yy_current_state == 1839);
3508    
3509     return yy_is_jam ? 0 : yy_current_state;
3510     }
3511    
3512    
3513     #ifndef YY_NO_UNPUT
3514     #ifdef YY_USE_PROTOS
3515     static void yyunput( int c, register char *yy_bp )
3516     #else
3517     static void yyunput( c, yy_bp )
3518     int c;
3519     register char *yy_bp;
3520     #endif
3521     {
3522     register char *yy_cp = yy_c_buf_p;
3523    
3524     /* undo effects of setting up yytext */
3525     *yy_cp = yy_hold_char;
3526    
3527     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3528     { /* need to shift things up to make room */
3529     /* +2 for EOB chars. */
3530     register int number_to_move = yy_n_chars + 2;
3531     register char *dest = &yy_current_buffer->yy_ch_buf[
3532     yy_current_buffer->yy_buf_size + 2];
3533     register char *source =
3534     &yy_current_buffer->yy_ch_buf[number_to_move];
3535    
3536     while ( source > yy_current_buffer->yy_ch_buf )
3537     *--dest = *--source;
3538    
3539     yy_cp += (int) (dest - source);
3540     yy_bp += (int) (dest - source);
3541     yy_current_buffer->yy_n_chars =
3542     yy_n_chars = yy_current_buffer->yy_buf_size;
3543    
3544     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3545     YY_FATAL_ERROR( "flex scanner push-back overflow" );
3546     }
3547    
3548     *--yy_cp = (char) c;
3549    
3550    
3551     yytext_ptr = yy_bp;
3552     yy_hold_char = *yy_cp;
3553     yy_c_buf_p = yy_cp;
3554     }
3555     #endif /* ifndef YY_NO_UNPUT */
3556    
3557    
3558     #ifdef __cplusplus
3559     static int yyinput()
3560     #else
3561     static int input()
3562     #endif
3563     {
3564     int c;
3565    
3566     *yy_c_buf_p = yy_hold_char;
3567    
3568     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3569     {
3570     /* yy_c_buf_p now points to the character we want to return.
3571     * If this occurs *before* the EOB characters, then it's a
3572     * valid NUL; if not, then we've hit the end of the buffer.
3573     */
3574     if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3575     /* This was really a NUL. */
3576     *yy_c_buf_p = '\0';
3577    
3578     else
3579     { /* need more input */
3580     int offset = yy_c_buf_p - yytext_ptr;
3581     ++yy_c_buf_p;
3582    
3583     switch ( yy_get_next_buffer() )
3584     {
3585     case EOB_ACT_LAST_MATCH:
3586     /* This happens because yy_g_n_b()
3587     * sees that we've accumulated a
3588     * token and flags that we need to
3589     * try matching the token before
3590     * proceeding. But for input(),
3591     * there's no matching to consider.
3592     * So convert the EOB_ACT_LAST_MATCH
3593     * to EOB_ACT_END_OF_FILE.
3594     */
3595    
3596     /* Reset buffer status. */
3597     yyrestart( yyin );
3598    
3599     /* fall through */
3600    
3601     case EOB_ACT_END_OF_FILE:
3602     {
3603     if ( yywrap() )
3604     return EOF;
3605    
3606     if ( ! yy_did_buffer_switch_on_eof )
3607     YY_NEW_FILE;
3608     #ifdef __cplusplus
3609     return yyinput();
3610     #else
3611     return input();
3612     #endif
3613     }
3614    
3615     case EOB_ACT_CONTINUE_SCAN:
3616     yy_c_buf_p = yytext_ptr + offset;
3617     break;
3618     }
3619     }
3620     }
3621    
3622     c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3623     *yy_c_buf_p = '\0'; /* preserve yytext */
3624     yy_hold_char = *++yy_c_buf_p;
3625    
3626    
3627     return c;
3628     }
3629    
3630    
3631     #ifdef YY_USE_PROTOS
3632     void yyrestart( FILE *input_file )
3633     #else
3634     void yyrestart( input_file )
3635     FILE *input_file;
3636     #endif
3637     {
3638     if ( ! yy_current_buffer )
3639     yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3640    
3641     yy_init_buffer( yy_current_buffer, input_file );
3642     yy_load_buffer_state();
3643     }
3644    
3645    
3646     #ifdef YY_USE_PROTOS
3647     void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3648     #else
3649     void yy_switch_to_buffer( new_buffer )
3650     YY_BUFFER_STATE new_buffer;
3651     #endif
3652     {
3653     if ( yy_current_buffer == new_buffer )
3654     return;
3655    
3656     if ( yy_current_buffer )
3657     {
3658     /* Flush out information for old buffer. */
3659     *yy_c_buf_p = yy_hold_char;
3660     yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3661     yy_current_buffer->yy_n_chars = yy_n_chars;
3662     }
3663    
3664     yy_current_buffer = new_buffer;
3665     yy_load_buffer_state();
3666    
3667     /* We don't actually know whether we did this switch during
3668     * EOF (yywrap()) processing, but the only time this flag
3669     * is looked at is after yywrap() is called, so it's safe
3670     * to go ahead and always set it.
3671     */
3672     yy_did_buffer_switch_on_eof = 1;
3673     }
3674    
3675    
3676     #ifdef YY_USE_PROTOS
3677     void yy_load_buffer_state( void )
3678     #else
3679     void yy_load_buffer_state()
3680     #endif
3681     {
3682     yy_n_chars = yy_current_buffer->yy_n_chars;
3683     yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3684     yyin = yy_current_buffer->yy_input_file;
3685     yy_hold_char = *yy_c_buf_p;
3686     }
3687    
3688    
3689     #ifdef YY_USE_PROTOS
3690     YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3691     #else
3692     YY_BUFFER_STATE yy_create_buffer( file, size )
3693     FILE *file;
3694     int size;
3695     #endif
3696     {
3697     YY_BUFFER_STATE b;
3698    
3699     b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3700     if ( ! b )
3701     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3702    
3703     b->yy_buf_size = size;
3704    
3705     /* yy_ch_buf has to be 2 characters longer than the size given because
3706     * we need to put in 2 end-of-buffer characters.
3707     */
3708     b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3709     if ( ! b->yy_ch_buf )
3710     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3711    
3712     b->yy_is_our_buffer = 1;
3713    
3714     yy_init_buffer( b, file );
3715    
3716     return b;
3717     }
3718    
3719    
3720     #ifdef YY_USE_PROTOS
3721     void yy_delete_buffer( YY_BUFFER_STATE b )
3722     #else
3723     void yy_delete_buffer( b )
3724     YY_BUFFER_STATE b;
3725     #endif
3726     {
3727     if ( ! b )
3728     return;
3729    
3730     if ( b == yy_current_buffer )
3731     yy_current_buffer = (YY_BUFFER_STATE) 0;
3732    
3733     if ( b->yy_is_our_buffer )
3734     yy_flex_free( (void *) b->yy_ch_buf );
3735    
3736     yy_flex_free( (void *) b );
3737     }
3738    
3739    
3740     #ifndef YY_ALWAYS_INTERACTIVE
3741     #ifndef YY_NEVER_INTERACTIVE
3742     extern int isatty YY_PROTO(( int ));
3743     #endif
3744     #endif
3745    
3746     #ifdef YY_USE_PROTOS
3747     void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3748     #else
3749     void yy_init_buffer( b, file )
3750     YY_BUFFER_STATE b;
3751     FILE *file;
3752     #endif
3753    
3754    
3755     {
3756     yy_flush_buffer( b );
3757    
3758     b->yy_input_file = file;
3759     b->yy_fill_buffer = 1;
3760    
3761     #if YY_ALWAYS_INTERACTIVE
3762     b->yy_is_interactive = 1;
3763     #else
3764     #if YY_NEVER_INTERACTIVE
3765     b->yy_is_interactive = 0;
3766     #else
3767     b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3768     #endif
3769     #endif
3770     }
3771    
3772    
3773     #ifdef YY_USE_PROTOS
3774     void yy_flush_buffer( YY_BUFFER_STATE b )
3775     #else
3776     void yy_flush_buffer( b )
3777     YY_BUFFER_STATE b;
3778     #endif
3779    
3780     {
3781     if ( ! b )
3782     return;
3783    
3784     b->yy_n_chars = 0;
3785    
3786     /* We always need two end-of-buffer characters. The first causes
3787     * a transition to the end-of-buffer state. The second causes
3788     * a jam in that state.
3789     */
3790     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3791     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3792    
3793     b->yy_buf_pos = &b->yy_ch_buf[0];
3794    
3795     b->yy_at_bol = 1;
3796     b->yy_buffer_status = YY_BUFFER_NEW;
3797    
3798     if ( b == yy_current_buffer )
3799     yy_load_buffer_state();
3800     }
3801    
3802    
3803     #ifndef YY_NO_SCAN_BUFFER
3804     #ifdef YY_USE_PROTOS
3805     YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3806     #else
3807     YY_BUFFER_STATE yy_scan_buffer( base, size )
3808     char *base;
3809     yy_size_t size;
3810     #endif
3811     {
3812     YY_BUFFER_STATE b;
3813    
3814     if ( size < 2 ||
3815     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3816     base[size-1] != YY_END_OF_BUFFER_CHAR )
3817     /* They forgot to leave room for the EOB's. */
3818     return 0;
3819    
3820     b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3821     if ( ! b )
3822     YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3823    
3824     b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3825     b->yy_buf_pos = b->yy_ch_buf = base;
3826     b->yy_is_our_buffer = 0;
3827     b->yy_input_file = 0;
3828     b->yy_n_chars = b->yy_buf_size;
3829     b->yy_is_interactive = 0;
3830     b->yy_at_bol = 1;
3831     b->yy_fill_buffer = 0;
3832     b->yy_buffer_status = YY_BUFFER_NEW;
3833    
3834     yy_switch_to_buffer( b );
3835    
3836     return b;
3837     }
3838     #endif
3839    
3840    
3841     #ifndef YY_NO_SCAN_STRING
3842     #ifdef YY_USE_PROTOS
3843     YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3844     #else
3845     YY_BUFFER_STATE yy_scan_string( yy_str )
3846     yyconst char *yy_str;
3847     #endif
3848     {
3849     int len;
3850     for ( len = 0; yy_str[len]; ++len )
3851     ;
3852    
3853     return yy_scan_bytes( yy_str, len );
3854     }
3855     #endif
3856    
3857    
3858     #ifndef YY_NO_SCAN_BYTES
3859     #ifdef YY_USE_PROTOS
3860     YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3861     #else
3862     YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3863     yyconst char *bytes;
3864     int len;
3865     #endif
3866     {
3867     YY_BUFFER_STATE b;
3868     char *buf;
3869     yy_size_t n;
3870     int i;
3871    
3872     /* Get memory for full buffer, including space for trailing EOB's. */
3873     n = len + 2;
3874     buf = (char *) yy_flex_alloc( n );
3875     if ( ! buf )
3876     YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3877    
3878     for ( i = 0; i < len; ++i )
3879     buf[i] = bytes[i];
3880    
3881     buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3882    
3883     b = yy_scan_buffer( buf, n );
3884     if ( ! b )
3885     YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3886    
3887     /* It's okay to grow etc. this buffer, and we should throw it
3888     * away when we're done.
3889     */
3890     b->yy_is_our_buffer = 1;
3891    
3892     return b;
3893     }
3894     #endif
3895    
3896    
3897     #ifndef YY_NO_PUSH_STATE
3898     #ifdef YY_USE_PROTOS
3899     static void yy_push_state( int new_state )
3900     #else
3901     static void yy_push_state( new_state )
3902     int new_state;
3903     #endif
3904     {
3905     if ( yy_start_stack_ptr >= yy_start_stack_depth )
3906     {
3907     yy_size_t new_size;
3908    
3909     yy_start_stack_depth += YY_START_STACK_INCR;
3910     new_size = yy_start_stack_depth * sizeof( int );
3911    
3912     if ( ! yy_start_stack )
3913     yy_start_stack = (int *) yy_flex_alloc( new_size );
3914    
3915     else
3916     yy_start_stack = (int *) yy_flex_realloc(
3917     (void *) yy_start_stack, new_size );
3918    
3919     if ( ! yy_start_stack )
3920     YY_FATAL_ERROR(
3921     "out of memory expanding start-condition stack" );
3922     }
3923    
3924     yy_start_stack[yy_start_stack_ptr++] = YY_START;
3925    
3926     BEGIN(new_state);
3927     }
3928     #endif
3929    
3930    
3931     #ifndef YY_NO_POP_STATE
3932     static void yy_pop_state()
3933     {
3934     if ( --yy_start_stack_ptr < 0 )
3935     YY_FATAL_ERROR( "start-condition stack underflow" );
3936    
3937     BEGIN(yy_start_stack[yy_start_stack_ptr]);
3938     }
3939     #endif
3940    
3941    
3942     #ifndef YY_NO_TOP_STATE
3943     static int yy_top_state()
3944     {
3945     return yy_start_stack[yy_start_stack_ptr - 1];
3946     }
3947     #endif
3948    
3949     #ifndef YY_EXIT_FAILURE
3950     #define YY_EXIT_FAILURE 2
3951     #endif
3952    
3953     #ifdef YY_USE_PROTOS
3954     static void yy_fatal_error( yyconst char msg[] )
3955     #else
3956     static void yy_fatal_error( msg )
3957     char msg[];
3958     #endif
3959     {
3960     (void) fprintf( stderr, "%s\n", msg );
3961     exit( YY_EXIT_FAILURE );
3962     }
3963    
3964    
3965    
3966     /* Redefine yyless() so it works in section 3 code. */
3967    
3968     #undef yyless
3969     #define yyless(n) \
3970     do \
3971     { \
3972     /* Undo effects of setting up yytext. */ \
3973     yytext[yyleng] = yy_hold_char; \
3974     yy_c_buf_p = yytext + n; \
3975     yy_hold_char = *yy_c_buf_p; \
3976     *yy_c_buf_p = '\0'; \
3977     yyleng = n; \
3978     } \
3979     while ( 0 )
3980    
3981    
3982     /* Internal utility routines. */
3983    
3984     #ifndef yytext_ptr
3985     #ifdef YY_USE_PROTOS
3986     static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3987     #else
3988     static void yy_flex_strncpy( s1, s2, n )
3989     char *s1;
3990     yyconst char *s2;
3991     int n;
3992     #endif
3993     {
3994     register int i;
3995     for ( i = 0; i < n; ++i )
3996     s1[i] = s2[i];
3997     }
3998     #endif
3999    
4000     #ifdef YY_NEED_STRLEN
4001     #ifdef YY_USE_PROTOS
4002     static int yy_flex_strlen( yyconst char *s )
4003     #else
4004     static int yy_flex_strlen( s )
4005     yyconst char *s;
4006     #endif
4007     {
4008     register int n;
4009     for ( n = 0; s[n]; ++n )
4010     ;
4011    
4012     return n;
4013     }
4014     #endif
4015    
4016    
4017     #ifdef YY_USE_PROTOS
4018     static void *yy_flex_alloc( yy_size_t size )
4019     #else
4020     static void *yy_flex_alloc( size )
4021     yy_size_t size;
4022     #endif
4023     {
4024     return (void *) malloc( size );
4025     }
4026    
4027     #ifdef YY_USE_PROTOS
4028     static void *yy_flex_realloc( void *ptr, yy_size_t size )
4029     #else
4030     static void *yy_flex_realloc( ptr, size )
4031     void *ptr;
4032     yy_size_t size;
4033     #endif
4034     {
4035     /* The cast to (char *) in the following accommodates both
4036     * implementations that use char* generic pointers, and those
4037     * that use void* generic pointers. It works with the latter
4038     * because both ANSI C and C++ allow castless assignment from
4039     * any pointer type to void*, and deal with argument conversions
4040     * as though doing an assignment.
4041     */
4042     return (void *) realloc( (char *) ptr, size );
4043     }
4044    
4045     #ifdef YY_USE_PROTOS
4046     static void yy_flex_free( void *ptr )
4047     #else
4048     static void yy_flex_free( ptr )
4049     void *ptr;
4050     #endif
4051     {
4052     free( ptr );
4053     }
4054    
4055     #if YY_MAIN
4056     int main()
4057     {
4058     yylex();
4059     return 0;
4060     }
4061     #endif
4062     #line 413 "ircd_lexer.l"
4063    
4064    
4065     /* C-comment ignoring routine -kre*/
4066     static void
4067     ccomment(void)
4068     {
4069     int c = 0;
4070    
4071     /* log(L_NOTICE, "got comment"); */
4072     while (1)
4073     {
4074     while ((c = input()) != '*' && c != EOF)
4075     if (c == '\n')
4076     ++lineno;
4077    
4078     if (c == '*')
4079     {
4080     while ((c = input()) == '*')
4081     /* Nothing */ ;
4082     if (c == '/')
4083     break;
4084     else if (c == '\n')
4085     ++lineno;
4086     }
4087    
4088     if (c == EOF)
4089     {
4090     YY_FATAL_ERROR("EOF in comment");
4091     /* XXX hack alert this disables
4092     * the stupid unused function warning
4093     * gcc generates
4094     */
4095     if (1 == 0)
4096     yy_fatal_error("EOF in comment");
4097     break;
4098     }
4099     }
4100     }
4101    
4102     /* C-style .includes. This function will properly swap input conf buffers,
4103     * and lineno -kre */
4104     static void
4105     cinclude(void)
4106     {
4107     char *p = NULL;
4108    
4109     if ((p = strchr(yytext, '<')) == NULL)
4110     *strchr(p = strchr(yytext, '"') + 1, '"') = '\0';
4111     else
4112     *strchr(++p, '>') = '\0';
4113    
4114     /* log(L_NOTICE, "got include %s!", c); */
4115    
4116     /* do stacking and co. */
4117     if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
4118     ilog(L_ERROR, "Includes nested too deep in %s", p);
4119     else
4120     {
4121     FBFILE *tmp_fbfile_in = NULL;
4122     char filenamebuf[IRCD_BUFSIZE];
4123    
4124     if (*p == '/') /* if it is an absolute path */
4125     snprintf(filenamebuf, sizeof(filenamebuf), "%s", p);
4126     else
4127     snprintf(filenamebuf, sizeof(filenamebuf), "%s/%s", ETCPATH, p);
4128    
4129     tmp_fbfile_in = fbopen(filenamebuf, "r");
4130    
4131     if (tmp_fbfile_in == NULL)
4132     {
4133     ilog(L_ERROR, "Unable to read configuration file '%s': %s",
4134     filenamebuf, strerror(errno));
4135     return;
4136     }
4137    
4138     lineno_stack[include_stack_ptr] = lineno;
4139     lineno = 1;
4140     inc_fbfile_in[include_stack_ptr] = conf_fbfile_in;
4141     strlcpy(conffile_stack[include_stack_ptr], conffilebuf, IRCD_BUFSIZE);
4142     include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
4143     conf_fbfile_in = tmp_fbfile_in;
4144     snprintf(conffilebuf, sizeof(conffilebuf), "%s", p);
4145     yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
4146     }
4147     }
4148    
4149     /* This is function that will be called on EOF in conf file. It will
4150     * apropriately close conf if it not main conf and swap input buffers -kre
4151     * */
4152     static int
4153     ieof(void)
4154     {
4155     /* log(L_NOTICE, "return from include stack!"); */
4156     if (include_stack_ptr)
4157     fbclose(conf_fbfile_in);
4158     if (--include_stack_ptr < 0)
4159     {
4160     /* log(L_NOTICE, "terminating lexer"); */
4161     /* We will now exit the lexer - restore init values if we get /rehash
4162     * later and reenter lexer -kre */
4163     include_stack_ptr = 0;
4164     lineno = 1;
4165     return 1;
4166     }
4167    
4168     /* switch buffer */
4169     /* log(L_NOTICE, "deleting include_stack_ptr=%d", include_stack_ptr); */
4170     yy_delete_buffer(YY_CURRENT_BUFFER);
4171     lineno = lineno_stack[include_stack_ptr];
4172     conf_fbfile_in = inc_fbfile_in[include_stack_ptr];
4173     strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf));
4174     yy_switch_to_buffer(include_stack[include_stack_ptr]);
4175    
4176     return 0;
4177     }

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision