ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 7825
Committed: Sat Oct 29 18:18:40 2016 UTC (8 years, 9 months ago) by michael
Content type: text/x-csrc
File size: 147753 byte(s)
Log Message:
- flex 2.6.2

File Contents

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

Properties

Name Value
svn:eol-style native