ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1250
Committed: Sat Oct 1 10:48:16 2011 UTC (12 years, 6 months ago) by michael
Content type: text/x-csrc
Original Path: ircd-hybrid-8/src/ircd_lexer.c
File size: 149097 byte(s)
Log Message:
- A file size of 'unlimited' can now be specified for log files

File Contents

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

Properties

Name Value
svn:eol-style native