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