Coverage Report

Created: 2024-02-25 06:34

/src/kamailio/src/core/lex.yy.c
Line
Count
Source (jump to first uncovered line)
1
#line 2 "core/lex.yy.c"
2
3
#line 4 "core/lex.yy.c"
4
5
#define  YY_INT_ALIGNED short int
6
7
/* A lexical scanner generated by flex */
8
9
#define FLEX_SCANNER
10
#define YY_FLEX_MAJOR_VERSION 2
11
#define YY_FLEX_MINOR_VERSION 6
12
#define YY_FLEX_SUBMINOR_VERSION 4
13
#if YY_FLEX_SUBMINOR_VERSION > 0
14
#define FLEX_BETA
15
#endif
16
17
/* First, we deal with  platform-specific or compiler-specific issues. */
18
19
/* begin standard C headers. */
20
#include <stdio.h>
21
#include <string.h>
22
#include <errno.h>
23
#include <stdlib.h>
24
25
/* end standard C headers. */
26
27
/* flex integer type definitions */
28
29
#ifndef FLEXINT_H
30
#define FLEXINT_H
31
32
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35
36
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37
 * if you want the limit (max/min) macros for int types. 
38
 */
39
#ifndef __STDC_LIMIT_MACROS
40
#define __STDC_LIMIT_MACROS 1
41
#endif
42
43
#include <inttypes.h>
44
typedef int8_t flex_int8_t;
45
typedef uint8_t flex_uint8_t;
46
typedef int16_t flex_int16_t;
47
typedef uint16_t flex_uint16_t;
48
typedef int32_t flex_int32_t;
49
typedef uint32_t flex_uint32_t;
50
#else
51
typedef signed char flex_int8_t;
52
typedef short int flex_int16_t;
53
typedef int flex_int32_t;
54
typedef unsigned char flex_uint8_t; 
55
typedef unsigned short int flex_uint16_t;
56
typedef unsigned int flex_uint32_t;
57
58
/* Limits of integral types. */
59
#ifndef INT8_MIN
60
#define INT8_MIN               (-128)
61
#endif
62
#ifndef INT16_MIN
63
#define INT16_MIN              (-32767-1)
64
#endif
65
#ifndef INT32_MIN
66
#define INT32_MIN              (-2147483647-1)
67
#endif
68
#ifndef INT8_MAX
69
#define INT8_MAX               (127)
70
#endif
71
#ifndef INT16_MAX
72
#define INT16_MAX              (32767)
73
#endif
74
#ifndef INT32_MAX
75
#define INT32_MAX              (2147483647)
76
#endif
77
#ifndef UINT8_MAX
78
#define UINT8_MAX              (255U)
79
#endif
80
#ifndef UINT16_MAX
81
#define UINT16_MAX             (65535U)
82
#endif
83
#ifndef UINT32_MAX
84
#define UINT32_MAX             (4294967295U)
85
#endif
86
87
#ifndef SIZE_MAX
88
#define SIZE_MAX               (~(size_t)0)
89
#endif
90
91
#endif /* ! C99 */
92
93
#endif /* ! FLEXINT_H */
94
95
/* begin standard C++ headers. */
96
97
/* TODO: this is always defined, so inline it */
98
#define yyconst const
99
100
#if defined(__GNUC__) && __GNUC__ >= 3
101
#define yynoreturn __attribute__((__noreturn__))
102
#else
103
#define yynoreturn
104
#endif
105
106
/* Returned upon end-of-file. */
107
#define YY_NULL 0
108
109
/* Promotes a possibly negative, possibly signed char to an
110
 *   integer in range [0..255] for use as an array index.
111
 */
112
0
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
113
114
/* Enter a start condition.  This macro really ought to take a parameter,
115
 * but we do it the disgusting crufty way forced on us by the ()-less
116
 * definition of BEGIN.
117
 */
118
0
#define BEGIN (yy_start) = 1 + 2 *
119
/* Translate the current start state into a value that can be later handed
120
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
121
 * compatibility.
122
 */
123
0
#define YY_START (((yy_start) - 1) / 2)
124
#define YYSTATE YY_START
125
/* Action number for EOF rule of a given start state. */
126
0
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
127
/* Special action meaning "start processing a new file". */
128
0
#define YY_NEW_FILE yyrestart( yyin  )
129
0
#define YY_END_OF_BUFFER_CHAR 0
130
131
/* Size of default input buffer. */
132
#ifndef YY_BUF_SIZE
133
#ifdef __ia64__
134
/* On IA-64, the buffer size is 16k, not 8k.
135
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
136
 * Ditto for the __ia64__ case accordingly.
137
 */
138
#define YY_BUF_SIZE 32768
139
#else
140
0
#define YY_BUF_SIZE 16384
141
#endif /* __ia64__ */
142
#endif
143
144
/* The state buf must be large enough to hold one state per character in the main buffer.
145
 */
146
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
147
148
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
149
#define YY_TYPEDEF_YY_BUFFER_STATE
150
typedef struct yy_buffer_state *YY_BUFFER_STATE;
151
#endif
152
153
#ifndef YY_TYPEDEF_YY_SIZE_T
154
#define YY_TYPEDEF_YY_SIZE_T
155
typedef size_t yy_size_t;
156
#endif
157
158
extern int yyleng;
159
160
extern FILE *yyin, *yyout;
161
162
0
#define EOB_ACT_CONTINUE_SCAN 0
163
0
#define EOB_ACT_END_OF_FILE 1
164
0
#define EOB_ACT_LAST_MATCH 2
165
    
166
    #define YY_LESS_LINENO(n)
167
    #define YY_LINENO_REWIND_TO(ptr)
168
    
169
/* Return all but the first "n" matched characters back to the input stream. */
170
#define yyless(n) \
171
0
  do \
172
0
    { \
173
0
    /* Undo effects of setting up yytext. */ \
174
0
        int yyless_macro_arg = (n); \
175
0
        YY_LESS_LINENO(yyless_macro_arg);\
176
0
    *yy_cp = (yy_hold_char); \
177
0
    YY_RESTORE_YY_MORE_OFFSET \
178
0
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
179
0
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
180
0
    } \
181
0
  while ( 0 )
182
0
#define unput(c) yyunput( c, (yytext_ptr)  )
183
184
#ifndef YY_STRUCT_YY_BUFFER_STATE
185
#define YY_STRUCT_YY_BUFFER_STATE
186
struct yy_buffer_state
187
  {
188
  FILE *yy_input_file;
189
190
  char *yy_ch_buf;    /* input buffer */
191
  char *yy_buf_pos;   /* current position in input buffer */
192
193
  /* Size of input buffer in bytes, not including room for EOB
194
   * characters.
195
   */
196
  int yy_buf_size;
197
198
  /* Number of characters read into yy_ch_buf, not including EOB
199
   * characters.
200
   */
201
  int yy_n_chars;
202
203
  /* Whether we "own" the buffer - i.e., we know we created it,
204
   * and can realloc() it to grow it, and should free() it to
205
   * delete it.
206
   */
207
  int yy_is_our_buffer;
208
209
  /* Whether this is an "interactive" input source; if so, and
210
   * if we're using stdio for input, then we want to use getc()
211
   * instead of fread(), to make sure we stop fetching input after
212
   * each newline.
213
   */
214
  int yy_is_interactive;
215
216
  /* Whether we're considered to be at the beginning of a line.
217
   * If so, '^' rules will be active on the next match, otherwise
218
   * not.
219
   */
220
  int yy_at_bol;
221
222
    int yy_bs_lineno; /**< The line count. */
223
    int yy_bs_column; /**< The column count. */
224
225
  /* Whether to try to fill the input buffer when we reach the
226
   * end of it.
227
   */
228
  int yy_fill_buffer;
229
230
  int yy_buffer_status;
231
232
0
#define YY_BUFFER_NEW 0
233
0
#define YY_BUFFER_NORMAL 1
234
  /* When an EOF's been seen but there's still some text to process
235
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
236
   * shouldn't try reading from the input source any more.  We might
237
   * still have a bunch of tokens to match, though, because of
238
   * possible backing-up.
239
   *
240
   * When we actually see the EOF, we change the status to "new"
241
   * (via yyrestart()), so that the user can continue scanning by
242
   * just pointing yyin at a new input file.
243
   */
244
0
#define YY_BUFFER_EOF_PENDING 2
245
246
  };
247
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
248
249
/* Stack of input buffers. */
250
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
251
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
252
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
253
254
/* We provide macros for accessing buffer states in case in the
255
 * future we want to put the buffer states in a more general
256
 * "scanner state".
257
 *
258
 * Returns the top of the stack, or NULL.
259
 */
260
0
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
261
0
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
262
0
                          : NULL)
263
/* Same as previous macro, but useful when we know that the buffer stack is not
264
 * NULL or when we need an lvalue. For internal use only.
265
 */
266
0
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
267
268
/* yy_hold_char holds the character lost when yytext is formed. */
269
static char yy_hold_char;
270
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
271
int yyleng;
272
273
/* Points to current character in buffer. */
274
static char *yy_c_buf_p = NULL;
275
static int yy_init = 0;   /* whether we need to initialize */
276
static int yy_start = 0;  /* start state number */
277
278
/* Flag which is used to allow yywrap()'s to do buffer switches
279
 * instead of setting up a fresh yyin.  A bit of a hack ...
280
 */
281
static int yy_did_buffer_switch_on_eof;
282
283
void yyrestart ( FILE *input_file  );
284
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
285
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
286
void yy_delete_buffer ( YY_BUFFER_STATE b  );
287
void yy_flush_buffer ( YY_BUFFER_STATE b  );
288
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
289
void yypop_buffer_state ( void );
290
291
static void yyensure_buffer_stack ( void );
292
static void yy_load_buffer_state ( void );
293
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
294
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
295
296
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
297
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
298
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
299
300
void *yyalloc ( yy_size_t  );
301
void *yyrealloc ( void *, yy_size_t  );
302
void yyfree ( void *  );
303
304
#define yy_new_buffer yy_create_buffer
305
#define yy_set_interactive(is_interactive) \
306
  { \
307
  if ( ! YY_CURRENT_BUFFER ){ \
308
        yyensure_buffer_stack (); \
309
    YY_CURRENT_BUFFER_LVALUE =    \
310
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
311
  } \
312
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
313
  }
314
#define yy_set_bol(at_bol) \
315
  { \
316
  if ( ! YY_CURRENT_BUFFER ){\
317
        yyensure_buffer_stack (); \
318
    YY_CURRENT_BUFFER_LVALUE =    \
319
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
320
  } \
321
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
322
  }
323
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
324
325
/* Begin user sect3 */
326
typedef flex_uint8_t YY_CHAR;
327
328
FILE *yyin = NULL, *yyout = NULL;
329
330
typedef int yy_state_type;
331
332
extern int yylineno;
333
int yylineno = 1;
334
335
extern char *yytext;
336
#ifdef yytext_ptr
337
#undef yytext_ptr
338
#endif
339
0
#define yytext_ptr yytext
340
341
static yy_state_type yy_get_previous_state ( void );
342
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
343
static int yy_get_next_buffer ( void );
344
static void yynoreturn yy_fatal_error ( const char* msg  );
345
346
/* Done after the current pattern has been matched and before the
347
 * corresponding action - sets up yytext.
348
 */
349
#define YY_DO_BEFORE_ACTION \
350
0
  (yytext_ptr) = yy_bp; \
351
0
  (yytext_ptr) -= (yy_more_len); \
352
0
  yyleng = (int) (yy_cp - (yytext_ptr)); \
353
0
  (yy_hold_char) = *yy_cp; \
354
0
  *yy_cp = '\0'; \
355
0
  (yy_c_buf_p) = yy_cp;
356
#define YY_NUM_RULES 494
357
0
#define YY_END_OF_BUFFER 495
358
/* This struct is not used in this scanner,
359
   but its presence is necessary. */
360
struct yy_trans_info
361
  {
362
  flex_int32_t yy_verify;
363
  flex_int32_t yy_nxt;
364
  };
365
static const flex_int16_t yy_accept[3256] =
366
    {   0,
367
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
368
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
369
        0,    0,  474,  474,  476,  476,    0,    0,    0,    0,
370
      492,  492,  479,  479,  482,  482,  485,  485,  488,  488,
371
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
372
        0,    0,    0,    0,    0,    0,  495,  494,    1,  418,
373
      326,  419,  469,  381,  357,  328,  420,  410,  409,  408,
374
      335,  405,  336,  416,  415,  387,  387,  387,  407,  406,
375
      321,  317,  320,  348,  471,  471,  471,  471,  471,  471,
376
      471,  471,  471,  413,  494,  414,  332,  471,  471,  471,
377
378
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
379
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
380
      411,  330,  412,  331,  433,  433,  421,  433,  423,  423,
381
      422,  436,  434,  434,  435,  439,  439,  439,  439,  370,
382
      367,  371,  371,  372,  368,  369,  358,  366,  359,  473,
383
      419,  350,  353,  353,  353,  349,  351,  352,  385,  385,
384
      385,  376,  375,  374,  379,  379,  379,  378,  377,  475,
385
      474,  477,  476,   31,  494,   30,   33,  491,  491,  469,
386
      491,  491,  491,  493,  492,  480,  479,  483,  482,  486,
387
      485,  489,  488,  494,  470,  449,  452,  450,  451,  455,
388
389
      454,  455,  463,  494,  465,  468,  468,  468,  494,  464,
390
        0,  324,    0,  373,  380,    0,  327,    0,    0,  318,
391
      437,  469,  389,  389,  472,    0,  472,  390,  472,  387,
392
      387,  386,  333,  323,  319,  325,  322,  334,  471,  471,
393
      471,  471,  471,  471,  471,  471,  471,  471,  471,  397,
394
      417,  471,   95,  471,  471,  471,  471,  471,  471,  471,
395
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
396
      471,  471,  471,  471,  341,  471,  471,  471,  471,  471,
397
      471,  471,  471,  471,  471,  471,  471,   58,  471,  471,
398
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
399
400
      471,  471,  471,  471,  471,  471,  343,  392,  471,  391,
401
      471,  329,  471,  471,  471,  471,  471,  471,  471,  471,
402
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
403
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
404
      471,  471,  471,  471,  471,  471,  471,  397,  471,  471,
405
      329,  432,  428,    0,  429,  426,  424,  425,  427,    0,
406
      438,  371,  372,  364,  360,  362,  365,  361,  363,  355,
407
      355,  356,    0,  353,  353,  349,  384,  385,  383,  382,
408
      385,    0,  377,  475,  474,  477,  476,    0,    0,    0,
409
      469,    0,    0,    0,  493,  492,  480,  479,  483,  482,
410
411
      486,  485,  489,  488,    0,  470,  448,  449,  453,  462,
412
      463,    0,  465,    0,    0,  464,    0,    0,    0,    0,
413
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
414
        0,  389,  389,  472,  390,    0,  386,  388,  387,  387,
415
      386,  471,  471,  471,  471,  471,  471,  471,  471,  393,
416
      395,  394,  398,  471,  471,  471,  327,  471,  471,  471,
417
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
418
      471,  471,  471,  471,  471,  120,  471,  471,  471,  471,
419
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
420
      194,  471,  471,  471,  342,  471,  471,  344,  471,  471,
421
422
      471,  471,  471,  471,  471,  471,  471,  471,   11,  471,
423
      471,  471,  471,  471,  471,  337,  471,  471,  471,  471,
424
      326,  392,  471,  471,  471,  471,  471,  471,  471,  471,
425
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
426
      471,  471,  471,  471,  471,  471,  471,  471,  260,  471,
427
      471,  471,  471,  471,  471,  471,  471,  471,  393,  395,
428
      471,  273,  471,  394,  193,   81,  471,  471,  471,  471,
429
      471,  471,  471,  471,  391,  431,  430,  354,  377,   32,
430
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
431
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
432
433
        0,  389,  389,  472,  390,    0,    0,  386,  387,  387,
434
      386,    0,  471,  471,  399,  399,  400,  115,  396,  471,
435
      471,  471,  471,  471,  471,  471,  471,  471,  471,  173,
436
       16,  471,  471,   68,  471,  471,  471,  471,  471,  471,
437
      471,  471,  471,  471,  307,  471,  471,  471,    7,  471,
438
       59,  471,  471,  471,   34,    8,  471,  471,  471,  471,
439
       98,  471,  471,  471,  471,  471,  471,  471,  399,  471,
440
      471,  471,  400,  471,  471,  289,  471,  471,  471,  471,
441
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
442
      471,  471,  471,  471,    0,  471,  471,  471,  471,  471,
443
444
      471,  471,  160,  471,  471,  471,  471,  471,  471,  471,
445
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
446
      471,  471,  471,  471,  471,  471,  396,  471,  471,  471,
447
      471,  471,  471,   35,   40,   38,  471,  471,  471,  471,
448
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
449
      471,  471,  471,  471,  471,  471,  471,  471,    0,  471,
450
      471,  193,  471,  471,  471,  471,  196,  471,  471,  471,
451
      431,  430,   32,    0,    0,    0,    0,    0,    0,    0,
452
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
453
        0,    0,    0,  345,  346,  389,  389,  390,    0,    0,
454
455
      386,    0,  387,  387,  386,  386,  471,  402,  403,  402,
456
      404,  471,  471,  471,  471,  116,  471,  471,  471,  471,
457
      471,   10,  471,  471,  471,  471,  471,  471,  471,  471,
458
      471,   97,  471,  471,  307,  471,  471,  471,  471,  471,
459
      471,  471,  471,  471,  471,  471,  471,   12,  471,  471,
460
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
461
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
462
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
463
      471,  471,  272,  471,  471,  471,  471,  471,  471,  471,
464
      471,  471,  471,  471,  471,  310,    0,  471,  471,  471,
465
466
      471,  471,  471,  471,  471,  471,  471,   94,  471,  471,
467
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
468
       22,  471,  471,  471,  471,  471,  471,  471,  471,  471,
469
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
470
       36,  471,   39,  471,  471,  471,  471,  471,  471,  471,
471
      471,  471,  471,  471,  471,  471,  402,  471,  471,  471,
472
      471,   44,  471,  471,  471,  471,  471,  471,  471,  471,
473
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
474
      471,  471,  471,  471,  471,  471,  471,  471,  471,   91,
475
       92,  471,  471,  471,  471,  471,    0,    0,  471,  471,
476
477
      471,  471,  471,  471,  471,  471,   70,  471,  471,    0,
478
        0,    0,  443,    0,    0,    0,    0,    0,    0,    0,
479
        0,    0,    0,    0,    0,  442,    0,    0,    0,  440,
480
        0,    0,    0,    0,  386,  386,  386,  386,    0,  471,
481
      401,  471,  471,  471,  471,  471,  471,  471,  471,  471,
482
      471,  471,  471,  471,  471,  471,  471,  195,  471,  471,
483
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
484
      471,  471,  471,  471,  471,  471,  471,  117,  471,   86,
485
      471,  391,  471,  471,  471,  471,  471,  471,  471,  471,
486
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
487
488
      112,  471,  471,  471,  471,  471,  471,  471,  471,  471,
489
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
490
      471,  471,  471,  471,  182,  181,   80,  198,  471,  471,
491
      471,    0,  471,  471,   96,  471,  471,  471,  471,  471,
492
      471,   43,  471,  471,  471,  471,  471,  471,  471,  471,
493
      471,    9,  471,  471,  471,  471,  471,  471,  471,  471,
494
      471,  471,  471,  471,  197,  471,  347,  471,  471,  471,
495
      471,  471,  471,  471,  471,   37,  471,   41,  471,  471,
496
      471,  471,  471,   88,  471,  471,  172,  471,   84,  471,
497
      471,  471,   81,  471,  471,  338,   67,  471,  471,  471,
498
499
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
500
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
501
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
502
      471,  471,  471,  471,  239,  471,  471,   83,  471,  471,
503
        0,    0,  471,  471,  471,  471,  471,  471,  471,  471,
504
      471,  471,  471,    0,    0,    0,    0,    0,    0,    0,
505
      466,    0,    0,    0,    0,    0,    0,    0,  456,    0,
506
        0,    0,    0,    0,    0,    0,  386,  386,    0,  386,
507
      386,  471,  471,  471,  471,  471,  471,  471,  471,  471,
508
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
509
510
      471,  471,  191,   69,  340,  471,  392,  471,  471,  471,
511
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
512
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
513
      471,    2,  471,  471,  471,  471,  471,  471,  471,  471,
514
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
515
      471,  471,  471,  471,   79,  471,  471,  471,  471,  471,
516
      471,  471,  471,  471,  471,  471,  471,  471,  471,   21,
517
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
518
      471,  471,  471,  471,  471,  471,  471,  471,  471,  121,
519
      471,  471,  471,  471,  471,  471,  471,  264,  471,  471,
520
521
      471,  471,  471,  471,  471,  471,  471,   13,   35,   40,
522
       38,  471,  260,  471,  471,  471,  471,  471,  471,  471,
523
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
524
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
525
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
526
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
527
      471,  471,   93,  471,  471,   53,    0,    0,  471,  471,
528
      471,  471,  471,  471,  471,  114,  471,  471,    0,    0,
529
        0,  478,    0,    0,    0,  467,  459,  461,    0,    0,
530
        0,  445,    0,    0,    0,    0,    0,    0,    0,    0,
531
532
        0,  386,  386,  386,  386,    0,  471,  471,  471,  471,
533
      471,  471,  471,  471,  471,  471,  471,   20,  471,  471,
534
      471,  471,  471,  471,  171,  471,  471,  471,  471,  471,
535
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
536
      471,  471,  471,   87,  471,  471,  471,  471,  471,  471,
537
      471,  471,  471,  471,   82,  471,  471,  471,  471,  471,
538
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
539
      471,  103,  471,  471,  471,  471,  471,  471,  471,  471,
540
      471,  471,  186,  471,  471,  471,  471,  471,  311,  471,
541
      301,  471,  471,  471,  471,  471,  471,  471,  471,  471,
542
543
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
544
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
545
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
546
      471,  471,  471,  471,   89,  471,  471,  471,   85,  471,
547
      471,  339,  471,  471,  471,  471,  471,  471,  471,  471,
548
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
549
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
550
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
551
      471,  471,  471,   90,   55,  471,   77,   78,  471,  471,
552
      471,  471,  471,  471,  471,  471,  471,    0,    0,    0,
553
554
      481,  446,    0,  460,    0,    0,    0,    0,  444,    0,
555
        0,    0,    0,    0,    0,    0,  386,  386,    0,  386,
556
      386,  113,  471,   49,  471,  113,  471,  471,  471,  471,
557
      471,  471,  471,  471,   76,  471,  313,  179,  471,  471,
558
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
559
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
560
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
561
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
562
      471,  471,   15,  471,  471,  471,  471,  104,  471,  471,
563
      471,  471,  471,  471,  471,  163,  471,  471,  271,  471,
564
565
      471,  471,  471,  471,  471,  312,  471,  471,  471,  471,
566
      180,  471,  471,  471,  471,  263,  471,  471,  471,  471,
567
      471,  471,   14,  471,  471,  471,  471,  471,  471,  471,
568
      471,  471,  471,  265,  471,  471,  471,  471,  471,  471,
569
      288,  471,  471,  471,  471,  471,  471,  471,  471,  471,
570
      471,  471,  471,  471,  471,  471,  471,  471,  218,  471,
571
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
572
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
573
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
574
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
575
576
      471,  471,  471,  471,  471,  471,  471,  471,   48,  471,
577
      471,  471,  471,    0,    0,    0,  447,    0,    0,    0,
578
      457,    0,    0,    0,  441,    0,    0,    0,  386,  386,
579
      386,  386,    0,  471,  471,  471,  471,  471,  471,  471,
580
      471,  471,  471,  471,   75,  471,  471,  471,  471,  471,
581
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
582
      124,  471,  471,  471,  471,  471,  471,  471,  471,  471,
583
      471,  471,  237,  471,  471,  471,  471,  471,  471,   99,
584
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
585
      159,  471,  471,  471,  471,  471,  308,  471,  471,  471,
586
587
      105,  471,  471,  471,  471,  471,  471,  471,  184,  471,
588
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
589
      471,  471,  471,  471,  471,  471,  471,  471,  471,   42,
590
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
591
      471,  471,  471,  471,  471,  471,  471,   17,  471,  471,
592
      471,  471,  471,  471,  471,  471,  161,  471,   45,  471,
593
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
594
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
595
      471,  471,  471,  471,  471,  471,  221,  471,  471,  215,
596
      471,  471,  471,  471,  471,  241,  471,  471,  471,  471,
597
598
      471,  242,  471,  471,  471,  471,  471,  471,  471,  471,
599
      471,  471,  471,  471,  471,  471,    0,    0,  490,    0,
600
        0,  458,  484,    0,    0,    0,  386,  386,    0,  386,
601
      386,  471,  471,  471,  471,  471,  471,  471,  471,  471,
602
      471,  471,  471,  307,  471,  471,  199,  236,  471,  471,
603
      471,  471,  471,  471,  471,  471,  131,  471,  471,  471,
604
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
605
      471,  471,  250,   29,  471,  471,  471,  471,  471,    3,
606
        4,    6,  471,  471,   73,  471,  471,  471,  471,  471,
607
      471,  471,  299,  309,   50,  471,  471,  471,  471,  471,
608
609
      471,  471,  471,  471,  471,  471,  183,  262,  471,  471,
610
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
611
       25,  471,  471,  471,  316,   35,   38,  471,  471,  471,
612
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
613
      471,  471,   36,  471,  471,  471,  192,  471,  471,  471,
614
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
615
      471,  471,  471,  226,  471,  471,  222,  471,  471,  471,
616
      471,  471,  471,  471,  471,  471,  471,  471,  471,  246,
617
      471,  471,  471,  240,  471,  471,  471,  471,  471,  471,
618
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
619
620
      471,  471,   73,    0,    0,    0,  487,    0,    0,    0,
621
      386,  386,  386,  386,    0,  471,  471,  471,  471,  471,
622
      176,  471,  118,  471,  119,  471,   27,  471,  471,  249,
623
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
624
      471,  471,  471,  471,  471,  471,  126,  127,  122,  471,
625
      125,  471,  471,  471,  471,  471,  275,  471,  471,  471,
626
        5,  471,  471,  471,   71,  471,  471,   19,  471,  471,
627
      471,  471,  102,  471,  101,  298,  471,  471,  164,  471,
628
      185,  471,  471,  471,  471,   28,  471,  471,  471,  471,
629
      471,  471,  471,  471,  471,  471,  255,  471,   18,  471,
630
631
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
632
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
633
      471,  471,  260,  471,  471,  471,  471,  471,  471,  471,
634
      471,  471,  471,  471,  471,  200,  471,  471,  471,  471,
635
      471,  471,  471,  471,  213,  471,  224,  471,  471,  471,
636
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
637
      471,  471,  471,  471,  471,  471,  471,   56,   57,  471,
638
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
639
      471,   71,   74,    0,    0,    0,  386,  386,    0,  386,
640
      386,  471,   52,  471,  471,  471,  175,  471,  471,  471,
641
642
      471,  471,  471,  471,  471,  471,  143,  471,  471,  471,
643
      471,  129,  128,  471,  471,  471,  471,  471,  471,  123,
644
      471,  137,  471,  471,  471,  471,   26,  471,  471,  471,
645
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
646
      471,  471,  471,  100,  471,   24,  471,  471,  471,  471,
647
      471,  471,  471,  471,  471,   46,  471,   23,  471,  471,
648
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
649
      471,  251,  471,  253,  471,  471,  471,  471,  471,  471,
650
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
651
      471,  471,  471,  471,  471,  231,  471,  471,  471,  227,
652
653
      471,  471,  223,  225,  471,  471,  471,  471,  471,  471,
654
      471,  471,  471,  471,  234,  471,  471,  471,  471,  471,
655
      471,  471,  471,  471,  471,  471,  471,  471,  471,  282,
656
      471,  471,  471,  471,   72,    0,    0,    0,  386,  386,
657
      386,  386,    0,  471,  471,  471,  177,  471,  147,  471,
658
       47,  471,  471,  471,  471,  471,  136,  471,  471,  471,
659
      471,  471,  471,  471,  132,  471,  471,  471,  471,  471,
660
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
661
      149,  471,  471,  471,  471,  471,  471,  471,  270,  471,
662
      471,  471,  471,  471,  274,  471,  277,  471,  471,  279,
663
664
      471,  471,  471,  471,  471,  471,  306,  471,  471,  266,
665
      471,  268,  471,  471,  471,  471,  471,  471,  471,  471,
666
      471,  471,  471,  189,  471,  174,  471,  471,  471,  471,
667
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
668
      471,  471,  471,  471,  210,  471,  471,  233,  471,  471,
669
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
670
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
671
      471,    0,  386,  386,  386,    0,  386,  386,   51,  471,
672
      257,  471,  471,  471,  471,  471,  139,  471,  471,  471,
673
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
674
675
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
676
      471,  471,  281,  471,  471,  300,  471,  471,  471,  108,
677
      107,  106,  471,  276,  187,  471,  471,  471,  471,  471,
678
      278,  280,  471,  471,  471,   36,  471,  471,  471,  471,
679
      471,  471,  471,  471,  471,  471,  471,   66,  471,  471,
680
      261,  471,  190,  165,  471,  471,  471,  229,  471,  471,
681
      471,  170,  471,  214,  471,  471,  471,  220,  471,  471,
682
      471,  207,  216,  235,  471,  211,  212,  217,  244,  471,
683
      471,  245,  471,  471,  471,  471,  471,  471,  471,  471,
684
      283,  471,  471,  471,  110,  109,  471,    0,  386,  386,
685
686
      386,  386,  386,  471,  471,  471,  471,  471,  471,  471,
687
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
688
      471,  471,  138,  471,  471,  471,  471,  471,  471,  471,
689
      471,  471,  471,  471,  471,  471,  471,  471,  303,  471,
690
      471,  471,  471,  259,  471,  471,  471,  471,  471,  471,
691
      284,  471,  267,  269,  252,  471,  471,  471,  471,  471,
692
      471,  471,  471,  471,  471,  228,  471,  232,  471,  471,
693
      471,  219,  471,  471,  471,  204,  471,  471,  471,  248,
694
      238,  471,  471,  471,  471,  471,  471,  471,  471,  386,
695
      386,  386,  386,  471,  471,  471,  258,  471,  471,  471,
696
697
      142,  141,  471,  471,  471,  471,  471,  130,  471,  471,
698
      471,  471,  471,  471,  471,  471,  152,  471,  471,  471,
699
      153,  471,  471,   62,  471,  471,  305,  471,  166,  471,
700
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
701
       65,  471,  471,  471,  471,  471,  471,  471,  202,  471,
702
      471,  471,  471,  471,  471,  471,  471,  471,   54,  471,
703
      151,  254,  285,  286,  471,  471,  386,  386,  386,  256,
704
      471,  471,  471,  471,  471,  471,  146,  471,  471,  471,
705
      471,  126,  127,  125,  471,  471,  471,  150,  471,  471,
706
      471,  471,  471,  471,  471,  471,  471,  302,  471,  471,
707
708
      471,  471,  471,  471,  471,  471,  471,  471,  471,  471,
709
      201,  230,  169,  471,  471,  471,  471,  471,  471,  471,
710
      471,  471,  471,  471,  471,  386,  178,  471,  471,  471,
711
      471,  471,  471,  128,  471,  471,  133,  471,  471,  471,
712
      471,  471,  471,  471,  471,  471,  297,  471,  471,  471,
713
      295,  471,  471,  471,  471,   61,  471,  471,  471,  471,
714
      205,  471,  471,  208,  471,  471,  471,  209,  471,  471,
715
      287,  471,  148,  145,  471,  471,  471,  135,  471,  471,
716
      471,  471,  471,  471,  471,  293,  315,  304,  471,  296,
717
      471,  291,  471,  471,  471,   64,  471,  162,  471,  203,
718
719
      168,  167,  471,  471,  314,  471,  471,  144,  471,  134,
720
      471,  471,  471,  471,  471,  292,  471,  471,  471,  471,
721
      471,  471,  247,  471,  111,  471,  140,  471,  471,  471,
722
      471,  471,  471,  290,   60,   63,  188,  471,  471,  471,
723
      471,  471,  156,  157,  155,  294,  206,  243,  471,  471,
724
      158,  471,  154,  471,    0
725
    } ;
726
727
static const YY_CHAR yy_ec[256] =
728
    {   0,
729
        1,    1,    1,    1,    1,    1,    1,    2,    3,    4,
730
        1,    1,    5,    1,    1,    1,    1,    1,    1,    1,
731
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
732
        1,    3,    6,    7,    8,    9,   10,   11,   12,   13,
733
       14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
734
       24,   25,   26,   27,   26,   28,   28,   29,   30,   31,
735
       32,   33,   34,   35,   36,   37,   38,   39,   40,   37,
736
       41,   41,   42,   41,   43,   44,   45,   46,   47,   48,
737
       41,   49,   50,   51,   52,   53,   54,   55,   41,   41,
738
       56,   57,   58,   59,   60,    1,   61,   62,   63,   64,
739
740
       65,   66,   67,   68,   69,   70,   71,   72,   73,   74,
741
       75,   76,   77,   78,   79,   80,   81,   82,   83,   84,
742
       85,   86,   87,   88,   89,   90,    1,    1,    1,    1,
743
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
744
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
745
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
746
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
747
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
748
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
749
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
750
751
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
752
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
753
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
754
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
755
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
756
        1,    1,    1,    1,    1
757
    } ;
758
759
static const YY_CHAR yy_meta[91] =
760
    {   0,
761
        1,    1,    2,    2,    2,    1,    1,    1,    1,    1,
762
        1,    1,    3,    1,    1,    1,    1,    4,    1,    1,
763
        5,    5,    5,    5,    5,    5,    5,    5,    6,    1,
764
        1,    1,    1,    1,    1,    7,    7,    7,    7,    7,
765
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
766
        8,    8,    8,    8,    8,    3,    1,    1,    1,    9,
767
        7,    7,    7,    7,    7,    7,    8,    8,    8,    8,
768
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
769
        8,    8,    8,    8,    8,    8,    1,    1,    1,    1
770
    } ;
771
772
static const flex_int16_t yy_base[3402] =
773
    {   0,
774
        0,    0,   89,   95,  101,  105,  116,  122,  128,  134,
775
        0,    0,  154,    0,  244,    0,  334,    0,  101,  128,
776
      424,    0,  512,  515,  518,  521,  526,    0,  611,  612,
777
      618,  621,  624,  630,  633,  636,  639,  642,  645,  648,
778
     7799, 7798,  684,    0,  652,  656,  771,  772,  829,    0,
779
      660,  664,   87,   93, 7797, 7796, 7799, 7804, 7804, 7804,
780
      103, 7804, 7792,  907, 7804, 7786, 7804,   43, 7804, 7804,
781
     7764, 7804, 7804, 7804,   96,  965, 1029,  756, 7766, 7804,
782
      113,  889,  118, 7804, 1075, 1121, 7765,  750,  111,  751,
783
      753,   99,  752, 7804, 7789, 7804, 7804,  740,  601,  861,
784
785
      865,  731,  870,  894,  895,  933,  755,  896, 1127,  899,
786
      944,  966,  995, 1142,  906,  968,  758, 1055,  756,  759,
787
     7804, 7704, 7804, 7804, 7804, 7804, 7804, 1222, 7804, 7804,
788
     7804, 7804, 7804, 7804, 7804, 7804, 7804, 7771, 7775, 7804,
789
     7804, 7804,  928,    0, 7804, 7804,  729,    0,  902, 7804,
790
     7804, 7804, 1151, 1142, 1229,    0, 7804, 7804,  617,  957,
791
     1006, 7804, 7804, 7804, 7804, 7804, 7770, 7804,    0,    0,
792
     7785,    0, 7784, 7804, 7757, 7804, 7804, 7804, 7779, 7778,
793
      657,  601, 7708,    0, 7779,    0, 7778,    0, 7777,    0,
794
     7776,    0, 7775, 7773, 7804, 7758, 7804, 7804, 7804, 7804,
795
796
     7804, 7771, 7756, 1012, 7804, 7804, 7767, 7766, 7767, 7804,
797
     1008, 7804, 1225, 7804, 7804,  727, 7804, 7696, 7689, 7804,
798
     7804, 7762, 1286,  946, 1215, 7738, 1332, 1311, 1378, 1318,
799
     1357,    0, 7804, 7804, 7804, 7804, 7804, 7804, 1424, 1470,
800
     7737,  642,  929,  754,  765,  782,  105,  897,  948, 1011,
801
     7804, 1025, 7712,  994, 1016, 1035, 1030, 1007, 1050, 1052,
802
     1056, 1029,  733, 1195, 1089, 1077, 1205, 1100, 1102, 1080,
803
     1076, 1045, 1151, 1133, 7735, 1123, 1162, 1194, 1162, 1167,
804
     1203, 1240, 1169, 1245, 1249, 1185, 1189, 7734, 1253, 1256,
805
     1347, 1301, 1258, 1345, 1287, 1359, 1233, 1257, 1348, 1334,
806
807
     1335, 1264, 1362, 1357, 1358, 1360, 7733, 1379, 1346, 1398,
808
     1401, 7732, 1336, 1402, 1403, 1405, 1407, 1439, 1436, 1406,
809
     1443, 1409, 1425, 1472, 1455, 1428, 1449, 1482,  971, 1485,
810
     1491, 1495, 1496, 1450, 1498, 1500, 1501, 1508, 1510, 1509,
811
     1511, 1512, 1513, 1514, 1517, 1518, 1520, 1522, 1524, 1525,
812
     7804, 7804, 7804, 1545, 7804, 7804, 7804, 7804, 7804,    0,
813
     7804, 1586,    0,    0,    0,    0,    0,    0,    0, 1594,
814
     1601, 7804,    0, 1608, 1616,    0, 7804, 1544, 7804, 7804,
815
     1632, 7748,    0,    0, 7756,    0, 7755, 7728,    0, 1516,
816
     7804, 7680, 7692, 7693,    0, 7750,    0, 7749,    0, 7748,
817
818
        0, 7747,    0, 7746, 7744, 7804, 7804, 7729, 7804, 7804,
819
     7728, 1644, 7804, 1057, 7741, 7804, 7679, 1061, 1225, 7678,
820
     7661, 7663, 7696, 7703, 7702, 7689, 7696, 7655, 7654, 7655,
821
     1552, 1668, 1714, 1636, 1650, 7703,    0, 1760, 1657, 1688,
822
     7702, 1806, 1160, 1635, 1446, 1625, 1168, 1247, 1673, 7701,
823
     1674, 7700, 7699, 1852, 1636, 1532, 7698, 1529, 1530, 1526,
824
     1658, 1626, 1670, 1639, 1692, 1699, 1695, 1688, 1691, 1732,
825
     1736, 1220,  877, 1739, 1733, 1689, 1734, 1694, 1743, 1740,
826
     1742, 1716, 1718, 1744, 1738, 1745, 1761, 1780, 1822, 1777,
827
     7697, 1779, 1781, 1782, 7696, 1784, 1783, 1785, 1787, 1786,
828
829
     1827, 1819, 1790, 1828, 1834, 1807, 1820, 1837, 1865, 1866,
830
     1853, 1867, 1854, 1857, 1871, 1873, 1874, 1875, 1878, 1879,
831
     7695, 7694, 1881, 1882, 1877, 1890, 1880, 1891, 1892, 1894,
832
     1900, 1895, 1904, 1907, 1908, 1909, 1911, 1912, 1919, 1921,
833
     1924, 1926, 1930, 1927, 1931, 1936, 1937, 1954, 1928, 1941,
834
     1943, 1946, 1948, 1952, 1939, 1944, 1960, 1956, 1963, 1966,
835
     1973, 7693, 1976, 2002, 7692, 1984, 1987, 1949, 1965, 1971,
836
     2004, 2008, 1969, 2010, 7691, 2034,    0,    0, 7804, 7690,
837
     7643, 7645, 7652, 7649, 7648, 7634, 7648, 1999, 7635, 7647,
838
     7645, 7646, 7622, 7662, 7660, 7649, 7663, 7653, 7638, 7686,
839
840
     7685, 2045, 2066, 7669, 7668, 7667, 7666, 7665, 2075, 2087,
841
     7664,    0, 7663, 2056, 1363, 7662, 7661, 7660, 7659, 2052,
842
     2054, 2021, 2024, 2050, 2055, 2065, 2077, 2088, 2089, 2090,
843
     7658, 2091, 2092, 7657, 2094, 2095, 2096, 2098, 2100, 2102,
844
     2105, 2097, 2103, 2107, 2109, 2106, 2116, 2113, 7656, 2123,
845
     7655, 2114, 2110, 2118, 7654, 2129, 2112, 2126, 2122, 2137,
846
     2145, 2117, 2147, 2124, 2130, 2154, 2128, 2127, 1429, 2131,
847
     2141, 2174, 2181, 2142, 2182, 7653, 2183, 2184, 2186, 2188,
848
     2190, 2196, 2191, 2193, 2195, 2216, 2192, 2198, 2201, 2200,
849
     2199, 2197, 2202, 2213, 7609, 2204, 2206, 2207, 2211, 2232,
850
851
     2222, 2260, 7651, 2215, 2221, 2219, 2217, 2262, 2267, 2268,
852
     2218, 1640, 2270, 2223, 2272, 2275, 2273, 2276, 2277, 2278,
853
     2279, 2280, 2281, 2283, 2282, 2284, 2287, 2288, 2285, 2289,
854
     2296, 2286, 2292, 2290, 2295, 2293, 2307, 2299, 2315, 2302,
855
     2301, 2309, 2363, 2319, 2304, 2303, 2331, 2352, 2387, 2354,
856
     2360, 2312, 2365, 2361, 2364, 2366, 2368, 2370, 2333, 2373,
857
     2374, 2392, 2379, 2376, 2375, 2395, 7650, 2381, 2383, 2411,
858
     7804, 7804, 7649, 7599, 7595, 7602, 2470, 7609, 7604, 7607,
859
     7587, 7606, 7594, 7596, 7602, 7587, 7601, 7660, 7627, 7624,
860
     7615, 7656, 7584, 7804, 7804, 2455, 2464, 7629, 7628, 7627,
861
862
     7626,    0, 2474, 2483, 7625, 7624, 2378, 1268, 7623, 2208,
863
     7622, 2382, 2391, 2463, 2384, 7621, 2454, 2484, 2433, 2486,
864
     2489, 7620, 2487, 2491, 2492, 2490, 2396, 2493, 2494, 2495,
865
     2394, 7619, 2496, 2498, 2500, 2499, 2501, 2503, 2505, 2509,
866
     2512, 2513, 2502, 2508, 2515, 2504, 2518, 7618, 2522, 2514,
867
     2511, 2536, 2524, 2520, 2529, 2532, 2531, 2537, 2549, 2556,
868
     2557, 2568, 2566, 2570, 2571, 2572, 2573, 2574, 2576, 2579,
869
     2575, 2577, 2582, 2583, 2578, 2585, 2586, 2587, 2589, 2590,
870
     2591, 2595, 2593, 2596, 2599, 2594, 2597, 2601, 2600, 2603,
871
     2611, 2612, 2613, 2616, 2617, 7617, 7580, 2598, 2619, 2626,
872
873
     2637, 2639, 2642, 2651, 2648, 2649, 2650, 7615, 2654, 2655,
874
     2657, 2658, 2660, 2661, 2662, 2665, 2664, 2668, 2667, 2669,
875
     2670, 2671, 2672, 2675, 2673, 2677, 2681, 2684, 2685, 2678,
876
     2676, 2686, 2690, 2682, 2688, 2687, 2698, 2693, 2700, 2694,
877
     2699, 2703, 7614, 2706, 2707, 2714, 2719, 2704, 2724, 2735,
878
     2737, 2739, 2738, 2741, 2745, 2748, 2747, 2749, 2751, 2753,
879
     2754, 2759, 2757, 2758, 2761, 2762, 2766, 2764, 2763, 2768,
880
     2767, 2774, 2770, 2771, 2783, 2786, 2778, 2791, 2773, 2776,
881
     2796, 2779, 2808, 2787, 2829, 2830, 2831, 2835, 2834, 7613,
882
     7612, 2837, 2838, 2839, 2841, 2843, 7565, 7564, 2845, 2847,
883
884
     2846, 2848, 2849, 2850, 2851, 2852, 7609, 2853, 2854, 7557,
885
     7572, 7560, 2882, 2720, 7560, 2886, 7567, 7566, 7555, 7565,
886
     7551, 7547, 7561, 7546, 7560, 7804, 7582, 7576, 7572, 7804,
887
     7557, 7591, 7590, 7589, 7588, 7587, 7586, 7585,    0, 1533,
888
     7584, 2864, 2857, 2863, 2868, 2867, 2873, 2869, 2874, 2875,
889
     2876, 2880, 2877, 2881, 2882, 2885, 2889, 7583, 2895, 2888,
890
     2901, 2900, 2902, 2905, 2904, 2914, 2915, 2917, 2918, 2926,
891
     2930, 2929, 2931, 2933, 2932, 2942, 2935, 7582, 2941, 7581,
892
     2936, 2943, 2944, 2946, 2945, 2947, 2954, 2949, 2950, 2956,
893
     2955, 2961, 2959, 2965, 2960, 2972, 2966, 2963, 2957, 2953,
894
895
     7580, 2973, 2964, 2967, 2977, 2979, 2980, 2994, 3004, 3010,
896
     3011, 3012, 3013, 3018, 3019, 3021, 3022, 3024, 3023, 3026,
897
     3025, 3027, 3028, 3030, 7579, 7578, 7577, 7576, 3029, 3031,
898
     3035, 7530, 3034, 3033, 7574, 3032, 3039, 3041, 3036, 3044,
899
     3037, 7573, 3042, 3046, 3050, 3055, 3049, 3048, 3051, 3052,
900
     3053, 3062, 3069, 3072, 3071, 3075, 3078, 3083, 3086, 3092,
901
     3094, 3095, 3100, 3098, 7572, 3104, 7571, 3101, 3106, 3108,
902
     3109, 3110, 3111, 3112, 3113, 7570, 3115, 7569, 3116, 3120,
903
     3123, 3121, 3122, 7568, 3124, 3117, 3125, 3131, 7567, 3126,
904
     3127, 3129, 7566, 3128, 3133, 7565, 7564, 3138, 3135, 3145,
905
906
     3141, 3142, 3149, 3146, 3153, 3152, 3151, 3154, 3155, 3159,
907
     3162, 3160, 3176, 3180, 3185, 3186, 3192, 3195, 3198, 3202,
908
     3204, 3200, 3201, 3205, 3208, 3209, 3206, 3211, 3214, 3212,
909
     3216, 3213, 3217, 3218, 7563, 3219, 3220, 7562, 3222, 3221,
910
     7511, 7511, 3215, 3224, 3225, 3230, 3223, 3236, 3239, 3242,
911
     3229, 3228, 3241, 7528, 7522, 7522, 7503, 7508, 7518, 3313,
912
     7804, 3317, 3272, 3283, 7516, 7501, 7516, 3306, 7515, 7512,
913
     7533, 7531, 7535, 7509, 7544, 7543, 7542, 7541,    0, 7540,
914
     7539, 3278, 3283, 3255, 3294, 3250, 3260, 3295, 3296, 3297,
915
     3298, 3303, 3301, 3302, 3305, 3308, 3312, 3307, 3309, 3311,
916
917
     3310, 3319, 7538, 7537, 7536, 3313, 3322, 3321, 3314, 3317,
918
     3327, 3316, 3318, 3320, 3323, 3330, 3331, 3338, 3339, 3340,
919
     3341, 3334, 3324, 3328, 3335, 3332, 3374, 3333, 3350, 3382,
920
     3383, 3384, 3385, 3387, 3388, 3390, 3389, 3391, 3392, 3393,
921
     3394, 3396, 3395, 3398, 3399, 3397, 3400, 3402, 3401, 3403,
922
     3404, 3407, 3406, 3408, 7535, 3409, 3411, 3410, 3412, 3413,
923
     3414, 3419, 3417, 3421, 3418, 3424, 3434, 3432, 3430, 7804,
924
     3437, 3439, 3445, 3452, 3455, 3456, 3458, 3460, 3467, 3470,
925
     3471, 3472, 3477, 3473, 3478, 3481, 3479, 3482, 3483, 7534,
926
     3480, 3484, 3487, 3486, 3485, 3489, 3488, 7533, 3493, 3491,
927
928
     3494, 3495, 3502, 3499, 3496, 3500, 3504, 7532, 3497, 7531,
929
     3509, 3505, 3517, 3513, 3521, 3518, 3528, 3530, 3537, 3545,
930
     3546, 3549, 3551, 3553, 3554, 3555, 3557, 3558, 3559, 3560,
931
     3561, 3562, 3565, 3571, 3564, 3567, 3570, 3573, 3578, 3577,
932
     3572, 3580, 3568, 3576, 3582, 3575, 3587, 3583, 3589, 3593,
933
     3591, 3594, 3595, 3597, 3612, 3619, 3620, 3623, 3625, 3627,
934
     3629, 3630, 7530, 3635, 3631, 3637, 7478, 7477, 3638, 3641,
935
     3644, 3646, 3639, 3647, 3648, 7527, 3645, 3651, 7489, 7494,
936
     7472, 7473, 3676, 3680, 3717, 7804, 3687, 3693, 3722, 7491,
937
     7485, 3726, 7475, 7483, 3730, 7505, 7498, 7496, 7515, 7514,
938
939
     7513, 7512, 7511, 7510, 7509,    0, 2194, 3664, 3657, 3655,
940
     3673, 3674, 3680, 3686, 3688, 3697, 3701, 7508, 1719, 3659,
941
     3710, 3711, 3712, 3714, 7507, 3715, 3713, 3717, 3716, 3722,
942
     3718, 3721, 3724, 3725, 3727, 3729, 3730, 3728, 3731, 3736,
943
     3737, 3743, 3740, 7506, 3738, 3742, 3734, 3754, 3739, 3741,
944
     3744, 3750, 3762, 3756, 7505, 3764, 3757, 3758, 3765, 3779,
945
     3769, 3783, 3791, 3792, 3796, 3799, 3801, 3804, 3805, 3810,
946
     3809, 7504, 3811, 3813, 3814, 3815, 3817, 3816, 3819, 3820,
947
     3818, 3821, 7503, 3823, 3824, 3825, 3829, 3834, 3826, 3827,
948
     7502, 3831, 3832, 3836, 3839, 3841, 3837, 3835, 3859, 3843,
949
950
     3860, 3838, 3840, 3863, 3846, 3849, 3845, 3868, 3870, 3885,
951
     3888, 3873, 3893, 3889, 3896, 3897, 3898, 3899, 3907, 3902,
952
     3904, 3903, 3905, 3909, 3906, 3910, 3908, 3911, 3912, 3918,
953
     3915, 3913, 3916, 3917, 7501, 3921, 3924, 3925, 7500, 3926,
954
     3928, 7499, 3929, 3930, 3932, 3933, 3936, 3938, 3944, 3953,
955
     3959, 3937, 3956, 3941, 3962, 3974, 3965, 3975, 3976, 3971,
956
     3979, 3981, 3982, 3983, 3984, 3985, 3986, 3991, 3992, 3988,
957
     3996, 3998, 3993, 3999, 4000, 4003, 4002, 4012, 4007, 4004,
958
     4016, 4013, 4021, 7498, 4023, 4024, 7804, 7804, 4028, 4027,
959
     4029, 4032, 4034, 4040, 4041, 4046, 4049, 7457, 7459, 7452,
960
961
     7804, 4079, 4092, 4098, 7457, 7462, 7456, 7454, 4105, 7445,
962
     7444, 7470, 7480, 7511, 7485, 7484, 7483, 7482,    0, 7481,
963
     7480, 7479, 4051, 7478, 4056, 4060, 4063, 4057, 4067, 4069,
964
     4073, 4076, 4083, 4084, 7477, 4086, 7476, 7475, 4085, 4087,
965
     4089, 4091, 4097, 4098, 4101, 4094, 4102, 4100, 4105, 4103,
966
     4106, 4110, 4108, 4111, 4112, 4117, 4113, 4118, 4121, 4115,
967
     4120, 4107, 4122, 4123, 4124, 4127, 4126, 4134, 4146, 4128,
968
     4148, 4155, 4141, 4161, 4138, 4164, 4165, 4166, 4167, 4168,
969
     4171, 4178, 7474, 4179, 4180, 4181, 4183, 7473, 4186, 4185,
970
     4187, 4188, 4190, 4191, 4192, 7472, 4193, 4196, 7471, 4195,
971
972
     4200, 4201, 4204, 4202, 4208, 7470, 4210, 4209, 4211, 4212,
973
     7469, 4213, 4215, 4214, 4218, 7468, 4219, 4233, 4224, 4227,
974
     4231, 4236, 7467, 4234, 4246, 4239, 4247, 4248, 4240, 4249,
975
     4252, 4257, 4264, 7466, 4267, 4270, 4271, 4258, 4266, 4272,
976
     7465, 4273, 4274, 4278, 4281, 4282, 4283, 4284, 4285, 4290,
977
     4292, 4294, 4299, 4300, 4303, 4306, 4307, 4305, 7464, 4308,
978
     4309, 4310, 4313, 4314, 4315, 4318, 4319, 4323, 4322, 4321,
979
     4324, 4326, 4328, 4329, 4331, 4333, 4336, 4335, 4337, 4338,
980
     4343, 4346, 4347, 4351, 4360, 4361, 4362, 4364, 4368, 4370,
981
     4379, 4376, 4382, 4383, 4385, 4386, 4384, 4388, 4389, 4390,
982
983
     4391, 4392, 4393, 4394, 4395, 4400, 4401, 4399, 7463, 4402,
984
     4406, 4403, 4408, 7419, 7421, 7424, 4440, 7419, 7421, 4450,
985
     7407, 7403, 7419, 7432, 7804, 7453, 7452, 7451, 7450, 7449,
986
     7448, 7447,    0, 4405, 4409, 4410, 4415, 4428, 4433, 4434,
987
     4446, 4417, 4448, 4451, 7446, 4456, 4452, 4459, 4460, 4463,
988
     4465, 4479, 4461, 4466, 4467, 4468, 4471, 4472, 4475, 4474,
989
     7445, 4473, 4477, 4482, 4476, 4480, 4485, 4488, 4492, 4498,
990
     4493, 4484, 7444, 4499, 4487, 4489, 4483, 4478, 4504, 7443,
991
     4494, 4495, 4496, 4506, 4537, 4538, 4540, 4543, 4544, 4547,
992
     7442, 4548, 4549, 4550, 4551, 4555, 4552, 4554, 4556, 4557,
993
994
     4560, 4558, 4561, 4562, 4563, 4564, 4565, 4559, 7441, 4570,
995
     4566, 4567, 4568, 4571, 4572, 4574, 4578, 4573, 4575, 4577,
996
     4580, 4579, 4582, 4584, 4594, 4581, 4583, 4610, 4596, 7440,
997
     4612, 4615, 4618, 4620, 4623, 4631, 4633, 4634, 4636, 4637,
998
     4638, 4639, 4641, 4640, 4646, 4643, 4648, 7439, 4644, 4647,
999
     4645, 4649, 4657, 4651, 4650, 4660, 7438, 4665, 7437, 4668,
1000
     4654, 4652, 4662, 4653, 4655, 4661, 4656, 4671, 4658, 4673,
1001
     4674, 4672, 4664, 4700, 4669, 4716, 4701, 4705, 4717, 4714,
1002
     4718, 4719, 4721, 4722, 4723, 4724, 7436, 4725, 4727, 7435,
1003
     4726, 4729, 4728, 4730, 4731, 7434, 4732, 4734, 4735, 4733,
1004
1005
     4736, 7433, 4737, 4738, 4739, 4741, 4740, 4742, 4744, 4748,
1006
     4751, 4747, 4745, 4752, 4761, 4765, 7396, 7388, 7804, 7387,
1007
     7389, 7804, 7378, 4811, 7427, 7426, 7425, 7424,    0, 7423,
1008
     7422, 4760, 4766, 4767, 4772, 4775, 4781, 4791, 4797, 4800,
1009
     4802, 4803, 4804, 7421, 4809, 4805, 7420, 7419, 4810, 4806,
1010
     4813, 4808, 4819, 4812, 4820, 4816, 7418, 4817, 4821, 4823,
1011
     4827, 4826, 4828, 4829, 4831, 1810, 4824, 4832, 4825, 4833,
1012
     4834, 4815, 7417, 4836, 4835, 4837, 4840, 4838, 4870, 7416,
1013
     7415, 7414, 4871, 4872, 7413, 4873, 4877, 4874, 4878, 4879,
1014
     4882, 4880, 7412, 7411, 7410, 4889, 4885, 4884, 4887, 4892,
1015
1016
     4891, 4893, 4894, 4895, 4896, 4901, 7409, 7408, 4897, 4898,
1017
     4899, 4902, 4903, 4915, 4900, 4914, 4904, 4908, 4906, 4925,
1018
     4916, 4933, 4910, 4918, 7407, 4921, 4923, 4935, 4926, 4937,
1019
     4948, 4949, 4960, 4962, 4963, 4971, 4964, 4972, 4967, 4974,
1020
     4975, 4976, 4977, 4978, 4980, 4981, 7406, 4983, 4979, 4982,
1021
     4991, 4984, 4986, 4988, 4993, 4987, 4989, 5007, 4996, 5010,
1022
     5003, 5012, 4992, 7405, 5013, 5001, 7404, 5014, 5039, 5040,
1023
     5042, 5002, 5046, 5051, 5050, 5055, 5052, 5056, 5058, 7403,
1024
     5057, 5060, 5061, 7402, 5062, 5064, 5065, 5067, 5063, 5068,
1025
     5069, 5066, 5073, 5070, 5076, 5077, 5072, 5079, 3336, 5082,
1026
1027
     5074, 5080, 7804, 7365, 7364, 7356, 7804, 7398, 7397, 7396,
1028
     7395, 7394, 7393, 7392,    0, 5083, 5081, 5084, 5086, 5090,
1029
     7391, 5085, 7390, 5087, 7389, 5088, 7388, 5089, 5103, 7387,
1030
     5101, 5104, 5114, 5120, 5126, 5105, 5128, 5130, 5137, 5138,
1031
     5139, 5141, 5142, 5143, 5146, 5147, 5148, 5150, 7386, 5151,
1032
     5153, 5154, 5152, 5157, 5155, 5158, 7385, 5161, 5156, 5159,
1033
     7384, 5162, 5164, 5169, 7383, 5170, 5165, 7382, 5166, 5163,
1034
     5172, 5167, 7381, 5174, 7380, 7379, 5176, 5179, 7378, 5182,
1035
     7377, 5185, 5177, 5187, 5193, 5205, 5207, 5210, 5215, 5213,
1036
     5217, 5221, 5222, 5224, 5219, 5226, 7376, 5228, 7375, 5227,
1037
1038
     5234, 5230, 5232, 5235, 5238, 5237, 5239, 5245, 5243, 5248,
1039
     5244, 5250, 5246, 5240, 5251, 5241, 5242, 5265, 5252, 5271,
1040
     5254, 5253, 7374, 5255, 5267, 5256, 5257, 5268, 5269, 5279,
1041
     5272, 5274, 5289, 5293, 5294, 7373, 5295, 5306, 5307, 5308,
1042
     5309, 5314, 5316, 5317, 7372, 5318, 7371, 5321, 5322, 5325,
1043
     5330, 5326, 5323, 5327, 5324, 5328, 5332, 5331, 5333, 5335,
1044
     5337, 5336, 5340, 5339, 5343, 5344, 5341, 7370, 7369, 5342,
1045
     5345, 5346, 5347, 5353, 5363, 5366, 5370, 5371, 5379, 5383,
1046
     5384, 7804, 7804, 7332, 7367, 7366, 7365, 7364,    0, 7363,
1047
     7362, 5386, 7361, 5388, 5387, 5390, 5397, 5398, 5391, 5392,
1048
1049
     5403, 5408, 5405, 5400, 5401, 5410, 7360, 5414, 5416, 5418,
1050
     5404, 7359, 5411, 5412, 5407, 5409, 5419, 5413, 5420, 7358,
1051
     5421, 7357, 5424, 5425, 5426, 5429, 7356, 5434, 5431, 5446,
1052
     5437, 5430, 5454, 5456, 5458, 5459, 5460, 5466, 5467, 5472,
1053
     5473, 5474, 5475, 7355, 5476, 7354, 5480, 5481, 5482, 5483,
1054
     5485, 5484, 5486, 5488, 5487, 7353, 5495, 5491, 5493, 5496,
1055
     5497, 5498, 5500, 5501, 5499, 5507, 5505, 5508, 5506, 5509,
1056
     5512, 7352, 5517, 7350, 5518, 5489, 5519, 5528, 5533, 5534,
1057
     5540, 5536, 5543, 5544, 5550, 5553, 5554, 5555, 5556, 5557,
1058
     5559, 5560, 5565, 5561, 5566, 7347, 5564, 5567, 5569, 7344,
1059
1060
     5573, 5577, 7341, 7338, 5578, 5571, 5575, 5576, 5584, 5580,
1061
     5585, 5586, 5587, 5588, 7335, 5589, 5592, 5593, 5594, 5598,
1062
     5606, 5608, 5613, 5590, 5615, 5616, 5617, 5618, 5619, 7329,
1063
     5623, 5620, 5629, 5625, 7804, 7326, 7320, 7314, 7308, 7284,
1064
     7272, 7248,    0, 5631, 5635, 5632, 7236, 5638, 7212, 5648,
1065
     7200, 5640, 5644, 5645, 5649, 5652, 7176, 5651, 5653, 5656,
1066
     5658, 5657, 5661, 5665, 7164, 5662, 5666, 5664, 5677, 5678,
1067
     5680, 5663, 5685, 5668, 5670, 5672, 5686, 5688, 5690, 5687,
1068
     7140, 5695, 5715, 5719, 5691, 5698, 5701, 5703, 7128, 5718,
1069
     5720, 5724, 5726, 5728, 7107, 5731, 7104, 5738, 5739, 7093,
1070
1071
     5741, 5742, 5743, 5745, 5748, 5746, 7071, 5752, 5755, 7065,
1072
     5757, 7046, 5758, 5759, 5761, 5763, 5764, 5765, 5766, 5769,
1073
     5770, 5773, 5767, 5771, 5778, 7037, 5779, 5775, 5776, 5780,
1074
     4990, 5781, 5783, 5782, 5786, 5787, 5790, 5794, 5800, 5804,
1075
     5806, 5809, 5810, 5819, 7028, 5820, 5822, 7019, 5825, 5823,
1076
     5828, 5827, 5832, 5833, 5834, 5836, 5837, 5841, 5842, 5843,
1077
     5840, 5844, 5847, 5846, 5849, 5852, 5854, 5853, 5856, 5857,
1078
     5864, 7010,    0, 6994, 6985,    0, 6980,    0, 6975, 5865,
1079
     6973, 5862, 5866, 5869, 5870, 5872, 6968, 5867, 5873, 5874,
1080
     5879, 5878, 5876, 5890, 5883, 5888, 5891, 5897, 5899, 5900,
1081
1082
     5882, 5904, 5902, 5905, 5910, 5915, 5920, 5922, 5917, 5921,
1083
     5930, 5928, 6965, 5933, 5935, 6960, 5929, 5934, 5941, 6957,
1084
     6949, 6932, 5936, 6926, 6907, 5937, 5938, 5940, 5946, 5943,
1085
     6898, 6889, 5948, 5950, 5953, 5949, 5959, 5958, 5960, 5961,
1086
     5967, 5968, 5975, 5976, 5978, 5977, 5979, 6880, 5983, 5980,
1087
     6871, 5988, 6857, 6848, 5984, 5989, 5990, 6843, 5991, 5998,
1088
     5996, 6838, 6001, 6836, 6004, 5999, 6002, 6831, 6005, 6003,
1089
     6006, 6826, 6642, 6639, 6008, 6638, 6637, 6635, 6634, 6009,
1090
     6011, 6633, 6014, 6015, 6018, 6019, 6021, 6020, 6022, 6031,
1091
     6632, 6029, 6032, 6037, 6631, 6630, 6044, 6629,    0, 6628,
1092
1093
        0, 6627,    0, 6046, 6052, 6056, 6057, 6058, 6061, 6063,
1094
     6062, 6068, 6060, 6071, 6075, 6073, 6077, 6074, 6078, 6081,
1095
     6082, 6083, 6626, 6079, 6084, 6089, 6085, 6086, 6087, 6088,
1096
     6090, 6093, 6094, 6095, 6097, 6100, 6101, 6108, 6625, 6109,
1097
     6114, 6110, 6112, 6624, 6126, 6122, 6127, 6132, 6129, 6133,
1098
     6623, 6134, 6622, 6620, 6607, 6142, 6137, 6143, 6144, 6147,
1099
     6149, 6156, 6145, 6151, 6157, 6606, 6160,  649, 6158, 6161,
1100
     6163,  766, 6164, 6166, 6167,  796, 6168, 6169, 6171,  903,
1101
      932, 6170, 6175, 6176, 6180, 6184, 6185, 6186, 6187,    0,
1102
     1004,    0,    0, 6178, 6189, 6191, 1013, 6198, 6193, 6199,
1103
1104
     1099, 1103, 6200, 6205, 6207, 6209, 6208, 1164, 6213, 6217,
1105
     6218, 6223, 6224, 6226, 6230, 6231, 1180, 6232, 6233, 6237,
1106
     1259, 6244, 6235, 1426, 6239, 6245, 1445, 6250, 1535, 6251,
1107
     6246, 6249, 6252, 6255, 6257, 6258, 6260, 6261, 6262, 6263,
1108
     1560, 6265, 6269, 6272, 6273, 6276, 6277, 6278, 1624, 6280,
1109
     6283, 6287, 6291, 6288, 6293, 6294, 6296, 6298, 1637, 6299,
1110
     1638, 1791, 1809, 2023, 6304, 6300, 7804,    0, 7804, 2120,
1111
     6303, 6311, 6306, 6309, 6313, 6314, 2209, 6315, 6317, 6316,
1112
     6318, 2297, 2300, 2377, 6319, 6322, 6323, 2385, 6325, 6337,
1113
     6342, 6344, 6328, 6327, 6346, 6321, 6347, 2769, 6351, 6348,
1114
1115
     6354, 6359, 6363, 6357, 6360, 6365, 6369, 6372, 6374, 6373,
1116
     2777, 2780, 2781, 6375, 6386, 6378, 6380, 6381, 6383, 6388,
1117
     6387, 6389, 6394, 6395, 6399, 7804, 3226, 6397, 6398, 6401,
1118
     6400, 6403, 6404, 3227, 6405, 6407, 3243, 6408, 6410, 6411,
1119
     6413, 6415, 6418, 6421, 6420, 6423, 3326, 6424, 6425, 6427,
1120
     3640, 6436, 6441, 6447, 6428, 4481, 6448, 6449, 6450, 6453,
1121
     4811, 6455, 6456, 4907, 6465, 6466, 6469, 6471, 6474, 6472,
1122
     6475, 6476, 6477, 6479, 6482, 6480, 6481, 6483, 6485, 6487,
1123
     6491, 6486, 6494, 6496, 6499, 6488, 6489, 6492, 6493, 6498,
1124
     6501, 6503, 6504, 6505, 6507, 6509, 6511, 6510, 6512, 6513,
1125
1126
     6514, 6515, 6519, 6529, 6534, 6536, 6537, 6539, 6540, 6542,
1127
     6544, 6543, 6545, 6546, 6547, 6548, 6550, 6549, 6551, 6553,
1128
     6554, 6558, 6557, 6559, 6560, 6562, 6563, 6564, 6565, 6566,
1129
     6569, 6571, 6572, 6567, 6568, 6573, 6574, 6576, 6580, 6578,
1130
     6587, 6579, 6577, 6581, 6582, 6585, 6588, 6589, 6594, 6598,
1131
     6599, 6600, 6603, 6605, 7804, 6672, 6681, 6690, 6699, 6708,
1132
     6717, 6726, 6735, 6744, 6753, 6762, 6771, 6780, 6789, 6798,
1133
     6807, 6816, 6825, 6834, 6839, 6844, 6849, 6854, 6861, 6866,
1134
     6875, 6884, 6890, 6898, 6907, 6916, 6925, 6934, 6943, 6949,
1135
     6955, 6964, 6969, 6972, 6975, 6980, 6983, 6988, 6991, 6998,
1136
1137
     7003, 7012, 7021, 7027, 7029, 7037, 7046, 7055, 7064, 7073,
1138
     7082, 7088, 7094, 7103, 7108, 7113, 7116, 7119, 7122, 7127,
1139
     7130, 7134, 7139, 7142, 7145, 7148, 7151, 7154, 7157, 7160,
1140
     7163, 7166, 7169, 7172, 7175, 7178, 7181, 7184, 7187, 7190,
1141
     7193, 7196, 7199, 7202, 7205, 7208, 7211, 7214, 7217, 7220,
1142
     7223, 7226, 7229, 7232, 7235, 7238, 7241, 7244, 7247, 7250,
1143
     7253, 7256, 7259, 7262, 7265, 7268, 7271, 7274, 7277, 7280,
1144
     7283, 7286, 7289, 7292, 7295, 7298, 7301, 7304, 7307, 7310,
1145
     7313, 7316, 7319, 7322, 7325, 7328, 7331, 7334, 7337, 7340,
1146
     7343, 7346, 7349, 7352, 7355, 7358, 7361, 7364, 7367, 7370,
1147
1148
     7373
1149
    } ;
1150
1151
static const flex_int16_t yy_def[3402] =
1152
    {   0,
1153
     3255,    1, 3256, 3256, 3257, 3257, 3258, 3258, 3259, 3259,
1154
     3260, 3260, 3255,   13, 3255,   15, 3255,   17, 3261, 3261,
1155
     3255,   21, 3262, 3262, 3263, 3263, 3255,   27, 3264, 3264,
1156
     3265, 3265, 3266, 3266, 3267, 3267, 3268, 3268, 3269, 3269,
1157
     3270, 3270, 3255,   43, 3271, 3271, 3272, 3272, 3255,   49,
1158
     3260, 3260, 3273, 3273, 3274, 3274, 3255, 3255, 3255, 3255,
1159
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1160
     3255, 3255, 3255, 3255, 3255, 3275, 3275,   77, 3255, 3255,
1161
     3255, 3255, 3255, 3255, 3276, 3276, 3276, 3276, 3276, 3276,
1162
     3276, 3276, 3276, 3255, 3255, 3255, 3255,   86,   86,   86,
1163
1164
       86,   86,   86, 3276, 3276, 3276, 3276, 3276, 3276, 3276,
1165
     3276, 3276, 3276, 3276, 3276, 3276, 3276, 3276, 3276, 3276,
1166
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1167
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1168
     3255, 3255, 3255, 3277, 3255, 3255, 3277, 3277, 3277, 3255,
1169
     3255, 3255, 3255, 3255, 3255, 3278, 3255, 3255, 3279, 3279,
1170
     3279, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3280, 3281,
1171
     3255, 3282, 3255, 3255, 3283, 3255, 3255, 3255, 3255, 3255,
1172
     3255, 3255, 3255, 3284, 3255, 3285, 3255, 3286, 3255, 3287,
1173
     3255, 3288, 3255, 3289, 3255, 3290, 3255, 3255, 3255, 3255,
1174
1175
     3255, 3255, 3291, 3255, 3255, 3255, 3255, 3255, 3292, 3255,
1176
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1177
     3255, 3255,   77,  223,  223, 3293,  223,  223,  227,  223,
1178
      223, 3294, 3255, 3255, 3255, 3255, 3255, 3255, 3295, 3295,
1179
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1180
     3255,  240,  240, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1181
     3295,  240,  240, 3295, 3295, 3295,  240, 3295, 3295, 3295,
1182
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,  240, 3295,
1183
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1184
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1185
1186
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1187
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1188
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1189
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1190
     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
1191
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3296,
1192
     3255, 3255, 3297, 3297, 3297, 3297, 3297, 3297, 3297, 3255,
1193
     3255, 3255, 3298, 3255, 3255, 3299, 3255, 3300, 3255, 3255,
1194
     3300, 3255, 3301, 3302, 3255, 3303, 3255, 3304, 3305, 3255,
1195
     3255, 3255, 3255, 3255, 3306, 3255, 3307, 3255, 3308, 3255,
1196
1197
     3309, 3255, 3310, 3255, 3311, 3255, 3255, 3312, 3255, 3255,
1198
     3313, 3255, 3255, 3255, 3314, 3255, 3255, 3255, 3255, 3255,
1199
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1200
     3255, 3315, 3315,  433,  433, 3316, 3317,  433,  433,  433,
1201
     3318, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1202
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1203
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1204
     3319,  454,  454, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1205
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1206
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1207
1208
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1209
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1210
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1211
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1212
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1213
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1214
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1215
     3319, 3319, 3319, 3319, 3319, 3255, 3320, 3321, 3255, 3322,
1216
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1217
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1218
1219
     3255, 3315, 3315, 3315, 3315, 3323, 3324, 3325, 3315, 3315,
1220
     3326, 3327, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1221
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1222
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1223
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1224
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1225
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1226
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1227
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1228
     3319, 3319, 3319, 3319, 3255, 3319, 3319, 3319, 3319, 3319,
1229
1230
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1231
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1232
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1233
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1234
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1235
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255, 3319,
1236
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1237
     3255, 3255, 3322, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1238
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1239
     3255, 3255, 3255, 3255, 3255, 3315, 3315, 3315, 3328, 3329,
1240
1241
     3330, 3331, 3315, 3315, 3332, 3333, 3319, 3319, 3319, 3319,
1242
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1243
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1244
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1245
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1246
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1247
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1248
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1249
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1250
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3319, 3319, 3319,
1251
1252
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1253
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1254
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1255
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1256
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1257
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1258
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1259
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1260
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1261
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255, 3319, 3319,
1262
1263
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255,
1264
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1265
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1266
     3255, 3255, 3334, 3335, 3336, 3337, 3255, 3338, 3339, 3319,
1267
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1268
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1269
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1270
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1271
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1272
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1273
1274
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1275
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1276
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1277
     3319, 3255, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1278
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1279
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1280
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1281
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1282
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1283
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1284
1285
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1286
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1287
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1288
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1289
     3255, 3255, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1290
     3319, 3319, 3319, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1291
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1292
     3255, 3255, 3255, 3255, 3340, 3341, 3255, 3342, 3343, 3344,
1293
     3345, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1294
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1295
1296
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1297
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1298
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1299
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1300
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1301
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1302
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255,
1303
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1304
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1305
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1306
1307
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1308
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1309
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1310
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1311
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1312
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1313
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255, 3319, 3319,
1314
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255,
1315
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1316
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3346,
1317
1318
     3347, 3348, 3349, 3255, 3350, 3351, 3319, 3319, 3319, 3319,
1319
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1320
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1321
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1322
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1323
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1324
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1325
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1326
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1327
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1328
1329
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1330
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1331
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1332
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1333
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1334
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1335
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1336
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1337
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255, 3319, 3319,
1338
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255, 3255,
1339
1340
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1341
     3255, 3255, 3255, 3255, 3352, 3353, 3255, 3354, 3355, 3356,
1342
     3357, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1343
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1344
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1345
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1346
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1347
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1348
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1349
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1350
1351
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1352
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1353
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1354
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1355
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1356
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1357
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1358
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1359
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1360
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1361
1362
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1363
     3319, 3319, 3319, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1364
     3255, 3255, 3255, 3255, 3255, 3255, 3358, 3359, 3360, 3361,
1365
     3255, 3362, 3363, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1366
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1367
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1368
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1369
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1370
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1371
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1372
1373
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1374
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1375
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1376
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1377
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1378
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1379
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1380
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1381
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1382
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1383
1384
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1385
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3255, 3255, 3255,
1386
     3255, 3255, 3255, 3255, 3364, 3365, 3255, 3366, 3367, 3368,
1387
     3369, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1388
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1389
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1390
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1391
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1392
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1393
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1394
1395
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1396
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1397
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1398
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1399
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1400
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1401
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1402
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1403
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1404
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1405
1406
     3319, 3319, 3255, 3255, 3255, 3255, 3255, 3255, 3370, 3371,
1407
     3372, 3373, 3255, 3374, 3375, 3319, 3319, 3319, 3319, 3319,
1408
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1409
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1410
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1411
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1412
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1413
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1414
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1415
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1416
1417
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1418
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1419
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1420
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1421
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1422
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1423
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1424
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1425
     3319, 3255, 3255, 3255, 3376, 3377, 3255, 3378, 3379, 3380,
1426
     3381, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1427
1428
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1429
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1430
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1431
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1432
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1433
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1434
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1435
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1436
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1437
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1438
1439
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1440
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1441
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1442
     3319, 3319, 3319, 3319, 3255, 3255, 3382, 3383, 3384, 3385,
1443
     3255, 3386, 3387, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1444
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1445
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1446
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1447
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1448
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1449
1450
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1451
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1452
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1453
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1454
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1455
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1456
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1457
     3319, 3388, 3389, 3255, 3390, 3391, 3392, 3393, 3319, 3319,
1458
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1459
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1460
1461
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1462
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1463
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1464
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1465
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1466
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1467
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1468
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1469
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1470
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3255, 3394, 3395,
1471
1472
     3396, 3255, 3397, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1473
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1474
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1475
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1476
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1477
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1478
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1479
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1480
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3398,
1481
     3255, 3399, 3400, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1482
1483
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1484
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1485
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1486
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1487
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1488
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1489
     3319, 3319, 3319, 3319, 3319, 3319, 3255, 3401, 3255, 3319,
1490
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1491
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1492
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1493
1494
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1495
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1496
     3319, 3319, 3319, 3319, 3319, 3255, 3319, 3319, 3319, 3319,
1497
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1498
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1499
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1500
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1501
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1502
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1503
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1504
1505
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1506
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1507
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1508
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1509
     3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319,
1510
     3319, 3319, 3319, 3319,    0, 3255, 3255, 3255, 3255, 3255,
1511
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1512
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1513
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1514
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1515
1516
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1517
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1518
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1519
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1520
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1521
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1522
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1523
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1524
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1525
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1526
1527
     3255
1528
    } ;
1529
1530
static const flex_int16_t yy_nxt[7895] =
1531
    {   0,
1532
       58,   59,   59,   60,   59,   61,   62,   63,   64,   65,
1533
       66,   67,   68,   69,   70,   71,   72,   73,   74,   75,
1534
       76,   77,   78,   78,   78,   78,   78,   78,   79,   80,
1535
       81,   82,   83,   58,   84,   85,   86,   86,   86,   86,
1536
       87,   88,   87,   87,   87,   89,   87,   87,   87,   90,
1537
       91,   92,   87,   93,   87,   94,   95,   96,   97,   87,
1538
       98,   99,  100,  101,  102,  103,  104,  105,  106,   87,
1539
      107,  108,  109,  110,  111,  112,   87,  113,  114,  115,
1540
      116,  117,  118,  119,  120,   87,  121,  122,  123,  124,
1541
      126,  126,  207,  126,  208,  127,  126,  126,  207,  126,
1542
1543
      208,  127,  130,  130,   58,  130,  130,  130,  211,  130,
1544
      221,  218,  131,  163,  164,  222,  131,  133,  133,  134,
1545
      133,  219,  135,  133,  133,  134,  133, 3255,  135,  137,
1546
      137,   58,  137, 3255,  212,  137,  137,  249,  137, 3255,
1547
      163,  164,  138,  233,  234,  128,  244,  139,  138,  237,
1548
      238,  128,  450,  139,   58,   58,   58,   58,   58,   58,
1549
       58,   58,   58,   58,   58,   58,   58,   58,  140,   58,
1550
       58,   58,  141,   58,  142,  143,  143,  143,  143,  143,
1551
      143,  143,   58,   58,   58,   58,   58,   58,   58,  144,
1552
      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
1553
1554
      144,  144,  144,  144,  144,  144,  144,  144,  144,  145,
1555
       58,  146,   58,  144,  144,  144,  144,  144,  144,  147,
1556
      148,  144,  144,  144,  144,  144,  144,  144,  144,  144,
1557
      144,  144,  144,  149,  144,  144,  144,  144,  144,  144,
1558
       58,   58,   58,   58,  150,  150,  150,   58,  150,  150,
1559
      151,  150,  150,  150,  150,  150,  150,  150,  150,  150,
1560
      150,  150,  152,  150,  153,  154,  155,  155,  155,  155,
1561
      155,  155,  150,  150,  150,  150,  150,  150,  150,  156,
1562
      156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1563
      156,  156,  156,  156,  156,  156,  156,  156,  156,  157,
1564
1565
      150,  158,  150,  156,  156,  156,  156,  156,  156,  156,
1566
      156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1567
      156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1568
      150,  150,  150,  150,   58,   58,   58,   58,   58,   58,
1569
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1570
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1571
       58,   58,   58,   58,   58,   58,   58,   58,   58,  159,
1572
      159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
1573
      159,  159,  159,  159,  159,  159,  159,  159,  159,   58,
1574
       58,   58,   58,  159,  159,  159,  159,  159,  159,  160,
1575
1576
      161,  159,  159,  159,  159,  159,  159,  159,  159,  159,
1577
      159,  159,  159,  160,  159,  159,  159,  159,  159,  159,
1578
       58,   58,   58,   58,  165,  166,  166,  165,  166,  165,
1579
      165,  165,  165,  165,  165,  167,  168,  165,  165,  165,
1580
      165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
1581
      165,  165,  165,  165,  165,  165,  165,  165,  165,  169,
1582
      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1583
      169,  169,  169,  169,  169,  169,  169,  169,  169,  165,
1584
      165,  165,  165,  169,  169,  169,  169,  169,  169,  169,
1585
      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1586
1587
      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1588
      165,  165,  165,  165,  171,   58,   58,  171,   58,   58,
1589
      173,   58,   58,  173,   58,   58,   58,  174,  174,  174,
1590
      174,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1591
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1592
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1593
       58,  175,  175,  175,  175,  175,  175,  175,  175,  175,
1594
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
1595
      175,  176,   58,  177,   58,   58,  175,  175,  175,  175,
1596
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
1597
1598
      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
1599
      175,  175,   58,   58,   58,   58,  179,  179,  180,  180,
1600
      185,   58,   58,  185,   58,   58,  187,   58,   58,  377,
1601
      181,  181,  187,   58,   58,  189,   58,   58,  189,   58,
1602
       58,  191,   58,   58,  191,   58,   58,  193,   58,   58,
1603
      193,   58,   58,  198,  198,  199,  198,  198,  198,  199,
1604
      198,  204,  204,  205,  204,  204,  204,  205,  204,  259,
1605
     3255,  221,  379,  392,  393,  260,  391, 3255,  261,  182,
1606
      182,  444,  183,  183,   58,   58,   58,   58,   58,   58,
1607
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1608
1609
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1610
       58,   58,   58,   58,   58,   58,   58,   58,   58,  196,
1611
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
1612
      196,  196,  196,  196,  196,  196,  196,  196,  196,   58,
1613
       58,   58,   58,  196,  196,  196,  196,  196,  196,  196,
1614
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
1615
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
1616
       58,   58,   58,   58,  201,  201,  231,  231, 3255, 3255,
1617
     3255, 3255, 3255, 3255, 3255,  241, 3255, 3255,  245,  215,
1618
      247,  428,  364, 3255, 3255,  242,  248,  243,  447,  466,
1619
1620
      246,  250,  273,  252,  274,  253,  365,  275,  276,  366,
1621
     3255,  254,  277,  255,  278,  448,  349,  225,  256,  293,
1622
      257,  258,  342,  350, 3255,  449,  343,  202,  202,   58,
1623
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1624
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1625
       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
1626
       58,   58,   58,   58,  203,  203,  203,  203,  203,  203,
1627
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1628
      203,  203,  203,  203,   58,   58,   58,   58,  203,  203,
1629
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1630
1631
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1632
      203,  203,  203,  203,  203,   58,   58,   58,   58,  214,
1633
      235,  262, 3255, 3255, 3255, 3255,  263, 3255,  264,  267,
1634
      279, 3255,  265,  268, 3255,  266,  241,  643,  269,  270,
1635
      215,  280,  271,  272,  281,  644,  451,  282,  362,  362,
1636
      362,  362,  362,  362,  362,  362,  294, 3255,  285,  306,
1637
     3255, 3255,  283,  307,  295,  367,  433,  433,  334,  377,
1638
      296,  284, 3255,  308,  286,  380, 3255,  335,  236,  368,
1639
      336,  445,  369,  337,  216,  223,  223,  224,  224,  224,
1640
      224,  224,  225,  226, 3255,  452, 3255,  287,  288, 3255,
1641
1642
      225,  225,  225,  225,  225,  289,  290,  434,  291,  309,
1643
      446,  292,  379,  412,  412,  413,  412,  310,  377,  311,
1644
      381,  312, 3255, 3255,  380,  225,  228,  225,  225,  225,
1645
      225,  338, 2776,  313,  381, 3255,  339,  381,  314, 3255,
1646
      315, 3255,  553,  316, 3255,  340,  341,  317,  229,  230,
1647
      230,  231,  231,  231,  231,  231,  231,  226, 3255,  318,
1648
      453,  379,  456, 3255,  225,  225,  225,  225,  225,  319,
1649
      320,  417,  418, 3255,  321,  322,  419,  241, 3255,  457,
1650
     3255,  241,  460, 3255, 3255,  420,  421,  422,  454,  225,
1651
      228,  225,  225,  225,  225,  239,  239,  239,  239,  239,
1652
1653
      239,  239,  239,  226, 3255, 3255,  455,  465, 3255,  459,
1654
      239,  239,  239,  240,  239,  344,  463, 3255,  345,  458,
1655
      464,  418,  346,  461,  479,  584,  462, 3255, 3255,  347,
1656
     3255, 3255,  586,  348,  587,  239,  239,  239,  239,  239,
1657
      239,  239,  239,  239,  239,  239,  239,  239,  239,  226,
1658
      478, 3255,  477,  470,  471, 3255,  239,  239,  239,  239,
1659
      239, 3255,  374,  374,  375,  375,  375,  375,  375,  375,
1660
     3255,  370,  370,  371,  371,  371,  371,  371,  475, 3255,
1661
      476,  239,  239,  239,  239,  239,  239,  297, 3255,  298,
1662
     3255,  299, 3255,  481,  300, 3255, 3255, 3255,  301,  614,
1663
1664
      482,  302,  303,  372,  323,  304,  324,  618, 3255,  325,
1665
      326,  305,  372, 3255,  241,  327,  328, 3255,  329,  330,
1666
      331,  332, 3255, 3255,  333,  352,  483,  488,  353,  480,
1667
      486, 3255,  491,  487,  373,  434,  434,  434,  434,  434,
1668
      434,  434,  354,  354,  354,  354,  354,  354,  354,  375,
1669
      375,  375,  375,  375,  375,  375,  375,  241,  484,  467,
1670
      423, 3255,  485,  468,  494,  495,  472,  424, 3255,  425,
1671
      473,  426,  469, 3255,  427, 3255,  434, 3255,  355,  241,
1672
      489, 3255,  356,  474, 3255, 3255, 3255, 3255,  417,  418,
1673
      588, 1041, 3255,  419,  619,  357, 3255,  589,  590,  358,
1674
1675
      642,  359,  420,  421,  422,  360,  432,  432,  433,  433,
1676
      433,  433,  433,  434,  490, 3255,  510,  511,  497,  492,
1677
      498,  434,  434,  434,  434,  434,  493,  516,  496, 3255,
1678
      504,  434,  434,  434,  434,  434,  434,  434,  439,  439,
1679
      440,  440,  440,  440,  440,  440,  434,  435,  434,  434,
1680
      434,  434,  227,  227,  227,  227,  227,  227,  227,  227,
1681
     3255,  502, 3255, 3255, 3255,  506,  503,  227,  227,  227,
1682
      227,  227,  434, 3255, 3255, 3255, 3255,  440,  440,  440,
1683
      440,  440,  440,  440,  440, 3255, 3255, 3255, 3255,  617,
1684
     3255, 3255,  227,  227,  227,  227,  227,  227,  438,  438,
1685
1686
      438,  438,  438,  438,  438,  438,  499, 3255,  514,  515,
1687
      526,  522,  500,  438,  438,  438,  438,  438,  434,  507,
1688
      512,  508,  517,  518,  505,  509, 3255,  513,  501, 3255,
1689
     3255, 3255,  520, 3255, 3255, 3255,  519, 3255,  438,  438,
1690
      438,  438,  438,  438,  442,  442,  442,  442,  442,  442,
1691
      442,  442,  226, 3255, 3255,  617, 3255, 3255,  521,  442,
1692
      442,  442,  442,  442, 3255,  525,  531, 3255,  542,  529,
1693
      616, 3255,  617, 3255, 3255,  523,  524, 3255, 3255,  530,
1694
      528,  527,  544, 3255,  442,  442,  442,  442,  442,  442,
1695
      442,  442,  442,  442,  442,  442,  442,  442,  226,  532,
1696
1697
     3255,  533,  543,  550,  545,  442,  442,  442,  442,  442,
1698
     3255,  534,  551, 3255,  535,  536,  541,  537,  538, 3255,
1699
      539,  540,  443, 3255, 3255,  559, 3255,  549, 3255, 3255,
1700
      442,  442,  442,  442,  442,  442, 3255, 3255, 3255, 3255,
1701
     3255, 3255, 3255,  546,  552, 3255, 3255,  554, 3255,  547,
1702
     3255,  548, 3255, 3255, 3255,  556,  377, 3255, 3255,  561,
1703
     3255, 3255,  555, 3255,  558,  576,  576,  576,  576,  576,
1704
      576,  576,  557,  565, 1282,  567,  560,  566,  562,  417,
1705
      418,  563,  570,  564,  419,  571,  572,  423, 3255,  568,
1706
      569,  629,  626,  420,  424,  422,  425,  573,  426,  379,
1707
1708
      453,  427,  627,  575,  628,  574,  362,  362,  362,  362,
1709
      362,  362,  362,  362,  370,  370,  371,  371,  371,  371,
1710
      371,  371,  371,  371,  371,  371,  371,  371,  374,  374,
1711
      375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
1712
      375,  375,  375,  375,  377,  412,  412,  413,  412,  616,
1713
      380,  617, 3255, 3255, 3255,  372,  604,  604,  604,  604,
1714
      604,  604,  604, 3255, 3255, 3255, 3255, 3255, 3255,  372,
1715
      604,  604,  604,  604,  604,  604,  604,  609,  609,  610,
1716
      610,  610,  610,  610,  610,  615, 3255,  379,  602,  602,
1717
      603,  603,  603,  603,  603,  604,  226,  631, 3255,  633,
1718
1719
      625, 3255, 3255,  604,  604,  604,  604,  604,  610,  610,
1720
      610,  610,  610,  610,  610,  610, 3255, 3255,  605, 3255,
1721
     3255,  630, 3255, 3255,  914,  620,  622, 3255,  604,  605,
1722
      604,  604,  604,  604,  603,  603,  603,  603,  603,  603,
1723
      603,  604,  226,  632, 3255, 1733, 3255, 3255,  647,  604,
1724
      604,  604,  604,  604,  621,  623,  634,  637,  635,  638,
1725
     3255, 3255, 3255,  636, 3255,  639, 3255, 3255, 3255,  649,
1726
     3255, 3255, 3255, 3255,  604,  604,  604,  604,  604,  604,
1727
      438,  438,  438,  438,  438,  438,  438,  438, 3255, 3255,
1728
      653,  654,  640,  646,  648,  438,  438,  438,  438,  438,
1729
1730
      641,  645,  650,  652,  651, 3255,  655, 3255, 3255, 3255,
1731
     3255, 3255, 3255, 3255, 3255, 3255,  657,  656, 3255, 3255,
1732
      438,  438,  438,  438,  438,  438,  613,  613,  613,  613,
1733
      613,  613,  613,  613,  226, 3255, 2349, 3255, 3255,  658,
1734
      665,  613,  613,  613,  613,  613,  659, 3255, 3255,  663,
1735
     3255,  616,  670,  673,  668, 3255, 3255,  666,  667,  664,
1736
      671,  675, 3255,  672,  669, 3255,  613,  613,  613,  613,
1737
      613,  613,  613,  613,  613,  613,  613,  613,  613,  613,
1738
      226, 3255, 3255,  679,  660, 3255,  678,  613,  613,  613,
1739
      613,  613,  661, 3255, 3255, 3255,  676,  680,  677, 3255,
1740
1741
      674, 3255, 3255,  695,  662, 3255, 3255, 3255, 3255, 3255,
1742
     3255,  624,  613,  613,  613,  613,  613,  613, 3255, 3255,
1743
     3255,  689, 3255, 3255,  681,  682,  686,  683, 3255,  690,
1744
      687,  685, 3255,  691,  696, 3255, 3255, 3255,  688, 3255,
1745
     3255,  692,  697,  618,  684,  698,  699, 3255,  693, 3255,
1746
      700,  704, 3255,  694, 3255, 3255, 3255,  705, 3255, 3255,
1747
      702,  707,  708,  701, 3255, 3255,  709, 3255,  710, 3255,
1748
      703, 3255, 3255,  706, 3255,  714, 3255, 3255,  716,  712,
1749
     3255,  711, 3255,  717, 3255,  720,  725,  737, 3255,  713,
1750
      726, 3255,  715, 3255, 3255,  721,  729, 3255,  718, 3255,
1751
1752
      738, 3255,  739,  719, 3255,  722,  727,  741,  723,  724,
1753
      763,  742,  759,  731,  732, 3255,  740,  728,  730,  733,
1754
      743,  734,  749,  744,  745,  750,  757,  764,  746,  735,
1755
     3255,  747, 3255,  753,  736,  748, 3255,  751, 3255,  769,
1756
      575,  754,  811,  760,  765,  811,  761,  752,  755, 3255,
1757
      766, 3255, 3255,  756,  771,  771,  771,  771,  771,  771,
1758
      771,  758,  780,  781,  762,  796,  796,  797,  797,  797,
1759
      797,  797,  782,  226,  808,  809,  810,  809, 3255,  768,
1760
     3255,  767, 3255, 3255, 3255,  770,  797,  797,  797,  797,
1761
      797,  797,  797, 3255,  226,  803,  803,  804,  804,  804,
1762
1763
      804,  804,  804,  226,  807, 3255,  798,  804,  804,  804,
1764
      804,  804,  804,  804,  804,  226, 3255, 3255, 3255, 3255,
1765
     3255,  812, 3255, 3255, 3255, 3255, 3255,  813, 3255,  814,
1766
     3255,  226,  815, 3255, 3255, 3255,  798, 3255, 3255,  817,
1767
     3255, 3255, 3255,  816, 3255, 3255, 3255,  818, 3255,  820,
1768
     3255, 3255, 3255,  821, 3255, 3255, 3255, 3255, 3255, 3255,
1769
      819,  827,  822,  832,  830, 3255,  826,  836,  825, 3255,
1770
     3255,  823,  824, 3255,  828, 3255,  831,  854,  837,  829,
1771
      834,  843, 3255,  833,  844,  847,  835,  848,  850,  838,
1772
      522,  845,  851,  839,  840,  841,  842,  849,  846,  491,
1773
1774
      631,  852, 3255,  856,  853,  858,  855,  859,  860, 3255,
1775
     3255, 3255, 3255,  857, 3255,  861, 3255,  864, 3255, 3255,
1776
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1777
     3255, 1041, 3255, 1722, 3255, 3255, 3255, 3255,  862, 3255,
1778
      863, 3255,  865, 3255, 3255, 3255, 3255, 3255,  867, 3255,
1779
     3255, 3255,  871,  889,  872,  873,  866,  877,  868,  870,
1780
     3255,  869,  895,  874,  892,  875,  882,  878,  876,  893,
1781
      894,  881,  890,  879,  883,  891,  884,  900,  880,  885,
1782
      896,  898,  901,  899,  902,  886,  904,  887, 3255,  907,
1783
     3255,  903,  906,  908,  888, 3255, 3255,  909, 3255,  913,
1784
1785
     3255, 3255,  916, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1786
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,  905,
1787
     3255, 3255,  910, 3255, 3255, 3255,  911, 3255, 3255, 3255,
1788
     3255, 3255, 3255,  811,  915, 3255,  912, 3255,  918,  923,
1789
     3255,  921,  922, 3255,  920,  929,  931, 3255,  932,  917,
1790
      919,  928,  930,  934,  925,  933,  935,  926,  924, 3255,
1791
      927,  936,  954,  939,  940,  941,  953,  938,  943,  942,
1792
      944,  945,  946,  937,  948,  950,  961,  955,  962,  947,
1793
     3255,  949, 3255,  951,  956,  957,  809,  958, 3255, 3255,
1794
      952, 3255, 3255, 3255, 3255,  963, 3255,  959, 3255,  960,
1795
1796
      997, 3255, 3255, 3255, 3255, 3255, 3255, 3255,  998, 3255,
1797
     3255, 3255, 3255, 3255,  964, 3255,  978,  979,  980, 3255,
1798
     3255,  981, 3255, 3255, 3255,  982,  983,  995, 1040,  984,
1799
      990,  985,  986,  987,  989,  988,  991, 1000,  992, 3255,
1800
      999,  993,  996,  994, 1004, 1007, 1008,  965,  966,  967,
1801
      968, 1001,  969, 1003, 1006, 1005, 1042,  970,  971,  972,
1802
      973, 3255,  974, 1045,  975,  976, 1043, 1002, 1061,  977,
1803
     1009, 1013, 1013, 1057, 1013,  796,  796,  797,  797,  797,
1804
      797,  797, 3255, 3255,  797,  797,  797,  797,  797,  797,
1805
      797, 3255, 3255, 1050,  803,  803,  804,  804,  804,  804,
1806
1807
      804,  804, 3255,  804,  804,  804,  804,  804,  804,  804,
1808
      804, 3255, 3255, 1046, 3255, 3255,  798, 3255, 3255, 3255,
1809
     3255, 3255, 3255, 3255, 3255, 1044, 3255, 3255, 3255, 3255,
1810
     3255, 3255, 3255, 3255, 1014,  798, 3255, 3255, 1015, 3255,
1811
     3255, 3255, 3255, 3255, 1047, 1048, 3255, 1049, 3255, 1056,
1812
     3255, 1053, 3255, 1059, 1051, 1054, 1052, 3255, 1055, 3255,
1813
     3255, 1066, 1063, 1067, 3255, 3255, 1060, 1062, 1064, 1068,
1814
     1065, 1069, 1058, 1070, 1073, 1078, 1076, 3255, 1081, 1079,
1815
     1071, 1083, 1082, 1074, 3255, 3255, 1072, 1087, 1085, 1075,
1816
     1080, 1077, 1090, 1084, 3255, 1086, 3255, 1088, 3255, 3255,
1817
1818
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 1091, 1089,
1819
     3255, 3255, 1093, 3255, 3255, 3255, 1092, 3255, 3255, 3255,
1820
     1094, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1821
     1095, 3255, 1096, 1097, 1100, 1098, 1103, 1099, 1104, 3255,
1822
     3255, 3255, 1107, 1108, 3255, 3255, 1101, 3255, 1102, 1105,
1823
     1106, 1112, 1117, 1113, 3255, 1109, 1115, 1114, 1116, 1118,
1824
     1119, 1122, 1133, 1111, 1110, 3255, 1125, 3255, 1120, 1126,
1825
     3255, 1121, 1129, 1139, 1127, 1128, 3255, 3255, 3255, 3255,
1826
     1123, 1124, 3255, 3255, 1130, 3255, 3255, 1134, 3255, 3255,
1827
     3255, 1135, 3255, 3255, 1131, 3255, 3255, 3255, 3255, 3255,
1828
1829
     3255, 3255, 1137, 3255, 3255, 3255, 3255, 1138, 1136, 3255,
1830
     3255, 1140, 3255, 3255, 3255, 3255, 3255, 1144, 3255, 1143,
1831
     1148, 3255, 3255, 1141, 1147, 1150, 3255, 3255, 3255, 1156,
1832
     1151, 3255, 3255, 1142, 3255, 3255, 1145, 1152, 1166, 1146,
1833
     1149, 1153, 3255, 1159, 1160, 1161, 1154, 3255, 1155, 1162,
1834
     1158, 1170, 3255, 1164, 1157, 1165, 1163, 1167, 1168, 1169,
1835
     1174, 1171, 1172, 3255, 1182, 3255, 3255, 3255, 1173, 3255,
1836
     1041, 1179, 1175, 3255, 1178, 3255, 3255, 3255, 1176, 3255,
1837
     1177, 3255, 3255, 1181, 1183, 3255, 3255, 3255, 1180, 3255,
1838
     3255, 3255, 3255, 1257, 3255, 3255, 3255, 3255, 3255, 3255,
1839
1840
      990, 3255, 3255, 1258, 3255, 3255, 3255, 3255, 3255, 3255,
1841
     1192, 3255, 1184, 1185, 3255, 3255, 1186, 1187, 1195, 3255,
1842
     1189, 1188, 1190, 1198, 3255, 1197, 1206, 1191, 1205, 1194,
1843
     1196, 1193, 1207, 1201, 1209, 1208, 3255, 1202, 1219, 1199,
1844
     1203, 1223, 1200, 1204, 1211, 1212, 1213, 1214, 1215, 1224,
1845
     1216, 1221, 1210, 1226, 1220, 1222, 1225, 3255, 3255, 3255,
1846
     1217, 1229, 3255, 3255, 1230, 3255, 3255, 3255, 1227, 3255,
1847
     1218, 3255, 1228, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1848
     3255, 3255, 3255, 1013, 1013, 3255, 1013, 1260, 1260, 1261,
1849
     1260, 3255, 3255, 1231, 1232, 3255, 3255, 3255, 1233, 1234,
1850
1851
     1235, 3255, 3255, 3255, 3255, 3255, 1246, 1238, 3255, 3255,
1852
     3255, 1250, 1237, 3255, 1236, 1247, 3255, 3255, 1239, 1243,
1853
     1244, 1252, 1240, 3255, 1249, 1245, 1283, 1248, 3255, 3255,
1854
     3255, 1284, 3255, 3255, 1251, 1253, 1286, 1291, 1285, 1295,
1855
     1287, 1293, 3255, 3255, 1290, 3255, 3255, 1288, 1292, 1289,
1856
     1298, 1294, 1297, 1300, 3255, 1296, 1301, 3255, 3255, 3255,
1857
     3255, 3255, 1302, 3255, 3255, 1305, 1299, 1303, 1307, 3255,
1858
     3255, 3255, 3255, 3255, 3255, 3255, 1308, 3255, 3255, 1304,
1859
     1306, 3255, 3255, 3255, 3255, 3255, 1313, 3255, 3255, 3255,
1860
     1309, 3255, 3255, 3255, 3255, 3255, 1310, 1312, 1311, 1321,
1861
1862
     3255, 3255, 1324, 1314, 1315, 3255, 1317, 3255, 3255, 1327,
1863
     1316, 1318, 1332, 1323, 1326, 1322, 1319, 1320, 1331, 1335,
1864
     1336, 1325, 3255, 1337, 1328, 1329, 1330, 1333, 1334, 1338,
1865
     1341, 1339, 3255, 1340, 1342, 1343, 1345, 1344, 3255, 3255,
1866
     3255, 3255, 1350, 1346, 1347, 1349, 3255, 3255, 1348, 3255,
1867
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1868
     3255, 3255, 3255, 3255, 3255, 3255, 1351, 3255, 1352, 3255,
1869
     3255, 1354, 3255, 1353, 3255, 1356, 3255, 3255, 3255, 3255,
1870
     3255, 3255, 1359, 3255, 1358, 1355, 1357, 1362, 1365, 1125,
1871
     3255, 1126, 1364, 1360, 1363, 1369, 1371, 3255, 1374, 3255,
1872
1873
     3255, 1361, 1366, 3255, 1367, 1372, 3255, 1379, 1383, 1375,
1874
     1368, 3255, 1377, 1380, 3255, 1376, 1373, 1378, 1381, 1382,
1875
     3255, 1389, 3255, 3255, 1388, 1384, 3255, 1385, 3255, 3255,
1876
     1386, 1391, 3255, 1387, 3255, 1392, 3255, 3255, 3255, 3255,
1877
     3255, 3255, 1394, 3255, 3255, 3255, 1393, 1390, 3255, 3255,
1878
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 1396, 3255,
1879
     1397, 3255, 1395, 3255, 1400, 1403, 3255, 1399, 1398, 3255,
1880
     3255, 1401, 1402, 3255, 3255, 1165, 1407, 3255, 1408, 3255,
1881
     3255, 3255, 3255, 3255, 1418, 1406, 1405, 3255, 3255, 1404,
1882
     3255, 1417, 1409, 1411, 1410, 1413, 1419, 1412, 1414, 1415,
1883
1884
     1425, 1416, 1422, 1420, 3255, 1428, 1421, 1423, 3255, 1429,
1885
     1427, 1435, 1424, 3255, 3255, 1436, 1430, 1432, 1433, 1426,
1886
     3255, 1440, 1431, 3255, 1434, 1439, 3255, 1437, 3255, 3255,
1887
     3255, 1441, 3255, 3255, 3255, 1442, 3255, 3255, 1438, 3255,
1888
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1889
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 1445,
1890
     1443, 1449, 1444, 1450, 3255, 1453, 1448, 3255, 1447, 3255,
1891
     3255, 3255, 1446, 1487, 1487, 1235, 1487, 1451, 3255, 1452,
1892
     1458, 1454, 1465, 3255, 1488, 1488, 1460, 1488, 3255, 1455,
1893
     1456, 1457, 1459, 1469, 1461, 1462, 1472, 1473, 1463, 1464,
1894
1895
     1474, 1466, 1470, 1477, 1471,  767, 3255, 1492, 1492, 1478,
1896
     1492, 3255, 1475, 1476, 1260, 1260, 1261, 1260, 1485, 1485,
1897
     1486, 1485, 3255, 3255, 3255, 3255, 3255, 1507, 1511, 3255,
1898
     3255, 3255, 1509, 3255, 1512, 3255, 3255, 3255, 3255, 3255,
1899
     3255, 3255, 3255, 1508, 3255, 3255, 3255, 3255, 3255, 3255,
1900
     3255, 3255, 3255, 1510, 3255, 3255, 3255, 2478, 3255, 3255,
1901
     3255, 3255, 3255, 3255, 3255, 1515, 3255, 3255, 3255, 3255,
1902
     1514, 1516, 1521, 1513, 1493, 1517, 1522, 1524, 3255, 1518,
1903
     1523, 1528, 1520, 1519, 1525, 1303, 1532, 1526, 1529, 1537,
1904
     1538, 1533, 1527, 1530, 1531, 1534, 1543, 1539, 1540, 1541,
1905
1906
     1542, 1535, 3255, 1544, 1548, 1536, 1545, 1546, 1550, 1547,
1907
     3255, 3255, 3255, 3255, 1551, 3255, 3255, 3255, 3255, 3255,
1908
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1909
     3255, 3255, 3255, 1549, 3255, 3255, 3255, 3255, 3255, 3255,
1910
     3255, 3255, 3255, 1554, 1552, 3255, 3255, 3255, 1559, 3255,
1911
     1560, 1556, 3255, 1555, 1553, 1558, 1564, 1566, 3255, 1565,
1912
     3255, 1562, 3255, 1557,  896, 3255, 1561, 3255, 1572, 1570,
1913
     1574, 1571, 1573, 3255, 1578, 1568, 1569, 1563, 1582, 1567,
1914
     3255, 1575, 1577, 3255, 3255, 1584, 3255, 1580, 3255, 1576,
1915
     1583, 1588, 1579, 1581, 1587, 3255, 1586, 1585, 3255, 3255,
1916
1917
     3255, 3255, 1589, 1591, 1592, 3255, 3255, 3255, 3255, 3255,
1918
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 1590, 3255,
1919
     1595, 3255, 3255, 3255, 3255, 3255, 1594, 3255, 3255, 1593,
1920
     3255, 1598, 3255, 3255, 1599, 1601, 1596, 3255, 1602, 1597,
1921
     1605, 3255, 1607, 1600, 1615, 3255, 3255, 1603, 1614, 3255,
1922
     1617, 1610, 1604, 1616, 1606, 1608, 3255, 1618, 3255, 1611,
1923
     1609, 1613, 1620, 1625, 1612, 3255, 1621, 1631, 1619, 1622,
1924
     1623, 1627, 1629, 3255, 3255, 1628, 1632, 3255, 1626, 3255,
1925
     1624, 3255, 3255, 3255, 1630, 3255, 3255, 3255, 3255, 3255,
1926
     3255, 1633, 3255, 3255, 1634, 3255, 3255, 1635, 3255, 3255,
1927
1928
     3255, 3255, 1638, 3255, 3255, 3255, 3255, 1636, 3255, 1641,
1929
     3255, 3255, 1637, 1643, 1640, 3255, 1646, 3255, 1644, 3255,
1930
     1647, 3255, 3255, 3255, 1639, 3255, 1655, 1652, 1645, 1653,
1931
     1648, 1654, 1658, 1649, 1651, 1642, 1657, 1659, 1650, 1660,
1932
     3255, 1662, 1656, 1661, 1664, 1665, 1663, 3255, 3255, 1667,
1933
     1669, 3255, 1666, 3255, 1673, 3255, 1674, 3255, 3255, 3255,
1934
     1675, 1670, 1668, 3255, 1671, 3255, 3255, 3255, 3255, 3255,
1935
     1672, 1676, 3255, 3255, 3255, 3255, 3255, 1702, 1702, 3255,
1936
     1702, 1013, 1013, 3255, 1013, 3255, 1677, 3255, 1487, 1487,
1937
     1681, 1487, 3255, 1682, 1488, 1488, 1686, 1488, 1683, 1678,
1938
1939
     1690, 3255, 3255, 1691, 1679, 1680, 1694, 1695, 3255, 1684,
1940
     1692, 1697, 1693, 1685, 3255, 1725, 3255, 1689, 1485, 1485,
1941
     1486, 1485, 1696, 1704, 1704, 3255, 1704, 1492, 1492, 3255,
1942
     1492, 1709, 1709, 1734, 1709, 1723, 1724, 1726, 3255, 3255,
1943
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 1727, 1730, 3255,
1944
     3255, 1728, 3255, 3255, 1703, 3255, 3255, 3255, 3255, 3255,
1945
     1731, 1732, 3255, 1729, 3255, 3255, 3255, 3255, 3255, 3255,
1946
     3255, 3255, 3255, 1736, 1738, 1739, 1737, 1746, 3255, 1741,
1947
     1744, 1740, 3255, 1748, 3255, 3255, 3255, 1749, 1751, 1735,
1948
     3255, 1750, 3255, 3255, 1710, 1742, 1743, 3255, 1711, 1745,
1949
1950
     1762, 1752, 1747, 1753, 1755, 1758, 1754, 3255, 1759, 1756,
1951
     1761, 3255, 1757, 1763, 1764, 1767, 1766, 1768, 1765, 3255,
1952
     3255, 1760, 1770, 1774, 3255, 1769, 1776, 3255, 1775, 3255,
1953
     1777, 1779, 3255, 3255, 1771, 1772, 1773, 3255, 3255, 3255,
1954
     1778, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1955
     1781, 3255, 3255, 3255, 3255, 3255, 1780, 3255, 1782, 3255,
1956
     3255, 1784, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1957
     1785, 3255, 1786, 3255, 3255, 1783, 1793, 3255, 1787, 1791,
1958
     1790, 1795, 1788, 1789, 1797, 1803, 1807, 3255, 3255, 1799,
1959
     1792, 3255, 1794, 1796, 1798, 1804, 3255, 1805, 3255, 1800,
1960
1961
     1810, 3255, 1801, 1812, 1802, 1813, 1809, 1816, 1808, 1806,
1962
     1811, 1823, 1814, 3255, 1822, 1818, 3255, 3255, 1815, 1817,
1963
     1819, 3255, 1820, 1821, 3255, 3255, 3255, 3255, 1836, 1837,
1964
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
1965
     3255, 3255, 1824, 3255, 3255, 3255, 3255, 1825, 1831, 3255,
1966
     1828, 1829, 3255, 3255, 3255, 1830, 3255, 3255, 3255, 1826,
1967
     3255, 3255, 1827, 1839, 3255, 3255, 3255, 1840, 1841, 3255,
1968
     1844, 1846, 3255, 1838, 1833, 1832, 1835, 1842, 1848, 1849,
1969
     1851, 3255, 1834, 1843, 3255, 1852, 1847, 3255, 1855, 1854,
1970
     3255, 1850, 1845, 3255, 1859, 1684, 1867, 1857, 1853, 3255,
1971
1972
     1856, 1862, 3255, 3255, 3255, 1858, 1861, 3255, 1863, 3255,
1973
     3255, 3255, 3255, 3255, 3255, 1860, 3255, 1864, 1865, 3255,
1974
     3255, 3255, 1870, 1866, 3255, 1869, 3255, 3255, 3255, 1874,
1975
     3255, 3255, 3255, 1868, 1871, 3255, 1872, 1875, 1879, 1876,
1976
     3255, 3255, 1873, 1883, 3255, 1878, 1881, 1884, 1888, 3255,
1977
     1886, 3255, 3255, 1877, 1891, 3255, 3255, 3255, 1882, 1885,
1978
     3255, 1880, 3255, 1887, 1889, 1894, 1890, 1897, 3255, 3255,
1979
     1892, 1896, 1898, 1900, 3255, 1899, 1895, 3255, 1893, 3255,
1980
     1702, 1702, 1902, 1702, 3255, 3255, 1901, 1904, 3255, 1905,
1981
     1907, 3255, 1906, 1917, 1917, 3255, 1917, 3255, 1909, 1704,
1982
1983
     1704, 3255, 1704, 1903, 3255, 1908, 1709, 1709, 1913, 1709,
1984
     1934, 3255, 3255, 3255, 3255, 3255, 1912, 3255, 1910, 3255,
1985
     1911, 1938, 3255, 1936, 1937, 3255, 3255, 1935, 3255, 3255,
1986
     3255, 3255, 1941, 3255, 3255, 3255, 3255, 1939, 3255, 3255,
1987
     3255, 3255, 1943, 3255, 1942, 3255, 3255, 1940, 3255, 3255,
1988
     3255, 3255, 3255, 1949, 3255, 3255, 3255, 1952, 1946, 1950,
1989
     1953, 1947, 3255, 1948, 1944, 1945, 3255, 1954, 1951, 3255,
1990
     1956, 1961, 1958, 1955, 3255, 1957, 3255, 1966, 1968, 1970,
1991
     1959, 1969, 1960, 3255, 1962, 1963, 1972, 1965, 1964, 3255,
1992
     1967, 1971, 3255, 3255, 3255, 3255, 3255, 1978, 1975, 3255,
1993
1994
     1973, 1976, 1974, 1977, 1984, 1979, 3255, 3255, 3255, 3255,
1995
     1981, 3255, 1980, 3255, 3255, 3255, 3255, 1982, 3255, 3255,
1996
     3255, 3255, 1986, 3255, 3255, 1985, 1983, 1990, 3255, 3255,
1997
     3255, 1991, 3255, 1988, 1989, 1987, 3255, 3255, 3255, 3255,
1998
     3255, 3255, 3255, 3255, 1994, 1997, 3255, 3255, 1995, 1992,
1999
     1999, 2005, 3255, 2000, 1996, 3255, 1993, 2003, 2006, 3255,
2000
     1998, 3255, 3255, 2008, 3255, 2002, 2012, 3255, 3255, 2004,
2001
     2001, 2007, 2013, 2020, 3255, 3255, 3255, 3255, 2021, 2010,
2002
     3255, 2011, 2014, 2015, 2009, 3255, 3255, 2018, 2019, 2022,
2003
     2017, 2016, 3255, 2024, 3255, 3255, 2023, 2029, 3255, 3255,
2004
2005
     3255, 3255, 3255, 2025, 2033, 2027, 3255, 2028, 2026, 3255,
2006
     3255, 3255, 3255, 3255, 2030, 2035, 1178, 2031, 3255, 2034,
2007
     3255, 2041, 3255, 2037, 2032, 2036, 2038, 3255, 3255, 2039,
2008
     2040, 3255, 2043, 3255, 3255, 3255, 3255, 3255, 3255, 2044,
2009
     2047, 3255, 3255, 3255, 2051, 2042, 3255, 3255, 2048, 3255,
2010
     3255, 3255, 3255, 2045, 3255, 2046, 3255, 3255, 2052, 3255,
2011
     2049, 3255, 2050, 3255, 3255, 3255, 3255, 2054, 2062, 2053,
2012
     2058, 3255, 2064, 2065, 3255, 3255, 2055, 2056, 2059, 3255,
2013
     2067, 2057, 2069, 2071, 2060, 2061, 2070, 2063, 3255, 3255,
2014
     3255, 2074, 3255, 2078, 2068, 2072, 3255, 2066, 3255, 2073,
2015
2016
     2079, 2075, 2083, 2082, 3255, 2077, 2076, 3255, 2080, 2081,
2017
     3255, 3255, 3255, 3255, 3255, 2086, 3255, 3255, 3255, 3255,
2018
     3255, 3255, 3255, 3255, 2088, 2084, 2085, 3255, 3255, 3255,
2019
     3255, 3255, 2089, 3255, 3255, 2092, 3255, 3255, 3255, 2087,
2020
     1973, 1917, 1917, 3255, 1917, 3255, 2091, 2090, 2096, 2094,
2021
     2093, 1492, 1492, 2101, 1492, 2107, 3255, 2095, 2106, 2097,
2022
     2108, 3255, 3255, 2098, 2103, 2099, 2112, 2113, 2100, 2134,
2023
     2105, 2104, 2109, 2114, 3255, 2102, 3255, 2133, 2110, 3255,
2024
     3255, 2111, 2132, 2115, 3255, 2116, 2135, 3255, 3255, 3255,
2025
     2140, 3255, 2136, 3255, 3255, 3255, 3255, 2137, 2138, 3255,
2026
2027
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2028
     3255, 3255, 3255, 3255, 2139, 3255, 3255, 3255, 2143, 2141,
2029
     3255, 3255, 3255, 3255, 3255, 2144, 3255, 3255, 1390, 2156,
2030
     2142, 2160, 3255, 2163, 3255, 2158, 2145, 2177, 2147, 2146,
2031
     2157, 2164, 2149, 2148, 2150, 2151, 2165, 2152, 2159, 2168,
2032
     2169, 2153, 2154, 2161, 2162, 2167, 2155, 2166, 2171, 2173,
2033
     2170, 2172, 1724, 2174, 2178, 3255, 3255, 2175, 3255, 2176,
2034
     2180, 3255, 3255, 2179, 2181, 3255, 3255, 3255, 3255, 3255,
2035
     3255, 2182, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2036
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 2184, 3255, 3255,
2037
2038
     3255, 3255, 3255, 3255, 2185, 3255, 3255, 3255, 3255, 3255,
2039
     3255, 3255, 3255, 2190, 2186, 2196, 2191, 2187, 2188, 2198,
2040
     2183, 2193, 3255, 2192, 3255, 2200, 2204, 2189, 2203, 2206,
2041
     2201, 2210, 2199, 2195, 2202, 2194, 2197, 2213, 3255, 2209,
2042
     3255, 2215, 2217, 3255, 2205, 2208, 3255, 2218, 3255, 2222,
2043
     2207, 3255, 2211, 2212, 2214, 2216, 2219, 2220, 2221, 3255,
2044
     2225, 3255, 3255, 2223, 3255, 3255, 3255, 3255, 3255, 3255,
2045
     2224, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2046
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 2229, 3255, 3255,
2047
     3255, 2226, 3255, 3255, 1410, 2227, 3255, 3255, 2228, 3255,
2048
2049
     3255, 3255, 3255, 2230, 2237, 2244, 2240, 2236, 2231, 2232,
2050
     2241, 2233, 2234, 2238, 2239, 2235, 2246, 2247, 2260, 2249,
2051
     2248, 2242, 2252, 2243, 2250,  943, 2254, 2251, 3255, 3255,
2052
     2255, 2253, 2256, 3255, 2245, 2258, 2261, 2257, 2267, 2259,
2053
     2263, 2262, 3255, 2264, 3255, 3255, 3255, 3255, 2266, 3255,
2054
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2055
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2056
     3255, 2265, 3255, 3255, 2268, 3255, 3255, 2270, 2273, 3255,
2057
     3255, 2275, 2272, 2277, 2269, 2278, 2279, 2271, 3255, 3255,
2058
     2282, 2276, 2148, 3255, 3255, 3255, 2274, 2281, 2285, 2286,
2059
2060
     3255, 2287, 2293, 3255, 2283, 2280, 2284, 2296, 2298, 3255,
2061
     2294, 2297, 1709, 1709, 2288, 1709, 2289, 2290, 2295, 3255,
2062
     2300, 2301, 2299, 2291, 2292, 3255, 2317, 2318, 3255, 2302,
2063
     3255, 3255, 3255, 3255, 3255, 2316, 3255, 3255, 3255, 3255,
2064
     3255, 3255, 2319, 3255, 3255, 3255, 2320, 3255, 3255, 3255,
2065
     2321, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2322, 3255,
2066
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 2327, 3255, 2323,
2067
     2326, 2328, 2324, 2329, 2331, 2333, 2338, 2332, 2325, 2335,
2068
     2330, 2334, 2340, 2336, 2339, 2342, 2344, 2337, 2343, 2341,
2069
     2345, 2346, 2352, 2355, 2347, 2356, 2348, 2351, 3255, 3255,
2070
2071
     3255, 3255, 3255, 2350, 2353, 3255, 3255, 3255, 3255, 2360,
2072
     3255, 2354, 3255, 3255, 2357, 3255, 2358, 3255, 2359, 3255,
2073
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2074
     3255, 3255, 3255, 2366, 3255, 3255, 3255, 2365, 3255, 2363,
2075
     1991, 2369, 3255, 3255, 3255, 2361, 3255, 2364, 2370, 3255,
2076
     2362, 3255, 2371, 3255, 3255, 2380, 2374, 2383, 2368, 2389,
2077
     2381, 3255, 2367, 3255, 2375, 3255, 2386, 2378, 2372, 2373,
2078
     2376, 2379, 2377, 2382, 2387, 2396, 3255, 3255, 2385, 2388,
2079
     2393, 2384, 2390, 2392, 2399, 2391, 2394, 2395, 3255, 2398,
2080
     3255, 3255, 3255, 2397, 2402, 3255, 2400, 2403, 2401, 3255,
2081
2082
     3255, 2404, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2083
     3255, 3255, 3255, 2858, 3255, 3255, 3255, 3255, 3255, 3255,
2084
     3255, 3255, 2405, 2407, 3255, 2406, 2408, 2413, 2415, 3255,
2085
     3255, 3255, 2416, 2418, 2409, 3255, 2411, 2410, 3255, 2412,
2086
     3255, 3255, 3255, 2414, 2423, 2417, 2419, 2426, 2439, 2422,
2087
     2420, 2429, 2424, 2425, 2435, 2437, 2421, 2427, 2430, 2431,
2088
     2428, 2436, 2444, 2434, 2432, 2438, 2440, 3255, 3255, 2442,
2089
     3255, 2433, 2443, 2446, 3255, 2441, 2445, 2447, 3255, 3255,
2090
     3255, 2453, 2448, 3255, 3255, 3255, 3255, 2449, 3255, 3255,
2091
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2450,
2092
2093
     3255, 3255, 3255, 2451, 3255, 3255, 2452, 3255, 3255, 3255,
2094
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2461,
2095
     2458, 2464, 2456, 2465, 2454, 2455, 2467, 2457, 2470, 3255,
2096
     2462, 3255, 3255, 3255, 2463, 2459, 2460, 2466, 2474, 2469,
2097
     2472, 2473, 3255, 2468, 2475, 2471, 2479, 2494, 3255, 2476,
2098
     2477, 2480, 2496, 2500, 3255, 2481, 3255, 2492, 3255, 2493,
2099
     2495, 2499, 2501, 2497, 2503, 3255, 3255, 3255, 2498, 3255,
2100
     3255, 3255, 2502, 2504, 3255, 3255, 3255, 2507, 3255, 3255,
2101
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2505, 3255,
2102
     3255, 3255, 3255, 3255, 3255, 3255, 2509, 3255, 3255, 2510,
2103
2104
     3255, 2508, 3255, 2512, 3255, 3255, 2513, 3255, 2517, 2506,
2105
     3255, 2511, 2518, 3255, 2519, 3255, 2515, 2521, 2522, 2524,
2106
     2526, 3255, 2514, 2516, 2531, 2527, 2523, 2529, 2520, 2532,
2107
     2528, 2533, 2537, 3255, 2525, 3255, 2534, 2535, 3255, 2530,
2108
     2540, 3255, 2536, 3255, 2542, 3255, 2545, 3255, 2539, 3255,
2109
     3255, 2538, 3255, 2541, 3255, 3255, 3255, 2546, 3255, 2543,
2110
     3255, 2544, 3255, 3255, 2547, 3255, 3255, 3255, 3255, 3255,
2111
     3255, 3255, 3255, 3255, 3255, 2548, 3255, 2550, 3255, 3255,
2112
     3255, 3255, 3255, 3255, 3255, 3255, 2556, 2549, 2557, 2553,
2113
     2554, 2552, 2558, 3255, 2560, 3255, 3255, 3255, 2551, 3255,
2114
2115
     3255, 2559, 3255, 2555, 2573, 2565, 2576, 3255, 2561, 2564,
2116
     2566, 2562, 2563, 2567, 2568, 2570, 2569, 3255, 2571, 2572,
2117
     2575, 3255, 3255, 3255, 2582, 2586, 2579, 2577, 2574, 2583,
2118
     2580, 2581, 2587, 2585, 3255, 3255, 3255, 3255, 2578, 2589,
2119
     2588, 2584, 3255, 2590, 3255, 3255, 3255, 2591, 2592, 3255,
2120
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 1859, 3255, 3255,
2121
     3255, 3255, 2593, 3255, 3255, 3255, 2594, 3255, 3255, 3255,
2122
     3255, 3255, 3255, 3255, 3255, 3255, 2595, 2602, 2601, 2597,
2123
     2600, 3255, 2603, 2599, 2606, 2596, 2605, 2598, 2608, 2607,
2124
     2609, 3255, 2604, 2615, 3255, 2610, 2613, 2617, 3255, 3255,
2125
2126
     2618, 2611, 2612, 2616, 2619, 2621, 2614, 3255, 2622, 2620,
2127
     2522, 3255, 3255, 2623, 3255, 3255, 3255, 2624, 3255, 3255,
2128
     3255, 2626, 2625, 2627, 2649, 3255, 3255, 2628, 3255, 3255,
2129
     2631, 3255, 3255, 3255, 2630, 3255, 3255, 3255, 3255, 3255,
2130
     3255, 3255, 3255, 2633, 3255, 2629, 3255, 3255, 3255, 3255,
2131
     2632, 2645, 3255, 3255, 3255, 2634, 2648, 3255, 3255, 3255,
2132
     2647, 2650, 3255, 2644, 2646, 3255, 2652, 2653, 2656, 2658,
2133
     2651, 2655, 2654, 2659, 3255, 2663, 2660, 2661, 2662, 2667,
2134
     2657, 2665, 3255, 2664, 3255, 2673, 3255, 3255, 3255, 2674,
2135
     2668, 2676, 2672, 2666, 3255, 3255, 2675, 2669, 2670, 2678,
2136
2137
     3255, 3255, 3255, 3255, 3255, 2671, 2677, 2679, 3255, 3255,
2138
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2683, 3255,
2139
     2681, 3255, 2680, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2140
     2686, 2687, 2682, 3255, 3255, 3255, 3255, 3255, 2690, 2684,
2141
     3255, 2685, 2692, 2696, 2689, 3255, 3255, 3255, 2688, 2697,
2142
     2703, 2701, 2717, 2694, 2691, 2702, 3255, 2693, 2707, 2708,
2143
     2699, 3255, 3255, 2698, 3255, 2706, 2695, 2700, 3255, 2709,
2144
     2704, 3255, 3255, 2710, 2705, 2711, 2713, 2714, 3255, 2712,
2145
     2710, 3255, 3255, 3255, 3255, 3255, 2712, 3255, 3255, 3255,
2146
     2718, 2715, 3255, 3255, 3255, 3255, 2721, 3255, 2716, 3255,
2147
2148
     2722, 3255, 2719, 3255, 3255, 3255, 3255, 2725, 3255, 2724,
2149
     2723, 2720, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2733,
2150
     3255, 3255, 3255, 2729, 2737, 2735, 3255, 2736, 2726, 2728,
2151
     2732, 2730, 2731, 2734, 3255, 2738, 3255, 2740, 2727, 2741,
2152
     2742, 3255, 2739, 3255, 3255, 3255, 3255, 3255, 3255, 2749,
2153
     2743, 3255, 2754, 3255, 2744, 2745, 2755, 3255, 2746, 3255,
2154
     3255, 2750, 2756, 3255, 2748, 2747, 3255, 2760, 3255, 2751,
2155
     2757, 2753, 3255, 3255, 2752, 2761, 3255, 3255, 2764, 3255,
2156
     3255, 3255, 2758, 2769, 3255, 3255, 3255, 2759, 2763, 3255,
2157
     3255, 3255, 3255, 3255, 3255, 2766, 3255, 2762, 3255, 2765,
2158
2159
     3255, 2770, 2767, 2768, 2782, 3255, 3255, 2783, 3255, 2771,
2160
     2779, 2781, 2780, 3255, 3255, 3255, 3255, 2785, 3255, 3255,
2161
     2784, 2796, 2802, 3255, 2786, 2788, 3255, 2787, 2798, 3255,
2162
     2789, 3255, 2790, 2792, 2793, 2791, 2795, 2797, 2794, 2810,
2163
     2811, 2799, 2800, 3255, 2801, 2812, 3255, 3255, 3255, 2803,
2164
     2493, 2804, 3255, 2805, 3255, 2821, 3255, 2806, 2813, 3255,
2165
     2815, 2816, 2822, 2807, 2808, 2809, 3255, 3255, 2814, 3255,
2166
     3255, 3255, 2823, 3255, 3255, 2817, 3255, 2818, 2819, 2820,
2167
     3255, 2824, 2825, 3255, 2827, 3255, 3255, 3255, 2826, 3255,
2168
     2828, 3255, 3255, 3255, 3255, 3255, 2829, 3255, 3255, 3255,
2169
2170
     2833, 3255, 2830, 3255, 3255, 2835, 3255, 3255, 3255, 3255,
2171
     3255, 3255, 2832, 2834, 3255, 3255, 2831, 2839, 3255, 2840,
2172
     2841, 2842, 3255, 2845, 2836, 2847,  943, 2838, 3255, 2851,
2173
     2852, 2837, 3255, 2848, 3255, 2855, 2856, 3255, 3255, 2846,
2174
     2844, 2843, 2853, 2854, 2849, 2860, 2850, 3255, 3255, 2859,
2175
     3255, 3255, 2876, 3255, 2877, 3255, 3255, 2857, 2861, 2866,
2176
     3255, 3255, 3255, 2862, 3255, 3255, 2865, 2863, 3255, 3255,
2177
     3255, 3255, 3255, 2864, 3255, 3255, 2868, 3255, 2870, 2867,
2178
     3255, 3255, 3255, 2872, 3255, 3255, 2873, 2871, 2869, 2874,
2179
     3255, 2878, 3255, 3255, 3255, 3255, 2879, 3255, 3255, 2887,
2180
2181
     3255, 3255, 3255, 2875, 3255, 2885, 3255, 3255, 2888, 2890,
2182
     3255, 3255, 2880, 2881, 2883, 2889, 3255, 2886, 3255, 3255,
2183
     2882, 2884, 2893, 2897, 2891, 3255, 2892, 3255, 3255, 2904,
2184
     3255, 2894, 3255, 3255, 2895, 2896, 2909, 2906, 3255, 2905,
2185
     2915, 2907, 2917, 3255, 2908, 3255, 2910, 2913, 3255, 3255,
2186
     3255, 2919, 2911, 2912, 2916, 2914, 3255, 3255, 3255, 2923,
2187
     2918, 3255, 3255, 3255, 3255, 3255, 3255, 2926, 3255, 3255,
2188
     2920, 3255, 2921, 2922, 3255, 2924, 3255, 3255, 3255, 2928,
2189
     2933, 3255, 2929, 2927, 2930, 2925, 3255, 3255, 3255, 3255,
2190
     2936, 2937, 2934, 2931, 2935, 3255, 3255, 2813, 1991, 2938,
2191
2192
     2940, 2932, 2939, 3255, 3255, 3255, 3255, 3255, 3255, 2942,
2193
     2946, 3255, 3255, 2949, 2945, 2943, 3255, 3255, 3255, 3255,
2194
     2947, 2948, 2941, 2951, 3255, 2944, 3255, 3255, 2950, 3255,
2195
     3255, 3255, 3255, 3255, 3255, 2952, 3255, 3255, 2956, 3255,
2196
     2955, 2959, 3255, 3255, 2953, 2954, 3255, 3255, 3255, 3255,
2197
     3255, 2953, 2954, 2957, 2357, 2958, 2960, 3255, 1176, 3255,
2198
     3255, 2962, 2961, 2965, 2964, 3255, 2968, 2963, 2969, 2966,
2199
     2970, 2971, 3255, 2973, 3255, 2974, 2967, 2977, 2975, 2978,
2200
     3255, 2972, 2981, 2983, 3255, 3255, 3255, 2976, 3255, 3255,
2201
     3255, 3255, 2986, 2979, 2980, 2985, 3255, 2923, 2982, 3255,
2202
2203
     2984, 3255, 3255, 3255, 2987, 3255, 3255, 3255, 2988, 3255,
2204
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 2989,
2205
     2999, 3255, 3255, 3255, 2994, 3255, 2995, 3000, 3255, 3255,
2206
     2996, 2998, 2997, 3001, 3005, 3004, 3255, 3255, 3255, 3002,
2207
     3255, 3003, 3255, 3010, 3011, 3012, 3006, 3013, 3015, 3007,
2208
     3255, 3009, 3008, 3016, 3255, 3255, 3023, 3255, 3017, 3014,
2209
     3255, 3255, 3255, 3019, 3021, 3255, 3018, 3025, 3020, 3022,
2210
     3255, 3255, 3255, 3255, 3027, 3255, 3024, 3255, 3029, 3255,
2211
     3026, 3030, 3033, 3031, 3255, 3255, 3255, 3032, 3255, 3255,
2212
     3028, 3255, 3255, 3035, 3255, 3255, 3255, 3255, 3255, 3255,
2213
2214
     3036, 3034, 3038, 3255, 3255, 3039, 3255, 3041, 3255, 3046,
2215
     3037, 3040, 3255, 3255, 3255, 3255, 3045, 3255, 3042, 3255,
2216
     3043, 3255, 3044, 3052, 3049, 3048, 3255, 3255, 3255, 3051,
2217
     3054, 3055, 3050, 3255, 3047, 3255, 3255, 3255, 3053, 3058,
2218
     3056, 3255, 3060, 3057, 3059, 3255, 3255, 3066, 3063, 3064,
2219
     3065, 3255, 3255, 3072, 3255, 3061, 3070, 3062, 3255, 3255,
2220
     3255, 3255, 3073, 3255, 3076, 3255, 3074, 3255, 3080, 3071,
2221
     3077, 3079, 3255, 3255, 3255, 3081, 3075, 3255, 3255, 3255,
2222
     3255, 3082, 3083, 3255, 3078, 3255, 3255, 3084, 3255, 3255,
2223
     3255, 3255, 3090, 3255, 3086, 3093, 3091, 3255, 3087, 3094,
2224
2225
     3255, 3255, 3085, 3092, 3255, 3255, 3255, 3089, 3255, 3099,
2226
     3088, 3255, 3097, 3095, 3096, 3255, 3255, 3102, 3101, 3255,
2227
     3104, 3255, 3255, 3100, 3255, 3105, 3255, 3255, 3255, 3103,
2228
     3098, 3255, 3255, 3108, 3255, 2710, 3109, 3255, 3107, 3255,
2229
     3106, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3115, 3255,
2230
     3255, 3255, 3110, 3255, 3111, 3255, 3255, 3113, 3120, 3123,
2231
     3114, 3112, 3118, 3122, 3117, 3255, 3116, 3119, 3124, 3121,
2232
     3255, 3128, 3255, 3132, 3255, 3255, 3255, 3125, 3127, 3255,
2233
     3133, 3134, 3255, 3130, 3140, 3255, 3136, 3255, 3255, 3129,
2234
     3144, 3255, 3147, 3255, 3131, 3135, 3139, 3255, 3137, 3138,
2235
2236
     3255, 3255, 3255, 3255, 3145, 3141, 3255, 3148, 3255, 3255,
2237
     3142, 3255, 3143, 3149, 3255, 3255, 3255, 3255, 3151, 3150,
2238
     3146, 3152, 3255, 3255, 3153, 3255, 3255, 3255, 3255, 3255,
2239
     3154, 3255, 3255, 3255, 3158, 3255, 3255, 3155, 3255, 3255,
2240
     3163, 3255, 3157, 3255, 3156, 3159, 3255, 3160, 3255, 3255,
2241
     3162, 3255, 3255, 3255, 3161, 3255, 3255, 3169, 3164, 3172,
2242
     3176, 3165, 3167, 3166, 3255, 3168, 3178, 3179, 3173, 3255,
2243
     3171, 3170, 3021, 3174, 3175, 3255, 3255, 3255, 3255, 3182,
2244
     3180, 3255, 3177, 3255, 3255, 3183, 3189, 3184, 3191, 3181,
2245
     3185, 3186, 3194, 3255, 3255, 3190, 3188, 3255, 3187, 3255,
2246
2247
     3255, 3193, 3255, 3255, 3255, 3255, 3192, 3255, 3255, 3255,
2248
     3255, 3255, 3195, 3255, 3255, 3255, 3255, 3255, 3197, 3255,
2249
     3255, 3255, 3255, 3200, 3255, 1176, 3255, 3255, 3196, 3255,
2250
     3198, 3255, 3255, 3255, 3199, 3255, 3204, 3255, 3255, 3255,
2251
     3255, 3255, 3255, 3255, 3201, 3202, 3207, 3255, 3206, 3203,
2252
     3205, 3208, 3210, 1961, 3213, 3211, 3214, 3255, 3212, 3215,
2253
     3209, 3217, 3255, 3216, 3255, 3255, 3218, 3255, 3255, 3220,
2254
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2255
     3222, 3255, 3255, 3219, 3221, 3255, 3255, 3255, 3255, 3224,
2256
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3223, 3255,
2257
2258
     3255, 3255, 3255, 3229, 3255, 3255, 3255, 3255, 3255, 3255,
2259
     3255, 3227, 3233, 3255, 3225, 3255, 3255, 3255, 3237, 3234,
2260
     3226, 3228, 3255, 3230, 3231, 3232, 3255, 3255, 3255, 3235,
2261
     3238, 3255, 3236, 3255, 3255, 3255, 3243, 3240, 3239, 3244,
2262
     3247, 3245, 3246, 3242, 3248, 3241, 3249, 3250, 3255, 3251,
2263
     3255, 3255, 3255, 3255, 3255, 2643, 2776, 2638, 3255, 3255,
2264
     3255, 3255, 3255, 3255, 3254, 3255, 3255, 3255, 3174, 3253,
2265
     3255, 3252,  125,  125,  125,  125,  125,  125,  125,  125,
2266
      125,  129,  129,  129,  129,  129,  129,  129,  129,  129,
2267
      132,  132,  132,  132,  132,  132,  132,  132,  132,  136,
2268
2269
      136,  136,  136,  136,  136,  136,  136,  136,   58,   58,
2270
       58,   58,   58,   58,   58,   58,   58,  162,  162,  162,
2271
      162,  162,  162,  162,  162,  162,  170,  170,  170,  170,
2272
      170,  170,  170,  170,  170,  172,  172,  172,  172,  172,
2273
      172,  172,  172,  172,  178,  178,  178,  178,  178,  178,
2274
      178,  178,  178,  184,  184,  184,  184,  184,  184,  184,
2275
      184,  184,  186,  186,  186,  186,  186,  186,  186,  186,
2276
      186,  188,  188,  188,  188,  188,  188,  188,  188,  188,
2277
      190,  190,  190,  190,  190,  190,  190,  190,  190,  192,
2278
      192,  192,  192,  192,  192,  192,  192,  192,  194,  194,
2279
2280
      194,  194,  194,  194,  194,  194,  194,  197,  197,  197,
2281
      197,  197,  197,  197,  197,  197,  200,  200,  200,  200,
2282
      200,  200,  200,  200,  200,  206,  206,  206,  206,  206,
2283
      206,  206,  206,  206,  209,  209,  209,  209,  209,  209,
2284
      209,  209,  209,  227,  227,  227,  227,  227,  241,  241,
2285
      241,  241,  241,  363, 3255,  363,  363,  363,  376, 3255,
2286
      376,  376,  376,  378, 3255,  378, 3255,  378,  378,  378,
2287
      383, 3255,  383,  383,  383,  384, 3255,  384,  384,  384,
2288
      384,  384,  384,  384,  386, 3255,  386,  386,  386,  386,
2289
      386,  386,  386,  388,  388,  388,  388,  388,  395, 3255,
2290
2291
      395,  395,  395,  395,  395,  395,  395,  397, 3255,  397,
2292
      397,  397,  397,  397,  397,  397,  399, 3255,  399,  399,
2293
      399,  399,  399,  399,  399,  401, 3255,  401,  401,  401,
2294
      401,  401,  401,  401,  403, 3255,  403,  403,  403,  403,
2295
      403,  403,  403,  405,  405,  405,  405,  405,  405,  405,
2296
      405,  405,  408,  408, 3255,  408,  408,  408,  411,  411,
2297
     3255,  411,  411,  411,  415,  415,  415,  415,  415,  415,
2298
      415,  415,  415,  436,  436,  436,  441, 3255,  441,  241,
2299
      241,  241,  241,  241,  577, 3255,  577,  363, 3255,  363,
2300
      363,  363,  578, 3255,  578,  376, 3255,  376,  376,  376,
2301
2302
      378, 3255,  378, 3255,  378,  378,  378,  383, 2643,  383,
2303
      383,  383,  384, 2776,  384,  384,  384,  384,  384,  384,
2304
      384,  386, 2489,  386,  386,  386,  386,  386,  386,  386,
2305
      388,  388,  388,  388,  388,  580,  580,  395, 2638,  395,
2306
      395,  395,  395,  395,  395,  395,  397, 3255,  397,  397,
2307
      397,  397,  397,  397,  397,  399, 3255,  399,  399,  399,
2308
      399,  399,  399,  399,  401, 3255,  401,  401,  401,  401,
2309
      401,  401,  401,  403, 3255,  403,  403,  403,  403,  403,
2310
      403,  403,  405,  405,  405,  405,  405,  405,  405,  405,
2311
      405,  408,  408, 3255,  408,  408,  408,  411,  411, 3255,
2312
2313
      411,  411,  411,  415,  415,  415,  415,  415,  415,  415,
2314
      415,  415,  227,  227,  227,  227,  227,  606,  606,  606,
2315
      608, 3255,  608,  611,  611,  611,  241,  241,  241,  241,
2316
      241,  772, 3255,  772,  578, 3255,  578,  773,  773,  773,
2317
      773,  773,  773,  799,  799,  799,  800,  800,  800,  801,
2318
      801,  801,  805,  805,  805,  806, 3255,  806, 1032, 1032,
2319
     1032, 1033, 1033, 1033, 1035, 1035, 1035, 1036, 3255, 1036,
2320
     1037, 1037, 1037, 1038, 1038, 1038, 1275, 1275, 1275, 1276,
2321
     1276, 1276, 1277, 1277, 1277, 1278, 1278, 1278, 1280, 1280,
2322
     1280, 1281, 3255, 1281, 1499, 1499, 1499, 1500, 1500, 1500,
2323
2324
     1502, 1502, 1502, 1503, 3255, 1503, 1504, 1504, 1504, 1505,
2325
     1505, 1505, 1715, 1715, 1715, 1716, 1716, 1716, 1717, 1717,
2326
     1717, 1718, 1718, 1718, 1720, 1720, 1720, 1721, 3255, 1721,
2327
     1926, 1926, 1926, 1927, 1927, 1927, 1929, 1929, 1929, 1930,
2328
     3255, 1930, 1931, 1931, 1931, 1932, 1932, 1932, 2125, 2125,
2329
     2125, 2126, 2126, 2126, 2127, 2127, 2127, 2128, 2128, 2128,
2330
     2130, 2130, 2130, 2131, 3255, 2131, 2308, 2308, 2308, 2309,
2331
     2309, 2309, 2311, 2311, 2311, 2312, 2643, 2312, 2313, 2313,
2332
     2313, 2314, 2314, 2314, 2485, 2485, 2485, 2486, 2486, 2486,
2333
     2487, 2487, 2487, 2488, 2488, 2488, 2490, 2490, 2490, 2491,
2334
2335
     2315, 2491, 2636, 2636, 2636, 2637, 2637, 2637, 2639, 2639,
2336
     2639, 2640, 2776, 2640, 2641, 2641, 2641, 2642, 2642, 2642,
2337
     2772, 2772, 2772, 2773, 2773, 2773, 2774, 2774, 2774, 2775,
2338
     2775, 2775, 2777, 2777, 2777, 2778, 2489, 2778, 2898, 2898,
2339
     2898, 2899,  437, 2899, 2900, 2900, 2900, 2901, 2638, 2901,
2340
     2902, 2902, 2902, 2903, 2310, 2903, 2990, 3255, 2990, 2991,
2341
     2991, 2991, 2992, 3255, 2992, 2993, 3255, 2993, 3067, 3255,
2342
     3067, 3068, 3255, 3068, 3069, 3255, 3069, 3126, 3255, 3126,
2343
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2344
     2643, 2315, 2489, 2129, 2638, 2310, 2635, 3255, 3255, 3255,
2345
2346
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2347
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2348
     2315, 1933, 2489, 2129,  437, 2310, 1928, 2484, 2483, 2482,
2349
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2350
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2351
     2315, 1933, 2129, 1719, 2310, 1928, 2307, 2306, 2305, 2304,
2352
     2303, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2353
     3255, 3255, 3255, 3255, 3255, 1933, 1506, 2129, 1719,  437,
2354
     1928, 1501,  788, 2124, 2123, 2122, 2121, 2120, 2119, 2118,
2355
     2117, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2356
2357
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 1933, 1506,
2358
     1719, 1279, 1928, 1501, 1925, 1924, 1714, 1923, 1922, 1921,
2359
     1920, 1919, 1918, 1916, 1915, 1914, 3255, 3255, 3255, 3255,
2360
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 1506, 1039, 1719,
2361
     1279,  437, 1501, 1034, 1714, 1713, 1712, 1708, 1707, 1706,
2362
     1705, 1701, 1700, 1699, 1698, 3255, 1688, 1687, 3255, 3255,
2363
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 1506, 1039, 1279,
2364
      802, 1501, 1034,  215, 1498, 1497, 1496, 1495, 1494, 1491,
2365
     1490, 1489, 1484, 1483, 1482, 1481, 1480, 1479, 1468, 1467,
2366
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2367
2368
     3255, 3255, 3255, 1370, 3255, 3255, 3255, 3255, 3255, 3255,
2369
     3255, 3255, 3255, 1039,  612, 1279,  802,  437, 1034,  607,
2370
     1274, 1273, 1272, 1271, 1270, 1269, 1268, 1267, 1266, 1265,
2371
     1264, 1263, 1262, 1259, 1256, 1255, 1254, 3255, 1242, 1241,
2372
     3255, 3255, 3255, 3255, 1132, 3255, 3255, 3255, 3255, 3255,
2373
     3255, 3255, 1039,  612,  802, 1034,  607, 3255, 1031, 1030,
2374
     1029, 1028, 1027, 1026, 1025, 1024, 1023, 1022, 1021, 1020,
2375
     1019, 1018, 1017, 1016, 1012, 1011, 1010,  389, 3255, 3255,
2376
      897, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2377
     3255,  226,  612,  802,  437,  607,  226,  226,  795,  794,
2378
2379
      793,  792,  791,  790,  789,  788,  787,  786,  785,  784,
2380
      783,  779,  778,  777,  588,  776,  775,  774,  389, 3255,
2381
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2382
      612,  607,  601,  600,  599,  598,  597,  596,  595,  594,
2383
      593,  592,  591,  585,  416,  410,  407,  406,  404,  402,
2384
      400,  398,  396,  583,  582,  581,  389,  387,  385,  579,
2385
     3255, 3255, 3255, 3255,  241, 3255,  437,  431,  430,  429,
2386
      416,  414,  414,  410,  409,  407,  406,  404,  402,  400,
2387
      398,  396,  394,  390,  390,  389,  387,  385,  382,  221,
2388
      361,  351,  251, 3255,  232,  220,  217,  213, 3255,  210,
2389
2390
      210,  195,  195,   57, 3255, 3255, 3255, 3255, 3255, 3255,
2391
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2392
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2393
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2394
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2395
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2396
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2397
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2398
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
2399
     3255, 3255, 3255, 3255
2400
2401
    } ;
2402
2403
static const flex_int16_t yy_chk[7895] =
2404
    {   0,
2405
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2406
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2407
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2408
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2409
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2410
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2411
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2412
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2413
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2414
        3,    3,   53,    3,   53,    3,    4,    4,   54,    4,
2415
2416
       54,    4,    5,    5,   19,    5,    6,    6,   61,    6,
2417
       75,   68,    5,   19,   19,   75,    6,    7,    7,    7,
2418
        7,   68,    7,    8,    8,    8,    8,   92,    8,    9,
2419
        9,   20,    9,  247,   61,   10,   10,   92,   10,   89,
2420
       20,   20,    9,   81,   81,    3,   89,    9,   10,   83,
2421
       83,    4,  247,   10,   13,   13,   13,   13,   13,   13,
2422
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2423
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2424
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2425
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2426
2427
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2428
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2429
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2430
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
2431
       13,   13,   13,   13,   15,   15,   15,   15,   15,   15,
2432
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2433
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2434
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2435
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2436
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2437
2438
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2439
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2440
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
2441
       15,   15,   15,   15,   17,   17,   17,   17,   17,   17,
2442
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2443
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2444
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2445
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2446
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2447
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2448
2449
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2450
       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
2451
       17,   17,   17,   17,   21,   21,   21,   21,   21,   21,
2452
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2453
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2454
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2455
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2456
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2457
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2458
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2459
2460
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2461
       21,   21,   21,   21,   23,   23,   23,   24,   24,   24,
2462
       25,   25,   25,   26,   26,   26,   27,   27,   27,   27,
2463
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2464
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2465
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2466
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2467
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2468
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2469
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2470
2471
       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
2472
       27,   27,   27,   27,   27,   27,   29,   30,   29,   30,
2473
       31,   31,   31,   32,   32,   32,   33,   33,   33,  159,
2474
       29,   30,   34,   34,   34,   35,   35,   35,   36,   36,
2475
       36,   37,   37,   37,   38,   38,   38,   39,   39,   39,
2476
       40,   40,   40,   45,   45,   45,   45,   46,   46,   46,
2477
       46,   51,   51,   51,   51,   52,   52,   52,   52,   99,
2478
      242,  181,  159,  182,  182,   99,  181, 2968,   99,   29,
2479
       30,  242,   29,   30,   43,   43,   43,   43,   43,   43,
2480
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2481
2482
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2483
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2484
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2485
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2486
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2487
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2488
       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
2489
       43,   43,   43,   43,   47,   48,   78,   78,   88,   90,
2490
       93,   91,  244,  107,  119,  263,  117,  120,   90,  216,
2491
       91,  216,  147,  245, 2972,   88,   91,   88,  244,  263,
2492
2493
       90,   93,  102,   98,  102,   98,  147,  102,  102,  147,
2494
      246,   98,  102,   98,  102,  245,  119,   78,   98,  107,
2495
       98,   98,  117,  120, 2976,  246,  117,   47,   48,   49,
2496
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2497
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2498
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2499
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2500
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2501
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2502
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2503
2504
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
2505
       49,   49,   49,   49,   49,   49,   49,   49,   49,   64,
2506
       82,  100,  104,  105,  108,  248,  100,  110,  100,  101,
2507
      103, 2980,  100,  101,  115,  100,  473,  473,  101,  101,
2508
       64,  103,  101,  101,  103,  473,  248,  103,  143,  143,
2509
      143,  143,  143,  143,  143,  143,  108,  243,  105,  110,
2510
     2981,  106,  104,  110,  108,  149,  224,  224,  115,  160,
2511
      108,  104,  111,  110,  105,  160,  249,  115,   82,  149,
2512
      115,  243,  149,  115,   64,   76,   76,   76,   76,   76,
2513
       76,   76,   76,   76,  112,  249,  116,  106,  106,  329,
2514
2515
       76,   76,   76,   76,   76,  106,  106,  224,  106,  111,
2516
      243,  106,  160,  204,  204,  204,  204,  111,  161,  111,
2517
      160,  111,  254,  113,  161,   76,   76,   76,   76,   76,
2518
       76,  116, 2991,  112,  160,  258,  116,  160,  112,  250,
2519
      112, 2997,  329,  112,  255,  116,  116,  112,   76,   77,
2520
       77,   77,   77,   77,   77,   77,   77,   77,  257,  113,
2521
      250,  161,  254,  256,   77,   77,   77,   77,   77,  113,
2522
      113,  211,  211,  272,  113,  113,  211,  252,  259,  255,
2523
      260,  262,  258,  118,  261,  211,  211,  211,  252,   77,
2524
       77,   77,   77,   77,   77,   85,   85,   85,   85,   85,
2525
2526
       85,   85,   85,   85,  271,  266,  252,  262,  270,  257,
2527
       85,   85,   85,   85,   85,  118,  261,  265,  118,  256,
2528
      261,  414,  118,  259,  272,  414,  260, 3001,  268,  118,
2529
      269, 3002,  418,  118,  418,   85,   85,   85,   85,   85,
2530
       85,   86,   86,   86,   86,   86,   86,   86,   86,   86,
2531
      271,  276,  270,  265,  266,  109,   86,   86,   86,   86,
2532
       86,  274,  154,  154,  154,  154,  154,  154,  154,  154,
2533
      114,  153,  153,  153,  153,  153,  153,  153,  268,  273,
2534
      269,   86,   86,   86,   86,   86,   86,  109,  443,  109,
2535
      277,  109, 3008,  274,  109,  280,  447,  283,  109,  443,
2536
2537
      276,  109,  109,  154,  114,  109,  114,  447, 3017,  114,
2538
      114,  109,  153,  286,  279,  114,  114,  287,  114,  114,
2539
      114,  114,  278,  264,  114,  128,  277,  280,  128,  273,
2540
      279,  281,  283,  279,  153,  225,  225,  225,  225,  225,
2541
      225,  225,  128,  128,  128,  128,  128,  128,  128,  155,
2542
      155,  155,  155,  155,  155,  155,  155,  267,  278,  264,
2543
      213,  297,  278,  264,  286,  287,  267,  213,  282,  213,
2544
      267,  213,  264,  284,  213,  448,  225,  285,  128,  472,
2545
      281,  289,  128,  267,  290,  298,  293, 3021,  213,  213,
2546
      419,  808,  302,  213,  448,  128,  808,  419,  419,  128,
2547
2548
      472,  128,  213,  213,  213,  128,  223,  223,  223,  223,
2549
      223,  223,  223,  223,  282,  295,  297,  298,  290,  284,
2550
      290,  223,  223,  223,  223,  223,  285,  302,  289,  292,
2551
      293,  228,  228,  228,  228,  228,  228,  228,  230,  230,
2552
      230,  230,  230,  230,  230,  230,  223,  223,  223,  223,
2553
      223,  223,  227,  227,  227,  227,  227,  227,  227,  227,
2554
      227,  292,  300,  301,  313,  295,  292,  227,  227,  227,
2555
      227,  227,  228,  294,  309,  291,  299,  231,  231,  231,
2556
      231,  231,  231,  231,  231,  304,  305,  296,  306,  615,
2557
      303,  615,  227,  227,  227,  227,  227,  227,  229,  229,
2558
2559
      229,  229,  229,  229,  229,  229,  291,  308,  300,  301,
2560
      313,  309,  291,  229,  229,  229,  229,  229,  231,  296,
2561
      299,  296,  303,  304,  294,  296,  310,  299,  291,  311,
2562
      314,  315,  306,  316,  320,  317,  305,  322,  229,  229,
2563
      229,  229,  229,  229,  239,  239,  239,  239,  239,  239,
2564
      239,  239,  239,  323, 3024,  669,  326,  669,  308,  239,
2565
      239,  239,  239,  239,  319,  311,  317,  318,  320,  316,
2566
      445,  321,  445, 3027,  445,  310,  310,  327,  334,  316,
2567
      315,  314,  322,  325,  239,  239,  239,  239,  239,  239,
2568
      240,  240,  240,  240,  240,  240,  240,  240,  240,  318,
2569
2570
      324,  318,  321,  326,  323,  240,  240,  240,  240,  240,
2571
      328,  318,  327,  330,  318,  318,  319,  318,  318,  331,
2572
      318,  318,  240,  332,  333,  334,  335,  325,  336,  337,
2573
      240,  240,  240,  240,  240,  240,  338,  340,  339,  341,
2574
      342,  343,  344,  324,  328,  345,  346,  330,  347,  324,
2575
      348,  324,  349,  350,  460,  332,  378,  458,  459,  336,
2576
      456, 1040,  331, 3029,  333,  354,  354,  354,  354,  354,
2577
      354,  354,  332,  339, 1040,  341,  335,  340,  336,  390,
2578
      390,  337,  344,  338,  390,  345,  346,  431, 3041,  342,
2579
      343,  460,  456,  390,  431,  390,  431,  347,  431,  378,
2580
2581
      348,  431,  458,  350,  459,  349,  362,  362,  362,  362,
2582
      362,  362,  362,  362,  370,  370,  370,  370,  370,  370,
2583
      370,  371,  371,  371,  371,  371,  371,  371,  374,  374,
2584
      374,  374,  374,  374,  374,  374,  375,  375,  375,  375,
2585
      375,  375,  375,  375,  381,  412,  412,  412,  412,  446,
2586
      381,  446, 3049,  446,  462,  370,  434,  434,  434,  434,
2587
      434,  434,  434,  444,  455, 3059, 3061,  464,  712,  374,
2588
      435,  435,  435,  435,  435,  435,  435,  439,  439,  439,
2589
      439,  439,  439,  439,  439,  444,  461,  381,  432,  432,
2590
      432,  432,  432,  432,  432,  432,  432,  462,  463,  464,
2591
2592
      455,  449,  451,  432,  432,  432,  432,  432,  440,  440,
2593
      440,  440,  440,  440,  440,  440,  468,  476,  439,  469,
2594
      465,  461,  478,  467,  712,  449,  451,  466,  432,  432,
2595
      432,  432,  432,  432,  433,  433,  433,  433,  433,  433,
2596
      433,  433,  433,  463,  482, 1519,  483, 1519,  476,  433,
2597
      433,  433,  433,  433,  449,  451,  465,  467,  466,  468,
2598
      470,  475,  477,  466,  471,  469,  485,  474,  480,  478,
2599
      481,  479,  484,  486,  433,  433,  433,  433,  433,  433,
2600
      438,  438,  438,  438,  438,  438,  438,  438,  438,  487,
2601
      482,  483,  470,  475,  477,  438,  438,  438,  438,  438,
2602
2603
      471,  474,  479,  481,  480,  490,  484,  492,  488,  493,
2604
      494,  497,  496,  498,  500,  499,  486,  485,  503, 3062,
2605
      438,  438,  438,  438,  438,  438,  442,  442,  442,  442,
2606
      442,  442,  442,  442,  442,  506, 2166, 3063, 2166,  487,
2607
      493,  442,  442,  442,  442,  442,  488,  502,  507,  490,
2608
      489,  501,  499,  501,  497,  501,  504,  494,  496,  492,
2609
      499,  503,  505,  500,  498,  508,  442,  442,  442,  442,
2610
      442,  442,  454,  454,  454,  454,  454,  454,  454,  454,
2611
      454,  511,  513,  507,  489,  514,  506,  454,  454,  454,
2612
      454,  454,  489,  509,  510,  512,  504,  508,  505,  515,
2613
2614
      502,  516,  517,  518,  489,  525,  519,  520,  527,  523,
2615
      524,  454,  454,  454,  454,  454,  454,  454,  526,  528,
2616
      529,  513,  530,  532,  509,  510,  512,  510,  531,  514,
2617
      512,  511,  533,  515,  518,  534,  535,  536,  512,  537,
2618
      538,  516,  519,  520,  510,  523,  524,  539,  516,  540,
2619
      525,  529,  541,  517,  542,  544,  549,  529,  543,  545,
2620
      527,  531,  531,  526,  546,  547,  532,  555,  533,  550,
2621
      528,  551,  556,  530,  552,  537,  553,  568,  539,  535,
2622
      554,  534,  548,  539,  558,  542,  544,  549,  557,  536,
2623
      544,  559,  538,  569,  560,  543,  547,  573,  540,  570,
2624
2625
      550,  561,  551,  541,  563,  543,  545,  553,  543,  543,
2626
      568,  554,  566,  548,  548,  567,  552,  546,  547,  548,
2627
      555,  548,  559,  556,  557,  560,  564,  568,  557,  548,
2628
      564,  557,  571,  561,  548,  558,  572,  560,  574,  573,
2629
      563,  561,  622,  566,  569,  623,  567,  560,  561,  622,
2630
      570, 3064,  623,  561,  576,  576,  576,  576,  576,  576,
2631
      576,  564,  588,  588,  567,  602,  602,  602,  602,  602,
2632
      602,  602,  588,  602,  620,  620,  621,  621,  624,  572,
2633
      620,  571,  621,  625,  614,  574,  603,  603,  603,  603,
2634
      603,  603,  603,  626,  603,  609,  609,  609,  609,  609,
2635
2636
      609,  609,  609,  609,  614,  627,  602,  610,  610,  610,
2637
      610,  610,  610,  610,  610,  610,  628,  629,  630,  632,
2638
      633,  624,  635,  636,  637,  642,  638,  624,  639,  624,
2639
      640,  643,  625,  641,  646,  644,  609,  645,  653,  627,
2640
      657,  648,  652,  626,  647,  662,  654,  628, 3070,  630,
2641
      659,  650,  664,  632,  658,  668,  667,  656,  665,  670,
2642
      629,  638,  633,  642,  641,  660,  637,  646,  636,  671,
2643
      674,  635,  635,  661,  639,  663,  641,  662,  647,  640,
2644
      644,  648,  666,  643,  650,  652,  645,  653,  656,  647,
2645
      658,  650,  657,  647,  647,  647,  647,  654,  650,  664,
2646
2647
      659,  660,  672,  665,  661,  667,  663,  668,  670,  673,
2648
      675,  677,  678,  666,  679,  671,  680,  674,  681,  683,
2649
      687,  684, 1507,  685,  682,  692,  688,  691,  690,  689,
2650
      693,  810,  696, 1507,  697,  698,  810, 3077,  672,  699,
2651
      673,  694,  675,  704,  686,  707,  711,  706,  678,  705,
2652
      701,  714,  681,  687,  681,  681,  677,  682,  679,  680,
2653
      700,  679,  693,  681,  690,  681,  684,  682,  681,  691,
2654
      692,  683,  688,  682,  685,  689,  686,  697,  682,  686,
2655
      694,  696,  698,  696,  699,  686,  701,  686,  702,  705,
2656
      708,  700,  704,  706,  686,  709,  710,  707,  713,  711,
2657
2658
      715,  717,  714,  716,  718,  719,  720,  721,  722,  723,
2659
      725,  724,  726,  729,  732,  727,  728,  730,  734,  702,
2660
      733,  736,  708,  735,  731, 3082,  709,  738, 3083,  741,
2661
      740,  746,  745,  752,  713,  737,  710,  742,  716,  721,
2662
      752,  719,  720,  739,  718,  725,  727,  744,  728,  715,
2663
      717,  724,  726,  730,  722,  729,  731,  722,  721,  747,
2664
      723,  731,  741,  733,  734,  734,  740,  732,  736,  735,
2665
      736,  736,  737,  731,  738,  739,  745,  742,  746,  737,
2666
      748,  738,  750,  739,  742,  743,  743,  744,  751,  754,
2667
      739,  743,  755,  753,  756,  747,  757,  744,  758,  744,
2668
2669
      759,  760,  761,  765,  764, 3084,  807,  763,  759,  768,
2670
      812,  769,  815, 3088,  748,  749,  750,  750,  750,  813,
2671
      762,  750,  831,  766,  827,  750,  750,  757,  807,  750,
2672
      753,  750,  750,  750,  751,  750,  754,  761,  755,  770,
2673
      760,  755,  758,  756,  764,  768,  769,  749,  749,  749,
2674
      749,  762,  749,  763,  766,  765,  812,  749,  749,  749,
2675
      749,  819,  749,  815,  749,  749,  813,  762,  831,  749,
2676
      770,  777,  777,  827,  777,  796,  796,  796,  796,  796,
2677
      796,  796,  817,  796,  797,  797,  797,  797,  797,  797,
2678
      797,  814,  797,  819,  803,  803,  803,  803,  803,  803,
2679
2680
      803,  803,  803,  804,  804,  804,  804,  804,  804,  804,
2681
      804,  804,  818,  817,  820,  823,  796,  821,  826,  824,
2682
      825,  828,  829,  830,  833,  814,  834,  836,  835,  837,
2683
      843,  838,  846,  839,  777,  803,  844,  840,  777,  851,
2684
      841,  842,  850,  845,  818,  818,  847,  818,  854,  826,
2685
      849,  823,  853,  829,  820,  824,  821,  855,  825,  857,
2686
      856,  837,  834,  838,  852,  858,  830,  833,  835,  839,
2687
      836,  840,  828,  840,  841,  843,  842,  859,  846,  844,
2688
      840,  849,  847,  841,  860,  861,  840,  853,  851,  841,
2689
      845,  842,  856,  850,  863,  852,  862,  854,  864,  865,
2690
2691
      866,  867,  868,  871,  869,  872,  875,  870,  857,  855,
2692
      873,  874,  859,  876,  877,  878,  858,  879,  880,  881,
2693
      860,  883,  886,  882,  884,  887,  898,  885,  889,  888,
2694
      861,  890,  862,  863,  866,  864,  869,  865,  870,  891,
2695
      892,  893,  873,  874,  894,  895,  867,  899,  868,  871,
2696
      872,  878,  883,  879,  900,  875,  881,  880,  882,  884,
2697
      885,  888,  898,  877,  876,  901,  889,  902,  886,  890,
2698
      903,  887,  893,  904,  891,  892,  905,  906,  907,  904,
2699
      888,  888,  909,  910,  894,  911,  912,  899,  913,  914,
2700
      915,  900,  917,  916,  895,  919,  918,  920,  921,  922,
2701
2702
      923,  925,  902,  924,  931,  926,  930,  903,  901,  927,
2703
      934,  905,  928,  929,  932,  936,  935,  910,  933,  909,
2704
      914,  938,  940,  906,  913,  916,  937,  941,  939,  921,
2705
      916,  942,  948,  907,  944,  945,  911,  917,  931,  912,
2706
      915,  918,  946,  924,  925,  926,  919,  947,  920,  927,
2707
      923,  935,  949,  929,  922,  930,  928,  932,  933,  934,
2708
      939,  936,  937,  950,  948,  951,  953,  952,  938,  954,
2709
      957,  945,  940,  955,  944,  957,  956,  958,  941,  959,
2710
      942,  960,  961,  947,  949,  963,  964,  962,  946,  965,
2711
      966,  969,  968, 1014,  967,  971,  970, 3098,  973,  974,
2712
2713
      950,  979,  972, 1014,  980, 3111,  977,  982, 3112, 3113,
2714
      959,  975,  951,  952,  976,  984,  952,  953,  962,  978,
2715
      955,  954,  956,  965,  981,  964,  969,  958,  968,  961,
2716
      963,  960,  970,  967,  972,  971,  983,  967,  977,  965,
2717
      967,  979,  966,  967,  973,  974,  975,  975,  976,  980,
2718
      976,  978,  972,  982,  977,  978,  981,  985,  986,  987,
2719
      976,  984,  989,  988,  984,  992,  993,  994,  983,  995,
2720
      976,  996,  983,  999, 1001, 1000, 1002, 1003, 1004, 1005,
2721
     1006, 1008, 1009, 1013, 1013, 1043, 1013, 1016, 1016, 1016,
2722
     1016, 1044, 1042,  985,  986, 1046, 1045, 1048,  987,  988,
2723
2724
      989, 1047, 1049, 1050, 1051, 1053, 1001,  994, 1052, 1054,
2725
     1055, 1005,  993, 1056,  992, 1002, 1060, 1057,  995,  999,
2726
     1000, 1008,  996, 1059, 1004, 1000, 1042, 1003, 1062, 1061,
2727
     1063, 1043, 1065, 1064, 1006, 1009, 1045, 1048, 1044, 1052,
2728
     1046, 1050, 1066, 1067, 1047, 1068, 1069, 1046, 1049, 1046,
2729
     1055, 1051, 1054, 1057, 1070, 1053, 1059, 1072, 1071, 1073,
2730
     1075, 1074, 1060, 1077, 1081, 1063, 1056, 1061, 1065, 1079,
2731
     1076, 1082, 1083, 1085, 1084, 1086, 1066, 1088, 1089, 1062,
2732
     1064, 1100, 1087, 1091, 1090, 1099, 1070, 1093, 1095, 1092,
2733
     1067, 1098, 1103, 1094, 1097, 1104, 1068, 1069, 1068, 1077,
2734
2735
     1096, 1102, 1082, 1070, 1071, 1105, 1073, 1106, 1107, 1085,
2736
     1072, 1074, 1088, 1081, 1084, 1079, 1075, 1076, 1087, 1091,
2737
     1092, 1083, 1108, 1093, 1086, 1086, 1086, 1089, 1090, 1094,
2738
     1097, 1095, 1109, 1096, 1098, 1099, 1102, 1100, 1110, 1111,
2739
     1112, 1113, 1107, 1103, 1104, 1106, 1114, 1115, 1105, 1116,
2740
     1117, 1119, 1118, 1121, 1120, 1122, 1123, 1129, 1124, 1130,
2741
     1136, 1134, 1133, 1131, 1139, 1141, 1108, 1137, 1109, 1138,
2742
     1143, 1111, 1140, 1110, 1144, 1113, 1148, 1147, 1145, 1149,
2743
     1150, 1151, 1116, 1146, 1115, 1112, 1114, 1118, 1123, 1119,
2744
     1152, 1121, 1122, 1117, 1120, 1131, 1133, 1153, 1137, 1155,
2745
2746
     1154, 1117, 1124, 1156, 1129, 1134, 1157, 1143, 1147, 1138,
2747
     1130, 1158, 1140, 1144, 1159, 1139, 1136, 1141, 1145, 1146,
2748
     1160, 1152, 1161, 1162, 1151, 1148, 1164, 1148, 1163, 1168,
2749
     1149, 1154, 1166, 1150, 1169, 1155, 1170, 1171, 1172, 1173,
2750
     1174, 1175, 1157, 1177, 1179, 1186, 1156, 1153, 1180, 1182,
2751
     1183, 1181, 1185, 1187, 1190, 1191, 1194, 1192, 1159, 1188,
2752
     1160, 1195, 1158, 1199, 1163, 1169, 1198, 1162, 1161, 1201,
2753
     1202, 1166, 1168, 1200, 1204, 1164, 1173, 1203, 1174, 1207,
2754
     1206, 1205, 1208, 1209, 1187, 1172, 1171, 1210, 1212, 1170,
2755
     1211, 1186, 1175, 1179, 1177, 1181, 1188, 1180, 1182, 1183,
2756
2757
     1198, 1185, 1192, 1190, 1213, 1201, 1191, 1194, 1214, 1201,
2758
     1200, 1206, 1195, 1215, 1216, 1207, 1202, 1204, 1205, 1199,
2759
     1217, 1211, 1203, 1218, 1205, 1210, 1219, 1208, 1222, 1223,
2760
     1220, 1212, 1221, 1224, 1227, 1213, 1225, 1226, 1209, 1228,
2761
     1230, 1232, 1229, 1243, 1231, 1233, 1234, 1236, 1237, 1240,
2762
     1239, 1247, 1244, 1245, 3127, 3134, 1252, 1251, 1246, 1216,
2763
     1214, 1220, 1215, 1221, 1248, 1224, 1219, 1249, 1218, 1253,
2764
     1250, 3137, 1217, 1263, 1263, 1226, 1263, 1222, 1286, 1223,
2765
     1230, 1225, 1239, 1284, 1264, 1264, 1232, 1264, 1287, 1227,
2766
     1228, 1229, 1231, 1243, 1233, 1234, 1246, 1247, 1236, 1237,
2767
2768
     1248, 1240, 1244, 1251, 1245, 1252, 1282, 1268, 1268, 1253,
2769
     1268, 1283, 1249, 1250, 1260, 1260, 1260, 1260, 1262, 1262,
2770
     1262, 1262, 1285, 1288, 1289, 1290, 1291, 1282, 1286, 1293,
2771
     1294, 1292, 1284, 1295, 1287, 1298, 1296, 1299, 1301, 1300,
2772
     1297, 1306, 1309, 1283, 1312, 1310, 1313, 1302, 1314, 1308,
2773
     1307, 1315, 1323, 1285, 3147, 1311, 1324, 2299, 1316, 1317,
2774
     1326, 1328, 1322, 1325, 2299, 1290, 1318, 1319, 1320, 1321,
2775
     1289, 1291, 1296, 1288, 1268, 1292, 1297, 1299, 1329, 1293,
2776
     1298, 1307, 1295, 1294, 1300, 1302, 1311, 1301, 1308, 1316,
2777
     1317, 1312, 1306, 1309, 1310, 1313, 1322, 1318, 1319, 1320,
2778
2779
     1321, 1314, 1327, 1323, 1326, 1315, 1324, 1324, 1328, 1325,
2780
     1330, 1331, 1332, 1333, 1329, 1334, 1335, 1337, 1336, 1338,
2781
     1339, 1340, 1341, 1343, 1342, 1346, 1344, 1345, 1347, 1349,
2782
     1348, 1350, 1351, 1327, 1353, 1352, 1354, 1356, 1358, 1357,
2783
     1359, 1360, 1361, 1332, 1330, 1363, 1365, 1362, 1337, 1364,
2784
     1338, 1334, 1366, 1333, 1331, 1336, 1342, 1344, 1369, 1343,
2785
     1368, 1340, 1367, 1335, 1346, 1371, 1339, 1372, 1351, 1349,
2786
     1353, 1350, 1352, 1373, 1358, 1347, 1348, 1341, 1362, 1345,
2787
     1374, 1354, 1357, 1375, 1376, 1364, 1377, 1360, 1378, 1356,
2788
     1363, 1368, 1359, 1361, 1367, 1379, 1366, 1365, 1380, 1381,
2789
2790
     1382, 1384, 1369, 1372, 1373, 1383, 1385, 1387, 1391, 1386,
2791
     1388, 1389, 1392, 1395, 1394, 1393, 1397, 1396, 1371, 1400,
2792
     1376, 1399, 1401, 1402, 1405, 1409, 1375, 1404, 1406, 1374,
2793
     1403, 1379, 1407, 1412, 1380, 1382, 1377, 1411, 1383, 1378,
2794
     1386, 1414, 1388, 1381, 1395, 1413, 1416, 1384, 1394, 1415,
2795
     1397, 1392, 1385, 1396, 1387, 1389, 1417, 1399, 1418, 1392,
2796
     1391, 1393, 1401, 1404, 1392, 1419, 1402, 1412, 1400, 1403,
2797
     1403, 1406, 1409, 1420, 1421, 1407, 1413, 1422, 1405, 1423,
2798
     1403, 1424, 1425, 1426, 1411, 1427, 1428, 1429, 1430, 1431,
2799
     1432, 1414, 1435, 1433, 1415, 1436, 1443, 1416, 1437, 1434,
2800
2801
     1441, 1438, 1419, 1446, 1444, 1440, 1439, 1417, 1442, 1422,
2802
     1445, 1448, 1418, 1424, 1421, 1447, 1427, 1449, 1425, 1451,
2803
     1428, 1450, 1452, 1453, 1420, 1454, 1435, 1432, 1426, 1433,
2804
     1429, 1434, 1438, 1430, 1431, 1423, 1437, 1439, 1430, 1440,
2805
     1455, 1442, 1436, 1441, 1444, 1445, 1443, 1456, 1457, 1447,
2806
     1449, 1458, 1446, 1459, 1452, 1460, 1453, 1461, 1462, 1465,
2807
     1454, 1449, 1448, 1464, 1450, 1466, 1469, 1473, 3151, 1470,
2808
     1451, 1455, 1471, 1477, 1472, 1474, 1475, 1483, 1483, 1478,
2809
     1483, 1484, 1484, 1510, 1484, 1509, 1456, 1520, 1487, 1487,
2810
     1460, 1487, 1508, 1461, 1488, 1488, 1466, 1488, 1462, 1457,
2811
2812
     1470, 1511, 1512, 1471, 1458, 1459, 1474, 1475, 1513, 1464,
2813
     1472, 1478, 1473, 1465, 1514, 1510, 1515, 1469, 1485, 1485,
2814
     1485, 1485, 1477, 1489, 1489, 1516, 1489, 1492, 1492, 1517,
2815
     1492, 1495, 1495, 1520, 1495, 1508, 1509, 1511, 1521, 1522,
2816
     1523, 1527, 1524, 1526, 1529, 1528, 1531, 1512, 1515, 1532,
2817
     1530, 1513, 1533, 1534, 1483, 1535, 1538, 1536, 1537, 1539,
2818
     1516, 1517, 1547, 1514, 1540, 1541, 1545, 1549, 1543, 1550,
2819
     1546, 1542, 1551, 1522, 1524, 1526, 1523, 1531, 1552, 1528,
2820
     1529, 1527, 1548, 1533, 1554, 1557, 1558, 1534, 1536, 1521,
2821
     1553, 1535, 1556, 1559, 1495, 1528, 1528, 1561, 1495, 1530,
2822
2823
     1545, 1537, 1532, 1538, 1540, 1542, 1539, 1560, 1542, 1540,
2824
     1543, 1562, 1541, 1546, 1547, 1550, 1549, 1551, 1548, 1563,
2825
     1564, 1542, 1553, 1556, 1565, 1552, 1558, 1566, 1557, 1567,
2826
     1559, 1561, 1568, 1569, 1554, 1554, 1554, 1571, 1570, 1573,
2827
     1560, 1574, 1575, 1576, 1578, 1577, 1581, 1579, 1580, 1582,
2828
     1563, 1584, 1585, 1586, 1589, 1590, 1562, 1587, 1564, 1592,
2829
     1593, 1566, 1588, 1598, 1594, 1597, 1602, 1595, 1603, 1596,
2830
     1566, 1600, 1567, 1607, 1605, 1565, 1575, 1606, 1568, 1573,
2831
     1571, 1577, 1569, 1570, 1579, 1586, 1590, 1599, 1601, 1581,
2832
     1574, 1604, 1576, 1578, 1580, 1587, 1608, 1588, 1609, 1582,
2833
2834
     1594, 1612, 1584, 1596, 1585, 1597, 1593, 1600, 1592, 1589,
2835
     1595, 1607, 1598, 1610, 1606, 1602, 1611, 1614, 1599, 1601,
2836
     1603, 1613, 1604, 1605, 1615, 1616, 1617, 1618, 1619, 1619,
2837
     1620, 1622, 1621, 1623, 1625, 1619, 1627, 1624, 1626, 1628,
2838
     1629, 1632, 1608, 1631, 1633, 1634, 1630, 1609, 1614, 1636,
2839
     1612, 1612, 1637, 1638, 1640, 1613, 1641, 1643, 1644, 1610,
2840
     1645, 1646, 1611, 1621, 1647, 1652, 1648, 1622, 1623, 1654,
2841
     1626, 1628, 1649, 1620, 1616, 1615, 1618, 1624, 1630, 1631,
2842
     1633, 1650, 1617, 1625, 1653, 1634, 1629, 1651, 1640, 1638,
2843
     1655, 1632, 1627, 1657, 1645, 1636, 1652, 1643, 1637, 1660,
2844
2845
     1641, 1648, 1656, 1658, 1659, 1644, 1647, 1661, 1649, 1662,
2846
     1663, 1664, 1665, 1666, 1667, 1646, 1670, 1650, 1651, 1668,
2847
     1669, 1673, 1655, 1651, 1671, 1654, 1672, 1674, 1675, 1657,
2848
     1677, 1676, 1680, 1653, 1656, 1679, 1656, 1658, 1661, 1659,
2849
     1678, 1682, 1656, 1665, 1681, 1660, 1663, 1666, 1670, 1683,
2850
     1668, 1685, 1686, 1659, 1673, 1690, 1689, 1691, 1664, 1667,
2851
     1692, 1662, 1693, 1669, 1671, 1676, 1672, 1679, 1694, 1695,
2852
     1674, 1678, 1680, 1682, 1696, 1681, 1677, 1697, 1675, 1723,
2853
     1702, 1702, 1685, 1702, 1725, 1728, 1683, 1689, 1726, 1690,
2854
     1691, 1727, 1690, 1703, 1703, 1729, 1703, 1730, 1693, 1704,
2855
2856
     1704, 1731, 1704, 1686, 1732, 1692, 1709, 1709, 1697, 1709,
2857
     1723, 1733, 1734, 1739, 1736, 1740, 1696, 1741, 1694, 1742,
2858
     1695, 1728, 1746, 1726, 1727, 1743, 1744, 1725, 1748, 1745,
2859
     1747, 1750, 1731, 1749, 1751, 1762, 1753, 1729, 1752, 1754,
2860
     1755, 1757, 1733, 1760, 1732, 1756, 1758, 1730, 1761, 1759,
2861
     1763, 1764, 1765, 1742, 1767, 1766, 1770, 1744, 1739, 1743,
2862
     1745, 1740, 1768, 1741, 1734, 1736, 1775, 1746, 1743, 1773,
2863
     1747, 1752, 1749, 1746, 1769, 1748, 1771, 1756, 1758, 1760,
2864
     1750, 1759, 1751, 1772, 1752, 1753, 1762, 1755, 1754, 1774,
2865
     1757, 1761, 1776, 1777, 1778, 1779, 1780, 1768, 1765, 1781,
2866
2867
     1763, 1766, 1764, 1767, 1773, 1769, 1782, 1784, 1785, 1786,
2868
     1771, 1787, 1770, 1790, 1789, 1791, 1792, 1772, 1793, 1794,
2869
     1795, 1797, 1775, 1800, 1798, 1774, 1772, 1779, 1801, 1802,
2870
     1804, 1780, 1803, 1777, 1778, 1776, 1805, 1808, 1807, 1809,
2871
     1810, 1812, 1814, 1813, 1784, 1786, 1815, 1817, 1785, 1781,
2872
     1789, 1795, 1819, 1790, 1785, 1820, 1782, 1793, 1797, 1821,
2873
     1787, 1818, 1824, 1800, 1822, 1792, 1804, 1826, 1829, 1794,
2874
     1791, 1798, 1805, 1814, 1825, 1827, 1828, 1830, 1815, 1802,
2875
     1831, 1803, 1807, 1808, 1801, 1832, 1838, 1812, 1813, 1815,
2876
     1810, 1809, 1833, 1818, 1839, 1835, 1817, 1824, 1836, 1837,
2877
2878
     1840, 1842, 1843, 1819, 1829, 1821, 1844, 1822, 1820, 1845,
2879
     1846, 1847, 1848, 1849, 1825, 1831, 1828, 1826, 1850, 1830,
2880
     1851, 1838, 1852, 1833, 1827, 1832, 1835, 1853, 1854, 1836,
2881
     1837, 1855, 1840, 1858, 1856, 1857, 1860, 1861, 1862, 1842,
2882
     1845, 1863, 1864, 1865, 1849, 1839, 1866, 1867, 1846, 1870,
2883
     1869, 1868, 1871, 1843, 1872, 1844, 1873, 1874, 1850, 1875,
2884
     1847, 1876, 1848, 1878, 1877, 1879, 1880, 1852, 1861, 1851,
2885
     1856, 1881, 1863, 1864, 1882, 1883, 1853, 1854, 1857, 1884,
2886
     1866, 1855, 1868, 1870, 1858, 1860, 1869, 1862, 1885, 1886,
2887
     1887, 1873, 1888, 1876, 1867, 1871, 1889, 1865, 1890, 1872,
2888
2889
     1877, 1873, 1881, 1880, 1892, 1875, 1874, 1891, 1878, 1879,
2890
     1893, 1894, 1897, 1895, 1896, 1884, 1898, 1899, 1900, 1901,
2891
     1902, 1903, 1904, 1905, 1886, 1882, 1883, 1908, 1906, 1907,
2892
     1910, 1912, 1887, 1934, 1911, 1890, 1913, 1935, 1936, 1885,
2893
     1892, 1917, 1917, 1937, 1917, 1942, 1889, 1888, 1895, 1893,
2894
     1891, 1920, 1920, 1900, 1920, 1905, 1938, 1894, 1904, 1896,
2895
     1906, 1939, 1940, 1897, 1902, 1898, 1911, 1912, 1899, 1936,
2896
     1903, 1902, 1907, 1913, 1941, 1901, 1943, 1935, 1908, 1944,
2897
     1947, 1910, 1934, 1913, 1946, 1913, 1937, 1948, 1949, 1953,
2898
     1942, 1950, 1938, 1951, 1954, 1955, 1956, 1939, 1940, 1957,
2899
2900
     1958, 1962, 1960, 1959, 1965, 1963, 1978, 1952, 1966, 3156,
2901
     1964, 1977, 1972, 1967, 1941, 1975, 1968, 1976, 1946, 1943,
2902
     1969, 1971, 1981, 1982, 1983, 1947, 1970, 1974, 1956, 1953,
2903
     1944, 1958, 1979, 1962, 1984, 1955, 1948, 1978, 1950, 1949,
2904
     1954, 1963, 1952, 1951, 1952, 1952, 1964, 1952, 1957, 1967,
2905
     1968, 1952, 1952, 1959, 1960, 1966, 1952, 1965, 1970, 1972,
2906
     1969, 1971, 1977, 1974, 1979, 1985, 1986, 1975, 1987, 1976,
2907
     1982, 1988, 1989, 1981, 1983, 1990, 1992, 1993, 1994, 1995,
2908
     1997, 1984, 1998, 1996, 1999, 2000, 2002, 2008, 2001, 2003,
2909
     2004, 2005, 2006, 2007, 2011, 2012, 2013, 1986, 2010, 2014,
2910
2911
     2015, 2018, 2016, 2019, 1987, 2020, 2017, 2022, 2021, 2026,
2912
     2023, 2027, 2024, 1993, 1988, 1999, 1994, 1989, 1990, 2001,
2913
     1985, 1996, 2025, 1995, 2029, 2003, 2007, 1992, 2006, 2010,
2914
     2004, 2014, 2002, 1998, 2005, 1997, 2000, 2017, 2028, 2013,
2915
     2031, 2019, 2021, 2032, 2008, 2012, 2033, 2022, 2034, 2026,
2916
     2011, 2035, 2015, 2016, 2018, 2020, 2023, 2024, 2025, 2036,
2917
     2029, 2037, 2038, 2027, 2039, 2040, 2041, 2042, 2044, 2043,
2918
     2028, 2046, 2049, 2051, 2045, 2050, 2047, 2052, 2055, 2054,
2919
     2062, 2064, 2061, 2065, 2067, 2053, 2069, 2035, 2056, 2066,
2920
     2063, 2031, 2073, 2058, 2032, 2033, 2060, 2075, 2034, 2068,
2921
2922
     2072, 2070, 2071, 2036, 2043, 2051, 2046, 2042, 2037, 2038,
2923
     2047, 2039, 2040, 2044, 2045, 2041, 2053, 2054, 2069, 2056,
2924
     2055, 2047, 2061, 2049, 2058, 2050, 2063, 2060, 2074, 2077,
2925
     2064, 2062, 2065, 2078, 2052, 2067, 2070, 2066, 2076, 2068,
2926
     2072, 2071, 2080, 2073, 2076, 2079, 2081, 2082, 2075, 2083,
2927
     2084, 2085, 2086, 2088, 2091, 2089, 2093, 2092, 2094, 2095,
2928
     2097, 2100, 2098, 2099, 2101, 2103, 2104, 2105, 2107, 2106,
2929
     2108, 2074, 2109, 2113, 2077, 2112, 2110, 2079, 2082, 2111,
2930
     2114, 2084, 2081, 2086, 2078, 2088, 2089, 2080, 2132, 2115,
2931
     2094, 2085, 2093, 2116, 2133, 2134, 2083, 2092, 2098, 2099,
2932
2933
     2135, 2100, 2107, 2136, 2095, 2091, 2097, 2110, 2112, 2137,
2934
     2108, 2111, 2124, 2124, 2101, 2124, 2103, 2104, 2109, 2138,
2935
     2114, 2115, 2113, 2105, 2106, 2139, 2133, 2134, 2140, 2116,
2936
     2141, 2142, 2143, 2146, 2150, 2132, 2152, 2145, 2149, 3161,
2937
     2154, 2151, 2134, 2172, 2156, 2158, 2135, 2153, 2155, 2159,
2938
     2136, 2160, 2167, 2169, 2162, 2161, 2163, 2164, 2137, 2165,
2939
     2168, 2170, 2171, 2175, 2174, 2176, 2178, 2142, 2177, 2138,
2940
     2141, 2143, 2139, 2145, 2149, 2151, 2154, 2150, 2140, 2153,
2941
     2146, 2152, 2156, 2153, 2155, 2159, 2161, 2153, 2160, 2158,
2942
     2162, 2163, 2169, 2172, 2164, 2174, 2165, 2168, 2179, 2183,
2943
2944
     2184, 2186, 2188, 2167, 2170, 2187, 2189, 2190, 2192, 2178,
2945
     2191, 2171, 2198, 2197, 2175, 2199, 2176, 2196, 2177, 2201,
2946
     2200, 2202, 2203, 2204, 2205, 2209, 2210, 2211, 2215, 2206,
2947
     2212, 2213, 2217, 2188, 2219, 3164, 2218, 2186, 2223, 2184,
2948
     2187, 2191, 2216, 2214, 2221, 2179, 2224, 2184, 2192, 2226,
2949
     2183, 2227, 2196, 2220, 2229, 2204, 2198, 2209, 2190, 2215,
2950
     2205, 2222, 2189, 2228, 2199, 2230, 2212, 2202, 2196, 2197,
2951
     2200, 2203, 2201, 2206, 2213, 2221, 2231, 2232, 2211, 2214,
2952
     2218, 2210, 2216, 2217, 2224, 2216, 2219, 2220, 2233, 2223,
2953
     2234, 2235, 2237, 2222, 2228, 2239, 2226, 2229, 2227, 2236,
2954
2955
     2238, 2230, 2240, 2241, 2242, 2243, 2244, 2249, 2245, 2246,
2956
     2250, 2248, 2252, 2731, 2253, 2256, 2254, 2257, 2731, 2251,
2957
     2263, 2255, 2231, 2232, 2259, 2231, 2232, 2235, 2237, 2266,
2958
     2272, 2261, 2238, 2240, 2233, 2258, 2234, 2233, 2260, 2234,
2959
     2262, 2265, 2268, 2236, 2245, 2239, 2241, 2248, 2257, 2244,
2960
     2242, 2251, 2246, 2246, 2253, 2255, 2243, 2249, 2251, 2251,
2961
     2250, 2254, 2261, 2252, 2251, 2256, 2258, 2269, 2270, 2259,
2962
     2271, 2251, 2260, 2263, 2273, 2258, 2262, 2265, 2275, 2274,
2963
     2277, 2272, 2266, 2276, 2278, 2281, 2279, 2268, 2282, 2283,
2964
     2285, 2289, 2286, 2287, 2292, 2288, 2290, 2291, 2294, 2269,
2965
2966
     2297, 2293, 2301, 2270, 2295, 2296, 2271, 2298, 2302, 2317,
2967
     2300, 2316, 2318, 2322, 2319, 2324, 2326, 2328, 2320, 2281,
2968
     2277, 2285, 2275, 2286, 2273, 2274, 2288, 2276, 2291, 2331,
2969
     2282, 2329, 2332, 2336, 2283, 2278, 2279, 2287, 2295, 2290,
2970
     2293, 2294, 2333, 2289, 2296, 2292, 2300, 2318, 2334, 2297,
2971
     2298, 2301, 2320, 2328, 2335, 2302, 2337, 2316, 2338, 2317,
2972
     2319, 2326, 2329, 2322, 2332, 2339, 2340, 2341, 2324, 2342,
2973
     2343, 2344, 2331, 2333, 2345, 2346, 2347, 2336, 2348, 2350,
2974
     2353, 2351, 2352, 2355, 2359, 2354, 2356, 2360, 2334, 2358,
2975
     2362, 2370, 2363, 2367, 2369, 2372, 2338, 2364, 2366, 2339,
2976
2977
     2371, 2337, 2374, 2341, 2377, 2383, 2342, 2378, 2346, 2335,
2978
     2380, 2340, 2347, 2382, 2348, 2384, 2344, 2351, 2352, 2354,
2979
     2356, 2385, 2343, 2345, 2363, 2358, 2353, 2360, 2350, 2364,
2980
     2359, 2366, 2371, 2386, 2355, 2387, 2367, 2369, 2388, 2362,
2981
     2377, 2390, 2370, 2389, 2380, 2391, 2384, 2395, 2374, 2392,
2982
     2393, 2372, 2394, 2378, 2396, 2400, 2398, 2385, 2402, 2382,
2983
     2403, 2383, 2401, 2404, 2386, 2406, 2405, 2407, 2414, 2416,
2984
     2417, 2409, 2411, 2408, 2413, 2387, 2410, 2389, 2412, 2415,
2985
     2419, 2422, 2421, 2424, 2426, 2427, 2395, 2388, 2396, 2392,
2986
     2393, 2391, 2398, 2418, 2401, 2425, 2428, 2429, 2390, 2420,
2987
2988
     2431, 2400, 2432, 2394, 2414, 2406, 2417, 2430, 2402, 2405,
2989
     2407, 2403, 2404, 2408, 2409, 2411, 2410, 2433, 2412, 2413,
2990
     2416, 2434, 2435, 2437, 2422, 2427, 2419, 2418, 2415, 2424,
2991
     2420, 2421, 2428, 2426, 2438, 2439, 2440, 2441, 2418, 2430,
2992
     2429, 2425, 2442, 2430, 2443, 2444, 2446, 2431, 2432, 2448,
2993
     2449, 2453, 2455, 2450, 2452, 2454, 2456, 2434, 2451, 2458,
2994
     2457, 2459, 2433, 2460, 2462, 2461, 2435, 2464, 2463, 2467,
2995
     2470, 2465, 2466, 2471, 2472, 2473, 2437, 2444, 2443, 2439,
2996
     2442, 2474, 2446, 2441, 2450, 2438, 2449, 2440, 2452, 2451,
2997
     2453, 2475, 2448, 2459, 2476, 2454, 2457, 2461, 2477, 2478,
2998
2999
     2462, 2455, 2456, 2460, 2463, 2465, 2458, 2479, 2466, 2464,
3000
     2472, 2480, 2481, 2467, 2492, 2495, 2494, 2470, 2496, 2499,
3001
     2500, 2473, 2471, 2474, 2498, 2497, 2498, 2475, 2504, 2505,
3002
     2478, 2501, 2511, 2503, 2477, 2515, 2502, 2516, 2506, 2513,
3003
     2514, 2518, 2508, 2480, 2509, 2476, 2510, 2517, 2519, 2521,
3004
     2479, 2494, 2523, 2524, 2525, 2481, 2497, 2526, 2532, 2529,
3005
     2496, 2499, 2528, 2492, 2495, 2531, 2501, 2502, 2504, 2506,
3006
     2500, 2503, 2502, 2508, 2530, 2513, 2509, 2510, 2511, 2517,
3007
     2505, 2515, 2533, 2514, 2534, 2525, 2535, 2536, 2537, 2526,
3008
     2518, 2529, 2524, 2516, 2538, 2539, 2528, 2519, 2521, 2531,
3009
3010
     2540, 2541, 2542, 2543, 2545, 2523, 2530, 2532, 2547, 2548,
3011
     2549, 2550, 2552, 2551, 2553, 2555, 2554, 2576, 2536, 2558,
3012
     2534, 2559, 2533, 2557, 2560, 2561, 2562, 2565, 2563, 2564,
3013
     2539, 2540, 2535, 2567, 2569, 2566, 2568, 2570, 2543, 2537,
3014
     2571, 2538, 2547, 2550, 2542, 2573, 2575, 2577, 2541, 2551,
3015
     2558, 2555, 2576, 2548, 2545, 2557, 2578, 2547, 2562, 2563,
3016
     2553, 2579, 2580, 2552, 2582, 2561, 2549, 2554, 2581, 2564,
3017
     2559, 2583, 2584, 2565, 2560, 2566, 2568, 2570, 2585, 2567,
3018
     2569, 2586, 2587, 2588, 2589, 2590, 2571, 2591, 2592, 2594,
3019
     2577, 2573, 2597, 2593, 2595, 2598, 2580, 2599, 2575, 2606,
3020
3021
     2581, 2601, 2578, 2607, 2608, 2602, 2605, 2584, 2610, 2583,
3022
     2582, 2579, 2609, 2611, 2612, 2613, 2614, 2616, 2624, 2592,
3023
     2617, 2618, 2619, 2588, 2597, 2594, 2620, 2595, 2585, 2587,
3024
     2591, 2589, 2590, 2593, 2621, 2598, 2622, 2601, 2586, 2602,
3025
     2605, 2623, 2599, 2625, 2626, 2627, 2628, 2629, 2632, 2612,
3026
     2606, 2631, 2618, 2634, 2607, 2608, 2619, 2633, 2609, 2644,
3027
     2646, 2613, 2620, 2645, 2611, 2610, 2648, 2624, 2652, 2614,
3028
     2621, 2617, 2653, 2654, 2616, 2625, 2650, 2655, 2628, 2658,
3029
     2656, 2659, 2622, 2632, 2660, 2662, 2661, 2623, 2627, 2663,
3030
     2666, 2672, 2668, 2664, 2667, 2631, 2674, 2626, 2675, 2629,
3031
3032
     2676, 2633, 2631, 2631, 2648, 2669, 2670, 2650, 2671, 2634,
3033
     2644, 2646, 2645, 2673, 2677, 2680, 2678, 2653, 2679, 2685,
3034
     2652, 2666, 2672, 2682, 2654, 2656, 2686, 2655, 2668, 2687,
3035
     2658, 2688, 2659, 2661, 2662, 2660, 2664, 2667, 2663, 2674,
3036
     2675, 2669, 2670, 2683, 2671, 2677, 2690, 2684, 2691, 2673,
3037
     2676, 2673, 2692, 2673, 2693, 2685, 2694, 2673, 2678, 2696,
3038
     2680, 2682, 2686, 2673, 2673, 2673, 2698, 2699, 2679, 2701,
3039
     2702, 2703, 2687, 2704, 2706, 2683, 2705, 2683, 2683, 2684,
3040
     2708, 2688, 2690, 2709, 2692, 2711, 2713, 2714, 2691, 2715,
3041
     2693, 2716, 2717, 2718, 2719, 2723, 2694, 2720, 2721, 2724,
3042
3043
     2701, 2722, 2696, 2728, 2729, 2703, 2725, 2727, 2730, 2732,
3044
     2734, 2733, 2699, 2702, 2735, 2736, 2698, 2709, 2737, 2711,
3045
     2713, 2714, 2738, 2717, 2704, 2719, 2705, 2708, 2739, 2723,
3046
     2724, 2706, 2740, 2720, 2741, 2728, 2729, 2742, 2743, 2718,
3047
     2716, 2715, 2725, 2727, 2721, 2733, 2722, 2744, 2746, 2732,
3048
     2747, 2750, 2751, 2749, 2751, 2752, 2751, 2730, 2734, 2739,
3049
     2753, 2754, 2755, 2735, 2756, 2757, 2738, 2736, 2761, 2758,
3050
     2759, 2760, 2762, 2737, 2764, 2763, 2741, 2765, 2743, 2740,
3051
     2766, 2768, 2767, 2746, 2769, 2770, 2747, 2744, 2742, 2749,
3052
     2782, 2752, 2771, 2780, 2783, 2788, 2753, 2784, 2785, 2761,
3053
3054
     2786, 2789, 2790, 2750, 2793, 2759, 2792, 2791, 2762, 2764,
3055
     2801, 2795, 2754, 2755, 2757, 2763, 2796, 2760, 2794, 2797,
3056
     2756, 2758, 2767, 2771, 2765, 2798, 2766, 2799, 2800, 2780,
3057
     2803, 2768, 2802, 2804, 2769, 2770, 2786, 2783, 2805, 2782,
3058
     2793, 2784, 2795, 2806, 2785, 2809, 2788, 2791, 2807, 2810,
3059
     2808, 2797, 2789, 2790, 2794, 2792, 2812, 2817, 2811, 2801,
3060
     2796, 2814, 2818, 2815, 2823, 2826, 2827, 2804, 2828, 2819,
3061
     2798, 2830, 2799, 2800, 2829, 2802, 2833, 2836, 2834, 2806,
3062
     2809, 2835, 2807, 2805, 2808, 2803, 2838, 2837, 2839, 2840,
3063
     2812, 2817, 2810, 2808, 2811, 2841, 2842, 2814, 2815, 2818,
3064
3065
     2823, 2808, 2819, 2843, 2844, 2846, 2845, 2847, 2850, 2827,
3066
     2833, 2849, 2855, 2835, 2830, 2828, 2852, 2856, 2857, 2859,
3067
     2833, 2834, 2826, 2837, 2861, 2829, 2860, 2866, 2836, 2863,
3068
     2867, 2870, 2865, 2869, 2871, 2838, 2875, 2880, 2845, 2881,
3069
     2844, 2847, 2883, 2884, 2839, 2840, 2885, 2886, 2888, 2887,
3070
     2889, 2841, 2842, 2845, 2843, 2846, 2849, 2892, 2850, 2890,
3071
     2893, 2855, 2852, 2859, 2857, 2894, 2863, 2856, 2865, 2860,
3072
     2866, 2866, 2897, 2869, 2904, 2870, 2861, 2880, 2871, 2881,
3073
     2905, 2867, 2885, 2887, 2906, 2907, 2908, 2875, 2913, 2909,
3074
     2911, 2910, 2892, 2883, 2884, 2890, 2912, 2888, 2886, 2914,
3075
3076
     2889, 2916, 2918, 2915, 2893, 2917, 2919, 2924, 2894, 2920,
3077
     2921, 2922, 2925, 2927, 2928, 2929, 2930, 2926, 2931, 2897,
3078
     2909, 2932, 2933, 2934, 2904, 2935, 2905, 2910, 2936, 2937,
3079
     2906, 2908, 2907, 2911, 2915, 2914, 2938, 2940, 2942, 2912,
3080
     2943, 2913, 2941, 2920, 2921, 2922, 2916, 2924, 2926, 2917,
3081
     2946, 2919, 2918, 2927, 2945, 2947, 2934, 2949, 2928, 2925,
3082
     2948, 2950, 2952, 2930, 2932, 2957, 2929, 2936, 2931, 2933,
3083
     2956, 2958, 2959, 2963, 2938, 2960, 2935, 2961, 2941, 2964,
3084
     2937, 2942, 2946, 2943, 2962, 2965, 2969, 2945, 2967, 2970,
3085
     2940, 2971, 2973, 2948, 2974, 2975, 2977, 2978, 2982, 2979,
3086
3087
     2949, 2947, 2952, 2983, 2984, 2956, 2994, 2958, 2985, 2963,
3088
     2950, 2957, 2986, 2987, 2988, 2989, 2962, 2995, 2959, 2996,
3089
     2960, 2999, 2961, 2971, 2967, 2965, 2998, 3000, 3003, 2970,
3090
     2974, 2975, 2969, 3004, 2964, 3005, 3007, 3006, 2973, 2979,
3091
     2977, 3009, 2983, 2978, 2982, 3010, 3011, 2989, 2986, 2987,
3092
     2988, 3012, 3013, 2996, 3014, 2984, 2994, 2985, 3015, 3016,
3093
     3018, 3019, 2998, 3023, 3003, 3020, 2999, 3025, 3007, 2995,
3094
     3004, 3006, 3022, 3026, 3031, 3009, 3000, 3032, 3028, 3030,
3095
     3033, 3010, 3011, 3034, 3005, 3035, 3036, 3012, 3037, 3038,
3096
     3039, 3040, 3019, 3042, 3014, 3023, 3020, 3043, 3015, 3025,
3097
3098
     3044, 3045, 3013, 3022, 3046, 3047, 3048, 3018, 3050, 3032,
3099
     3016, 3051, 3030, 3026, 3028, 3052, 3054, 3035, 3034, 3053,
3100
     3037, 3055, 3056, 3033, 3057, 3039, 3058, 3060, 3066, 3036,
3101
     3031, 3071, 3065, 3043, 3073, 3038, 3044, 3074, 3042, 3072,
3102
     3040, 3075, 3076, 3078, 3080, 3079, 3081, 3085, 3051, 3096,
3103
     3086, 3087, 3045, 3089, 3046, 3094, 3093, 3048, 3056, 3060,
3104
     3050, 3047, 3054, 3058, 3053, 3090, 3052, 3055, 3065, 3057,
3105
     3091, 3072, 3092, 3076, 3095, 3097, 3100, 3066, 3071, 3099,
3106
     3078, 3079, 3101, 3074, 3089, 3104, 3081, 3102, 3105, 3073,
3107
     3093, 3103, 3096, 3106, 3075, 3080, 3087, 3107, 3085, 3086,
3108
3109
     3108, 3110, 3109, 3114, 3094, 3090, 3116, 3097, 3117, 3118,
3110
     3091, 3119, 3092, 3099, 3115, 3121, 3120, 3122, 3101, 3100,
3111
     3095, 3102, 3123, 3124, 3103, 3128, 3129, 3125, 3131, 3130,
3112
     3104, 3132, 3133, 3135, 3108, 3136, 3138, 3105, 3139, 3140,
3113
     3116, 3141, 3107, 3142, 3106, 3109, 3143, 3110, 3145, 3144,
3114
     3115, 3146, 3148, 3149, 3114, 3150, 3155, 3122, 3117, 3125,
3115
     3131, 3118, 3120, 3119, 3152, 3121, 3133, 3135, 3128, 3153,
3116
     3124, 3123, 3138, 3129, 3130, 3154, 3157, 3158, 3159, 3140,
3117
     3136, 3160, 3132, 3162, 3163, 3141, 3148, 3142, 3150, 3139,
3118
     3143, 3144, 3155, 3165, 3166, 3149, 3146, 3167, 3145, 3168,
3119
3120
     3170, 3153, 3169, 3171, 3172, 3173, 3152, 3174, 3176, 3177,
3121
     3175, 3178, 3157, 3179, 3182, 3180, 3186, 3187, 3159, 3181,
3122
     3188, 3189, 3183, 3163, 3184, 3154, 3190, 3185, 3158, 3191,
3123
     3160, 3192, 3193, 3194, 3162, 3195, 3169, 3196, 3198, 3197,
3124
     3199, 3200, 3201, 3202, 3165, 3166, 3175, 3203, 3172, 3167,
3125
     3170, 3176, 3179, 3180, 3183, 3181, 3184, 3204, 3182, 3185,
3126
     3177, 3191, 3205, 3189, 3206, 3207, 3193, 3208, 3209, 3195,
3127
     3210, 3212, 3211, 3213, 3214, 3215, 3216, 3218, 3217, 3219,
3128
     3199, 3220, 3221, 3194, 3197, 3223, 3222, 3224, 3225, 3204,
3129
     3226, 3227, 3228, 3229, 3230, 3234, 3235, 3231, 3203, 3232,
3130
3131
     3233, 3236, 3237, 3212, 3238, 3243, 3240, 3242, 3239, 3244,
3132
     3245, 3209, 3217, 3246, 3206, 3241, 3247, 3248, 3221, 3218,
3133
     3207, 3211, 3249, 3213, 3214, 3215, 3250, 3251, 3252, 3219,
3134
     3222, 3253, 3220, 3254, 2966, 2955, 3230, 3226, 3224, 3231,
3135
     3238, 3232, 3233, 3229, 3239, 3228, 3240, 3241, 2954, 3242,
3136
     2953, 2951, 2944, 2939, 2923, 2902, 2900, 2898, 2896, 2895,
3137
     2891, 2882, 2879, 2878, 3252, 2877, 2876, 2874, 3254, 3250,
3138
     2873, 3249, 3256, 3256, 3256, 3256, 3256, 3256, 3256, 3256,
3139
     3256, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257,
3140
     3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3259,
3141
3142
     3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3260, 3260,
3143
     3260, 3260, 3260, 3260, 3260, 3260, 3260, 3261, 3261, 3261,
3144
     3261, 3261, 3261, 3261, 3261, 3261, 3262, 3262, 3262, 3262,
3145
     3262, 3262, 3262, 3262, 3262, 3263, 3263, 3263, 3263, 3263,
3146
     3263, 3263, 3263, 3263, 3264, 3264, 3264, 3264, 3264, 3264,
3147
     3264, 3264, 3264, 3265, 3265, 3265, 3265, 3265, 3265, 3265,
3148
     3265, 3265, 3266, 3266, 3266, 3266, 3266, 3266, 3266, 3266,
3149
     3266, 3267, 3267, 3267, 3267, 3267, 3267, 3267, 3267, 3267,
3150
     3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3268, 3269,
3151
     3269, 3269, 3269, 3269, 3269, 3269, 3269, 3269, 3270, 3270,
3152
3153
     3270, 3270, 3270, 3270, 3270, 3270, 3270, 3271, 3271, 3271,
3154
     3271, 3271, 3271, 3271, 3271, 3271, 3272, 3272, 3272, 3272,
3155
     3272, 3272, 3272, 3272, 3272, 3273, 3273, 3273, 3273, 3273,
3156
     3273, 3273, 3273, 3273, 3274, 3274, 3274, 3274, 3274, 3274,
3157
     3274, 3274, 3274, 3275, 3275, 3275, 3275, 3275, 3276, 3276,
3158
     3276, 3276, 3276, 3277, 2872, 3277, 3277, 3277, 3278, 2868,
3159
     3278, 3278, 3278, 3279, 2864, 3279, 2862, 3279, 3279, 3279,
3160
     3280, 2858, 3280, 3280, 3280, 3281, 2854, 3281, 3281, 3281,
3161
     3281, 3281, 3281, 3281, 3282, 2853, 3282, 3282, 3282, 3282,
3162
     3282, 3282, 3282, 3283, 3283, 3283, 3283, 3283, 3284, 2851,
3163
3164
     3284, 3284, 3284, 3284, 3284, 3284, 3284, 3285, 2848, 3285,
3165
     3285, 3285, 3285, 3285, 3285, 3285, 3286, 2832, 3286, 3286,
3166
     3286, 3286, 3286, 3286, 3286, 3287, 2831, 3287, 3287, 3287,
3167
     3287, 3287, 3287, 3287, 3288, 2825, 3288, 3288, 3288, 3288,
3168
     3288, 3288, 3288, 3289, 3289, 3289, 3289, 3289, 3289, 3289,
3169
     3289, 3289, 3290, 3290, 2824, 3290, 3290, 3290, 3291, 3291,
3170
     2822, 3291, 3291, 3291, 3292, 3292, 3292, 3292, 3292, 3292,
3171
     3292, 3292, 3292, 3293, 3293, 3293, 3294, 2821, 3294, 3295,
3172
     3295, 3295, 3295, 3295, 3296, 2820, 3296, 3297, 2816, 3297,
3173
     3297, 3297, 3298, 2813, 3298, 3299, 2787, 3299, 3299, 3299,
3174
3175
     3300, 2781, 3300, 2779, 3300, 3300, 3300, 3301, 2777, 3301,
3176
     3301, 3301, 3302, 2775, 3302, 3302, 3302, 3302, 3302, 3302,
3177
     3302, 3303, 2774, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
3178
     3304, 3304, 3304, 3304, 3304, 3305, 3305, 3306, 2772, 3306,
3179
     3306, 3306, 3306, 3306, 3306, 3306, 3307, 2748, 3307, 3307,
3180
     3307, 3307, 3307, 3307, 3307, 3308, 2745, 3308, 3308, 3308,
3181
     3308, 3308, 3308, 3308, 3309, 2726, 3309, 3309, 3309, 3309,
3182
     3309, 3309, 3309, 3310, 2712, 3310, 3310, 3310, 3310, 3310,
3183
     3310, 3310, 3311, 3311, 3311, 3311, 3311, 3311, 3311, 3311,
3184
     3311, 3312, 3312, 2710, 3312, 3312, 3312, 3313, 3313, 2707,
3185
3186
     3313, 3313, 3313, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
3187
     3314, 3314, 3315, 3315, 3315, 3315, 3315, 3316, 3316, 3316,
3188
     3317, 2700, 3317, 3318, 3318, 3318, 3319, 3319, 3319, 3319,
3189
     3319, 3320, 2697, 3320, 3321, 2695, 3321, 3322, 3322, 3322,
3190
     3322, 3322, 3322, 3323, 3323, 3323, 3324, 3324, 3324, 3325,
3191
     3325, 3325, 3326, 3326, 3326, 3327, 2689, 3327, 3328, 3328,
3192
     3328, 3329, 3329, 3329, 3330, 3330, 3330, 3331, 2681, 3331,
3193
     3332, 3332, 3332, 3333, 3333, 3333, 3334, 3334, 3334, 3335,
3194
     3335, 3335, 3336, 3336, 3336, 3337, 3337, 3337, 3338, 3338,
3195
     3338, 3339, 2665, 3339, 3340, 3340, 3340, 3341, 3341, 3341,
3196
3197
     3342, 3342, 3342, 3343, 2657, 3343, 3344, 3344, 3344, 3345,
3198
     3345, 3345, 3346, 3346, 3346, 3347, 3347, 3347, 3348, 3348,
3199
     3348, 3349, 3349, 3349, 3350, 3350, 3350, 3351, 2651, 3351,
3200
     3352, 3352, 3352, 3353, 3353, 3353, 3354, 3354, 3354, 3355,
3201
     2649, 3355, 3356, 3356, 3356, 3357, 3357, 3357, 3358, 3358,
3202
     3358, 3359, 3359, 3359, 3360, 3360, 3360, 3361, 3361, 3361,
3203
     3362, 3362, 3362, 3363, 2647, 3363, 3364, 3364, 3364, 3365,
3204
     3365, 3365, 3366, 3366, 3366, 3367, 2642, 3367, 3368, 3368,
3205
     3368, 3369, 3369, 3369, 3370, 3370, 3370, 3371, 3371, 3371,
3206
     3372, 3372, 3372, 3373, 3373, 3373, 3374, 3374, 3374, 3375,
3207
3208
     2641, 3375, 3376, 3376, 3376, 3377, 3377, 3377, 3378, 3378,
3209
     3378, 3379, 2640, 3379, 3380, 3380, 3380, 3381, 3381, 3381,
3210
     3382, 3382, 3382, 3383, 3383, 3383, 3384, 3384, 3384, 3385,
3211
     3385, 3385, 3386, 3386, 3386, 3387, 2639, 3387, 3388, 3388,
3212
     3388, 3389, 2638, 3389, 3390, 3390, 3390, 3391, 2637, 3391,
3213
     3392, 3392, 3392, 3393, 2636, 3393, 3394, 2630, 3394, 3395,
3214
     3395, 3395, 3396, 2615, 3396, 3397, 2604, 3397, 3398, 2603,
3215
     3398, 3399, 2600, 3399, 3400, 2596, 3400, 3401, 2574, 3401,
3216
     2572, 2556, 2546, 2544, 2527, 2522, 2520, 2512, 2507, 2493,
3217
     2491, 2490, 2488, 2487, 2486, 2485, 2484, 2469, 2468, 2447,
3218
3219
     2445, 2436, 2423, 2399, 2397, 2381, 2379, 2376, 2375, 2373,
3220
     2368, 2365, 2361, 2357, 2349, 2330, 2327, 2325, 2323, 2321,
3221
     2314, 2313, 2312, 2311, 2310, 2309, 2308, 2306, 2305, 2304,
3222
     2284, 2280, 2267, 2264, 2247, 2225, 2208, 2207, 2195, 2194,
3223
     2193, 2185, 2182, 2181, 2180, 2173, 2157, 2148, 2147, 2144,
3224
     2131, 2130, 2128, 2127, 2126, 2125, 2123, 2121, 2120, 2118,
3225
     2117, 2102, 2096, 2090, 2087, 2059, 2057, 2048, 2030, 2009,
3226
     1991, 1980, 1973, 1961, 1945, 1932, 1931, 1930, 1929, 1928,
3227
     1927, 1926, 1924, 1923, 1922, 1921, 1919, 1918, 1916, 1915,
3228
     1914, 1909, 1859, 1841, 1834, 1823, 1816, 1811, 1806, 1799,
3229
3230
     1796, 1788, 1783, 1738, 1737, 1735, 1724, 1722, 1721, 1720,
3231
     1718, 1717, 1716, 1715, 1714, 1713, 1712, 1711, 1710, 1708,
3232
     1707, 1706, 1705, 1700, 1699, 1698, 1684, 1642, 1639, 1635,
3233
     1591, 1583, 1572, 1555, 1544, 1525, 1518, 1505, 1504, 1503,
3234
     1502, 1501, 1500, 1499, 1498, 1497, 1496, 1494, 1493, 1491,
3235
     1490, 1482, 1481, 1480, 1479, 1476, 1468, 1467, 1463, 1410,
3236
     1408, 1398, 1390, 1355, 1305, 1304, 1303, 1281, 1280, 1278,
3237
     1277, 1276, 1275, 1274, 1273, 1272, 1271, 1270, 1269, 1267,
3238
     1266, 1265, 1259, 1258, 1257, 1256, 1255, 1254, 1242, 1241,
3239
     1238, 1235, 1197, 1196, 1193, 1189, 1184, 1178, 1176, 1167,
3240
3241
     1165, 1142, 1135, 1132, 1128, 1127, 1126, 1125, 1101, 1080,
3242
     1078, 1058, 1041, 1038, 1037, 1036, 1035, 1034, 1033, 1032,
3243
     1031, 1029, 1028, 1027, 1025, 1024, 1023, 1022, 1021, 1020,
3244
     1019, 1018, 1017, 1015, 1012, 1011, 1010, 1007,  998,  997,
3245
      991,  990,  943,  908,  897,  896,  848,  832,  822,  816,
3246
      811,  809,  806,  805,  801,  800,  799,  798,  793,  792,
3247
      791,  790,  789,  788,  787,  786,  785,  784,  783,  782,
3248
      781,  780,  779,  778,  776,  775,  774,  773,  767,  703,
3249
      695,  676,  655,  651,  649,  634,  631,  619,  618,  617,
3250
      616,  613,  611,  608,  607,  606,  605,  604,  601,  600,
3251
3252
      599,  598,  597,  596,  595,  594,  593,  592,  591,  590,
3253
      589,  587,  586,  585,  584,  583,  582,  581,  580,  575,
3254
      565,  562,  522,  521,  495,  491,  457,  453,  452,  450,
3255
      441,  436,  430,  429,  428,  427,  426,  425,  424,  423,
3256
      422,  421,  420,  417,  415,  411,  408,  405,  404,  402,
3257
      400,  398,  396,  394,  393,  392,  388,  387,  385,  382,
3258
      312,  307,  288,  275,  253,  241,  226,  222,  219,  218,
3259
      209,  208,  207,  203,  202,  196,  194,  193,  191,  189,
3260
      187,  185,  183,  180,  179,  175,  173,  171,  167,  139,
3261
      138,  122,   95,   87,   79,   71,   66,   63,   57,   56,
3262
3263
       55,   42,   41, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3264
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3265
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3266
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3267
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3268
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3269
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3270
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3271
     3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255,
3272
     3255, 3255, 3255, 3255
3273
3274
    } ;
3275
3276
static yy_state_type yy_last_accepting_state;
3277
static char *yy_last_accepting_cpos;
3278
3279
extern int yy_flex_debug;
3280
int yy_flex_debug = 0;
3281
3282
/* The intent behind this definition is that it'll catch
3283
 * any uses of REJECT which flex missed.
3284
 */
3285
#define REJECT reject_used_but_not_detected
3286
static int yy_more_flag = 0;
3287
static int yy_more_len = 0;
3288
0
#define yymore() ((yy_more_flag) = 1)
3289
0
#define YY_MORE_ADJ (yy_more_len)
3290
#define YY_RESTORE_YY_MORE_OFFSET
3291
char *yytext;
3292
#line 1 "core/cfg.lex"
3293
/*
3294
 * scanner for cfg files
3295
 *
3296
 * Copyright (C) 2001-2003 FhG Fokus
3297
 *
3298
 * This file is part of Kamailio, a free SIP server.
3299
 *
3300
 * Kamailio is free software; you can redistribute it and/or modify
3301
 * it under the terms of the GNU General Public License as published by
3302
 * the Free Software Foundation; either version 2 of the License, or
3303
 * (at your option) any later version
3304
 *
3305
 * For a license to use the ser software under conditions
3306
 * other than those described here, or to purchase support for this
3307
 * software, please contact iptel.org by e-mail at the following addresses:
3308
 *    info@iptel.org
3309
 *
3310
 * Kamailio is distributed in the hope that it will be useful,
3311
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3312
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3313
 * GNU General Public License for more details.
3314
 *
3315
 * You should have received a copy of the GNU General Public License
3316
 * along with this program; if not, write to the Free Software
3317
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3318
 *
3319
*/
3320
#define YY_NO_INPUT 1
3321
#line 32 "core/cfg.lex"
3322
  #include "dprint.h"
3323
  #include "globals.h"
3324
  #include "mem/mem.h"
3325
  #include <string.h>
3326
  #include <stdlib.h>
3327
  #include "ip_addr.h"
3328
  #include "usr_avp.h"
3329
  #include "select.h"
3330
  #include "cfg.tab.h"
3331
  #include "sr_compat.h"
3332
  #include "daemonize.h"
3333
  #include "ppcfg.h"
3334
3335
  static void ksr_yy_fatal_error(const char* msg);
3336
0
  #define YY_FATAL_ERROR(msg) ksr_yy_fatal_error(msg);
3337
3338
  /* states */
3339
0
  #define INITIAL_S   0
3340
0
  #define COMMENT_S   1
3341
0
  #define COMMENT_LN_S          2
3342
0
  #define STRING_S    3
3343
0
  #define ATTR_S                  4  /* avp/attr */
3344
0
  #define SELECT_S                5
3345
0
  #define AVP_PVAR_S              6  /* avp or pvar */
3346
0
  #define PVAR_P_S                7  /* pvar: $(...)  or $foo(...)*/
3347
0
  #define PVARID_S                8  /* $foo.bar...*/
3348
0
  #define STR_BETWEEN_S   9
3349
0
  #define LINECOMMENT_S           10
3350
0
  #define DEFINE_S                11
3351
0
  #define DEFINE_EOL_S            12
3352
0
  #define IFDEF_S                 13
3353
0
  #define IFDEF_EOL_S             14
3354
0
  #define IFDEF_SKIP_S            15
3355
0
  #define DEFINE_DATA_S           16
3356
0
  #define EVRT_NAME_S             17
3357
3358
0
  #define STR_BUF_ALLOC_UNIT  128
3359
  struct str_buf{
3360
    char* s;
3361
    char* crt;
3362
    int left;
3363
  };
3364
3365
3366
  static int comment_nest=0;
3367
  static int p_nest=0;
3368
  static int state=0, old_state=0, old_initial=0;
3369
  static struct str_buf s_buf;
3370
  int line=1;
3371
  int column=1;
3372
  int startcolumn=1;
3373
  int startline=1;
3374
  char *finame = 0;
3375
  char *routename = 0;
3376
  char *default_routename = 0;
3377
3378
  static int ign_lines=0;
3379
  static int ign_columns=0;
3380
  char* yy_number_str=0; /* str correspondent for the current NUMBER token */
3381
  int r = 0;
3382
  str *sdef = 0;
3383
3384
  static char* addchar(struct str_buf *, char);
3385
  static char* addstr(struct str_buf *, char*, int);
3386
  static void count();
3387
  static void count_more();
3388
  static void count_ignore();
3389
3390
0
  #define MAX_INCLUDE_DEPTH 10
3391
  static struct sr_yy_state {
3392
    YY_BUFFER_STATE state;
3393
    int line;
3394
    int column;
3395
    int startcolumn;
3396
    int startline;
3397
    char *finame;
3398
    char *routename;
3399
  } include_stack[MAX_INCLUDE_DEPTH];
3400
  static int include_stack_ptr = 0;
3401
3402
  static int sr_push_yy_state(char *fin, int mode);
3403
  static int sr_pop_yy_state();
3404
3405
  static struct sr_yy_fname {
3406
    char *fname;
3407
    struct sr_yy_fname *next;
3408
  } *sr_yy_fname_list = 0;
3409
3410
  static int  pp_ifdef_type(int pos);
3411
  static void pp_ifdef_var(int len, const char * text);
3412
  static void pp_ifdef();
3413
  static void pp_else();
3414
  static void pp_endif();
3415
  static void ksr_cfg_print_part(char *text);
3416
  static void ksr_cfg_print_define_module(char *modpath, int modpathlen);
3417
3418
#line 3419 "core/lex.yy.c"
3419
/* start conditions */
3420
3421
/* config script types : #!SER  or #!KAMAILIO or #!MAX_COMPAT */
3422
/* action keywords */
3423
/*ACTION LVALUES*/
3424
/* condition keywords */
3425
/* hack -- the second element in first line is referable
3426
 * as either uri or status; it only would makes sense to
3427
 * call it "uri" from route{} and status from onreply_route{}
3428
 */
3429
/* operators */
3430
/* Attribute specification */
3431
/* avp prefix */
3432
/* config vars. */
3433
/* dns cache */
3434
/* ipv6 auto bind */
3435
/* blocklist */
3436
/* values */
3437
/* start of pre-processing directives */
3438
/* else is already defined */
3439
/* pre-processing blocks */
3440
/* include files */
3441
#line 3442 "core/lex.yy.c"
3442
3443
0
#define INITIAL 0
3444
0
#define STRING1 1
3445
0
#define STRING2 2
3446
0
#define STR_BETWEEN 3
3447
0
#define COMMENT 4
3448
#define COMMENT_LN 5
3449
0
#define ATTR 6
3450
0
#define SELECT 7
3451
0
#define AVP_PVAR 8
3452
0
#define PVAR_P 9
3453
0
#define PVARID 10
3454
0
#define INCLF 11
3455
0
#define IMPTF 12
3456
0
#define EVRTNAME 13
3457
0
#define CFGPRINTMODE 14
3458
0
#define CFGPRINTLOADMOD 15
3459
0
#define DEFENV_ID 16
3460
0
#define DEFENVS_ID 17
3461
0
#define TRYDEFENV_ID 18
3462
0
#define TRYDEFENVS_ID 19
3463
0
#define LINECOMMENT 20
3464
0
#define DEFINE_ID 21
3465
0
#define DEFINE_EOL 22
3466
0
#define DEFINE_DATA 23
3467
0
#define IFDEF_ID 24
3468
0
#define IFDEF_EOL 25
3469
0
#define IFDEF_SKIP 26
3470
0
#define IFEXP_STM 27
3471
3472
#ifndef YY_NO_UNISTD_H
3473
/* Special case for "unistd.h", since it is non-ANSI. We include it way
3474
 * down here because we want the user's section 1 to have been scanned first.
3475
 * The user has a chance to override it with an option.
3476
 */
3477
#include <unistd.h>
3478
#endif
3479
3480
#ifndef YY_EXTRA_TYPE
3481
#define YY_EXTRA_TYPE void *
3482
#endif
3483
3484
static int yy_init_globals ( void );
3485
3486
/* Accessor methods to globals.
3487
   These are made visible to non-reentrant scanners for convenience. */
3488
3489
int yylex_destroy ( void );
3490
3491
int yyget_debug ( void );
3492
3493
void yyset_debug ( int debug_flag  );
3494
3495
YY_EXTRA_TYPE yyget_extra ( void );
3496
3497
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
3498
3499
FILE *yyget_in ( void );
3500
3501
void yyset_in  ( FILE * _in_str  );
3502
3503
FILE *yyget_out ( void );
3504
3505
void yyset_out  ( FILE * _out_str  );
3506
3507
      int yyget_leng ( void );
3508
3509
char *yyget_text ( void );
3510
3511
int yyget_lineno ( void );
3512
3513
void yyset_lineno ( int _line_number  );
3514
3515
/* Macros after this point can all be overridden by user definitions in
3516
 * section 1.
3517
 */
3518
3519
#ifndef YY_SKIP_YYWRAP
3520
#ifdef __cplusplus
3521
extern "C" int yywrap ( void );
3522
#else
3523
extern int yywrap ( void );
3524
#endif
3525
#endif
3526
3527
#ifndef YY_NO_UNPUT
3528
    
3529
    static void yyunput ( int c, char *buf_ptr  );
3530
    
3531
#endif
3532
3533
#ifndef yytext_ptr
3534
static void yy_flex_strncpy ( char *, const char *, int );
3535
#endif
3536
3537
#ifdef YY_NEED_STRLEN
3538
static int yy_flex_strlen ( const char * );
3539
#endif
3540
3541
#ifndef YY_NO_INPUT
3542
#ifdef __cplusplus
3543
static int yyinput ( void );
3544
#else
3545
static int input ( void );
3546
#endif
3547
3548
#endif
3549
3550
/* Amount of stuff to slurp up with each read. */
3551
#ifndef YY_READ_BUF_SIZE
3552
#ifdef __ia64__
3553
/* On IA-64, the buffer size is 16k, not 8k */
3554
#define YY_READ_BUF_SIZE 16384
3555
#else
3556
0
#define YY_READ_BUF_SIZE 8192
3557
#endif /* __ia64__ */
3558
#endif
3559
3560
/* Copy whatever the last rule matched to the standard output. */
3561
#ifndef ECHO
3562
/* This used to be an fputs(), but since the string might contain NUL's,
3563
 * we now use fwrite().
3564
 */
3565
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
3566
#endif
3567
3568
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3569
 * is returned in "result".
3570
 */
3571
#ifndef YY_INPUT
3572
#define YY_INPUT(buf,result,max_size) \
3573
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3574
0
    { \
3575
0
    int c = '*'; \
3576
0
    int n; \
3577
0
    for ( n = 0; n < max_size && \
3578
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3579
0
      buf[n] = (char) c; \
3580
0
    if ( c == '\n' ) \
3581
0
      buf[n++] = (char) c; \
3582
0
    if ( c == EOF && ferror( yyin ) ) \
3583
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
3584
0
    result = n; \
3585
0
    } \
3586
0
  else \
3587
0
    { \
3588
0
    errno=0; \
3589
0
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
3590
0
      { \
3591
0
      if( errno != EINTR) \
3592
0
        { \
3593
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
3594
0
        break; \
3595
0
        } \
3596
0
      errno=0; \
3597
0
      clearerr(yyin); \
3598
0
      } \
3599
0
    }\
3600
\
3601
3602
#endif
3603
3604
/* No semi-colon after return; correct usage is to write "yyterminate();" -
3605
 * we don't want an extra ';' after the "return" because that will cause
3606
 * some compilers to complain about unreachable statements.
3607
 */
3608
#ifndef yyterminate
3609
#define yyterminate() return YY_NULL
3610
#endif
3611
3612
/* Number of entries by which start-condition stack grows. */
3613
#ifndef YY_START_STACK_INCR
3614
#define YY_START_STACK_INCR 25
3615
#endif
3616
3617
/* Report a fatal error. */
3618
#ifndef YY_FATAL_ERROR
3619
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3620
#endif
3621
3622
/* end tables serialization structures and prototypes */
3623
3624
/* Default declaration of generated scanner - a define so the user can
3625
 * easily add parameters.
3626
 */
3627
#ifndef YY_DECL
3628
#define YY_DECL_IS_OURS 1
3629
3630
extern int yylex (void);
3631
3632
#define YY_DECL int yylex (void)
3633
#endif /* !YY_DECL */
3634
3635
/* Code executed at the beginning of each rule, after yytext and yyleng
3636
 * have been set up.
3637
 */
3638
#ifndef YY_USER_ACTION
3639
#define YY_USER_ACTION
3640
#endif
3641
3642
/* Code executed at the end of each rule. */
3643
#ifndef YY_BREAK
3644
0
#define YY_BREAK /*LINTED*/break;
3645
#endif
3646
3647
#define YY_RULE_SETUP \
3648
  YY_USER_ACTION
3649
3650
/** The main scanner function which does all the work.
3651
 */
3652
YY_DECL
3653
0
{
3654
0
  yy_state_type yy_current_state;
3655
0
  char *yy_cp, *yy_bp;
3656
0
  int yy_act;
3657
    
3658
0
  if ( !(yy_init) )
3659
0
    {
3660
0
    (yy_init) = 1;
3661
3662
#ifdef YY_USER_INIT
3663
    YY_USER_INIT;
3664
#endif
3665
3666
0
    if ( ! (yy_start) )
3667
0
      (yy_start) = 1; /* first start state */
3668
3669
0
    if ( ! yyin )
3670
0
      yyin = stdin;
3671
3672
0
    if ( ! yyout )
3673
0
      yyout = stdout;
3674
3675
0
    if ( ! YY_CURRENT_BUFFER ) {
3676
0
      yyensure_buffer_stack ();
3677
0
      YY_CURRENT_BUFFER_LVALUE =
3678
0
        yy_create_buffer( yyin, YY_BUF_SIZE );
3679
0
    }
3680
3681
0
    yy_load_buffer_state(  );
3682
0
    }
3683
3684
0
  {
3685
0
#line 611 "core/cfg.lex"
3686
3687
3688
3689
0
#line 3690 "core/lex.yy.c"
3690
3691
0
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
3692
0
    {
3693
0
    (yy_more_len) = 0;
3694
0
    if ( (yy_more_flag) )
3695
0
      {
3696
0
      (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
3697
0
      (yy_more_flag) = 0;
3698
0
      }
3699
0
    yy_cp = (yy_c_buf_p);
3700
3701
    /* Support of yytext. */
3702
0
    *yy_cp = (yy_hold_char);
3703
3704
    /* yy_bp points to the position in yy_ch_buf of the start of
3705
     * the current run.
3706
     */
3707
0
    yy_bp = yy_cp;
3708
3709
0
    yy_current_state = (yy_start);
3710
0
yy_match:
3711
0
    do
3712
0
      {
3713
0
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3714
0
      if ( yy_accept[yy_current_state] )
3715
0
        {
3716
0
        (yy_last_accepting_state) = yy_current_state;
3717
0
        (yy_last_accepting_cpos) = yy_cp;
3718
0
        }
3719
0
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3720
0
        {
3721
0
        yy_current_state = (int) yy_def[yy_current_state];
3722
0
        if ( yy_current_state >= 3256 )
3723
0
          yy_c = yy_meta[yy_c];
3724
0
        }
3725
0
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3726
0
      ++yy_cp;
3727
0
      }
3728
0
    while ( yy_base[yy_current_state] != 7804 );
3729
3730
0
yy_find_action:
3731
0
    yy_act = yy_accept[yy_current_state];
3732
0
    if ( yy_act == 0 )
3733
0
      { /* have to back up */
3734
0
      yy_cp = (yy_last_accepting_cpos);
3735
0
      yy_current_state = (yy_last_accepting_state);
3736
0
      yy_act = yy_accept[yy_current_state];
3737
0
      }
3738
3739
0
    YY_DO_BEFORE_ACTION;
3740
3741
0
do_action:  /* This label is used only to access EOF actions. */
3742
3743
0
    switch ( yy_act )
3744
0
  { /* beginning of action switch */
3745
0
      case 0: /* must back up */
3746
      /* undo the effects of YY_DO_BEFORE_ACTION */
3747
0
      *yy_cp = (yy_hold_char);
3748
0
      yy_cp = (yy_last_accepting_cpos);
3749
0
      yy_current_state = (yy_last_accepting_state);
3750
0
      goto yy_find_action;
3751
3752
0
case 1:
3753
0
YY_RULE_SETUP
3754
0
#line 614 "core/cfg.lex"
3755
0
{ count(); }
3756
0
  YY_BREAK
3757
0
case 2:
3758
0
YY_RULE_SETUP
3759
0
#line 616 "core/cfg.lex"
3760
0
{count(); yylval.strval=yytext; return FORWARD; }
3761
0
  YY_BREAK
3762
0
case 3:
3763
0
YY_RULE_SETUP
3764
0
#line 617 "core/cfg.lex"
3765
0
{count(); yylval.strval=yytext; return FORWARD_TCP; }
3766
0
  YY_BREAK
3767
0
case 4:
3768
0
YY_RULE_SETUP
3769
0
#line 618 "core/cfg.lex"
3770
0
{count(); yylval.strval=yytext; return FORWARD_TLS; }
3771
0
  YY_BREAK
3772
0
case 5:
3773
0
YY_RULE_SETUP
3774
0
#line 619 "core/cfg.lex"
3775
0
{count(); yylval.strval=yytext; return FORWARD_SCTP;}
3776
0
  YY_BREAK
3777
0
case 6:
3778
0
YY_RULE_SETUP
3779
0
#line 620 "core/cfg.lex"
3780
0
{count(); yylval.strval=yytext; return FORWARD_UDP; }
3781
0
  YY_BREAK
3782
0
case 7:
3783
0
YY_RULE_SETUP
3784
0
#line 621 "core/cfg.lex"
3785
0
{ count(); yylval.strval=yytext; return DROP; }
3786
0
  YY_BREAK
3787
0
case 8:
3788
0
YY_RULE_SETUP
3789
0
#line 622 "core/cfg.lex"
3790
0
{ count(); yylval.strval=yytext; return EXIT; }
3791
0
  YY_BREAK
3792
0
case 9:
3793
0
YY_RULE_SETUP
3794
0
#line 623 "core/cfg.lex"
3795
0
{ count(); yylval.strval=yytext; return RETURN; }
3796
0
  YY_BREAK
3797
0
case 10:
3798
0
YY_RULE_SETUP
3799
0
#line 624 "core/cfg.lex"
3800
0
{ count(); yylval.strval=yytext; return BREAK; }
3801
0
  YY_BREAK
3802
0
case 11:
3803
0
YY_RULE_SETUP
3804
0
#line 625 "core/cfg.lex"
3805
0
{ count(); yylval.strval=yytext; return LOG_TOK; }
3806
0
  YY_BREAK
3807
0
case 12:
3808
0
YY_RULE_SETUP
3809
0
#line 626 "core/cfg.lex"
3810
0
{ count(); yylval.strval=yytext; return ERROR; }
3811
0
  YY_BREAK
3812
0
case 13:
3813
0
YY_RULE_SETUP
3814
0
#line 627 "core/cfg.lex"
3815
0
{ count(); yylval.strval=yytext; return SETFLAG; }
3816
0
  YY_BREAK
3817
0
case 14:
3818
0
YY_RULE_SETUP
3819
0
#line 628 "core/cfg.lex"
3820
0
{ count(); yylval.strval=yytext; return RESETFLAG; }
3821
0
  YY_BREAK
3822
0
case 15:
3823
0
YY_RULE_SETUP
3824
0
#line 629 "core/cfg.lex"
3825
0
{ count(); yylval.strval=yytext; return ISFLAGSET; }
3826
0
  YY_BREAK
3827
0
case 16:
3828
0
YY_RULE_SETUP
3829
0
#line 630 "core/cfg.lex"
3830
0
{ count(); yylval.strval=yytext; return FLAGS_DECL; }
3831
0
  YY_BREAK
3832
0
case 17:
3833
0
YY_RULE_SETUP
3834
0
#line 631 "core/cfg.lex"
3835
0
{ count(); yylval.strval=yytext; return SETAVPFLAG; }
3836
0
  YY_BREAK
3837
0
case 18:
3838
0
YY_RULE_SETUP
3839
0
#line 632 "core/cfg.lex"
3840
0
{ count(); yylval.strval=yytext; return RESETAVPFLAG; }
3841
0
  YY_BREAK
3842
0
case 19:
3843
0
YY_RULE_SETUP
3844
0
#line 633 "core/cfg.lex"
3845
0
{ count(); yylval.strval=yytext; return ISAVPFLAGSET; }
3846
0
  YY_BREAK
3847
0
case 20:
3848
0
YY_RULE_SETUP
3849
0
#line 634 "core/cfg.lex"
3850
0
{ count(); yylval.strval=yytext; return AVPFLAGS_DECL; }
3851
0
  YY_BREAK
3852
0
case 21:
3853
0
YY_RULE_SETUP
3854
0
#line 635 "core/cfg.lex"
3855
0
{ count(); yylval.strval=yytext; return MSGLEN; }
3856
0
  YY_BREAK
3857
0
case 22:
3858
0
YY_RULE_SETUP
3859
0
#line 636 "core/cfg.lex"
3860
0
{ count(); default_routename="DEFAULT_ROUTE";
3861
0
            yylval.strval=yytext; return ROUTE; }
3862
0
  YY_BREAK
3863
0
case 23:
3864
0
YY_RULE_SETUP
3865
0
#line 638 "core/cfg.lex"
3866
0
{ count(); default_routename="DEFAULT_ROUTE";
3867
0
                yylval.strval=yytext; return ROUTE_REQUEST; }
3868
0
  YY_BREAK
3869
0
case 24:
3870
0
YY_RULE_SETUP
3871
0
#line 640 "core/cfg.lex"
3872
0
{ count(); default_routename="DEFAULT_ONREPLY";
3873
0
                yylval.strval=yytext;
3874
0
                return ROUTE_ONREPLY; }
3875
0
  YY_BREAK
3876
0
case 25:
3877
0
YY_RULE_SETUP
3878
0
#line 643 "core/cfg.lex"
3879
0
{ count(); default_routename="DEFAULT_ONREPLY";
3880
0
              yylval.strval=yytext; return ROUTE_REPLY; }
3881
0
  YY_BREAK
3882
0
case 26:
3883
0
YY_RULE_SETUP
3884
0
#line 645 "core/cfg.lex"
3885
0
{ count(); default_routename="DEFAULT_FAILURE";
3886
0
                yylval.strval=yytext;
3887
0
                return ROUTE_FAILURE; }
3888
0
  YY_BREAK
3889
0
case 27:
3890
0
YY_RULE_SETUP
3891
0
#line 648 "core/cfg.lex"
3892
0
{ count(); default_routename="DEFAULT_BRANCH";
3893
0
              yylval.strval=yytext; return ROUTE_BRANCH; }
3894
0
  YY_BREAK
3895
0
case 28:
3896
0
YY_RULE_SETUP
3897
0
#line 650 "core/cfg.lex"
3898
0
{ count(); default_routename="DEFAULT_SEND";
3899
0
              yylval.strval=yytext; return ROUTE_SEND; }
3900
0
  YY_BREAK
3901
0
case 29:
3902
0
YY_RULE_SETUP
3903
0
#line 652 "core/cfg.lex"
3904
0
{ count(); default_routename="DEFAULT_EVENT";
3905
0
              yylval.strval=yytext;
3906
0
              state=EVRT_NAME_S; BEGIN(EVRTNAME);
3907
0
              return ROUTE_EVENT; }
3908
0
  YY_BREAK
3909
0
case 30:
3910
0
YY_RULE_SETUP
3911
0
#line 656 "core/cfg.lex"
3912
0
{ count(); return LBRACK; }
3913
0
  YY_BREAK
3914
0
case 31:
3915
/* rule 31 can match eol */
3916
0
YY_RULE_SETUP
3917
0
#line 657 "core/cfg.lex"
3918
0
{ count(); };
3919
0
  YY_BREAK
3920
0
case 32:
3921
0
YY_RULE_SETUP
3922
0
#line 658 "core/cfg.lex"
3923
0
{ count();
3924
0
                addstr(&s_buf, yytext, yyleng);
3925
0
                yylval.strval=s_buf.s;
3926
0
                routename=s_buf.s;
3927
0
                memset(&s_buf, 0, sizeof(s_buf));
3928
0
                return EVENT_RT_NAME; }
3929
0
  YY_BREAK
3930
0
case 33:
3931
0
YY_RULE_SETUP
3932
0
#line 664 "core/cfg.lex"
3933
0
{ count();
3934
0
                state=INITIAL_S; BEGIN(INITIAL);
3935
0
                return RBRACK; }
3936
0
  YY_BREAK
3937
0
case 34:
3938
0
YY_RULE_SETUP
3939
0
#line 667 "core/cfg.lex"
3940
0
{ count(); yylval.strval=yytext; return EXEC; }
3941
0
  YY_BREAK
3942
0
case 35:
3943
0
YY_RULE_SETUP
3944
0
#line 668 "core/cfg.lex"
3945
0
{ count(); yylval.strval=yytext; return SET_HOST; }
3946
0
  YY_BREAK
3947
0
case 36:
3948
0
YY_RULE_SETUP
3949
0
#line 669 "core/cfg.lex"
3950
0
{ count(); yylval.strval=yytext; return SET_HOSTPORT; }
3951
0
  YY_BREAK
3952
0
case 37:
3953
0
YY_RULE_SETUP
3954
0
#line 670 "core/cfg.lex"
3955
0
{ count(); yylval.strval=yytext; return SET_HOSTPORTTRANS; }
3956
0
  YY_BREAK
3957
0
case 38:
3958
0
YY_RULE_SETUP
3959
0
#line 671 "core/cfg.lex"
3960
0
{ count(); yylval.strval=yytext; return SET_USER; }
3961
0
  YY_BREAK
3962
0
case 39:
3963
0
YY_RULE_SETUP
3964
0
#line 672 "core/cfg.lex"
3965
0
{ count(); yylval.strval=yytext; return SET_USERPASS; }
3966
0
  YY_BREAK
3967
0
case 40:
3968
0
YY_RULE_SETUP
3969
0
#line 673 "core/cfg.lex"
3970
0
{ count(); yylval.strval=yytext; return SET_PORT; }
3971
0
  YY_BREAK
3972
0
case 41:
3973
0
YY_RULE_SETUP
3974
0
#line 674 "core/cfg.lex"
3975
0
{ count(); yylval.strval=yytext; return SET_URI; }
3976
0
  YY_BREAK
3977
0
case 42:
3978
0
YY_RULE_SETUP
3979
0
#line 675 "core/cfg.lex"
3980
0
{ count(); yylval.strval=yytext; return REVERT_URI; }
3981
0
  YY_BREAK
3982
0
case 43:
3983
0
YY_RULE_SETUP
3984
0
#line 676 "core/cfg.lex"
3985
0
{ count(); yylval.strval=yytext; return PREFIX; }
3986
0
  YY_BREAK
3987
0
case 44:
3988
0
YY_RULE_SETUP
3989
0
#line 677 "core/cfg.lex"
3990
0
{ count(); yylval.strval=yytext; return STRIP; }
3991
0
  YY_BREAK
3992
0
case 45:
3993
0
YY_RULE_SETUP
3994
0
#line 678 "core/cfg.lex"
3995
0
{ count(); yylval.strval=yytext; return STRIP_TAIL; }
3996
0
  YY_BREAK
3997
0
case 46:
3998
0
YY_RULE_SETUP
3999
0
#line 679 "core/cfg.lex"
4000
0
{ count(); yylval.strval=yytext;
4001
0
                return REMOVE_BRANCH; }
4002
0
  YY_BREAK
4003
0
case 47:
4004
0
YY_RULE_SETUP
4005
0
#line 681 "core/cfg.lex"
4006
0
{ count(); yylval.strval=yytext;
4007
0
                return CLEAR_BRANCHES; }
4008
0
  YY_BREAK
4009
0
case 48:
4010
0
YY_RULE_SETUP
4011
0
#line 683 "core/cfg.lex"
4012
0
{ count(); yylval.strval=yytext;
4013
0
                return SET_USERPHONE; }
4014
0
  YY_BREAK
4015
0
case 49:
4016
0
YY_RULE_SETUP
4017
0
#line 685 "core/cfg.lex"
4018
0
{ count(); yylval.strval=yytext; return FORCE_RPORT; }
4019
0
  YY_BREAK
4020
0
case 50:
4021
0
YY_RULE_SETUP
4022
0
#line 686 "core/cfg.lex"
4023
0
{ count(); yylval.strval=yytext;
4024
0
                return LOCAL_RPORT; }
4025
0
  YY_BREAK
4026
0
case 51:
4027
0
YY_RULE_SETUP
4028
0
#line 688 "core/cfg.lex"
4029
0
{ count(); yylval.strval=yytext;
4030
0
                return ADD_LOCAL_RPORT; }
4031
0
  YY_BREAK
4032
0
case 52:
4033
0
YY_RULE_SETUP
4034
0
#line 690 "core/cfg.lex"
4035
0
{ count(); yylval.strval=yytext;
4036
0
                return FORCE_TCP_ALIAS; }
4037
0
  YY_BREAK
4038
0
case 53:
4039
0
YY_RULE_SETUP
4040
0
#line 692 "core/cfg.lex"
4041
0
{ count(); yylval.strval=yytext; return UDP_MTU; }
4042
0
  YY_BREAK
4043
0
case 54:
4044
0
YY_RULE_SETUP
4045
0
#line 693 "core/cfg.lex"
4046
0
{ count(); yylval.strval=yytext;
4047
0
                  return UDP_MTU_TRY_PROTO; }
4048
0
  YY_BREAK
4049
0
case 55:
4050
0
YY_RULE_SETUP
4051
0
#line 695 "core/cfg.lex"
4052
0
{ count(); yylval.strval=yytext; return UDP4_RAW; }
4053
0
  YY_BREAK
4054
0
case 56:
4055
0
YY_RULE_SETUP
4056
0
#line 696 "core/cfg.lex"
4057
0
{ count(); yylval.strval=yytext; return UDP4_RAW_MTU; }
4058
0
  YY_BREAK
4059
0
case 57:
4060
0
YY_RULE_SETUP
4061
0
#line 697 "core/cfg.lex"
4062
0
{ count(); yylval.strval=yytext; return UDP4_RAW_TTL; }
4063
0
  YY_BREAK
4064
0
case 58:
4065
0
YY_RULE_SETUP
4066
0
#line 698 "core/cfg.lex"
4067
0
{ count(); yylval.strval=yytext; return IF; }
4068
0
  YY_BREAK
4069
0
case 59:
4070
0
YY_RULE_SETUP
4071
0
#line 699 "core/cfg.lex"
4072
0
{ count(); yylval.strval=yytext; return ELSE; }
4073
0
  YY_BREAK
4074
0
case 60:
4075
0
YY_RULE_SETUP
4076
0
#line 701 "core/cfg.lex"
4077
0
{ count(); yylval.strval=yytext;
4078
0
                    return SET_ADV_ADDRESS; }
4079
0
  YY_BREAK
4080
0
case 61:
4081
0
YY_RULE_SETUP
4082
0
#line 703 "core/cfg.lex"
4083
0
{ count(); yylval.strval=yytext;
4084
0
                    return SET_ADV_PORT; }
4085
0
  YY_BREAK
4086
0
case 62:
4087
0
YY_RULE_SETUP
4088
0
#line 705 "core/cfg.lex"
4089
0
{ count(); yylval.strval=yytext;
4090
0
                  return FORCE_SEND_SOCKET; }
4091
0
  YY_BREAK
4092
0
case 63:
4093
0
YY_RULE_SETUP
4094
0
#line 707 "core/cfg.lex"
4095
0
{ count(); yylval.strval=yytext;
4096
0
                  return SET_FWD_NO_CONNECT; }
4097
0
  YY_BREAK
4098
0
case 64:
4099
0
YY_RULE_SETUP
4100
0
#line 709 "core/cfg.lex"
4101
0
{ count(); yylval.strval=yytext;
4102
0
                  return SET_RPL_NO_CONNECT; }
4103
0
  YY_BREAK
4104
0
case 65:
4105
0
YY_RULE_SETUP
4106
0
#line 711 "core/cfg.lex"
4107
0
{ count(); yylval.strval=yytext;
4108
0
                  return SET_FWD_CLOSE; }
4109
0
  YY_BREAK
4110
0
case 66:
4111
0
YY_RULE_SETUP
4112
0
#line 713 "core/cfg.lex"
4113
0
{ count(); yylval.strval=yytext;
4114
0
                  return SET_RPL_CLOSE; }
4115
0
  YY_BREAK
4116
0
case 67:
4117
0
YY_RULE_SETUP
4118
0
#line 715 "core/cfg.lex"
4119
0
{ count(); yylval.strval=yytext; return SWITCH; }
4120
0
  YY_BREAK
4121
0
case 68:
4122
0
YY_RULE_SETUP
4123
0
#line 716 "core/cfg.lex"
4124
0
{ count(); yylval.strval=yytext; return CASE; }
4125
0
  YY_BREAK
4126
0
case 69:
4127
0
YY_RULE_SETUP
4128
0
#line 717 "core/cfg.lex"
4129
0
{ count(); yylval.strval=yytext; return DEFAULT; }
4130
0
  YY_BREAK
4131
0
case 70:
4132
0
YY_RULE_SETUP
4133
0
#line 718 "core/cfg.lex"
4134
0
{ count(); yylval.strval=yytext; return WHILE; }
4135
0
  YY_BREAK
4136
0
case 71:
4137
0
YY_RULE_SETUP
4138
0
#line 720 "core/cfg.lex"
4139
0
{ count(); BEGIN(INCLF); }
4140
0
  YY_BREAK
4141
0
case 72:
4142
0
YY_RULE_SETUP
4143
0
#line 721 "core/cfg.lex"
4144
0
{ count(); BEGIN(INCLF); }
4145
0
  YY_BREAK
4146
0
case 73:
4147
0
YY_RULE_SETUP
4148
0
#line 723 "core/cfg.lex"
4149
0
{ count(); BEGIN(IMPTF); }
4150
0
  YY_BREAK
4151
0
case 74:
4152
0
YY_RULE_SETUP
4153
0
#line 724 "core/cfg.lex"
4154
0
{ count(); BEGIN(IMPTF); }
4155
0
  YY_BREAK
4156
0
case 75:
4157
0
YY_RULE_SETUP
4158
0
#line 726 "core/cfg.lex"
4159
0
{ count(); yylval.strval=yytext; return CFG_SELECT; }
4160
0
  YY_BREAK
4161
0
case 76:
4162
0
YY_RULE_SETUP
4163
0
#line 727 "core/cfg.lex"
4164
0
{ count(); yylval.strval=yytext; return CFG_RESET; }
4165
0
  YY_BREAK
4166
0
case 77:
4167
0
YY_RULE_SETUP
4168
0
#line 729 "core/cfg.lex"
4169
0
{ count(); yylval.strval=yytext; return URIHOST; }
4170
0
  YY_BREAK
4171
0
case 78:
4172
0
YY_RULE_SETUP
4173
0
#line 730 "core/cfg.lex"
4174
0
{ count(); yylval.strval=yytext; return URIPORT; }
4175
0
  YY_BREAK
4176
0
case 79:
4177
0
YY_RULE_SETUP
4178
0
#line 732 "core/cfg.lex"
4179
0
{ count(); yylval.strval=yytext; return MAX_LEN; }
4180
0
  YY_BREAK
4181
0
case 80:
4182
0
YY_RULE_SETUP
4183
0
#line 734 "core/cfg.lex"
4184
0
{ count(); yylval.strval=yytext; return METHOD; }
4185
0
  YY_BREAK
4186
0
case 81:
4187
0
YY_RULE_SETUP
4188
0
#line 735 "core/cfg.lex"
4189
0
{ count(); yylval.strval=yytext; return URI; }
4190
0
  YY_BREAK
4191
0
case 82:
4192
0
YY_RULE_SETUP
4193
0
#line 736 "core/cfg.lex"
4194
0
{ count(); yylval.strval=yytext; return FROM_URI; }
4195
0
  YY_BREAK
4196
0
case 83:
4197
0
YY_RULE_SETUP
4198
0
#line 737 "core/cfg.lex"
4199
0
{ count(); yylval.strval=yytext; return TO_URI; }
4200
0
  YY_BREAK
4201
0
case 84:
4202
0
YY_RULE_SETUP
4203
0
#line 738 "core/cfg.lex"
4204
0
{ count(); yylval.strval=yytext; return SRCIP; }
4205
0
  YY_BREAK
4206
0
case 85:
4207
0
YY_RULE_SETUP
4208
0
#line 739 "core/cfg.lex"
4209
0
{ count(); yylval.strval=yytext; return SRCPORT; }
4210
0
  YY_BREAK
4211
0
case 86:
4212
0
YY_RULE_SETUP
4213
0
#line 740 "core/cfg.lex"
4214
0
{ count(); yylval.strval=yytext; return DSTIP; }
4215
0
  YY_BREAK
4216
0
case 87:
4217
0
YY_RULE_SETUP
4218
0
#line 741 "core/cfg.lex"
4219
0
{ count(); yylval.strval=yytext; return DSTPORT; }
4220
0
  YY_BREAK
4221
0
case 88:
4222
0
YY_RULE_SETUP
4223
0
#line 742 "core/cfg.lex"
4224
0
{ count(); yylval.strval=yytext; return SNDIP; }
4225
0
  YY_BREAK
4226
0
case 89:
4227
0
YY_RULE_SETUP
4228
0
#line 743 "core/cfg.lex"
4229
0
{ count(); yylval.strval=yytext; return SNDPORT; }
4230
0
  YY_BREAK
4231
0
case 90:
4232
0
YY_RULE_SETUP
4233
0
#line 744 "core/cfg.lex"
4234
0
{ count(); yylval.strval=yytext; return SNDPROTO; }
4235
0
  YY_BREAK
4236
0
case 91:
4237
0
YY_RULE_SETUP
4238
0
#line 745 "core/cfg.lex"
4239
0
{ count(); yylval.strval=yytext; return SNDAF; }
4240
0
  YY_BREAK
4241
0
case 92:
4242
0
YY_RULE_SETUP
4243
0
#line 746 "core/cfg.lex"
4244
0
{ count(); yylval.strval=yytext; return TOIP; }
4245
0
  YY_BREAK
4246
0
case 93:
4247
0
YY_RULE_SETUP
4248
0
#line 747 "core/cfg.lex"
4249
0
{ count(); yylval.strval=yytext; return TOPORT; }
4250
0
  YY_BREAK
4251
0
case 94:
4252
0
YY_RULE_SETUP
4253
0
#line 748 "core/cfg.lex"
4254
0
{ count(); yylval.strval=yytext; return PROTO; }
4255
0
  YY_BREAK
4256
0
case 95:
4257
0
YY_RULE_SETUP
4258
0
#line 749 "core/cfg.lex"
4259
0
{ count(); yylval.strval=yytext; return AF; }
4260
0
  YY_BREAK
4261
0
case 96:
4262
0
YY_RULE_SETUP
4263
0
#line 750 "core/cfg.lex"
4264
0
{ count(); yylval.strval=yytext; return MYSELF; }
4265
0
  YY_BREAK
4266
0
case 97:
4267
0
YY_RULE_SETUP
4268
0
#line 752 "core/cfg.lex"
4269
0
{ count(); yylval.strval=yytext; return DEBUG_V; }
4270
0
  YY_BREAK
4271
0
case 98:
4272
0
YY_RULE_SETUP
4273
0
#line 753 "core/cfg.lex"
4274
0
{ count(); yylval.strval=yytext; return FORK; }
4275
0
  YY_BREAK
4276
0
case 99:
4277
0
YY_RULE_SETUP
4278
0
#line 754 "core/cfg.lex"
4279
0
{ count(); yylval.strval=yytext; return FORK_DELAY; }
4280
0
  YY_BREAK
4281
0
case 100:
4282
0
YY_RULE_SETUP
4283
0
#line 755 "core/cfg.lex"
4284
0
{ count(); yylval.strval=yytext; return MODINIT_DELAY; }
4285
0
  YY_BREAK
4286
0
case 101:
4287
0
YY_RULE_SETUP
4288
0
#line 756 "core/cfg.lex"
4289
0
{ yylval.strval=yytext; return LOGSTDERROR; }
4290
0
  YY_BREAK
4291
0
case 102:
4292
0
YY_RULE_SETUP
4293
0
#line 757 "core/cfg.lex"
4294
0
{ yylval.strval=yytext; return LOGFACILITY; }
4295
0
  YY_BREAK
4296
0
case 103:
4297
0
YY_RULE_SETUP
4298
0
#line 758 "core/cfg.lex"
4299
0
{ yylval.strval=yytext; return LOGNAME; }
4300
0
  YY_BREAK
4301
0
case 104:
4302
0
YY_RULE_SETUP
4303
0
#line 759 "core/cfg.lex"
4304
0
{ yylval.strval=yytext; return LOGCOLOR; }
4305
0
  YY_BREAK
4306
0
case 105:
4307
0
YY_RULE_SETUP
4308
0
#line 760 "core/cfg.lex"
4309
0
{ yylval.strval=yytext; return LOGPREFIX; }
4310
0
  YY_BREAK
4311
0
case 106:
4312
0
YY_RULE_SETUP
4313
0
#line 761 "core/cfg.lex"
4314
0
{ yylval.strval=yytext; return LOGPREFIXMODE; }
4315
0
  YY_BREAK
4316
0
case 107:
4317
0
YY_RULE_SETUP
4318
0
#line 762 "core/cfg.lex"
4319
0
{ yylval.strval=yytext; return LOGENGINETYPE; }
4320
0
  YY_BREAK
4321
0
case 108:
4322
0
YY_RULE_SETUP
4323
0
#line 763 "core/cfg.lex"
4324
0
{ yylval.strval=yytext; return LOGENGINEDATA; }
4325
0
  YY_BREAK
4326
0
case 109:
4327
0
YY_RULE_SETUP
4328
0
#line 764 "core/cfg.lex"
4329
0
{ yylval.strval=yytext; return XAVPVIAPARAMS; }
4330
0
  YY_BREAK
4331
0
case 110:
4332
0
YY_RULE_SETUP
4333
0
#line 765 "core/cfg.lex"
4334
0
{ yylval.strval=yytext; return XAVPVIAFIELDS; }
4335
0
  YY_BREAK
4336
0
case 111:
4337
0
YY_RULE_SETUP
4338
0
#line 766 "core/cfg.lex"
4339
0
{ yylval.strval=yytext; return XAVPVIAREPLYPARAMS; }
4340
0
  YY_BREAK
4341
0
case 112:
4342
0
YY_RULE_SETUP
4343
0
#line 767 "core/cfg.lex"
4344
0
{ count(); yylval.strval=yytext; return LISTEN; }
4345
0
  YY_BREAK
4346
0
case 113:
4347
0
YY_RULE_SETUP
4348
0
#line 768 "core/cfg.lex"
4349
0
{ count(); yylval.strval=yytext; return ADVERTISE; }
4350
0
  YY_BREAK
4351
0
case 114:
4352
0
YY_RULE_SETUP
4353
0
#line 769 "core/cfg.lex"
4354
0
{ count(); yylval.strval=yytext; return VIRTUAL; }
4355
0
  YY_BREAK
4356
0
case 115:
4357
0
YY_RULE_SETUP
4358
0
#line 770 "core/cfg.lex"
4359
0
{ count(); yylval.strval=yytext; return STRNAME; }
4360
0
  YY_BREAK
4361
0
case 116:
4362
0
YY_RULE_SETUP
4363
0
#line 771 "core/cfg.lex"
4364
0
{ count(); yylval.strval=yytext; return ALIAS; }
4365
0
  YY_BREAK
4366
0
case 117:
4367
0
YY_RULE_SETUP
4368
0
#line 772 "core/cfg.lex"
4369
0
{ count(); yylval.strval=yytext; return DOMAIN; }
4370
0
  YY_BREAK
4371
0
case 118:
4372
0
YY_RULE_SETUP
4373
0
#line 773 "core/cfg.lex"
4374
0
{ count(); yylval.strval=yytext;
4375
0
                  return SR_AUTO_ALIASES; }
4376
0
  YY_BREAK
4377
0
case 119:
4378
0
YY_RULE_SETUP
4379
0
#line 775 "core/cfg.lex"
4380
0
{ count(); yylval.strval=yytext;
4381
0
                  return SR_AUTO_DOMAINS; }
4382
0
  YY_BREAK
4383
0
case 120:
4384
0
YY_RULE_SETUP
4385
0
#line 777 "core/cfg.lex"
4386
0
{ count(); yylval.strval=yytext; return DNS; }
4387
0
  YY_BREAK
4388
0
case 121:
4389
0
YY_RULE_SETUP
4390
0
#line 778 "core/cfg.lex"
4391
0
{ count(); yylval.strval=yytext; return REV_DNS; }
4392
0
  YY_BREAK
4393
0
case 122:
4394
0
YY_RULE_SETUP
4395
0
#line 779 "core/cfg.lex"
4396
0
{ count(); yylval.strval=yytext;
4397
0
                return DNS_TRY_IPV6; }
4398
0
  YY_BREAK
4399
0
case 123:
4400
0
YY_RULE_SETUP
4401
0
#line 781 "core/cfg.lex"
4402
0
{ count(); yylval.strval=yytext;
4403
0
                return DNS_TRY_NAPTR; }
4404
0
  YY_BREAK
4405
0
case 124:
4406
0
YY_RULE_SETUP
4407
0
#line 783 "core/cfg.lex"
4408
0
{ count(); yylval.strval=yytext;
4409
0
                return DNS_SRV_LB; }
4410
0
  YY_BREAK
4411
0
case 125:
4412
0
YY_RULE_SETUP
4413
0
#line 785 "core/cfg.lex"
4414
0
{ count(); yylval.strval=yytext;
4415
0
                return DNS_UDP_PREF; }
4416
0
  YY_BREAK
4417
0
case 126:
4418
0
YY_RULE_SETUP
4419
0
#line 787 "core/cfg.lex"
4420
0
{ count(); yylval.strval=yytext;
4421
0
                return DNS_TCP_PREF; }
4422
0
  YY_BREAK
4423
0
case 127:
4424
0
YY_RULE_SETUP
4425
0
#line 789 "core/cfg.lex"
4426
0
{ count(); yylval.strval=yytext;
4427
0
                return DNS_TLS_PREF; }
4428
0
  YY_BREAK
4429
0
case 128:
4430
0
YY_RULE_SETUP
4431
0
#line 791 "core/cfg.lex"
4432
0
{ count(); yylval.strval=yytext;
4433
0
                return DNS_SCTP_PREF; }
4434
0
  YY_BREAK
4435
0
case 129:
4436
0
YY_RULE_SETUP
4437
0
#line 793 "core/cfg.lex"
4438
0
{ count(); yylval.strval=yytext;
4439
0
                return DNS_RETR_TIME; }
4440
0
  YY_BREAK
4441
0
case 130:
4442
0
YY_RULE_SETUP
4443
0
#line 795 "core/cfg.lex"
4444
0
{ count(); yylval.strval=yytext;
4445
0
                return DNS_SLOW_QUERY_MS; }
4446
0
  YY_BREAK
4447
0
case 131:
4448
0
YY_RULE_SETUP
4449
0
#line 797 "core/cfg.lex"
4450
0
{ count(); yylval.strval=yytext;
4451
0
                return DNS_RETR_NO; }
4452
0
  YY_BREAK
4453
0
case 132:
4454
0
YY_RULE_SETUP
4455
0
#line 799 "core/cfg.lex"
4456
0
{ count(); yylval.strval=yytext;
4457
0
                return DNS_SERVERS_NO; }
4458
0
  YY_BREAK
4459
0
case 133:
4460
0
YY_RULE_SETUP
4461
0
#line 801 "core/cfg.lex"
4462
0
{ count(); yylval.strval=yytext;
4463
0
                return DNS_USE_SEARCH; }
4464
0
  YY_BREAK
4465
0
case 134:
4466
0
YY_RULE_SETUP
4467
0
#line 803 "core/cfg.lex"
4468
0
{ count(); yylval.strval=yytext;
4469
0
                return DNS_SEARCH_FMATCH; }
4470
0
  YY_BREAK
4471
0
case 135:
4472
0
YY_RULE_SETUP
4473
0
#line 805 "core/cfg.lex"
4474
0
{ count(); yylval.strval=yytext;
4475
0
                return DNS_NAPTR_IGNORE_RFC; }
4476
0
  YY_BREAK
4477
0
case 136:
4478
0
YY_RULE_SETUP
4479
0
#line 807 "core/cfg.lex"
4480
0
{ count(); yylval.strval=yytext;
4481
0
                return DNS_CACHE_INIT; }
4482
0
  YY_BREAK
4483
0
case 137:
4484
0
YY_RULE_SETUP
4485
0
#line 809 "core/cfg.lex"
4486
0
{ count(); yylval.strval=yytext;
4487
0
                return DNS_USE_CACHE; }
4488
0
  YY_BREAK
4489
0
case 138:
4490
0
YY_RULE_SETUP
4491
0
#line 811 "core/cfg.lex"
4492
0
{ count(); yylval.strval=yytext;
4493
0
                return DNS_USE_FAILOVER; }
4494
0
  YY_BREAK
4495
0
case 139:
4496
0
YY_RULE_SETUP
4497
0
#line 813 "core/cfg.lex"
4498
0
{ count(); yylval.strval=yytext;
4499
0
                return DNS_CACHE_FLAGS; }
4500
0
  YY_BREAK
4501
0
case 140:
4502
0
YY_RULE_SETUP
4503
0
#line 815 "core/cfg.lex"
4504
0
{ count(); yylval.strval=yytext;
4505
0
                return DNS_CACHE_NEG_TTL; }
4506
0
  YY_BREAK
4507
0
case 141:
4508
0
YY_RULE_SETUP
4509
0
#line 817 "core/cfg.lex"
4510
0
{ count(); yylval.strval=yytext;
4511
0
                return DNS_CACHE_MIN_TTL; }
4512
0
  YY_BREAK
4513
0
case 142:
4514
0
YY_RULE_SETUP
4515
0
#line 819 "core/cfg.lex"
4516
0
{ count(); yylval.strval=yytext;
4517
0
                return DNS_CACHE_MAX_TTL; }
4518
0
  YY_BREAK
4519
0
case 143:
4520
0
YY_RULE_SETUP
4521
0
#line 821 "core/cfg.lex"
4522
0
{ count(); yylval.strval=yytext;
4523
0
                return DNS_CACHE_MEM; }
4524
0
  YY_BREAK
4525
0
case 144:
4526
0
YY_RULE_SETUP
4527
0
#line 823 "core/cfg.lex"
4528
0
{ count(); yylval.strval=yytext;
4529
0
                return DNS_CACHE_GC_INT; }
4530
0
  YY_BREAK
4531
0
case 145:
4532
0
YY_RULE_SETUP
4533
0
#line 825 "core/cfg.lex"
4534
0
{ count(); yylval.strval=yytext;
4535
0
                return DNS_CACHE_DEL_NONEXP; }
4536
0
  YY_BREAK
4537
0
case 146:
4538
0
YY_RULE_SETUP
4539
0
#line 827 "core/cfg.lex"
4540
0
{ count(); yylval.strval=yytext;
4541
0
                return DNS_CACHE_REC_PREF; }
4542
0
  YY_BREAK
4543
0
case 147:
4544
0
YY_RULE_SETUP
4545
0
#line 829 "core/cfg.lex"
4546
0
{ count(); yylval.strval=yytext;
4547
0
                return AUTO_BIND_IPV6; }
4548
0
  YY_BREAK
4549
0
case 148:
4550
0
YY_RULE_SETUP
4551
0
#line 831 "core/cfg.lex"
4552
0
{ count(); yylval.strval=yytext;
4553
0
                return BIND_IPV6_LINK_LOCAL; }
4554
0
  YY_BREAK
4555
0
case 149:
4556
0
YY_RULE_SETUP
4557
0
#line 833 "core/cfg.lex"
4558
0
{ count(); yylval.strval=yytext;
4559
0
                return IPV6_HEX_STYLE; }
4560
0
  YY_BREAK
4561
0
case 150:
4562
0
YY_RULE_SETUP
4563
0
#line 835 "core/cfg.lex"
4564
0
{ count(); yylval.strval=yytext;
4565
0
                return DST_BLST_INIT; }
4566
0
  YY_BREAK
4567
0
case 151:
4568
0
YY_RULE_SETUP
4569
0
#line 837 "core/cfg.lex"
4570
0
{ count(); yylval.strval=yytext;
4571
0
                return USE_DST_BLST; }
4572
0
  YY_BREAK
4573
0
case 152:
4574
0
YY_RULE_SETUP
4575
0
#line 839 "core/cfg.lex"
4576
0
{ count(); yylval.strval=yytext;
4577
0
                return DST_BLST_MEM; }
4578
0
  YY_BREAK
4579
0
case 153:
4580
0
YY_RULE_SETUP
4581
0
#line 841 "core/cfg.lex"
4582
0
{ count(); yylval.strval=yytext;
4583
0
                return DST_BLST_TTL; }
4584
0
  YY_BREAK
4585
0
case 154:
4586
0
YY_RULE_SETUP
4587
0
#line 843 "core/cfg.lex"
4588
0
{ count(); yylval.strval=yytext;
4589
0
                return DST_BLST_GC_INT; }
4590
0
  YY_BREAK
4591
0
case 155:
4592
0
YY_RULE_SETUP
4593
0
#line 845 "core/cfg.lex"
4594
0
{ count(); yylval.strval=yytext;
4595
0
                return DST_BLST_UDP_IMASK; }
4596
0
  YY_BREAK
4597
0
case 156:
4598
0
YY_RULE_SETUP
4599
0
#line 847 "core/cfg.lex"
4600
0
{ count(); yylval.strval=yytext;
4601
0
                return DST_BLST_TCP_IMASK; }
4602
0
  YY_BREAK
4603
0
case 157:
4604
0
YY_RULE_SETUP
4605
0
#line 849 "core/cfg.lex"
4606
0
{ count(); yylval.strval=yytext;
4607
0
                return DST_BLST_TLS_IMASK; }
4608
0
  YY_BREAK
4609
0
case 158:
4610
0
YY_RULE_SETUP
4611
0
#line 851 "core/cfg.lex"
4612
0
{ count(); yylval.strval=yytext;
4613
0
                return DST_BLST_SCTP_IMASK; }
4614
0
  YY_BREAK
4615
0
case 159:
4616
0
YY_RULE_SETUP
4617
0
#line 853 "core/cfg.lex"
4618
0
{ count(); yylval.strval=yytext; return IP_FREE_BIND; }
4619
0
  YY_BREAK
4620
0
case 160:
4621
0
YY_RULE_SETUP
4622
0
#line 854 "core/cfg.lex"
4623
0
{ count(); yylval.strval=yytext; return PORT; }
4624
0
  YY_BREAK
4625
0
case 161:
4626
0
YY_RULE_SETUP
4627
0
#line 855 "core/cfg.lex"
4628
0
{ count(); yylval.strval=yytext; return STAT; }
4629
0
  YY_BREAK
4630
0
case 162:
4631
0
YY_RULE_SETUP
4632
0
#line 856 "core/cfg.lex"
4633
0
{ count(); yylval.strval=yytext; return STATS_NAMESEP; }
4634
0
  YY_BREAK
4635
0
case 163:
4636
0
YY_RULE_SETUP
4637
0
#line 857 "core/cfg.lex"
4638
0
{ count(); yylval.strval=yytext; return MAXBUFFER; }
4639
0
  YY_BREAK
4640
0
case 164:
4641
0
YY_RULE_SETUP
4642
0
#line 858 "core/cfg.lex"
4643
0
{ count(); yylval.strval=yytext; return MAXSNDBUFFER; }
4644
0
  YY_BREAK
4645
0
case 165:
4646
0
YY_RULE_SETUP
4647
0
#line 859 "core/cfg.lex"
4648
0
{ count(); yylval.strval=yytext; return SQL_BUFFER_SIZE; }
4649
0
  YY_BREAK
4650
0
case 166:
4651
0
YY_RULE_SETUP
4652
0
#line 860 "core/cfg.lex"
4653
0
{ count(); yylval.strval=yytext; return MSG_RECV_MAX_SIZE; }
4654
0
  YY_BREAK
4655
0
case 167:
4656
0
YY_RULE_SETUP
4657
0
#line 861 "core/cfg.lex"
4658
0
{ count(); yylval.strval=yytext; return TCP_MSG_READ_TIMEOUT; }
4659
0
  YY_BREAK
4660
0
case 168:
4661
0
YY_RULE_SETUP
4662
0
#line 862 "core/cfg.lex"
4663
0
{ count(); yylval.strval=yytext; return TCP_MSG_DATA_TIMEOUT; }
4664
0
  YY_BREAK
4665
0
case 169:
4666
0
YY_RULE_SETUP
4667
0
#line 863 "core/cfg.lex"
4668
0
{ count(); yylval.strval=yytext; return TCP_ACCEPT_IPLIMIT; }
4669
0
  YY_BREAK
4670
0
case 170:
4671
0
YY_RULE_SETUP
4672
0
#line 864 "core/cfg.lex"
4673
0
{ count(); yylval.strval=yytext; return TCP_CHECK_TIMER; }
4674
0
  YY_BREAK
4675
0
case 171:
4676
0
YY_RULE_SETUP
4677
0
#line 865 "core/cfg.lex"
4678
0
{ count(); yylval.strval=yytext; return CHILDREN; }
4679
0
  YY_BREAK
4680
0
case 172:
4681
0
YY_RULE_SETUP
4682
0
#line 866 "core/cfg.lex"
4683
0
{ count(); yylval.strval=yytext; return SOCKET; }
4684
0
  YY_BREAK
4685
0
case 173:
4686
0
YY_RULE_SETUP
4687
0
#line 867 "core/cfg.lex"
4688
0
{ count(); yylval.strval=yytext; return BIND; }
4689
0
  YY_BREAK
4690
0
case 174:
4691
0
YY_RULE_SETUP
4692
0
#line 868 "core/cfg.lex"
4693
0
{ count(); yylval.strval=yytext; return SOCKET_WORKERS; }
4694
0
  YY_BREAK
4695
0
case 175:
4696
0
YY_RULE_SETUP
4697
0
#line 869 "core/cfg.lex"
4698
0
{ count(); yylval.strval=yytext; return ASYNC_WORKERS; }
4699
0
  YY_BREAK
4700
0
case 176:
4701
0
YY_RULE_SETUP
4702
0
#line 870 "core/cfg.lex"
4703
0
{ count(); yylval.strval=yytext; return ASYNC_USLEEP; }
4704
0
  YY_BREAK
4705
0
case 177:
4706
0
YY_RULE_SETUP
4707
0
#line 871 "core/cfg.lex"
4708
0
{ count(); yylval.strval=yytext; return ASYNC_NONBLOCK; }
4709
0
  YY_BREAK
4710
0
case 178:
4711
0
YY_RULE_SETUP
4712
0
#line 872 "core/cfg.lex"
4713
0
{ count(); yylval.strval=yytext; return ASYNC_WORKERS_GROUP; }
4714
0
  YY_BREAK
4715
0
case 179:
4716
0
YY_RULE_SETUP
4717
0
#line 873 "core/cfg.lex"
4718
0
{ count(); yylval.strval=yytext; return CHECK_VIA; }
4719
0
  YY_BREAK
4720
0
case 180:
4721
0
YY_RULE_SETUP
4722
0
#line 874 "core/cfg.lex"
4723
0
{ count(); yylval.strval=yytext; return PHONE2TEL; }
4724
0
  YY_BREAK
4725
0
case 181:
4726
0
YY_RULE_SETUP
4727
0
#line 875 "core/cfg.lex"
4728
0
{ count(); yylval.strval=yytext; return MEMLOG; }
4729
0
  YY_BREAK
4730
0
case 182:
4731
0
YY_RULE_SETUP
4732
0
#line 876 "core/cfg.lex"
4733
0
{ count(); yylval.strval=yytext; return MEMDBG; }
4734
0
  YY_BREAK
4735
0
case 183:
4736
0
YY_RULE_SETUP
4737
0
#line 877 "core/cfg.lex"
4738
0
{ count(); yylval.strval=yytext; return MEMSUM; }
4739
0
  YY_BREAK
4740
0
case 184:
4741
0
YY_RULE_SETUP
4742
0
#line 878 "core/cfg.lex"
4743
0
{ count(); yylval.strval=yytext; return MEMSAFETY; }
4744
0
  YY_BREAK
4745
0
case 185:
4746
0
YY_RULE_SETUP
4747
0
#line 879 "core/cfg.lex"
4748
0
{ count(); yylval.strval=yytext; return MEMADDSIZE; }
4749
0
  YY_BREAK
4750
0
case 186:
4751
0
YY_RULE_SETUP
4752
0
#line 880 "core/cfg.lex"
4753
0
{ count(); yylval.strval=yytext; return MEMJOIN; }
4754
0
  YY_BREAK
4755
0
case 187:
4756
0
YY_RULE_SETUP
4757
0
#line 881 "core/cfg.lex"
4758
0
{ count(); yylval.strval=yytext; return MEMSTATUSMODE; }
4759
0
  YY_BREAK
4760
0
case 188:
4761
0
YY_RULE_SETUP
4762
0
#line 882 "core/cfg.lex"
4763
0
{ count(); yylval.strval=yytext; return SIP_PARSER_LOG_ONELINE; }
4764
0
  YY_BREAK
4765
0
case 189:
4766
0
YY_RULE_SETUP
4767
0
#line 883 "core/cfg.lex"
4768
0
{ count(); yylval.strval=yytext; return SIP_PARSER_LOG; }
4769
0
  YY_BREAK
4770
0
case 190:
4771
0
YY_RULE_SETUP
4772
0
#line 884 "core/cfg.lex"
4773
0
{ count(); yylval.strval=yytext; return SIP_PARSER_MODE; }
4774
0
  YY_BREAK
4775
0
case 191:
4776
0
YY_RULE_SETUP
4777
0
#line 885 "core/cfg.lex"
4778
0
{ count(); yylval.strval=yytext; return CORELOG; }
4779
0
  YY_BREAK
4780
0
case 192:
4781
0
YY_RULE_SETUP
4782
0
#line 886 "core/cfg.lex"
4783
0
{ count(); yylval.strval=yytext; return SIP_WARNING; }
4784
0
  YY_BREAK
4785
0
case 193:
4786
0
YY_RULE_SETUP
4787
0
#line 887 "core/cfg.lex"
4788
0
{ count(); yylval.strval=yytext; return USER; }
4789
0
  YY_BREAK
4790
0
case 194:
4791
0
YY_RULE_SETUP
4792
0
#line 888 "core/cfg.lex"
4793
0
{ count(); yylval.strval=yytext; return GROUP; }
4794
0
  YY_BREAK
4795
0
case 195:
4796
0
YY_RULE_SETUP
4797
0
#line 889 "core/cfg.lex"
4798
0
{ count(); yylval.strval=yytext; return CHROOT; }
4799
0
  YY_BREAK
4800
0
case 196:
4801
0
YY_RULE_SETUP
4802
0
#line 890 "core/cfg.lex"
4803
0
{ count(); yylval.strval=yytext; return WDIR; }
4804
0
  YY_BREAK
4805
0
case 197:
4806
0
YY_RULE_SETUP
4807
0
#line 891 "core/cfg.lex"
4808
0
{ count(); yylval.strval=yytext; return RUNDIR; }
4809
0
  YY_BREAK
4810
0
case 198:
4811
0
YY_RULE_SETUP
4812
0
#line 892 "core/cfg.lex"
4813
0
{ count(); yylval.strval=yytext; return MHOMED; }
4814
0
  YY_BREAK
4815
0
case 199:
4816
0
YY_RULE_SETUP
4817
0
#line 893 "core/cfg.lex"
4818
0
{ count(); yylval.strval=yytext; return DISABLE_TCP; }
4819
0
  YY_BREAK
4820
0
case 200:
4821
0
YY_RULE_SETUP
4822
0
#line 894 "core/cfg.lex"
4823
0
{ count(); yylval.strval=yytext; return TCP_CHILDREN; }
4824
0
  YY_BREAK
4825
0
case 201:
4826
0
YY_RULE_SETUP
4827
0
#line 895 "core/cfg.lex"
4828
0
{ count(); yylval.strval=yytext;
4829
0
                  return TCP_ACCEPT_ALIASES; }
4830
0
  YY_BREAK
4831
0
case 202:
4832
0
YY_RULE_SETUP
4833
0
#line 897 "core/cfg.lex"
4834
0
{ count(); yylval.strval=yytext;
4835
0
                  return TCP_ACCEPT_UNIQUE; }
4836
0
  YY_BREAK
4837
0
case 203:
4838
0
YY_RULE_SETUP
4839
0
#line 899 "core/cfg.lex"
4840
0
{ count(); yylval.strval=yytext;
4841
0
                  return TCP_CONNECTION_MATCH; }
4842
0
  YY_BREAK
4843
0
case 204:
4844
0
YY_RULE_SETUP
4845
0
#line 901 "core/cfg.lex"
4846
0
{ count(); yylval.strval=yytext;
4847
0
                  return TCP_SEND_TIMEOUT; }
4848
0
  YY_BREAK
4849
0
case 205:
4850
0
YY_RULE_SETUP
4851
0
#line 903 "core/cfg.lex"
4852
0
{ count(); yylval.strval=yytext;
4853
0
                  return TCP_CONNECT_TIMEOUT; }
4854
0
  YY_BREAK
4855
0
case 206:
4856
0
YY_RULE_SETUP
4857
0
#line 905 "core/cfg.lex"
4858
0
{ count(); yylval.strval=yytext;
4859
0
                  return TCP_CON_LIFETIME; }
4860
0
  YY_BREAK
4861
0
case 207:
4862
0
YY_RULE_SETUP
4863
0
#line 907 "core/cfg.lex"
4864
0
{ count(); yylval.strval=yytext;
4865
0
                  return TCP_POLL_METHOD; }
4866
0
  YY_BREAK
4867
0
case 208:
4868
0
YY_RULE_SETUP
4869
0
#line 909 "core/cfg.lex"
4870
0
{ count(); yylval.strval=yytext;
4871
0
                  return TCP_MAX_CONNECTIONS; }
4872
0
  YY_BREAK
4873
0
case 209:
4874
0
YY_RULE_SETUP
4875
0
#line 911 "core/cfg.lex"
4876
0
{ count(); yylval.strval=yytext;
4877
0
                  return TLS_MAX_CONNECTIONS; }
4878
0
  YY_BREAK
4879
0
case 210:
4880
0
YY_RULE_SETUP
4881
0
#line 913 "core/cfg.lex"
4882
0
{ count(); yylval.strval=yytext;
4883
0
                  return TCP_NO_CONNECT; }
4884
0
  YY_BREAK
4885
0
case 211:
4886
0
YY_RULE_SETUP
4887
0
#line 915 "core/cfg.lex"
4888
0
{ count(); yylval.strval=yytext;
4889
0
                  return TCP_SOURCE_IPV4; }
4890
0
  YY_BREAK
4891
0
case 212:
4892
0
YY_RULE_SETUP
4893
0
#line 917 "core/cfg.lex"
4894
0
{ count(); yylval.strval=yytext;
4895
0
                  return TCP_SOURCE_IPV6; }
4896
0
  YY_BREAK
4897
0
case 213:
4898
0
YY_RULE_SETUP
4899
0
#line 919 "core/cfg.lex"
4900
0
{ count(); yylval.strval=yytext;
4901
0
                  return TCP_OPT_FD_CACHE; }
4902
0
  YY_BREAK
4903
0
case 214:
4904
0
YY_RULE_SETUP
4905
0
#line 921 "core/cfg.lex"
4906
0
{ count(); yylval.strval=yytext;
4907
0
                  return TCP_OPT_CONN_WQ_MAX; }
4908
0
  YY_BREAK
4909
0
case 215:
4910
0
YY_RULE_SETUP
4911
0
#line 923 "core/cfg.lex"
4912
0
{ count(); yylval.strval=yytext;
4913
0
                  return TCP_OPT_WQ_MAX; }
4914
0
  YY_BREAK
4915
0
case 216:
4916
0
YY_RULE_SETUP
4917
0
#line 925 "core/cfg.lex"
4918
0
{ count(); yylval.strval=yytext;
4919
0
                  return TCP_OPT_RD_BUF; }
4920
0
  YY_BREAK
4921
0
case 217:
4922
0
YY_RULE_SETUP
4923
0
#line 927 "core/cfg.lex"
4924
0
{ count(); yylval.strval=yytext;
4925
0
                  return TCP_OPT_WQ_BLK; }
4926
0
  YY_BREAK
4927
0
case 218:
4928
0
YY_RULE_SETUP
4929
0
#line 929 "core/cfg.lex"
4930
0
{ count(); yylval.strval=yytext;
4931
0
                  return TCP_OPT_BUF_WRITE; }
4932
0
  YY_BREAK
4933
0
case 219:
4934
0
YY_RULE_SETUP
4935
0
#line 931 "core/cfg.lex"
4936
0
{ count(); yylval.strval=yytext;
4937
0
                  return TCP_OPT_DEFER_ACCEPT; }
4938
0
  YY_BREAK
4939
0
case 220:
4940
0
YY_RULE_SETUP
4941
0
#line 933 "core/cfg.lex"
4942
0
{ count(); yylval.strval=yytext;
4943
0
                  return TCP_OPT_DELAYED_ACK; }
4944
0
  YY_BREAK
4945
0
case 221:
4946
0
YY_RULE_SETUP
4947
0
#line 935 "core/cfg.lex"
4948
0
{ count(); yylval.strval=yytext;
4949
0
                  return TCP_OPT_SYNCNT; }
4950
0
  YY_BREAK
4951
0
case 222:
4952
0
YY_RULE_SETUP
4953
0
#line 937 "core/cfg.lex"
4954
0
{ count(); yylval.strval=yytext;
4955
0
                  return TCP_OPT_LINGER2; }
4956
0
  YY_BREAK
4957
0
case 223:
4958
0
YY_RULE_SETUP
4959
0
#line 939 "core/cfg.lex"
4960
0
{ count(); yylval.strval=yytext;
4961
0
                  return TCP_OPT_KEEPALIVE; }
4962
0
  YY_BREAK
4963
0
case 224:
4964
0
YY_RULE_SETUP
4965
0
#line 941 "core/cfg.lex"
4966
0
{ count(); yylval.strval=yytext;
4967
0
                  return TCP_OPT_KEEPIDLE; }
4968
0
  YY_BREAK
4969
0
case 225:
4970
0
YY_RULE_SETUP
4971
0
#line 943 "core/cfg.lex"
4972
0
{ count(); yylval.strval=yytext;
4973
0
                  return TCP_OPT_KEEPINTVL; }
4974
0
  YY_BREAK
4975
0
case 226:
4976
0
YY_RULE_SETUP
4977
0
#line 945 "core/cfg.lex"
4978
0
{ count(); yylval.strval=yytext;
4979
0
                  return TCP_OPT_KEEPCNT; }
4980
0
  YY_BREAK
4981
0
case 227:
4982
0
YY_RULE_SETUP
4983
0
#line 947 "core/cfg.lex"
4984
0
{ count(); yylval.strval=yytext;
4985
0
                  return TCP_OPT_CRLF_PING; }
4986
0
  YY_BREAK
4987
0
case 228:
4988
0
YY_RULE_SETUP
4989
0
#line 949 "core/cfg.lex"
4990
0
{ count(); yylval.strval=yytext;
4991
0
                  return TCP_OPT_ACCEPT_NO_CL; }
4992
0
  YY_BREAK
4993
0
case 229:
4994
0
YY_RULE_SETUP
4995
0
#line 951 "core/cfg.lex"
4996
0
{ count(); yylval.strval=yytext;
4997
0
                  return TCP_OPT_ACCEPT_HEP3; }
4998
0
  YY_BREAK
4999
0
case 230:
5000
0
YY_RULE_SETUP
5001
0
#line 953 "core/cfg.lex"
5002
0
{ count(); yylval.strval=yytext;
5003
0
                  return TCP_OPT_ACCEPT_HAPROXY; }
5004
0
  YY_BREAK
5005
0
case 231:
5006
0
YY_RULE_SETUP
5007
0
#line 955 "core/cfg.lex"
5008
0
{ count(); yylval.strval=yytext; return TCP_OPT_CLOSE_RST; }
5009
0
  YY_BREAK
5010
0
case 232:
5011
0
YY_RULE_SETUP
5012
0
#line 956 "core/cfg.lex"
5013
0
{ count(); yylval.strval=yytext;
5014
0
                  return TCP_CLONE_RCVBUF; }
5015
0
  YY_BREAK
5016
0
case 233:
5017
0
YY_RULE_SETUP
5018
0
#line 958 "core/cfg.lex"
5019
0
{ count(); yylval.strval=yytext; return TCP_REUSE_PORT; }
5020
0
  YY_BREAK
5021
0
case 234:
5022
0
YY_RULE_SETUP
5023
0
#line 959 "core/cfg.lex"
5024
0
{ count(); yylval.strval=yytext;
5025
0
                  return TCP_WAIT_DATA; }
5026
0
  YY_BREAK
5027
0
case 235:
5028
0
YY_RULE_SETUP
5029
0
#line 961 "core/cfg.lex"
5030
0
{ count(); yylval.strval=yytext; return TCP_SCRIPT_MODE; }
5031
0
  YY_BREAK
5032
0
case 236:
5033
0
YY_RULE_SETUP
5034
0
#line 962 "core/cfg.lex"
5035
0
{ count(); yylval.strval=yytext; return DISABLE_TLS; }
5036
0
  YY_BREAK
5037
0
case 237:
5038
0
YY_RULE_SETUP
5039
0
#line 963 "core/cfg.lex"
5040
0
{ count(); yylval.strval=yytext; return ENABLE_TLS; }
5041
0
  YY_BREAK
5042
0
case 238:
5043
0
YY_RULE_SETUP
5044
0
#line 964 "core/cfg.lex"
5045
0
{ count(); yylval.strval=yytext; return TLS_THREADS_MODE; }
5046
0
  YY_BREAK
5047
0
case 239:
5048
0
YY_RULE_SETUP
5049
0
#line 965 "core/cfg.lex"
5050
0
{ count(); yylval.strval=yytext; return TLS_PORT_NO; }
5051
0
  YY_BREAK
5052
0
case 240:
5053
0
YY_RULE_SETUP
5054
0
#line 966 "core/cfg.lex"
5055
0
{ count(); yylval.strval=yytext; return TLS_PORT_NO; }
5056
0
  YY_BREAK
5057
0
case 241:
5058
0
YY_RULE_SETUP
5059
0
#line 967 "core/cfg.lex"
5060
0
{ count(); yylval.strval=yytext; return TLS_METHOD; }
5061
0
  YY_BREAK
5062
0
case 242:
5063
0
YY_RULE_SETUP
5064
0
#line 968 "core/cfg.lex"
5065
0
{ count(); yylval.strval=yytext; return TLS_VERIFY; }
5066
0
  YY_BREAK
5067
0
case 243:
5068
0
YY_RULE_SETUP
5069
0
#line 969 "core/cfg.lex"
5070
0
{ count(); yylval.strval=yytext;
5071
0
                    return TLS_REQUIRE_CERTIFICATE; }
5072
0
  YY_BREAK
5073
0
case 244:
5074
0
YY_RULE_SETUP
5075
0
#line 971 "core/cfg.lex"
5076
0
{ count(); yylval.strval=yytext;
5077
0
                    return TLS_CERTIFICATE; }
5078
0
  YY_BREAK
5079
0
case 245:
5080
0
YY_RULE_SETUP
5081
0
#line 973 "core/cfg.lex"
5082
0
{ count(); yylval.strval=yytext;
5083
0
                    return TLS_PRIVATE_KEY; }
5084
0
  YY_BREAK
5085
0
case 246:
5086
0
YY_RULE_SETUP
5087
0
#line 975 "core/cfg.lex"
5088
0
{ count(); yylval.strval=yytext;
5089
0
                    return TLS_CA_LIST; }
5090
0
  YY_BREAK
5091
0
case 247:
5092
0
YY_RULE_SETUP
5093
0
#line 977 "core/cfg.lex"
5094
0
{ count(); yylval.strval=yytext;
5095
0
                    return TLS_HANDSHAKE_TIMEOUT; }
5096
0
  YY_BREAK
5097
0
case 248:
5098
0
YY_RULE_SETUP
5099
0
#line 979 "core/cfg.lex"
5100
0
{ count(); yylval.strval=yytext;
5101
0
                    return TLS_SEND_TIMEOUT; }
5102
0
  YY_BREAK
5103
0
case 249:
5104
0
YY_RULE_SETUP
5105
0
#line 981 "core/cfg.lex"
5106
0
{ count(); yylval.strval=yytext; return DISABLE_SCTP;}
5107
0
  YY_BREAK
5108
0
case 250:
5109
0
YY_RULE_SETUP
5110
0
#line 982 "core/cfg.lex"
5111
0
{ count(); yylval.strval=yytext; return ENABLE_SCTP;}
5112
0
  YY_BREAK
5113
0
case 251:
5114
0
YY_RULE_SETUP
5115
0
#line 983 "core/cfg.lex"
5116
0
{ count(); yylval.strval=yytext;
5117
0
                    return SCTP_CHILDREN; }
5118
0
  YY_BREAK
5119
0
case 252:
5120
0
YY_RULE_SETUP
5121
0
#line 985 "core/cfg.lex"
5122
0
{ count(); yylval.strval=yytext; return SERVER_SIGNATURE; }
5123
0
  YY_BREAK
5124
0
case 253:
5125
0
YY_RULE_SETUP
5126
0
#line 986 "core/cfg.lex"
5127
0
{ count(); yylval.strval=yytext; return SERVER_HEADER; }
5128
0
  YY_BREAK
5129
0
case 254:
5130
0
YY_RULE_SETUP
5131
0
#line 987 "core/cfg.lex"
5132
0
{ count(); yylval.strval=yytext; return USER_AGENT_HEADER; }
5133
0
  YY_BREAK
5134
0
case 255:
5135
0
YY_RULE_SETUP
5136
0
#line 988 "core/cfg.lex"
5137
0
{ count(); yylval.strval=yytext; return REPLY_TO_VIA; }
5138
0
  YY_BREAK
5139
0
case 256:
5140
0
YY_RULE_SETUP
5141
0
#line 989 "core/cfg.lex"
5142
0
{ count(); yylval.strval=yytext;
5143
0
                  return ADVERTISED_ADDRESS; }
5144
0
  YY_BREAK
5145
0
case 257:
5146
0
YY_RULE_SETUP
5147
0
#line 991 "core/cfg.lex"
5148
0
{ count(); yylval.strval=yytext;
5149
0
                  return ADVERTISED_PORT; }
5150
0
  YY_BREAK
5151
0
case 258:
5152
0
YY_RULE_SETUP
5153
0
#line 993 "core/cfg.lex"
5154
0
{ count(); yylval.strval=yytext;
5155
0
                  return DISABLE_CORE; }
5156
0
  YY_BREAK
5157
0
case 259:
5158
0
YY_RULE_SETUP
5159
0
#line 995 "core/cfg.lex"
5160
0
{ count(); yylval.strval=yytext;
5161
0
                  return OPEN_FD_LIMIT; }
5162
0
  YY_BREAK
5163
0
case 260:
5164
0
YY_RULE_SETUP
5165
0
#line 997 "core/cfg.lex"
5166
0
{ count(); yylval.strval=yytext;
5167
0
                  return SHM_MEM_SZ; }
5168
0
  YY_BREAK
5169
0
case 261:
5170
0
YY_RULE_SETUP
5171
0
#line 999 "core/cfg.lex"
5172
0
{ count(); yylval.strval=yytext;
5173
0
                  return SHM_FORCE_ALLOC; }
5174
0
  YY_BREAK
5175
0
case 262:
5176
0
YY_RULE_SETUP
5177
0
#line 1001 "core/cfg.lex"
5178
0
{ count(); yylval.strval=yytext;
5179
0
                  return MLOCK_PAGES; }
5180
0
  YY_BREAK
5181
0
case 263:
5182
0
YY_RULE_SETUP
5183
0
#line 1003 "core/cfg.lex"
5184
0
{ count(); yylval.strval=yytext;
5185
0
                  return REAL_TIME; }
5186
0
  YY_BREAK
5187
0
case 264:
5188
0
YY_RULE_SETUP
5189
0
#line 1005 "core/cfg.lex"
5190
0
{ count(); yylval.strval=yytext;
5191
0
                  return RT_PRIO; }
5192
0
  YY_BREAK
5193
0
case 265:
5194
0
YY_RULE_SETUP
5195
0
#line 1007 "core/cfg.lex"
5196
0
{ count(); yylval.strval=yytext;
5197
0
                  return RT_POLICY; }
5198
0
  YY_BREAK
5199
0
case 266:
5200
0
YY_RULE_SETUP
5201
0
#line 1009 "core/cfg.lex"
5202
0
{ count(); yylval.strval=yytext;
5203
0
                  return RT_TIMER1_PRIO; }
5204
0
  YY_BREAK
5205
0
case 267:
5206
0
YY_RULE_SETUP
5207
0
#line 1011 "core/cfg.lex"
5208
0
{ count(); yylval.strval=yytext;
5209
0
                  return RT_TIMER1_POLICY; }
5210
0
  YY_BREAK
5211
0
case 268:
5212
0
YY_RULE_SETUP
5213
0
#line 1013 "core/cfg.lex"
5214
0
{ count(); yylval.strval=yytext;
5215
0
                  return RT_TIMER2_PRIO; }
5216
0
  YY_BREAK
5217
0
case 269:
5218
0
YY_RULE_SETUP
5219
0
#line 1015 "core/cfg.lex"
5220
0
{ count(); yylval.strval=yytext;
5221
0
                  return RT_TIMER2_POLICY; }
5222
0
  YY_BREAK
5223
0
case 270:
5224
0
YY_RULE_SETUP
5225
0
#line 1017 "core/cfg.lex"
5226
0
{ count(); yylval.strval=yytext;
5227
0
                  return MCAST_LOOPBACK; }
5228
0
  YY_BREAK
5229
0
case 271:
5230
0
YY_RULE_SETUP
5231
0
#line 1019 "core/cfg.lex"
5232
0
{ count(); yylval.strval=yytext;
5233
0
                  return MCAST_TTL; }
5234
0
  YY_BREAK
5235
0
case 272:
5236
0
YY_RULE_SETUP
5237
0
#line 1021 "core/cfg.lex"
5238
0
{ count(); yylval.strval=yytext;
5239
0
                  return MCAST; }
5240
0
  YY_BREAK
5241
0
case 273:
5242
0
YY_RULE_SETUP
5243
0
#line 1023 "core/cfg.lex"
5244
0
{ count(); yylval.strval=yytext;
5245
0
                  return TOS; }
5246
0
  YY_BREAK
5247
0
case 274:
5248
0
YY_RULE_SETUP
5249
0
#line 1025 "core/cfg.lex"
5250
0
{ count(); yylval.strval=yytext;
5251
0
                  return PMTU_DISCOVERY; }
5252
0
  YY_BREAK
5253
0
case 275:
5254
0
YY_RULE_SETUP
5255
0
#line 1027 "core/cfg.lex"
5256
0
{ count(); yylval.strval=yytext;
5257
0
                  return KILL_TIMEOUT; }
5258
0
  YY_BREAK
5259
0
case 276:
5260
0
YY_RULE_SETUP
5261
0
#line 1029 "core/cfg.lex"
5262
0
{ count(); yylval.strval=yytext;
5263
0
                  return MAX_WLOOPS; }
5264
0
  YY_BREAK
5265
0
case 277:
5266
0
YY_RULE_SETUP
5267
0
#line 1031 "core/cfg.lex"
5268
0
{ count(); yylval.strval=yytext;
5269
0
                  return PVBUFSIZE; }
5270
0
  YY_BREAK
5271
0
case 278:
5272
0
YY_RULE_SETUP
5273
0
#line 1033 "core/cfg.lex"
5274
0
{ count(); yylval.strval=yytext;
5275
0
                  return PVBUFSLOTS; }
5276
0
  YY_BREAK
5277
0
case 279:
5278
0
YY_RULE_SETUP
5279
0
#line 1035 "core/cfg.lex"
5280
0
{ count(); yylval.strval=yytext;
5281
0
                  return PVCACHELIMIT; }
5282
0
  YY_BREAK
5283
0
case 280:
5284
0
YY_RULE_SETUP
5285
0
#line 1037 "core/cfg.lex"
5286
0
{ count(); yylval.strval=yytext;
5287
0
                  return PVCACHEACTION; }
5288
0
  YY_BREAK
5289
0
case 281:
5290
0
YY_RULE_SETUP
5291
0
#line 1039 "core/cfg.lex"
5292
0
{ count(); yylval.strval=yytext;
5293
0
                  return HTTP_REPLY_PARSE; }
5294
0
  YY_BREAK
5295
0
case 282:
5296
0
YY_RULE_SETUP
5297
0
#line 1041 "core/cfg.lex"
5298
0
{ count(); yylval.strval=yytext; return VERSION_TABLE_CFG;}
5299
0
  YY_BREAK
5300
0
case 283:
5301
0
YY_RULE_SETUP
5302
0
#line 1042 "core/cfg.lex"
5303
0
{ count(); yylval.strval=yytext;
5304
0
                  return VERBOSE_STARTUP; }
5305
0
  YY_BREAK
5306
0
case 284:
5307
0
YY_RULE_SETUP
5308
0
#line 1044 "core/cfg.lex"
5309
0
{ count(); yylval.strval=yytext; return ROUTE_LOCKS_SIZE; }
5310
0
  YY_BREAK
5311
0
case 285:
5312
0
YY_RULE_SETUP
5313
0
#line 1045 "core/cfg.lex"
5314
0
{ count(); yylval.strval=yytext; return WAIT_WORKER1_MODE; }
5315
0
  YY_BREAK
5316
0
case 286:
5317
0
YY_RULE_SETUP
5318
0
#line 1046 "core/cfg.lex"
5319
0
{ count(); yylval.strval=yytext; return WAIT_WORKER1_TIME; }
5320
0
  YY_BREAK
5321
0
case 287:
5322
0
YY_RULE_SETUP
5323
0
#line 1047 "core/cfg.lex"
5324
0
{ count(); yylval.strval=yytext; return WAIT_WORKER1_USLEEP; }
5325
0
  YY_BREAK
5326
0
case 288:
5327
0
YY_RULE_SETUP
5328
0
#line 1048 "core/cfg.lex"
5329
0
{ count(); yylval.strval=yytext; return SERVER_ID;}
5330
0
  YY_BREAK
5331
0
case 289:
5332
0
YY_RULE_SETUP
5333
0
#line 1049 "core/cfg.lex"
5334
0
{ count(); yylval.strval=yytext; return KEMI;}
5335
0
  YY_BREAK
5336
0
case 290:
5337
0
YY_RULE_SETUP
5338
0
#line 1050 "core/cfg.lex"
5339
0
{ count(); yylval.strval=yytext; return REQUEST_ROUTE_CALLBACK;}
5340
0
  YY_BREAK
5341
0
case 291:
5342
0
YY_RULE_SETUP
5343
0
#line 1051 "core/cfg.lex"
5344
0
{ count(); yylval.strval=yytext; return REPLY_ROUTE_CALLBACK;}
5345
0
  YY_BREAK
5346
0
case 292:
5347
0
YY_RULE_SETUP
5348
0
#line 1052 "core/cfg.lex"
5349
0
{ count(); yylval.strval=yytext; return ONSEND_ROUTE_CALLBACK;}
5350
0
  YY_BREAK
5351
0
case 293:
5352
0
YY_RULE_SETUP
5353
0
#line 1053 "core/cfg.lex"
5354
0
{ count(); yylval.strval=yytext; return EVENT_ROUTE_CALLBACK;}
5355
0
  YY_BREAK
5356
0
case 294:
5357
0
YY_RULE_SETUP
5358
0
#line 1054 "core/cfg.lex"
5359
0
{ count(); yylval.strval=yytext; return RECEIVED_ROUTE_CALLBACK;}
5360
0
  YY_BREAK
5361
0
case 295:
5362
0
YY_RULE_SETUP
5363
0
#line 1055 "core/cfg.lex"
5364
0
{ count(); yylval.strval=yytext; return RECEIVED_ROUTE_MODE;}
5365
0
  YY_BREAK
5366
0
case 296:
5367
0
YY_RULE_SETUP
5368
0
#line 1056 "core/cfg.lex"
5369
0
{ count(); yylval.strval=yytext; return PRE_ROUTING_CALLBACK;}
5370
0
  YY_BREAK
5371
0
case 297:
5372
0
YY_RULE_SETUP
5373
0
#line 1057 "core/cfg.lex"
5374
0
{ count(); yylval.strval=yytext; return MAX_RECURSIVE_LEVEL;}
5375
0
  YY_BREAK
5376
0
case 298:
5377
0
YY_RULE_SETUP
5378
0
#line 1058 "core/cfg.lex"
5379
0
{ count(); yylval.strval=yytext; return MAX_BRANCHES_PARAM;}
5380
0
  YY_BREAK
5381
0
case 299:
5382
0
YY_RULE_SETUP
5383
0
#line 1059 "core/cfg.lex"
5384
0
{ count(); yylval.strval=yytext; return LATENCY_LOG;}
5385
0
  YY_BREAK
5386
0
case 300:
5387
0
YY_RULE_SETUP
5388
0
#line 1060 "core/cfg.lex"
5389
0
{ count(); yylval.strval=yytext; return LATENCY_CFG_LOG;}
5390
0
  YY_BREAK
5391
0
case 301:
5392
0
YY_RULE_SETUP
5393
0
#line 1061 "core/cfg.lex"
5394
0
{ count(); yylval.strval=yytext; return MSG_TIME;}
5395
0
  YY_BREAK
5396
0
case 302:
5397
0
YY_RULE_SETUP
5398
0
#line 1062 "core/cfg.lex"
5399
0
{ count(); yylval.strval=yytext; return ONSEND_RT_REPLY; }
5400
0
  YY_BREAK
5401
0
case 303:
5402
0
YY_RULE_SETUP
5403
0
#line 1063 "core/cfg.lex"
5404
0
{ count(); yylval.strval=yytext; return LATENCY_LIMIT_DB;}
5405
0
  YY_BREAK
5406
0
case 304:
5407
0
YY_RULE_SETUP
5408
0
#line 1064 "core/cfg.lex"
5409
0
{ count(); yylval.strval=yytext; return LATENCY_LIMIT_ACTION;}
5410
0
  YY_BREAK
5411
0
case 305:
5412
0
YY_RULE_SETUP
5413
0
#line 1065 "core/cfg.lex"
5414
0
{ count(); yylval.strval=yytext; return LATENCY_LIMIT_CFG;}
5415
0
  YY_BREAK
5416
0
case 306:
5417
0
YY_RULE_SETUP
5418
0
#line 1066 "core/cfg.lex"
5419
0
{ count(); yylval.strval=yytext; return RPC_EXEC_DELTA_CFG;}
5420
0
  YY_BREAK
5421
0
case 307:
5422
0
YY_RULE_SETUP
5423
0
#line 1067 "core/cfg.lex"
5424
0
{ count(); yylval.strval=yytext; return CFG_DESCRIPTION; }
5425
0
  YY_BREAK
5426
0
case 308:
5427
0
YY_RULE_SETUP
5428
0
#line 1068 "core/cfg.lex"
5429
0
{ count(); yylval.strval=yytext; return LOADMODULE; }
5430
0
  YY_BREAK
5431
0
case 309:
5432
0
YY_RULE_SETUP
5433
0
#line 1069 "core/cfg.lex"
5434
0
{ count(); yylval.strval=yytext; return LOADMODULEX; }
5435
0
  YY_BREAK
5436
0
case 310:
5437
0
YY_RULE_SETUP
5438
0
#line 1070 "core/cfg.lex"
5439
0
{ count(); yylval.strval=yytext; return LOADPATH; }
5440
0
  YY_BREAK
5441
0
case 311:
5442
0
YY_RULE_SETUP
5443
0
#line 1071 "core/cfg.lex"
5444
0
{ count(); yylval.strval=yytext; return MODPARAM; }
5445
0
  YY_BREAK
5446
0
case 312:
5447
0
YY_RULE_SETUP
5448
0
#line 1072 "core/cfg.lex"
5449
0
{ count(); yylval.strval=yytext; return MODPARAMX; }
5450
0
  YY_BREAK
5451
0
case 313:
5452
0
YY_RULE_SETUP
5453
0
#line 1073 "core/cfg.lex"
5454
0
{ count(); yylval.strval=yytext; return CFGENGINE; }
5455
0
  YY_BREAK
5456
0
case 314:
5457
0
YY_RULE_SETUP
5458
0
#line 1074 "core/cfg.lex"
5459
0
{ yylval.strval=yytext; return URI_HOST_EXTRA_CHARS; }
5460
0
  YY_BREAK
5461
0
case 315:
5462
0
YY_RULE_SETUP
5463
0
#line 1075 "core/cfg.lex"
5464
0
{ yylval.strval=yytext; return HDR_NAME_EXTRA_CHARS; }
5465
0
  YY_BREAK
5466
0
case 316:
5467
0
YY_RULE_SETUP
5468
0
#line 1076 "core/cfg.lex"
5469
0
{ count(); yylval.strval=yytext; return RETURN_MODE; }
5470
0
  YY_BREAK
5471
0
case 317:
5472
0
YY_RULE_SETUP
5473
0
#line 1078 "core/cfg.lex"
5474
0
{ count(); return EQUAL; }
5475
0
  YY_BREAK
5476
0
case 318:
5477
0
YY_RULE_SETUP
5478
0
#line 1079 "core/cfg.lex"
5479
0
{ count(); return ADDEQ; }
5480
0
  YY_BREAK
5481
0
case 319:
5482
0
YY_RULE_SETUP
5483
0
#line 1080 "core/cfg.lex"
5484
0
{ count(); return EQUAL_T; }
5485
0
  YY_BREAK
5486
0
case 320:
5487
0
YY_RULE_SETUP
5488
0
#line 1081 "core/cfg.lex"
5489
0
{ count(); return GT; }
5490
0
  YY_BREAK
5491
0
case 321:
5492
0
YY_RULE_SETUP
5493
0
#line 1082 "core/cfg.lex"
5494
0
{ count(); return LT; }
5495
0
  YY_BREAK
5496
0
case 322:
5497
0
YY_RULE_SETUP
5498
0
#line 1083 "core/cfg.lex"
5499
0
{ count(); return GTE; }
5500
0
  YY_BREAK
5501
0
case 323:
5502
0
YY_RULE_SETUP
5503
0
#line 1084 "core/cfg.lex"
5504
0
{ count(); return LTE; }
5505
0
  YY_BREAK
5506
0
case 324:
5507
0
YY_RULE_SETUP
5508
0
#line 1085 "core/cfg.lex"
5509
0
{ count(); return DIFF; }
5510
0
  YY_BREAK
5511
0
case 325:
5512
0
YY_RULE_SETUP
5513
0
#line 1086 "core/cfg.lex"
5514
0
{ count(); return MATCH; }
5515
0
  YY_BREAK
5516
0
case 326:
5517
0
YY_RULE_SETUP
5518
0
#line 1087 "core/cfg.lex"
5519
0
{ count(); return NOT; }
5520
0
  YY_BREAK
5521
0
case 327:
5522
0
YY_RULE_SETUP
5523
0
#line 1088 "core/cfg.lex"
5524
0
{ count(); return LOG_AND; }
5525
0
  YY_BREAK
5526
0
case 328:
5527
0
YY_RULE_SETUP
5528
0
#line 1089 "core/cfg.lex"
5529
0
{ count(); return BIN_AND; }
5530
0
  YY_BREAK
5531
0
case 329:
5532
0
YY_RULE_SETUP
5533
0
#line 1090 "core/cfg.lex"
5534
0
{ count(); return LOG_OR;  }
5535
0
  YY_BREAK
5536
0
case 330:
5537
0
YY_RULE_SETUP
5538
0
#line 1091 "core/cfg.lex"
5539
0
{ count(); return BIN_OR;  }
5540
0
  YY_BREAK
5541
0
case 331:
5542
0
YY_RULE_SETUP
5543
0
#line 1092 "core/cfg.lex"
5544
0
{ count(); return BIN_NOT;  }
5545
0
  YY_BREAK
5546
0
case 332:
5547
0
YY_RULE_SETUP
5548
0
#line 1093 "core/cfg.lex"
5549
0
{ count(); return BIN_XOR;  }
5550
0
  YY_BREAK
5551
0
case 333:
5552
0
YY_RULE_SETUP
5553
0
#line 1094 "core/cfg.lex"
5554
0
{ count(); return BIN_LSHIFT;  }
5555
0
  YY_BREAK
5556
0
case 334:
5557
0
YY_RULE_SETUP
5558
0
#line 1095 "core/cfg.lex"
5559
0
{ count(); return BIN_RSHIFT;  }
5560
0
  YY_BREAK
5561
0
case 335:
5562
0
YY_RULE_SETUP
5563
0
#line 1096 "core/cfg.lex"
5564
0
{ count(); return PLUS; }
5565
0
  YY_BREAK
5566
0
case 336:
5567
0
YY_RULE_SETUP
5568
0
#line 1097 "core/cfg.lex"
5569
0
{ count(); return MINUS; }
5570
0
  YY_BREAK
5571
0
case 337:
5572
0
YY_RULE_SETUP
5573
0
#line 1098 "core/cfg.lex"
5574
0
{ count(); return MODULO; }
5575
0
  YY_BREAK
5576
0
case 338:
5577
0
YY_RULE_SETUP
5578
0
#line 1099 "core/cfg.lex"
5579
0
{ count(); return STRLEN; }
5580
0
  YY_BREAK
5581
0
case 339:
5582
0
YY_RULE_SETUP
5583
0
#line 1100 "core/cfg.lex"
5584
0
{ count(); return STREMPTY; }
5585
0
  YY_BREAK
5586
0
case 340:
5587
0
YY_RULE_SETUP
5588
0
#line 1101 "core/cfg.lex"
5589
0
{ count(); return DEFINED; }
5590
0
  YY_BREAK
5591
0
case 341:
5592
0
YY_RULE_SETUP
5593
0
#line 1102 "core/cfg.lex"
5594
0
{ count(); return STREQ; }
5595
0
  YY_BREAK
5596
0
case 342:
5597
0
YY_RULE_SETUP
5598
0
#line 1103 "core/cfg.lex"
5599
0
{ count(); return INTEQ; }
5600
0
  YY_BREAK
5601
0
case 343:
5602
0
YY_RULE_SETUP
5603
0
#line 1104 "core/cfg.lex"
5604
0
{ count(); return STRDIFF; }
5605
0
  YY_BREAK
5606
0
case 344:
5607
0
YY_RULE_SETUP
5608
0
#line 1105 "core/cfg.lex"
5609
0
{ count(); return INTDIFF; }
5610
0
  YY_BREAK
5611
0
case 345:
5612
0
YY_RULE_SETUP
5613
0
#line 1106 "core/cfg.lex"
5614
0
{ count(); return INTCAST; }
5615
0
  YY_BREAK
5616
0
case 346:
5617
0
YY_RULE_SETUP
5618
0
#line 1107 "core/cfg.lex"
5619
0
{ count(); return STRCAST; }
5620
0
  YY_BREAK
5621
0
case 347:
5622
0
YY_RULE_SETUP
5623
0
#line 1108 "core/cfg.lex"
5624
0
{ count(); return SELVAL; }
5625
0
  YY_BREAK
5626
0
case 348:
5627
0
YY_RULE_SETUP
5628
0
#line 1110 "core/cfg.lex"
5629
0
{ count(); state = SELECT_S; BEGIN(SELECT); return SELECT_MARK; }
5630
0
  YY_BREAK
5631
0
case 349:
5632
0
YY_RULE_SETUP
5633
0
#line 1111 "core/cfg.lex"
5634
0
{ count(); addstr(&s_buf, yytext, yyleng);
5635
0
            yylval.strval=s_buf.s;
5636
0
            memset(&s_buf, 0, sizeof(s_buf));
5637
0
            return ID;
5638
0
          }
5639
0
  YY_BREAK
5640
0
case 350:
5641
0
YY_RULE_SETUP
5642
0
#line 1116 "core/cfg.lex"
5643
0
{ count(); return DOT; }
5644
0
  YY_BREAK
5645
0
case 351:
5646
0
YY_RULE_SETUP
5647
0
#line 1117 "core/cfg.lex"
5648
0
{ count(); return LBRACK; }
5649
0
  YY_BREAK
5650
0
case 352:
5651
0
YY_RULE_SETUP
5652
0
#line 1118 "core/cfg.lex"
5653
0
{ count(); return RBRACK; }
5654
0
  YY_BREAK
5655
0
case 353:
5656
0
YY_RULE_SETUP
5657
0
#line 1119 "core/cfg.lex"
5658
0
{ count(); yylval.intval=atoi(yytext);
5659
0
            yy_number_str=yytext; return NUMBER; }
5660
0
  YY_BREAK
5661
0
case 354:
5662
0
YY_RULE_SETUP
5663
0
#line 1121 "core/cfg.lex"
5664
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 16);
5665
0
            yy_number_str=yytext; return NUMBER; }
5666
0
  YY_BREAK
5667
0
case 355:
5668
0
YY_RULE_SETUP
5669
0
#line 1123 "core/cfg.lex"
5670
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 8);
5671
0
            yy_number_str=yytext; return NUMBER; }
5672
0
  YY_BREAK
5673
0
case 356:
5674
0
YY_RULE_SETUP
5675
0
#line 1125 "core/cfg.lex"
5676
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 2);
5677
0
            yy_number_str=yytext; return NUMBER; }
5678
0
  YY_BREAK
5679
0
case 357:
5680
0
YY_RULE_SETUP
5681
0
#line 1129 "core/cfg.lex"
5682
0
{ count(); state = ATTR_S; BEGIN(ATTR);
5683
0
              return ATTR_MARK; }
5684
0
  YY_BREAK
5685
0
case 358:
5686
0
YY_RULE_SETUP
5687
0
#line 1131 "core/cfg.lex"
5688
0
{ count(); return ATTR_FROM; }
5689
0
  YY_BREAK
5690
0
case 359:
5691
0
YY_RULE_SETUP
5692
0
#line 1132 "core/cfg.lex"
5693
0
{ count(); return ATTR_TO; }
5694
0
  YY_BREAK
5695
0
case 360:
5696
0
YY_RULE_SETUP
5697
0
#line 1133 "core/cfg.lex"
5698
0
{ count(); return ATTR_FROMURI; }
5699
0
  YY_BREAK
5700
0
case 361:
5701
0
YY_RULE_SETUP
5702
0
#line 1134 "core/cfg.lex"
5703
0
{ count(); return ATTR_TOURI; }
5704
0
  YY_BREAK
5705
0
case 362:
5706
0
YY_RULE_SETUP
5707
0
#line 1135 "core/cfg.lex"
5708
0
{ count(); return ATTR_FROMUSER; }
5709
0
  YY_BREAK
5710
0
case 363:
5711
0
YY_RULE_SETUP
5712
0
#line 1136 "core/cfg.lex"
5713
0
{ count(); return ATTR_TOUSER; }
5714
0
  YY_BREAK
5715
0
case 364:
5716
0
YY_RULE_SETUP
5717
0
#line 1137 "core/cfg.lex"
5718
0
{ count(); return ATTR_FROMDOMAIN; }
5719
0
  YY_BREAK
5720
0
case 365:
5721
0
YY_RULE_SETUP
5722
0
#line 1138 "core/cfg.lex"
5723
0
{ count(); return ATTR_TODOMAIN; }
5724
0
  YY_BREAK
5725
0
case 366:
5726
0
YY_RULE_SETUP
5727
0
#line 1139 "core/cfg.lex"
5728
0
{ count(); return ATTR_GLOBAL; }
5729
0
  YY_BREAK
5730
0
case 367:
5731
0
YY_RULE_SETUP
5732
0
#line 1140 "core/cfg.lex"
5733
0
{ count(); return DOT; }
5734
0
  YY_BREAK
5735
0
case 368:
5736
0
YY_RULE_SETUP
5737
0
#line 1141 "core/cfg.lex"
5738
0
{ count(); return LBRACK; }
5739
0
  YY_BREAK
5740
0
case 369:
5741
0
YY_RULE_SETUP
5742
0
#line 1142 "core/cfg.lex"
5743
0
{ count(); return RBRACK; }
5744
0
  YY_BREAK
5745
0
case 370:
5746
0
YY_RULE_SETUP
5747
0
#line 1143 "core/cfg.lex"
5748
0
{ count(); return STAR; }
5749
0
  YY_BREAK
5750
0
case 371:
5751
0
YY_RULE_SETUP
5752
0
#line 1144 "core/cfg.lex"
5753
0
{ count(); yylval.intval=atoi(yytext);
5754
0
              yy_number_str=yytext; return NUMBER; }
5755
0
  YY_BREAK
5756
0
case 372:
5757
0
YY_RULE_SETUP
5758
0
#line 1146 "core/cfg.lex"
5759
0
{ count(); addstr(&s_buf, yytext, yyleng);
5760
0
              yylval.strval=s_buf.s;
5761
0
              memset(&s_buf, 0, sizeof(s_buf));
5762
0
              state = INITIAL_S;
5763
0
              BEGIN(INITIAL);
5764
0
              return ID;
5765
0
            }
5766
0
  YY_BREAK
5767
0
case 373:
5768
0
YY_RULE_SETUP
5769
0
#line 1154 "core/cfg.lex"
5770
0
{
5771
0
                switch(sr_cfg_compat){
5772
0
                  case SR_COMPAT_SER:
5773
0
                    state=ATTR_S; BEGIN(ATTR);
5774
0
                    yyless(1);
5775
0
                    count();
5776
0
                    return ATTR_MARK;
5777
0
                    break;
5778
0
                  case SR_COMPAT_KAMAILIO:
5779
0
                  case SR_COMPAT_MAX:
5780
0
                  default:
5781
0
                    state = PVAR_P_S; BEGIN(PVAR_P);
5782
0
                    p_nest=1; yymore();
5783
0
                    break;
5784
0
                }
5785
0
              }
5786
0
  YY_BREAK
5787
/* eat everything between 2 () and return PVAR token and a string
5788
   * containing everything (including $ and ()) */
5789
0
case 374:
5790
0
YY_RULE_SETUP
5791
0
#line 1172 "core/cfg.lex"
5792
0
{ p_nest--;
5793
0
                if (p_nest==0){
5794
0
                  count();
5795
0
                  addstr(&s_buf, yytext, yyleng);
5796
0
                  r = pp_subst_run(&s_buf.s);
5797
0
                  yylval.strval=s_buf.s;
5798
0
                  memset(&s_buf, 0, sizeof(s_buf));
5799
0
                  state=INITIAL_S;
5800
0
                  BEGIN(INITIAL);
5801
0
                  return PVAR;
5802
0
                }
5803
0
                yymore();
5804
0
              }
5805
0
  YY_BREAK
5806
0
case 375:
5807
0
YY_RULE_SETUP
5808
0
#line 1185 "core/cfg.lex"
5809
0
{ p_nest++; yymore(); }
5810
0
  YY_BREAK
5811
0
case 376:
5812
0
YY_RULE_SETUP
5813
0
#line 1186 "core/cfg.lex"
5814
0
{ yymore(); }
5815
0
  YY_BREAK
5816
0
case 377:
5817
0
YY_RULE_SETUP
5818
0
#line 1188 "core/cfg.lex"
5819
0
{yymore(); }
5820
0
  YY_BREAK
5821
0
case 378:
5822
0
YY_RULE_SETUP
5823
0
#line 1189 "core/cfg.lex"
5824
0
{ state = PVAR_P_S; BEGIN(PVAR_P);
5825
0
                p_nest=1; yymore(); }
5826
0
  YY_BREAK
5827
0
case 379:
5828
/* rule 379 can match eol */
5829
0
YY_RULE_SETUP
5830
0
#line 1191 "core/cfg.lex"
5831
0
{ yyless(yyleng-1);
5832
0
                count();
5833
0
                addstr(&s_buf, yytext, yyleng);
5834
0
                r = pp_subst_run(&s_buf.s);
5835
0
                yylval.strval=s_buf.s;
5836
0
                memset(&s_buf, 0, sizeof(s_buf));
5837
0
                state=INITIAL_S;
5838
0
                BEGIN(INITIAL);
5839
0
                return PVAR;
5840
0
              }
5841
0
  YY_BREAK
5842
/* if found retcode => it's a built-in pvar */
5843
0
case 380:
5844
0
YY_RULE_SETUP
5845
0
#line 1203 "core/cfg.lex"
5846
0
{ count(); yylval.strval=yytext; return PVAR; }
5847
0
  YY_BREAK
5848
0
case 381:
5849
0
YY_RULE_SETUP
5850
0
#line 1205 "core/cfg.lex"
5851
0
{
5852
0
                switch(sr_cfg_compat){
5853
0
                  case SR_COMPAT_SER:
5854
0
                    count();
5855
0
                    state=ATTR_S; BEGIN(ATTR);
5856
0
                    return ATTR_MARK;
5857
0
                    break;
5858
0
                  case SR_COMPAT_KAMAILIO:
5859
0
                    state=PVARID_S; BEGIN(PVARID);
5860
0
                    yymore();
5861
0
                    break;
5862
0
                  case SR_COMPAT_MAX:
5863
0
                  default:
5864
0
                    state=AVP_PVAR_S; BEGIN(AVP_PVAR);
5865
0
                    yymore();
5866
0
                    break;
5867
0
                }
5868
0
              }
5869
0
  YY_BREAK
5870
/* avp prefix detected -> go to avp mode */
5871
0
case 382:
5872
0
#line 1225 "core/cfg.lex"
5873
0
case 383:
5874
0
YY_RULE_SETUP
5875
0
#line 1225 "core/cfg.lex"
5876
0
{ state = ATTR_S; BEGIN(ATTR); yyless(1); count();
5877
0
                return ATTR_MARK; }
5878
0
  YY_BREAK
5879
0
case 384:
5880
0
YY_RULE_SETUP
5881
0
#line 1227 "core/cfg.lex"
5882
0
{ state = PVAR_P_S; p_nest=1; BEGIN(PVAR_P);
5883
0
                yymore(); }
5884
0
  YY_BREAK
5885
0
case 385:
5886
0
YY_RULE_SETUP
5887
0
#line 1229 "core/cfg.lex"
5888
0
{ count(); addstr(&s_buf, yytext, yyleng);
5889
0
                yylval.strval=s_buf.s;
5890
0
                memset(&s_buf, 0, sizeof(s_buf));
5891
0
                state = INITIAL_S;
5892
0
                BEGIN(INITIAL);
5893
0
                return AVP_OR_PVAR;
5894
0
              }
5895
0
  YY_BREAK
5896
0
case 386:
5897
0
YY_RULE_SETUP
5898
0
#line 1237 "core/cfg.lex"
5899
0
{ count(); yylval.strval=yytext; return IPV6ADDR; }
5900
0
  YY_BREAK
5901
0
case 387:
5902
0
YY_RULE_SETUP
5903
0
#line 1238 "core/cfg.lex"
5904
0
{ count(); yylval.intval=atoi(yytext);
5905
0
                yy_number_str=yytext; return NUMBER; }
5906
0
  YY_BREAK
5907
0
case 388:
5908
0
YY_RULE_SETUP
5909
0
#line 1240 "core/cfg.lex"
5910
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 16);
5911
0
              yy_number_str=yytext; return NUMBER; }
5912
0
  YY_BREAK
5913
0
case 389:
5914
0
YY_RULE_SETUP
5915
0
#line 1242 "core/cfg.lex"
5916
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 8);
5917
0
              yy_number_str=yytext; return NUMBER; }
5918
0
  YY_BREAK
5919
0
case 390:
5920
0
YY_RULE_SETUP
5921
0
#line 1244 "core/cfg.lex"
5922
0
{ count(); yylval.intval=(int)strtol(yytext, 0, 2);
5923
0
              yy_number_str=yytext; return NUMBER; }
5924
0
  YY_BREAK
5925
0
case 391:
5926
0
YY_RULE_SETUP
5927
0
#line 1246 "core/cfg.lex"
5928
0
{ count(); yylval.intval=1;
5929
0
              yy_number_str=yytext; return NUMBER; }
5930
0
  YY_BREAK
5931
0
case 392:
5932
0
YY_RULE_SETUP
5933
0
#line 1248 "core/cfg.lex"
5934
0
{ count(); yylval.intval=0;
5935
0
              yy_number_str=yytext; return NUMBER; }
5936
0
  YY_BREAK
5937
0
case 393:
5938
0
YY_RULE_SETUP
5939
0
#line 1250 "core/cfg.lex"
5940
0
{ count(); return TCP; }
5941
0
  YY_BREAK
5942
0
case 394:
5943
0
YY_RULE_SETUP
5944
0
#line 1251 "core/cfg.lex"
5945
0
{ count(); return UDP; }
5946
0
  YY_BREAK
5947
0
case 395:
5948
0
YY_RULE_SETUP
5949
0
#line 1252 "core/cfg.lex"
5950
0
{ count(); return TLS; }
5951
0
  YY_BREAK
5952
0
case 396:
5953
0
YY_RULE_SETUP
5954
0
#line 1253 "core/cfg.lex"
5955
0
{ count(); return SCTP; }
5956
0
  YY_BREAK
5957
0
case 397:
5958
0
YY_RULE_SETUP
5959
0
#line 1254 "core/cfg.lex"
5960
0
{ count(); return WS; }
5961
0
  YY_BREAK
5962
0
case 398:
5963
0
YY_RULE_SETUP
5964
0
#line 1255 "core/cfg.lex"
5965
0
{ count(); return WSS; }
5966
0
  YY_BREAK
5967
0
case 399:
5968
0
YY_RULE_SETUP
5969
0
#line 1256 "core/cfg.lex"
5970
0
{ count(); yylval.intval=AF_INET;
5971
0
              yy_number_str=yytext; return NUMBER; }
5972
0
  YY_BREAK
5973
0
case 400:
5974
0
YY_RULE_SETUP
5975
0
#line 1258 "core/cfg.lex"
5976
0
{ count();
5977
0
            yylval.intval=AF_INET6;
5978
0
            yy_number_str=yytext;
5979
0
            return NUMBER; }
5980
0
  YY_BREAK
5981
0
case 401:
5982
0
YY_RULE_SETUP
5983
0
#line 1262 "core/cfg.lex"
5984
0
{ count(); yylval.strval=yytext; return SSLv23; }
5985
0
  YY_BREAK
5986
0
case 402:
5987
0
YY_RULE_SETUP
5988
0
#line 1263 "core/cfg.lex"
5989
0
{ count(); yylval.strval=yytext; return SSLv2; }
5990
0
  YY_BREAK
5991
0
case 403:
5992
0
YY_RULE_SETUP
5993
0
#line 1264 "core/cfg.lex"
5994
0
{ count(); yylval.strval=yytext; return SSLv3; }
5995
0
  YY_BREAK
5996
0
case 404:
5997
0
YY_RULE_SETUP
5998
0
#line 1265 "core/cfg.lex"
5999
0
{ count(); yylval.strval=yytext; return TLSv1; }
6000
0
  YY_BREAK
6001
0
case 405:
6002
0
YY_RULE_SETUP
6003
0
#line 1267 "core/cfg.lex"
6004
0
{ count(); return COMMA; }
6005
0
  YY_BREAK
6006
0
case 406:
6007
0
YY_RULE_SETUP
6008
0
#line 1268 "core/cfg.lex"
6009
0
{ count(); return SEMICOLON; }
6010
0
  YY_BREAK
6011
0
case 407:
6012
0
YY_RULE_SETUP
6013
0
#line 1269 "core/cfg.lex"
6014
0
{ count(); return COLON; }
6015
0
  YY_BREAK
6016
0
case 408:
6017
0
YY_RULE_SETUP
6018
0
#line 1270 "core/cfg.lex"
6019
0
{ count(); return STAR; }
6020
0
  YY_BREAK
6021
0
case 409:
6022
0
YY_RULE_SETUP
6023
0
#line 1271 "core/cfg.lex"
6024
0
{ count(); return RPAREN; }
6025
0
  YY_BREAK
6026
0
case 410:
6027
0
YY_RULE_SETUP
6028
0
#line 1272 "core/cfg.lex"
6029
0
{ count(); return LPAREN; }
6030
0
  YY_BREAK
6031
0
case 411:
6032
0
YY_RULE_SETUP
6033
0
#line 1273 "core/cfg.lex"
6034
0
{ count(); return LBRACE; }
6035
0
  YY_BREAK
6036
0
case 412:
6037
0
YY_RULE_SETUP
6038
0
#line 1274 "core/cfg.lex"
6039
0
{ count(); return RBRACE; }
6040
0
  YY_BREAK
6041
0
case 413:
6042
0
YY_RULE_SETUP
6043
0
#line 1275 "core/cfg.lex"
6044
0
{ count(); return LBRACK; }
6045
0
  YY_BREAK
6046
0
case 414:
6047
0
YY_RULE_SETUP
6048
0
#line 1276 "core/cfg.lex"
6049
0
{ count(); return RBRACK; }
6050
0
  YY_BREAK
6051
0
case 415:
6052
0
YY_RULE_SETUP
6053
0
#line 1277 "core/cfg.lex"
6054
0
{ count(); return SLASH; }
6055
0
  YY_BREAK
6056
0
case 416:
6057
0
YY_RULE_SETUP
6058
0
#line 1278 "core/cfg.lex"
6059
0
{ count(); return DOT; }
6060
0
  YY_BREAK
6061
0
case 417:
6062
/* rule 417 can match eol */
6063
0
YY_RULE_SETUP
6064
0
#line 1279 "core/cfg.lex"
6065
0
{count(); } /* eat the escaped CR */
6066
0
  YY_BREAK
6067
0
case 418:
6068
/* rule 418 can match eol */
6069
0
YY_RULE_SETUP
6070
0
#line 1280 "core/cfg.lex"
6071
0
{ count();/* return CR;*/ }
6072
0
  YY_BREAK
6073
0
case 419:
6074
0
YY_RULE_SETUP
6075
0
#line 1283 "core/cfg.lex"
6076
0
{ count(); old_initial = YY_START;
6077
0
              old_state = state; state=STRING_S;
6078
0
              BEGIN(STRING1); }
6079
0
  YY_BREAK
6080
0
case 420:
6081
0
YY_RULE_SETUP
6082
0
#line 1286 "core/cfg.lex"
6083
0
{ count(); old_initial = YY_START; old_state = state;
6084
0
          state=STRING_S; BEGIN(STRING2); }
6085
0
  YY_BREAK
6086
0
case 421:
6087
0
YY_RULE_SETUP
6088
0
#line 1290 "core/cfg.lex"
6089
0
{ count_more();
6090
0
            yytext[yyleng-1]=0; yyleng--;
6091
0
            addstr(&s_buf, yytext, yyleng);
6092
0
            state=STR_BETWEEN_S;
6093
0
            BEGIN(STR_BETWEEN);
6094
0
          }
6095
0
  YY_BREAK
6096
0
case 422:
6097
0
YY_RULE_SETUP
6098
0
#line 1296 "core/cfg.lex"
6099
0
{ count_more(); state=old_state; BEGIN(old_initial);
6100
0
            yytext[yyleng-1]=0; yyleng--;
6101
0
            addstr(&s_buf, yytext, yyleng);
6102
0
            r = pp_subst_run(&s_buf.s);
6103
0
            yylval.strval=s_buf.s;
6104
0
            memset(&s_buf, 0, sizeof(s_buf));
6105
0
            return STRING;
6106
0
          }
6107
0
  YY_BREAK
6108
0
case 423:
6109
/* rule 423 can match eol */
6110
0
YY_RULE_SETUP
6111
0
#line 1304 "core/cfg.lex"
6112
0
{ yymore(); }
6113
0
  YY_BREAK
6114
0
case 424:
6115
0
YY_RULE_SETUP
6116
0
#line 1306 "core/cfg.lex"
6117
0
{ count_more(); addchar(&s_buf, '\n'); }
6118
0
  YY_BREAK
6119
0
case 425:
6120
0
YY_RULE_SETUP
6121
0
#line 1307 "core/cfg.lex"
6122
0
{ count_more(); addchar(&s_buf, '\r'); }
6123
0
  YY_BREAK
6124
0
case 426:
6125
0
YY_RULE_SETUP
6126
0
#line 1308 "core/cfg.lex"
6127
0
{ count_more(); addchar(&s_buf, '\a'); }
6128
0
  YY_BREAK
6129
0
case 427:
6130
0
YY_RULE_SETUP
6131
0
#line 1309 "core/cfg.lex"
6132
0
{ count_more(); addchar(&s_buf, '\t'); }
6133
0
  YY_BREAK
6134
0
case 428:
6135
0
YY_RULE_SETUP
6136
0
#line 1310 "core/cfg.lex"
6137
0
{ count_more(); addchar(&s_buf, '"');  }
6138
0
  YY_BREAK
6139
0
case 429:
6140
0
YY_RULE_SETUP
6141
0
#line 1311 "core/cfg.lex"
6142
0
{ count_more(); addchar(&s_buf, '\\'); }
6143
0
  YY_BREAK
6144
0
case 430:
6145
0
YY_RULE_SETUP
6146
0
#line 1312 "core/cfg.lex"
6147
0
{ count_more(); addchar(&s_buf,
6148
0
                      (char)strtol(yytext+2, 0, 16)); }
6149
0
  YY_BREAK
6150
/* don't allow \[0-7]{1}, it will eat the backreferences from
6151
   * subst_uri if allowed (although everybody should use '' in subt_uri) */
6152
0
case 431:
6153
0
YY_RULE_SETUP
6154
0
#line 1316 "core/cfg.lex"
6155
0
{ count_more(); addchar(&s_buf,
6156
0
                      (char)strtol(yytext+1, 0, 8));  }
6157
0
  YY_BREAK
6158
0
case 432:
6159
/* rule 432 can match eol */
6160
0
YY_RULE_SETUP
6161
0
#line 1318 "core/cfg.lex"
6162
0
{ count_more(); } /* eat escaped CRs */
6163
0
  YY_BREAK
6164
0
case 433:
6165
/* rule 433 can match eol */
6166
0
YY_RULE_SETUP
6167
0
#line 1319 "core/cfg.lex"
6168
0
{ count_more(); addchar(&s_buf, *yytext); }
6169
0
  YY_BREAK
6170
0
case 434:
6171
/* rule 434 can match eol */
6172
0
YY_RULE_SETUP
6173
0
#line 1321 "core/cfg.lex"
6174
0
{ count_ignore(); }
6175
0
  YY_BREAK
6176
0
case 435:
6177
0
YY_RULE_SETUP
6178
0
#line 1322 "core/cfg.lex"
6179
0
{ count_more(); state=STRING_S;
6180
0
                  BEGIN(STRING1);}
6181
0
  YY_BREAK
6182
0
case 436:
6183
0
YY_RULE_SETUP
6184
0
#line 1324 "core/cfg.lex"
6185
0
{
6186
0
                  yyless(0); /* reparse it */
6187
                  /* ignore the whitespace now that is
6188
                   * counted, return saved string value */
6189
0
                  state=old_state; BEGIN(old_initial);
6190
0
                  r = pp_subst_run(&s_buf.s);
6191
0
                  yylval.strval=s_buf.s;
6192
0
                  memset(&s_buf, 0, sizeof(s_buf));
6193
0
                  return STRING;
6194
0
                }
6195
0
  YY_BREAK
6196
0
case 437:
6197
0
YY_RULE_SETUP
6198
0
#line 1335 "core/cfg.lex"
6199
0
{ count();
6200
0
                  ksr_cfg_print_part(yytext);
6201
0
                  comment_nest++; state=COMMENT_S;
6202
0
                  BEGIN(COMMENT);
6203
0
                }
6204
0
  YY_BREAK
6205
0
case 438:
6206
0
YY_RULE_SETUP
6207
0
#line 1340 "core/cfg.lex"
6208
0
{ count();
6209
0
                  ksr_cfg_print_part(yytext);
6210
0
                  comment_nest--;
6211
0
                  if (comment_nest==0){
6212
0
                    state=INITIAL_S;
6213
0
                    ksr_cfg_print_initial_state();
6214
0
                  }
6215
0
                }
6216
0
  YY_BREAK
6217
0
case 439:
6218
/* rule 439 can match eol */
6219
0
YY_RULE_SETUP
6220
0
#line 1348 "core/cfg.lex"
6221
0
{ count(); ksr_cfg_print_part(yytext); };
6222
0
  YY_BREAK
6223
0
case 440:
6224
/* rule 440 can match eol */
6225
0
YY_RULE_SETUP
6226
0
#line 1350 "core/cfg.lex"
6227
0
{ count();
6228
0
                      sr_cfg_compat=SR_COMPAT_SER;}
6229
0
  YY_BREAK
6230
0
case 441:
6231
/* rule 441 can match eol */
6232
0
YY_RULE_SETUP
6233
0
#line 1352 "core/cfg.lex"
6234
0
{ count();
6235
0
                      sr_cfg_compat=SR_COMPAT_KAMAILIO;}
6236
0
  YY_BREAK
6237
0
case 442:
6238
/* rule 442 can match eol */
6239
0
YY_RULE_SETUP
6240
0
#line 1354 "core/cfg.lex"
6241
0
{ count();
6242
0
                      sr_cfg_compat=SR_COMPAT_MAX;}
6243
0
  YY_BREAK
6244
0
case 443:
6245
0
YY_RULE_SETUP
6246
0
#line 1357 "core/cfg.lex"
6247
0
{ count();
6248
0
                      ksr_cfg_print_part(yytext);
6249
0
                      pp_define_set_type(KSR_PPDEF_DEFINE);
6250
0
                      state = DEFINE_S; BEGIN(DEFINE_ID); }
6251
0
  YY_BREAK
6252
0
case 444:
6253
0
YY_RULE_SETUP
6254
0
#line 1361 "core/cfg.lex"
6255
0
{ count();
6256
0
                      ksr_cfg_print_part(yytext);
6257
0
                      pp_define_set_type(KSR_PPDEF_TRYDEF);
6258
0
                      state = DEFINE_S; BEGIN(DEFINE_ID); }
6259
0
  YY_BREAK
6260
0
case 445:
6261
0
YY_RULE_SETUP
6262
0
#line 1365 "core/cfg.lex"
6263
0
{ count();
6264
0
                      ksr_cfg_print_part(yytext);
6265
0
                      pp_define_set_type(KSR_PPDEF_REDEF);
6266
0
                      state = DEFINE_S; BEGIN(DEFINE_ID); }
6267
0
  YY_BREAK
6268
0
case 446:
6269
0
YY_RULE_SETUP
6270
0
#line 1369 "core/cfg.lex"
6271
0
{ count();
6272
0
                      ksr_cfg_print_part(yytext);
6273
0
                      pp_define_set_type(KSR_PPDEF_DEFEXP);
6274
0
                      state = DEFINE_S; BEGIN(DEFINE_ID); }
6275
0
  YY_BREAK
6276
0
case 447:
6277
0
YY_RULE_SETUP
6278
0
#line 1373 "core/cfg.lex"
6279
0
{ count();
6280
0
                      ksr_cfg_print_part(yytext);
6281
0
                      pp_define_set_type(KSR_PPDEF_DEFEXPS);
6282
0
                      state = DEFINE_S; BEGIN(DEFINE_ID); }
6283
0
  YY_BREAK
6284
0
case 448:
6285
0
YY_RULE_SETUP
6286
0
#line 1377 "core/cfg.lex"
6287
0
{ count();
6288
0
                  ksr_cfg_print_part(yytext);
6289
0
                  LM_CRIT(
6290
0
                    "error at %s line %d: '-' not allowed\n",
6291
0
                    (finame)?finame:"cfg", line);
6292
0
                  ksr_exit(-1);
6293
0
                }
6294
0
  YY_BREAK
6295
0
case 449:
6296
0
YY_RULE_SETUP
6297
0
#line 1384 "core/cfg.lex"
6298
0
{ count();
6299
0
                  ksr_cfg_print_part(yytext);
6300
0
                  if (pp_define(yyleng, yytext)) return 1;
6301
0
                  state = DEFINE_EOL_S; BEGIN(DEFINE_EOL); }
6302
0
  YY_BREAK
6303
0
case 450:
6304
0
YY_RULE_SETUP
6305
0
#line 1388 "core/cfg.lex"
6306
0
{ count(); ksr_cfg_print_part(yytext); }
6307
0
  YY_BREAK
6308
0
case 451:
6309
/* rule 451 can match eol */
6310
0
YY_RULE_SETUP
6311
0
#line 1389 "core/cfg.lex"
6312
0
{ count();
6313
0
                  ksr_cfg_print_part(yytext);
6314
0
                  state = INITIAL;
6315
0
                  ksr_cfg_print_initial_state();
6316
0
                }
6317
0
  YY_BREAK
6318
0
case 452:
6319
0
YY_RULE_SETUP
6320
0
#line 1394 "core/cfg.lex"
6321
0
{ count();
6322
0
                  ksr_cfg_print_part(yytext);
6323
0
                  addstr(&s_buf, yytext, yyleng);
6324
0
                  state = DEFINE_DATA_S; BEGIN(DEFINE_DATA); }
6325
0
  YY_BREAK
6326
0
case 453:
6327
/* rule 453 can match eol */
6328
0
YY_RULE_SETUP
6329
0
#line 1398 "core/cfg.lex"
6330
0
{ count(); ksr_cfg_print_part(yytext); } /* eat the escaped CR */
6331
0
  YY_BREAK
6332
0
case 454:
6333
/* rule 454 can match eol */
6334
0
YY_RULE_SETUP
6335
0
#line 1399 "core/cfg.lex"
6336
0
{ count();
6337
0
              ksr_cfg_print_part(yytext);
6338
0
              if (pp_define_set(strlen(s_buf.s), s_buf.s, KSR_PPDEF_NORMAL)) return 1;
6339
0
              memset(&s_buf, 0, sizeof(s_buf));
6340
0
              state = INITIAL;
6341
0
              ksr_cfg_print_initial_state();
6342
0
            }
6343
0
  YY_BREAK
6344
0
case 455:
6345
0
YY_RULE_SETUP
6346
0
#line 1406 "core/cfg.lex"
6347
0
{ count();
6348
0
              ksr_cfg_print_part(yytext);
6349
0
              addstr(&s_buf, yytext, yyleng); }
6350
0
  YY_BREAK
6351
0
case 456:
6352
0
YY_RULE_SETUP
6353
0
#line 1410 "core/cfg.lex"
6354
0
{ count();  return SUBST;}
6355
0
  YY_BREAK
6356
0
case 457:
6357
0
YY_RULE_SETUP
6358
0
#line 1411 "core/cfg.lex"
6359
0
{ count();  return SUBSTDEF;}
6360
0
  YY_BREAK
6361
0
case 458:
6362
0
YY_RULE_SETUP
6363
0
#line 1412 "core/cfg.lex"
6364
0
{ count();  return SUBSTDEFS;}
6365
0
  YY_BREAK
6366
0
case 459:
6367
0
YY_RULE_SETUP
6368
0
#line 1414 "core/cfg.lex"
6369
0
{ count();
6370
0
                if (pp_ifdef_type(1)) return 1;
6371
0
                state = IFDEF_S; BEGIN(IFDEF_ID); }
6372
0
  YY_BREAK
6373
0
case 460:
6374
0
YY_RULE_SETUP
6375
0
#line 1417 "core/cfg.lex"
6376
0
{ count();
6377
0
                if (pp_ifdef_type(0)) return 1;
6378
0
                state = IFDEF_S; BEGIN(IFDEF_ID); }
6379
0
  YY_BREAK
6380
0
case 461:
6381
0
YY_RULE_SETUP
6382
0
#line 1420 "core/cfg.lex"
6383
0
{ count();
6384
0
                if (pp_ifdef_type(1)) return 1;
6385
0
                state = IFDEF_S; BEGIN(IFEXP_STM); }
6386
0
  YY_BREAK
6387
0
case 462:
6388
0
YY_RULE_SETUP
6389
0
#line 1423 "core/cfg.lex"
6390
0
{ count();
6391
0
                  LM_CRIT(
6392
0
                    "error at %s line %d: '-' not allowed\n",
6393
0
                    (finame)?finame:"cfg", line);
6394
0
                  ksr_exit(-1);
6395
0
                }
6396
0
  YY_BREAK
6397
0
case 463:
6398
0
YY_RULE_SETUP
6399
0
#line 1429 "core/cfg.lex"
6400
0
{ count();
6401
0
                pp_ifdef_var(yyleng, yytext);
6402
0
                state = IFDEF_EOL_S; BEGIN(IFDEF_EOL); }
6403
0
  YY_BREAK
6404
0
case 464:
6405
/* rule 464 can match eol */
6406
0
YY_RULE_SETUP
6407
0
#line 1432 "core/cfg.lex"
6408
0
{ count();
6409
0
                pp_ifexp_eval(yytext, yyleng);
6410
0
                state = IFDEF_EOL_S; BEGIN(IFDEF_EOL);
6411
0
                pp_ifdef();
6412
0
                }
6413
0
  YY_BREAK
6414
0
case 465:
6415
/* rule 465 can match eol */
6416
0
YY_RULE_SETUP
6417
0
#line 1437 "core/cfg.lex"
6418
0
{ count(); pp_ifdef(); }
6419
0
  YY_BREAK
6420
0
case 466:
6421
/* rule 466 can match eol */
6422
0
YY_RULE_SETUP
6423
0
#line 1439 "core/cfg.lex"
6424
0
{ count(); pp_else(); }
6425
0
  YY_BREAK
6426
0
case 467:
6427
/* rule 467 can match eol */
6428
0
YY_RULE_SETUP
6429
0
#line 1441 "core/cfg.lex"
6430
0
{ count();
6431
0
                              pp_endif(); }
6432
0
  YY_BREAK
6433
/* we're in an ifdef that evaluated to false -- throw it away */
6434
0
case 468:
6435
/* rule 468 can match eol */
6436
0
YY_RULE_SETUP
6437
0
#line 1445 "core/cfg.lex"
6438
0
{ count(); }
6439
0
  YY_BREAK
6440
/* this is split so the shebangs match more, giving them priority */
6441
0
case 469:
6442
0
YY_RULE_SETUP
6443
0
#line 1448 "core/cfg.lex"
6444
0
{ count();
6445
0
                ksr_cfg_print_part(yytext);
6446
0
                state = LINECOMMENT_S;
6447
0
                BEGIN(LINECOMMENT);
6448
0
              }
6449
0
  YY_BREAK
6450
0
case 470:
6451
/* rule 470 can match eol */
6452
0
YY_RULE_SETUP
6453
0
#line 1453 "core/cfg.lex"
6454
0
{ count();
6455
0
                ksr_cfg_print_part(yytext);
6456
0
                state = INITIAL_S;
6457
0
                ksr_cfg_print_initial_state();
6458
0
              }
6459
0
  YY_BREAK
6460
0
case 471:
6461
0
YY_RULE_SETUP
6462
0
#line 1459 "core/cfg.lex"
6463
0
{ if ((sdef = pp_define_get(yyleng, yytext))!=NULL) {
6464
0
              for (r=sdef->len-1; r>=0; r--)
6465
0
                unput(sdef->s[r]); /* reverse order */
6466
0
            } else {
6467
0
              count();
6468
0
              addstr(&s_buf, yytext, yyleng);
6469
0
              yylval.strval=s_buf.s;
6470
0
              memset(&s_buf, 0, sizeof(s_buf));
6471
0
              return ID;
6472
0
            }
6473
0
          }
6474
0
  YY_BREAK
6475
0
case 472:
6476
0
YY_RULE_SETUP
6477
0
#line 1470 "core/cfg.lex"
6478
0
{ count(); addstr(&s_buf, yytext, yyleng);
6479
0
                  yylval.strval=s_buf.s;
6480
0
                  memset(&s_buf, 0, sizeof(s_buf));
6481
0
                  return NUM_ID; }
6482
0
  YY_BREAK
6483
0
case 473:
6484
0
YY_RULE_SETUP
6485
0
#line 1475 "core/cfg.lex"
6486
0
{ unput(yytext[0]); state = INITIAL_S; BEGIN(INITIAL); }
6487
0
  YY_BREAK
6488
/* Rescan the token in INITIAL state */
6489
0
case 474:
6490
0
YY_RULE_SETUP
6491
0
#line 1478 "core/cfg.lex"
6492
/* eat the whitespace */
6493
0
  YY_BREAK
6494
0
case 475:
6495
0
YY_RULE_SETUP
6496
0
#line 1479 "core/cfg.lex"
6497
0
{ /* get the include file name */
6498
0
        memset(&s_buf, 0, sizeof(s_buf));
6499
0
        addstr(&s_buf, yytext, yyleng);
6500
0
        r = pp_subst_run(&s_buf.s);
6501
0
        if(sr_push_yy_state(s_buf.s, 0)<0)
6502
0
        {
6503
0
          LOG(L_CRIT, "error at %s line %d\n", (finame)?finame:"cfg", line);
6504
0
          ksr_exit(-1);
6505
0
        }
6506
0
        memset(&s_buf, 0, sizeof(s_buf));
6507
0
        ksr_cfg_print_initial_state();
6508
0
}
6509
0
  YY_BREAK
6510
0
case 476:
6511
0
YY_RULE_SETUP
6512
0
#line 1492 "core/cfg.lex"
6513
/* eat the whitespace */
6514
0
  YY_BREAK
6515
0
case 477:
6516
0
YY_RULE_SETUP
6517
0
#line 1493 "core/cfg.lex"
6518
0
{ /* get the import file name */
6519
0
        memset(&s_buf, 0, sizeof(s_buf));
6520
0
        addstr(&s_buf, yytext, yyleng);
6521
0
        r = pp_subst_run(&s_buf.s);
6522
0
        if(sr_push_yy_state(s_buf.s, 1)<0)
6523
0
        {
6524
0
          LM_CRIT("error at %s line %d\n", (finame)?finame:"cfg", line);
6525
0
          ksr_exit(-1);
6526
0
        }
6527
0
        memset(&s_buf, 0, sizeof(s_buf));
6528
0
        ksr_cfg_print_initial_state();
6529
0
}
6530
0
  YY_BREAK
6531
0
case 478:
6532
0
YY_RULE_SETUP
6533
0
#line 1506 "core/cfg.lex"
6534
0
{ count();
6535
0
      ksr_cfg_print_part(yytext);
6536
0
      state = DEFINE_S;
6537
0
      BEGIN(DEFENV_ID);
6538
0
}
6539
0
  YY_BREAK
6540
0
case 479:
6541
0
YY_RULE_SETUP
6542
0
#line 1512 "core/cfg.lex"
6543
0
{ /* eat the whitespace */
6544
0
        count();
6545
0
        ksr_cfg_print_part(yytext);
6546
0
      }
6547
0
  YY_BREAK
6548
0
case 480:
6549
0
YY_RULE_SETUP
6550
0
#line 1516 "core/cfg.lex"
6551
0
{ /* get the define id of environment variable */
6552
0
        count();
6553
0
        ksr_cfg_print_part(yytext);
6554
0
        if(pp_define_env(yytext, yyleng, KSR_PPDEF_NORMAL, KSR_PPDEF_VALREQ) < 0) {
6555
0
          LM_CRIT("error at %s line %d\n", (finame)?finame:"cfg", line);
6556
0
          ksr_exit(-1);
6557
0
        }
6558
0
        state = INITIAL;
6559
0
        ksr_cfg_print_initial_state();
6560
0
}
6561
0
  YY_BREAK
6562
0
case 481:
6563
0
YY_RULE_SETUP
6564
0
#line 1527 "core/cfg.lex"
6565
0
{ count();
6566
0
      ksr_cfg_print_part(yytext);
6567
0
      state = DEFINE_S;
6568
0
      BEGIN(DEFENVS_ID);
6569
0
}
6570
0
  YY_BREAK
6571
0
case 482:
6572
0
YY_RULE_SETUP
6573
0
#line 1533 "core/cfg.lex"
6574
0
{ /* eat the whitespace */
6575
0
        count();
6576
0
        ksr_cfg_print_part(yytext);
6577
0
      }
6578
0
  YY_BREAK
6579
0
case 483:
6580
0
YY_RULE_SETUP
6581
0
#line 1537 "core/cfg.lex"
6582
0
{ /* get the define id of environment variable */
6583
0
        count();
6584
0
        ksr_cfg_print_part(yytext);
6585
0
        if(pp_define_env(yytext, yyleng, KSR_PPDEF_QUOTED, KSR_PPDEF_VALREQ) < 0) {
6586
0
          LM_CRIT("error at %s line %d\n", (finame)?finame:"cfg", line);
6587
0
          ksr_exit(-1);
6588
0
        }
6589
0
        state = INITIAL;
6590
0
        ksr_cfg_print_initial_state();
6591
0
}
6592
0
  YY_BREAK
6593
0
case 484:
6594
0
YY_RULE_SETUP
6595
0
#line 1548 "core/cfg.lex"
6596
0
{ count();
6597
0
      ksr_cfg_print_part(yytext);
6598
0
      state = DEFINE_S;
6599
0
      BEGIN(TRYDEFENV_ID);
6600
0
}
6601
0
  YY_BREAK
6602
0
case 485:
6603
0
YY_RULE_SETUP
6604
0
#line 1554 "core/cfg.lex"
6605
0
{ /* eat the whitespace */
6606
0
        count();
6607
0
        ksr_cfg_print_part(yytext);
6608
0
      }
6609
0
  YY_BREAK
6610
0
case 486:
6611
0
YY_RULE_SETUP
6612
0
#line 1558 "core/cfg.lex"
6613
0
{ /* get the define id of environment variable */
6614
0
        count();
6615
0
        ksr_cfg_print_part(yytext);
6616
0
        if(pp_define_env(yytext, yyleng, KSR_PPDEF_NORMAL, KSR_PPDEF_VALTRY) < 0) {
6617
0
          LM_CRIT("error at %s line %d\n", (finame)?finame:"cfg", line);
6618
0
          ksr_exit(-1);
6619
0
        }
6620
0
        state = INITIAL;
6621
0
        ksr_cfg_print_initial_state();
6622
0
}
6623
0
  YY_BREAK
6624
0
case 487:
6625
0
YY_RULE_SETUP
6626
0
#line 1569 "core/cfg.lex"
6627
0
{ count();
6628
0
      ksr_cfg_print_part(yytext);
6629
0
      state = DEFINE_S;
6630
0
      BEGIN(TRYDEFENVS_ID);
6631
0
}
6632
0
  YY_BREAK
6633
0
case 488:
6634
0
YY_RULE_SETUP
6635
0
#line 1575 "core/cfg.lex"
6636
0
{ /* eat the whitespace */
6637
0
        count();
6638
0
        ksr_cfg_print_part(yytext);
6639
0
      }
6640
0
  YY_BREAK
6641
0
case 489:
6642
0
YY_RULE_SETUP
6643
0
#line 1579 "core/cfg.lex"
6644
0
{ /* get the define id of environment variable */
6645
0
        count();
6646
0
        ksr_cfg_print_part(yytext);
6647
0
        if(pp_define_env(yytext, yyleng, KSR_PPDEF_QUOTED, KSR_PPDEF_VALTRY) < 0) {
6648
0
          LM_CRIT("error at %s line %d\n", (finame)?finame:"cfg", line);
6649
0
          ksr_exit(-1);
6650
0
        }
6651
0
        state = INITIAL;
6652
0
        ksr_cfg_print_initial_state();
6653
0
}
6654
0
  YY_BREAK
6655
0
case 490:
6656
0
YY_RULE_SETUP
6657
0
#line 1590 "core/cfg.lex"
6658
0
{ count(); printf("%s", yytext);
6659
0
        BEGIN(CFGPRINTLOADMOD);
6660
0
      }
6661
0
  YY_BREAK
6662
0
case 491:
6663
/* rule 491 can match eol */
6664
0
YY_RULE_SETUP
6665
0
#line 1593 "core/cfg.lex"
6666
0
{ count(); printf("%s", yytext); }
6667
0
  YY_BREAK
6668
0
case 492:
6669
0
YY_RULE_SETUP
6670
0
#line 1596 "core/cfg.lex"
6671
0
{ /* eat the whitespace */
6672
0
        count(); printf("%s", yytext);
6673
0
      }
6674
0
  YY_BREAK
6675
0
case 493:
6676
0
YY_RULE_SETUP
6677
0
#line 1599 "core/cfg.lex"
6678
0
{ /* get the module name */
6679
0
        count(); printf("%s", yytext);
6680
0
        ksr_cfg_print_define_module(yytext, yyleng);
6681
0
        ksr_cfg_print_initial_state();
6682
0
}
6683
0
  YY_BREAK
6684
0
case YY_STATE_EOF(INITIAL):
6685
0
case YY_STATE_EOF(STRING1):
6686
0
case YY_STATE_EOF(STRING2):
6687
0
case YY_STATE_EOF(STR_BETWEEN):
6688
0
case YY_STATE_EOF(COMMENT):
6689
0
case YY_STATE_EOF(COMMENT_LN):
6690
0
case YY_STATE_EOF(ATTR):
6691
0
case YY_STATE_EOF(SELECT):
6692
0
case YY_STATE_EOF(AVP_PVAR):
6693
0
case YY_STATE_EOF(PVAR_P):
6694
0
case YY_STATE_EOF(PVARID):
6695
0
case YY_STATE_EOF(INCLF):
6696
0
case YY_STATE_EOF(IMPTF):
6697
0
case YY_STATE_EOF(EVRTNAME):
6698
0
case YY_STATE_EOF(CFGPRINTMODE):
6699
0
case YY_STATE_EOF(CFGPRINTLOADMOD):
6700
0
case YY_STATE_EOF(DEFENV_ID):
6701
0
case YY_STATE_EOF(DEFENVS_ID):
6702
0
case YY_STATE_EOF(TRYDEFENV_ID):
6703
0
case YY_STATE_EOF(TRYDEFENVS_ID):
6704
0
case YY_STATE_EOF(LINECOMMENT):
6705
0
case YY_STATE_EOF(DEFINE_ID):
6706
0
case YY_STATE_EOF(DEFINE_EOL):
6707
0
case YY_STATE_EOF(DEFINE_DATA):
6708
0
case YY_STATE_EOF(IFDEF_ID):
6709
0
case YY_STATE_EOF(IFDEF_EOL):
6710
0
case YY_STATE_EOF(IFDEF_SKIP):
6711
0
case YY_STATE_EOF(IFEXP_STM):
6712
0
#line 1605 "core/cfg.lex"
6713
0
{
6714
0
                  switch(state){
6715
0
                    case STR_BETWEEN_S:
6716
0
                      state=old_state;
6717
0
                      BEGIN(old_initial);
6718
0
                      r = pp_subst_run(&s_buf.s);
6719
0
                      yylval.strval=s_buf.s;
6720
0
                      memset(&s_buf, 0, sizeof(s_buf));
6721
0
                      return STRING;
6722
0
                    case STRING_S:
6723
0
                      LM_CRIT("cfg. parser: unexpected EOF in"
6724
0
                            " unclosed string\n");
6725
0
                      if (s_buf.s){
6726
0
                        pkg_free(s_buf.s);
6727
0
                        memset(&s_buf, 0,
6728
0
                              sizeof(s_buf));
6729
0
                      }
6730
0
                      break;
6731
0
                    case COMMENT_S:
6732
0
                      LM_CRIT("cfg. parser: unexpected EOF:"
6733
0
                            " %d comments open\n", comment_nest);
6734
0
                      break;
6735
0
                    case COMMENT_LN_S:
6736
0
                      LM_CRIT("unexpected EOF:"
6737
0
                            "comment line open\n");
6738
0
                      break;
6739
0
                    case  ATTR_S:
6740
0
                      LM_CRIT("unexpected EOF"
6741
0
                          " while parsing"
6742
0
                          " avp name\n");
6743
0
                      break;
6744
0
                    case PVARID_S:
6745
0
                      p_nest=0;
6746
0
                    case PVAR_P_S:
6747
0
                      LM_CRIT("unexpected EOF"
6748
0
                          " while parsing pvar name"
6749
0
                          " (%d parenthesis open)\n",
6750
0
                          p_nest);
6751
0
                      break;
6752
0
                    case AVP_PVAR_S:
6753
0
                      LM_CRIT("unexpected EOF"
6754
0
                          " while parsing"
6755
0
                          " avp or pvar name\n");
6756
0
                  }
6757
0
                  if(sr_pop_yy_state()<0)
6758
0
                    return 0;
6759
0
                }
6760
0
  YY_BREAK
6761
0
case 494:
6762
0
YY_RULE_SETUP
6763
0
#line 1653 "core/cfg.lex"
6764
0
ECHO;
6765
0
  YY_BREAK
6766
0
#line 6767 "core/lex.yy.c"
6767
6768
0
  case YY_END_OF_BUFFER:
6769
0
    {
6770
    /* Amount of text matched not including the EOB char. */
6771
0
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6772
6773
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
6774
0
    *yy_cp = (yy_hold_char);
6775
0
    YY_RESTORE_YY_MORE_OFFSET
6776
6777
0
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6778
0
      {
6779
      /* We're scanning a new file or input source.  It's
6780
       * possible that this happened because the user
6781
       * just pointed yyin at a new source and called
6782
       * yylex().  If so, then we have to assure
6783
       * consistency between YY_CURRENT_BUFFER and our
6784
       * globals.  Here is the right place to do so, because
6785
       * this is the first action (other than possibly a
6786
       * back-up) that will match for the new input source.
6787
       */
6788
0
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6789
0
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
6790
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6791
0
      }
6792
6793
    /* Note that here we test for yy_c_buf_p "<=" to the position
6794
     * of the first EOB in the buffer, since yy_c_buf_p will
6795
     * already have been incremented past the NUL character
6796
     * (since all states make transitions on EOB to the
6797
     * end-of-buffer state).  Contrast this with the test
6798
     * in input().
6799
     */
6800
0
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6801
0
      { /* This was really a NUL. */
6802
0
      yy_state_type yy_next_state;
6803
6804
0
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6805
6806
0
      yy_current_state = yy_get_previous_state(  );
6807
6808
      /* Okay, we're now positioned to make the NUL
6809
       * transition.  We couldn't have
6810
       * yy_get_previous_state() go ahead and do it
6811
       * for us because it doesn't know how to deal
6812
       * with the possibility of jamming (and we don't
6813
       * want to build jamming into it because then it
6814
       * will run more slowly).
6815
       */
6816
6817
0
      yy_next_state = yy_try_NUL_trans( yy_current_state );
6818
6819
0
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6820
6821
0
      if ( yy_next_state )
6822
0
        {
6823
        /* Consume the NUL. */
6824
0
        yy_cp = ++(yy_c_buf_p);
6825
0
        yy_current_state = yy_next_state;
6826
0
        goto yy_match;
6827
0
        }
6828
6829
0
      else
6830
0
        {
6831
0
        yy_cp = (yy_c_buf_p);
6832
0
        goto yy_find_action;
6833
0
        }
6834
0
      }
6835
6836
0
    else switch ( yy_get_next_buffer(  ) )
6837
0
      {
6838
0
      case EOB_ACT_END_OF_FILE:
6839
0
        {
6840
0
        (yy_did_buffer_switch_on_eof) = 0;
6841
6842
0
        if ( yywrap(  ) )
6843
0
          {
6844
          /* Note: because we've taken care in
6845
           * yy_get_next_buffer() to have set up
6846
           * yytext, we can now set up
6847
           * yy_c_buf_p so that if some total
6848
           * hoser (like flex itself) wants to
6849
           * call the scanner after we return the
6850
           * YY_NULL, it'll still work - another
6851
           * YY_NULL will get returned.
6852
           */
6853
0
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6854
6855
0
          yy_act = YY_STATE_EOF(YY_START);
6856
0
          goto do_action;
6857
0
          }
6858
6859
0
        else
6860
0
          {
6861
0
          if ( ! (yy_did_buffer_switch_on_eof) )
6862
0
            YY_NEW_FILE;
6863
0
          }
6864
0
        break;
6865
0
        }
6866
6867
0
      case EOB_ACT_CONTINUE_SCAN:
6868
0
        (yy_c_buf_p) =
6869
0
          (yytext_ptr) + yy_amount_of_matched_text;
6870
6871
0
        yy_current_state = yy_get_previous_state(  );
6872
6873
0
        yy_cp = (yy_c_buf_p);
6874
0
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6875
0
        goto yy_match;
6876
6877
0
      case EOB_ACT_LAST_MATCH:
6878
0
        (yy_c_buf_p) =
6879
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6880
6881
0
        yy_current_state = yy_get_previous_state(  );
6882
6883
0
        yy_cp = (yy_c_buf_p);
6884
0
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6885
0
        goto yy_find_action;
6886
0
      }
6887
0
    break;
6888
0
    }
6889
6890
0
  default:
6891
0
    YY_FATAL_ERROR(
6892
0
      "fatal flex scanner internal error--no action found" );
6893
0
  } /* end of action switch */
6894
0
    } /* end of scanning one token */
6895
0
  } /* end of user's declarations */
6896
0
} /* end of yylex */
6897
6898
/* yy_get_next_buffer - try to read in a new buffer
6899
 *
6900
 * Returns a code representing an action:
6901
 *  EOB_ACT_LAST_MATCH -
6902
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6903
 *  EOB_ACT_END_OF_FILE - end of file
6904
 */
6905
static int yy_get_next_buffer (void)
6906
0
{
6907
0
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6908
0
  char *source = (yytext_ptr);
6909
0
  int number_to_move, i;
6910
0
  int ret_val;
6911
6912
0
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6913
0
    YY_FATAL_ERROR(
6914
0
    "fatal flex scanner internal error--end of buffer missed" );
6915
6916
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6917
0
    { /* Don't try to fill the buffer, so this is an EOF. */
6918
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6919
0
      {
6920
      /* We matched a single character, the EOB, so
6921
       * treat this as a final EOF.
6922
       */
6923
0
      return EOB_ACT_END_OF_FILE;
6924
0
      }
6925
6926
0
    else
6927
0
      {
6928
      /* We matched some text prior to the EOB, first
6929
       * process it.
6930
       */
6931
0
      return EOB_ACT_LAST_MATCH;
6932
0
      }
6933
0
    }
6934
6935
  /* Try to read more data. */
6936
6937
  /* First move last chars to start of buffer. */
6938
0
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
6939
6940
0
  for ( i = 0; i < number_to_move; ++i )
6941
0
    *(dest++) = *(source++);
6942
6943
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6944
    /* don't do the read, it's not guaranteed to return an EOF,
6945
     * just force an EOF
6946
     */
6947
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6948
6949
0
  else
6950
0
    {
6951
0
      int num_to_read =
6952
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6953
6954
0
    while ( num_to_read <= 0 )
6955
0
      { /* Not enough room in the buffer - grow it. */
6956
6957
      /* just a shorter name for the current buffer */
6958
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6959
6960
0
      int yy_c_buf_p_offset =
6961
0
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
6962
6963
0
      if ( b->yy_is_our_buffer )
6964
0
        {
6965
0
        int new_size = b->yy_buf_size * 2;
6966
6967
0
        if ( new_size <= 0 )
6968
0
          b->yy_buf_size += b->yy_buf_size / 8;
6969
0
        else
6970
0
          b->yy_buf_size *= 2;
6971
6972
0
        b->yy_ch_buf = (char *)
6973
          /* Include room in for 2 EOB chars. */
6974
0
          yyrealloc( (void *) b->yy_ch_buf,
6975
0
               (yy_size_t) (b->yy_buf_size + 2)  );
6976
0
        }
6977
0
      else
6978
        /* Can't grow it, we don't own it. */
6979
0
        b->yy_ch_buf = NULL;
6980
6981
0
      if ( ! b->yy_ch_buf )
6982
0
        YY_FATAL_ERROR(
6983
0
        "fatal error - scanner input buffer overflow" );
6984
6985
0
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6986
6987
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6988
0
            number_to_move - 1;
6989
6990
0
      }
6991
6992
0
    if ( num_to_read > YY_READ_BUF_SIZE )
6993
0
      num_to_read = YY_READ_BUF_SIZE;
6994
6995
    /* Read in more data. */
6996
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6997
0
      (yy_n_chars), num_to_read );
6998
6999
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7000
0
    }
7001
7002
0
  if ( (yy_n_chars) == 0 )
7003
0
    {
7004
0
    if ( number_to_move == YY_MORE_ADJ )
7005
0
      {
7006
0
      ret_val = EOB_ACT_END_OF_FILE;
7007
0
      yyrestart( yyin  );
7008
0
      }
7009
7010
0
    else
7011
0
      {
7012
0
      ret_val = EOB_ACT_LAST_MATCH;
7013
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7014
0
        YY_BUFFER_EOF_PENDING;
7015
0
      }
7016
0
    }
7017
7018
0
  else
7019
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
7020
7021
0
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7022
    /* Extend the array by 50%, plus the number we really need. */
7023
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7024
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
7025
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
7026
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7027
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
7028
    /* "- 2" to take care of EOB's */
7029
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
7030
0
  }
7031
7032
0
  (yy_n_chars) += number_to_move;
7033
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
7034
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
7035
7036
0
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
7037
7038
0
  return ret_val;
7039
0
}
7040
7041
/* yy_get_previous_state - get the state just before the EOB char was reached */
7042
7043
    static yy_state_type yy_get_previous_state (void)
7044
0
{
7045
0
  yy_state_type yy_current_state;
7046
0
  char *yy_cp;
7047
    
7048
0
  yy_current_state = (yy_start);
7049
7050
0
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
7051
0
    {
7052
0
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
7053
0
    if ( yy_accept[yy_current_state] )
7054
0
      {
7055
0
      (yy_last_accepting_state) = yy_current_state;
7056
0
      (yy_last_accepting_cpos) = yy_cp;
7057
0
      }
7058
0
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7059
0
      {
7060
0
      yy_current_state = (int) yy_def[yy_current_state];
7061
0
      if ( yy_current_state >= 3256 )
7062
0
        yy_c = yy_meta[yy_c];
7063
0
      }
7064
0
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
7065
0
    }
7066
7067
0
  return yy_current_state;
7068
0
}
7069
7070
/* yy_try_NUL_trans - try to make a transition on the NUL character
7071
 *
7072
 * synopsis
7073
 *  next_state = yy_try_NUL_trans( current_state );
7074
 */
7075
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
7076
0
{
7077
0
  int yy_is_jam;
7078
0
      char *yy_cp = (yy_c_buf_p);
7079
7080
0
  YY_CHAR yy_c = 1;
7081
0
  if ( yy_accept[yy_current_state] )
7082
0
    {
7083
0
    (yy_last_accepting_state) = yy_current_state;
7084
0
    (yy_last_accepting_cpos) = yy_cp;
7085
0
    }
7086
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7087
0
    {
7088
0
    yy_current_state = (int) yy_def[yy_current_state];
7089
0
    if ( yy_current_state >= 3256 )
7090
0
      yy_c = yy_meta[yy_c];
7091
0
    }
7092
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
7093
0
  yy_is_jam = (yy_current_state == 3255);
7094
7095
0
    return yy_is_jam ? 0 : yy_current_state;
7096
0
}
7097
7098
#ifndef YY_NO_UNPUT
7099
7100
    static void yyunput (int c, char * yy_bp )
7101
0
{
7102
0
  char *yy_cp;
7103
    
7104
0
    yy_cp = (yy_c_buf_p);
7105
7106
  /* undo effects of setting up yytext */
7107
0
  *yy_cp = (yy_hold_char);
7108
7109
0
  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
7110
0
    { /* need to shift things up to make room */
7111
    /* +2 for EOB chars. */
7112
0
    int number_to_move = (yy_n_chars) + 2;
7113
0
    char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
7114
0
          YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
7115
0
    char *source =
7116
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
7117
7118
0
    while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7119
0
      *--dest = *--source;
7120
7121
0
    yy_cp += (int) (dest - source);
7122
0
    yy_bp += (int) (dest - source);
7123
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
7124
0
      (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
7125
7126
0
    if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
7127
0
      YY_FATAL_ERROR( "flex scanner push-back overflow" );
7128
0
    }
7129
7130
0
  *--yy_cp = (char) c;
7131
7132
0
  (yytext_ptr) = yy_bp;
7133
0
  (yy_hold_char) = *yy_cp;
7134
0
  (yy_c_buf_p) = yy_cp;
7135
0
}
7136
7137
#endif
7138
7139
#ifndef YY_NO_INPUT
7140
#ifdef __cplusplus
7141
    static int yyinput (void)
7142
#else
7143
    static int input  (void)
7144
#endif
7145
7146
{
7147
  int c;
7148
    
7149
  *(yy_c_buf_p) = (yy_hold_char);
7150
7151
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7152
    {
7153
    /* yy_c_buf_p now points to the character we want to return.
7154
     * If this occurs *before* the EOB characters, then it's a
7155
     * valid NUL; if not, then we've hit the end of the buffer.
7156
     */
7157
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7158
      /* This was really a NUL. */
7159
      *(yy_c_buf_p) = '\0';
7160
7161
    else
7162
      { /* need more input */
7163
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
7164
      ++(yy_c_buf_p);
7165
7166
      switch ( yy_get_next_buffer(  ) )
7167
        {
7168
        case EOB_ACT_LAST_MATCH:
7169
          /* This happens because yy_g_n_b()
7170
           * sees that we've accumulated a
7171
           * token and flags that we need to
7172
           * try matching the token before
7173
           * proceeding.  But for input(),
7174
           * there's no matching to consider.
7175
           * So convert the EOB_ACT_LAST_MATCH
7176
           * to EOB_ACT_END_OF_FILE.
7177
           */
7178
7179
          /* Reset buffer status. */
7180
          yyrestart( yyin );
7181
7182
          /*FALLTHROUGH*/
7183
7184
        case EOB_ACT_END_OF_FILE:
7185
          {
7186
          if ( yywrap(  ) )
7187
            return 0;
7188
7189
          if ( ! (yy_did_buffer_switch_on_eof) )
7190
            YY_NEW_FILE;
7191
#ifdef __cplusplus
7192
          return yyinput();
7193
#else
7194
          return input();
7195
#endif
7196
          }
7197
7198
        case EOB_ACT_CONTINUE_SCAN:
7199
          (yy_c_buf_p) = (yytext_ptr) + offset;
7200
          break;
7201
        }
7202
      }
7203
    }
7204
7205
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
7206
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
7207
  (yy_hold_char) = *++(yy_c_buf_p);
7208
7209
  return c;
7210
}
7211
#endif  /* ifndef YY_NO_INPUT */
7212
7213
/** Immediately switch to a different input stream.
7214
 * @param input_file A readable stream.
7215
 * 
7216
 * @note This function does not reset the start condition to @c INITIAL .
7217
 */
7218
    void yyrestart  (FILE * input_file )
7219
0
{
7220
    
7221
0
  if ( ! YY_CURRENT_BUFFER ){
7222
0
        yyensure_buffer_stack ();
7223
0
    YY_CURRENT_BUFFER_LVALUE =
7224
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
7225
0
  }
7226
7227
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
7228
0
  yy_load_buffer_state(  );
7229
0
}
7230
7231
/** Switch to a different input buffer.
7232
 * @param new_buffer The new input buffer.
7233
 * 
7234
 */
7235
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
7236
0
{
7237
    
7238
  /* TODO. We should be able to replace this entire function body
7239
   * with
7240
   *    yypop_buffer_state();
7241
   *    yypush_buffer_state(new_buffer);
7242
     */
7243
0
  yyensure_buffer_stack ();
7244
0
  if ( YY_CURRENT_BUFFER == new_buffer )
7245
0
    return;
7246
7247
0
  if ( YY_CURRENT_BUFFER )
7248
0
    {
7249
    /* Flush out information for old buffer. */
7250
0
    *(yy_c_buf_p) = (yy_hold_char);
7251
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7252
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7253
0
    }
7254
7255
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
7256
0
  yy_load_buffer_state(  );
7257
7258
  /* We don't actually know whether we did this switch during
7259
   * EOF (yywrap()) processing, but the only time this flag
7260
   * is looked at is after yywrap() is called, so it's safe
7261
   * to go ahead and always set it.
7262
   */
7263
0
  (yy_did_buffer_switch_on_eof) = 1;
7264
0
}
7265
7266
static void yy_load_buffer_state  (void)
7267
0
{
7268
0
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7269
0
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7270
0
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7271
0
  (yy_hold_char) = *(yy_c_buf_p);
7272
0
}
7273
7274
/** Allocate and initialize an input buffer state.
7275
 * @param file A readable stream.
7276
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7277
 * 
7278
 * @return the allocated buffer state.
7279
 */
7280
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
7281
0
{
7282
0
  YY_BUFFER_STATE b;
7283
    
7284
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7285
0
  if ( ! b )
7286
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7287
7288
0
  b->yy_buf_size = size;
7289
7290
  /* yy_ch_buf has to be 2 characters longer than the size given because
7291
   * we need to put in 2 end-of-buffer characters.
7292
   */
7293
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
7294
0
  if ( ! b->yy_ch_buf )
7295
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7296
7297
0
  b->yy_is_our_buffer = 1;
7298
7299
0
  yy_init_buffer( b, file );
7300
7301
0
  return b;
7302
0
}
7303
7304
/** Destroy the buffer.
7305
 * @param b a buffer created with yy_create_buffer()
7306
 * 
7307
 */
7308
    void yy_delete_buffer (YY_BUFFER_STATE  b )
7309
0
{
7310
    
7311
0
  if ( ! b )
7312
0
    return;
7313
7314
0
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7315
0
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7316
7317
0
  if ( b->yy_is_our_buffer )
7318
0
    yyfree( (void *) b->yy_ch_buf  );
7319
7320
0
  yyfree( (void *) b  );
7321
0
}
7322
7323
/* Initializes or reinitializes a buffer.
7324
 * This function is sometimes called more than once on the same buffer,
7325
 * such as during a yyrestart() or at EOF.
7326
 */
7327
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
7328
7329
0
{
7330
0
  int oerrno = errno;
7331
    
7332
0
  yy_flush_buffer( b );
7333
7334
0
  b->yy_input_file = file;
7335
0
  b->yy_fill_buffer = 1;
7336
7337
    /* If b is the current buffer, then yy_init_buffer was _probably_
7338
     * called from yyrestart() or through yy_get_next_buffer.
7339
     * In that case, we don't want to reset the lineno or column.
7340
     */
7341
0
    if (b != YY_CURRENT_BUFFER){
7342
0
        b->yy_bs_lineno = 1;
7343
0
        b->yy_bs_column = 0;
7344
0
    }
7345
7346
0
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7347
    
7348
0
  errno = oerrno;
7349
0
}
7350
7351
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7352
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7353
 * 
7354
 */
7355
    void yy_flush_buffer (YY_BUFFER_STATE  b )
7356
0
{
7357
0
      if ( ! b )
7358
0
    return;
7359
7360
0
  b->yy_n_chars = 0;
7361
7362
  /* We always need two end-of-buffer characters.  The first causes
7363
   * a transition to the end-of-buffer state.  The second causes
7364
   * a jam in that state.
7365
   */
7366
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7367
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7368
7369
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
7370
7371
0
  b->yy_at_bol = 1;
7372
0
  b->yy_buffer_status = YY_BUFFER_NEW;
7373
7374
0
  if ( b == YY_CURRENT_BUFFER )
7375
0
    yy_load_buffer_state(  );
7376
0
}
7377
7378
/** Pushes the new state onto the stack. The new state becomes
7379
 *  the current state. This function will allocate the stack
7380
 *  if necessary.
7381
 *  @param new_buffer The new state.
7382
 *  
7383
 */
7384
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
7385
0
{
7386
0
      if (new_buffer == NULL)
7387
0
    return;
7388
7389
0
  yyensure_buffer_stack();
7390
7391
  /* This block is copied from yy_switch_to_buffer. */
7392
0
  if ( YY_CURRENT_BUFFER )
7393
0
    {
7394
    /* Flush out information for old buffer. */
7395
0
    *(yy_c_buf_p) = (yy_hold_char);
7396
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7397
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7398
0
    }
7399
7400
  /* Only push if top exists. Otherwise, replace top. */
7401
0
  if (YY_CURRENT_BUFFER)
7402
0
    (yy_buffer_stack_top)++;
7403
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
7404
7405
  /* copied from yy_switch_to_buffer. */
7406
0
  yy_load_buffer_state(  );
7407
0
  (yy_did_buffer_switch_on_eof) = 1;
7408
0
}
7409
7410
/** Removes and deletes the top of the stack, if present.
7411
 *  The next element becomes the new top.
7412
 *  
7413
 */
7414
void yypop_buffer_state (void)
7415
0
{
7416
0
      if (!YY_CURRENT_BUFFER)
7417
0
    return;
7418
7419
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
7420
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
7421
0
  if ((yy_buffer_stack_top) > 0)
7422
0
    --(yy_buffer_stack_top);
7423
7424
0
  if (YY_CURRENT_BUFFER) {
7425
0
    yy_load_buffer_state(  );
7426
0
    (yy_did_buffer_switch_on_eof) = 1;
7427
0
  }
7428
0
}
7429
7430
/* Allocates the stack if it does not exist.
7431
 *  Guarantees space for at least one push.
7432
 */
7433
static void yyensure_buffer_stack (void)
7434
0
{
7435
0
  yy_size_t num_to_alloc;
7436
    
7437
0
  if (!(yy_buffer_stack)) {
7438
7439
    /* First allocation is just for 2 elements, since we don't know if this
7440
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
7441
     * immediate realloc on the next call.
7442
         */
7443
0
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
7444
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
7445
0
                (num_to_alloc * sizeof(struct yy_buffer_state*)
7446
0
                );
7447
0
    if ( ! (yy_buffer_stack) )
7448
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7449
7450
0
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7451
7452
0
    (yy_buffer_stack_max) = num_to_alloc;
7453
0
    (yy_buffer_stack_top) = 0;
7454
0
    return;
7455
0
  }
7456
7457
0
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7458
7459
    /* Increase the buffer to prepare for a possible push. */
7460
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
7461
7462
0
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
7463
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
7464
0
                ((yy_buffer_stack),
7465
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
7466
0
                );
7467
0
    if ( ! (yy_buffer_stack) )
7468
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7469
7470
    /* zero only the new slots.*/
7471
0
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7472
0
    (yy_buffer_stack_max) = num_to_alloc;
7473
0
  }
7474
0
}
7475
7476
/** Setup the input buffer state to scan directly from a user-specified character buffer.
7477
 * @param base the character buffer
7478
 * @param size the size in bytes of the character buffer
7479
 * 
7480
 * @return the newly allocated buffer state object.
7481
 */
7482
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
7483
0
{
7484
0
  YY_BUFFER_STATE b;
7485
    
7486
0
  if ( size < 2 ||
7487
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
7488
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
7489
    /* They forgot to leave room for the EOB's. */
7490
0
    return NULL;
7491
7492
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7493
0
  if ( ! b )
7494
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
7495
7496
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
7497
0
  b->yy_buf_pos = b->yy_ch_buf = base;
7498
0
  b->yy_is_our_buffer = 0;
7499
0
  b->yy_input_file = NULL;
7500
0
  b->yy_n_chars = b->yy_buf_size;
7501
0
  b->yy_is_interactive = 0;
7502
0
  b->yy_at_bol = 1;
7503
0
  b->yy_fill_buffer = 0;
7504
0
  b->yy_buffer_status = YY_BUFFER_NEW;
7505
7506
0
  yy_switch_to_buffer( b  );
7507
7508
0
  return b;
7509
0
}
7510
7511
/** Setup the input buffer state to scan a string. The next call to yylex() will
7512
 * scan from a @e copy of @a str.
7513
 * @param yystr a NUL-terminated string to scan
7514
 * 
7515
 * @return the newly allocated buffer state object.
7516
 * @note If you want to scan bytes that may contain NUL values, then use
7517
 *       yy_scan_bytes() instead.
7518
 */
7519
YY_BUFFER_STATE yy_scan_string (const char * yystr )
7520
0
{
7521
    
7522
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
7523
0
}
7524
7525
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
7526
 * scan from a @e copy of @a bytes.
7527
 * @param yybytes the byte buffer to scan
7528
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7529
 * 
7530
 * @return the newly allocated buffer state object.
7531
 */
7532
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
7533
0
{
7534
0
  YY_BUFFER_STATE b;
7535
0
  char *buf;
7536
0
  yy_size_t n;
7537
0
  int i;
7538
    
7539
  /* Get memory for full buffer, including space for trailing EOB's. */
7540
0
  n = (yy_size_t) (_yybytes_len + 2);
7541
0
  buf = (char *) yyalloc( n  );
7542
0
  if ( ! buf )
7543
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
7544
7545
0
  for ( i = 0; i < _yybytes_len; ++i )
7546
0
    buf[i] = yybytes[i];
7547
7548
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7549
7550
0
  b = yy_scan_buffer( buf, n );
7551
0
  if ( ! b )
7552
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
7553
7554
  /* It's okay to grow etc. this buffer, and we should throw it
7555
   * away when we're done.
7556
   */
7557
0
  b->yy_is_our_buffer = 1;
7558
7559
0
  return b;
7560
0
}
7561
7562
#ifndef YY_EXIT_FAILURE
7563
0
#define YY_EXIT_FAILURE 2
7564
#endif
7565
7566
static void yynoreturn yy_fatal_error (const char* msg )
7567
0
{
7568
0
      fprintf( stderr, "%s\n", msg );
7569
0
  exit( YY_EXIT_FAILURE );
7570
0
}
7571
7572
/* Redefine yyless() so it works in section 3 code. */
7573
7574
#undef yyless
7575
#define yyless(n) \
7576
  do \
7577
    { \
7578
    /* Undo effects of setting up yytext. */ \
7579
        int yyless_macro_arg = (n); \
7580
        YY_LESS_LINENO(yyless_macro_arg);\
7581
    yytext[yyleng] = (yy_hold_char); \
7582
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
7583
    (yy_hold_char) = *(yy_c_buf_p); \
7584
    *(yy_c_buf_p) = '\0'; \
7585
    yyleng = yyless_macro_arg; \
7586
    } \
7587
  while ( 0 )
7588
7589
/* Accessor  methods (get/set functions) to struct members. */
7590
7591
/** Get the current line number.
7592
 * 
7593
 */
7594
int yyget_lineno  (void)
7595
0
{
7596
    
7597
0
    return yylineno;
7598
0
}
7599
7600
/** Get the input stream.
7601
 * 
7602
 */
7603
FILE *yyget_in  (void)
7604
0
{
7605
0
        return yyin;
7606
0
}
7607
7608
/** Get the output stream.
7609
 * 
7610
 */
7611
FILE *yyget_out  (void)
7612
0
{
7613
0
        return yyout;
7614
0
}
7615
7616
/** Get the length of the current token.
7617
 * 
7618
 */
7619
int yyget_leng  (void)
7620
0
{
7621
0
        return yyleng;
7622
0
}
7623
7624
/** Get the current token.
7625
 * 
7626
 */
7627
7628
char *yyget_text  (void)
7629
0
{
7630
0
        return yytext;
7631
0
}
7632
7633
/** Set the current line number.
7634
 * @param _line_number line number
7635
 * 
7636
 */
7637
void yyset_lineno (int  _line_number )
7638
0
{
7639
    
7640
0
    yylineno = _line_number;
7641
0
}
7642
7643
/** Set the input stream. This does not discard the current
7644
 * input buffer.
7645
 * @param _in_str A readable stream.
7646
 * 
7647
 * @see yy_switch_to_buffer
7648
 */
7649
void yyset_in (FILE *  _in_str )
7650
0
{
7651
0
        yyin = _in_str ;
7652
0
}
7653
7654
void yyset_out (FILE *  _out_str )
7655
0
{
7656
0
        yyout = _out_str ;
7657
0
}
7658
7659
int yyget_debug  (void)
7660
0
{
7661
0
        return yy_flex_debug;
7662
0
}
7663
7664
void yyset_debug (int  _bdebug )
7665
0
{
7666
0
        yy_flex_debug = _bdebug ;
7667
0
}
7668
7669
static int yy_init_globals (void)
7670
0
{
7671
        /* Initialization is the same as for the non-reentrant scanner.
7672
     * This function is called from yylex_destroy(), so don't allocate here.
7673
     */
7674
7675
0
    (yy_buffer_stack) = NULL;
7676
0
    (yy_buffer_stack_top) = 0;
7677
0
    (yy_buffer_stack_max) = 0;
7678
0
    (yy_c_buf_p) = NULL;
7679
0
    (yy_init) = 0;
7680
0
    (yy_start) = 0;
7681
7682
/* Defined in main.c */
7683
#ifdef YY_STDINIT
7684
    yyin = stdin;
7685
    yyout = stdout;
7686
#else
7687
0
    yyin = NULL;
7688
0
    yyout = NULL;
7689
0
#endif
7690
7691
    /* For future reference: Set errno on error, since we are called by
7692
     * yylex_init()
7693
     */
7694
0
    return 0;
7695
0
}
7696
7697
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
7698
int yylex_destroy  (void)
7699
0
{
7700
    
7701
    /* Pop the buffer stack, destroying each element. */
7702
0
  while(YY_CURRENT_BUFFER){
7703
0
    yy_delete_buffer( YY_CURRENT_BUFFER  );
7704
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
7705
0
    yypop_buffer_state();
7706
0
  }
7707
7708
  /* Destroy the stack itself. */
7709
0
  yyfree((yy_buffer_stack) );
7710
0
  (yy_buffer_stack) = NULL;
7711
7712
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
7713
     * yylex() is called, initialization will occur. */
7714
0
    yy_init_globals( );
7715
7716
0
    return 0;
7717
0
}
7718
7719
/*
7720
 * Internal utility routines.
7721
 */
7722
7723
#ifndef yytext_ptr
7724
static void yy_flex_strncpy (char* s1, const char * s2, int n )
7725
{
7726
    
7727
  int i;
7728
  for ( i = 0; i < n; ++i )
7729
    s1[i] = s2[i];
7730
}
7731
#endif
7732
7733
#ifdef YY_NEED_STRLEN
7734
static int yy_flex_strlen (const char * s )
7735
{
7736
  int n;
7737
  for ( n = 0; s[n]; ++n )
7738
    ;
7739
7740
  return n;
7741
}
7742
#endif
7743
7744
void *yyalloc (yy_size_t  size )
7745
0
{
7746
0
      return malloc(size);
7747
0
}
7748
7749
void *yyrealloc  (void * ptr, yy_size_t  size )
7750
0
{
7751
    
7752
  /* The cast to (char *) in the following accommodates both
7753
   * implementations that use char* generic pointers, and those
7754
   * that use void* generic pointers.  It works with the latter
7755
   * because both ANSI C and C++ allow castless assignment from
7756
   * any pointer type to void*, and deal with argument conversions
7757
   * as though doing an assignment.
7758
   */
7759
0
  return realloc(ptr, size);
7760
0
}
7761
7762
void yyfree (void * ptr )
7763
0
{
7764
0
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
7765
0
}
7766
7767
#define YYTABLES_NAME "yytables"
7768
7769
#line 1653 "core/cfg.lex"
7770
7771
7772
static void ksr_cfg_print_part(char *text)
7773
0
{
7774
0
  if(ksr_cfg_print_mode == 1) {
7775
0
    printf("%s", text);
7776
0
  }
7777
0
}
7778
7779
static void ksr_cfg_print_define_module(char *modpath, int modpathlen)
7780
0
{
7781
0
  char defmod[64];
7782
0
  str modname;
7783
0
  char *p;
7784
7785
0
  modname.s = modpath;
7786
0
  modname.len = modpathlen;
7787
7788
0
  if(modname.len <= 2) {
7789
0
    return;
7790
0
  }
7791
0
  if(modname.s[0] == '\'' && modname.s[modname.len - 1] == '\'') {
7792
0
    modname.s++;
7793
0
    modname.len -= 2;
7794
0
  } else if(modname.s[0] == '"' && modname.s[modname.len - 1] == '"') {
7795
0
    modname.s++;
7796
0
    modname.len -= 2;
7797
0
  }
7798
7799
0
  if(modname.len>3 && strncmp(modname.s + modname.len-3, ".so", 3)==0) {
7800
0
    modname.len -= 3;
7801
0
  }
7802
0
  if (strchr(modpath, '/')) {
7803
    /* only the name */
7804
0
    p = modname.s + modname.len - 1;
7805
0
    modname.len = 0;
7806
0
    while(p>=modname.s && *p!='/') {
7807
0
      p--;
7808
0
      modname.len++;
7809
0
    }
7810
0
    modname.s = p + 1;
7811
0
  }
7812
7813
  /* add cfg define for each module: MOD_modulename */
7814
0
  if(modname.len >= 60) {
7815
0
    printf("\n# ***** ERROR: too long module name: %s\n", modpath);
7816
0
    return;
7817
0
  }
7818
0
  memcpy(defmod, "MOD_", 4);
7819
0
  memcpy(defmod+4, modname.s, modname.len);
7820
0
  pp_define_set_type(KSR_PPDEF_DEFINE);
7821
0
  if(pp_define(modname.len + 4, defmod)<0) {
7822
0
    printf("\n# ***** ERROR: unable to set cfg define for module: %s\n",
7823
0
        modpath);
7824
0
  }
7825
0
}
7826
7827
void ksr_cfg_print_initial_state(void)
7828
0
{
7829
0
  if(ksr_cfg_print_mode == 1) {
7830
0
    BEGIN(CFGPRINTMODE);
7831
0
  } else {
7832
0
    BEGIN(INITIAL);
7833
0
  }
7834
0
}
7835
7836
static char* addchar(struct str_buf* dst, char c)
7837
0
{
7838
0
  return addstr(dst, &c, 1);
7839
0
}
7840
7841
7842
7843
static char* addstr(struct str_buf* dst_b, char* src, int len)
7844
0
{
7845
0
  char *tmp = NULL;
7846
0
  unsigned size;
7847
0
  unsigned used;
7848
7849
0
  if (dst_b->left<(len+1)){
7850
0
    used=(unsigned)(dst_b->crt-dst_b->s);
7851
0
    size=used+len+1;
7852
    /* round up to next multiple */
7853
0
    size+= STR_BUF_ALLOC_UNIT-size%STR_BUF_ALLOC_UNIT;
7854
0
    tmp=pkg_malloc(size);
7855
0
    if (tmp==0) goto error;
7856
0
    if (dst_b->s){
7857
0
      memcpy(tmp, dst_b->s, used);
7858
0
      pkg_free(dst_b->s);
7859
0
    }
7860
0
    dst_b->s=tmp;
7861
0
    dst_b->crt=dst_b->s+used;
7862
0
    dst_b->left=size-used;
7863
0
  }
7864
0
  if(dst_b->crt==NULL) {
7865
0
    LM_CRIT("unexpected null dst buffer\n");
7866
0
    ksr_exit(-1);
7867
0
  }
7868
0
  memcpy(dst_b->crt, src, len);
7869
0
  dst_b->crt+=len;
7870
0
  *(dst_b->crt)=0;
7871
0
  dst_b->left-=len;
7872
7873
0
  return dst_b->s;
7874
0
error:
7875
0
  PKG_MEM_CRITICAL;
7876
0
  ksr_exit(-1);
7877
0
}
7878
7879
7880
7881
/** helper function for count_*(). */
7882
static void count_lc(int* l, int* c)
7883
0
{
7884
0
  int i;
7885
0
  for (i=0; i<yyleng;i++){
7886
0
    if (yytext[i]=='\n'){
7887
0
      (*l)++;
7888
0
      (*c)=1;
7889
0
    }else if (yytext[i]=='\t'){
7890
0
      (*c)++;
7891
      /*(*c)+=8 -((*c)%8);*/
7892
0
    }else{
7893
0
      (*c)++;
7894
0
    }
7895
0
  }
7896
0
}
7897
7898
7899
7900
/* helper function */
7901
static void count_restore_ignored()
7902
0
{
7903
0
  if (ign_lines) /* ignored line(s) => column has changed */
7904
0
    column=ign_columns;
7905
0
  else
7906
0
    column+=ign_columns;
7907
0
  line+=ign_lines;
7908
0
  ign_lines=ign_columns=0;
7909
0
}
7910
7911
7912
7913
/** count/record position for stuff added to the current token. */
7914
static void count_more()
7915
0
{
7916
0
  count_restore_ignored();
7917
0
  count_lc(&line, &column);
7918
0
}
7919
7920
7921
7922
/** count/record position for a new token. */
7923
static void count()
7924
0
{
7925
0
  count_restore_ignored();
7926
0
  startline=line;
7927
0
  startcolumn=column;
7928
0
  count_more();
7929
0
}
7930
7931
7932
7933
/** record discarded stuff (not contained in the token) so that
7934
 * the next token position can be adjusted properly */
7935
static void count_ignore()
7936
0
{
7937
0
  count_lc(&ign_lines, &ign_columns);
7938
0
}
7939
7940
7941
/* replacement yywrap, removes libfl dependency */
7942
int yywrap()
7943
0
{
7944
0
  return 1;
7945
0
}
7946
7947
static int sr_push_yy_state(char *fin, int mode)
7948
0
{
7949
0
  struct sr_yy_fname *fn = NULL;
7950
0
  FILE *fp = NULL;
7951
0
  char *x = NULL;
7952
0
  char *newf = NULL;
7953
0
#define MAX_INCLUDE_FNAME 128
7954
0
  char fbuf[MAX_INCLUDE_FNAME];
7955
0
  int i, j, l;
7956
0
  char *tmpfiname = 0;
7957
7958
0
  if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
7959
0
  {
7960
0
    LM_CRIT("too many includes\n");
7961
0
    return -1;
7962
0
  }
7963
0
  l = strlen(fin);
7964
0
  if(l>=MAX_INCLUDE_FNAME)
7965
0
  {
7966
0
    LM_CRIT("included file name too long: %s\n", fin);
7967
0
    return -1;
7968
0
  }
7969
0
  if(fin[0]!='"' || fin[l-1]!='"')
7970
0
  {
7971
0
    LM_CRIT("included file name must be between quotes: %s\n", fin);
7972
0
    return -1;
7973
0
  }
7974
0
  j = 0;
7975
0
  for(i=1; i<l-1; i++)
7976
0
  {
7977
0
    switch(fin[i]) {
7978
0
      case '\\':
7979
0
        if(i+1==l-1)
7980
0
        {
7981
0
          LM_CRIT("invalid escape at %d in included file name: %s\n", i, fin);
7982
0
          return -1;
7983
0
        }
7984
0
        i++;
7985
0
        switch(fin[i]) {
7986
0
          case 't':
7987
0
            fbuf[j++] = '\t';
7988
0
          break;
7989
0
          case 'n':
7990
0
            fbuf[j++] = '\n';
7991
0
          break;
7992
0
          case 'r':
7993
0
            fbuf[j++] = '\r';
7994
0
          break;
7995
0
          default:
7996
0
            fbuf[j++] = fin[i];
7997
0
        }
7998
0
      break;
7999
0
      default:
8000
0
        fbuf[j++] = fin[i];
8001
0
    }
8002
0
  }
8003
0
  if(j==0)
8004
0
  {
8005
0
    LM_CRIT("invalid included file name: %s\n", fin);
8006
0
    return -1;
8007
0
  }
8008
0
  fbuf[j] = '\0';
8009
8010
0
  fp = fopen(fbuf, "r" );
8011
8012
0
  if ( ! fp )
8013
0
  {
8014
0
    tmpfiname = (finame==0)?cfg_file:finame;
8015
0
    if(tmpfiname==0 || fbuf[0]=='/')
8016
0
    {
8017
0
      if(mode==0)
8018
0
      {
8019
0
        LM_CRIT("cannot open included file: %s\n", fin);
8020
0
        return -1;
8021
0
      } else {
8022
0
        LM_DBG("importing file ignored: %s\n", fin);
8023
0
        return 0;
8024
0
      }
8025
0
    }
8026
0
    x = strrchr(tmpfiname, '/');
8027
0
    if(x==NULL)
8028
0
    {
8029
      /* nothing else to try */
8030
0
      if(mode==0)
8031
0
      {
8032
0
        LM_CRIT("cannot open included file: %s\n", fin);
8033
0
        return -1;
8034
0
      } else {
8035
0
        LM_DBG("importing file ignored: %s\n", fin);
8036
0
        return 0;
8037
0
      }
8038
0
    }
8039
8040
0
    newf = (char*)pkg_malloc(x-tmpfiname+strlen(fbuf)+2);
8041
0
    if(newf==0)
8042
0
    {
8043
0
      PKG_MEM_CRITICAL;
8044
0
      return -1;
8045
0
    }
8046
0
    newf[0] = '\0';
8047
0
    strncat(newf, tmpfiname, x-tmpfiname);
8048
0
    strcat(newf, "/");
8049
0
    strcat(newf, fbuf);
8050
8051
0
    fp = fopen(newf, "r" );
8052
0
    if ( fp==NULL )
8053
0
    {
8054
0
      if(mode==0)
8055
0
      {
8056
0
        LM_CRIT("cannot open included file: %s (%s)\n", fbuf, newf);
8057
0
        pkg_free(newf);
8058
0
        return -1;
8059
0
      } else {
8060
0
        LM_DBG("importing file ignored: %s (%s)\n", fbuf, newf);
8061
0
        pkg_free(newf);
8062
0
        return 0;
8063
0
      }
8064
0
    }
8065
0
    LM_DBG("including file: %s (%s)\n", fbuf, newf);
8066
0
  } else {
8067
0
    newf = fbuf;
8068
0
  }
8069
8070
0
  include_stack[include_stack_ptr].state = YY_CURRENT_BUFFER;
8071
0
  include_stack[include_stack_ptr].line = line;
8072
0
  include_stack[include_stack_ptr].column = column;
8073
0
  include_stack[include_stack_ptr].startline = startline;
8074
0
  include_stack[include_stack_ptr].startcolumn = startcolumn;
8075
0
  include_stack[include_stack_ptr].finame = finame;
8076
0
  include_stack[include_stack_ptr].routename = routename;
8077
0
  include_stack_ptr++;
8078
8079
0
  line=1;
8080
0
  column=1;
8081
0
  startline=1;
8082
0
  startcolumn=1;
8083
8084
0
  yyin = fp;
8085
8086
  /* make a copy in PKG if does not exist */
8087
0
  fn = sr_yy_fname_list;
8088
0
  while(fn!=0)
8089
0
  {
8090
0
    if(strcmp(fn->fname, newf)==0)
8091
0
    {
8092
0
      if(newf!=fbuf)
8093
0
        pkg_free(newf);
8094
0
      newf = fbuf;
8095
0
      break;
8096
0
    }
8097
0
    fn = fn->next;
8098
0
  }
8099
0
  if(fn==0)
8100
0
  {
8101
0
    fn = (struct sr_yy_fname*)pkg_malloc(sizeof(struct sr_yy_fname));
8102
0
    if(fn==0)
8103
0
    {
8104
0
      if(newf!=fbuf)
8105
0
        pkg_free(newf);
8106
0
      PKG_MEM_CRITICAL;
8107
0
      return -1;
8108
0
    }
8109
0
    if(newf==fbuf)
8110
0
    {
8111
0
      fn->fname = (char*)pkg_malloc(strlen(fbuf)+1);
8112
0
      if(fn->fname==0)
8113
0
      {
8114
0
        pkg_free(fn);
8115
0
        PKG_MEM_CRITICAL;
8116
0
        return -1;
8117
0
      }
8118
0
      strcpy(fn->fname, fbuf);
8119
0
    } else {
8120
0
      fn->fname = newf;
8121
0
    }
8122
0
    fn->next = sr_yy_fname_list;
8123
0
    sr_yy_fname_list = fn;
8124
0
  }
8125
8126
0
  finame = fn->fname;
8127
8128
0
  yy_switch_to_buffer( yy_create_buffer(yyin, YY_BUF_SIZE ) );
8129
8130
0
  return 0;
8131
8132
0
}
8133
8134
static int sr_pop_yy_state()
8135
0
{
8136
0
  include_stack_ptr--;
8137
0
  if (include_stack_ptr<0 )
8138
0
    return -1;
8139
8140
0
  yy_delete_buffer( YY_CURRENT_BUFFER );
8141
0
  yy_switch_to_buffer(include_stack[include_stack_ptr].state);
8142
0
  line=include_stack[include_stack_ptr].line;
8143
0
  column=include_stack[include_stack_ptr].column;
8144
0
  startline=include_stack[include_stack_ptr].startline;
8145
0
  startcolumn=include_stack[include_stack_ptr].startcolumn;
8146
0
  finame = include_stack[include_stack_ptr].finame;
8147
0
  return 0;
8148
0
}
8149
8150
/* define/ifdef support */
8151
8152
0
#define MAX_DEFINES    512
8153
static ksr_ppdefine_t pp_defines[MAX_DEFINES];
8154
static int pp_num_defines = 0;
8155
static int pp_define_type = 0;
8156
static int pp_define_index = -1;
8157
8158
/* pp_ifdef_stack[i] is 1 if the ifdef test at depth i is either
8159
 * ifdef(defined), ifndef(undefined), or the opposite of these
8160
 * two, but in an else branch
8161
 */
8162
0
#define MAX_IFDEFS    512
8163
static int pp_ifdef_stack[MAX_IFDEFS];
8164
static int pp_sptr = 0; /* stack pointer */
8165
8166
str* pp_get_define_name(int idx)
8167
0
{
8168
0
  if(idx<0 || idx>=pp_num_defines)
8169
0
    return NULL;
8170
0
  return &pp_defines[idx].name;
8171
0
}
8172
8173
ksr_ppdefine_t* pp_get_define(int idx)
8174
0
{
8175
0
  if(idx<0 || idx>=pp_num_defines)
8176
0
    return NULL;
8177
0
  return &pp_defines[idx];
8178
0
}
8179
8180
int pp_lookup(int len, const char *text)
8181
0
{
8182
0
  str var = {(char *)text, len};
8183
0
  int i;
8184
8185
0
  if(len<=0 || text==NULL) {
8186
0
    LM_ERR("invalid parameters");
8187
0
    return -1;
8188
0
  }
8189
8190
0
  for (i=0; i<pp_num_defines; i++)
8191
0
    if (STR_EQ(pp_defines[i].name, var))
8192
0
      return i;
8193
8194
0
  return -1;
8195
0
}
8196
8197
int pp_define_set_type(int type)
8198
0
{
8199
0
  pp_define_type = type;
8200
0
  return 0;
8201
0
}
8202
8203
int pp_define(int len, const char *text)
8204
0
{
8205
0
  int ppos;
8206
8207
0
  if(len<=0 || text==NULL) {
8208
0
    LM_ERR("invalid parameters");
8209
0
    return -1;
8210
0
  }
8211
8212
0
  LM_DBG("defining id: %.*s\n", len, text);
8213
8214
0
  if (pp_num_defines == MAX_DEFINES) {
8215
0
    LM_CRIT("too many defines -- adjust MAX_DEFINES\n");
8216
0
    return -1;
8217
0
  }
8218
8219
0
  pp_define_index = -1;
8220
0
  ppos = pp_lookup(len, text);
8221
0
  if(ppos >= 0) {
8222
0
    if(pp_define_type==KSR_PPDEF_TRYDEF) {
8223
0
      LM_DBG("ignoring - already defined: %.*s\n", len, text);
8224
0
      pp_define_index = -2;
8225
0
      return 0;
8226
0
    } else if(pp_define_type==KSR_PPDEF_REDEF) {
8227
0
      LM_DBG("redefining: %.*s\n", len, text);
8228
0
      pp_define_index = ppos;
8229
0
      if(pp_defines[ppos].value.s != NULL) {
8230
0
        pkg_free(pp_defines[ppos].value.s);
8231
0
        pp_defines[ppos].value.len = 0;
8232
0
        pp_defines[ppos].value.s = NULL;
8233
0
      }
8234
0
      pp_defines[ppos].dtype = pp_define_type;
8235
0
      return 0;
8236
0
    } else {
8237
0
      LM_CRIT("already defined: %.*s\n", len, text);
8238
0
      return -1;
8239
0
    }
8240
0
  }
8241
8242
0
  pp_defines[pp_num_defines].name.len = len;
8243
0
  pp_defines[pp_num_defines].name.s = (char*)pkg_malloc(len+1);
8244
0
  if(pp_defines[pp_num_defines].name.s==NULL) {
8245
0
    PKG_MEM_CRITICAL;
8246
0
    return -1;
8247
0
  }
8248
0
  memcpy(pp_defines[pp_num_defines].name.s, text, len);
8249
0
  pp_defines[pp_num_defines].name.s[len] = '\0';
8250
0
  pp_defines[pp_num_defines].value.len = 0;
8251
0
  pp_defines[pp_num_defines].value.s = NULL;
8252
0
  pp_defines[pp_num_defines].dtype = pp_define_type;
8253
0
  pp_define_index = pp_num_defines;
8254
0
  pp_num_defines++;
8255
8256
0
  return 0;
8257
0
}
8258
8259
int pp_define_set(int len, char *text, int mode)
8260
0
{
8261
0
  int ppos;
8262
0
  char *sval = NULL;
8263
8264
0
  if(pp_define_index == -2) {
8265
    /* #!trydef that should be ignored */
8266
0
    return 0;
8267
0
  }
8268
8269
0
  if(pp_define_index < 0) {
8270
    /* invalid position in define table */
8271
0
    LM_BUG("BUG: the index in define table not set yet\n");
8272
0
    return -1;
8273
0
  }
8274
0
  if(len<=0 || text==NULL) {
8275
0
    LM_DBG("no define value - ignoring\n");
8276
0
    return 0;
8277
0
  }
8278
0
  if (pp_num_defines == MAX_DEFINES) {
8279
0
    LM_CRIT("too many defines -- adjust MAX_DEFINES\n");
8280
0
    return -1;
8281
0
  }
8282
0
  if (pp_num_defines == 0) {
8283
0
    LM_BUG("BUG: setting define value, but no define id yet\n");
8284
0
    return -1;
8285
0
  }
8286
8287
0
  ppos = pp_define_index;
8288
0
  if (pp_defines[ppos].name.s == NULL) {
8289
0
    LM_BUG("BUG: last define ID is null\n");
8290
0
    return -1;
8291
0
  }
8292
8293
0
  if (pp_defines[ppos].value.s != NULL) {
8294
0
    LM_BUG("BUG: ID %.*s [%d] overwritten\n",
8295
0
      pp_defines[ppos].name.len,
8296
0
      pp_defines[ppos].name.s, ppos);
8297
0
    return -1;
8298
0
  }
8299
8300
0
  if(pp_defines[ppos].dtype == KSR_PPDEF_DEFEXP
8301
0
      || pp_defines[ppos].dtype == KSR_PPDEF_DEFEXPS) {
8302
0
    if(pp_defines[ppos].dtype == KSR_PPDEF_DEFEXP) {
8303
0
      sval = pp_defexp_eval(text, len, 0);
8304
0
    } else {
8305
0
      sval = pp_defexp_eval(text, len, 1);
8306
0
    }
8307
0
    if(sval==NULL) {
8308
0
      LM_NOTICE("no value returned to set the defexp [%.*s]\n",
8309
0
        pp_defines[ppos].name.len, pp_defines[ppos].name.s);
8310
0
      return 0;
8311
0
    }
8312
0
    pp_defines[ppos].value.s = sval;
8313
0
    pp_defines[ppos].value.len = strlen(sval);
8314
0
  } else {
8315
0
    pp_defines[ppos].value.s = (char*)pkg_malloc(len+1);
8316
0
    if (pp_defines[ppos].value.s == NULL) {
8317
0
      LM_ERR("no more memory to define %.*s [%d]\n",
8318
0
        pp_defines[ppos].name.len,
8319
0
        pp_defines[ppos].name.s, ppos);
8320
0
      return -1;
8321
0
    }
8322
8323
0
    memcpy(pp_defines[ppos].value.s, text, len);
8324
0
    pp_defines[ppos].value.s[len] = '\0';
8325
0
    pp_defines[ppos].value.len = len;
8326
0
  }
8327
0
  LM_DBG("### setting define ID [%.*s] value [%.*s] (mode: %d)\n",
8328
0
      pp_defines[ppos].name.len,
8329
0
      pp_defines[ppos].name.s,
8330
0
      pp_defines[ppos].value.len,
8331
0
      pp_defines[ppos].value.s,
8332
0
      mode);
8333
0
  return 0;
8334
0
}
8335
8336
int pp_define_env(const char *text, int len, int qmode, int vmode)
8337
0
{
8338
0
  char *r;
8339
0
  str defname;
8340
0
  str defvalue;
8341
0
  str newval;
8342
8343
0
  r = strchr(text, '=');
8344
8345
0
  defname.s = (char*)text;
8346
0
  if(r == NULL) {
8347
0
    defname.len = len;
8348
0
    r = (char*)text;
8349
0
  } else {
8350
0
    defname.len = r - text;
8351
0
    r++;
8352
0
    if(strlen(r) == 0) {
8353
0
      LM_ERR("invalid defenv id [%s]\n", (char*)text);
8354
0
      return -1;
8355
0
    }
8356
0
  }
8357
0
  defvalue.s = getenv(r);
8358
8359
0
  if(defvalue.s == NULL) {
8360
0
        if(vmode == KSR_PPDEF_VALTRY) {
8361
0
            return 0;
8362
0
        }
8363
0
    LM_ERR("env variable not defined [%s]\n", (char*)text);
8364
0
    return -1;
8365
0
  }
8366
0
  defvalue.len = strlen(defvalue.s);
8367
8368
0
  pp_define_set_type(KSR_PPDEF_DEFINE);
8369
0
  if(pp_define(defname.len, defname.s)<0) {
8370
0
    LM_ERR("cannot set define name [%s]\n", (char*)text);
8371
0
    return -1;
8372
0
  }
8373
0
  if(qmode==KSR_PPDEF_QUOTED) {
8374
0
    if(pp_def_qvalue(&defvalue, &newval) < 0) {
8375
0
      LM_ERR("failed to enclose in quotes the value\n");
8376
0
      return -1;
8377
0
    }
8378
0
    defvalue = newval;
8379
0
  }
8380
0
  if(pp_define_set(defvalue.len, defvalue.s, qmode)<0) {
8381
0
    LM_ERR("cannot set define value [%s]\n", (char*)text);
8382
0
    return -1;
8383
0
  }
8384
8385
0
  return 0;
8386
0
}
8387
8388
str *pp_define_get(int len, const char *text)
8389
0
{
8390
0
  str var = {(char *)text, len};
8391
0
  int i;
8392
8393
0
  for (i=0; i<pp_num_defines; i++)
8394
0
  {
8395
0
    if (STR_EQ(pp_defines[i].name, var))
8396
0
    {
8397
0
      if(pp_defines[i].name.s!=NULL)
8398
0
      {
8399
0
        LM_DBG("### returning define ID [%.*s] value [%.*s]\n",
8400
0
          pp_defines[i].name.len,
8401
0
          pp_defines[i].name.s,
8402
0
          pp_defines[i].value.len,
8403
0
          pp_defines[i].value.s);
8404
0
        return &pp_defines[i].value;
8405
0
      }
8406
0
      return NULL;
8407
0
    }
8408
0
  }
8409
0
  return NULL;
8410
0
}
8411
8412
static int pp_ifdef_type(int type)
8413
0
{
8414
0
  if (pp_sptr == MAX_IFDEFS) {
8415
0
    LM_CRIT("too many nested ifdefs -- adjust MAX_IFDEFS\n");
8416
0
    return -1;
8417
0
  }
8418
8419
0
  pp_ifdef_stack[pp_sptr] = type;
8420
0
  pp_ifdef_level_update(1);
8421
0
  return 0;
8422
0
}
8423
8424
/* this sets the result of the if[n]def expr:
8425
 * ifdef  defined   -> 1
8426
 * ifdef  undefined -> 0
8427
 * ifndef defined   -> 0
8428
 * ifndef undefined -> 1
8429
 */
8430
static void pp_ifdef_var(int len, const char *text)
8431
0
{
8432
0
  pp_ifdef_stack[pp_sptr] ^= (pp_lookup(len, text) < 0);
8433
0
}
8434
8435
void pp_ifexp_state(int state)
8436
0
{
8437
0
  pp_ifdef_stack[pp_sptr] = state;
8438
0
}
8439
8440
static void pp_update_state()
8441
0
{
8442
0
  int i;
8443
8444
0
  for (i=0; i<pp_sptr; i++)
8445
0
    if (! pp_ifdef_stack[i]) {
8446
0
      state = IFDEF_SKIP_S; BEGIN(IFDEF_SKIP);
8447
0
      return;
8448
0
    }
8449
8450
0
  state = INITIAL;
8451
0
  ksr_cfg_print_initial_state();
8452
0
}
8453
8454
static void pp_ifdef()
8455
0
{
8456
0
  pp_sptr++;
8457
0
  pp_update_state();
8458
0
}
8459
8460
static void pp_else()
8461
0
{
8462
0
  if(pp_sptr==0) {
8463
0
    LM_WARN("invalid position for preprocessor directive 'else'"
8464
0
        " - at %s line %d\n", (finame)?finame:"cfg", line);
8465
0
    return;
8466
0
  }
8467
0
  pp_ifdef_stack[pp_sptr-1] ^= 1;
8468
0
  pp_update_state();
8469
0
}
8470
8471
static void pp_endif()
8472
0
{
8473
0
  pp_ifdef_level_update(-1);
8474
0
  if(pp_sptr==0) {
8475
0
    LM_WARN("invalid position for preprocessor directive 'endif'"
8476
0
        " - at %s line %d\n", (finame)?finame:"cfg", line);
8477
0
    return;
8478
0
  }
8479
0
  pp_sptr--;
8480
0
  pp_update_state();
8481
0
}
8482
8483
static void ksr_yy_fatal_error(const char* msg)
8484
0
{
8485
0
  if(ksr_atexit_mode==1) {
8486
0
    yy_fatal_error(msg);
8487
0
  }
8488
8489
0
  fprintf( stderr, "%s\n", msg );
8490
0
  _exit( YY_EXIT_FAILURE );
8491
0
}
8492