1 #include "config.h" 2 #include "util/configyyrename.h" 3 4 #line 2 "<stdout>" 5 6 #define YY_INT_ALIGNED short int 7 8 /* A lexical scanner generated by flex */ 9 10 #define FLEX_SCANNER 11 #define YY_FLEX_MAJOR_VERSION 2 12 #define YY_FLEX_MINOR_VERSION 6 13 #define YY_FLEX_SUBMINOR_VERSION 4 14 #if YY_FLEX_SUBMINOR_VERSION > 0 15 #define FLEX_BETA 16 #endif 17 18 /* First, we deal with platform-specific or compiler-specific issues. */ 19 20 /* begin standard C headers. */ 21 #include <stdio.h> 22 #include <string.h> 23 #include <errno.h> 24 #include <stdlib.h> 25 26 /* end standard C headers. */ 27 28 /* flex integer type definitions */ 29 30 #ifndef FLEXINT_H 31 #define FLEXINT_H 32 33 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 34 35 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 36 37 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 38 * if you want the limit (max/min) macros for int types. 39 */ 40 #ifndef __STDC_LIMIT_MACROS 41 #define __STDC_LIMIT_MACROS 1 42 #endif 43 44 #include <inttypes.h> 45 typedef int8_t flex_int8_t; 46 typedef uint8_t flex_uint8_t; 47 typedef int16_t flex_int16_t; 48 typedef uint16_t flex_uint16_t; 49 typedef int32_t flex_int32_t; 50 typedef uint32_t flex_uint32_t; 51 #else 52 typedef signed char flex_int8_t; 53 typedef short int flex_int16_t; 54 typedef int flex_int32_t; 55 typedef unsigned char flex_uint8_t; 56 typedef unsigned short int flex_uint16_t; 57 typedef unsigned int flex_uint32_t; 58 59 /* Limits of integral types. */ 60 #ifndef INT8_MIN 61 #define INT8_MIN (-128) 62 #endif 63 #ifndef INT16_MIN 64 #define INT16_MIN (-32767-1) 65 #endif 66 #ifndef INT32_MIN 67 #define INT32_MIN (-2147483647-1) 68 #endif 69 #ifndef INT8_MAX 70 #define INT8_MAX (127) 71 #endif 72 #ifndef INT16_MAX 73 #define INT16_MAX (32767) 74 #endif 75 #ifndef INT32_MAX 76 #define INT32_MAX (2147483647) 77 #endif 78 #ifndef UINT8_MAX 79 #define UINT8_MAX (255U) 80 #endif 81 #ifndef UINT16_MAX 82 #define UINT16_MAX (65535U) 83 #endif 84 #ifndef UINT32_MAX 85 #define UINT32_MAX (4294967295U) 86 #endif 87 88 #ifndef SIZE_MAX 89 #define SIZE_MAX (~(size_t)0) 90 #endif 91 92 #endif /* ! C99 */ 93 94 #endif /* ! FLEXINT_H */ 95 96 /* begin standard C++ headers. */ 97 98 /* TODO: this is always defined, so inline it */ 99 #define yyconst const 100 101 #if defined(__GNUC__) && __GNUC__ >= 3 102 #define yynoreturn __attribute__((__noreturn__)) 103 #else 104 #define yynoreturn 105 #endif 106 107 /* Returned upon end-of-file. */ 108 #define YY_NULL 0 109 110 /* Promotes a possibly negative, possibly signed char to an 111 * integer in range [0..255] for use as an array index. 112 */ 113 #define YY_SC_TO_UI(c) ((YY_CHAR) (c)) 114 115 /* Enter a start condition. This macro really ought to take a parameter, 116 * but we do it the disgusting crufty way forced on us by the ()-less 117 * definition of BEGIN. 118 */ 119 #define BEGIN (yy_start) = 1 + 2 * 120 /* Translate the current start state into a value that can be later handed 121 * to BEGIN to return to the state. The YYSTATE alias is for lex 122 * compatibility. 123 */ 124 #define YY_START (((yy_start) - 1) / 2) 125 #define YYSTATE YY_START 126 /* Action number for EOF rule of a given start state. */ 127 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 128 /* Special action meaning "start processing a new file". */ 129 #define YY_NEW_FILE yyrestart( yyin ) 130 #define YY_END_OF_BUFFER_CHAR 0 131 132 /* Size of default input buffer. */ 133 #ifndef YY_BUF_SIZE 134 #ifdef __ia64__ 135 /* On IA-64, the buffer size is 16k, not 8k. 136 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 137 * Ditto for the __ia64__ case accordingly. 138 */ 139 #define YY_BUF_SIZE 32768 140 #else 141 #define YY_BUF_SIZE 16384 142 #endif /* __ia64__ */ 143 #endif 144 145 /* The state buf must be large enough to hold one state per character in the main buffer. 146 */ 147 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 148 149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 150 #define YY_TYPEDEF_YY_BUFFER_STATE 151 typedef struct yy_buffer_state *YY_BUFFER_STATE; 152 #endif 153 154 #ifndef YY_TYPEDEF_YY_SIZE_T 155 #define YY_TYPEDEF_YY_SIZE_T 156 typedef size_t yy_size_t; 157 #endif 158 159 extern int yyleng; 160 161 extern FILE *yyin, *yyout; 162 163 #define EOB_ACT_CONTINUE_SCAN 0 164 #define EOB_ACT_END_OF_FILE 1 165 #define EOB_ACT_LAST_MATCH 2 166 167 #define YY_LESS_LINENO(n) 168 #define YY_LINENO_REWIND_TO(ptr) 169 170 /* Return all but the first "n" matched characters back to the input stream. */ 171 #define yyless(n) \ 172 do \ 173 { \ 174 /* Undo effects of setting up yytext. */ \ 175 int yyless_macro_arg = (n); \ 176 YY_LESS_LINENO(yyless_macro_arg);\ 177 *yy_cp = (yy_hold_char); \ 178 YY_RESTORE_YY_MORE_OFFSET \ 179 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 180 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 181 } \ 182 while ( 0 ) 183 #define unput(c) yyunput( c, (yytext_ptr) ) 184 185 #ifndef YY_STRUCT_YY_BUFFER_STATE 186 #define YY_STRUCT_YY_BUFFER_STATE 187 struct yy_buffer_state 188 { 189 FILE *yy_input_file; 190 191 char *yy_ch_buf; /* input buffer */ 192 char *yy_buf_pos; /* current position in input buffer */ 193 194 /* Size of input buffer in bytes, not including room for EOB 195 * characters. 196 */ 197 int yy_buf_size; 198 199 /* Number of characters read into yy_ch_buf, not including EOB 200 * characters. 201 */ 202 int yy_n_chars; 203 204 /* Whether we "own" the buffer - i.e., we know we created it, 205 * and can realloc() it to grow it, and should free() it to 206 * delete it. 207 */ 208 int yy_is_our_buffer; 209 210 /* Whether this is an "interactive" input source; if so, and 211 * if we're using stdio for input, then we want to use getc() 212 * instead of fread(), to make sure we stop fetching input after 213 * each newline. 214 */ 215 int yy_is_interactive; 216 217 /* Whether we're considered to be at the beginning of a line. 218 * If so, '^' rules will be active on the next match, otherwise 219 * not. 220 */ 221 int yy_at_bol; 222 223 int yy_bs_lineno; /**< The line count. */ 224 int yy_bs_column; /**< The column count. */ 225 226 /* Whether to try to fill the input buffer when we reach the 227 * end of it. 228 */ 229 int yy_fill_buffer; 230 231 int yy_buffer_status; 232 233 #define YY_BUFFER_NEW 0 234 #define YY_BUFFER_NORMAL 1 235 /* When an EOF's been seen but there's still some text to process 236 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 237 * shouldn't try reading from the input source any more. We might 238 * still have a bunch of tokens to match, though, because of 239 * possible backing-up. 240 * 241 * When we actually see the EOF, we change the status to "new" 242 * (via yyrestart()), so that the user can continue scanning by 243 * just pointing yyin at a new input file. 244 */ 245 #define YY_BUFFER_EOF_PENDING 2 246 247 }; 248 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 249 250 /* Stack of input buffers. */ 251 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 252 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 253 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ 254 255 /* We provide macros for accessing buffer states in case in the 256 * future we want to put the buffer states in a more general 257 * "scanner state". 258 * 259 * Returns the top of the stack, or NULL. 260 */ 261 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 262 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 263 : NULL) 264 /* Same as previous macro, but useful when we know that the buffer stack is not 265 * NULL or when we need an lvalue. For internal use only. 266 */ 267 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 268 269 /* yy_hold_char holds the character lost when yytext is formed. */ 270 static char yy_hold_char; 271 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 272 int yyleng; 273 274 /* Points to current character in buffer. */ 275 static char *yy_c_buf_p = NULL; 276 static int yy_init = 0; /* whether we need to initialize */ 277 static int yy_start = 0; /* start state number */ 278 279 /* Flag which is used to allow yywrap()'s to do buffer switches 280 * instead of setting up a fresh yyin. A bit of a hack ... 281 */ 282 static int yy_did_buffer_switch_on_eof; 283 284 void yyrestart ( FILE *input_file ); 285 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); 286 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); 287 void yy_delete_buffer ( YY_BUFFER_STATE b ); 288 void yy_flush_buffer ( YY_BUFFER_STATE b ); 289 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); 290 void yypop_buffer_state ( void ); 291 292 static void yyensure_buffer_stack ( void ); 293 static void yy_load_buffer_state ( void ); 294 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); 295 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) 296 297 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); 298 YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); 299 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); 300 301 void *yyalloc ( yy_size_t ); 302 void *yyrealloc ( void *, yy_size_t ); 303 void yyfree ( void * ); 304 305 #define yy_new_buffer yy_create_buffer 306 #define yy_set_interactive(is_interactive) \ 307 { \ 308 if ( ! YY_CURRENT_BUFFER ){ \ 309 yyensure_buffer_stack (); \ 310 YY_CURRENT_BUFFER_LVALUE = \ 311 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 312 } \ 313 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 314 } 315 #define yy_set_bol(at_bol) \ 316 { \ 317 if ( ! YY_CURRENT_BUFFER ){\ 318 yyensure_buffer_stack (); \ 319 YY_CURRENT_BUFFER_LVALUE = \ 320 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 321 } \ 322 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 323 } 324 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 325 326 /* Begin user sect3 */ 327 typedef flex_uint8_t YY_CHAR; 328 329 FILE *yyin = NULL, *yyout = NULL; 330 331 typedef int yy_state_type; 332 333 extern int yylineno; 334 int yylineno = 1; 335 336 extern char *yytext; 337 #ifdef yytext_ptr 338 #undef yytext_ptr 339 #endif 340 #define yytext_ptr yytext 341 342 static yy_state_type yy_get_previous_state ( void ); 343 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); 344 static int yy_get_next_buffer ( void ); 345 static void yynoreturn yy_fatal_error ( const char* msg ); 346 347 /* Done after the current pattern has been matched and before the 348 * corresponding action - sets up yytext. 349 */ 350 #define YY_DO_BEFORE_ACTION \ 351 (yytext_ptr) = yy_bp; \ 352 (yytext_ptr) -= (yy_more_len); \ 353 yyleng = (int) (yy_cp - (yytext_ptr)); \ 354 (yy_hold_char) = *yy_cp; \ 355 *yy_cp = '\0'; \ 356 (yy_c_buf_p) = yy_cp; 357 #define YY_NUM_RULES 392 358 #define YY_END_OF_BUFFER 393 359 /* This struct is not used in this scanner, 360 but its presence is necessary. */ 361 struct yy_trans_info 362 { 363 flex_int32_t yy_verify; 364 flex_int32_t yy_nxt; 365 }; 366 static const flex_int16_t yy_accept[3905] = 367 { 0, 368 1, 1, 366, 366, 370, 370, 374, 374, 378, 378, 369 1, 1, 382, 382, 386, 386, 393, 390, 1, 364, 370 364, 391, 2, 390, 390, 390, 390, 390, 390, 390, 371 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 372 390, 390, 390, 390, 390, 390, 391, 366, 367, 367, 373 368, 391, 370, 371, 371, 372, 391, 377, 374, 375, 374 375, 376, 391, 378, 379, 379, 380, 391, 389, 365, 375 2, 369, 389, 391, 385, 382, 383, 383, 384, 391, 376 386, 387, 387, 388, 391, 390, 0, 1, 2, 2, 377 2, 2, 390, 390, 390, 390, 390, 390, 390, 390, 378 379 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 380 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 381 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 382 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 383 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 384 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 385 390, 390, 366, 0, 370, 0, 377, 0, 374, 378, 386 0, 389, 0, 2, 2, 389, 385, 0, 382, 386, 387 0, 390, 390, 390, 390, 390, 390, 390, 390, 390, 388 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 389 390 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 391 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 392 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 393 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 394 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 395 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 396 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 397 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 398 390, 389, 390, 390, 390, 390, 390, 390, 390, 390, 399 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 400 401 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 402 390, 390, 390, 390, 390, 390, 362, 390, 390, 390, 403 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 404 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 405 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 406 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 407 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 408 390, 390, 390, 390, 390, 390, 137, 390, 390, 390, 409 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 410 390, 390, 390, 390, 390, 390, 390, 390, 147, 390, 411 412 390, 390, 390, 390, 390, 390, 390, 389, 390, 390, 413 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 414 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 415 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 416 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 417 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 418 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 419 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 420 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 421 390, 390, 390, 390, 390, 119, 390, 390, 361, 390, 422 423 390, 390, 390, 390, 390, 390, 390, 8, 390, 390, 424 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 425 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 426 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 427 138, 390, 390, 390, 390, 390, 390, 390, 390, 390, 428 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 429 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 430 390, 390, 390, 390, 152, 390, 390, 390, 389, 390, 431 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 432 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 433 434 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 435 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 436 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 437 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 438 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 439 390, 390, 390, 352, 390, 390, 390, 390, 390, 390, 440 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 441 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 442 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 443 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 444 445 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 446 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 447 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 448 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 449 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 450 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 451 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 452 390, 390, 390, 389, 390, 390, 390, 390, 390, 390, 453 390, 390, 390, 390, 390, 390, 390, 71, 390, 390, 454 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 455 456 390, 390, 390, 390, 273, 390, 14, 15, 390, 390, 457 20, 19, 390, 390, 247, 390, 390, 390, 390, 390, 458 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 459 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 460 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 461 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 462 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 463 145, 390, 390, 390, 390, 390, 390, 390, 390, 390, 464 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 465 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 466 467 245, 390, 390, 390, 390, 390, 390, 390, 390, 390, 468 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 469 390, 390, 3, 390, 390, 390, 390, 390, 390, 390, 470 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 471 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 472 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 473 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 474 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 475 390, 390, 390, 390, 390, 389, 390, 390, 390, 390, 476 390, 390, 390, 390, 341, 390, 390, 390, 340, 390, 477 478 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 479 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 480 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 481 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 482 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 483 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 484 390, 390, 390, 373, 390, 390, 390, 390, 390, 390, 485 390, 390, 70, 390, 390, 390, 390, 390, 390, 390, 486 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 487 74, 390, 310, 390, 390, 390, 390, 390, 390, 390, 488 489 390, 390, 390, 390, 353, 354, 390, 390, 390, 390, 490 390, 390, 390, 390, 390, 75, 390, 390, 146, 390, 491 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 492 390, 390, 390, 390, 390, 141, 390, 390, 390, 390, 493 390, 390, 390, 390, 390, 390, 234, 390, 390, 390, 494 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 495 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 496 22, 390, 390, 390, 390, 390, 390, 390, 390, 390, 497 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 498 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 499 500 390, 390, 390, 173, 390, 390, 390, 390, 390, 390, 501 389, 373, 390, 390, 390, 390, 390, 390, 390, 390, 502 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 503 390, 390, 390, 390, 390, 390, 390, 117, 390, 390, 504 390, 390, 390, 390, 390, 390, 390, 318, 390, 390, 505 390, 390, 390, 390, 390, 390, 390, 390, 16, 390, 506 390, 390, 390, 390, 390, 390, 390, 201, 390, 390, 507 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 508 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 509 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 510 511 172, 390, 390, 390, 390, 390, 390, 390, 390, 390, 512 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 513 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 514 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 515 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 516 390, 116, 390, 390, 390, 390, 390, 390, 390, 390, 517 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 518 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 519 390, 390, 390, 390, 37, 390, 390, 390, 390, 390, 520 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 521 522 390, 390, 390, 390, 390, 390, 390, 38, 390, 390, 523 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 524 390, 390, 390, 390, 72, 390, 390, 390, 390, 390, 525 390, 390, 390, 390, 390, 390, 144, 390, 390, 390, 526 389, 390, 390, 390, 390, 390, 390, 136, 390, 390, 527 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 528 390, 390, 390, 390, 390, 390, 73, 390, 390, 390, 529 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 530 390, 277, 390, 390, 390, 390, 390, 390, 390, 390, 531 390, 390, 390, 390, 390, 390, 202, 390, 390, 390, 532 533 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 534 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 535 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 536 390, 390, 390, 390, 390, 390, 390, 390, 60, 390, 537 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 538 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 539 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 540 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 541 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 542 390, 390, 390, 390, 390, 390, 390, 390, 296, 390, 543 544 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 545 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 546 65, 390, 66, 390, 390, 390, 390, 390, 390, 120, 547 390, 121, 390, 390, 390, 390, 390, 118, 390, 390, 548 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 549 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 550 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 551 390, 7, 390, 390, 390, 390, 390, 389, 390, 390, 552 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 553 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 554 555 390, 262, 390, 390, 390, 390, 390, 390, 176, 390, 556 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 557 390, 390, 390, 390, 390, 278, 390, 390, 390, 390, 558 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 559 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 560 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 561 390, 390, 390, 390, 390, 390, 390, 51, 390, 390, 562 390, 390, 390, 390, 390, 390, 390, 390, 390, 61, 563 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 564 390, 390, 390, 390, 225, 390, 224, 390, 390, 390, 565 566 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 567 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 568 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 569 390, 17, 18, 390, 390, 390, 390, 390, 390, 390, 570 390, 390, 390, 390, 390, 390, 390, 390, 76, 390, 571 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 572 390, 390, 233, 390, 390, 390, 390, 390, 390, 390, 573 123, 390, 122, 390, 390, 390, 390, 390, 390, 390, 574 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 575 390, 390, 390, 390, 390, 390, 390, 390, 390, 215, 576 577 390, 390, 390, 390, 390, 390, 390, 390, 390, 153, 578 390, 253, 390, 390, 390, 389, 390, 390, 390, 390, 579 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 580 111, 390, 390, 390, 390, 390, 390, 390, 390, 390, 581 390, 98, 390, 390, 390, 390, 390, 390, 390, 390, 582 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 583 390, 390, 390, 390, 390, 390, 390, 390, 390, 246, 584 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 585 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 586 103, 390, 390, 390, 390, 390, 390, 390, 390, 390, 587 588 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 589 390, 390, 390, 390, 390, 390, 390, 390, 69, 390, 590 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 591 390, 390, 390, 390, 390, 390, 390, 390, 218, 219, 592 390, 390, 390, 312, 390, 390, 390, 390, 390, 390, 593 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 594 6, 390, 390, 390, 390, 390, 390, 390, 331, 390, 595 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 596 390, 390, 390, 390, 390, 390, 390, 390, 390, 316, 597 390, 390, 390, 390, 390, 390, 390, 342, 390, 390, 598 599 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 600 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 601 390, 390, 390, 48, 390, 390, 390, 390, 390, 50, 602 390, 390, 390, 99, 390, 390, 390, 390, 390, 58, 603 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 604 390, 390, 390, 389, 390, 211, 390, 390, 390, 148, 605 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 606 390, 390, 390, 390, 238, 390, 390, 212, 390, 390, 607 390, 390, 390, 258, 390, 390, 390, 390, 390, 390, 608 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 609 610 390, 390, 390, 390, 59, 390, 390, 390, 390, 390, 611 390, 390, 390, 390, 390, 390, 150, 129, 390, 130, 612 390, 390, 390, 390, 128, 390, 390, 390, 390, 390, 613 390, 390, 390, 390, 390, 169, 390, 390, 56, 390, 614 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 615 390, 390, 390, 390, 390, 390, 390, 390, 390, 294, 616 390, 390, 390, 390, 390, 390, 390, 390, 390, 213, 617 390, 390, 390, 390, 390, 223, 216, 390, 222, 390, 618 390, 390, 390, 390, 390, 390, 390, 257, 390, 390, 619 390, 390, 390, 390, 261, 390, 390, 390, 390, 390, 620 621 390, 390, 390, 390, 390, 390, 115, 390, 390, 390, 622 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 623 390, 390, 390, 390, 390, 390, 390, 390, 142, 390, 624 390, 390, 390, 390, 390, 390, 390, 67, 390, 390, 625 390, 390, 31, 390, 390, 390, 390, 390, 390, 390, 626 390, 390, 390, 390, 390, 21, 390, 390, 390, 390, 627 390, 390, 390, 32, 41, 390, 181, 390, 390, 390, 628 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 629 390, 390, 390, 209, 390, 390, 389, 390, 390, 390, 630 390, 357, 390, 390, 84, 390, 87, 390, 390, 390, 631 632 390, 390, 390, 390, 390, 390, 358, 390, 390, 390, 633 390, 390, 390, 390, 390, 320, 390, 390, 390, 390, 634 274, 390, 390, 390, 390, 390, 390, 390, 390, 390, 635 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 636 390, 390, 390, 390, 131, 390, 390, 390, 390, 390, 637 390, 390, 390, 390, 390, 390, 390, 168, 390, 52, 638 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 639 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 640 268, 390, 390, 390, 390, 390, 390, 390, 390, 335, 641 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 642 643 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 644 390, 175, 390, 390, 390, 390, 390, 390, 390, 390, 645 390, 390, 390, 390, 390, 329, 390, 390, 390, 390, 646 244, 390, 390, 390, 390, 390, 390, 390, 390, 390, 647 390, 390, 349, 390, 390, 390, 390, 390, 390, 390, 648 390, 390, 390, 390, 390, 194, 390, 390, 390, 390, 649 390, 390, 390, 390, 390, 390, 390, 124, 390, 390, 650 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 651 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 652 390, 188, 390, 203, 390, 390, 390, 390, 390, 390, 653 654 390, 390, 390, 389, 390, 156, 390, 390, 390, 390, 655 390, 390, 390, 390, 110, 390, 390, 390, 390, 236, 656 390, 390, 390, 390, 390, 390, 390, 390, 259, 390, 657 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 658 390, 390, 390, 390, 390, 286, 390, 390, 390, 390, 659 390, 390, 390, 390, 390, 390, 390, 149, 390, 390, 660 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 661 390, 390, 390, 390, 390, 390, 192, 390, 390, 390, 662 390, 390, 390, 390, 88, 390, 89, 390, 390, 390, 663 390, 390, 271, 390, 390, 390, 390, 390, 68, 338, 664 665 390, 390, 390, 390, 390, 97, 204, 390, 226, 390, 666 263, 390, 390, 217, 313, 390, 390, 390, 390, 308, 667 390, 390, 390, 80, 390, 206, 390, 390, 390, 390, 668 390, 390, 9, 390, 390, 390, 390, 390, 114, 390, 669 390, 390, 390, 390, 390, 300, 390, 390, 390, 390, 670 390, 390, 235, 390, 390, 390, 390, 390, 390, 390, 671 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 672 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 673 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 674 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 675 676 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 677 390, 389, 390, 390, 390, 390, 191, 390, 390, 390, 678 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 679 193, 252, 177, 390, 319, 390, 390, 390, 390, 390, 680 285, 390, 390, 390, 390, 390, 390, 390, 390, 390, 681 390, 390, 248, 390, 390, 390, 390, 390, 390, 311, 682 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 683 390, 390, 390, 390, 390, 390, 390, 390, 174, 390, 684 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 685 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 686 687 339, 390, 205, 390, 390, 390, 390, 390, 390, 390, 688 390, 390, 79, 81, 390, 390, 390, 390, 390, 390, 689 390, 390, 390, 390, 113, 390, 390, 390, 390, 390, 690 390, 298, 390, 390, 390, 390, 390, 390, 390, 315, 691 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 692 390, 390, 390, 240, 390, 39, 33, 35, 390, 390, 693 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 694 390, 40, 390, 34, 36, 390, 42, 390, 390, 390, 695 390, 390, 390, 390, 109, 390, 187, 390, 390, 390, 696 390, 390, 390, 390, 390, 390, 389, 390, 390, 390, 697 698 390, 390, 390, 390, 390, 343, 390, 390, 390, 390, 699 390, 242, 239, 390, 390, 390, 390, 390, 390, 390, 700 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 701 390, 390, 78, 390, 390, 390, 151, 390, 132, 390, 702 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 703 170, 53, 390, 390, 390, 381, 13, 390, 390, 390, 704 390, 390, 390, 390, 157, 390, 390, 390, 390, 390, 705 390, 390, 390, 333, 390, 336, 390, 390, 390, 390, 706 390, 390, 390, 390, 390, 390, 390, 390, 390, 12, 707 390, 390, 23, 390, 390, 390, 390, 390, 390, 390, 708 709 304, 390, 390, 351, 390, 390, 390, 390, 317, 390, 710 390, 390, 390, 82, 390, 250, 390, 390, 390, 390, 711 390, 241, 390, 390, 390, 390, 77, 390, 390, 390, 712 390, 390, 390, 24, 390, 390, 49, 390, 390, 390, 713 390, 390, 390, 390, 390, 390, 390, 390, 390, 186, 714 185, 390, 390, 390, 390, 381, 390, 390, 390, 390, 715 390, 390, 390, 390, 390, 390, 390, 243, 237, 390, 716 260, 390, 390, 321, 390, 390, 390, 390, 390, 390, 717 390, 390, 390, 390, 390, 390, 390, 390, 199, 390, 718 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 719 720 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 721 390, 90, 390, 390, 390, 390, 390, 390, 390, 390, 722 299, 390, 390, 390, 390, 221, 390, 390, 390, 390, 723 390, 390, 249, 390, 390, 390, 390, 390, 390, 390, 724 390, 390, 390, 306, 390, 390, 390, 345, 390, 347, 725 346, 183, 390, 390, 390, 83, 390, 390, 390, 390, 726 195, 390, 390, 390, 390, 390, 125, 127, 126, 390, 727 390, 390, 26, 390, 390, 178, 390, 180, 390, 227, 728 390, 390, 390, 390, 184, 390, 390, 254, 390, 390, 729 390, 390, 264, 390, 390, 390, 390, 390, 390, 390, 730 731 390, 390, 159, 390, 390, 390, 390, 390, 390, 390, 732 390, 390, 390, 390, 390, 276, 390, 390, 390, 390, 733 390, 390, 390, 359, 390, 28, 390, 314, 390, 390, 734 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 735 390, 390, 390, 390, 390, 390, 95, 228, 390, 390, 736 270, 390, 390, 390, 297, 390, 337, 390, 220, 390, 737 390, 309, 390, 390, 390, 307, 62, 390, 390, 390, 738 390, 390, 390, 390, 4, 390, 390, 390, 390, 390, 739 140, 390, 158, 390, 390, 390, 200, 30, 390, 390, 740 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 741 742 390, 390, 390, 390, 390, 390, 390, 390, 390, 267, 743 43, 44, 390, 390, 390, 390, 390, 390, 390, 390, 744 390, 322, 390, 390, 390, 390, 390, 390, 390, 284, 745 390, 390, 390, 390, 390, 390, 390, 390, 231, 390, 746 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 747 390, 390, 390, 390, 94, 93, 390, 390, 63, 390, 748 390, 295, 303, 390, 272, 390, 390, 390, 390, 390, 749 11, 390, 390, 390, 390, 363, 390, 390, 390, 390, 750 390, 139, 390, 390, 390, 390, 390, 390, 229, 100, 751 390, 390, 46, 390, 390, 390, 390, 390, 390, 390, 752 753 390, 190, 390, 255, 390, 390, 390, 390, 390, 390, 754 390, 390, 390, 161, 390, 390, 390, 390, 275, 390, 755 390, 390, 390, 390, 283, 390, 390, 390, 390, 154, 756 390, 390, 390, 133, 135, 134, 390, 390, 390, 102, 757 106, 101, 390, 171, 390, 390, 390, 390, 91, 390, 758 269, 305, 390, 390, 390, 390, 390, 390, 10, 390, 759 390, 390, 390, 390, 301, 350, 390, 390, 390, 390, 760 390, 390, 390, 390, 356, 45, 390, 390, 390, 390, 761 390, 189, 390, 390, 390, 390, 390, 390, 390, 390, 762 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 763 764 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 765 107, 105, 390, 390, 57, 390, 390, 92, 390, 334, 766 390, 390, 390, 390, 25, 390, 390, 390, 390, 390, 767 214, 390, 390, 348, 390, 390, 390, 390, 230, 390, 768 390, 390, 390, 390, 390, 390, 390, 390, 390, 210, 769 390, 390, 179, 85, 86, 390, 390, 390, 390, 390, 770 390, 323, 390, 390, 390, 390, 390, 390, 390, 280, 771 390, 390, 279, 155, 390, 390, 104, 390, 54, 390, 772 390, 162, 163, 166, 167, 164, 165, 96, 332, 390, 773 390, 302, 143, 390, 390, 390, 390, 27, 390, 182, 774 775 390, 390, 390, 390, 390, 208, 390, 266, 390, 390, 776 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 777 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 778 390, 197, 196, 232, 47, 390, 390, 390, 390, 390, 779 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 780 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 781 390, 330, 390, 390, 390, 390, 112, 390, 390, 265, 782 390, 390, 293, 327, 390, 390, 390, 390, 390, 390, 783 390, 390, 390, 390, 390, 360, 390, 108, 55, 64, 784 5, 390, 390, 251, 390, 390, 390, 390, 328, 390, 785 786 390, 390, 390, 390, 390, 390, 390, 390, 281, 29, 787 390, 390, 390, 256, 390, 390, 390, 390, 390, 390, 788 390, 390, 390, 390, 282, 390, 390, 390, 390, 160, 789 390, 390, 390, 390, 390, 390, 390, 390, 198, 390, 790 207, 390, 390, 390, 390, 390, 390, 390, 390, 390, 791 390, 390, 324, 390, 390, 390, 390, 390, 390, 390, 792 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 793 390, 355, 344, 390, 390, 289, 390, 390, 390, 390, 794 390, 325, 390, 390, 390, 390, 390, 390, 326, 390, 795 390, 390, 287, 390, 290, 291, 390, 390, 390, 390, 796 797 390, 288, 292, 0 798 } ; 799 800 static const YY_CHAR yy_ec[256] = 801 { 0, 802 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 803 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 804 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 805 1, 2, 1, 5, 6, 1, 1, 1, 7, 1, 806 1, 1, 1, 1, 8, 1, 1, 1, 9, 1, 807 10, 11, 1, 12, 1, 1, 1, 13, 1, 1, 808 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, 809 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 810 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 811 1, 40, 1, 1, 1, 1, 41, 42, 43, 44, 812 813 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 814 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 815 65, 66, 1, 1, 1, 1, 1, 1, 1, 1, 816 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 820 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 821 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 822 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 823 824 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 825 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 826 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 827 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 828 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 829 1, 1, 1, 1, 1 830 } ; 831 832 static const YY_CHAR yy_meta[67] = 833 { 0, 834 1, 2, 3, 4, 5, 1, 6, 1, 1, 1, 835 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 836 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 837 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 838 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 839 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 840 1, 1, 1, 1, 1, 1 841 } ; 842 843 static const flex_int16_t yy_base[3923] = 844 { 0, 845 0, 0, 64, 67, 70, 72, 78, 84, 89, 92, 846 131, 137, 112, 118, 123, 142, 572, 520, 96,11109, 847 11109,11109, 160, 185, 116, 183, 229, 132, 175, 173, 848 232, 50, 66, 120, 263, 275, 159, 323, 134, 375, 849 416, 286, 308, 283, 177, 126, 258, 471,11109,11109, 850 11109, 95, 462,11109,11109,11109, 236, 438, 436,11109, 851 11109,11109, 351, 388,11109,11109,11109, 104, 385,11109, 852 369,11109, 167, 375, 345, 368,11109,11109,11109, 390, 853 309,11109,11109,11109, 146, 291, 394, 177, 0, 406, 854 0, 0, 210, 224, 235, 281, 310, 259, 343, 389, 855 856 256, 187, 396, 428, 426, 325, 382, 446, 303, 425, 857 402, 463, 344, 381, 423, 450, 451, 454, 473, 469, 858 472, 480, 501, 498, 496, 507, 453, 513, 487, 518, 859 503, 509, 535, 523, 538, 528, 543, 537, 386, 547, 860 559, 556, 351, 561, 573, 568, 594, 565, 592, 599, 861 585, 596, 595, 609, 627, 618, 626, 620, 621, 636, 862 637, 635, 273, 180, 270, 238, 268, 678, 296, 230, 863 342, 152, 689, 693, 0, 668, 150, 697, 176, 128, 864 455, 669, 666, 672, 677, 680, 697, 683, 698, 681, 865 696, 704, 695, 702, 707, 740, 701, 732, 743, 226, 866 867 749, 793, 750, 733, 754, 728, 753, 756, 772, 762, 868 767, 788, 795, 785, 777, 783, 811, 748, 803, 816, 869 853, 828, 817, 789, 240, 835, 850, 250, 819, 607, 870 852, 847, 723, 860, 91, 768, 845, 863, 887, 872, 871 569, 864, 855, 879, 883, 877, 895, 880, 904, 842, 872 898, 892, 891, 929, 910, 899, 923, 912, 938, 928, 873 930, 948, 925, 944, 951, 939, 952, 956, 965, 943, 874 968, 955, 950, 980, 969, 992, 989, 986, 970, 979, 875 985, 991, 982, 994, 984, 995, 1011, 1009, 1028, 1029, 876 1020, 1030, 1038, 1024, 1026, 1027, 1033, 1032, 1036, 1023, 877 878 1054, 1055, 1041, 1063, 1073, 233, 1059, 1075, 1078, 1067, 879 1092, 1081, 1085, 1086, 1087, 1090,11109, 1097, 1101, 1102, 880 1116, 1103, 1117, 1098, 1122, 1136, 1137, 1113, 1123, 1125, 881 1126, 1134, 1144, 1140, 1151, 1150, 1152, 1171, 1157, 1173, 882 1168, 1162, 1178, 1174, 1217, 1179, 1196, 1185, 1262, 1189, 883 1191, 1212, 1225, 1230, 486, 1219, 1211, 1249, 1218, 1232, 884 1255, 1241, 1261, 1258, 1282, 1274, 1277, 1259, 1276, 1285, 885 1286, 1296, 1299, 1301, 1164, 1321,11109, 1300, 1325, 1215, 886 1326, 1327, 1334, 1336, 1341, 1353, 1335, 1354, 1346, 1370, 887 1371, 1403, 1451, 1358, 1381, 1373, 1380, 1396,11109, 1390, 888 889 1399, 1500, 1417, 1419, 1391, 1392, 1429, 1420, 1430, 1423, 890 1444, 1439, 1450, 1446, 1434, 1462, 1469, 1480, 1499, 1473, 891 1478, 1491, 1518, 1527, 1509, 1468, 1507, 1501, 1525, 1520, 892 1530, 1558, 1465, 1539, 1551, 1562, 1543, 1547, 1552, 1553, 893 1559, 1570, 1571, 1585, 1577, 1597, 1583, 1590, 1591, 1586, 894 1603, 1593, 1617, 1662, 1596, 1613, 1614, 1623, 1629, 1636, 895 1624, 1641, 1631, 1654, 1650, 1651, 1658, 1660, 1642, 1665, 896 1677, 1687, 1666, 1686, 1692, 1684, 1674, 1700, 1703, 1711, 897 1697, 1701, 1698, 1717, 1728, 1713, 1732, 1736, 1738, 1733, 898 1748, 1746, 1750, 1752, 1735,11109, 1755, 1765,11109, 1760, 899 900 1759, 1762, 1761, 1764, 1769, 1775, 1778,11109, 1786, 1782, 901 1787, 1808, 1797, 1820, 1809, 1821, 1794, 1805, 1817, 1826, 902 1816, 1822, 1814, 1844, 1831, 1839, 1845, 1840, 1855, 1843, 903 1841, 1857, 1856, 1869, 1864, 1870, 1877, 1867, 1872, 1920, 904 11109, 1878, 1882, 1880, 1904, 1891, 1906, 1900, 1925, 1945, 905 1917, 1937, 1941, 1949, 1970, 1956, 1963, 1977, 1951, 1966, 906 1981, 1967, 1987, 1976, 1983, 1984, 2004, 1993, 1892, 2011, 907 2008, 2002, 2009, 1918,11109, 2013, 2014, 2026, 2029, 1922, 908 2015, 2019, 2018, 2035, 2001, 2032, 2040, 2051, 2050, 2064, 909 2041, 2061, 2070, 2076, 2060, 2078, 2080, 2067, 2081, 2075, 910 911 2068, 2093, 2082, 2097, 2103, 2088, 2123, 2101, 2117, 2121, 912 158, 2106, 2126, 2129, 2137, 2140, 2116, 2115, 2133, 2135, 913 2142, 2132, 2144, 2154, 2150, 2143, 2149, 2169, 2159, 2160, 914 2171, 2165, 2184, 2174, 2190, 2170, 2178, 2198, 2187, 2192, 915 2193, 2163, 2204, 2207, 2234, 2205, 2226, 2211, 2212, 2217, 916 2236, 2233, 2243,11109, 2248, 2250, 2249, 2261, 2262, 2266, 917 2264, 2273, 2268, 2272, 2275, 2270, 2291, 2286, 2224, 2292, 918 2285, 2298, 2294, 2293, 2300, 2313, 2312, 2331, 2323, 2332, 919 2338, 2325, 2342, 2339, 2328, 2333, 2334, 2349, 2351, 2337, 920 2352, 2358, 2360, 2355, 2362, 2361, 2391, 2379, 2382, 2393, 921 922 2388, 2381, 2387, 2394, 2383, 2401, 2404, 2409, 2430, 2422, 923 2423, 2419, 2442, 2440, 2420, 2450, 2436, 2451, 2437, 2438, 924 2463, 2466, 2467, 2468, 2449, 2469, 2462, 2472, 2476, 2474, 925 2478, 2504, 2494, 2475, 2490, 2498, 2508, 2503, 2502, 2513, 926 2524, 2515, 2511, 2526, 2538, 2539, 2542, 2536, 2548, 2545, 927 2560, 2553, 2551, 2563, 2565, 2571, 2566, 2577, 2568, 2592, 928 2595, 2598, 2583, 2597, 2606, 2594, 2608, 2604, 2603, 2609, 929 2619, 2625, 2479, 2636, 2640, 2644, 2633, 2642, 2634, 2650, 930 2645, 2635, 2654, 2657, 2687, 2668, 2670,11109, 2669, 2550, 931 2671, 2672, 2685, 2682, 2676, 2684, 2696, 2709, 2697, 2700, 932 933 2695, 2683, 2698, 2744,11109, 2715,11109,11109, 759, 2714, 934 11109,11109, 2711, 2727,11109, 2721, 2745, 2741, 2758, 2748, 935 2754, 2760, 2773, 2768, 2775, 2772, 2742, 2819, 2777, 2798, 936 2785, 2787, 2814, 2783, 2824, 2822, 2790, 2830, 2841, 2834, 937 2812, 2767, 2836, 2851, 2845, 2861, 2868, 2870, 2871, 2872, 938 2873, 2878, 2864, 2862, 2886, 2865, 2887, 2901, 2883, 2900, 939 2896, 2904, 2893, 2907, 2910, 2897, 2931, 2924, 2930, 2940, 940 11109, 2927, 2943, 2921, 2928, 2933, 2946, 2945, 2949, 2958, 941 2956, 2955, 2964, 2965, 2951, 2960, 2957, 2966, 2977, 2972, 942 2976, 2970, 2982, 3000, 2996, 2999, 3010, 3016, 2997, 2993, 943 944 11109, 3008, 3009, 2995, 3014, 3020, 3021, 3028, 3033, 3026, 945 3024, 3041, 3046, 3066, 3048, 3053, 3055, 3044, 3060, 3061, 946 3056, 3081,11109, 3076, 3064, 3073, 3090, 3077, 3097, 3052, 947 3086, 3087, 3096, 3101, 3103, 3111, 3100, 3112, 3125, 3123, 948 3122, 3119, 3121, 3127, 3138, 3139, 3137, 3150, 3156, 3153, 949 3143, 3148, 3149, 3152, 3161, 3164, 3166, 3174, 3175, 3178, 950 3197, 3184, 3202, 3189, 3180, 3209, 3211, 3206, 3196, 3208, 951 3212, 3205, 3213, 3223, 3224, 3231, 3225, 3232, 3236, 3229, 952 3246, 3230, 3241, 3255, 3261, 3267, 3251, 3265, 3270, 3258, 953 3263, 3259, 3284, 3276,11109, 3275, 3286, 3305,11109, 3296, 954 955 3294, 3291, 3344, 3310, 3316, 3321, 3330, 3324, 3304, 3354, 956 3341, 3335, 3352, 3362, 3356, 3369, 3364, 3376, 3391, 3383, 957 3394, 3389, 3379, 3388, 3378, 3387, 3405, 3403, 3415, 3417, 958 3422, 3418, 3429, 3404, 760, 3438, 3421, 3432, 3434, 3479, 959 3428, 3436, 3448, 3445, 3463, 3468, 3461, 3467, 3470, 3488, 960 3455, 3484, 3494, 3465, 3504, 3506, 3501, 3500, 3517, 3520, 961 3477, 3530, 3521,11109, 3522, 3536, 3523, 3546, 3527, 3528, 962 3547, 3537,11109, 3544, 3549, 3543, 3565, 3563, 3562, 3570, 963 3557, 3568, 3586, 3571, 3576, 3584, 3585, 3590, 3583, 3606, 964 11109, 3589,11109, 3608, 3599, 3603, 3602, 3611, 3612, 3610, 965 966 3618, 3625, 3637, 3638,11109,11109, 3639, 3645, 3632, 3646, 967 3630, 3653, 3651, 3661, 3662,11109, 3663, 3686,11109, 3681, 968 3668, 3688, 3670, 3672, 3677, 3687, 3678, 3703, 3702, 3705, 969 3704, 3706, 3707, 3720, 3712,11109, 3727, 3732, 3715, 3733, 970 3740, 3721, 3741, 3751, 3752, 3734,11109, 3760, 3742, 3764, 971 3753, 3776, 3775, 3772, 3768, 3779, 3787, 3771, 3773, 3784, 972 3791, 3783, 3795, 3810, 3812, 3815, 3819, 3817, 3821, 3822, 973 11109, 3823, 3807, 3809, 3832, 3830, 3833, 3831, 3834, 3836, 974 3827, 3846, 3861, 3863, 3858, 3870, 3853, 3862, 3857, 3882, 975 3883, 3872, 3881, 3879, 3885, 3880, 3888, 3893, 1348, 3898, 976 977 3896, 3899, 3892,11109, 3903, 3915, 3928, 3921, 3930, 3931, 978 3913, 115, 3920, 3926, 3925, 3945, 3956, 3939, 3946, 3947, 979 3944, 3964, 3961, 3955, 3959, 3971, 3977, 3973, 3966, 3981, 980 3982, 3974, 3991, 3996, 4004, 3997, 3994,11109, 3990, 4001, 981 4016, 4018, 4007, 4014, 4024, 4026, 4044,11109, 4028, 4034, 982 4043, 4050, 4057, 4051, 4066, 4053, 4056, 4059,11109, 4062, 983 4078, 4076, 4071, 4077, 4086, 4091, 4087,11109, 4081, 4105, 984 4107, 4096, 4114, 4113, 4111, 4115, 4121, 4126, 4146, 4135, 985 4144, 4140, 4137, 4133, 4141, 4155, 4160, 4163, 4084, 4108, 986 4164, 4171, 4177, 4170, 4181, 4176, 4169, 4185, 4204, 4186, 987 988 11109, 4210, 4199, 4201, 4209, 4198, 4207, 4219, 4220, 4235, 989 4221, 4225, 4216, 4237, 4267, 4242, 4251, 4254, 4256, 4265, 990 4269, 4252, 4258, 4266, 4284, 4300, 4283, 4305, 4309, 4288, 991 4302, 4282, 4296, 4315, 4310, 4323, 4317, 4307, 4333, 4329, 992 4332, 4330, 4335, 4348, 4341, 4373, 4353, 4347, 4368, 3439, 993 4365,11109, 4359, 4356, 4357, 4379, 4385, 4407, 4390, 4392, 994 4383, 4403, 4409, 4402, 4406, 4412, 4413, 4418, 4414, 4410, 995 4435, 4430, 4441, 4433, 4439, 4449, 4437, 4426, 4454, 4326, 996 4450, 4461, 4458, 4467,11109, 4476, 4475, 4468, 4482, 4472, 997 4473, 4484, 4488, 4492, 4477, 4496, 4500, 4501, 4485, 4509, 998 999 4507, 4502, 4513, 4525, 4524, 4529, 4520,11109, 4532, 4527, 1000 4528, 4534, 4536, 4540, 4556, 4565, 4568, 4569, 4572, 4575, 1001 4558, 4578, 4579, 4577,11109, 4548, 4551, 4582, 4583, 4594, 1002 4599, 4593, 4605, 4618, 4602, 4603,11109, 4614, 4606, 4615, 1003 4613, 4607, 4621, 4636, 4641, 4631, 4642,11109, 4643, 4645, 1004 4646, 4651, 4652, 4647, 4649, 4648, 4663, 4676, 4664, 4670, 1005 4678, 4680, 4682, 4698, 4679, 4694,11109, 4691, 4687, 4703, 1006 4720, 4706, 4704, 4709, 4705, 4723, 4727, 4744, 4726, 4732, 1007 4741,11109, 4746, 4753, 4737, 4763, 4747, 4751, 4765, 4762, 1008 4776, 4780, 4768, 4771, 4782, 4779,11109, 4774, 4778, 4784, 1009 1010 4815, 4793, 4801, 4798, 4805, 4809, 4806, 4808, 4820, 4823, 1011 4824, 4818, 4825, 4833, 4826, 4841, 4842, 4849, 4846, 4861, 1012 4848, 4865, 4851, 4876, 4884, 4885, 4858, 4880, 4887, 4888, 1013 4875, 4879, 4890, 4889, 4898, 4901, 4904, 4918,11109, 4909, 1014 4906, 4914, 4902, 4912, 4916, 4927, 4928, 4925, 4929, 4936, 1015 4943, 4945, 4939, 4973, 4979, 4956, 4957, 4963, 4961, 4962, 1016 4969, 4987, 4974, 4975, 4976, 5002, 5004, 4997, 4990, 4984, 1017 4986, 5003, 5006, 5017, 5021, 5008, 5019, 5013, 5022, 5024, 1018 5026, 5020, 5035, 5042, 5037, 5055, 5044, 5047, 5048, 4934, 1019 5067, 5068, 5072, 5064, 5065, 5069, 5075, 5095,11109, 5071, 1020 1021 5083, 5103, 5091, 5092, 5093, 5111, 5116, 5122, 5110, 5113, 1022 5128, 5124, 5123, 5130, 5138, 5141, 5133, 5143, 5137, 5144, 1023 11109, 5148,11109, 5150, 5146, 5157, 5171, 5151, 5154,11109, 1024 5176,11109, 5177, 5179, 5175, 5181, 5184,11109, 5185, 5189, 1025 5193, 5178, 5199, 5194, 5202, 5204, 5209, 5218, 5216, 5214, 1026 5231, 5224, 5220, 5227, 5236, 5229, 5247, 5239, 5244, 5259, 1027 5252, 5268, 5266, 5257, 5271, 5251, 5263, 5274, 5279, 5284, 1028 5287,11109, 5281, 5307, 5293, 5300, 5310, 5289, 5299, 5304, 1029 5302, 5311, 5308, 5319, 5323, 5331, 5327, 5334, 5337, 5338, 1030 5340, 5343, 5344, 5351, 5342, 5370, 5368, 5380, 5361, 5382, 1031 1032 5371,11109, 5365, 5385, 5374, 5375, 5386, 5384,11109, 5399, 1033 5392, 5395, 5409, 5400, 5397, 5413, 5402, 5424, 5412, 5421, 1034 5418, 5441, 5439, 5445, 5443,11109, 5440, 5448, 5429, 5455, 1035 5461, 5460, 5468, 5469, 5473, 5482, 5489, 5474, 5486, 5466, 1036 5476, 5480, 5477, 5495, 5507, 5513, 5517, 5487, 5520, 5500, 1037 5524, 5528, 5525, 5514, 5511, 5518, 5516, 5519, 5522, 5534, 1038 5540, 5546, 5543, 5538, 5551, 5552, 5565,11109, 5562, 5570, 1039 5563, 5588, 5557, 5569, 5566, 5573, 5599, 5604, 5597,11109, 1040 5594, 5590, 5603, 5595, 5615, 5596, 5613, 5601, 5618, 5630, 1041 5626, 5637, 5646, 5632,11109, 5645,11109, 5643, 5624, 5647, 1042 1043 5619, 5656, 5657, 5662, 5664, 5678, 5666, 5671, 5676, 5692, 1044 5683, 5674, 5694, 5685, 5684, 5693, 5696, 5716, 5706, 5705, 1045 5721, 5709, 5711, 5717, 5722, 5729, 5726, 5723, 5751, 5749, 1046 5746,11109,11109, 5734, 5742, 5762, 5765, 5755, 5761, 5774, 1047 5776, 5784, 5767, 5782, 5787, 5786, 5790, 5821,11109, 5798, 1048 5800, 5797, 5817, 5814, 5831, 5811, 5830, 5836, 5832, 5826, 1049 5838, 5839,11109, 5823, 5827, 5846, 5841, 5848, 5868, 5856, 1050 11109, 5854,11109, 5857, 5859, 5863, 5872, 5864, 5870, 5881, 1051 5883, 5887, 5888, 5897, 5901, 5890, 5898, 5909, 5903, 5913, 1052 5906, 5905, 5915, 5918, 5924, 5925, 5919, 5928, 5929,11109, 1053 1054 5931, 5939, 5950, 5930, 5940, 5943, 5958, 5956, 5946,11109, 1055 5975,11109, 5961, 5967, 5977, 5970, 5964, 5984, 5974, 5983, 1056 5981, 5998, 6007, 5999, 6008, 6002, 6010, 6006, 6019, 6001, 1057 11109, 6004, 6016, 6024, 6020, 6031, 6046, 6038, 6050, 6034, 1058 6055,11109, 6051, 6065, 6047, 6057, 6069, 6067, 6058, 6073, 1059 6068, 6079, 6064, 6083, 6085, 6082, 6100, 6081, 6092, 6096, 1060 6102, 6113, 6098, 6131, 6110, 6106, 6120, 6129, 6123,11109, 1061 6125, 6127, 6132, 6137, 6140, 6155, 6158, 6138, 6161, 6169, 1062 6156, 6175, 6178, 6165, 6168, 6170, 6177, 6190, 6195, 6197, 1063 11109, 6198, 6192, 6203, 6184, 6204, 6187, 6205, 6215, 6206, 1064 1065 6218, 6220, 6213, 6217, 6224, 6236, 6242, 6244, 6251, 6245, 1066 6234, 6248, 6240, 6253, 6262, 6263, 6267, 6268,11109, 6297, 1067 6284, 6281, 6250, 6277, 6287, 6304, 6294, 6285, 6286, 6306, 1068 6290, 6317, 6299, 6300, 6327, 6320, 6335, 6321,11109,11109, 1069 6336, 6312, 6329,11109, 6331, 6330, 6347, 6333, 6334, 6339, 1070 6359, 6348, 6355, 6364, 6363, 6357, 6375, 6373, 6361, 6365, 1071 11109, 6390, 6384, 6398, 6374, 6388, 6409, 6403,11109, 6393, 1072 6411, 6407, 6408, 6410, 6414, 6404, 6399, 6420, 6415, 6425, 1073 6426, 6422, 6432, 6462, 6431, 6466, 6445, 6449, 6459,11109, 1074 6447, 6446, 6472, 6469, 6454, 6461, 6470,11109, 6481, 6483, 1075 1076 6497, 6476, 6475, 6501, 6504, 6511, 6505, 6517, 6499, 6508, 1077 6510, 6514, 6503, 6525, 6531, 6538, 6535, 6539, 6550, 6544, 1078 6534, 6558, 6556,11109, 6561, 6552, 6547, 6564, 6573,11109, 1079 6575, 6598, 6581,11109, 6594, 6577, 6587, 6589, 6604,11109, 1080 6593, 6602, 6595, 6608, 6585, 6616, 6591, 6620, 6611, 6612, 1081 6623, 6622, 6625, 6619, 6615,11109, 6636, 6637, 6650,11109, 1082 6657, 6658, 6659, 6662, 6664, 6666, 6663, 6652, 6649, 6675, 1083 6668, 6673, 6691, 6671,11109, 6676, 6699,11109, 6701, 6702, 1084 6688, 6698, 6711,11109, 6705, 6707, 6708, 6714, 6718, 6715, 1085 6716, 6746, 6723, 6731, 6743, 6735, 6736, 6756, 6754, 6761, 1086 1087 6739, 6758, 6747, 6750,11109, 6788, 6772, 6766, 6786, 6776, 1088 6770, 6792, 6793, 6783, 6802, 6798,11109,11109, 6806,11109, 1089 6809, 6808, 6810, 6814,11109, 6825, 6828, 6819, 6827, 6820, 1090 6816, 6835, 6832, 6856, 6852,11109, 6858, 6862,11109, 6838, 1091 6864, 6869, 6854, 6859, 6851, 6855, 6871, 6883, 6853, 6882, 1092 6891, 6889, 6893, 6880, 6899, 6897, 6922, 6900, 6934,11109, 1093 6918, 6902, 6916, 6914, 6924, 6927, 6941, 6943, 6939,11109, 1094 6951, 6955, 6954, 6968, 6969,11109,11109, 6970,11109, 6967, 1095 6978, 6950, 6986, 6971, 6981, 6965, 6982,11109, 6989, 6993, 1096 7004, 6984, 7014, 7020,11109, 7016, 7018, 7006, 7008, 7005, 1097 1098 7032, 7031, 7017, 7027, 7060, 7034,11109, 7037, 7048, 7053, 1099 7040, 7067, 7059, 7057, 7051, 7078, 7069, 7075, 7058, 7084, 1100 7092, 7082, 7079, 7087, 7089, 7098, 7105, 7094,11109, 7109, 1101 7111, 7122, 7121, 7131, 7116, 7132, 7117,11109, 7133, 7118, 1102 7147, 7148,11109, 7149, 7157, 7145, 7161, 7160, 7164, 7167, 1103 7170, 7168, 7169, 7175, 7194,11109, 7188, 7189, 7187, 7198, 1104 7206, 7209, 7204,11109,11109, 7213,11109, 7202, 7214, 7224, 1105 7225, 7217, 7238, 7171, 7241, 7248, 7235, 7236, 7252, 7249, 1106 7244, 7245, 7258,11109, 7267, 7263, 7266, 7296, 7272, 7294, 1107 7270,11109, 7284, 7275,11109, 7281,11109, 7280, 7291, 7298, 1108 1109 7305, 7307, 7310, 7311, 7302, 7299,11109, 7329, 7325, 7315, 1110 7322, 7344, 7346, 7343, 7355,11109, 7347, 7333, 7357, 7339, 1111 11109, 7338, 7364, 7354, 7368, 7371, 7367, 7373, 7372, 7374, 1112 7375, 7387, 7401, 7393, 7402, 7391, 7395, 7399, 7403, 7404, 1113 7406, 7400, 7419, 7425,11109, 7431, 7422, 7424, 7426, 7432, 1114 7430, 7442, 7435, 7448, 7444, 7452, 7468,11109, 7458,11109, 1115 7463, 7453, 7471, 7472, 7464, 7478, 7481, 7490, 7483, 7482, 1116 7475, 7494, 7511, 7497, 7513, 7514, 7503, 7504, 7509, 7524, 1117 11109, 7526, 7531, 7520, 7536, 7545, 7529, 7543, 7539,11109, 1118 7555, 7541, 7547, 7538, 7548, 7569, 7559, 7573, 7558, 7579, 1119 1120 7565, 7584, 7583, 7590, 7577, 7586, 7592, 7581, 7597, 7585, 1121 7582,11109, 7609, 7602, 7596, 7621, 7612, 7622, 7625, 7629, 1122 7634, 7633, 7618, 7628, 7636,11109, 7651, 7648, 7644, 7645, 1123 11109, 7626, 7653, 7624, 7654, 7672, 7679, 7663, 7678, 7680, 1124 7670, 7686,11109, 7688, 7671, 7693, 7675, 7690, 7703, 7677, 1125 7696, 7723, 7716, 7727, 7735,11109, 7731, 7720, 7734, 7736, 1126 7737, 7719, 7747, 7746, 7748, 7765, 7750,11109, 7773, 7774, 1127 7780, 7766, 7745, 7788, 7768, 7771, 7793, 7791, 7794, 7777, 1128 7797, 7787, 7805, 7800, 7813, 7819, 7821, 7817, 7816, 7824, 1129 7829,11109, 7814,11109, 7815, 7836, 7837, 7844, 7858, 7839, 1130 1131 7851, 7860, 7846, 7849, 7848,11109, 7863, 7866, 7883, 7873, 1132 7875, 7880, 7890, 7886,11109, 7887, 7876, 7893, 7900,11109, 1133 7901, 7916, 7902, 7911, 7905, 7924, 7930, 7932,11109, 7934, 1134 7937, 7931, 7942, 7946, 7935, 7945, 7938, 7953, 7943, 7960, 1135 7949, 7965, 7951, 7961, 7972,11109, 7979, 7981, 7985, 7986, 1136 7989, 7987, 7988, 7978, 7999, 7990, 8006,11109, 7995, 8008, 1137 8009, 8011, 7993, 8033, 8012, 8035, 8014, 8036, 8043, 8046, 1138 8027, 8030, 8034, 8060, 8054, 8050,11109, 8039, 8052, 8077, 1139 8057, 8088, 8078, 8083,11109, 8080,11109, 8076, 8079, 8095, 1140 8091, 8097,11109, 8105, 8084, 8111, 8074, 8118,11109,11109, 1141 1142 8124, 8102, 8121, 8130, 8122,11109,11109, 8134,11109, 8125, 1143 11109, 8123, 8120,11109,11109, 8135, 8127, 8138, 8145,11109, 1144 8154, 8163, 8142,11109, 8144,11109, 8178, 8155, 8173, 8160, 1145 8157, 8172,11109, 8169, 8182, 8180, 8186, 8189,11109, 8181, 1146 8201, 8205, 8196, 8199, 8203,11109, 8194, 8219, 8212, 8208, 1147 8223, 8202,11109, 8230, 8233, 8229, 8235, 8239, 8238, 8247, 1148 8257, 8241, 8249, 8260, 8262, 8244, 8261, 8268, 8277, 8270, 1149 8283, 8292, 8293, 8284, 8299, 8280, 8297, 8304, 8308, 8312, 1150 8291, 8294, 8310, 8307, 8317, 8290, 8315, 8324, 8345, 8346, 1151 8336, 8348, 8340, 8349, 8341, 8330, 8354, 8335, 8344, 8358, 1152 1153 8351, 8361, 8363, 8372, 8371, 8342, 8380, 8386, 8385, 8374, 1154 8398, 8390, 8403, 8399, 8391, 8405,11109, 8410, 8387, 8412, 1155 8433, 8415, 8417, 8442, 8427, 8443, 8444, 8446, 8450, 8451, 1156 11109,11109,11109, 8455,11109, 8457, 8435, 8463, 8462, 8471, 1157 11109, 8467, 8470, 8469, 8472, 8484, 8475, 8498, 8483, 8489, 1158 8494, 8504,11109, 8502, 8509, 8510, 8501, 8508, 8526,11109, 1159 8529, 8540, 8525, 8527, 8528, 8534, 8532, 8530, 8531, 8544, 1160 8550, 8558, 8556, 8564, 8566, 8559, 8570, 8572,11109, 8580, 1161 8581, 8587, 8574, 8576, 8583, 8585, 8586, 8590, 8584, 8582, 1162 8596, 8606, 8607, 8609, 8608, 8619, 8630, 8637, 8636, 8639, 1163 1164 11109, 8621,11109, 8633, 8622, 8644, 8634, 8645, 8653, 8647, 1165 8655, 8643,11109,11109, 8658, 8666, 8683, 8676, 8672, 8670, 1166 8690, 8680, 8677, 8694,11109, 8681, 8697, 8689, 8702, 8701, 1167 8707,11109, 8711, 8709, 8710, 8708, 8723, 8721, 8732,11109, 1168 8728, 8733, 8739, 8744, 8746, 8737, 8749, 8747, 8753, 8759, 1169 8751, 8757, 8761,11109, 8760,11109,11109,11109, 8764, 8773, 1170 8771, 8785, 8783, 8784, 8786, 8792, 8794, 8798, 8795, 8809, 1171 8790,11109, 8806,11109,11109, 8810,11109, 8811, 8800, 8813, 1172 8823, 8820, 8826, 8836,11109, 8833,11109, 8841, 8847, 8834, 1173 8851, 8854, 8850, 8842, 8859, 8853, 8865, 8860, 8878, 8870, 1174 1175 8871, 8875, 8880, 8890, 8879,11109, 8899, 8881, 8898, 8901, 1176 8904,11109,11109, 8905, 8909, 8908, 8919, 8916, 8924, 8920, 1177 8938, 8933, 8935, 8930, 8926, 8936, 8928, 8947, 8955, 8953, 1178 8942, 8952,11109, 8963, 8967, 8956,11109, 8961,11109, 8979, 1179 8982, 8986, 8971, 8965, 8966, 8968, 8995, 8992, 8999, 9002, 1180 11109,11109, 8990, 9015, 9006,11109,11109, 9005, 9000, 9011, 1181 9017, 9021, 9018, 9022,11109, 9028, 9034, 9039, 9035, 9044, 1182 9042, 9046, 9055,11109, 9045,11109, 9056, 9061, 9054, 9064, 1183 9080, 9083, 9066, 9068, 9084, 9090, 9088, 9072, 9093,11109, 1184 9091, 9081,11109, 9107, 9101, 9102, 9087, 9095, 9119, 9111, 1185 1186 11109, 9129, 9117,11109, 9137, 9116, 9140, 9141,11109, 9142, 1187 9143, 9144, 9136,11109, 9148,11109, 9131, 9150, 9153, 9159, 1188 9161,11109, 9163, 9164, 9167, 9178,11109, 9181, 9185, 9189, 1189 9190, 9182, 9186,11109, 9196, 9180,11109, 9177, 9201, 9202, 1190 9215, 9204, 9218, 9208, 9209, 9220, 9237, 9233, 9235,11109, 1191 11109, 9243, 9238, 9242, 9244, 73, 9255, 9217, 9231, 9232, 1192 9247, 9261, 9262, 9268, 9248, 9277, 9272,11109,11109, 9278, 1193 11109, 9276, 9282,11109, 9265, 9288, 9286, 9279, 9289, 9275, 1194 9299, 9308, 9298, 9313, 9325, 9315, 9311, 9323,11109, 9337, 1195 9339, 9314, 9343, 9344, 9346, 9350, 9352, 9358, 9349, 9356, 1196 1197 9342, 9341, 9366, 9368, 9376, 9371, 9379, 9378, 9377, 9380, 1198 9392,11109, 9391, 9396, 9398, 9395, 9399, 9407, 9411, 9402, 1199 11109, 9415, 9414, 9430, 9426,11109, 9432, 9424, 9427, 9435, 1200 9437, 9440,11109, 9434, 9444, 9445, 9451, 9441, 9447, 9454, 1201 9460, 9463, 9485,11109, 9457, 9477, 9484,11109, 9474,11109, 1202 11109,11109, 9464, 9494, 9481,11109, 9498, 9491, 9482, 9496, 1203 11109, 9499, 9500, 9497, 9508, 9516,11109,11109,11109, 9492, 1204 9515, 9521,11109, 9509, 9536,11109, 9525,11109, 9518,11109, 1205 9533, 9535, 9545, 9541,11109, 9544, 9547,11109, 9542, 9557, 1206 9564, 9581,11109, 9554, 9559, 9575, 9574, 9567, 9569, 9571, 1207 1208 9573, 9588,11109, 9584, 9594, 9598, 9595, 9586, 9606, 9602, 1209 9619, 9609, 9611, 9607, 9628,11109, 9631, 9634, 9636, 9642, 1210 9621, 9622, 9629,11109, 9633,11109, 9647,11109, 9652, 9659, 1211 9660, 9671, 9667, 9661, 9662, 9670, 9679, 9663, 9687, 9690, 1212 9686, 9694, 9689, 9682, 9693, 9700,11109,11109, 9701, 9709, 1213 11109, 9718, 9725, 9726,11109, 9708,11109, 9730,11109, 9716, 1214 9717,11109, 9735, 9721, 9736,11109,11109, 9731, 9727, 9746, 1215 9743, 9738, 9749, 9750,11109, 9765, 9757, 9753, 9760, 9775, 1216 11109, 9784,11109, 9763, 9786, 9780,11109,11109, 9767, 9774, 1217 9791, 9795, 9782, 9788, 9804, 9792, 9805, 9801, 9811, 9798, 1218 1219 9822, 9806, 9820, 9824, 9836, 9825, 9839, 9843, 9844,11109, 1220 11109,11109, 9847, 9835, 9837, 9849, 9848, 9858, 9862, 9873, 1221 9860,11109, 9872, 9879, 9875, 9864, 9893, 9891, 9890,11109, 1222 9884, 9876, 9870, 9885, 9901, 9897, 9899, 9904,11109, 9914, 1223 9919, 9927, 9924, 9918, 9925, 9933, 9934, 9937, 9935, 9938, 1224 9926, 9921, 9954, 9945,11109,11109, 9955, 9942,11109, 9963, 1225 9967,11109,11109, 9949,11109, 9948, 9951, 9960, 9961, 9985, 1226 11109, 9980, 9965, 9974, 9975,11109, 9976, 9990, 9984, 9998, 1227 10000,11109, 9987,10013, 9995,10002,10014,10023,11109,11109, 1228 10003,10009,11109,10033,10029,10025,10040,10026,10035,10037, 1229 1230 10042,11109,10048,11109,10045,10052,10051,10053,10054,10065, 1231 10070,10067,10081,11109,10075,10069,10079,10091,11109,10089, 1232 10074,10102,10100,10098,11109,10108,10104,10096,10117,11109, 1233 10112,10125,10123,11109,11109,11109,10133,10137,10138,11109, 1234 11109,11109,10126,11109,10143,10140,10135,10156,11109,10146, 1235 11109,11109,10157,10176,10178,10158,10180,10162,11109,10177, 1236 10181,10171,10168,10173,11109,11109,10191,10193,10172,10195, 1237 10196,10197,10184,10205,11109,11109,10185,10199,10212,10218, 1238 10219,11109,10213,10228,10233,10235,10232,10243,10236,10247, 1239 10248,10229,10249,10245,10257,10285,10254,10261,10252,10262, 1240 1241 10268,10277,10271,10287,10297,10293,10301,10302,10288,10300, 1242 11109,11109,10306,10294,11109,10307,10309,11109,10298,11109, 1243 10311,10319,10322,10323,11109,10331,10337,10339,10340,10315, 1244 11109,10335,10347,11109,10348,10342,10343,10332,11109,10338, 1245 10354,10357,10356,10345,10350,10361,10384,10374,10389,11109, 1246 10377,10391,11109,11109,11109,10388,10378,10394,10372,10401, 1247 10390,11109,10403,10399,10395,10405,10412,10416,10411,11109, 1248 10435,10433,11109,11109,10436,10429,11109,10445,11109,10421, 1249 10430,11109,11109,11109,11109,11109,11109,11109,11109,10448, 1250 10449,11109,11109,10438,10455,10459,10464,11109,10466,11109, 1251 1252 10458,10461,10479,10467,10469,11109,10475,11109,10495,10476, 1253 10490,10493,10502,10485,10491,10494,10486,10497,10514,10508, 1254 10521,10528,10511,10534,10519,10531,10542,10525,10545,10529, 1255 10546,11109,11109,11109,11109,10548,10557,10553,10556,10576, 1256 10554,10563,10558,10582,10587,10569,10571,10590,10589,10592, 1257 10574,10585,10607,10596,10601,10603,10605,10602,10611,10625, 1258 10631,11109,10633,10621,10620,10641,11109,10627,10632,11109, 1259 10626,10628,11109,11109,10644,10655,10637,10638,10666,10667, 1260 10660,10662,10659,10671,10679,11109,10680,11109,11109,11109, 1261 11109,10664,10661,11109,10682,10690,10683,10688,11109,10677, 1262 1263 10695,10694,10698,10701,10710,10715,10725,10716,11109,11109, 1264 10712,10717,10726,11109,10722,10733,10741,10723,10747,10749, 1265 10750,10756,10744,10739,11109,10751,10759,10765,10752,11109, 1266 10776,10766,10760,10777,10779,10774,10781,10782,11109,10783, 1267 11109,10794,10789,10793,10808,10809,10811,10804,10814,10819, 1268 10820,10835,11109,10792,10836,10829,10842,10849,10847,10827, 1269 10840,10853,10858,10860,10866,10871,10874,10875,10864,10867, 1270 10869,11109,11109,10873,10870,11109,10879,10885,10886,10895, 1271 10902,11109,10904,10899,10900,10906,10920,10916,11109,10921, 1272 10924,10928,11109,10931,11109,11109,10932,10925,10930,10938, 1273 1274 10939,11109,11109,11109,10989,10996,11003,11010,11017,11024, 1275 11031, 100,11038,11045,11052,11059,11066,11073,11080,11087, 1276 11094,11101 1277 } ; 1278 1279 static const flex_int16_t yy_def[3923] = 1280 { 0, 1281 3904, 1, 3905, 3905, 3906, 3906, 3907, 3907, 3908, 3908, 1282 3909, 3909, 3910, 3910, 3911, 3911, 3904, 3912, 3904, 3904, 1283 3904, 3904, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1284 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1285 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3914, 3904, 3904, 1286 3904, 3914, 3915, 3904, 3904, 3904, 3915, 3916, 3904, 3904, 1287 3904, 3904, 3916, 3917, 3904, 3904, 3904, 3917, 3918, 3904, 1288 3919, 3904, 3918, 3918, 3920, 3904, 3904, 3904, 3904, 3920, 1289 3921, 3904, 3904, 3904, 3921, 3912, 3912, 3904, 3922, 3913, 1290 3922, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1291 1292 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1293 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1294 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1295 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1296 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1297 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1298 3912, 3912, 3914, 3914, 3915, 3915, 3916, 3916, 3904, 3917, 1299 3917, 3918, 3918, 3919, 3919, 3918, 3920, 3920, 3904, 3921, 1300 3921, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1301 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1302 1303 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1304 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1305 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1306 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1307 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1308 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1309 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1310 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1311 3912, 3918, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1312 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1313 1314 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1315 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1316 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1317 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1318 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1319 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1320 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1321 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1322 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1323 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1324 1325 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 1326 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1327 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1328 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1329 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1330 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1331 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1332 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1333 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1334 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 1335 1336 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1337 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1338 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1339 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1340 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1341 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1342 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1343 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3918, 3912, 1344 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1345 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1346 1347 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1348 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1349 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1350 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1351 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1352 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1353 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1354 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1355 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1356 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1357 1358 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1359 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1360 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1361 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1362 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1363 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1364 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1365 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912, 3912, 3912, 1366 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1367 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1368 1369 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3904, 3912, 3912, 1370 3904, 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1371 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1372 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1373 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1374 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1375 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1376 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1377 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1378 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1379 1380 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1381 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1382 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1383 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1384 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1385 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1386 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1387 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1388 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912, 1389 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912, 1390 1391 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1392 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1393 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1394 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1395 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1396 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1397 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1398 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1399 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1400 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1401 1402 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 1403 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 1404 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1405 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1406 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1407 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1408 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1409 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1410 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1411 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1412 1413 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1414 3918, 3918, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1415 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1416 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1417 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1418 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1419 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1420 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1421 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1422 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1423 1424 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1425 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1426 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1427 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1428 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1429 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1430 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1431 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1432 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1433 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1434 1435 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1436 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1437 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1438 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1439 3918, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1440 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1441 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1442 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1443 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1444 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1445 1446 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1447 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1448 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1449 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1450 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1451 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1452 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1453 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1454 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1455 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1456 1457 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1458 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1459 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1460 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1461 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1462 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1463 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1464 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 1465 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1466 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1467 1468 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1469 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1470 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1471 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1472 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1473 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1474 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1475 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1476 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1477 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 1478 1479 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1480 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1481 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1482 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1483 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1484 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1485 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1486 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1487 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1488 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1489 1490 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1491 3912, 3904, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912, 1492 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1493 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1494 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1495 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1496 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1497 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1498 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1499 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1500 1501 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1502 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1503 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1504 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 1505 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1506 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1507 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1508 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1509 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1510 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1511 1512 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1513 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1514 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 1515 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 1516 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1517 3912, 3912, 3912, 3918, 3912, 3904, 3912, 3912, 3912, 3904, 1518 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1519 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912, 1520 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1521 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1522 1523 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1524 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904, 1525 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1526 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 1527 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1528 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1529 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1530 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912, 1531 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1532 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1533 1534 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1535 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1536 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1537 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1538 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1539 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1540 3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 1541 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1542 3912, 3912, 3912, 3904, 3912, 3912, 3918, 3912, 3912, 3912, 1543 3912, 3904, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 1544 1545 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1546 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1547 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1548 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1549 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1550 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 1551 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1552 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1553 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1554 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1555 1556 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1557 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1558 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1559 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1560 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1561 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1562 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1563 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1564 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1565 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1566 1567 3912, 3912, 3912, 3918, 3912, 3904, 3912, 3912, 3912, 3912, 1568 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 1569 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1570 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1571 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1572 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 1573 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1574 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1575 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 1576 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 1577 1578 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912, 1579 3904, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3904, 1580 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 1581 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1582 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1583 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1584 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1585 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1586 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1587 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1588 1589 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1590 3912, 3918, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1591 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1592 3904, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1593 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1594 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1595 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1596 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1597 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1598 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1599 1600 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1601 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1602 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1603 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1604 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1605 3912, 3912, 3912, 3904, 3912, 3904, 3904, 3904, 3912, 3912, 1606 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1607 3912, 3904, 3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 1608 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 1609 3912, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 1610 1611 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1612 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1613 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1614 3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 1615 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1616 3904, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 1617 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1618 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 1619 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1620 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1621 1622 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 1623 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 1624 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 1625 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912, 3912, 1626 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1627 3904, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912, 1628 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 1629 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1630 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1631 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1632 1633 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1634 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1635 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1636 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1637 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912, 3904, 1638 3904, 3904, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1639 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3904, 3912, 1640 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3904, 3912, 3904, 1641 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912, 1642 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1643 1644 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1645 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1646 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3904, 3912, 3912, 1647 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1648 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 1649 3904, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3904, 3912, 1650 3912, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 1651 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1652 3904, 3912, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 1653 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1654 1655 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1656 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1657 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1658 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1659 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1660 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3904, 3912, 1661 3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1662 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1663 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 1664 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1665 1666 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1667 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 1668 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 1669 3912, 3912, 3912, 3904, 3904, 3904, 3912, 3912, 3912, 3904, 1670 3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 1671 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1672 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 1673 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 1674 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1675 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1676 1677 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1678 3904, 3904, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3904, 1679 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 1680 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 1681 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1682 3912, 3912, 3904, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 1683 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 1684 3912, 3912, 3904, 3904, 3912, 3912, 3904, 3912, 3904, 3912, 1685 3912, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3912, 1686 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 1687 1688 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 1689 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1690 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1691 3912, 3904, 3904, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 1692 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1693 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1694 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 1695 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1696 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3904, 3904, 1697 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 1698 1699 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 1700 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 1701 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 1702 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1703 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1704 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1705 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1706 3912, 3904, 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 1707 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 1708 3912, 3912, 3904, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 1709 1710 3912, 3904, 3904, 0, 3904, 3904, 3904, 3904, 3904, 3904, 1711 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 1712 3904, 3904 1713 } ; 1714 1715 static const flex_int16_t yy_nxt[11176] = 1716 { 0, 1717 18, 19, 20, 21, 22, 23, 22, 18, 18, 18, 1718 18, 18, 22, 24, 25, 26, 27, 28, 29, 18, 1719 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 1720 40, 41, 42, 43, 44, 45, 18, 18, 46, 47, 1721 24, 25, 26, 27, 28, 29, 18, 30, 31, 32, 1722 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 1723 43, 44, 45, 18, 18, 46, 49, 50, 51, 49, 1724 50, 51, 54, 55, 54, 55, 56, 121, 56, 59, 1725 60, 61, 62, 122, 22, 59, 60, 61, 62, 87, 1726 22, 65, 66, 67, 65, 66, 67, 88, 163, 163, 1727 1728 86, 89, 355, 52, 121, 87, 52, 170, 170, 57, 1729 122, 57, 173, 76, 77, 78, 79, 63, 22, 76, 1730 77, 78, 79, 63, 22, 82, 83, 84, 68, 99, 1731 87, 68, 19, 20, 21, 70, 71, 72, 19, 20, 1732 21, 70, 71, 72, 82, 83, 84, 123, 110, 180, 1733 180, 80, 73, 162, 173, 87, 99, 80, 73, 87, 1734 139, 91, 85, 91, 91, 87, 91, 181, 111, 809, 1735 74, 87, 91, 87, 123, 110, 74, 179, 88, 73, 1736 162, 85, 89, 163, 163, 73, 114, 139, 112, 178, 1737 161, 173, 132, 176, 115, 111, 100, 87, 87, 92, 1738 1739 93, 94, 113, 101, 95, 116, 173, 102, 192, 96, 1740 103, 97, 87, 114, 87, 112, 87, 161, 98, 132, 1741 176, 115, 87, 100, 87, 182, 87, 93, 94, 113, 1742 101, 95, 116, 305, 102, 192, 96, 103, 97, 165, 1743 183, 165, 165, 432, 165, 98, 104, 343, 117, 87, 1744 105, 118, 182, 106, 184, 107, 108, 347, 119, 86, 1745 120, 86, 86, 87, 86, 87, 109, 183, 87, 171, 1746 86, 87, 87, 104, 87, 117, 124, 105, 118, 87, 1747 106, 184, 107, 108, 125, 119, 191, 120, 128, 87, 1748 126, 187, 129, 109, 127, 87, 158, 169, 87, 150, 1749 1750 159, 151, 87, 124, 160, 185, 130, 168, 131, 166, 1751 152, 125, 164, 191, 87, 128, 153, 126, 187, 129, 1752 87, 127, 87, 158, 154, 87, 150, 159, 151, 204, 1753 87, 160, 185, 130, 155, 131, 133, 152, 156, 157, 1754 134, 186, 87, 153, 135, 170, 170, 87, 181, 87, 1755 136, 154, 167, 137, 167, 167, 204, 167, 188, 200, 1756 138, 155, 87, 133, 87, 156, 157, 134, 186, 179, 1757 91, 135, 91, 91, 211, 91, 172, 136, 172, 172, 1758 137, 172, 87, 87, 178, 188, 200, 138, 140, 254, 1759 87, 177, 141, 177, 177, 86, 177, 86, 86, 248, 1760 1761 86, 211, 142, 143, 189, 144, 86, 91, 175, 91, 1762 91, 212, 91, 201, 87, 140, 254, 190, 91, 141, 1763 87, 87, 193, 194, 173, 87, 248, 171, 87, 142, 1764 143, 189, 144, 145, 207, 87, 146, 169, 212, 213, 1765 201, 87, 205, 147, 190, 92, 195, 148, 149, 193, 1766 194, 206, 196, 202, 197, 87, 198, 199, 180, 180, 1767 145, 207, 87, 146, 87, 87, 213, 87, 215, 205, 1768 147, 203, 233, 195, 148, 149, 221, 168, 206, 196, 1769 216, 197, 214, 198, 199, 87, 208, 209, 217, 87, 1770 87, 218, 87, 87, 210, 215, 497, 224, 203, 233, 1771 1772 222, 166, 87, 223, 219, 220, 236, 216, 87, 214, 1773 164, 87, 87, 208, 209, 217, 226, 225, 218, 87, 1774 227, 210, 231, 232, 224, 87, 87, 222, 238, 229, 1775 223, 219, 220, 236, 230, 87, 228, 87, 234, 237, 1776 87, 239, 87, 226, 225, 235, 87, 227, 87, 231, 1777 232, 240, 87, 241, 242, 238, 229, 87, 243, 87, 1778 244, 230, 87, 228, 245, 234, 237, 87, 239, 247, 1779 246, 3904, 235, 3904, 87, 250, 87, 87, 240, 249, 1780 241, 242, 87, 253, 251, 243, 87, 244, 256, 262, 1781 252, 245, 255, 259, 362, 87, 247, 246, 87, 257, 1782 1783 87, 260, 250, 258, 87, 263, 249, 87, 87, 261, 1784 253, 251, 87, 268, 349, 256, 262, 252, 266, 255, 1785 259, 362, 264, 3904, 87, 265, 257, 269, 270, 267, 1786 258, 87, 263, 87, 87, 87, 261, 271, 87, 3904, 1787 268, 272, 275, 276, 277, 266, 87, 3904, 87, 264, 1788 273, 278, 265, 279, 269, 270, 267, 87, 280, 87, 1789 87, 281, 274, 3904, 271, 87, 87, 3904, 272, 275, 1790 276, 277, 3904, 284, 87, 87, 87, 273, 278, 167, 1791 279, 167, 167, 282, 167, 280, 283, 285, 281, 274, 1792 172, 3904, 172, 172, 91, 172, 91, 91, 177, 91, 1793 1794 177, 177, 286, 177, 287, 87, 291, 173, 87, 3904, 1795 282, 87, 293, 283, 285, 288, 87, 289, 292, 87, 1796 87, 295, 87, 294, 290, 297, 3904, 296, 298, 286, 1797 353, 287, 175, 291, 87, 87, 87, 87, 301, 293, 1798 87, 87, 288, 87, 289, 292, 87, 299, 295, 302, 1799 294, 290, 297, 300, 296, 298, 303, 315, 304, 318, 1800 306, 316, 87, 314, 307, 301, 317, 87, 1269, 1025, 1801 319, 87, 87, 320, 323, 356, 302, 3904, 332, 87, 1802 300, 308, 87, 303, 315, 304, 318, 87, 87, 87, 1803 314, 307, 87, 87, 322, 87, 321, 319, 87, 87, 1804 1805 320, 87, 324, 328, 325, 332, 87, 87, 308, 309, 1806 329, 87, 326, 327, 310, 3904, 87, 342, 3904, 311, 1807 333, 322, 87, 321, 87, 312, 313, 87, 87, 324, 1808 328, 325, 87, 334, 87, 330, 309, 329, 331, 326, 1809 327, 310, 87, 3904, 342, 340, 311, 333, 344, 341, 1810 87, 348, 312, 313, 3904, 87, 87, 345, 87, 350, 1811 334, 357, 330, 372, 3904, 331, 335, 87, 346, 336, 1812 358, 337, 340, 351, 87, 344, 341, 354, 348, 361, 1813 352, 87, 363, 338, 87, 339, 87, 364, 357, 87, 1814 372, 87, 87, 335, 87, 346, 336, 365, 337, 87, 1815 1816 351, 359, 87, 87, 354, 370, 360, 352, 366, 363, 1817 338, 87, 339, 368, 364, 369, 87, 367, 87, 87, 1818 374, 371, 87, 375, 365, 373, 87, 378, 359, 379, 1819 87, 87, 370, 360, 87, 366, 376, 87, 87, 380, 1820 368, 377, 369, 87, 367, 382, 381, 374, 371, 87, 1821 375, 87, 373, 385, 378, 386, 379, 387, 383, 384, 1822 3904, 388, 87, 392, 87, 389, 380, 87, 87, 87, 1823 390, 391, 393, 381, 394, 395, 397, 87, 87, 396, 1824 385, 399, 87, 87, 387, 383, 384, 87, 388, 87, 1825 87, 87, 389, 398, 87, 87, 402, 390, 391, 400, 1826 1827 403, 394, 407, 397, 87, 405, 396, 87, 87, 87, 1828 3904, 406, 412, 409, 410, 408, 411, 404, 87, 87, 1829 398, 87, 401, 87, 87, 87, 414, 403, 87, 407, 1830 173, 87, 405, 87, 87, 415, 416, 417, 406, 412, 1831 409, 410, 408, 411, 404, 419, 413, 418, 87, 401, 1832 87, 420, 421, 414, 423, 429, 425, 422, 424, 87, 1833 426, 427, 87, 87, 417, 87, 87, 87, 87, 87, 1834 428, 87, 87, 413, 418, 87, 430, 87, 420, 421, 1835 87, 423, 429, 425, 422, 424, 431, 426, 434, 433, 1836 3904, 435, 3904, 87, 87, 436, 439, 428, 87, 3904, 1837 1838 3904, 440, 87, 430, 444, 437, 87, 441, 442, 446, 1839 448, 451, 87, 431, 87, 434, 433, 87, 435, 438, 1840 87, 443, 436, 439, 87, 87, 87, 445, 440, 87, 1841 447, 87, 437, 449, 441, 442, 87, 87, 451, 452, 1842 87, 87, 87, 453, 454, 456, 438, 460, 443, 3904, 1843 450, 459, 87, 457, 445, 87, 87, 447, 458, 461, 1844 449, 87, 87, 3904, 87, 87, 452, 463, 455, 471, 1845 462, 519, 456, 87, 460, 87, 87, 450, 459, 87, 1846 457, 464, 465, 87, 466, 458, 461, 467, 468, 87, 1847 87, 87, 470, 472, 463, 455, 87, 462, 473, 3904, 1848 1849 481, 87, 483, 87, 490, 469, 3904, 87, 464, 465, 1850 87, 466, 87, 87, 467, 468, 491, 87, 87, 470, 1851 472, 3904, 526, 499, 87, 473, 482, 481, 87, 483, 1852 87, 490, 469, 474, 498, 87, 492, 495, 475, 493, 1853 494, 476, 496, 491, 3904, 502, 477, 478, 479, 480, 1854 87, 87, 3904, 482, 87, 3904, 87, 87, 87, 503, 1855 474, 498, 506, 492, 87, 475, 493, 494, 476, 87, 1856 508, 87, 502, 477, 478, 479, 480, 484, 500, 485, 1857 87, 501, 507, 3904, 504, 505, 503, 510, 87, 506, 1858 511, 486, 487, 488, 87, 489, 512, 87, 87, 509, 1859 1860 87, 87, 514, 513, 484, 500, 485, 3904, 501, 507, 1861 515, 504, 505, 87, 510, 87, 87, 511, 486, 487, 1862 488, 87, 489, 512, 87, 87, 509, 516, 518, 514, 1863 513, 517, 524, 3904, 520, 87, 521, 515, 87, 87, 1864 87, 3904, 525, 527, 528, 522, 3904, 3904, 533, 530, 1865 529, 531, 523, 540, 516, 518, 538, 1430, 517, 524, 1866 87, 520, 532, 521, 87, 87, 87, 539, 534, 525, 1867 527, 528, 522, 87, 87, 87, 530, 529, 531, 523, 1868 87, 535, 541, 538, 536, 87, 537, 87, 542, 532, 1869 555, 3904, 87, 87, 539, 534, 556, 87, 574, 576, 1870 1871 558, 3904, 3904, 575, 3904, 561, 3904, 559, 535, 87, 1872 87, 536, 87, 537, 557, 542, 543, 555, 544, 87, 1873 87, 562, 560, 556, 545, 563, 3904, 558, 546, 87, 1874 87, 87, 561, 547, 559, 87, 548, 3904, 87, 3904, 1875 573, 557, 87, 543, 572, 544, 3904, 577, 562, 560, 1876 581, 545, 563, 579, 578, 546, 87, 584, 87, 173, 1877 547, 580, 87, 548, 549, 582, 550, 573, 87, 87, 1878 583, 572, 586, 87, 577, 599, 585, 581, 87, 551, 1879 579, 578, 552, 87, 553, 87, 554, 589, 580, 87, 1880 87, 549, 582, 550, 587, 588, 590, 583, 3904, 586, 1881 1882 3904, 87, 606, 585, 87, 593, 551, 87, 87, 552, 1883 594, 553, 87, 554, 564, 565, 591, 87, 595, 87, 1884 600, 587, 588, 590, 566, 567, 568, 569, 570, 606, 1885 87, 571, 593, 601, 592, 596, 598, 594, 87, 87, 1886 87, 564, 565, 591, 597, 595, 87, 600, 87, 602, 1887 603, 566, 567, 568, 569, 570, 604, 87, 571, 87, 1888 601, 592, 596, 598, 87, 605, 87, 607, 608, 87, 1889 3904, 597, 609, 610, 3904, 611, 602, 603, 87, 612, 1890 613, 614, 87, 604, 616, 615, 87, 3904, 617, 3904, 1891 87, 87, 87, 621, 607, 608, 624, 87, 87, 618, 1892 1893 619, 87, 611, 640, 3904, 3904, 612, 613, 614, 87, 1894 87, 616, 615, 622, 627, 617, 87, 620, 626, 629, 1895 621, 625, 87, 624, 87, 87, 618, 619, 623, 87, 1896 87, 642, 87, 628, 641, 87, 87, 630, 631, 643, 1897 622, 627, 87, 645, 620, 626, 629, 648, 625, 632, 1898 644, 633, 87, 87, 654, 623, 87, 646, 642, 647, 1899 628, 641, 87, 87, 630, 631, 643, 650, 87, 649, 1900 87, 652, 3904, 658, 648, 87, 632, 644, 633, 634, 1901 87, 87, 655, 651, 646, 653, 647, 635, 636, 87, 1902 87, 637, 638, 87, 650, 639, 649, 87, 652, 87, 1903 1904 657, 87, 656, 659, 87, 87, 634, 662, 660, 655, 1905 651, 661, 653, 87, 635, 636, 87, 663, 637, 638, 1906 664, 667, 639, 87, 665, 87, 87, 657, 669, 656, 1907 659, 87, 666, 668, 662, 660, 87, 87, 661, 87, 1908 87, 670, 87, 671, 663, 3904, 672, 664, 667, 673, 1909 87, 665, 87, 674, 675, 669, 87, 676, 3904, 666, 1910 668, 677, 682, 678, 3904, 680, 3904, 87, 670, 681, 1911 671, 87, 87, 672, 87, 87, 673, 87, 683, 685, 1912 674, 675, 687, 679, 676, 87, 689, 87, 677, 87, 1913 678, 87, 680, 684, 87, 686, 681, 688, 87, 87, 1914 1915 87, 87, 691, 87, 87, 683, 685, 690, 87, 687, 1916 679, 701, 694, 689, 87, 696, 692, 87, 693, 695, 1917 684, 87, 686, 697, 688, 87, 87, 698, 700, 691, 1918 699, 702, 3904, 87, 690, 708, 87, 703, 701, 694, 1919 704, 705, 706, 692, 87, 693, 695, 87, 87, 707, 1920 697, 709, 712, 87, 711, 87, 87, 699, 702, 87, 1921 87, 87, 708, 710, 703, 87, 714, 704, 705, 706, 1922 87, 3904, 715, 718, 717, 713, 707, 716, 87, 87, 1923 87, 711, 87, 87, 87, 719, 720, 722, 3904, 3904, 1924 710, 721, 3904, 714, 87, 87, 87, 725, 724, 715, 1925 1926 718, 717, 713, 87, 716, 723, 87, 736, 87, 87, 1927 734, 87, 719, 720, 722, 735, 87, 87, 721, 87, 1928 737, 87, 738, 739, 725, 724, 765, 3904, 740, 775, 1929 87, 87, 723, 726, 736, 3904, 770, 734, 727, 87, 1930 728, 741, 735, 87, 744, 87, 729, 737, 730, 738, 1931 739, 731, 732, 765, 745, 740, 87, 87, 733, 87, 1932 726, 87, 742, 770, 87, 727, 743, 728, 741, 747, 1933 749, 744, 748, 729, 746, 730, 87, 750, 731, 732, 1934 87, 745, 3904, 752, 87, 733, 755, 751, 87, 742, 1935 87, 753, 754, 743, 757, 87, 747, 749, 756, 748, 1936 1937 759, 746, 87, 760, 758, 87, 87, 761, 780, 87, 1938 752, 762, 3904, 755, 751, 87, 87, 763, 753, 754, 1939 87, 757, 87, 87, 764, 756, 87, 759, 766, 767, 1940 760, 758, 87, 768, 761, 772, 769, 771, 762, 776, 1941 87, 87, 773, 87, 763, 774, 777, 87, 87, 778, 1942 87, 764, 87, 87, 87, 766, 767, 87, 87, 781, 1943 768, 779, 772, 769, 771, 87, 776, 783, 173, 773, 1944 782, 87, 774, 777, 87, 784, 778, 786, 785, 87, 1945 87, 787, 788, 789, 790, 791, 781, 792, 779, 87, 1946 87, 793, 3904, 3904, 783, 796, 794, 782, 798, 87, 1947 1948 87, 795, 784, 87, 786, 785, 87, 87, 787, 87, 1949 797, 790, 799, 810, 87, 87, 803, 87, 793, 87, 1950 87, 87, 796, 794, 800, 798, 806, 87, 795, 807, 1951 804, 801, 87, 808, 802, 805, 87, 797, 811, 799, 1952 87, 812, 87, 803, 813, 87, 816, 814, 817, 3904, 1953 819, 800, 815, 806, 87, 87, 87, 818, 801, 820, 1954 87, 802, 87, 821, 822, 87, 828, 824, 87, 823, 1955 841, 87, 87, 816, 87, 817, 87, 819, 825, 87, 1956 826, 87, 87, 87, 818, 827, 820, 830, 87, 87, 1957 821, 822, 829, 87, 824, 831, 823, 835, 87, 87, 1958 1959 833, 832, 87, 834, 87, 825, 3904, 826, 87, 87, 1960 87, 836, 827, 87, 830, 837, 3904, 87, 838, 829, 1961 839, 842, 831, 87, 835, 840, 87, 833, 832, 87, 1962 834, 87, 87, 843, 852, 848, 871, 87, 836, 849, 1963 851, 850, 837, 87, 87, 838, 87, 839, 842, 844, 1964 87, 87, 840, 853, 845, 856, 87, 846, 847, 854, 1965 843, 852, 848, 87, 858, 87, 849, 851, 850, 3904, 1966 855, 857, 87, 87, 3904, 87, 844, 859, 3904, 863, 1967 853, 845, 87, 862, 846, 847, 854, 87, 87, 87, 1968 864, 858, 3904, 861, 867, 868, 865, 855, 857, 860, 1969 1970 87, 87, 866, 87, 859, 87, 863, 87, 869, 87, 1971 862, 87, 87, 872, 87, 874, 873, 864, 870, 876, 1972 861, 867, 868, 865, 87, 87, 860, 875, 877, 866, 1973 87, 87, 87, 87, 878, 869, 879, 87, 880, 87, 1974 872, 881, 874, 873, 893, 870, 876, 882, 883, 884, 1975 3904, 87, 87, 885, 875, 877, 887, 886, 888, 889, 1976 890, 878, 87, 879, 87, 895, 891, 87, 881, 894, 1977 87, 87, 87, 87, 882, 896, 87, 87, 87, 898, 1978 885, 87, 892, 887, 886, 888, 889, 890, 87, 899, 1979 87, 87, 897, 891, 87, 908, 894, 87, 900, 87, 1980 1981 87, 87, 896, 901, 902, 3904, 898, 903, 910, 892, 1982 904, 911, 909, 3904, 913, 912, 899, 905, 87, 897, 1983 87, 87, 87, 914, 906, 907, 87, 87, 915, 918, 1984 87, 902, 87, 87, 903, 910, 920, 904, 911, 909, 1985 87, 913, 912, 87, 905, 916, 921, 919, 87, 922, 1986 914, 906, 907, 924, 923, 915, 935, 925, 87, 87, 1987 917, 87, 87, 920, 926, 928, 3904, 927, 930, 87, 1988 929, 3904, 916, 921, 919, 87, 87, 87, 3904, 87, 1989 924, 87, 945, 937, 925, 936, 985, 917, 87, 87, 1990 87, 926, 928, 931, 927, 930, 932, 929, 933, 938, 1991 1992 934, 87, 87, 939, 940, 87, 87, 87, 87, 941, 1993 937, 87, 936, 87, 87, 87, 3904, 87, 87, 942, 1994 931, 944, 946, 932, 947, 933, 938, 934, 943, 87, 1995 939, 940, 948, 87, 949, 950, 941, 87, 3904, 954, 1996 952, 87, 87, 87, 951, 953, 942, 87, 944, 946, 1997 87, 947, 87, 960, 87, 943, 955, 1003, 962, 948, 1998 3904, 949, 950, 87, 3904, 87, 954, 952, 956, 957, 1999 958, 951, 953, 959, 961, 87, 963, 87, 87, 964, 2000 960, 87, 965, 955, 87, 962, 966, 87, 968, 87, 2001 87, 967, 87, 971, 969, 956, 957, 958, 3904, 87, 2002 2003 959, 961, 87, 963, 87, 87, 964, 87, 970, 965, 2004 87, 972, 973, 966, 976, 968, 87, 974, 967, 975, 2005 971, 969, 87, 977, 978, 980, 3904, 979, 3904, 981, 2006 982, 87, 3904, 87, 87, 970, 87, 87, 972, 973, 2007 983, 976, 87, 87, 974, 87, 975, 87, 87, 984, 2008 977, 978, 980, 986, 979, 987, 981, 982, 87, 989, 2009 988, 991, 3904, 990, 87, 992, 995, 983, 994, 3904, 2010 996, 993, 87, 87, 87, 173, 984, 3904, 997, 87, 2011 986, 87, 987, 87, 87, 1000, 989, 988, 991, 87, 2012 990, 1001, 992, 87, 998, 994, 87, 996, 993, 999, 2013 2014 1002, 1006, 1004, 1010, 1005, 997, 1007, 87, 87, 87, 2015 87, 87, 1000, 1008, 1009, 87, 1011, 1012, 1001, 1013, 2016 1015, 87, 87, 87, 87, 1014, 87, 1002, 1006, 1004, 2017 1016, 1005, 1027, 1007, 87, 87, 87, 87, 3904, 87, 2018 1008, 1009, 1024, 1026, 1012, 1028, 1013, 1015, 87, 1040, 2019 87, 3904, 1014, 87, 87, 1029, 3904, 1016, 1017, 1027, 2020 87, 1018, 1031, 1030, 1033, 1019, 87, 1034, 1020, 1024, 2021 1026, 3904, 1028, 1035, 1063, 1021, 1022, 3904, 1023, 1064, 2022 87, 87, 1029, 87, 87, 1017, 1032, 87, 1018, 1031, 2023 1030, 1033, 1019, 87, 1034, 1020, 1036, 87, 1037, 87, 2024 2025 1035, 1038, 1021, 1022, 1039, 1023, 87, 87, 3904, 1049, 2026 3904, 87, 87, 1032, 87, 1050, 87, 1052, 1051, 1054, 2027 3904, 1058, 87, 1036, 87, 1037, 87, 1062, 1038, 87, 2028 1053, 1039, 1041, 1042, 3904, 1043, 1049, 87, 1044, 1057, 2029 1055, 3904, 1050, 1045, 1052, 1051, 1054, 1059, 1058, 1046, 2030 1047, 87, 1048, 87, 1062, 1065, 1056, 1053, 87, 1041, 2031 1042, 87, 1043, 87, 1066, 1044, 1057, 1055, 1060, 87, 2032 1045, 1061, 1067, 87, 1059, 87, 1046, 1047, 1068, 1048, 2033 87, 1069, 1065, 1056, 87, 1073, 1071, 1070, 1075, 1072, 2034 87, 1066, 1074, 1076, 3904, 1060, 1081, 1078, 1061, 1067, 2035 2036 87, 87, 1077, 87, 87, 1068, 1085, 87, 1069, 87, 2037 87, 87, 87, 1071, 1070, 1075, 1072, 87, 1079, 1074, 2038 1076, 1080, 87, 1081, 1078, 87, 87, 1082, 1083, 1077, 2039 1084, 1088, 87, 1085, 1087, 87, 87, 1086, 1089, 87, 2040 87, 1090, 1091, 87, 1094, 1079, 87, 1092, 1080, 87, 2041 1095, 1096, 1093, 1099, 1082, 1083, 1101, 1084, 1088, 1097, 2042 87, 1087, 1100, 87, 1086, 1098, 87, 87, 1090, 87, 2043 87, 1094, 87, 1102, 1103, 1104, 1105, 1106, 1096, 87, 2044 1108, 1107, 87, 1110, 87, 87, 1097, 1109, 87, 1100, 2045 87, 1112, 1098, 1111, 87, 87, 87, 87, 1114, 87, 2046 2047 1102, 1103, 1104, 87, 87, 87, 1113, 1108, 1107, 87, 2048 1110, 87, 1116, 1115, 1109, 87, 87, 1117, 1112, 1118, 2049 1111, 87, 1119, 1120, 1122, 1114, 3904, 1121, 3904, 1123, 2050 1124, 1125, 87, 1113, 87, 87, 87, 1127, 87, 87, 2051 1115, 1126, 1128, 1129, 1117, 3904, 1118, 87, 87, 87, 2052 1130, 1122, 1131, 87, 1121, 87, 1123, 1124, 1125, 87, 2053 87, 1132, 1133, 87, 1127, 87, 1138, 87, 1126, 1128, 2054 1129, 1134, 87, 1135, 1137, 1140, 1147, 1130, 1136, 1131, 2055 87, 1141, 1139, 87, 1152, 87, 1143, 87, 1132, 1133, 2056 1146, 87, 87, 1138, 87, 87, 1144, 1142, 1134, 87, 2057 2058 87, 1137, 1140, 87, 1145, 87, 1148, 1149, 1141, 1139, 2059 1150, 1152, 87, 1143, 1151, 87, 87, 1146, 1153, 3904, 2060 87, 1154, 1156, 1144, 1142, 87, 87, 1158, 1155, 87, 2061 1159, 1145, 1161, 1148, 1149, 87, 87, 1150, 1157, 87, 2062 87, 1151, 87, 1160, 1162, 1153, 1163, 1164, 1154, 1156, 2063 87, 87, 1165, 1166, 1158, 1155, 1167, 1159, 87, 1168, 2064 87, 87, 87, 1169, 87, 1157, 87, 1170, 1171, 1174, 2065 1160, 1162, 1176, 1163, 1164, 1173, 87, 87, 87, 1165, 2066 1166, 1175, 87, 1167, 1172, 1182, 1168, 87, 87, 87, 2067 1169, 87, 87, 1177, 1170, 87, 1174, 1179, 1178, 1176, 2068 2069 87, 3904, 1173, 87, 1183, 87, 1180, 1181, 1175, 1185, 2070 1184, 1172, 1187, 87, 87, 1186, 1188, 87, 1189, 87, 2071 1177, 3904, 1190, 87, 1179, 1178, 1196, 1191, 87, 1194, 2072 1197, 1198, 1192, 1180, 1181, 87, 87, 1184, 1195, 1187, 2073 1193, 87, 1186, 1202, 87, 87, 1199, 87, 87, 1190, 2074 87, 87, 87, 1196, 1191, 1200, 1194, 1201, 1204, 1192, 2075 1205, 1203, 87, 87, 87, 1195, 1206, 1193, 87, 87, 2076 87, 87, 1207, 1199, 1211, 87, 1208, 3904, 1213, 1212, 2077 87, 1214, 1200, 1215, 1201, 87, 1218, 1205, 1203, 1209, 2078 87, 1210, 1216, 1206, 87, 1217, 3904, 87, 87, 1207, 2079 2080 87, 1219, 87, 1208, 87, 1213, 173, 1220, 1214, 87, 2081 1215, 1221, 1222, 1218, 87, 87, 1209, 3904, 1210, 1216, 2082 1223, 1225, 1217, 87, 1227, 87, 1226, 1234, 1219, 1235, 2083 87, 1224, 3904, 87, 1220, 87, 1238, 1236, 1221, 1222, 2084 3904, 1239, 3904, 87, 87, 3904, 3904, 1223, 1225, 87, 2085 3904, 1227, 3904, 1226, 1234, 87, 1235, 1237, 1224, 1228, 2086 87, 1229, 1243, 87, 1236, 1230, 3904, 1231, 1239, 87, 2087 1240, 1241, 1232, 1242, 87, 3904, 1247, 1233, 1244, 1245, 2088 87, 1248, 1246, 87, 1237, 1249, 1228, 3904, 1229, 1243, 2089 1259, 87, 1230, 87, 1231, 87, 1257, 1240, 1241, 1232, 2090 2091 1242, 87, 1250, 87, 1233, 1244, 1245, 1251, 87, 1246, 2092 1253, 1254, 1249, 1256, 1258, 87, 1268, 87, 87, 1252, 2093 1260, 1255, 87, 1257, 1262, 1266, 87, 87, 87, 1250, 2094 87, 1261, 1263, 87, 1251, 1264, 1267, 1253, 1254, 1265, 2095 1256, 1258, 87, 87, 87, 1270, 1252, 1260, 1255, 1590, 2096 1591, 1262, 1281, 1282, 87, 1271, 87, 87, 1261, 1263, 2097 87, 87, 1264, 1272, 1273, 3904, 1265, 87, 87, 1284, 2098 3904, 87, 1294, 87, 1283, 87, 1285, 87, 87, 1281, 2099 1282, 1287, 1271, 3904, 87, 1286, 1291, 87, 3904, 1301, 2100 1272, 1273, 1274, 1288, 87, 3904, 1284, 1275, 1289, 1276, 2101 2102 87, 1283, 87, 1285, 87, 1277, 87, 87, 1287, 87, 2103 1278, 1279, 1286, 1291, 1290, 1292, 87, 1280, 87, 1274, 2104 1288, 1295, 1293, 87, 1275, 1289, 1276, 87, 1298, 1304, 2105 1296, 1297, 1277, 87, 3904, 1309, 3904, 1278, 1279, 87, 2106 87, 1290, 1292, 87, 1280, 87, 1302, 1299, 1295, 1293, 2107 1300, 1305, 1308, 1303, 1306, 1298, 87, 1296, 1297, 87, 2108 87, 87, 87, 1307, 1310, 1312, 87, 87, 1311, 87, 2109 1313, 1314, 1315, 1302, 1299, 87, 87, 1300, 1305, 1308, 2110 1303, 1306, 87, 87, 1316, 87, 87, 1318, 87, 1319, 2111 1307, 1310, 1312, 1317, 1320, 1311, 87, 1313, 1314, 1321, 2112 2113 1323, 87, 87, 1322, 87, 1324, 1325, 87, 1326, 87, 2114 87, 1316, 1327, 1328, 1318, 87, 1319, 1329, 1334, 1333, 2115 1317, 1320, 87, 87, 87, 87, 1321, 1323, 87, 87, 2116 1322, 1331, 1324, 1325, 1330, 1326, 1336, 1345, 87, 1327, 2117 1332, 87, 87, 1335, 1329, 87, 1333, 87, 1337, 87, 2118 87, 87, 1338, 1343, 1339, 1340, 1341, 87, 1331, 1344, 2119 1346, 1330, 1342, 1336, 87, 3904, 3904, 1332, 3904, 87, 2120 1335, 87, 1347, 3904, 3904, 1337, 87, 87, 87, 1338, 2121 1343, 1339, 1340, 1341, 87, 87, 1344, 1349, 1348, 1342, 2122 87, 1350, 87, 1351, 1353, 1355, 1357, 1354, 1352, 1347, 2123 2124 87, 87, 87, 1356, 1358, 1359, 1360, 87, 1361, 87, 2125 3904, 87, 1364, 1366, 1349, 1348, 87, 87, 1350, 3904, 2126 87, 1353, 1355, 1357, 1354, 87, 87, 87, 1362, 1363, 2127 1356, 1358, 1359, 1360, 1367, 1361, 1365, 1368, 1369, 3904, 2128 1370, 87, 87, 87, 87, 87, 87, 1371, 1372, 1375, 2129 1373, 87, 3904, 3904, 87, 1362, 1363, 1374, 1379, 87, 2130 87, 1367, 1376, 1365, 1368, 1369, 87, 1370, 1377, 1378, 2131 1381, 87, 87, 87, 1371, 1372, 1375, 1373, 1380, 87, 2132 87, 87, 1382, 1384, 1374, 1379, 1383, 1385, 3904, 1376, 2133 87, 87, 87, 1386, 1388, 1377, 1378, 1381, 1387, 87, 2134 2135 1389, 1390, 1395, 87, 1391, 1380, 1393, 87, 1394, 1382, 2136 87, 87, 87, 1383, 87, 87, 1392, 1396, 87, 1397, 2137 1386, 1388, 87, 87, 1400, 1387, 87, 1389, 1390, 1402, 2138 87, 1391, 1398, 1393, 87, 1394, 1399, 1404, 1401, 1406, 2139 1403, 1405, 3904, 1392, 3904, 1408, 87, 1407, 87, 87, 2140 3904, 87, 1409, 1411, 87, 1410, 87, 1412, 87, 1398, 2141 87, 87, 87, 1399, 1404, 1401, 87, 1403, 1405, 87, 2142 87, 87, 87, 87, 1407, 87, 1414, 1413, 1415, 1409, 2143 1411, 1416, 1410, 1418, 1412, 87, 1419, 1417, 1420, 1421, 2144 1422, 1425, 87, 3904, 3904, 3904, 87, 87, 1424, 1423, 2145 2146 87, 87, 87, 1414, 1413, 1415, 1427, 3904, 1416, 87, 2147 1418, 87, 1428, 1419, 1417, 1420, 1426, 1432, 87, 87, 2148 87, 87, 87, 1429, 87, 1424, 1423, 87, 1431, 1434, 2149 1433, 87, 87, 1427, 1435, 87, 1436, 87, 87, 1428, 2150 1437, 1438, 87, 1426, 1432, 1441, 1442, 1439, 1440, 1444, 2151 1429, 1450, 173, 1443, 87, 1431, 1434, 1433, 1448, 87, 2152 87, 1435, 1445, 1436, 87, 87, 1447, 87, 1438, 87, 2153 87, 1451, 1441, 1442, 1439, 1440, 1444, 1446, 87, 1449, 2154 1443, 1452, 1453, 87, 87, 87, 87, 1454, 1455, 1445, 2155 1457, 1456, 1458, 1447, 87, 87, 3904, 3904, 87, 1460, 2156 2157 87, 1461, 1467, 87, 1446, 87, 1449, 1459, 1452, 1453, 2158 87, 1463, 87, 87, 1454, 1455, 87, 1457, 1456, 1458, 2159 87, 87, 1462, 1464, 1465, 1466, 1460, 1468, 1461, 87, 2160 87, 3904, 1469, 87, 1459, 87, 87, 1471, 1463, 1470, 2161 87, 1472, 1473, 87, 1479, 3904, 87, 1480, 3904, 1462, 2162 1464, 1465, 1466, 87, 1468, 87, 3904, 87, 1474, 1469, 2163 1481, 1475, 1482, 87, 1471, 87, 1470, 87, 1472, 1473, 2164 1476, 1479, 1477, 87, 1480, 1478, 1483, 1484, 1492, 1489, 2165 1488, 1485, 87, 87, 1486, 1474, 1487, 1481, 1475, 87, 2166 87, 1518, 87, 1497, 1493, 87, 87, 1476, 87, 1477, 2167 2168 1491, 87, 1478, 1483, 1484, 87, 1489, 1488, 1485, 1490, 2169 87, 1486, 1494, 1487, 1495, 87, 87, 87, 1496, 3904, 2170 87, 1493, 1498, 87, 1499, 87, 87, 1491, 1500, 1502, 2171 87, 1501, 1503, 3904, 3904, 87, 1490, 3904, 3904, 1494, 2172 1519, 1495, 1504, 3904, 87, 1496, 87, 87, 1505, 1498, 2173 87, 1499, 87, 87, 87, 1500, 1502, 1506, 1501, 1503, 2174 87, 1507, 1509, 1510, 1511, 87, 1513, 1519, 1512, 1504, 2175 1508, 1514, 87, 1515, 87, 1505, 87, 3904, 3904, 87, 2176 87, 3904, 3904, 87, 1506, 87, 1517, 1516, 1507, 1509, 2177 1510, 1511, 1521, 1513, 87, 1512, 1520, 1508, 1514, 87, 2178 2179 1515, 1523, 87, 87, 1522, 1524, 1526, 1525, 87, 87, 2180 87, 1528, 1527, 1517, 1516, 87, 87, 1530, 1529, 1521, 2181 87, 3904, 3904, 1520, 87, 87, 1531, 1532, 1523, 1533, 2182 1534, 1522, 1524, 1526, 1525, 1535, 1536, 87, 87, 1527, 2183 87, 1542, 1538, 87, 1537, 1529, 87, 1539, 87, 87, 2184 1543, 1541, 1540, 1531, 1532, 87, 1533, 1534, 87, 87, 2185 87, 1553, 1535, 1536, 87, 1558, 3904, 1551, 1542, 1554, 2186 3904, 1537, 1552, 1557, 87, 3904, 87, 1543, 1541, 1540, 2187 1544, 87, 1555, 1559, 1545, 1556, 3904, 1546, 1547, 1568, 2188 87, 87, 1548, 87, 1551, 87, 1554, 87, 1549, 1552, 2189 2190 1557, 1560, 1550, 1569, 87, 87, 87, 1544, 87, 1555, 2191 1559, 1545, 1556, 1561, 1546, 1547, 1562, 3904, 1563, 1548, 2192 1566, 87, 87, 87, 1564, 1549, 1565, 87, 1560, 1550, 2193 1570, 1571, 1567, 1574, 1573, 87, 1576, 1578, 1621, 87, 2194 1561, 87, 3904, 1562, 87, 1563, 87, 1566, 87, 87, 2195 1577, 1564, 1579, 1565, 87, 1572, 87, 1570, 1571, 1567, 2196 1574, 1573, 87, 1575, 1580, 87, 1581, 3904, 87, 87, 2197 1587, 87, 87, 1588, 87, 1593, 3904, 1577, 3904, 1579, 2198 87, 1589, 1572, 1594, 3904, 3904, 87, 87, 1592, 1595, 2199 1575, 1580, 87, 1581, 1582, 87, 87, 1587, 87, 1583, 2200 2201 1588, 1584, 1593, 1585, 87, 1586, 1597, 87, 1589, 1596, 2202 1594, 1600, 87, 1601, 1598, 1592, 1595, 1602, 87, 1599, 2203 1603, 1582, 87, 1605, 87, 1609, 1583, 1610, 1584, 87, 2204 1585, 87, 1586, 1597, 1611, 1604, 1596, 1606, 1600, 1608, 2205 1601, 87, 87, 1607, 1602, 87, 87, 1603, 87, 87, 2206 1605, 87, 87, 87, 1610, 1612, 1613, 87, 1614, 1615, 2207 1616, 1611, 1604, 1619, 1606, 87, 1608, 1618, 1617, 87, 2208 1607, 1620, 87, 1623, 87, 1624, 87, 1622, 87, 3904, 2209 87, 1625, 1612, 1613, 1630, 1614, 1615, 1616, 87, 87, 2210 1619, 1626, 1627, 87, 1618, 1617, 1632, 87, 1620, 1628, 2211 2212 87, 1633, 1624, 1629, 1622, 1631, 87, 87, 1625, 1634, 2213 1635, 87, 87, 1638, 87, 87, 87, 1639, 1626, 1627, 2214 1643, 87, 1641, 87, 87, 3904, 1628, 87, 1633, 1636, 2215 1629, 87, 1631, 1637, 1642, 87, 1634, 1635, 1640, 87, 2216 87, 87, 1644, 1646, 1639, 1645, 87, 1648, 87, 1641, 2217 1647, 1651, 87, 1650, 1649, 1664, 1636, 1653, 1665, 87, 2218 1637, 1642, 1652, 87, 87, 1640, 87, 87, 87, 1644, 2219 1646, 87, 1645, 87, 1648, 87, 1654, 1647, 1651, 87, 2220 1650, 1649, 1655, 1656, 1653, 1658, 1657, 87, 1660, 1652, 2221 87, 3904, 1659, 3904, 3904, 87, 1661, 87, 1662, 1666, 2222 2223 1667, 1668, 1663, 1654, 87, 3904, 3904, 87, 87, 1655, 2224 1656, 87, 1658, 1657, 87, 1660, 87, 87, 87, 1659, 2225 1669, 87, 87, 1661, 1670, 1662, 1666, 1667, 1671, 1663, 2226 1672, 1675, 87, 87, 1673, 1674, 1676, 1677, 87, 1679, 2227 1678, 87, 87, 1681, 87, 87, 87, 1669, 1682, 1683, 2228 1685, 1670, 173, 87, 87, 1671, 1680, 87, 1675, 1691, 2229 87, 1673, 1674, 1676, 1677, 1684, 1679, 1678, 1690, 3904, 2230 87, 1686, 1688, 1693, 1694, 87, 1683, 1687, 1689, 1692, 2231 87, 87, 87, 1680, 87, 87, 87, 87, 87, 1696, 2232 87, 87, 1684, 1695, 3904, 1690, 1697, 1700, 1686, 1688, 2233 2234 1693, 1694, 87, 87, 1687, 1689, 1692, 1698, 1699, 87, 2235 1702, 1704, 1701, 1706, 1703, 87, 1696, 87, 87, 87, 2236 1695, 87, 1705, 1697, 1700, 1711, 87, 1708, 1707, 1712, 2237 87, 1713, 1709, 87, 1698, 1699, 1710, 87, 1704, 1701, 2238 1706, 1703, 87, 87, 87, 87, 1720, 1719, 87, 1705, 2239 1714, 3904, 1711, 1722, 1715, 1707, 1712, 1716, 1713, 87, 2240 1724, 1717, 87, 1710, 1718, 87, 87, 1721, 3904, 1723, 2241 1725, 87, 3904, 1720, 1719, 1726, 87, 1714, 1727, 1730, 2242 87, 1715, 3904, 87, 1716, 87, 87, 1724, 1717, 1728, 2243 87, 1718, 87, 1731, 1721, 1729, 1723, 1732, 1733, 1735, 2244 2245 1737, 87, 87, 1734, 87, 1727, 1730, 87, 1738, 1741, 2246 87, 1736, 1744, 87, 1739, 87, 1728, 87, 87, 87, 2247 1731, 87, 1729, 87, 1732, 1733, 1735, 1737, 1740, 1743, 2248 1734, 1742, 87, 1745, 1746, 1738, 1741, 87, 1736, 1747, 2249 87, 1739, 1752, 1754, 87, 87, 1748, 87, 87, 1751, 2250 1749, 1750, 1753, 3904, 87, 1740, 1743, 87, 1742, 87, 2251 1745, 1746, 87, 87, 87, 87, 1747, 1758, 1756, 1752, 2252 1754, 1755, 87, 1748, 1759, 1760, 1751, 1749, 1750, 1753, 2253 87, 87, 1757, 1762, 1766, 87, 1761, 87, 87, 1763, 2254 87, 1764, 1765, 1767, 1758, 1756, 1773, 87, 1755, 1768, 2255 2256 87, 1759, 1760, 1770, 87, 1774, 1769, 1772, 1775, 1757, 2257 1762, 1766, 1771, 1761, 87, 87, 1763, 1776, 87, 87, 2258 1767, 1780, 1781, 87, 87, 3904, 87, 87, 87, 87, 2259 1770, 1777, 1783, 1769, 1772, 1782, 1784, 87, 1788, 1771, 2260 87, 87, 1785, 87, 1776, 87, 1832, 1787, 87, 1781, 2261 1778, 87, 1779, 87, 1786, 87, 1790, 87, 1777, 1783, 2262 1791, 1789, 1782, 1784, 87, 1788, 87, 87, 87, 1785, 2263 1793, 1792, 1798, 87, 1787, 87, 1800, 1778, 87, 1779, 2264 1794, 1786, 87, 1790, 87, 1795, 1796, 1791, 1789, 1799, 2265 1803, 1797, 1801, 1802, 3904, 87, 87, 1793, 1792, 1798, 2266 2267 87, 87, 87, 1800, 1804, 1805, 1807, 1806, 87, 1808, 2268 1814, 1812, 87, 87, 87, 87, 1799, 1803, 87, 1801, 2269 1802, 1809, 1811, 87, 1813, 87, 87, 1810, 1817, 87, 2270 3904, 1804, 1805, 1807, 1806, 1816, 87, 1815, 1812, 1818, 2271 1819, 87, 87, 87, 1820, 87, 1824, 87, 1809, 1811, 2272 1827, 1813, 87, 1821, 1810, 1822, 87, 1823, 87, 87, 2273 87, 87, 1816, 87, 1815, 87, 1818, 1819, 1825, 1826, 2274 1828, 1820, 1831, 1824, 87, 1829, 87, 1827, 1830, 1833, 2275 1821, 87, 1822, 87, 1823, 1834, 87, 87, 1835, 1836, 2276 1838, 3904, 1837, 3904, 87, 1825, 1826, 1828, 1844, 1831, 2277 2278 1839, 1843, 1829, 87, 87, 1830, 87, 87, 87, 1840, 2279 87, 87, 1834, 1841, 87, 1835, 1836, 1838, 1846, 1837, 2280 1845, 1848, 87, 1849, 1847, 1844, 1842, 1839, 1843, 1851, 2281 87, 87, 87, 1850, 87, 1854, 1840, 1852, 1853, 1856, 2282 1841, 1855, 87, 3904, 1862, 1846, 1857, 1845, 1848, 87, 2283 87, 1847, 87, 1842, 1860, 87, 1863, 1865, 1869, 3904, 2284 1850, 87, 87, 87, 1852, 1853, 1856, 87, 1855, 87, 2285 1858, 1859, 87, 1857, 1867, 1861, 87, 87, 1864, 1866, 2286 87, 1860, 87, 87, 1868, 87, 1870, 87, 1871, 87, 2287 87, 1873, 1872, 87, 3904, 3904, 87, 1858, 1859, 1880, 2288 2289 1877, 1867, 1861, 1874, 3904, 1864, 1866, 1882, 3904, 1875, 2290 87, 1868, 1876, 1870, 87, 87, 87, 87, 87, 1872, 2291 87, 1888, 1878, 87, 87, 1879, 1880, 1877, 87, 1883, 2292 1874, 1881, 87, 87, 1882, 1886, 1875, 1884, 87, 1876, 2293 1885, 87, 1887, 87, 1889, 1890, 3904, 3904, 87, 1878, 2294 1891, 3904, 1879, 87, 1892, 87, 1883, 87, 1881, 87, 2295 1895, 1894, 1886, 87, 1884, 1896, 87, 1885, 87, 1887, 2296 87, 1889, 1890, 1893, 1897, 87, 1898, 1891, 87, 1899, 2297 1900, 1892, 1901, 87, 1903, 1904, 87, 1895, 1894, 1902, 2298 87, 87, 1896, 1910, 1905, 1907, 87, 1906, 87, 3904, 2299 2300 1893, 1897, 87, 1898, 1909, 87, 1899, 87, 1913, 1901, 2301 87, 1903, 1904, 87, 1911, 1908, 1902, 1916, 87, 1912, 2302 87, 1905, 1907, 87, 1906, 1914, 87, 1915, 173, 1917, 2303 1918, 1909, 87, 1919, 1920, 1913, 1924, 1921, 87, 87, 2304 1923, 87, 1908, 87, 1916, 1922, 87, 87, 1925, 87, 2305 87, 1927, 1914, 1929, 1915, 1931, 1917, 1918, 87, 1926, 2306 1919, 1920, 87, 1924, 1921, 1932, 87, 1923, 1933, 1928, 2307 87, 1930, 1922, 87, 1934, 1925, 87, 87, 1927, 87, 2308 1929, 87, 87, 87, 1935, 1936, 1926, 1937, 1940, 1939, 2309 87, 1941, 1932, 1938, 3904, 1933, 1928, 1942, 1930, 3904, 2310 2311 87, 1934, 1946, 1945, 87, 1943, 1944, 87, 1949, 87, 2312 87, 1935, 1936, 87, 87, 1940, 1947, 1954, 1941, 87, 2313 1938, 87, 1950, 87, 87, 87, 1951, 1952, 1948, 1946, 2314 1945, 87, 1943, 1944, 87, 1949, 87, 1955, 87, 87, 2315 1953, 87, 1956, 1947, 1954, 1957, 1962, 3904, 87, 1950, 2316 1958, 87, 87, 1951, 1952, 1948, 1959, 87, 1964, 1960, 2317 87, 1966, 1963, 87, 1955, 1967, 1968, 1953, 87, 1956, 2318 1969, 1961, 1957, 1970, 1965, 1972, 1973, 1958, 87, 87, 2319 87, 1977, 87, 1959, 87, 1964, 1960, 87, 1966, 1963, 2320 1974, 1979, 1967, 1968, 87, 1975, 1971, 1969, 1961, 87, 2321 2322 87, 1965, 1976, 1978, 1987, 87, 1980, 87, 87, 1982, 2323 1983, 1981, 87, 87, 1984, 87, 87, 1974, 1979, 87, 2324 1985, 87, 1975, 1971, 1986, 87, 87, 1988, 87, 1976, 2325 1978, 1987, 3904, 1980, 87, 1989, 1982, 1983, 1981, 87, 2326 1991, 1990, 1992, 1994, 1993, 1995, 87, 1996, 1998, 3904, 2327 87, 1997, 87, 87, 2003, 87, 87, 87, 87, 87, 2328 1999, 87, 1989, 87, 87, 2004, 2000, 87, 1990, 1992, 2329 1994, 1993, 1995, 87, 1996, 1998, 2001, 87, 1997, 87, 2330 2002, 2003, 87, 2005, 2006, 87, 2007, 1999, 2009, 2011, 2331 87, 87, 2004, 2000, 2008, 2010, 87, 2012, 2013, 2014, 2332 2333 3904, 87, 87, 2001, 87, 87, 2019, 2002, 87, 87, 2334 2005, 2006, 87, 2007, 2015, 2009, 2011, 2017, 2018, 2022, 2335 2021, 2008, 2020, 2024, 2012, 2013, 2014, 87, 2023, 87, 2336 3904, 2039, 2016, 87, 87, 87, 87, 2026, 87, 2025, 2337 87, 2015, 87, 87, 2017, 2018, 2022, 2021, 2027, 2020, 2338 2024, 2028, 87, 2029, 87, 2023, 2030, 87, 87, 2016, 2339 2033, 2037, 2038, 87, 2026, 87, 2025, 2031, 2040, 87, 2340 2032, 87, 2034, 2036, 3904, 2027, 87, 2035, 2028, 2043, 2341 2029, 2041, 87, 2030, 87, 87, 87, 2033, 2037, 2038, 2342 2044, 2045, 2042, 2047, 2031, 87, 87, 2032, 2049, 2034, 2343 2344 2036, 87, 2046, 87, 2035, 87, 2043, 2050, 2041, 2048, 2345 87, 2051, 2053, 87, 2054, 87, 2052, 87, 2045, 2042, 2346 2047, 2061, 87, 87, 87, 2049, 2059, 2055, 2060, 2046, 2347 2062, 87, 87, 87, 2050, 87, 2048, 2056, 2051, 2053, 2348 2057, 2054, 2058, 2052, 87, 87, 3904, 2064, 87, 2063, 2349 87, 2067, 2066, 2059, 2055, 87, 87, 2062, 2068, 2065, 2350 87, 87, 87, 2069, 2056, 87, 2070, 2057, 87, 2058, 2351 2071, 2072, 2073, 87, 2064, 2074, 2063, 3904, 2067, 2066, 2352 2075, 87, 2077, 2076, 2084, 87, 2065, 2078, 87, 2080, 2353 87, 2079, 3904, 2070, 87, 2085, 3904, 2071, 2072, 2073, 2354 2355 87, 87, 2074, 2081, 87, 2082, 87, 2075, 2083, 2077, 2356 2076, 2084, 3904, 87, 2078, 87, 2080, 2086, 2079, 2087, 2357 2088, 87, 2085, 87, 2091, 87, 87, 2092, 2089, 87, 2358 2081, 2093, 2082, 2090, 2094, 2083, 87, 87, 2096, 87, 2359 2095, 2097, 2098, 2099, 2086, 2102, 2087, 2088, 2107, 2100, 2360 87, 2091, 2101, 87, 2092, 2104, 87, 2103, 2093, 2105, 2361 87, 2094, 87, 2111, 3904, 87, 87, 2095, 2097, 87, 2362 87, 87, 2106, 2108, 2112, 87, 2100, 87, 87, 2101, 2363 87, 2117, 2104, 2109, 2103, 87, 2105, 87, 2113, 2110, 2364 2114, 2118, 2116, 87, 2115, 87, 87, 2126, 87, 2106, 2365 2366 2108, 2112, 87, 87, 2120, 2127, 2119, 87, 2117, 87, 2367 2109, 87, 2121, 2124, 2122, 2113, 2110, 2114, 2118, 2116, 2368 87, 2115, 87, 2123, 2128, 2130, 87, 87, 2129, 87, 2369 2134, 2120, 2136, 2119, 2125, 2132, 87, 87, 2131, 2121, 2370 87, 2122, 87, 2140, 87, 87, 2133, 2143, 87, 2135, 2371 2123, 2128, 87, 2137, 87, 2129, 2138, 87, 87, 2139, 2372 2145, 2125, 2132, 87, 87, 2131, 2142, 87, 87, 87, 2373 87, 2141, 2144, 2133, 2143, 2146, 2135, 2147, 87, 87, 2374 2137, 2148, 87, 2138, 2151, 87, 2139, 2145, 2152, 87, 2375 2149, 2155, 2153, 2142, 2154, 87, 2156, 87, 2141, 2144, 2376 2377 87, 2150, 2146, 87, 2147, 2157, 87, 2158, 2148, 173, 2378 2160, 2151, 2159, 87, 87, 2152, 87, 2149, 2155, 2153, 2379 87, 2154, 87, 87, 2161, 2162, 2164, 2163, 2150, 2165, 2380 2166, 2171, 2157, 2168, 2158, 2169, 3904, 87, 87, 2159, 2381 87, 87, 2167, 87, 2172, 87, 87, 87, 2170, 87, 2382 2175, 2161, 2162, 2164, 2163, 87, 2165, 2166, 87, 87, 2383 2168, 2173, 2169, 87, 2174, 2176, 2177, 2178, 2179, 2167, 2384 87, 2172, 2180, 87, 2181, 2170, 2183, 87, 2182, 2184, 2385 3904, 3904, 2185, 2187, 3904, 87, 87, 2186, 2173, 87, 2386 87, 2174, 2176, 2177, 87, 2179, 87, 87, 2189, 2192, 2387 2388 3904, 2181, 2194, 87, 87, 2182, 87, 87, 87, 2185, 2389 2187, 2188, 87, 2190, 2186, 2191, 2195, 2193, 87, 2197, 2390 87, 87, 87, 2196, 87, 2189, 2192, 2203, 3904, 2194, 2391 2200, 87, 2205, 2204, 2198, 87, 2206, 87, 2188, 87, 2392 2190, 87, 2191, 2195, 2193, 87, 2197, 2199, 2201, 87, 2393 2196, 2216, 87, 2208, 2203, 2202, 2207, 2200, 2209, 87, 2394 2204, 2198, 87, 2210, 87, 2211, 87, 3904, 87, 2213, 2395 87, 87, 2212, 2217, 2199, 2201, 87, 87, 2216, 87, 2396 2208, 2218, 2202, 2207, 2214, 2209, 2215, 2220, 2219, 2225, 2397 2210, 2221, 2211, 3904, 87, 87, 2213, 87, 2222, 2212, 2398 2399 87, 2223, 2227, 2224, 87, 2229, 2226, 87, 87, 87, 2400 2231, 2214, 2228, 2215, 87, 2219, 87, 87, 2221, 2232, 2401 2235, 2233, 2230, 87, 2234, 2222, 87, 2236, 2223, 87, 2402 2224, 87, 2239, 2226, 87, 2238, 87, 87, 2237, 2228, 2403 2240, 2242, 87, 87, 87, 87, 2232, 2235, 2233, 2230, 2404 2241, 2234, 87, 2243, 87, 2244, 87, 87, 2246, 87, 2405 2254, 2245, 2238, 87, 2263, 2237, 2251, 2240, 2242, 2247, 2406 2248, 2249, 2253, 87, 3904, 87, 2250, 2241, 2252, 87, 2407 2243, 87, 2244, 87, 87, 2258, 2257, 87, 2245, 87, 2408 87, 2263, 87, 2251, 2255, 2256, 2247, 2248, 2249, 2253, 2409 2410 2264, 87, 87, 2250, 2259, 2252, 87, 87, 2262, 2260, 2411 2261, 2266, 2258, 2257, 2265, 2267, 87, 2268, 2270, 2269, 2412 87, 2255, 2256, 87, 87, 87, 87, 2264, 2271, 87, 2413 2272, 2273, 2276, 87, 2274, 2262, 87, 2261, 87, 87, 2414 2275, 2265, 2267, 87, 2268, 87, 2269, 2277, 2279, 2280, 2415 2281, 87, 2282, 2278, 2284, 2271, 87, 2272, 2273, 87, 2416 87, 2274, 2286, 2283, 2285, 2287, 87, 2275, 87, 87, 2417 87, 2288, 87, 87, 87, 87, 2280, 2281, 87, 2282, 2418 2278, 2289, 2290, 2291, 2292, 2295, 87, 87, 2294, 2286, 2419 2283, 2285, 2287, 2297, 87, 2293, 87, 2298, 87, 2296, 2420 2421 87, 2299, 87, 87, 87, 2300, 2301, 2302, 2289, 2290, 2422 2291, 2292, 87, 87, 87, 2294, 2303, 2304, 2306, 2307, 2423 2297, 3904, 2293, 87, 2305, 2308, 2296, 87, 2299, 87, 2424 2312, 2309, 87, 2301, 2302, 2313, 2311, 87, 87, 2314, 2425 2315, 2310, 87, 87, 2304, 2318, 87, 87, 87, 87, 2426 87, 2305, 2308, 87, 87, 2320, 2316, 2312, 2309, 87, 2427 2317, 87, 2313, 2311, 87, 87, 2314, 2315, 2310, 2319, 2428 87, 87, 2318, 2321, 3904, 2324, 2323, 2322, 3904, 2326, 2429 2327, 2329, 2320, 2316, 87, 87, 87, 2317, 87, 2328, 2430 2330, 2325, 2331, 87, 2336, 3904, 2337, 2332, 87, 2334, 2431 2432 87, 87, 2324, 2323, 2322, 87, 2326, 2327, 87, 87, 2433 2335, 87, 2333, 2338, 87, 87, 2328, 2330, 2325, 2331, 2434 87, 2336, 87, 2337, 2332, 2339, 2334, 2340, 2341, 2343, 2435 3904, 2347, 2344, 2342, 2345, 2348, 87, 2335, 87, 2333, 2436 87, 2346, 87, 87, 87, 2351, 2356, 87, 3904, 87, 2437 87, 3904, 2339, 87, 2340, 2341, 87, 2349, 2347, 2344, 2438 2342, 2345, 2348, 2350, 87, 2352, 2353, 2354, 2346, 2355, 2439 87, 2357, 2358, 87, 87, 2360, 3904, 87, 87, 2362, 2440 2361, 2363, 2359, 87, 2349, 2364, 87, 2365, 2368, 87, 2441 2350, 87, 2352, 2353, 2354, 87, 2355, 87, 2357, 2358, 2442 2443 87, 2369, 2360, 87, 2371, 2366, 2362, 2361, 2363, 2359, 2444 2367, 2373, 87, 2372, 87, 2370, 87, 2374, 2375, 2376, 2445 87, 2377, 2378, 2379, 87, 2380, 87, 2381, 87, 2383, 2446 87, 2371, 87, 87, 87, 2384, 2387, 87, 2382, 2388, 2447 2372, 87, 2370, 87, 2374, 2375, 2376, 87, 2377, 2378, 2448 87, 87, 2380, 2385, 87, 87, 2383, 2386, 173, 87, 2449 2389, 87, 87, 2387, 87, 2382, 2388, 2391, 2390, 2392, 2450 2398, 3904, 2394, 2393, 2395, 87, 87, 2396, 2397, 2399, 2451 2385, 2400, 2401, 3904, 2386, 3904, 2402, 2389, 87, 87, 2452 2403, 87, 2405, 2406, 2391, 2390, 87, 87, 87, 2394, 2453 2454 2393, 87, 87, 87, 2396, 87, 2399, 87, 2400, 2404, 2455 87, 2407, 87, 2402, 87, 87, 2408, 2403, 2409, 2405, 2456 2406, 2410, 2411, 3904, 2412, 2415, 2416, 87, 3904, 2413, 2457 87, 2414, 2418, 2419, 3904, 2421, 2404, 87, 87, 2417, 2458 87, 87, 3904, 2408, 87, 2409, 87, 87, 2410, 2411, 2459 87, 2412, 2415, 87, 87, 87, 2413, 87, 2414, 2418, 2460 2419, 2420, 87, 2422, 2423, 2424, 2417, 2425, 2428, 2429, 2461 87, 2427, 2426, 3904, 87, 87, 2432, 2431, 87, 2430, 2462 3904, 3904, 87, 2439, 3904, 87, 87, 2436, 2420, 87, 2463 2422, 2423, 2424, 87, 2425, 87, 2429, 87, 2427, 2426, 2464 2465 87, 2433, 2435, 2432, 2431, 87, 2430, 2437, 2438, 87, 2466 2439, 87, 2434, 2440, 2436, 87, 2442, 2441, 2445, 2443, 2467 3904, 3904, 87, 2444, 2446, 87, 2452, 87, 2433, 2435, 2468 2455, 87, 87, 2454, 2437, 2438, 2447, 87, 2448, 2434, 2469 2440, 87, 2449, 2442, 2441, 87, 2443, 87, 87, 87, 2470 2444, 2446, 2450, 87, 2451, 87, 2453, 2455, 87, 87, 2471 2454, 2456, 2457, 2447, 87, 2448, 87, 87, 2458, 2449, 2472 2460, 87, 2459, 2462, 87, 2461, 2464, 87, 2466, 2450, 2473 2465, 2451, 2463, 2453, 2469, 2467, 2472, 2468, 2456, 2457, 2474 87, 87, 87, 87, 87, 87, 2470, 87, 87, 2459, 2475 2476 2462, 87, 2461, 87, 2471, 2466, 2473, 2465, 87, 2463, 2477 87, 2469, 2467, 2472, 2468, 2474, 2475, 2476, 2477, 87, 2478 2478, 87, 87, 2470, 2479, 3904, 2490, 3904, 87, 2480, 2479 87, 2471, 87, 2473, 2481, 2482, 87, 2488, 87, 87, 2480 2489, 87, 2474, 2475, 2476, 2477, 3904, 2478, 2483, 2484, 2481 2487, 2479, 2485, 87, 2491, 87, 2493, 87, 3904, 2492, 2482 2494, 87, 2482, 87, 2488, 2486, 87, 2489, 2496, 2497, 2483 3904, 2495, 2508, 87, 2504, 2483, 2484, 2487, 87, 2485, 2484 87, 2491, 87, 2493, 2498, 2499, 2492, 2494, 2500, 87, 2485 87, 2501, 2486, 87, 87, 2496, 2497, 2502, 2495, 2503, 2486 2487 2505, 2504, 2506, 2510, 87, 3904, 87, 87, 87, 87, 2488 87, 2498, 2499, 2507, 2509, 2500, 2512, 87, 2501, 2511, 2489 87, 87, 2513, 87, 2502, 87, 2503, 2505, 87, 2506, 2490 2510, 2514, 87, 2516, 2515, 2517, 2518, 2520, 2519, 2521, 2491 2507, 2509, 2523, 87, 87, 87, 2511, 87, 2522, 2513, 2492 3904, 2524, 2531, 87, 2527, 87, 87, 87, 2514, 87, 2493 2516, 2515, 2517, 2518, 2520, 2519, 87, 2525, 2528, 2523, 2494 87, 87, 2526, 87, 2529, 2522, 87, 2530, 2524, 87, 2495 2532, 2527, 2533, 2535, 2534, 2536, 2537, 87, 2539, 2538, 2496 87, 2540, 87, 3904, 2543, 2528, 87, 87, 87, 87, 2497 2498 2545, 2529, 2546, 2544, 2530, 3904, 87, 2532, 87, 2533, 2499 2535, 2534, 2541, 2537, 87, 2539, 2538, 87, 87, 2547, 2500 2542, 87, 2548, 87, 2549, 2550, 87, 2545, 87, 2546, 2501 2544, 87, 2551, 87, 3904, 2552, 2553, 87, 2555, 2541, 2502 2557, 2559, 2561, 2556, 87, 3904, 2547, 2542, 87, 2548, 2503 87, 2549, 2550, 2558, 2554, 87, 87, 87, 2560, 2551, 2504 87, 87, 2552, 2553, 2562, 2563, 2567, 2557, 2559, 2561, 2505 87, 87, 87, 2568, 2564, 3904, 3904, 2565, 3904, 3904, 2506 2558, 2554, 3904, 2592, 87, 2560, 87, 87, 87, 2566, 2507 2569, 2562, 2563, 2567, 2570, 2574, 87, 2571, 2572, 87, 2508 2509 87, 2564, 2575, 87, 2565, 2573, 87, 87, 87, 87, 2510 87, 2576, 2577, 2578, 87, 2580, 2566, 2569, 3904, 2579, 2511 2586, 2570, 2574, 2581, 2571, 2572, 87, 87, 87, 2575, 2512 2582, 2584, 2573, 87, 2583, 3904, 3904, 87, 2576, 2577, 2513 2578, 87, 2580, 87, 2585, 87, 2579, 2586, 87, 2587, 2514 2581, 2588, 87, 87, 2590, 2589, 87, 2582, 2584, 2591, 2515 2594, 2583, 2593, 87, 87, 2595, 2598, 2596, 2597, 2599, 2516 2603, 2585, 2600, 3904, 87, 87, 2587, 87, 2588, 2607, 2517 87, 2590, 2589, 87, 87, 2609, 2591, 87, 87, 2593, 2518 2601, 87, 2595, 2598, 2596, 2597, 2599, 87, 2602, 2600, 2519 2520 2604, 2608, 87, 2605, 2610, 173, 87, 2611, 2606, 87, 2521 2615, 87, 2609, 2612, 87, 2613, 3904, 2601, 2616, 87, 2522 87, 2614, 2620, 87, 2621, 2602, 2622, 2604, 2619, 2623, 2523 87, 2610, 2617, 87, 2611, 87, 2624, 87, 87, 2627, 2524 2612, 87, 2613, 2618, 87, 2616, 87, 2626, 2614, 87, 2525 87, 2621, 2625, 2622, 87, 2619, 2623, 2628, 2629, 2617, 2526 2630, 87, 2631, 2632, 87, 2633, 2627, 3904, 87, 3904, 2527 2618, 2635, 87, 2634, 2626, 2636, 3904, 87, 87, 2625, 2528 3904, 2637, 87, 87, 2628, 87, 87, 2630, 2640, 2638, 2529 2632, 2644, 2633, 87, 87, 2639, 87, 2641, 2635, 2646, 2530 2531 2634, 2642, 2636, 87, 2643, 3904, 87, 87, 2637, 2645, 2532 87, 87, 87, 87, 87, 2640, 2638, 2647, 2644, 2649, 2533 2648, 2650, 2639, 2655, 2641, 2656, 87, 2653, 2642, 2652, 2534 87, 2643, 87, 2651, 87, 2654, 2645, 2658, 87, 87, 2535 87, 87, 87, 87, 2647, 87, 2649, 2648, 2650, 2657, 2536 2655, 2659, 2656, 2660, 2653, 2661, 2652, 2662, 87, 2669, 2537 2651, 87, 2654, 87, 87, 87, 2664, 2663, 2666, 87, 2538 87, 87, 2667, 2665, 87, 2670, 2657, 2668, 2659, 2673, 2539 2660, 87, 2661, 87, 2662, 2671, 2675, 87, 2672, 2674, 2540 2677, 87, 87, 2664, 2663, 2666, 2676, 87, 2678, 2667, 2541 2542 2665, 2682, 87, 87, 2668, 2679, 2673, 87, 2680, 2685, 2543 87, 87, 2671, 2675, 87, 2672, 2674, 87, 2681, 2683, 2544 87, 87, 87, 2676, 2684, 2678, 2687, 2686, 2682, 87, 2545 2688, 2689, 2679, 87, 2690, 2680, 87, 2691, 2693, 3904, 2546 2692, 2699, 87, 87, 2694, 2681, 2683, 2695, 87, 2696, 2547 87, 2684, 87, 87, 2686, 2700, 2701, 2688, 2689, 87, 2548 2706, 2690, 2705, 87, 2691, 87, 2697, 2692, 87, 2698, 2549 87, 2694, 2702, 2703, 2695, 87, 2696, 87, 87, 2704, 2550 87, 2707, 87, 2701, 87, 2709, 87, 87, 2710, 2705, 2551 2708, 2711, 2712, 2697, 87, 2714, 2698, 87, 87, 2702, 2552 2553 2703, 2713, 2715, 2716, 87, 2718, 2704, 2717, 87, 2720, 2554 2719, 2721, 87, 2722, 2724, 2710, 87, 2708, 87, 2712, 2555 87, 87, 87, 87, 87, 87, 2723, 2725, 2713, 87, 2556 2716, 87, 2718, 2726, 2717, 87, 87, 2719, 2721, 2728, 2557 2722, 87, 2727, 2729, 2730, 2733, 3904, 2731, 87, 2734, 2558 2736, 87, 2740, 2723, 2725, 2735, 2739, 87, 2741, 2743, 2559 87, 87, 2732, 87, 87, 87, 2728, 87, 87, 2727, 2560 2729, 2730, 87, 87, 2731, 87, 2734, 2736, 2737, 2738, 2561 2742, 2744, 2735, 87, 87, 2741, 2743, 87, 2745, 2732, 2562 87, 2746, 87, 87, 2747, 2748, 2749, 2750, 3904, 2751, 2563 2564 2753, 2756, 87, 2754, 2759, 2737, 2738, 2742, 2744, 87, 2565 87, 87, 2755, 2752, 87, 2745, 87, 87, 87, 87, 2566 2757, 2747, 2748, 2749, 2750, 87, 2751, 87, 2756, 87, 2567 2754, 2759, 87, 2758, 2760, 87, 2761, 2762, 2767, 2755, 2568 2752, 2763, 87, 3904, 2768, 3904, 3904, 2757, 3904, 3904, 2569 2764, 2769, 2782, 2770, 2771, 87, 2772, 3904, 87, 87, 2570 2758, 2760, 87, 2761, 2762, 2765, 87, 2766, 2763, 2775, 2571 87, 2768, 2773, 87, 87, 87, 87, 2764, 2769, 2774, 2572 2770, 2771, 2776, 2772, 87, 87, 87, 87, 2777, 87, 2573 2778, 2779, 2765, 2781, 2766, 2783, 2775, 2780, 2785, 2773, 2574 2575 2786, 2784, 2791, 3904, 87, 87, 2774, 87, 2787, 2776, 2576 87, 2788, 87, 87, 2789, 2777, 87, 2778, 2779, 87, 2577 2781, 2793, 2790, 2798, 2780, 2785, 87, 87, 2784, 2791, 2578 87, 2799, 87, 87, 2794, 2787, 87, 2792, 2788, 87, 2579 2795, 2789, 2796, 2797, 87, 2800, 2801, 2802, 2793, 2790, 2580 2804, 2805, 87, 87, 87, 87, 87, 2803, 87, 2811, 2581 87, 2794, 2808, 87, 2792, 2809, 2812, 2795, 87, 2796, 2582 2797, 2806, 2800, 2801, 2802, 87, 87, 2804, 87, 2807, 2583 2813, 2810, 2814, 87, 2803, 87, 2811, 87, 173, 2808, 2584 87, 2815, 2809, 2812, 2816, 2817, 2819, 87, 2806, 87, 2585 2586 2818, 2820, 87, 2822, 2824, 87, 2807, 2813, 2810, 2814, 2587 2821, 2823, 87, 3904, 87, 87, 2827, 2831, 2815, 87, 2588 2825, 2816, 87, 2819, 2826, 87, 87, 2818, 2820, 87, 2589 2822, 2824, 87, 2828, 2829, 2830, 2832, 2821, 2823, 87, 2590 87, 87, 2833, 2827, 87, 2834, 2835, 2825, 2837, 2838, 2591 87, 2826, 2836, 2839, 3904, 87, 2840, 2841, 2848, 3904, 2592 2828, 2829, 2830, 87, 2842, 3904, 2843, 2844, 3904, 87, 2593 87, 87, 2834, 87, 87, 2837, 87, 87, 2847, 2836, 2594 2846, 87, 87, 2840, 87, 87, 2845, 2849, 87, 2850, 2595 87, 2842, 87, 2843, 2844, 2851, 2852, 2853, 3904, 87, 2596 2597 87, 3904, 2860, 2854, 87, 2847, 2855, 2846, 2856, 2857, 2598 2858, 87, 2862, 2845, 2849, 2859, 2850, 87, 87, 2866, 2599 87, 2870, 2851, 2852, 87, 87, 87, 87, 87, 87, 2600 2854, 2861, 87, 2855, 87, 2856, 2857, 2858, 87, 2862, 2601 2863, 2864, 2859, 2865, 2868, 87, 2866, 87, 87, 2867, 2602 87, 87, 2869, 87, 2871, 3904, 2872, 2874, 2861, 2873, 2603 3904, 2875, 2879, 2880, 2883, 2876, 87, 2863, 2864, 87, 2604 2865, 2868, 87, 87, 87, 87, 2867, 2877, 87, 2869, 2605 2881, 2871, 87, 2872, 2874, 87, 2873, 2878, 2875, 87, 2606 2880, 87, 2876, 87, 2882, 2884, 87, 2886, 2885, 87, 2607 2608 3904, 2887, 2888, 3904, 2877, 2889, 2891, 2881, 2890, 2899, 2609 2892, 2894, 2896, 87, 2878, 87, 87, 87, 87, 87, 2610 2893, 2882, 87, 87, 2886, 2885, 2895, 87, 2887, 2888, 2611 87, 2897, 2889, 2891, 87, 2890, 87, 2892, 2894, 2896, 2612 2898, 87, 2901, 2902, 87, 2900, 2903, 2893, 2906, 2905, 2613 87, 3904, 2907, 2895, 2913, 2904, 2914, 87, 2897, 87, 2614 87, 87, 87, 87, 87, 2908, 87, 2898, 2909, 87, 2615 2902, 2911, 2900, 87, 87, 2906, 2905, 87, 2910, 2907, 2616 2912, 87, 2904, 87, 87, 2915, 2917, 2916, 2918, 2920, 2617 3904, 2919, 2908, 87, 87, 2909, 87, 2922, 2911, 87, 2618 2619 2921, 2925, 87, 2929, 2923, 2910, 2932, 2912, 87, 2926, 2620 2924, 87, 87, 2917, 2916, 2918, 2920, 87, 2919, 87, 2621 87, 87, 2927, 2928, 2922, 87, 2934, 2921, 87, 2930, 2622 2931, 2923, 2938, 87, 2933, 87, 2926, 2924, 87, 2935, 2623 87, 87, 87, 2939, 87, 2940, 2941, 87, 3904, 2927, 2624 2928, 87, 3904, 2934, 2936, 2937, 2930, 2931, 87, 2938, 2625 2943, 2933, 87, 2944, 2945, 2942, 2935, 2947, 87, 87, 2626 2939, 2946, 87, 2941, 87, 2948, 2951, 87, 87, 2950, 2627 87, 2936, 2937, 87, 2949, 2953, 87, 2943, 87, 2954, 2628 2944, 2945, 2942, 2952, 2947, 2956, 87, 2955, 2946, 87, 2629 2630 87, 87, 2948, 2951, 2957, 2958, 2950, 87, 2959, 87, 2631 2961, 2949, 2953, 2960, 2962, 2966, 87, 2963, 2971, 87, 2632 2952, 2964, 87, 87, 2955, 2965, 2967, 2972, 3904, 87, 2633 87, 87, 87, 87, 2968, 2959, 87, 2961, 87, 2969, 2634 2960, 2962, 2966, 87, 2963, 2971, 87, 87, 2964, 87, 2635 2970, 87, 2965, 2967, 87, 2973, 87, 2974, 2975, 2976, 2636 2977, 2968, 2981, 87, 2978, 2980, 2969, 2983, 2979, 87, 2637 2985, 2982, 2986, 2987, 87, 87, 2984, 2970, 2991, 87, 2638 87, 87, 2973, 87, 87, 87, 2976, 87, 87, 2981, 2639 87, 2978, 2980, 87, 2983, 2979, 2990, 87, 2982, 2986, 2640 2641 87, 2988, 87, 2984, 2989, 2991, 2992, 2993, 2995, 2994, 2642 87, 87, 2996, 87, 2997, 3904, 2998, 3904, 3000, 87, 2643 2999, 3003, 3904, 2990, 87, 87, 87, 3006, 2988, 173, 2644 87, 2989, 3001, 2992, 2993, 2995, 2994, 87, 87, 2996, 2645 3002, 2997, 87, 2998, 87, 3000, 3004, 2999, 3003, 87, 2646 3005, 87, 3007, 3009, 87, 3904, 87, 3008, 3012, 3001, 2647 3010, 3011, 3013, 3904, 3014, 3017, 87, 3002, 3015, 3904, 2648 3016, 3904, 87, 3004, 87, 3904, 3904, 3005, 3904, 3007, 2649 3009, 87, 87, 87, 3008, 87, 3018, 3010, 3011, 87, 2650 87, 3014, 3017, 3019, 87, 3015, 87, 3016, 3020, 3021, 2651 2652 3022, 87, 87, 3023, 3024, 3025, 87, 3026, 87, 87, 2653 87, 87, 3027, 3018, 87, 3028, 3904, 3031, 3032, 3029, 2654 3019, 3033, 87, 87, 3030, 3020, 3021, 3022, 87, 3036, 2655 3023, 3024, 3025, 87, 3026, 3035, 3034, 87, 3037, 3027, 2656 87, 87, 3028, 87, 3031, 3032, 3029, 87, 87, 87, 2657 3038, 3030, 3039, 3043, 3904, 3040, 3036, 3041, 3042, 3044, 2658 3045, 3046, 3035, 3034, 87, 87, 87, 87, 87, 87, 2659 87, 87, 3047, 87, 3049, 3050, 3051, 3038, 3052, 87, 2660 3043, 3048, 3040, 87, 3041, 3042, 3044, 3045, 3046, 87, 2661 3055, 3053, 3056, 3057, 3058, 87, 3065, 87, 87, 3047, 2662 2663 3054, 3049, 3050, 87, 3059, 87, 3060, 3064, 3048, 87, 2664 3061, 87, 3063, 87, 3066, 87, 3062, 3055, 3053, 87, 2665 87, 87, 87, 87, 87, 87, 87, 3054, 3067, 87, 2666 3069, 3059, 3070, 3060, 3064, 87, 3072, 3061, 3068, 3063, 2667 3071, 3066, 3904, 3062, 3073, 87, 87, 87, 87, 3074, 2668 3075, 3076, 3077, 3079, 3078, 3067, 3904, 3069, 87, 3070, 2669 87, 87, 3082, 3072, 3084, 3068, 3081, 3071, 3080, 87, 2670 3904, 3073, 87, 87, 3086, 87, 87, 3075, 87, 3077, 2671 3079, 3078, 87, 87, 87, 3083, 87, 3085, 3090, 3082, 2672 3087, 3084, 87, 3081, 87, 3080, 3088, 87, 3089, 3091, 2673 2674 3092, 3086, 3093, 3094, 3095, 87, 3904, 3099, 3097, 87, 2675 3096, 87, 3083, 3101, 3085, 87, 87, 3087, 3100, 87, 2676 87, 3104, 87, 3088, 3098, 3089, 3091, 3092, 87, 87, 2677 3094, 3095, 3102, 87, 3099, 3097, 87, 3096, 3103, 3106, 2678 87, 87, 3105, 3107, 3109, 3100, 87, 87, 87, 87, 2679 87, 3098, 3110, 3108, 3111, 3112, 3904, 3113, 3114, 3102, 2680 87, 3116, 87, 3904, 3117, 3103, 3106, 87, 3115, 3105, 2681 3107, 87, 87, 3122, 3118, 3120, 87, 3124, 87, 3110, 2682 3108, 3111, 3112, 87, 3113, 87, 87, 3119, 87, 3121, 2683 87, 3117, 87, 3123, 3125, 3115, 87, 3127, 87, 87, 2684 2685 87, 3118, 3120, 87, 3124, 3126, 3904, 3134, 3128, 3129, 2686 87, 3130, 87, 3131, 3119, 3132, 3121, 3136, 3137, 3133, 2687 3123, 3125, 87, 87, 87, 87, 3140, 3138, 3139, 87, 2688 3141, 87, 3126, 87, 87, 3128, 3129, 87, 3130, 87, 2689 3131, 3135, 3132, 3142, 3136, 87, 3133, 3144, 87, 87, 2690 87, 3143, 87, 3140, 3138, 3139, 3145, 3141, 3147, 87, 2691 3146, 3149, 87, 3150, 3148, 87, 3151, 3152, 3135, 3153, 2692 3142, 3904, 87, 87, 3144, 87, 3154, 3156, 3143, 3157, 2693 87, 87, 3161, 3145, 3155, 3147, 87, 3146, 3149, 87, 2694 87, 3148, 87, 87, 3152, 3158, 3153, 3162, 87, 87, 2695 2696 3159, 3160, 3904, 3154, 173, 3164, 3157, 3163, 3166, 87, 2697 87, 3155, 3165, 3168, 87, 3167, 3169, 87, 87, 87, 2698 87, 3171, 3158, 3172, 3162, 3904, 3173, 3159, 3160, 87, 2699 3170, 3174, 3164, 3175, 3163, 3166, 3904, 87, 87, 3165, 2700 87, 3176, 3167, 87, 87, 3178, 3177, 87, 87, 3179, 2701 3172, 3181, 3180, 3182, 3185, 87, 3183, 3170, 87, 87, 2702 3175, 3184, 3186, 87, 3189, 87, 3188, 87, 3176, 87, 2703 3187, 3192, 87, 3177, 87, 87, 3179, 87, 3181, 3180, 2704 3182, 87, 3190, 3183, 3191, 3193, 87, 3199, 3184, 3200, 2705 3198, 87, 87, 3188, 87, 87, 3194, 3187, 3192, 3195, 2706 2707 87, 3197, 87, 3196, 87, 87, 87, 87, 3201, 3190, 2708 87, 3191, 3193, 3202, 3199, 3203, 3200, 3198, 87, 3204, 2709 3205, 87, 3206, 3194, 3207, 87, 3195, 3904, 3197, 87, 2710 3196, 87, 3209, 3212, 87, 3201, 3208, 3213, 87, 87, 2711 3202, 87, 3203, 3210, 87, 87, 3204, 3205, 3211, 3215, 2712 87, 3207, 3217, 3214, 87, 3216, 87, 87, 3221, 3209, 2713 87, 87, 3218, 3208, 3213, 3219, 3226, 87, 3904, 3220, 2714 3210, 3904, 3223, 87, 87, 3211, 3215, 3225, 87, 3217, 2715 3214, 87, 3216, 87, 87, 87, 3222, 3228, 3224, 3218, 2716 3229, 3232, 3219, 87, 87, 87, 3220, 3230, 3231, 3223, 2717 2718 87, 3227, 3233, 87, 3225, 87, 3238, 87, 3234, 3235, 2719 3236, 87, 3237, 3222, 3239, 3224, 3240, 3242, 3241, 87, 2720 87, 3243, 87, 87, 3230, 3231, 87, 87, 3227, 87, 2721 87, 3244, 87, 3238, 87, 3234, 3235, 3236, 3245, 3237, 2722 87, 87, 3246, 3240, 3242, 3241, 87, 3247, 3243, 3248, 2723 87, 3249, 3250, 3251, 3252, 87, 87, 3255, 87, 3253, 2724 3256, 3254, 3904, 3257, 3904, 3245, 3260, 3258, 87, 3246, 2725 87, 3261, 3904, 3904, 3247, 87, 87, 3259, 3249, 87, 2726 87, 87, 87, 87, 3255, 3262, 3253, 87, 3254, 87, 2727 3257, 3266, 87, 3267, 3258, 3263, 3264, 3268, 87, 3265, 2728 2729 87, 3269, 87, 87, 3259, 3270, 87, 3271, 3273, 3275, 2730 3274, 3272, 3262, 3276, 3904, 3277, 87, 87, 3266, 87, 2731 87, 87, 3263, 3264, 87, 87, 3265, 3278, 87, 87, 2732 3280, 3279, 3270, 3281, 3271, 87, 3275, 3274, 3272, 3282, 2733 87, 87, 3277, 87, 3284, 3285, 3283, 87, 87, 3290, 2734 3287, 3286, 3294, 3289, 87, 3288, 87, 87, 3279, 87, 2735 3281, 3291, 3292, 3295, 3296, 3297, 3282, 3293, 3298, 3299, 2736 87, 87, 87, 3283, 87, 3300, 87, 87, 3286, 3294, 2737 3289, 87, 87, 87, 3303, 3301, 87, 87, 3291, 3904, 2738 3295, 3296, 3297, 3302, 87, 3304, 3305, 3306, 3904, 3309, 2739 2740 87, 87, 3307, 3308, 87, 3313, 3312, 87, 3310, 3311, 2741 3316, 87, 3301, 3904, 87, 87, 87, 87, 87, 3904, 2742 3302, 87, 3304, 3305, 3306, 87, 3309, 87, 87, 3307, 2743 3308, 3314, 3313, 3312, 3315, 3310, 3311, 87, 87, 3317, 2744 3318, 3320, 3321, 3322, 3323, 3327, 3325, 87, 3319, 3324, 2745 87, 3326, 87, 87, 87, 3328, 3904, 3329, 3314, 3330, 2746 3904, 3315, 87, 3331, 87, 3332, 3317, 3318, 3320, 3321, 2747 3322, 3333, 3327, 3335, 3336, 3319, 87, 3334, 87, 3337, 2748 87, 87, 87, 87, 3329, 87, 3330, 3338, 87, 87, 2749 3331, 87, 3332, 3340, 3339, 87, 3342, 87, 3333, 3343, 2750 2751 3335, 3336, 3341, 3347, 3334, 87, 3337, 87, 3348, 3344, 2752 87, 3351, 3345, 3349, 3338, 87, 87, 87, 87, 87, 2753 3340, 3339, 3350, 3342, 3346, 3352, 3343, 3355, 3353, 3341, 2754 87, 87, 3354, 3356, 87, 87, 3344, 87, 87, 3345, 2755 3349, 87, 3357, 3358, 3359, 3360, 87, 3362, 3361, 3350, 2756 87, 3346, 3352, 87, 87, 3353, 3366, 3367, 3363, 3354, 2757 3356, 3364, 3369, 87, 3365, 87, 87, 3368, 3904, 87, 2758 3358, 87, 3360, 87, 87, 3361, 87, 3371, 3370, 87, 2759 87, 3380, 3376, 87, 87, 3363, 87, 3372, 3364, 3369, 2760 87, 3365, 3374, 87, 3368, 3373, 87, 3375, 3377, 87, 2761 2762 3378, 3379, 87, 87, 3371, 3370, 3381, 3382, 3380, 3376, 2763 3383, 3387, 3388, 87, 3372, 3390, 87, 3384, 3389, 3385, 2764 87, 87, 3373, 87, 87, 3377, 3386, 3378, 3379, 3392, 2765 87, 87, 3393, 87, 3382, 87, 87, 87, 87, 87, 2766 3391, 3395, 3394, 3396, 3384, 3389, 3385, 87, 87, 3397, 2767 3399, 3398, 3400, 3386, 87, 87, 3392, 87, 3401, 3393, 2768 87, 3403, 3402, 3904, 87, 3405, 3410, 3391, 3395, 3394, 2769 3904, 3411, 87, 3404, 87, 87, 3397, 3399, 3398, 3400, 2770 87, 87, 3406, 87, 87, 3401, 87, 3412, 3403, 3402, 2771 3407, 3419, 3405, 87, 3408, 3413, 87, 3409, 87, 3414, 2772 2773 3404, 3415, 3416, 87, 3417, 3418, 87, 3422, 87, 3406, 2774 87, 3420, 87, 87, 87, 3421, 3423, 3407, 3428, 3904, 2775 87, 3408, 3413, 87, 3409, 87, 3414, 87, 3415, 3416, 2776 3424, 3417, 3418, 87, 87, 3425, 3426, 87, 3420, 3427, 2777 3430, 87, 3421, 3423, 3429, 87, 87, 3431, 87, 3436, 2778 87, 3432, 3435, 3433, 3904, 3434, 3437, 3424, 87, 3439, 2779 87, 87, 3425, 3426, 3904, 3438, 3427, 87, 87, 3904, 2780 87, 3429, 87, 87, 3431, 87, 3436, 3440, 3432, 3435, 2781 3433, 87, 3434, 3437, 3441, 3442, 87, 3443, 3444, 3445, 2782 3447, 87, 3438, 3446, 3455, 3449, 3448, 3904, 87, 87, 2783 2784 87, 87, 87, 3451, 3440, 3456, 87, 3452, 3458, 87, 2785 87, 3441, 3442, 3459, 3443, 3444, 3445, 3447, 87, 3450, 2786 3446, 87, 3449, 3448, 3453, 87, 87, 3454, 87, 87, 2787 3451, 3457, 87, 87, 3452, 3460, 3461, 3462, 3463, 87, 2788 87, 3464, 3465, 3471, 3466, 3467, 3450, 87, 87, 3469, 2789 3474, 3453, 3468, 3470, 3454, 87, 87, 87, 3457, 3472, 2790 87, 3476, 3460, 3461, 87, 87, 87, 3473, 3464, 87, 2791 87, 3466, 3467, 3475, 87, 87, 3469, 87, 3478, 3468, 2792 3470, 3477, 87, 3479, 3480, 87, 3472, 3482, 87, 87, 2793 3481, 3483, 87, 3485, 3473, 3484, 87, 3486, 3904, 87, 2794 2795 3475, 3487, 87, 3489, 87, 3478, 87, 3490, 3477, 3491, 2796 3479, 3480, 3488, 87, 87, 3495, 3493, 3481, 3498, 87, 2797 3492, 87, 3484, 87, 3486, 87, 3496, 87, 3487, 3499, 2798 87, 87, 3502, 3497, 87, 3494, 3491, 87, 3501, 3488, 2799 87, 3503, 3495, 87, 87, 87, 3500, 3492, 3504, 3904, 2800 87, 3904, 3505, 3496, 3506, 3513, 3499, 3508, 3507, 87, 2801 3497, 87, 3494, 87, 87, 3501, 3512, 3510, 3503, 3511, 2802 3514, 3509, 3904, 3500, 87, 87, 87, 3515, 87, 3505, 2803 3516, 3506, 87, 87, 3508, 3507, 87, 87, 87, 3518, 2804 3517, 3519, 3520, 3512, 3510, 3521, 3511, 87, 3509, 87, 2805 2806 3522, 87, 3525, 87, 3515, 3904, 3527, 3528, 3526, 87, 2807 3529, 87, 87, 3530, 87, 87, 3518, 3517, 87, 3520, 2808 3523, 3524, 3521, 87, 87, 3533, 3534, 3532, 3531, 87, 2809 87, 3535, 87, 3527, 3528, 3526, 87, 3529, 87, 3536, 2810 87, 3537, 3539, 87, 3538, 3540, 3541, 3523, 3524, 3542, 2811 3544, 3545, 3533, 87, 3532, 3531, 3543, 87, 87, 3546, 2812 87, 3547, 3548, 87, 87, 87, 87, 3549, 3537, 3539, 2813 3550, 3538, 87, 87, 87, 3551, 87, 87, 3545, 3552, 2814 3553, 87, 3554, 3543, 87, 3555, 3546, 87, 87, 3548, 2815 87, 3556, 3559, 87, 87, 3557, 3565, 3550, 3558, 87, 2816 2817 87, 3562, 87, 3560, 87, 3561, 87, 3553, 3563, 3554, 2818 3566, 3564, 3555, 87, 87, 87, 3567, 3568, 3556, 87, 2819 3569, 3575, 3557, 87, 87, 3558, 87, 3570, 3562, 87, 2820 3560, 3572, 3561, 3571, 87, 3563, 3574, 87, 3564, 87, 2821 3573, 87, 87, 3567, 3568, 3576, 3577, 3579, 87, 3582, 2822 3580, 3578, 87, 87, 3570, 3581, 3904, 3904, 3572, 3583, 2823 3571, 3585, 87, 3574, 87, 87, 3904, 3573, 87, 3586, 2824 3904, 3589, 87, 3577, 87, 3904, 87, 3580, 3578, 87, 2825 3584, 87, 3581, 3587, 87, 3588, 3583, 87, 3585, 3590, 2826 87, 87, 87, 87, 3591, 3594, 3586, 3592, 3589, 3593, 2827 2828 3595, 3904, 3599, 3606, 87, 3904, 87, 3584, 87, 87, 2829 3587, 3596, 3588, 87, 87, 3603, 3590, 3904, 87, 3598, 2830 87, 3591, 3594, 3597, 3592, 3604, 3593, 3595, 87, 3599, 2831 87, 3600, 3601, 3602, 3607, 87, 3605, 87, 3596, 87, 2832 3609, 87, 3603, 87, 3608, 3611, 3598, 87, 3610, 3612, 2833 3597, 87, 3604, 3614, 3613, 3615, 87, 3616, 3600, 3601, 2834 3602, 3607, 87, 3605, 87, 87, 3617, 3609, 3618, 3620, 2835 3625, 3608, 87, 3619, 87, 3610, 87, 87, 3628, 87, 2836 3614, 3613, 87, 3631, 3616, 87, 3621, 3622, 3623, 3624, 2837 3626, 3627, 3904, 3617, 3629, 87, 87, 87, 3632, 3633, 2838 2839 3619, 87, 3630, 3634, 3636, 3628, 3635, 87, 3904, 3639, 2840 87, 87, 87, 3638, 3640, 87, 87, 87, 3643, 87, 2841 87, 3629, 3642, 87, 87, 3632, 3633, 3637, 3644, 3630, 2842 87, 3636, 87, 3635, 87, 87, 87, 3641, 87, 3645, 2843 3638, 3640, 3648, 3647, 87, 3643, 3646, 3650, 3653, 3642, 2844 3649, 87, 87, 3651, 3637, 3644, 3652, 87, 87, 3654, 2845 3655, 3663, 3658, 3656, 3641, 3904, 3645, 87, 87, 3648, 2846 3647, 87, 87, 3646, 87, 87, 3657, 3649, 3659, 3665, 2847 3651, 3660, 87, 3652, 87, 3667, 87, 87, 87, 3658, 2848 3656, 87, 3661, 87, 3668, 3666, 87, 3662, 3664, 3670, 2849 2850 87, 87, 3669, 3657, 3671, 3659, 3665, 87, 3660, 3904, 2851 87, 3672, 3667, 3673, 3674, 3675, 87, 3676, 3677, 3679, 2852 3678, 3668, 3666, 3682, 87, 3664, 87, 87, 3681, 3669, 2853 3680, 3683, 87, 87, 3684, 3685, 87, 87, 3672, 87, 2854 87, 87, 3675, 3686, 3676, 87, 87, 3678, 87, 3687, 2855 87, 3688, 3689, 3690, 87, 3681, 3691, 3680, 87, 3692, 2856 3693, 87, 87, 3694, 3696, 3697, 3698, 3695, 3700, 3904, 2857 87, 87, 3701, 3904, 87, 3702, 87, 87, 87, 87, 2858 3690, 87, 87, 3691, 87, 3703, 87, 87, 3699, 87, 2859 3694, 3696, 3697, 87, 3695, 87, 87, 3704, 3705, 3701, 2860 2861 87, 3706, 3702, 3708, 3707, 3709, 3716, 3904, 3710, 3711, 2862 3712, 87, 3703, 87, 3713, 3699, 87, 87, 3715, 3904, 2863 3714, 3717, 3718, 87, 3704, 3705, 3904, 87, 87, 87, 2864 87, 3707, 3709, 87, 87, 3710, 3711, 3712, 87, 3721, 2865 87, 3713, 87, 3719, 87, 3715, 3720, 3714, 3717, 3718, 2866 87, 87, 3724, 3722, 3723, 87, 3725, 3904, 3726, 3727, 2867 87, 3904, 3728, 3731, 3730, 3729, 3721, 3732, 87, 87, 2868 3719, 3733, 87, 3720, 87, 87, 3734, 87, 3735, 3724, 2869 3722, 3723, 3737, 3725, 87, 3726, 3727, 87, 87, 3728, 2870 3731, 3730, 3729, 3736, 87, 3738, 3740, 87, 87, 3739, 2871 2872 87, 3741, 3742, 87, 3748, 87, 87, 3904, 87, 3737, 2873 3745, 3743, 3747, 3744, 87, 87, 3746, 3750, 87, 3749, 2874 3736, 3904, 3738, 3740, 87, 87, 3739, 3751, 3741, 87, 2875 87, 3748, 87, 87, 87, 3756, 87, 3745, 3743, 3747, 2876 3744, 87, 3752, 3746, 3750, 3753, 3749, 87, 3754, 3755, 2877 87, 3757, 3758, 87, 3751, 3759, 3761, 3762, 87, 3760, 2878 87, 3763, 3756, 3764, 87, 3767, 3770, 87, 87, 3752, 2879 87, 3772, 3753, 87, 3765, 3754, 3755, 3768, 3757, 3758, 2880 3771, 87, 3759, 3761, 87, 87, 3760, 87, 3763, 3766, 2881 3764, 3769, 87, 87, 3773, 87, 87, 87, 3772, 3774, 2882 2883 3775, 3765, 87, 3776, 3768, 3777, 3778, 3771, 87, 3779, 2884 87, 3780, 3781, 87, 3782, 87, 3766, 3786, 3769, 3904, 2885 3785, 87, 3783, 3788, 87, 3784, 87, 3775, 87, 87, 2886 3776, 87, 3777, 3778, 3787, 87, 3779, 3789, 3780, 3781, 2887 87, 87, 87, 3790, 87, 3791, 87, 3785, 3792, 3783, 2888 87, 3793, 3784, 3794, 3795, 3796, 3799, 3801, 3798, 87, 2889 87, 3787, 3797, 3904, 87, 87, 87, 87, 3800, 3802, 2890 87, 87, 87, 3803, 3804, 3792, 87, 87, 3793, 3904, 2891 87, 3795, 3796, 87, 3801, 3798, 3805, 3806, 3808, 3797, 2892 3807, 3809, 3810, 3812, 87, 3800, 3802, 3811, 87, 87, 2893 2894 87, 87, 3814, 87, 3816, 87, 87, 3904, 3813, 3817, 2895 87, 3815, 3818, 3805, 3806, 3808, 87, 3807, 87, 87, 2896 3812, 87, 87, 3820, 3811, 3819, 3821, 87, 3825, 87, 2897 3832, 3816, 3823, 87, 87, 3813, 3817, 87, 3815, 3818, 2898 87, 3822, 3824, 3829, 3826, 3830, 3838, 3827, 3904, 87, 2899 3820, 87, 3819, 3821, 87, 87, 87, 3828, 3831, 3823, 2900 3833, 87, 87, 3839, 87, 87, 3834, 3835, 3822, 3824, 2901 3829, 3826, 87, 3836, 3827, 3837, 3840, 3841, 87, 3845, 2902 87, 3848, 3842, 87, 3828, 3831, 87, 3833, 87, 87, 2903 87, 87, 3843, 3834, 3835, 87, 3851, 3844, 87, 87, 2904 2905 3836, 3853, 3837, 3840, 87, 87, 3845, 3850, 3846, 3842, 2906 3847, 3852, 3849, 87, 3854, 87, 87, 3855, 87, 3843, 2907 87, 87, 87, 3851, 3844, 3856, 3904, 3860, 87, 3859, 2908 3864, 87, 87, 87, 3850, 3846, 3861, 3847, 3852, 3849, 2909 3857, 3854, 3858, 87, 3855, 3862, 3870, 87, 87, 3865, 2910 87, 3863, 3856, 87, 3860, 3867, 3859, 3864, 87, 87, 2911 3866, 3904, 3868, 3861, 3869, 3872, 87, 3857, 87, 3858, 2912 3873, 3871, 3862, 3870, 87, 87, 3865, 3874, 3863, 87, 2913 3875, 87, 3867, 3876, 3880, 3882, 87, 3866, 87, 3868, 2914 3904, 3869, 87, 3877, 3878, 3879, 3884, 87, 3871, 87, 2915 2916 3881, 3883, 3885, 87, 3874, 87, 87, 3875, 87, 87, 2917 87, 3880, 87, 87, 87, 3888, 3889, 3886, 87, 3892, 2918 3877, 3878, 3879, 3884, 87, 87, 3887, 3881, 3883, 3885, 2919 3890, 3891, 3893, 3895, 87, 3894, 3896, 3904, 87, 87, 2920 3904, 87, 3888, 87, 3886, 87, 3892, 3897, 3898, 3899, 2921 3902, 3903, 3904, 3887, 3904, 87, 3900, 3890, 3891, 87, 2922 87, 3901, 3894, 87, 87, 3904, 3904, 87, 3904, 87, 2923 87, 87, 3904, 3904, 3897, 3898, 3899, 87, 87, 3904, 2924 3904, 3904, 3904, 3900, 3904, 3904, 3904, 3904, 3901, 48, 2925 48, 48, 48, 48, 48, 48, 53, 53, 53, 53, 2926 2927 53, 53, 53, 58, 58, 58, 58, 58, 58, 58, 2928 64, 64, 64, 64, 64, 64, 64, 69, 69, 69, 2929 69, 69, 69, 69, 75, 75, 75, 75, 75, 75, 2930 75, 81, 81, 81, 81, 81, 81, 81, 90, 90, 2931 3904, 90, 90, 90, 90, 163, 163, 3904, 3904, 3904, 2932 163, 163, 165, 165, 3904, 3904, 165, 3904, 165, 167, 2933 3904, 3904, 3904, 3904, 3904, 167, 170, 170, 3904, 3904, 2934 3904, 170, 170, 172, 3904, 3904, 3904, 3904, 3904, 172, 2935 174, 174, 3904, 174, 174, 174, 174, 177, 3904, 3904, 2936 3904, 3904, 3904, 177, 180, 180, 3904, 3904, 3904, 180, 2937 2938 180, 91, 91, 3904, 91, 91, 91, 91, 17, 3904, 2939 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2940 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2941 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2942 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2943 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2944 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 2945 3904, 3904, 3904, 3904, 3904 2946 } ; 2947 2948 static const flex_int16_t yy_chk[11176] = 2949 { 0, 2950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2953 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2954 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2955 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2956 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 2957 4, 4, 5, 5, 6, 6, 5, 32, 6, 7, 2958 7, 7, 7, 33, 7, 8, 8, 8, 8, 32, 2959 8, 9, 9, 9, 10, 10, 10, 19, 52, 52, 2960 2961 3912, 19, 235, 3, 32, 33, 4, 68, 68, 5, 2962 33, 6, 3156, 13, 13, 13, 13, 7, 13, 14, 2963 14, 14, 14, 8, 14, 15, 15, 15, 9, 25, 2964 235, 10, 11, 11, 11, 11, 11, 11, 12, 12, 2965 12, 12, 12, 12, 16, 16, 16, 34, 28, 85, 2966 85, 13, 11, 46, 1212, 25, 25, 14, 12, 34, 2967 39, 23, 15, 23, 23, 46, 23, 180, 28, 611, 2968 11, 28, 23, 39, 34, 28, 12, 179, 88, 11, 2969 46, 16, 88, 164, 164, 12, 30, 39, 29, 177, 2970 45, 172, 37, 73, 30, 28, 26, 611, 37, 23, 2971 2972 24, 24, 29, 26, 24, 30, 73, 26, 102, 24, 2973 26, 24, 30, 30, 29, 29, 45, 45, 24, 37, 2974 73, 30, 26, 26, 24, 93, 102, 24, 24, 29, 2975 26, 24, 30, 200, 26, 102, 24, 26, 24, 57, 2976 94, 166, 57, 306, 166, 24, 27, 225, 31, 93, 2977 27, 31, 93, 27, 95, 27, 27, 228, 31, 47, 2978 31, 47, 47, 94, 47, 200, 27, 94, 27, 170, 2979 47, 31, 306, 27, 95, 31, 35, 27, 31, 225, 2980 27, 95, 27, 27, 35, 31, 101, 31, 36, 228, 2981 35, 98, 36, 27, 35, 101, 44, 169, 98, 42, 2982 2983 44, 42, 35, 35, 44, 96, 36, 167, 36, 165, 2984 42, 35, 163, 101, 36, 36, 42, 35, 98, 36, 2985 96, 35, 44, 44, 43, 42, 42, 44, 42, 109, 2986 86, 44, 96, 36, 43, 36, 38, 42, 43, 43, 2987 38, 97, 109, 42, 38, 171, 171, 43, 81, 97, 2988 38, 43, 63, 38, 63, 63, 109, 63, 99, 106, 2989 38, 43, 38, 38, 106, 43, 43, 38, 97, 76, 2990 71, 38, 71, 71, 113, 71, 74, 38, 74, 74, 2991 38, 74, 99, 113, 75, 99, 106, 38, 40, 143, 2992 143, 80, 40, 80, 80, 87, 80, 87, 87, 139, 2993 2994 87, 113, 40, 40, 100, 40, 87, 90, 71, 90, 2995 90, 114, 90, 107, 40, 40, 143, 100, 90, 40, 2996 114, 107, 103, 103, 69, 139, 139, 64, 100, 40, 2997 40, 100, 40, 41, 111, 103, 41, 59, 114, 115, 2998 107, 111, 110, 41, 100, 90, 104, 41, 41, 103, 2999 103, 110, 104, 108, 104, 41, 105, 105, 181, 181, 3000 41, 111, 115, 41, 110, 105, 115, 104, 117, 110, 3001 41, 108, 127, 104, 41, 41, 120, 58, 110, 104, 3002 118, 104, 116, 105, 105, 108, 112, 112, 119, 116, 3003 117, 119, 127, 118, 112, 117, 355, 122, 108, 127, 3004 3005 120, 53, 112, 121, 119, 119, 129, 118, 120, 116, 3006 48, 121, 119, 112, 112, 119, 123, 122, 119, 122, 3007 123, 112, 125, 126, 122, 355, 129, 120, 131, 124, 3008 121, 119, 119, 129, 124, 125, 123, 124, 128, 130, 3009 123, 132, 131, 123, 122, 128, 126, 123, 132, 125, 3010 126, 133, 128, 134, 135, 131, 124, 130, 136, 18, 3011 137, 124, 134, 123, 137, 128, 130, 136, 132, 138, 3012 137, 17, 128, 0, 133, 141, 138, 135, 133, 140, 3013 134, 135, 137, 142, 141, 136, 140, 137, 145, 148, 3014 141, 137, 144, 146, 241, 142, 138, 137, 141, 145, 3015 3016 144, 147, 141, 145, 148, 149, 140, 146, 241, 147, 3017 142, 141, 145, 151, 230, 145, 148, 141, 150, 144, 3018 146, 241, 149, 0, 151, 149, 145, 152, 153, 150, 3019 145, 149, 149, 147, 153, 152, 147, 154, 150, 0, 3020 151, 155, 156, 157, 158, 150, 230, 0, 154, 149, 3021 155, 159, 149, 160, 152, 153, 150, 156, 161, 158, 3022 159, 162, 155, 0, 154, 157, 155, 0, 155, 156, 3023 157, 158, 0, 183, 162, 160, 161, 155, 159, 168, 3024 160, 168, 168, 176, 168, 161, 182, 183, 162, 155, 3025 173, 0, 173, 173, 174, 173, 174, 174, 178, 174, 3026 3027 178, 178, 184, 178, 185, 183, 188, 176, 182, 0, 3028 176, 184, 190, 182, 183, 186, 185, 187, 189, 186, 3029 190, 192, 188, 191, 187, 194, 0, 193, 195, 184, 3030 233, 185, 174, 188, 193, 191, 187, 189, 197, 190, 3031 197, 194, 186, 192, 187, 189, 195, 196, 192, 198, 3032 191, 187, 194, 196, 193, 195, 199, 204, 199, 206, 3033 201, 205, 233, 203, 201, 197, 205, 206, 1035, 809, 3034 207, 198, 204, 208, 211, 236, 198, 0, 218, 196, 3035 196, 201, 199, 199, 204, 199, 206, 218, 201, 203, 3036 203, 201, 207, 205, 210, 208, 209, 207, 809, 1035, 3037 3038 208, 210, 211, 215, 212, 218, 211, 236, 201, 202, 3039 216, 209, 213, 214, 202, 0, 215, 224, 0, 202, 3040 219, 210, 216, 209, 214, 202, 202, 212, 224, 211, 3041 215, 212, 202, 220, 213, 217, 202, 216, 217, 213, 3042 214, 202, 219, 0, 224, 222, 202, 219, 226, 223, 3043 217, 229, 202, 202, 0, 220, 223, 227, 229, 231, 3044 220, 237, 217, 250, 0, 217, 221, 222, 227, 221, 3045 238, 221, 222, 231, 226, 226, 223, 234, 229, 240, 3046 232, 250, 242, 221, 237, 221, 232, 243, 237, 227, 3047 250, 231, 221, 221, 243, 227, 221, 244, 221, 234, 3048 3049 231, 239, 238, 242, 234, 248, 239, 232, 245, 242, 3050 221, 240, 221, 246, 243, 247, 246, 245, 244, 248, 3051 252, 249, 245, 253, 244, 251, 239, 255, 239, 256, 3052 253, 252, 248, 239, 247, 245, 254, 251, 256, 257, 3053 246, 254, 247, 249, 245, 259, 258, 252, 249, 255, 3054 253, 258, 251, 261, 255, 262, 256, 263, 260, 260, 3055 0, 264, 257, 268, 263, 265, 257, 260, 254, 261, 3056 266, 267, 269, 258, 270, 271, 273, 259, 266, 272, 3057 261, 275, 270, 264, 263, 260, 260, 262, 264, 273, 3058 265, 267, 265, 274, 272, 268, 277, 266, 267, 276, 3059 3060 278, 270, 281, 273, 269, 279, 272, 271, 275, 279, 3061 0, 280, 286, 283, 284, 282, 285, 278, 280, 274, 3062 274, 283, 276, 285, 281, 278, 288, 278, 277, 281, 3063 282, 276, 279, 284, 286, 289, 290, 291, 280, 286, 3064 283, 284, 282, 285, 278, 293, 287, 292, 288, 276, 3065 287, 294, 295, 288, 297, 303, 299, 296, 298, 291, 3066 300, 301, 300, 294, 291, 295, 296, 289, 290, 292, 3067 302, 298, 297, 287, 292, 299, 304, 293, 294, 295, 3068 303, 297, 303, 299, 296, 298, 305, 300, 308, 307, 3069 0, 309, 0, 301, 302, 310, 312, 302, 307, 0, 3070 3071 0, 313, 304, 304, 318, 311, 310, 314, 315, 320, 3072 322, 324, 305, 305, 308, 308, 307, 309, 309, 311, 3073 312, 316, 310, 312, 313, 314, 315, 319, 313, 316, 3074 321, 311, 311, 323, 314, 315, 318, 324, 324, 325, 3075 319, 320, 322, 326, 327, 328, 311, 332, 316, 0, 3076 323, 331, 328, 329, 319, 321, 323, 321, 330, 333, 3077 323, 325, 329, 0, 330, 331, 325, 335, 327, 342, 3078 334, 375, 328, 332, 332, 326, 327, 323, 331, 334, 3079 329, 336, 337, 333, 338, 330, 333, 339, 340, 336, 3080 335, 337, 341, 343, 335, 327, 339, 334, 344, 0, 3081 3082 346, 342, 348, 375, 350, 340, 0, 341, 336, 337, 3083 338, 338, 340, 344, 339, 340, 351, 343, 346, 341, 3084 343, 0, 380, 357, 348, 344, 347, 346, 350, 348, 3085 351, 350, 340, 345, 356, 347, 352, 354, 345, 353, 3086 353, 345, 354, 351, 0, 359, 345, 345, 345, 345, 3087 357, 352, 0, 347, 380, 0, 345, 359, 356, 360, 3088 345, 356, 362, 352, 353, 345, 353, 353, 345, 354, 3089 364, 360, 359, 345, 345, 345, 345, 349, 358, 349, 3090 362, 358, 363, 0, 361, 361, 360, 366, 358, 362, 3091 367, 349, 349, 349, 361, 349, 368, 364, 368, 365, 3092 3093 363, 349, 370, 369, 349, 358, 349, 0, 358, 363, 3094 371, 361, 361, 366, 366, 369, 367, 367, 349, 349, 3095 349, 365, 349, 368, 370, 371, 365, 372, 374, 370, 3096 369, 373, 378, 0, 376, 372, 376, 371, 373, 378, 3097 374, 0, 379, 381, 382, 376, 0, 0, 385, 383, 3098 382, 383, 376, 389, 372, 374, 387, 1199, 373, 378, 3099 376, 376, 384, 376, 379, 381, 382, 388, 386, 379, 3100 381, 382, 376, 383, 387, 384, 383, 382, 383, 376, 3101 385, 386, 390, 387, 386, 389, 386, 1199, 391, 384, 3102 394, 0, 386, 388, 388, 386, 395, 394, 405, 406, 3103 3104 396, 0, 0, 405, 0, 400, 0, 397, 386, 390, 3105 391, 386, 396, 386, 395, 391, 392, 394, 392, 397, 3106 395, 400, 398, 395, 392, 401, 0, 396, 392, 400, 3107 405, 406, 400, 392, 397, 398, 392, 0, 401, 0, 3108 404, 395, 392, 392, 403, 392, 0, 407, 400, 398, 3109 410, 392, 401, 408, 407, 392, 403, 413, 404, 408, 3110 392, 409, 410, 392, 393, 411, 393, 404, 407, 409, 3111 412, 403, 415, 415, 407, 426, 414, 410, 412, 393, 3112 408, 407, 393, 411, 393, 414, 393, 418, 409, 413, 3113 393, 393, 411, 393, 416, 417, 418, 412, 0, 415, 3114 3115 0, 416, 433, 414, 433, 420, 393, 426, 417, 393, 3116 421, 393, 420, 393, 402, 402, 419, 421, 422, 418, 3117 427, 416, 417, 418, 402, 402, 402, 402, 402, 433, 3118 422, 402, 420, 428, 419, 423, 425, 421, 419, 402, 3119 428, 402, 402, 419, 424, 422, 427, 427, 425, 429, 3120 430, 402, 402, 402, 402, 402, 431, 423, 402, 430, 3121 428, 419, 423, 425, 429, 432, 424, 434, 435, 431, 3122 0, 424, 436, 436, 0, 437, 429, 430, 434, 438, 3123 439, 440, 437, 431, 442, 441, 438, 0, 443, 0, 3124 435, 439, 440, 445, 434, 435, 447, 432, 441, 444, 3125 3126 444, 436, 437, 455, 0, 0, 438, 439, 440, 442, 3127 443, 442, 441, 446, 450, 443, 445, 444, 449, 452, 3128 445, 448, 447, 447, 444, 450, 444, 444, 446, 448, 3129 449, 457, 452, 451, 456, 455, 446, 453, 453, 458, 3130 446, 450, 451, 460, 444, 449, 452, 463, 448, 453, 3131 459, 453, 456, 457, 469, 446, 453, 461, 457, 462, 3132 451, 456, 458, 461, 453, 453, 458, 465, 459, 464, 3133 463, 467, 0, 473, 463, 460, 453, 459, 453, 454, 3134 462, 469, 470, 466, 461, 468, 462, 454, 454, 465, 3135 466, 454, 454, 464, 465, 454, 464, 467, 467, 468, 3136 3137 472, 454, 471, 474, 470, 473, 454, 477, 475, 470, 3138 466, 476, 468, 477, 454, 454, 471, 478, 454, 454, 3139 479, 481, 454, 476, 480, 474, 472, 472, 483, 471, 3140 474, 475, 480, 482, 477, 475, 481, 483, 476, 478, 3141 482, 484, 479, 485, 478, 0, 486, 479, 481, 487, 3142 480, 480, 486, 488, 489, 483, 484, 490, 0, 480, 3143 482, 491, 497, 492, 0, 494, 0, 485, 484, 495, 3144 485, 487, 490, 486, 495, 488, 487, 489, 498, 501, 3145 488, 489, 503, 493, 490, 492, 505, 491, 491, 493, 3146 492, 494, 494, 500, 497, 502, 495, 504, 501, 500, 3147 3148 503, 502, 507, 504, 498, 498, 501, 506, 505, 503, 3149 493, 517, 510, 505, 506, 512, 509, 507, 509, 511, 3150 500, 510, 502, 513, 504, 509, 511, 514, 516, 507, 3151 515, 518, 0, 517, 506, 523, 513, 519, 517, 510, 3152 519, 520, 521, 509, 518, 509, 511, 512, 515, 522, 3153 513, 524, 527, 523, 526, 521, 519, 515, 518, 514, 3154 516, 522, 523, 525, 519, 520, 528, 519, 520, 521, 3155 525, 0, 529, 532, 531, 527, 522, 530, 526, 528, 3156 531, 526, 530, 524, 527, 533, 534, 536, 0, 0, 3157 525, 535, 0, 528, 529, 533, 532, 539, 538, 529, 3158 3159 532, 531, 527, 535, 530, 537, 538, 544, 534, 536, 3160 542, 539, 533, 534, 536, 543, 537, 542, 535, 544, 3161 545, 543, 546, 547, 539, 538, 569, 0, 548, 580, 3162 546, 569, 537, 540, 544, 0, 574, 542, 540, 548, 3163 540, 549, 543, 545, 551, 547, 540, 545, 540, 546, 3164 547, 540, 540, 569, 552, 548, 551, 574, 540, 540, 3165 540, 580, 550, 574, 549, 540, 550, 540, 549, 553, 3166 554, 551, 553, 540, 552, 540, 552, 555, 540, 540, 3167 553, 552, 0, 556, 550, 540, 559, 555, 554, 550, 3168 559, 557, 558, 550, 561, 556, 553, 554, 560, 553, 3169 3170 563, 552, 557, 564, 562, 560, 562, 565, 585, 555, 3171 556, 566, 0, 559, 555, 564, 558, 567, 557, 558, 3172 561, 561, 565, 566, 568, 560, 563, 563, 570, 571, 3173 564, 562, 568, 572, 565, 577, 573, 576, 566, 581, 3174 585, 572, 578, 567, 567, 579, 582, 571, 573, 583, 3175 570, 568, 576, 577, 581, 570, 571, 583, 582, 586, 3176 572, 584, 577, 573, 576, 578, 581, 588, 579, 578, 3177 587, 586, 579, 582, 584, 589, 583, 591, 590, 587, 3178 591, 592, 593, 594, 595, 596, 586, 597, 584, 589, 3179 588, 598, 0, 0, 588, 601, 599, 587, 603, 595, 3180 3181 592, 600, 589, 590, 591, 590, 598, 601, 592, 593, 3182 602, 595, 604, 612, 600, 594, 606, 596, 598, 597, 3183 599, 603, 601, 599, 605, 603, 608, 606, 600, 609, 3184 607, 605, 602, 610, 605, 607, 604, 602, 613, 604, 3185 608, 614, 605, 606, 615, 612, 617, 616, 618, 0, 3186 620, 605, 616, 608, 618, 617, 609, 619, 605, 621, 3187 610, 605, 607, 622, 623, 613, 629, 625, 614, 624, 3188 642, 622, 619, 617, 620, 618, 615, 620, 626, 616, 3189 627, 621, 626, 623, 619, 628, 621, 631, 627, 625, 3190 622, 623, 630, 624, 625, 632, 624, 636, 629, 630, 3191 3192 634, 633, 642, 635, 632, 626, 0, 627, 628, 636, 3193 631, 637, 628, 634, 631, 638, 0, 637, 639, 630, 3194 640, 643, 632, 633, 636, 641, 639, 634, 633, 635, 3195 635, 640, 641, 644, 650, 646, 669, 638, 637, 647, 3196 649, 648, 638, 643, 646, 639, 644, 640, 643, 645, 3197 648, 649, 641, 651, 645, 655, 650, 645, 645, 652, 3198 644, 650, 646, 669, 657, 647, 647, 649, 648, 0, 3199 653, 656, 652, 645, 0, 651, 645, 658, 0, 661, 3200 651, 645, 653, 660, 645, 645, 652, 655, 657, 656, 3201 662, 657, 0, 659, 665, 666, 663, 653, 656, 658, 3202 3203 658, 659, 664, 661, 658, 660, 661, 663, 667, 666, 3204 660, 664, 662, 670, 665, 672, 671, 662, 668, 674, 3205 659, 665, 666, 663, 671, 668, 658, 673, 675, 664, 3206 667, 670, 674, 673, 676, 667, 677, 672, 678, 675, 3207 670, 679, 672, 671, 690, 668, 674, 680, 681, 681, 3208 0, 677, 676, 682, 673, 675, 684, 683, 685, 686, 3209 687, 676, 679, 677, 682, 692, 688, 685, 679, 691, 3210 678, 680, 686, 687, 680, 693, 690, 681, 684, 695, 3211 682, 683, 689, 684, 683, 685, 686, 687, 688, 696, 3212 689, 691, 694, 688, 694, 701, 691, 692, 697, 693, 3213 3214 696, 695, 693, 697, 698, 0, 695, 699, 703, 689, 3215 700, 704, 702, 0, 706, 705, 696, 700, 698, 694, 3216 702, 699, 705, 707, 700, 700, 703, 701, 708, 710, 3217 697, 698, 700, 704, 699, 703, 712, 700, 704, 702, 3218 706, 706, 705, 707, 700, 709, 712, 711, 708, 713, 3219 707, 700, 700, 714, 713, 708, 725, 715, 712, 715, 3220 709, 710, 711, 712, 716, 718, 0, 717, 720, 709, 3221 719, 0, 709, 712, 711, 717, 719, 720, 0, 714, 3222 714, 713, 734, 727, 715, 726, 773, 709, 725, 716, 3223 718, 716, 718, 721, 717, 720, 722, 719, 723, 728, 3224 3225 724, 727, 721, 729, 730, 722, 723, 724, 726, 731, 3226 727, 728, 726, 730, 734, 729, 0, 731, 773, 732, 3227 721, 733, 735, 722, 736, 723, 728, 724, 732, 735, 3228 729, 730, 737, 733, 738, 739, 731, 736, 0, 743, 3229 741, 739, 738, 732, 740, 742, 732, 737, 733, 735, 3230 743, 736, 740, 748, 742, 732, 744, 790, 750, 737, 3231 0, 738, 739, 741, 0, 744, 743, 741, 745, 745, 3232 746, 740, 742, 747, 749, 748, 751, 745, 746, 752, 3233 748, 747, 753, 744, 750, 750, 754, 749, 756, 790, 3234 753, 755, 752, 759, 757, 745, 745, 746, 0, 751, 3235 3236 747, 749, 754, 751, 755, 757, 752, 759, 758, 753, 3237 756, 760, 761, 754, 764, 756, 758, 762, 755, 763, 3238 759, 757, 763, 765, 766, 768, 0, 767, 0, 769, 3239 770, 760, 0, 766, 761, 758, 764, 762, 760, 761, 3240 771, 764, 769, 768, 762, 765, 763, 767, 770, 772, 3241 765, 766, 768, 774, 767, 775, 769, 770, 771, 777, 3242 776, 779, 0, 778, 772, 780, 783, 771, 782, 0, 3243 784, 781, 777, 779, 782, 774, 772, 0, 784, 775, 3244 774, 778, 775, 776, 781, 786, 777, 776, 779, 780, 3245 778, 787, 780, 783, 785, 782, 784, 784, 781, 785, 3246 3247 789, 793, 791, 797, 792, 784, 794, 786, 789, 787, 3248 791, 792, 786, 795, 796, 795, 798, 799, 787, 800, 3249 802, 794, 802, 796, 793, 801, 785, 789, 793, 791, 3250 803, 792, 813, 794, 801, 797, 799, 803, 0, 800, 3251 795, 796, 806, 810, 799, 814, 800, 802, 798, 827, 3252 813, 0, 801, 810, 806, 816, 0, 803, 804, 813, 3253 816, 804, 818, 817, 820, 804, 814, 821, 804, 806, 3254 810, 0, 814, 822, 842, 804, 804, 0, 804, 842, 3255 818, 827, 816, 804, 817, 804, 819, 820, 804, 818, 3256 817, 820, 804, 821, 821, 804, 823, 819, 824, 822, 3257 3258 822, 825, 804, 804, 826, 804, 842, 824, 0, 829, 3259 0, 826, 823, 819, 825, 830, 829, 832, 831, 834, 3260 0, 837, 834, 823, 831, 824, 832, 841, 825, 837, 3261 833, 826, 828, 828, 0, 828, 829, 830, 828, 836, 3262 835, 0, 830, 828, 832, 831, 834, 838, 837, 828, 3263 828, 841, 828, 833, 841, 843, 835, 833, 828, 828, 3264 828, 836, 828, 835, 844, 828, 836, 835, 839, 838, 3265 828, 840, 845, 840, 838, 843, 828, 828, 846, 828, 3266 839, 847, 843, 835, 845, 851, 849, 848, 853, 850, 3267 844, 844, 852, 854, 0, 839, 859, 856, 840, 845, 3268 3269 846, 854, 855, 853, 856, 846, 863, 847, 847, 848, 3270 849, 850, 851, 849, 848, 853, 850, 852, 857, 852, 3271 854, 858, 859, 859, 856, 855, 857, 860, 861, 855, 3272 862, 866, 863, 863, 865, 861, 866, 864, 867, 860, 3273 858, 868, 869, 862, 872, 857, 864, 870, 858, 865, 3274 873, 874, 870, 877, 860, 861, 879, 862, 866, 875, 3275 874, 865, 878, 868, 864, 876, 872, 875, 868, 869, 3276 867, 872, 876, 880, 881, 882, 883, 884, 874, 870, 3277 886, 885, 873, 888, 878, 877, 875, 887, 879, 878, 3278 885, 890, 876, 889, 882, 881, 887, 880, 892, 886, 3279 3280 880, 881, 882, 883, 884, 888, 891, 886, 885, 892, 3281 888, 890, 894, 893, 887, 891, 889, 895, 890, 896, 3282 889, 893, 897, 898, 900, 892, 0, 899, 0, 902, 3283 903, 904, 900, 891, 904, 895, 899, 906, 896, 894, 3284 893, 905, 907, 908, 895, 0, 896, 902, 903, 897, 3285 909, 900, 910, 905, 899, 898, 902, 903, 904, 906, 3286 907, 911, 912, 911, 906, 910, 916, 908, 905, 907, 3287 908, 913, 909, 914, 915, 918, 925, 909, 914, 910, 3288 912, 919, 917, 918, 930, 913, 921, 915, 911, 912, 3289 924, 930, 916, 916, 917, 921, 922, 920, 913, 919, 3290 3291 920, 915, 918, 925, 922, 914, 926, 927, 919, 917, 3292 928, 930, 926, 921, 929, 924, 928, 924, 931, 0, 3293 922, 932, 934, 922, 920, 931, 932, 936, 933, 927, 3294 937, 922, 939, 926, 927, 933, 929, 928, 935, 937, 3295 934, 929, 935, 938, 940, 931, 941, 942, 932, 934, 3296 936, 938, 943, 944, 936, 933, 945, 937, 942, 946, 3297 943, 941, 940, 947, 939, 935, 944, 948, 949, 952, 3298 938, 940, 954, 941, 942, 951, 947, 945, 946, 943, 3299 944, 953, 951, 945, 950, 960, 946, 952, 953, 948, 3300 947, 954, 950, 955, 948, 949, 952, 957, 956, 954, 3301 3302 955, 0, 951, 956, 961, 957, 958, 959, 953, 963, 3303 962, 950, 965, 958, 959, 964, 966, 960, 967, 965, 3304 955, 0, 968, 962, 957, 956, 973, 969, 964, 971, 3305 974, 975, 970, 958, 959, 969, 961, 962, 972, 965, 3306 970, 963, 964, 979, 972, 968, 976, 970, 966, 968, 3307 967, 971, 973, 973, 969, 977, 971, 978, 981, 970, 3308 982, 980, 974, 975, 977, 972, 983, 970, 980, 982, 3309 976, 978, 984, 976, 986, 979, 985, 0, 987, 986, 3310 983, 988, 977, 989, 978, 981, 992, 982, 980, 985, 3311 987, 985, 990, 983, 984, 991, 0, 990, 992, 984, 3312 3313 985, 993, 991, 985, 988, 987, 986, 994, 988, 989, 3314 989, 996, 997, 992, 996, 994, 985, 0, 985, 990, 3315 998, 1000, 991, 993, 1002, 997, 1001, 1004, 993, 1005, 3316 1002, 998, 0, 1001, 994, 1000, 1008, 1006, 996, 997, 3317 0, 1009, 0, 1009, 998, 0, 0, 998, 1000, 1004, 3318 0, 1002, 0, 1001, 1004, 1005, 1005, 1007, 998, 1003, 3319 1006, 1003, 1012, 1008, 1006, 1003, 0, 1003, 1009, 1007, 3320 1010, 1010, 1003, 1011, 1012, 0, 1016, 1003, 1013, 1014, 3321 1011, 1016, 1015, 1003, 1007, 1017, 1003, 0, 1003, 1012, 3322 1025, 1013, 1003, 1010, 1003, 1015, 1023, 1010, 1010, 1003, 3323 3324 1011, 1014, 1018, 1017, 1003, 1013, 1014, 1019, 1016, 1015, 3325 1020, 1021, 1017, 1022, 1024, 1018, 1034, 1025, 1023, 1019, 3326 1026, 1021, 1020, 1023, 1028, 1032, 1026, 1024, 1022, 1018, 3327 1019, 1027, 1029, 1021, 1019, 1030, 1033, 1020, 1021, 1031, 3328 1022, 1024, 1028, 1034, 1027, 1036, 1019, 1026, 1021, 1350, 3329 1350, 1028, 1041, 1042, 1029, 1037, 1030, 1032, 1027, 1029, 3330 1037, 1031, 1030, 1038, 1039, 0, 1031, 1041, 1033, 1044, 3331 0, 1038, 1054, 1039, 1043, 1042, 1045, 1036, 1350, 1041, 3332 1042, 1047, 1037, 0, 1044, 1046, 1051, 1043, 0, 1061, 3333 1038, 1039, 1040, 1048, 1051, 0, 1044, 1040, 1049, 1040, 3334 3335 1047, 1043, 1045, 1045, 1054, 1040, 1048, 1046, 1047, 1049, 3336 1040, 1040, 1046, 1051, 1050, 1052, 1061, 1040, 1040, 1040, 3337 1048, 1055, 1053, 1052, 1040, 1049, 1040, 1050, 1058, 1065, 3338 1056, 1057, 1040, 1053, 0, 1070, 0, 1040, 1040, 1058, 3339 1057, 1050, 1052, 1055, 1040, 1056, 1062, 1059, 1055, 1053, 3340 1060, 1066, 1069, 1063, 1067, 1058, 1059, 1056, 1057, 1060, 3341 1063, 1065, 1067, 1068, 1071, 1074, 1069, 1070, 1072, 1062, 3342 1075, 1076, 1077, 1062, 1059, 1066, 1072, 1060, 1066, 1069, 3343 1063, 1067, 1076, 1074, 1078, 1068, 1071, 1080, 1075, 1081, 3344 1068, 1071, 1074, 1079, 1082, 1072, 1081, 1075, 1076, 1083, 3345 3346 1085, 1079, 1078, 1084, 1077, 1086, 1087, 1082, 1088, 1080, 3347 1084, 1078, 1089, 1090, 1080, 1085, 1081, 1092, 1098, 1097, 3348 1079, 1082, 1089, 1086, 1087, 1083, 1083, 1085, 1092, 1088, 3349 1084, 1095, 1086, 1087, 1094, 1088, 1100, 1111, 1095, 1089, 3350 1096, 1097, 1096, 1099, 1092, 1090, 1097, 1094, 1101, 1100, 3351 1098, 1099, 1102, 1109, 1103, 1104, 1107, 1101, 1095, 1110, 3352 1112, 1094, 1108, 1100, 1102, 0, 0, 1096, 0, 1111, 3353 1099, 1109, 1113, 0, 0, 1101, 1103, 1104, 1107, 1102, 3354 1109, 1103, 1104, 1107, 1108, 1110, 1110, 1115, 1114, 1108, 3355 1113, 1117, 1112, 1118, 1120, 1121, 1123, 1120, 1118, 1113, 3356 3357 1114, 1115, 1117, 1122, 1124, 1125, 1126, 1121, 1127, 1123, 3358 0, 1124, 1130, 1132, 1115, 1114, 1125, 1127, 1117, 0, 3359 1120, 1120, 1121, 1123, 1120, 1118, 1126, 1122, 1128, 1129, 3360 1122, 1124, 1125, 1126, 1133, 1127, 1131, 1134, 1135, 0, 3361 1137, 1129, 1128, 1131, 1130, 1132, 1133, 1138, 1139, 1142, 3362 1140, 1135, 0, 0, 1139, 1128, 1129, 1141, 1146, 1134, 3363 1142, 1133, 1143, 1131, 1134, 1135, 1137, 1137, 1144, 1145, 3364 1149, 1138, 1140, 1146, 1138, 1139, 1142, 1140, 1148, 1141, 3365 1143, 1149, 1150, 1152, 1141, 1146, 1151, 1153, 0, 1143, 3366 1144, 1145, 1151, 1154, 1156, 1144, 1145, 1149, 1155, 1148, 3367 3368 1157, 1158, 1163, 1150, 1159, 1148, 1161, 1155, 1162, 1150, 3369 1158, 1154, 1159, 1151, 1153, 1152, 1160, 1164, 1156, 1165, 3370 1154, 1156, 1162, 1160, 1168, 1155, 1157, 1157, 1158, 1170, 3371 1161, 1159, 1166, 1161, 1163, 1162, 1167, 1173, 1169, 1175, 3372 1172, 1174, 0, 1160, 0, 1177, 1173, 1176, 1174, 1164, 3373 0, 1165, 1178, 1180, 1166, 1179, 1168, 1181, 1167, 1166, 3374 1169, 1170, 1172, 1167, 1173, 1169, 1181, 1172, 1174, 1176, 3375 1178, 1175, 1177, 1179, 1176, 1180, 1183, 1182, 1184, 1178, 3376 1180, 1185, 1179, 1187, 1181, 1182, 1188, 1186, 1189, 1190, 3377 1191, 1194, 1187, 0, 0, 0, 1189, 1185, 1193, 1192, 3378 3379 1183, 1188, 1184, 1183, 1182, 1184, 1196, 0, 1185, 1186, 3380 1187, 1192, 1197, 1188, 1186, 1189, 1195, 1201, 1194, 1196, 3381 1193, 1190, 1191, 1198, 1195, 1193, 1192, 1197, 1200, 1203, 3382 1202, 1203, 1198, 1196, 1205, 1201, 1206, 1200, 1202, 1197, 3383 1207, 1208, 1205, 1195, 1201, 1211, 1213, 1209, 1210, 1215, 3384 1198, 1221, 1211, 1214, 1206, 1200, 1203, 1202, 1219, 1213, 3385 1208, 1205, 1216, 1206, 1215, 1214, 1218, 1207, 1208, 1209, 3386 1210, 1222, 1211, 1213, 1209, 1210, 1215, 1217, 1218, 1220, 3387 1214, 1223, 1224, 1221, 1216, 1219, 1220, 1225, 1226, 1216, 3388 1228, 1227, 1229, 1218, 1224, 1217, 0, 0, 1225, 1231, 3389 3390 1223, 1232, 1239, 1222, 1217, 1229, 1220, 1230, 1223, 1224, 3391 1226, 1234, 1228, 1232, 1225, 1226, 1227, 1228, 1227, 1229, 3392 1230, 1231, 1233, 1235, 1236, 1237, 1231, 1240, 1232, 1239, 3393 1233, 0, 1241, 1237, 1230, 1234, 1236, 1243, 1234, 1242, 3394 1240, 1244, 1245, 1235, 1249, 0, 1243, 1250, 0, 1233, 3395 1235, 1236, 1237, 1244, 1240, 1241, 0, 1242, 1246, 1241, 3396 1251, 1247, 1252, 1245, 1243, 1246, 1242, 1249, 1244, 1245, 3397 1247, 1249, 1247, 1250, 1250, 1247, 1253, 1254, 1263, 1260, 3398 1258, 1255, 1251, 1247, 1256, 1246, 1257, 1251, 1247, 1252, 3399 1254, 1289, 1256, 1269, 1264, 1257, 1253, 1247, 1258, 1247, 3400 3401 1262, 1260, 1247, 1253, 1254, 1255, 1260, 1258, 1255, 1261, 3402 1263, 1256, 1265, 1257, 1266, 1262, 1264, 1261, 1267, 0, 3403 1269, 1264, 1270, 1289, 1271, 1265, 1267, 1262, 1272, 1274, 3404 1266, 1273, 1275, 0, 0, 1272, 1261, 0, 0, 1265, 3405 1290, 1266, 1276, 0, 1270, 1267, 1271, 1290, 1277, 1270, 3406 1275, 1271, 1274, 1273, 1276, 1272, 1274, 1278, 1273, 1275, 3407 1277, 1279, 1280, 1281, 1282, 1278, 1284, 1290, 1283, 1276, 3408 1279, 1285, 1284, 1286, 1280, 1277, 1283, 0, 0, 1282, 3409 1285, 0, 0, 1281, 1278, 1279, 1288, 1287, 1279, 1280, 3410 1281, 1282, 1292, 1284, 1286, 1283, 1291, 1279, 1285, 1287, 3411 3412 1286, 1294, 1288, 1291, 1293, 1295, 1297, 1296, 1297, 1294, 3413 1292, 1299, 1298, 1288, 1287, 1296, 1293, 1302, 1300, 1292, 3414 1295, 0, 0, 1291, 1298, 1300, 1303, 1304, 1294, 1305, 3415 1306, 1293, 1295, 1297, 1296, 1307, 1308, 1306, 1303, 1298, 3416 1304, 1313, 1310, 1299, 1309, 1300, 1307, 1310, 1305, 1302, 3417 1314, 1312, 1311, 1303, 1304, 1313, 1305, 1306, 1308, 1309, 3418 1311, 1318, 1307, 1308, 1312, 1323, 0, 1316, 1313, 1319, 3419 0, 1309, 1317, 1322, 1310, 0, 1314, 1314, 1312, 1311, 3420 1315, 1316, 1320, 1324, 1315, 1321, 0, 1315, 1315, 1332, 3421 1317, 1322, 1315, 1318, 1316, 1319, 1319, 1323, 1315, 1317, 3422 3423 1322, 1325, 1315, 1333, 1320, 1324, 1315, 1315, 1321, 1320, 3424 1324, 1315, 1321, 1326, 1315, 1315, 1327, 0, 1328, 1315, 3425 1330, 1332, 1327, 1325, 1329, 1315, 1329, 1330, 1325, 1315, 3426 1334, 1335, 1331, 1338, 1337, 1333, 1340, 1342, 1380, 1326, 3427 1326, 1331, 0, 1327, 1328, 1328, 1338, 1330, 1329, 1335, 3428 1341, 1329, 1343, 1329, 1334, 1336, 1337, 1334, 1335, 1331, 3429 1338, 1337, 1336, 1339, 1344, 1380, 1345, 0, 1340, 1342, 3430 1347, 1341, 1339, 1348, 1343, 1353, 0, 1341, 0, 1343, 3431 1345, 1349, 1336, 1354, 0, 0, 1348, 1344, 1351, 1355, 3432 1339, 1344, 1347, 1345, 1346, 1354, 1355, 1347, 1353, 1346, 3433 3434 1348, 1346, 1353, 1346, 1351, 1346, 1357, 1349, 1349, 1356, 3435 1354, 1359, 1346, 1360, 1358, 1351, 1355, 1361, 1356, 1358, 3436 1362, 1346, 1361, 1364, 1357, 1368, 1346, 1369, 1346, 1359, 3437 1346, 1360, 1346, 1357, 1370, 1363, 1356, 1365, 1359, 1367, 3438 1360, 1364, 1362, 1366, 1361, 1365, 1358, 1362, 1363, 1370, 3439 1364, 1366, 1367, 1369, 1369, 1371, 1372, 1368, 1373, 1374, 3440 1375, 1370, 1363, 1378, 1365, 1378, 1367, 1377, 1376, 1372, 3441 1366, 1379, 1374, 1382, 1371, 1383, 1377, 1381, 1375, 0, 3442 1373, 1384, 1371, 1372, 1390, 1373, 1374, 1375, 1376, 1381, 3443 1378, 1386, 1387, 1379, 1377, 1376, 1392, 1383, 1379, 1388, 3444 3445 1382, 1393, 1383, 1389, 1381, 1391, 1384, 1388, 1384, 1394, 3446 1395, 1390, 1391, 1398, 1387, 1386, 1395, 1399, 1386, 1387, 3447 1403, 1389, 1401, 1392, 1399, 0, 1388, 1393, 1393, 1396, 3448 1389, 1394, 1391, 1397, 1402, 1396, 1394, 1395, 1400, 1397, 3449 1398, 1402, 1404, 1406, 1399, 1405, 1401, 1409, 1400, 1401, 3450 1407, 1412, 1403, 1411, 1410, 1426, 1396, 1414, 1427, 1407, 3451 1397, 1402, 1413, 1405, 1404, 1400, 1410, 1411, 1406, 1404, 3452 1406, 1409, 1405, 1412, 1409, 1413, 1415, 1407, 1412, 1414, 3453 1411, 1410, 1416, 1417, 1414, 1419, 1418, 1426, 1421, 1413, 3454 1427, 0, 1420, 0, 0, 1415, 1422, 1421, 1423, 1428, 3455 3456 1429, 1430, 1424, 1415, 1416, 0, 0, 1417, 1418, 1416, 3457 1417, 1419, 1419, 1418, 1420, 1421, 1424, 1422, 1423, 1420, 3458 1431, 1428, 1429, 1422, 1432, 1423, 1428, 1429, 1433, 1424, 3459 1434, 1438, 1432, 1430, 1435, 1436, 1439, 1440, 1431, 1442, 3460 1441, 1435, 1436, 1444, 1433, 1439, 1442, 1431, 1445, 1446, 3461 1449, 1432, 1441, 1438, 1440, 1433, 1443, 1434, 1438, 1453, 3462 1443, 1435, 1436, 1439, 1440, 1447, 1442, 1441, 1452, 0, 3463 1446, 1450, 1451, 1455, 1456, 1444, 1446, 1450, 1451, 1454, 3464 1445, 1447, 1449, 1443, 1450, 1451, 1454, 1456, 1455, 1458, 3465 1452, 1453, 1447, 1457, 0, 1452, 1459, 1462, 1450, 1451, 3466 3467 1455, 1456, 1457, 1459, 1450, 1451, 1454, 1460, 1461, 1460, 3468 1464, 1466, 1463, 1469, 1465, 1458, 1458, 1461, 1465, 1462, 3469 1457, 1463, 1468, 1459, 1462, 1473, 1469, 1471, 1470, 1474, 3470 1468, 1475, 1471, 1466, 1460, 1461, 1472, 1464, 1466, 1463, 3471 1469, 1465, 1470, 1473, 1475, 1472, 1480, 1479, 1474, 1468, 3472 1476, 0, 1473, 1483, 1477, 1470, 1474, 1477, 1475, 1471, 3473 1485, 1478, 1476, 1472, 1478, 1479, 1477, 1481, 0, 1484, 3474 1486, 1480, 0, 1480, 1479, 1486, 1485, 1476, 1487, 1490, 3475 1481, 1477, 0, 1478, 1477, 1483, 1487, 1485, 1478, 1488, 3476 1488, 1478, 1484, 1491, 1481, 1489, 1484, 1492, 1493, 1495, 3477 3478 1498, 1490, 1486, 1494, 1489, 1487, 1490, 1493, 1499, 1502, 3479 1494, 1496, 1505, 1498, 1500, 1491, 1488, 1499, 1496, 1492, 3480 1491, 1495, 1489, 1500, 1492, 1493, 1495, 1498, 1501, 1504, 3481 1494, 1503, 1502, 1506, 1507, 1499, 1502, 1504, 1496, 1508, 3482 1503, 1500, 1513, 1515, 1505, 1507, 1509, 1508, 1506, 1512, 3483 1510, 1511, 1514, 0, 1501, 1501, 1504, 1512, 1503, 1509, 3484 1506, 1507, 1510, 1511, 1513, 1515, 1508, 1519, 1517, 1513, 3485 1515, 1516, 1514, 1509, 1520, 1521, 1512, 1510, 1511, 1514, 3486 1516, 1517, 1518, 1523, 1527, 1519, 1522, 1521, 1518, 1524, 3487 1523, 1525, 1526, 1528, 1519, 1517, 1534, 1527, 1516, 1529, 3488 3489 1520, 1520, 1521, 1531, 1522, 1535, 1530, 1533, 1536, 1518, 3490 1523, 1527, 1532, 1522, 1531, 1524, 1524, 1537, 1532, 1528, 3491 1528, 1540, 1541, 1525, 1526, 0, 1529, 1530, 1534, 1533, 3492 1531, 1538, 1543, 1530, 1533, 1542, 1544, 1535, 1548, 1532, 3493 1536, 1543, 1545, 1537, 1537, 1541, 1590, 1547, 1540, 1541, 3494 1538, 1544, 1538, 1542, 1546, 1545, 1550, 1538, 1538, 1543, 3495 1551, 1549, 1542, 1544, 1548, 1548, 1546, 1547, 1549, 1545, 3496 1553, 1552, 1556, 1590, 1547, 1550, 1558, 1538, 1553, 1538, 3497 1554, 1546, 1551, 1550, 1552, 1554, 1555, 1551, 1549, 1557, 3498 1561, 1555, 1559, 1560, 0, 1556, 1557, 1553, 1552, 1556, 3499 3500 1559, 1560, 1558, 1558, 1562, 1563, 1565, 1564, 1561, 1566, 3501 1572, 1570, 1554, 1563, 1564, 1565, 1557, 1561, 1555, 1559, 3502 1560, 1567, 1569, 1570, 1571, 1571, 1562, 1568, 1575, 1569, 3503 0, 1562, 1563, 1565, 1564, 1574, 1568, 1573, 1570, 1576, 3504 1577, 1566, 1572, 1567, 1578, 1573, 1582, 1576, 1567, 1569, 3505 1585, 1571, 1578, 1579, 1568, 1580, 1574, 1581, 1577, 1582, 3506 1575, 1579, 1574, 1580, 1573, 1581, 1576, 1577, 1583, 1584, 3507 1586, 1578, 1589, 1582, 1583, 1587, 1585, 1585, 1588, 1591, 3508 1579, 1584, 1580, 1587, 1581, 1592, 1588, 1589, 1593, 1594, 3509 1596, 0, 1595, 0, 1586, 1583, 1584, 1586, 1601, 1589, 3510 3511 1597, 1600, 1587, 1594, 1595, 1588, 1591, 1592, 1596, 1598, 3512 1600, 1593, 1592, 1598, 1597, 1593, 1594, 1596, 1603, 1595, 3513 1602, 1605, 1601, 1606, 1604, 1601, 1598, 1597, 1600, 1608, 3514 1603, 1604, 1605, 1607, 1598, 1611, 1598, 1609, 1610, 1613, 3515 1598, 1612, 1602, 0, 1619, 1603, 1614, 1602, 1605, 1609, 3516 1606, 1604, 1610, 1598, 1617, 1607, 1620, 1624, 1628, 0, 3517 1607, 1608, 1613, 1612, 1609, 1610, 1613, 1611, 1612, 1614, 3518 1615, 1616, 1617, 1614, 1626, 1618, 1619, 1615, 1622, 1625, 3519 1616, 1617, 1618, 1620, 1627, 1625, 1629, 1622, 1631, 1624, 3520 1628, 1634, 1633, 1629, 0, 0, 1626, 1615, 1616, 1642, 3521 3522 1639, 1626, 1618, 1635, 0, 1622, 1625, 1644, 0, 1636, 3523 1627, 1627, 1637, 1629, 1635, 1631, 1633, 1642, 1634, 1633, 3524 1636, 1650, 1640, 1637, 1639, 1641, 1642, 1639, 1640, 1645, 3525 1635, 1643, 1641, 1644, 1644, 1648, 1636, 1646, 1643, 1637, 3526 1647, 1645, 1649, 1646, 1651, 1652, 0, 0, 1647, 1640, 3527 1653, 0, 1641, 1650, 1654, 1649, 1645, 1648, 1643, 1653, 3528 1657, 1656, 1648, 1652, 1646, 1658, 1654, 1647, 1656, 1649, 3529 1651, 1651, 1652, 1655, 1659, 1655, 1660, 1653, 1658, 1661, 3530 1662, 1654, 1663, 1659, 1665, 1666, 1657, 1657, 1656, 1664, 3531 1666, 1661, 1658, 1673, 1667, 1669, 1664, 1668, 1660, 0, 3532 3533 1655, 1659, 1667, 1660, 1671, 1663, 1661, 1662, 1675, 1663, 3534 1665, 1665, 1666, 1668, 1674, 1670, 1664, 1678, 1669, 1674, 3535 1673, 1667, 1669, 1670, 1668, 1676, 1671, 1677, 1678, 1679, 3536 1680, 1671, 1675, 1681, 1681, 1675, 1685, 1682, 1679, 1676, 3537 1684, 1681, 1670, 1680, 1678, 1683, 1674, 1683, 1686, 1677, 3538 1682, 1688, 1676, 1690, 1677, 1692, 1679, 1680, 1684, 1687, 3539 1681, 1681, 1685, 1685, 1682, 1693, 1687, 1684, 1694, 1689, 3540 1686, 1691, 1683, 1688, 1695, 1686, 1689, 1690, 1688, 1691, 3541 1690, 1695, 1692, 1693, 1696, 1697, 1687, 1698, 1701, 1700, 3542 1694, 1703, 1693, 1699, 0, 1694, 1689, 1704, 1691, 0, 3543 3544 1699, 1695, 1708, 1707, 1703, 1705, 1706, 1697, 1712, 1696, 3545 1701, 1696, 1697, 1705, 1706, 1701, 1710, 1717, 1703, 1698, 3546 1699, 1700, 1713, 1708, 1704, 1707, 1714, 1715, 1711, 1708, 3547 1707, 1711, 1705, 1706, 1712, 1712, 1715, 1718, 1710, 1714, 3548 1716, 1717, 1719, 1710, 1717, 1720, 1723, 0, 1713, 1713, 3549 1721, 1719, 1716, 1714, 1715, 1711, 1722, 1721, 1725, 1722, 3550 1720, 1727, 1724, 1718, 1718, 1728, 1729, 1716, 1729, 1719, 3551 1730, 1722, 1720, 1731, 1725, 1733, 1734, 1721, 1723, 1727, 3552 1722, 1738, 1725, 1722, 1724, 1725, 1722, 1728, 1727, 1724, 3553 1735, 1740, 1728, 1729, 1730, 1736, 1732, 1730, 1722, 1732, 3554 3555 1731, 1725, 1737, 1739, 1748, 1740, 1741, 1733, 1734, 1743, 3556 1744, 1742, 1735, 1738, 1745, 1741, 1743, 1735, 1740, 1742, 3557 1746, 1736, 1736, 1732, 1747, 1739, 1748, 1749, 1737, 1737, 3558 1739, 1748, 0, 1741, 1744, 1750, 1743, 1744, 1742, 1750, 3559 1752, 1751, 1753, 1755, 1754, 1756, 1745, 1757, 1759, 0, 3560 1755, 1758, 1746, 1754, 1764, 1757, 1747, 1756, 1758, 1749, 3561 1760, 1759, 1750, 1751, 1753, 1765, 1761, 1752, 1751, 1753, 3562 1755, 1754, 1756, 1760, 1757, 1759, 1762, 1764, 1758, 1761, 3563 1763, 1764, 1763, 1766, 1767, 1762, 1769, 1760, 1771, 1773, 3564 1765, 1766, 1765, 1761, 1770, 1772, 1773, 1774, 1775, 1776, 3565 3566 0, 1769, 1771, 1762, 1767, 1775, 1781, 1763, 1774, 1770, 3567 1766, 1767, 1776, 1769, 1777, 1771, 1773, 1778, 1779, 1784, 3568 1783, 1770, 1782, 1786, 1774, 1775, 1776, 1772, 1785, 1782, 3569 0, 1801, 1777, 1781, 1784, 1786, 1779, 1788, 1777, 1787, 3570 1788, 1777, 1783, 1778, 1778, 1779, 1784, 1783, 1789, 1782, 3571 1786, 1790, 1787, 1791, 1785, 1785, 1792, 1789, 1801, 1777, 3572 1794, 1799, 1800, 1799, 1788, 1791, 1787, 1793, 1802, 1790, 3573 1793, 1794, 1796, 1798, 0, 1789, 1792, 1796, 1790, 1805, 3574 1791, 1803, 1798, 1792, 1796, 1793, 1800, 1794, 1799, 1800, 3575 1806, 1807, 1804, 1809, 1793, 1802, 1803, 1793, 1811, 1796, 3576 3577 1798, 1804, 1808, 1805, 1796, 1807, 1805, 1812, 1803, 1810, 3578 1808, 1813, 1815, 1812, 1816, 1809, 1814, 1806, 1807, 1804, 3579 1809, 1822, 1811, 1815, 1814, 1811, 1820, 1817, 1821, 1808, 3580 1823, 1810, 1816, 1813, 1812, 1817, 1810, 1818, 1813, 1815, 3581 1818, 1816, 1819, 1814, 1820, 1819, 0, 1825, 1822, 1824, 3582 1823, 1828, 1827, 1820, 1817, 1818, 1824, 1823, 1829, 1826, 3583 1821, 1825, 1828, 1829, 1818, 1827, 1830, 1818, 1826, 1819, 3584 1831, 1834, 1835, 1834, 1825, 1836, 1824, 0, 1828, 1827, 3585 1837, 1835, 1839, 1838, 1843, 1831, 1826, 1840, 1830, 1841, 3586 1829, 1840, 0, 1830, 1838, 1844, 0, 1831, 1834, 1835, 3587 3588 1839, 1836, 1836, 1841, 1837, 1842, 1843, 1837, 1842, 1839, 3589 1838, 1843, 0, 1840, 1840, 1841, 1841, 1845, 1840, 1846, 3590 1847, 1844, 1844, 1842, 1850, 1846, 1845, 1851, 1848, 1847, 3591 1841, 1852, 1842, 1848, 1853, 1842, 1852, 1850, 1855, 1851, 3592 1854, 1856, 1857, 1858, 1845, 1861, 1846, 1847, 1867, 1859, 3593 1856, 1850, 1860, 1854, 1851, 1864, 1853, 1862, 1852, 1865, 3594 1848, 1853, 1864, 1870, 0, 1860, 1865, 1854, 1856, 1857, 3595 1855, 1859, 1866, 1868, 1872, 1858, 1859, 1861, 1862, 1860, 3596 1867, 1878, 1864, 1869, 1862, 1866, 1865, 1868, 1874, 1869, 3597 1875, 1879, 1877, 1872, 1876, 1870, 1874, 1886, 1875, 1866, 3598 3599 1868, 1872, 1876, 1878, 1881, 1887, 1880, 1869, 1878, 1879, 3600 1869, 1877, 1882, 1885, 1883, 1874, 1869, 1875, 1879, 1877, 3601 1880, 1876, 1881, 1884, 1888, 1890, 1882, 1883, 1889, 1886, 3602 1894, 1881, 1896, 1880, 1885, 1892, 1884, 1887, 1891, 1882, 3603 1885, 1883, 1889, 1901, 1892, 1891, 1893, 1904, 1888, 1895, 3604 1884, 1888, 1890, 1897, 1893, 1889, 1898, 1894, 1897, 1899, 3605 1906, 1885, 1892, 1895, 1896, 1891, 1903, 1898, 1899, 1904, 3606 1901, 1902, 1905, 1893, 1904, 1907, 1895, 1908, 1902, 1905, 3607 1897, 1909, 1906, 1898, 1913, 1909, 1899, 1906, 1914, 1903, 3608 1911, 1917, 1915, 1903, 1916, 1908, 1918, 1907, 1902, 1905, 3609 3610 1913, 1911, 1907, 1917, 1908, 1919, 1914, 1920, 1909, 1916, 3611 1922, 1913, 1921, 1919, 1911, 1914, 1915, 1911, 1917, 1915, 3612 1921, 1916, 1920, 1918, 1923, 1924, 1926, 1925, 1911, 1927, 3613 1928, 1934, 1919, 1930, 1920, 1932, 0, 1922, 1924, 1921, 3614 1930, 1926, 1929, 1932, 1935, 1928, 1923, 1925, 1933, 1927, 3615 1938, 1923, 1924, 1926, 1925, 1933, 1927, 1928, 1929, 1935, 3616 1930, 1936, 1932, 1934, 1937, 1939, 1940, 1941, 1943, 1929, 3617 1936, 1935, 1944, 1940, 1945, 1933, 1947, 1938, 1946, 1948, 3618 0, 0, 1949, 1951, 0, 1937, 1945, 1950, 1936, 1939, 3619 1943, 1937, 1939, 1940, 1941, 1943, 1946, 1949, 1953, 1956, 3620 3621 0, 1945, 1958, 1953, 1944, 1946, 1948, 1951, 1947, 1949, 3622 1951, 1952, 1950, 1954, 1950, 1955, 1959, 1957, 1952, 1961, 3623 1958, 1956, 1954, 1960, 1955, 1953, 1956, 1965, 0, 1958, 3624 1963, 1959, 1967, 1966, 1962, 1960, 1968, 1963, 1952, 1957, 3625 1954, 1961, 1955, 1959, 1957, 1966, 1961, 1962, 1964, 1965, 3626 1960, 1978, 1962, 1971, 1965, 1964, 1969, 1963, 1972, 1967, 3627 1966, 1962, 1969, 1973, 1971, 1974, 1972, 0, 1968, 1976, 3628 1964, 1973, 1975, 1979, 1962, 1964, 1974, 1978, 1978, 1975, 3629 1971, 1980, 1964, 1969, 1977, 1972, 1977, 1982, 1981, 1987, 3630 1973, 1983, 1974, 0, 1976, 1981, 1976, 1977, 1984, 1975, 3631 3632 1979, 1985, 1989, 1986, 1984, 1992, 1988, 1985, 1980, 1986, 3633 1994, 1977, 1990, 1977, 1982, 1981, 1987, 1983, 1983, 1995, 3634 1998, 1996, 1993, 1995, 1997, 1984, 1997, 1999, 1985, 1988, 3635 1986, 1993, 2002, 1988, 1989, 2001, 1990, 1992, 2000, 1990, 3636 2003, 2005, 1994, 1996, 1998, 2000, 1995, 1998, 1996, 1993, 3637 2004, 1997, 2003, 2006, 1999, 2007, 2004, 2001, 2009, 2002, 3638 2014, 2008, 2001, 2005, 2023, 2000, 2011, 2003, 2005, 2010, 3639 2010, 2010, 2013, 2011, 0, 2006, 2010, 2004, 2012, 2013, 3640 2006, 2007, 2007, 2008, 2010, 2018, 2017, 2012, 2008, 2023, 3641 2009, 2023, 2014, 2011, 2015, 2016, 2010, 2010, 2010, 2013, 3642 3643 2024, 2015, 2016, 2010, 2020, 2012, 2017, 2018, 2022, 2020, 3644 2021, 2026, 2018, 2017, 2025, 2027, 2024, 2028, 2030, 2029, 3645 2022, 2015, 2016, 2021, 2028, 2029, 2025, 2024, 2031, 2031, 3646 2032, 2033, 2036, 2027, 2034, 2022, 2020, 2021, 2033, 2034, 3647 2035, 2025, 2027, 2026, 2028, 2030, 2029, 2037, 2041, 2042, 3648 2043, 2042, 2045, 2038, 2047, 2031, 2032, 2032, 2033, 2036, 3649 2038, 2034, 2049, 2046, 2048, 2050, 2035, 2035, 2043, 2046, 3650 2045, 2051, 2048, 2049, 2037, 2041, 2042, 2043, 2050, 2045, 3651 2038, 2052, 2053, 2054, 2055, 2058, 2047, 2052, 2057, 2049, 3652 2046, 2048, 2050, 2060, 2053, 2056, 2056, 2062, 2051, 2059, 3653 3654 2059, 2063, 2055, 2054, 2060, 2064, 2065, 2066, 2052, 2053, 3655 2054, 2055, 2058, 2065, 2057, 2057, 2067, 2068, 2071, 2072, 3656 2060, 0, 2056, 2063, 2070, 2073, 2059, 2066, 2063, 2062, 3657 2077, 2074, 2070, 2065, 2066, 2078, 2076, 2064, 2077, 2079, 3658 2080, 2075, 2068, 2076, 2068, 2083, 2072, 2073, 2067, 2074, 3659 2071, 2070, 2073, 2075, 2079, 2085, 2081, 2077, 2074, 2078, 3660 2082, 2082, 2078, 2076, 2080, 2081, 2079, 2080, 2075, 2084, 3661 2085, 2083, 2083, 2086, 0, 2089, 2088, 2087, 0, 2091, 3662 2092, 2094, 2085, 2081, 2087, 2092, 2091, 2082, 2088, 2093, 3663 2095, 2089, 2096, 2095, 2102, 0, 2103, 2097, 2089, 2100, 3664 3665 2096, 2084, 2089, 2088, 2087, 2086, 2091, 2092, 2094, 2097, 3666 2101, 2093, 2099, 2104, 2103, 2102, 2093, 2095, 2089, 2096, 3667 2099, 2102, 2100, 2103, 2097, 2105, 2100, 2106, 2107, 2108, 3668 0, 2112, 2109, 2107, 2110, 2113, 2101, 2101, 2109, 2099, 3669 2104, 2111, 2113, 2105, 2107, 2116, 2121, 2110, 0, 2111, 3670 2106, 0, 2105, 2112, 2106, 2107, 2108, 2114, 2112, 2109, 3671 2107, 2110, 2113, 2115, 2114, 2117, 2118, 2119, 2111, 2120, 3672 2115, 2122, 2123, 2121, 2117, 2126, 0, 2116, 2118, 2127, 3673 2126, 2128, 2125, 2120, 2114, 2129, 2127, 2131, 2133, 2119, 3674 2115, 2126, 2117, 2118, 2119, 2123, 2120, 2122, 2122, 2123, 3675 3676 2125, 2135, 2126, 2128, 2137, 2132, 2127, 2126, 2128, 2125, 3677 2132, 2139, 2129, 2138, 2131, 2136, 2136, 2141, 2142, 2143, 3678 2133, 2144, 2145, 2146, 2145, 2147, 2137, 2148, 2138, 2150, 3679 2147, 2137, 2141, 2135, 2143, 2151, 2154, 2132, 2149, 2155, 3680 2138, 2142, 2136, 2139, 2141, 2142, 2143, 2144, 2144, 2145, 3681 2149, 2150, 2147, 2152, 2155, 2146, 2150, 2153, 2154, 2148, 3682 2157, 2152, 2151, 2154, 2153, 2149, 2155, 2159, 2158, 2161, 3683 2167, 0, 2163, 2162, 2164, 2157, 2158, 2165, 2166, 2168, 3684 2152, 2169, 2170, 0, 2153, 0, 2171, 2157, 2169, 2159, 3685 2172, 2168, 2174, 2176, 2159, 2158, 2161, 2162, 2163, 2163, 3686 3687 2162, 2164, 2167, 2165, 2165, 2166, 2168, 2171, 2169, 2173, 3688 2174, 2177, 2172, 2171, 2170, 2176, 2179, 2172, 2180, 2174, 3689 2176, 2181, 2182, 0, 2183, 2187, 2188, 2181, 0, 2185, 3690 2173, 2186, 2190, 2191, 0, 2193, 2173, 2182, 2177, 2189, 3691 2179, 2180, 0, 2179, 2185, 2180, 2186, 2187, 2181, 2182, 3692 2183, 2183, 2187, 2188, 2190, 2191, 2185, 2189, 2186, 2190, 3693 2191, 2192, 2193, 2194, 2195, 2196, 2189, 2197, 2200, 2201, 3694 2194, 2199, 2198, 0, 2196, 2197, 2204, 2203, 2201, 2202, 3695 0, 0, 2195, 2211, 0, 2192, 2203, 2208, 2192, 2204, 3696 2194, 2195, 2196, 2199, 2197, 2198, 2201, 2202, 2199, 2198, 3697 3698 2200, 2206, 2207, 2204, 2203, 2208, 2202, 2209, 2210, 2211, 3699 2211, 2207, 2206, 2212, 2208, 2210, 2214, 2213, 2219, 2215, 3700 0, 0, 2214, 2216, 2221, 2209, 2228, 2206, 2206, 2207, 3701 2231, 2212, 2213, 2230, 2209, 2210, 2222, 2216, 2223, 2206, 3702 2212, 2215, 2224, 2214, 2213, 2219, 2215, 2222, 2221, 2223, 3703 2216, 2221, 2226, 2224, 2227, 2231, 2229, 2231, 2228, 2230, 3704 2230, 2232, 2233, 2222, 2226, 2223, 2229, 2227, 2234, 2224, 3705 2237, 2233, 2235, 2240, 2232, 2238, 2242, 2240, 2244, 2226, 3706 2243, 2227, 2241, 2229, 2247, 2245, 2249, 2246, 2232, 2233, 3707 2245, 2235, 2249, 2243, 2246, 2234, 2248, 2237, 2244, 2235, 3708 3709 2240, 2238, 2238, 2241, 2248, 2244, 2250, 2243, 2242, 2241, 3710 2247, 2247, 2245, 2249, 2246, 2251, 2252, 2253, 2254, 2254, 3711 2255, 2250, 2248, 2248, 2256, 0, 2264, 0, 2252, 2257, 3712 2251, 2248, 2253, 2250, 2257, 2258, 2256, 2262, 2255, 2258, 3713 2263, 2262, 2251, 2252, 2253, 2254, 0, 2255, 2259, 2259, 3714 2261, 2256, 2259, 2264, 2265, 2263, 2267, 2261, 0, 2266, 3715 2268, 2257, 2258, 2265, 2262, 2259, 2266, 2263, 2271, 2272, 3716 0, 2269, 2286, 2259, 2282, 2259, 2259, 2261, 2269, 2259, 3717 2267, 2265, 2268, 2267, 2273, 2274, 2266, 2268, 2275, 2282, 3718 2271, 2278, 2259, 2273, 2272, 2271, 2272, 2280, 2269, 2281, 3719 3720 2283, 2282, 2284, 2289, 2286, 0, 2280, 2274, 2275, 2278, 3721 2284, 2273, 2274, 2285, 2287, 2275, 2291, 2281, 2278, 2290, 3722 2285, 2287, 2292, 2292, 2280, 2283, 2281, 2283, 2289, 2284, 3723 2289, 2293, 2290, 2296, 2294, 2297, 2298, 2300, 2299, 2301, 3724 2285, 2287, 2303, 2291, 2300, 2298, 2290, 2299, 2302, 2292, 3725 0, 2304, 2311, 2293, 2306, 2296, 2303, 2297, 2293, 2294, 3726 2296, 2294, 2297, 2298, 2300, 2299, 2304, 2305, 2308, 2303, 3727 2302, 2301, 2305, 2306, 2309, 2302, 2308, 2310, 2304, 2311, 3728 2312, 2306, 2313, 2315, 2314, 2316, 2317, 2309, 2319, 2318, 3729 2315, 2320, 2310, 0, 2322, 2308, 2314, 2319, 2313, 2305, 3730 3731 2324, 2309, 2325, 2323, 2310, 0, 2312, 2312, 2317, 2313, 3732 2315, 2314, 2321, 2317, 2318, 2319, 2318, 2316, 2323, 2326, 3733 2321, 2322, 2327, 2320, 2328, 2330, 2324, 2324, 2325, 2325, 3734 2323, 2321, 2331, 2328, 0, 2331, 2332, 2326, 2334, 2321, 3735 2335, 2337, 2340, 2334, 2327, 0, 2326, 2321, 2330, 2327, 3736 2331, 2328, 2330, 2336, 2333, 2335, 2337, 2340, 2339, 2331, 3737 2333, 2332, 2331, 2332, 2341, 2342, 2346, 2335, 2337, 2340, 3738 2334, 2336, 2339, 2347, 2344, 0, 0, 2345, 0, 0, 3739 2336, 2333, 0, 2374, 2346, 2339, 2341, 2342, 2344, 2345, 3740 2348, 2341, 2342, 2346, 2349, 2353, 2345, 2350, 2351, 2348, 3741 3742 2347, 2344, 2354, 2349, 2345, 2352, 2350, 2352, 2353, 2351, 3743 2374, 2355, 2357, 2358, 2354, 2360, 2345, 2348, 0, 2359, 3744 2368, 2349, 2353, 2361, 2350, 2351, 2359, 2357, 2358, 2354, 3745 2362, 2366, 2352, 2355, 2363, 0, 0, 2360, 2355, 2357, 3746 2358, 2368, 2360, 2363, 2366, 2361, 2359, 2368, 2362, 2369, 3747 2361, 2370, 2366, 2369, 2372, 2371, 2372, 2362, 2366, 2373, 3748 2376, 2363, 2375, 2370, 2371, 2377, 2380, 2378, 2379, 2381, 3749 2386, 2366, 2382, 0, 2377, 2378, 2369, 2373, 2370, 2389, 3750 2375, 2372, 2371, 2381, 2382, 2391, 2373, 2376, 2380, 2375, 3751 2383, 2379, 2377, 2380, 2378, 2379, 2381, 2383, 2385, 2382, 3752 3753 2387, 2390, 2386, 2388, 2393, 2387, 2385, 2394, 2388, 2391, 3754 2400, 2389, 2391, 2396, 2394, 2398, 0, 2383, 2401, 2398, 3755 2396, 2399, 2403, 2393, 2404, 2385, 2405, 2387, 2402, 2406, 3756 2399, 2393, 2401, 2390, 2394, 2388, 2408, 2400, 2406, 2411, 3757 2396, 2405, 2398, 2401, 2401, 2401, 2402, 2410, 2399, 2403, 3758 2404, 2404, 2409, 2405, 2410, 2402, 2406, 2412, 2413, 2401, 3759 2414, 2411, 2415, 2417, 2409, 2418, 2411, 0, 2408, 0, 3760 2401, 2420, 2418, 2419, 2410, 2422, 0, 2422, 2420, 2409, 3761 0, 2423, 2414, 2412, 2412, 2413, 2417, 2414, 2426, 2424, 3762 2417, 2430, 2418, 2424, 2415, 2425, 2419, 2427, 2420, 2432, 3763 3764 2419, 2428, 2422, 2423, 2429, 0, 2427, 2425, 2423, 2431, 3765 2426, 2429, 2428, 2430, 2431, 2426, 2424, 2433, 2430, 2435, 3766 2434, 2436, 2425, 2441, 2427, 2442, 2432, 2439, 2428, 2438, 3767 2436, 2429, 2434, 2437, 2437, 2440, 2431, 2444, 2438, 2442, 3768 2433, 2435, 2439, 2440, 2433, 2441, 2435, 2434, 2436, 2443, 3769 2441, 2446, 2442, 2447, 2439, 2448, 2438, 2449, 2443, 2456, 3770 2437, 2447, 2440, 2448, 2444, 2449, 2451, 2450, 2453, 2451, 3771 2446, 2450, 2454, 2452, 2453, 2457, 2443, 2455, 2446, 2462, 3772 2447, 2452, 2448, 2455, 2449, 2459, 2464, 2454, 2461, 2463, 3773 2466, 2456, 2462, 2451, 2450, 2453, 2465, 2459, 2467, 2454, 3774 3775 2452, 2471, 2461, 2465, 2455, 2468, 2462, 2457, 2469, 2474, 3776 2463, 2464, 2459, 2464, 2471, 2461, 2463, 2466, 2470, 2472, 3777 2467, 2470, 2469, 2465, 2473, 2467, 2476, 2475, 2471, 2468, 3778 2477, 2478, 2468, 2472, 2479, 2469, 2474, 2480, 2482, 0, 3779 2480, 2487, 2477, 2478, 2483, 2470, 2472, 2484, 2479, 2485, 3780 2473, 2473, 2475, 2476, 2475, 2488, 2489, 2477, 2478, 2484, 3781 2495, 2479, 2494, 2480, 2480, 2482, 2486, 2480, 2487, 2486, 3782 2483, 2483, 2491, 2492, 2484, 2485, 2485, 2494, 2489, 2493, 3783 2492, 2496, 2488, 2489, 2486, 2498, 2493, 2495, 2499, 2494, 3784 2497, 2500, 2501, 2486, 2491, 2503, 2486, 2499, 2497, 2491, 3785 3786 2492, 2502, 2504, 2505, 2501, 2507, 2493, 2506, 2496, 2509, 3787 2508, 2510, 2498, 2511, 2514, 2499, 2505, 2497, 2500, 2501, 3788 2508, 2511, 2503, 2502, 2510, 2506, 2513, 2515, 2502, 2504, 3789 2505, 2507, 2507, 2516, 2506, 2515, 2509, 2508, 2510, 2518, 3790 2511, 2514, 2517, 2519, 2520, 2522, 0, 2521, 2513, 2523, 3791 2525, 2517, 2530, 2513, 2515, 2524, 2529, 2523, 2532, 2534, 3792 2516, 2518, 2521, 2534, 2519, 2532, 2518, 2524, 2520, 2517, 3793 2519, 2520, 2522, 2521, 2521, 2525, 2523, 2525, 2527, 2528, 3794 2533, 2535, 2524, 2529, 2530, 2532, 2534, 2528, 2536, 2521, 3795 2527, 2537, 2533, 2535, 2538, 2539, 2540, 2541, 0, 2542, 3796 3797 2544, 2547, 2538, 2545, 2550, 2527, 2528, 2533, 2535, 2541, 3798 2545, 2536, 2546, 2542, 2547, 2536, 2550, 2539, 2537, 2540, 3799 2548, 2538, 2539, 2540, 2541, 2542, 2542, 2544, 2547, 2548, 3800 2545, 2550, 2546, 2549, 2551, 2551, 2552, 2553, 2557, 2546, 3801 2542, 2554, 2549, 0, 2558, 0, 0, 2548, 0, 0, 3802 2555, 2559, 2573, 2560, 2561, 2553, 2562, 0, 2562, 2558, 3803 2549, 2551, 2552, 2552, 2553, 2555, 2554, 2555, 2554, 2565, 3804 2557, 2558, 2563, 2559, 2555, 2560, 2561, 2555, 2559, 2564, 3805 2560, 2561, 2566, 2562, 2573, 2564, 2563, 2565, 2567, 2567, 3806 2569, 2570, 2555, 2572, 2555, 2574, 2565, 2571, 2576, 2563, 3807 3808 2577, 2575, 2582, 0, 2566, 2572, 2564, 2575, 2578, 2566, 3809 2576, 2579, 2569, 2570, 2580, 2567, 2580, 2569, 2570, 2571, 3810 2572, 2584, 2581, 2589, 2571, 2576, 2582, 2574, 2575, 2582, 3811 2578, 2590, 2577, 2579, 2585, 2578, 2581, 2583, 2579, 2584, 3812 2586, 2580, 2587, 2588, 2583, 2591, 2593, 2595, 2584, 2581, 3813 2597, 2598, 2585, 2593, 2595, 2589, 2588, 2596, 2586, 2603, 3814 2587, 2585, 2600, 2590, 2583, 2601, 2604, 2586, 2591, 2587, 3815 2588, 2599, 2591, 2593, 2595, 2596, 2597, 2597, 2600, 2599, 3816 2605, 2602, 2605, 2598, 2596, 2603, 2603, 2605, 2604, 2600, 3817 2601, 2607, 2601, 2604, 2608, 2609, 2611, 2599, 2599, 2602, 3818 3819 2610, 2612, 2607, 2614, 2617, 2608, 2599, 2605, 2602, 2605, 3820 2613, 2616, 2610, 0, 2611, 2617, 2621, 2625, 2607, 2612, 3821 2618, 2608, 2609, 2611, 2619, 2614, 2616, 2610, 2612, 2613, 3822 2614, 2617, 2618, 2622, 2623, 2624, 2626, 2613, 2616, 2619, 3823 2621, 2623, 2627, 2621, 2625, 2628, 2630, 2618, 2632, 2633, 3824 2624, 2619, 2631, 2634, 0, 2622, 2635, 2636, 2643, 0, 3825 2622, 2623, 2624, 2626, 2637, 0, 2638, 2639, 0, 2627, 3826 2632, 2628, 2628, 2630, 2635, 2632, 2631, 2637, 2642, 2631, 3827 2641, 2633, 2639, 2635, 2636, 2634, 2640, 2644, 2641, 2645, 3828 2643, 2637, 2638, 2638, 2639, 2647, 2648, 2649, 0, 2640, 3829 3830 2644, 0, 2656, 2650, 2642, 2642, 2651, 2641, 2652, 2653, 3831 2654, 2645, 2659, 2640, 2644, 2655, 2645, 2654, 2647, 2663, 3832 2648, 2667, 2647, 2648, 2649, 2650, 2652, 2653, 2651, 2656, 3833 2650, 2657, 2663, 2651, 2659, 2652, 2653, 2654, 2655, 2659, 3834 2660, 2661, 2655, 2662, 2665, 2657, 2663, 2660, 2661, 2664, 3835 2662, 2665, 2666, 2667, 2668, 0, 2669, 2671, 2657, 2670, 3836 0, 2672, 2676, 2678, 2681, 2673, 2671, 2660, 2661, 2672, 3837 2662, 2665, 2664, 2673, 2666, 2668, 2664, 2674, 2678, 2666, 3838 2679, 2668, 2669, 2669, 2671, 2670, 2670, 2675, 2672, 2676, 3839 2678, 2679, 2673, 2675, 2680, 2682, 2681, 2684, 2683, 2674, 3840 3841 0, 2686, 2688, 0, 2674, 2689, 2691, 2679, 2690, 2702, 3842 2692, 2695, 2697, 2697, 2675, 2688, 2680, 2683, 2689, 2686, 3843 2694, 2680, 2684, 2695, 2684, 2683, 2696, 2682, 2686, 2688, 3844 2691, 2698, 2689, 2691, 2690, 2690, 2692, 2692, 2695, 2697, 3845 2701, 2702, 2704, 2705, 2694, 2703, 2708, 2694, 2713, 2712, 3846 2696, 0, 2716, 2696, 2723, 2710, 2725, 2698, 2698, 2713, 3847 2703, 2705, 2712, 2701, 2710, 2717, 2717, 2701, 2718, 2704, 3848 2705, 2721, 2703, 2708, 2716, 2713, 2712, 2718, 2719, 2716, 3849 2722, 2723, 2710, 2725, 2719, 2727, 2729, 2728, 2730, 2732, 3850 0, 2731, 2717, 2721, 2728, 2718, 2731, 2735, 2721, 2730, 3851 3852 2734, 2738, 2722, 2743, 2736, 2719, 2747, 2722, 2734, 2740, 3853 2737, 2732, 2729, 2729, 2728, 2730, 2732, 2727, 2731, 2736, 3854 2740, 2735, 2741, 2742, 2735, 2737, 2749, 2734, 2738, 2744, 3855 2745, 2736, 2752, 2747, 2748, 2743, 2740, 2737, 2744, 2750, 3856 2741, 2752, 2745, 2754, 2742, 2755, 2756, 2750, 0, 2741, 3857 2742, 2749, 0, 2749, 2751, 2751, 2744, 2745, 2748, 2752, 3858 2758, 2748, 2751, 2759, 2760, 2757, 2750, 2762, 2756, 2754, 3859 2754, 2761, 2755, 2756, 2757, 2763, 2766, 2759, 2758, 2765, 3860 2762, 2751, 2751, 2766, 2764, 2768, 2760, 2758, 2763, 2769, 3861 2759, 2760, 2757, 2767, 2762, 2771, 2761, 2770, 2761, 2764, 3862 3863 2767, 2765, 2763, 2766, 2772, 2773, 2765, 2768, 2774, 2770, 3864 2776, 2764, 2768, 2775, 2777, 2781, 2769, 2778, 2786, 2776, 3865 2767, 2779, 2771, 2774, 2770, 2780, 2782, 2787, 0, 2786, 3866 2781, 2772, 2773, 2782, 2783, 2774, 2777, 2776, 2775, 2784, 3867 2775, 2777, 2781, 2778, 2778, 2786, 2784, 2779, 2779, 2783, 3868 2785, 2780, 2780, 2782, 2787, 2788, 2785, 2789, 2790, 2791, 3869 2792, 2783, 2796, 2788, 2793, 2795, 2784, 2798, 2794, 2796, 3870 2800, 2797, 2801, 2802, 2798, 2791, 2799, 2785, 2806, 2793, 3871 2795, 2806, 2788, 2799, 2789, 2790, 2791, 2792, 2794, 2796, 3872 2801, 2793, 2795, 2797, 2798, 2794, 2805, 2800, 2797, 2801, 3873 3874 2802, 2803, 2803, 2799, 2804, 2806, 2807, 2808, 2810, 2809, 3875 2805, 2804, 2811, 2810, 2812, 0, 2813, 0, 2815, 2807, 3876 2814, 2819, 0, 2805, 2809, 2808, 2819, 2822, 2803, 2812, 3877 2815, 2804, 2816, 2807, 2808, 2810, 2809, 2811, 2814, 2811, 3878 2818, 2812, 2813, 2813, 2816, 2815, 2820, 2814, 2819, 2818, 3879 2821, 2820, 2823, 2825, 2822, 0, 2823, 2824, 2828, 2816, 3880 2826, 2827, 2829, 0, 2830, 2837, 2825, 2818, 2834, 0, 3881 2836, 0, 2821, 2820, 2837, 0, 0, 2821, 0, 2823, 3882 2825, 2824, 2826, 2827, 2824, 2828, 2838, 2826, 2827, 2829, 3883 2830, 2830, 2837, 2839, 2834, 2834, 2836, 2836, 2840, 2842, 3884 3885 2843, 2839, 2838, 2844, 2845, 2846, 2842, 2847, 2844, 2843, 3886 2840, 2845, 2848, 2838, 2847, 2849, 0, 2852, 2854, 2850, 3887 2839, 2855, 2849, 2846, 2851, 2840, 2842, 2843, 2850, 2858, 3888 2844, 2845, 2846, 2851, 2847, 2857, 2856, 2848, 2859, 2848, 3889 2857, 2854, 2849, 2852, 2852, 2854, 2850, 2858, 2855, 2856, 3890 2861, 2851, 2862, 2866, 0, 2863, 2858, 2864, 2865, 2867, 3891 2868, 2869, 2857, 2856, 2863, 2859, 2864, 2865, 2861, 2868, 3892 2869, 2867, 2870, 2866, 2872, 2873, 2874, 2861, 2875, 2862, 3893 2866, 2871, 2863, 2870, 2864, 2865, 2867, 2868, 2869, 2871, 3894 2878, 2876, 2880, 2881, 2882, 2873, 2889, 2872, 2876, 2870, 3895 3896 2877, 2872, 2873, 2874, 2883, 2875, 2884, 2888, 2871, 2877, 3897 2885, 2878, 2887, 2883, 2890, 2884, 2886, 2878, 2876, 2880, 3898 2881, 2890, 2885, 2889, 2886, 2887, 2882, 2877, 2891, 2888, 3899 2893, 2883, 2894, 2884, 2888, 2891, 2896, 2885, 2892, 2887, 3900 2895, 2890, 0, 2886, 2897, 2892, 2893, 2895, 2894, 2898, 3901 2899, 2900, 2902, 2905, 2904, 2891, 0, 2893, 2896, 2894, 3902 2902, 2905, 2908, 2896, 2910, 2892, 2907, 2895, 2906, 2897, 3903 0, 2897, 2904, 2907, 2912, 2899, 2898, 2899, 2900, 2902, 3904 2905, 2904, 2912, 2906, 2908, 2909, 2910, 2911, 2918, 2908, 3905 2915, 2910, 2909, 2907, 2911, 2906, 2916, 2915, 2917, 2919, 3906 3907 2920, 2912, 2921, 2922, 2923, 2916, 0, 2928, 2926, 2920, 3908 2924, 2919, 2909, 2930, 2911, 2918, 2923, 2915, 2929, 2922, 3909 2926, 2934, 2917, 2916, 2927, 2917, 2919, 2920, 2928, 2921, 3910 2922, 2923, 2931, 2924, 2928, 2926, 2927, 2924, 2933, 2936, 3911 2930, 2929, 2935, 2937, 2939, 2929, 2931, 2936, 2934, 2935, 3912 2933, 2927, 2941, 2938, 2942, 2943, 0, 2944, 2945, 2931, 3913 2938, 2947, 2937, 0, 2948, 2933, 2936, 2941, 2946, 2935, 3914 2937, 2939, 2942, 2953, 2949, 2951, 2946, 2959, 2943, 2941, 3915 2938, 2942, 2943, 2944, 2944, 2945, 2948, 2950, 2947, 2952, 3916 2951, 2948, 2949, 2955, 2960, 2946, 2952, 2962, 2950, 2955, 3917 3918 2953, 2949, 2951, 2959, 2959, 2961, 0, 2969, 2963, 2964, 3919 2961, 2965, 2960, 2966, 2950, 2967, 2952, 2971, 2973, 2968, 3920 2955, 2960, 2963, 2964, 2962, 2965, 2979, 2976, 2978, 2971, 3921 2980, 2966, 2961, 2967, 2969, 2963, 2964, 2968, 2965, 2979, 3922 2966, 2970, 2967, 2981, 2971, 2973, 2968, 2983, 2970, 2976, 3923 2978, 2982, 2980, 2979, 2976, 2978, 2984, 2980, 2988, 2982, 3924 2986, 2990, 2981, 2991, 2989, 2983, 2992, 2993, 2970, 2994, 3925 2981, 0, 2986, 2990, 2983, 2984, 2995, 2997, 2982, 2998, 3926 2988, 2994, 3002, 2984, 2996, 2988, 2989, 2986, 2990, 2993, 3927 2991, 2989, 2996, 2992, 2993, 2999, 2994, 3003, 2995, 2998, 3928 3929 3000, 3001, 0, 2995, 2997, 3005, 2998, 3004, 3008, 3000, 3930 3001, 2996, 3007, 3010, 3002, 3009, 3011, 2999, 3005, 3003, 3931 3008, 3015, 2999, 3016, 3003, 0, 3017, 3000, 3001, 3004, 3932 3014, 3017, 3005, 3018, 3004, 3008, 0, 3009, 3007, 3007, 3933 3010, 3019, 3009, 3011, 3014, 3021, 3020, 3016, 3015, 3022, 3934 3016, 3024, 3023, 3025, 3028, 3018, 3026, 3014, 3017, 3020, 3935 3018, 3027, 3029, 3019, 3032, 3025, 3031, 3027, 3019, 3024, 3936 3030, 3036, 3022, 3020, 3023, 3026, 3022, 3021, 3024, 3023, 3937 3025, 3031, 3034, 3026, 3035, 3038, 3028, 3045, 3027, 3046, 3938 3044, 3032, 3030, 3031, 3029, 3036, 3040, 3030, 3036, 3041, 3939 3940 3038, 3043, 3034, 3042, 3044, 3045, 3035, 3046, 3047, 3034, 3941 3043, 3035, 3038, 3048, 3045, 3049, 3046, 3044, 3040, 3050, 3942 3053, 3041, 3054, 3040, 3055, 3042, 3041, 0, 3043, 3053, 3943 3042, 3048, 3059, 3062, 3047, 3047, 3058, 3063, 3049, 3059, 3944 3048, 3050, 3049, 3060, 3058, 3055, 3050, 3053, 3061, 3066, 3945 3060, 3055, 3068, 3064, 3054, 3067, 3061, 3063, 3072, 3059, 3946 3062, 3064, 3069, 3058, 3063, 3070, 3079, 3066, 0, 3071, 3947 3060, 0, 3075, 3067, 3069, 3061, 3066, 3078, 3068, 3068, 3948 3064, 3071, 3067, 3070, 3075, 3072, 3073, 3081, 3077, 3069, 3949 3082, 3085, 3070, 3079, 3073, 3077, 3071, 3083, 3084, 3075, 3950 3951 3078, 3080, 3086, 3080, 3078, 3083, 3092, 3084, 3087, 3088, 3952 3089, 3088, 3091, 3073, 3094, 3077, 3095, 3097, 3096, 3081, 3953 3092, 3098, 3082, 3085, 3083, 3084, 3097, 3087, 3080, 3086, 3954 3091, 3099, 3089, 3092, 3098, 3087, 3088, 3089, 3100, 3091, 3955 3095, 3096, 3102, 3095, 3097, 3096, 3094, 3103, 3098, 3105, 3956 3100, 3106, 3107, 3108, 3110, 3106, 3103, 3113, 3099, 3111, 3957 3115, 3112, 0, 3117, 0, 3100, 3120, 3118, 3102, 3102, 3958 3117, 3120, 0, 0, 3103, 3113, 3105, 3119, 3106, 3107, 3959 3108, 3110, 3111, 3112, 3113, 3121, 3111, 3115, 3112, 3118, 3960 3117, 3126, 3119, 3128, 3118, 3123, 3124, 3129, 3120, 3125, 3961 3962 3121, 3130, 3123, 3124, 3119, 3131, 3125, 3132, 3135, 3138, 3963 3136, 3133, 3121, 3139, 0, 3140, 3138, 3126, 3126, 3136, 3964 3128, 3132, 3123, 3124, 3129, 3133, 3125, 3141, 3130, 3131, 3965 3143, 3142, 3131, 3144, 3132, 3135, 3138, 3136, 3133, 3145, 3966 3139, 3140, 3140, 3142, 3147, 3148, 3146, 3144, 3145, 3154, 3967 3152, 3149, 3158, 3153, 3141, 3152, 3158, 3143, 3142, 3146, 3968 3144, 3155, 3157, 3159, 3160, 3161, 3145, 3157, 3162, 3163, 3969 3159, 3160, 3148, 3146, 3149, 3164, 3147, 3153, 3149, 3158, 3970 3153, 3154, 3152, 3155, 3167, 3165, 3161, 3165, 3155, 0, 3971 3159, 3160, 3161, 3166, 3157, 3170, 3172, 3173, 0, 3177, 3972 3973 3162, 3163, 3175, 3176, 3175, 3180, 3179, 3164, 3178, 3178, 3974 3183, 3167, 3165, 0, 3180, 3172, 3166, 3170, 3178, 0, 3975 3166, 3173, 3170, 3172, 3173, 3177, 3177, 3176, 3179, 3175, 3976 3176, 3181, 3180, 3179, 3182, 3178, 3178, 3183, 3181, 3184, 3977 3185, 3186, 3187, 3188, 3190, 3192, 3191, 3182, 3185, 3190, 3978 3187, 3191, 3184, 3192, 3186, 3193, 0, 3194, 3181, 3195, 3979 0, 3182, 3188, 3196, 3185, 3197, 3184, 3185, 3186, 3187, 3980 3188, 3198, 3192, 3200, 3201, 3185, 3190, 3199, 3191, 3202, 3981 3202, 3201, 3193, 3194, 3194, 3195, 3195, 3203, 3199, 3196, 3982 3196, 3197, 3197, 3205, 3204, 3200, 3207, 3198, 3198, 3208, 3983 3984 3200, 3201, 3206, 3213, 3199, 3203, 3202, 3204, 3214, 3209, 3985 3206, 3217, 3210, 3215, 3203, 3205, 3209, 3208, 3207, 3210, 3986 3205, 3204, 3216, 3207, 3211, 3218, 3208, 3222, 3219, 3206, 3987 3213, 3211, 3220, 3223, 3216, 3214, 3209, 3215, 3217, 3210, 3988 3215, 3220, 3224, 3225, 3227, 3228, 3218, 3230, 3229, 3216, 3989 3219, 3211, 3218, 3223, 3222, 3219, 3235, 3236, 3231, 3220, 3990 3223, 3232, 3238, 3228, 3234, 3225, 3229, 3237, 0, 3224, 3991 3225, 3227, 3228, 3234, 3230, 3229, 3231, 3240, 3239, 3232, 3992 3238, 3253, 3245, 3235, 3236, 3231, 3239, 3241, 3232, 3238, 3993 3237, 3234, 3243, 3240, 3237, 3242, 3245, 3243, 3246, 3241, 3994 3995 3247, 3249, 3242, 3253, 3240, 3239, 3254, 3255, 3253, 3245, 3996 3257, 3262, 3263, 3249, 3241, 3265, 3246, 3258, 3264, 3259, 3997 3255, 3259, 3242, 3247, 3243, 3246, 3260, 3247, 3249, 3270, 3998 3258, 3270, 3271, 3254, 3255, 3260, 3264, 3257, 3262, 3263, 3999 3266, 3274, 3272, 3275, 3258, 3264, 3259, 3265, 3274, 3277, 4000 3281, 3279, 3282, 3260, 3271, 3266, 3270, 3279, 3283, 3271, 4001 3272, 3286, 3284, 0, 3277, 3289, 3294, 3266, 3274, 3272, 4002 0, 3295, 3281, 3287, 3282, 3275, 3277, 3281, 3279, 3282, 4003 3284, 3289, 3290, 3286, 3283, 3283, 3287, 3296, 3286, 3284, 4004 3291, 3304, 3289, 3294, 3292, 3297, 3290, 3292, 3295, 3298, 4005 4006 3287, 3299, 3300, 3291, 3301, 3302, 3298, 3307, 3299, 3290, 4007 3300, 3305, 3301, 3297, 3296, 3306, 3308, 3291, 3313, 0, 4008 3292, 3292, 3297, 3304, 3292, 3308, 3298, 3302, 3299, 3300, 4009 3309, 3301, 3302, 3305, 3307, 3310, 3311, 3306, 3305, 3312, 4010 3315, 3310, 3306, 3308, 3314, 3309, 3314, 3317, 3312, 3322, 4011 3313, 3318, 3321, 3319, 0, 3320, 3323, 3309, 3311, 3327, 4012 3321, 3322, 3310, 3311, 0, 3325, 3312, 3315, 3323, 0, 4013 3317, 3314, 3325, 3318, 3317, 3319, 3322, 3329, 3318, 3321, 4014 3319, 3320, 3320, 3323, 3330, 3331, 3327, 3332, 3333, 3334, 4015 3336, 3329, 3325, 3335, 3344, 3338, 3337, 0, 3330, 3331, 4016 4017 3334, 3335, 3338, 3340, 3329, 3345, 3333, 3341, 3349, 3336, 4018 3332, 3330, 3331, 3349, 3332, 3333, 3334, 3336, 3337, 3339, 4019 3335, 3344, 3338, 3337, 3342, 3341, 3339, 3343, 3343, 3340, 4020 3340, 3346, 3345, 3342, 3341, 3350, 3352, 3353, 3354, 3346, 4021 3349, 3356, 3358, 3368, 3360, 3361, 3339, 3356, 3350, 3364, 4022 3371, 3342, 3363, 3365, 3343, 3360, 3361, 3352, 3346, 3369, 4023 3364, 3373, 3350, 3352, 3353, 3354, 3369, 3370, 3356, 3358, 4024 3368, 3360, 3361, 3372, 3363, 3365, 3364, 3372, 3376, 3363, 4025 3365, 3374, 3371, 3377, 3378, 3370, 3369, 3380, 3373, 3374, 4026 3379, 3382, 3378, 3385, 3370, 3384, 3377, 3386, 0, 3379, 4027 4028 3372, 3389, 3384, 3391, 3376, 3376, 3389, 3392, 3374, 3393, 4029 3377, 3378, 3390, 3390, 3380, 3396, 3395, 3379, 3399, 3386, 4030 3394, 3393, 3384, 3382, 3386, 3385, 3397, 3394, 3389, 3400, 4031 3391, 3396, 3403, 3398, 3392, 3395, 3393, 3400, 3402, 3390, 4032 3398, 3404, 3396, 3395, 3397, 3402, 3401, 3394, 3405, 0, 4033 3399, 0, 3406, 3397, 3407, 3417, 3400, 3409, 3408, 3403, 4034 3398, 3401, 3395, 3404, 3406, 3402, 3416, 3414, 3404, 3415, 4035 3418, 3413, 0, 3401, 3414, 3405, 3415, 3419, 3407, 3406, 4036 3420, 3407, 3408, 3409, 3409, 3408, 3413, 3417, 3416, 3423, 4037 3421, 3424, 3425, 3416, 3414, 3426, 3415, 3418, 3413, 3421, 4038 4039 3427, 3419, 3429, 3426, 3419, 0, 3432, 3433, 3431, 3433, 4040 3434, 3423, 3420, 3435, 3425, 3432, 3423, 3421, 3424, 3425, 4041 3428, 3428, 3426, 3431, 3434, 3438, 3440, 3437, 3436, 3429, 4042 3428, 3441, 3427, 3432, 3433, 3431, 3436, 3434, 3437, 3442, 4043 3435, 3443, 3445, 3438, 3444, 3446, 3447, 3428, 3428, 3448, 4044 3450, 3451, 3438, 3440, 3437, 3436, 3449, 3444, 3441, 3452, 4045 3452, 3453, 3454, 3443, 3445, 3451, 3442, 3457, 3443, 3445, 4046 3458, 3444, 3446, 3447, 3449, 3460, 3448, 3450, 3451, 3461, 4047 3464, 3458, 3466, 3449, 3454, 3467, 3452, 3466, 3464, 3454, 4048 3467, 3468, 3472, 3453, 3457, 3469, 3479, 3458, 3470, 3468, 4049 4050 3469, 3475, 3460, 3473, 3473, 3474, 3461, 3464, 3477, 3466, 4051 3480, 3478, 3467, 3474, 3475, 3477, 3481, 3483, 3468, 3472, 4052 3484, 3492, 3469, 3479, 3470, 3470, 3483, 3485, 3475, 3478, 4053 3473, 3487, 3474, 3486, 3485, 3477, 3491, 3480, 3478, 3481, 4054 3488, 3486, 3491, 3481, 3483, 3494, 3495, 3497, 3492, 3500, 4055 3498, 3496, 3484, 3487, 3485, 3499, 0, 0, 3487, 3501, 4056 3486, 3505, 3488, 3491, 3496, 3498, 0, 3488, 3495, 3506, 4057 0, 3509, 3494, 3495, 3499, 0, 3500, 3498, 3496, 3497, 4058 3503, 3501, 3499, 3507, 3505, 3508, 3501, 3503, 3505, 3510, 4059 3507, 3506, 3508, 3509, 3511, 3515, 3506, 3512, 3509, 3513, 4060 4061 3516, 0, 3521, 3528, 3510, 0, 3512, 3503, 3516, 3511, 4062 3507, 3517, 3508, 3521, 3515, 3524, 3510, 0, 3517, 3520, 4063 3513, 3511, 3515, 3518, 3512, 3526, 3513, 3516, 3520, 3521, 4064 3518, 3522, 3522, 3523, 3529, 3528, 3527, 3524, 3517, 3523, 4065 3532, 3522, 3524, 3527, 3531, 3537, 3520, 3526, 3533, 3538, 4066 3518, 3531, 3526, 3543, 3539, 3545, 3529, 3546, 3522, 3522, 4067 3523, 3529, 3533, 3527, 3532, 3543, 3547, 3532, 3548, 3553, 4068 3556, 3531, 3537, 3550, 3547, 3533, 3538, 3539, 3558, 3546, 4069 3543, 3539, 3545, 3562, 3546, 3550, 3554, 3554, 3555, 3555, 4070 3557, 3557, 0, 3547, 3560, 3548, 3553, 3556, 3563, 3564, 4071 4072 3550, 3558, 3561, 3567, 3569, 3558, 3568, 3563, 0, 3572, 4073 3562, 3569, 3564, 3571, 3573, 3554, 3560, 3555, 3578, 3557, 4074 3561, 3560, 3577, 3573, 3577, 3563, 3564, 3570, 3579, 3561, 4075 3567, 3569, 3568, 3568, 3570, 3571, 3572, 3574, 3578, 3580, 4076 3571, 3573, 3584, 3583, 3574, 3578, 3581, 3586, 3589, 3577, 4077 3585, 3579, 3583, 3587, 3570, 3579, 3588, 3580, 3581, 3590, 4078 3591, 3597, 3594, 3592, 3574, 0, 3580, 3584, 3592, 3584, 4079 3583, 3587, 3585, 3581, 3586, 3589, 3593, 3585, 3595, 3599, 4080 3587, 3595, 3588, 3588, 3594, 3601, 3590, 3591, 3593, 3594, 4081 3592, 3599, 3596, 3597, 3602, 3600, 3595, 3596, 3598, 3604, 4082 4083 3598, 3600, 3603, 3593, 3605, 3595, 3599, 3601, 3595, 0, 4084 3603, 3606, 3601, 3607, 3608, 3609, 3602, 3610, 3613, 3616, 4085 3614, 3602, 3600, 3621, 3596, 3598, 3604, 3609, 3619, 3603, 4086 3617, 3622, 3606, 3614, 3623, 3624, 3605, 3619, 3606, 3610, 4087 3607, 3608, 3609, 3626, 3610, 3613, 3616, 3614, 3617, 3627, 4088 3621, 3628, 3629, 3630, 3630, 3619, 3632, 3617, 3622, 3633, 4089 3635, 3623, 3624, 3636, 3638, 3640, 3641, 3637, 3643, 0, 4090 3626, 3638, 3644, 0, 3632, 3645, 3627, 3640, 3628, 3629, 4091 3630, 3636, 3637, 3632, 3644, 3646, 3633, 3635, 3642, 3645, 4092 3636, 3638, 3640, 3641, 3637, 3643, 3642, 3647, 3648, 3644, 4093 4094 3646, 3649, 3645, 3652, 3651, 3656, 3664, 0, 3657, 3658, 4095 3659, 3659, 3646, 3648, 3660, 3642, 3651, 3657, 3663, 0, 4096 3661, 3665, 3666, 3647, 3647, 3648, 0, 3656, 3649, 3661, 4097 3652, 3651, 3656, 3658, 3665, 3657, 3658, 3659, 3664, 3669, 4098 3660, 3660, 3663, 3667, 3666, 3663, 3668, 3661, 3665, 3666, 4099 3669, 3667, 3675, 3671, 3672, 3668, 3676, 0, 3678, 3680, 4100 3680, 0, 3681, 3694, 3691, 3690, 3669, 3695, 3676, 3681, 4101 3667, 3696, 3672, 3668, 3671, 3675, 3697, 3694, 3699, 3675, 4102 3671, 3672, 3702, 3676, 3678, 3678, 3680, 3690, 3691, 3681, 4103 3694, 3691, 3690, 3701, 3695, 3703, 3705, 3701, 3696, 3704, 4104 4105 3702, 3707, 3709, 3697, 3715, 3699, 3704, 0, 3705, 3702, 4106 3712, 3710, 3714, 3711, 3707, 3710, 3713, 3717, 3703, 3716, 4107 3701, 0, 3703, 3705, 3714, 3717, 3704, 3718, 3707, 3711, 4108 3715, 3715, 3712, 3716, 3709, 3723, 3718, 3712, 3710, 3714, 4109 3711, 3713, 3719, 3713, 3717, 3720, 3716, 3720, 3721, 3722, 4110 3723, 3724, 3725, 3719, 3718, 3726, 3728, 3729, 3725, 3727, 4111 3721, 3730, 3723, 3731, 3728, 3738, 3741, 3722, 3730, 3719, 4112 3726, 3743, 3720, 3724, 3736, 3721, 3722, 3739, 3724, 3725, 4113 3742, 3727, 3726, 3728, 3729, 3731, 3727, 3736, 3730, 3737, 4114 3731, 3740, 3738, 3741, 3744, 3739, 3737, 3743, 3743, 3745, 4115 4116 3746, 3736, 3742, 3747, 3739, 3748, 3749, 3742, 3746, 3750, 4117 3747, 3751, 3752, 3751, 3753, 3740, 3737, 3757, 3740, 0, 4118 3756, 3744, 3754, 3759, 3752, 3755, 3745, 3746, 3749, 3748, 4119 3747, 3750, 3748, 3749, 3758, 3754, 3750, 3760, 3751, 3752, 4120 3755, 3758, 3756, 3761, 3757, 3763, 3753, 3756, 3764, 3754, 4121 3759, 3765, 3755, 3766, 3768, 3769, 3775, 3777, 3772, 3765, 4122 3764, 3758, 3771, 0, 3760, 3771, 3768, 3772, 3776, 3778, 4123 3761, 3769, 3763, 3779, 3780, 3764, 3777, 3778, 3765, 0, 4124 3766, 3768, 3769, 3775, 3777, 3772, 3781, 3782, 3784, 3771, 4125 3783, 3785, 3787, 3793, 3776, 3776, 3778, 3792, 3783, 3781, 4126 4127 3793, 3782, 3796, 3792, 3798, 3779, 3780, 0, 3795, 3800, 4128 3784, 3797, 3801, 3781, 3782, 3784, 3800, 3783, 3785, 3787, 4129 3793, 3795, 3797, 3803, 3792, 3802, 3804, 3798, 3808, 3796, 4130 3818, 3798, 3806, 3802, 3801, 3795, 3800, 3803, 3797, 3801, 4131 3804, 3805, 3807, 3815, 3811, 3816, 3824, 3812, 0, 3805, 4132 3803, 3811, 3802, 3804, 3806, 3808, 3812, 3813, 3817, 3806, 4133 3819, 3815, 3818, 3826, 3807, 3813, 3820, 3821, 3805, 3807, 4134 3815, 3811, 3816, 3822, 3812, 3823, 3827, 3828, 3824, 3833, 4135 3817, 3836, 3829, 3823, 3813, 3817, 3819, 3819, 3820, 3821, 4136 3826, 3829, 3831, 3820, 3821, 3822, 3840, 3832, 3827, 3833, 4137 4138 3822, 3843, 3823, 3827, 3828, 3832, 3833, 3838, 3834, 3829, 4139 3835, 3842, 3837, 3836, 3844, 3831, 3834, 3844, 3835, 3831, 4140 3837, 3838, 3840, 3840, 3832, 3845, 0, 3849, 3843, 3848, 4141 3854, 3854, 3844, 3842, 3838, 3834, 3850, 3835, 3842, 3837, 4142 3846, 3844, 3847, 3848, 3844, 3851, 3860, 3845, 3846, 3855, 4143 3847, 3852, 3845, 3849, 3849, 3857, 3848, 3854, 3850, 3851, 4144 3856, 0, 3858, 3850, 3859, 3862, 3860, 3846, 3856, 3847, 4145 3863, 3861, 3851, 3860, 3852, 3855, 3855, 3864, 3852, 3861, 4146 3865, 3857, 3857, 3866, 3870, 3874, 3859, 3856, 3858, 3858, 4147 0, 3859, 3862, 3867, 3868, 3869, 3877, 3863, 3861, 3864, 4148 4149 3871, 3875, 3878, 3869, 3864, 3865, 3870, 3865, 3871, 3875, 4150 3866, 3870, 3874, 3867, 3868, 3881, 3883, 3879, 3877, 3886, 4151 3867, 3868, 3869, 3877, 3878, 3879, 3880, 3871, 3875, 3878, 4152 3884, 3885, 3887, 3890, 3880, 3888, 3891, 0, 3884, 3885, 4153 0, 3881, 3881, 3883, 3879, 3886, 3886, 3892, 3894, 3897, 4154 3900, 3901, 0, 3880, 0, 3888, 3898, 3884, 3885, 3887, 4155 3890, 3899, 3888, 3891, 3898, 0, 0, 3892, 0, 3899, 4156 3894, 3897, 0, 0, 3892, 3894, 3897, 3900, 3901, 0, 4157 0, 0, 0, 3898, 0, 0, 0, 0, 3899, 3905, 4158 3905, 3905, 3905, 3905, 3905, 3905, 3906, 3906, 3906, 3906, 4159 4160 3906, 3906, 3906, 3907, 3907, 3907, 3907, 3907, 3907, 3907, 4161 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3909, 3909, 3909, 4162 3909, 3909, 3909, 3909, 3910, 3910, 3910, 3910, 3910, 3910, 4163 3910, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3913, 3913, 4164 0, 3913, 3913, 3913, 3913, 3914, 3914, 0, 0, 0, 4165 3914, 3914, 3915, 3915, 0, 0, 3915, 0, 3915, 3916, 4166 0, 0, 0, 0, 0, 3916, 3917, 3917, 0, 0, 4167 0, 3917, 3917, 3918, 0, 0, 0, 0, 0, 3918, 4168 3919, 3919, 0, 3919, 3919, 3919, 3919, 3920, 0, 0, 4169 0, 0, 0, 3920, 3921, 3921, 0, 0, 0, 3921, 4170 4171 3921, 3922, 3922, 0, 3922, 3922, 3922, 3922, 3904, 3904, 4172 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4173 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4174 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4175 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4176 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4177 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 4178 3904, 3904, 3904, 3904, 3904 4179 } ; 4180 4181 static yy_state_type yy_last_accepting_state; 4182 static char *yy_last_accepting_cpos; 4183 4184 extern int yy_flex_debug; 4185 int yy_flex_debug = 0; 4186 4187 /* The intent behind this definition is that it'll catch 4188 * any uses of REJECT which flex missed. 4189 */ 4190 #define REJECT reject_used_but_not_detected 4191 static int yy_more_flag = 0; 4192 static int yy_more_len = 0; 4193 #define yymore() ((yy_more_flag) = 1) 4194 #define YY_MORE_ADJ (yy_more_len) 4195 #define YY_RESTORE_YY_MORE_OFFSET 4196 char *yytext; 4197 #line 1 "util/configlexer.lex" 4198 #line 2 "util/configlexer.lex" 4199 /* 4200 * configlexer.lex - lexical analyzer for unbound config file 4201 * 4202 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 4203 * 4204 * See LICENSE for the license. 4205 * 4206 */ 4207 4208 /* because flex keeps having sign-unsigned compare problems that are unfixed*/ 4209 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2)))) 4210 #pragma GCC diagnostic ignored "-Wsign-compare" 4211 #endif 4212 4213 #include <ctype.h> 4214 #include <strings.h> 4215 #ifdef HAVE_GLOB_H 4216 # include <glob.h> 4217 #endif 4218 4219 #include "util/config_file.h" 4220 #include "util/configparser.h" 4221 void ub_c_error(const char *message); 4222 4223 #if 0 4224 #define LEXOUT(s) printf s /* used ONLY when debugging */ 4225 #else 4226 #define LEXOUT(s) 4227 #endif 4228 4229 /** avoid warning in about fwrite return value */ 4230 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext) 4231 4232 /** A parser variable, this is a statement in the config file which is 4233 * of the form variable: value1 value2 ... nargs is the number of values. */ 4234 #define YDVAR(nargs, var) \ 4235 num_args=(nargs); \ 4236 LEXOUT(("v(%s%d) ", yytext, num_args)); \ 4237 if(num_args > 0) { BEGIN(val); } \ 4238 return (var); 4239 4240 struct inc_state { 4241 char* filename; 4242 int line; 4243 YY_BUFFER_STATE buffer; 4244 struct inc_state* next; 4245 int inc_toplevel; 4246 }; 4247 static struct inc_state* config_include_stack = NULL; 4248 static int inc_depth = 0; 4249 static int inc_prev = 0; 4250 static int num_args = 0; 4251 static int inc_toplevel = 0; 4252 4253 void init_cfg_parse(void) 4254 { 4255 config_include_stack = NULL; 4256 inc_depth = 0; 4257 inc_prev = 0; 4258 num_args = 0; 4259 inc_toplevel = 0; 4260 } 4261 4262 static void config_start_include(const char* filename, int toplevel) 4263 { 4264 FILE *input; 4265 struct inc_state* s; 4266 char* nm; 4267 if(inc_depth+1 > 100000) { 4268 ub_c_error_msg("too many include files"); 4269 return; 4270 } 4271 if(*filename == '\0') { 4272 ub_c_error_msg("empty include file name"); 4273 return; 4274 } 4275 s = (struct inc_state*)malloc(sizeof(*s)); 4276 if(!s) { 4277 ub_c_error_msg("include %s: malloc failure", filename); 4278 return; 4279 } 4280 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, 4281 strlen(cfg_parser->chroot)) == 0) { 4282 filename += strlen(cfg_parser->chroot); 4283 } 4284 nm = strdup(filename); 4285 if(!nm) { 4286 ub_c_error_msg("include %s: strdup failure", filename); 4287 free(s); 4288 return; 4289 } 4290 input = fopen(filename, "r"); 4291 if(!input) { 4292 ub_c_error_msg("cannot open include file '%s': %s", 4293 filename, strerror(errno)); 4294 free(s); 4295 free(nm); 4296 return; 4297 } 4298 LEXOUT(("switch_to_include_file(%s)\n", filename)); 4299 inc_depth++; 4300 s->filename = cfg_parser->filename; 4301 s->line = cfg_parser->line; 4302 s->buffer = YY_CURRENT_BUFFER; 4303 s->inc_toplevel = inc_toplevel; 4304 s->next = config_include_stack; 4305 config_include_stack = s; 4306 cfg_parser->filename = nm; 4307 cfg_parser->line = 1; 4308 inc_toplevel = toplevel; 4309 yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE)); 4310 } 4311 4312 static void config_start_include_glob(const char* filename, int toplevel) 4313 { 4314 4315 /* check for wildcards */ 4316 #ifdef HAVE_GLOB 4317 glob_t g; 4318 int i, r, flags; 4319 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && 4320 !strchr(filename, '{') && !strchr(filename, '~'))) { 4321 flags = 0 4322 #ifdef GLOB_ERR 4323 | GLOB_ERR 4324 #endif 4325 /* do not set GLOB_NOSORT so the results are sorted 4326 and in a predictable order. */ 4327 #ifdef GLOB_BRACE 4328 | GLOB_BRACE 4329 #endif 4330 #ifdef GLOB_TILDE 4331 | GLOB_TILDE 4332 #endif 4333 ; 4334 memset(&g, 0, sizeof(g)); 4335 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, 4336 strlen(cfg_parser->chroot)) == 0) { 4337 filename += strlen(cfg_parser->chroot); 4338 } 4339 r = glob(filename, flags, NULL, &g); 4340 if(r) { 4341 /* some error */ 4342 globfree(&g); 4343 if(r == GLOB_NOMATCH) 4344 return; /* no matches for pattern */ 4345 config_start_include(filename, toplevel); /* let original deal with it */ 4346 return; 4347 } 4348 /* process files found, if any */ 4349 for(i=(int)g.gl_pathc-1; i>=0; i--) { 4350 config_start_include(g.gl_pathv[i], toplevel); 4351 } 4352 globfree(&g); 4353 return; 4354 } 4355 #endif /* HAVE_GLOB */ 4356 4357 config_start_include(filename, toplevel); 4358 } 4359 4360 static void config_end_include(void) 4361 { 4362 struct inc_state* s = config_include_stack; 4363 --inc_depth; 4364 if(!s) return; 4365 free(cfg_parser->filename); 4366 cfg_parser->filename = s->filename; 4367 cfg_parser->line = s->line; 4368 yy_delete_buffer(YY_CURRENT_BUFFER); 4369 yy_switch_to_buffer(s->buffer); 4370 config_include_stack = s->next; 4371 inc_toplevel = s->inc_toplevel; 4372 free(s); 4373 } 4374 4375 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */ 4376 #define yy_set_bol(at_bol) \ 4377 { \ 4378 if ( ! yy_current_buffer ) \ 4379 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 4380 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \ 4381 } 4382 #endif 4383 4384 #line 4382 "<stdout>" 4385 #define YY_NO_INPUT 1 4386 #line 191 "util/configlexer.lex" 4387 #ifndef YY_NO_UNPUT 4388 #define YY_NO_UNPUT 1 4389 #endif 4390 #ifndef YY_NO_INPUT 4391 #define YY_NO_INPUT 1 4392 #endif 4393 #line 4391 "<stdout>" 4394 4395 #line 4393 "<stdout>" 4396 4397 #define INITIAL 0 4398 #define quotedstring 1 4399 #define singlequotedstr 2 4400 #define include 3 4401 #define include_quoted 4 4402 #define val 5 4403 #define include_toplevel 6 4404 #define include_toplevel_quoted 7 4405 4406 #ifndef YY_NO_UNISTD_H 4407 /* Special case for "unistd.h", since it is non-ANSI. We include it way 4408 * down here because we want the user's section 1 to have been scanned first. 4409 * The user has a chance to override it with an option. 4410 */ 4411 #include <unistd.h> 4412 #endif 4413 4414 #ifndef YY_EXTRA_TYPE 4415 #define YY_EXTRA_TYPE void * 4416 #endif 4417 4418 static int yy_init_globals ( void ); 4419 4420 /* Accessor methods to globals. 4421 These are made visible to non-reentrant scanners for convenience. */ 4422 4423 int yylex_destroy ( void ); 4424 4425 int yyget_debug ( void ); 4426 4427 void yyset_debug ( int debug_flag ); 4428 4429 YY_EXTRA_TYPE yyget_extra ( void ); 4430 4431 void yyset_extra ( YY_EXTRA_TYPE user_defined ); 4432 4433 FILE *yyget_in ( void ); 4434 4435 void yyset_in ( FILE * _in_str ); 4436 4437 FILE *yyget_out ( void ); 4438 4439 void yyset_out ( FILE * _out_str ); 4440 4441 int yyget_leng ( void ); 4442 4443 char *yyget_text ( void ); 4444 4445 int yyget_lineno ( void ); 4446 4447 void yyset_lineno ( int _line_number ); 4448 4449 /* Macros after this point can all be overridden by user definitions in 4450 * section 1. 4451 */ 4452 4453 #ifndef YY_SKIP_YYWRAP 4454 #ifdef __cplusplus 4455 extern "C" int yywrap ( void ); 4456 #else 4457 extern int yywrap ( void ); 4458 #endif 4459 #endif 4460 4461 #ifndef YY_NO_UNPUT 4462 4463 #endif 4464 4465 #ifndef yytext_ptr 4466 static void yy_flex_strncpy ( char *, const char *, int ); 4467 #endif 4468 4469 #ifdef YY_NEED_STRLEN 4470 static int yy_flex_strlen ( const char * ); 4471 #endif 4472 4473 #ifndef YY_NO_INPUT 4474 #ifdef __cplusplus 4475 static int yyinput ( void ); 4476 #else 4477 static int input ( void ); 4478 #endif 4479 4480 #endif 4481 4482 /* Amount of stuff to slurp up with each read. */ 4483 #ifndef YY_READ_BUF_SIZE 4484 #ifdef __ia64__ 4485 /* On IA-64, the buffer size is 16k, not 8k */ 4486 #define YY_READ_BUF_SIZE 16384 4487 #else 4488 #define YY_READ_BUF_SIZE 8192 4489 #endif /* __ia64__ */ 4490 #endif 4491 4492 /* Copy whatever the last rule matched to the standard output. */ 4493 #ifndef ECHO 4494 /* This used to be an fputs(), but since the string might contain NUL's, 4495 * we now use fwrite(). 4496 */ 4497 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) 4498 #endif 4499 4500 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 4501 * is returned in "result". 4502 */ 4503 #ifndef YY_INPUT 4504 #define YY_INPUT(buf,result,max_size) \ 4505 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 4506 { \ 4507 int c = '*'; \ 4508 int n; \ 4509 for ( n = 0; n < max_size && \ 4510 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 4511 buf[n] = (char) c; \ 4512 if ( c == '\n' ) \ 4513 buf[n++] = (char) c; \ 4514 if ( c == EOF && ferror( yyin ) ) \ 4515 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 4516 result = n; \ 4517 } \ 4518 else \ 4519 { \ 4520 errno=0; \ 4521 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ 4522 { \ 4523 if( errno != EINTR) \ 4524 { \ 4525 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 4526 break; \ 4527 } \ 4528 errno=0; \ 4529 clearerr(yyin); \ 4530 } \ 4531 }\ 4532 \ 4533 4534 #endif 4535 4536 /* No semi-colon after return; correct usage is to write "yyterminate();" - 4537 * we don't want an extra ';' after the "return" because that will cause 4538 * some compilers to complain about unreachable statements. 4539 */ 4540 #ifndef yyterminate 4541 #define yyterminate() return YY_NULL 4542 #endif 4543 4544 /* Number of entries by which start-condition stack grows. */ 4545 #ifndef YY_START_STACK_INCR 4546 #define YY_START_STACK_INCR 25 4547 #endif 4548 4549 /* Report a fatal error. */ 4550 #ifndef YY_FATAL_ERROR 4551 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 4552 #endif 4553 4554 /* end tables serialization structures and prototypes */ 4555 4556 /* Default declaration of generated scanner - a define so the user can 4557 * easily add parameters. 4558 */ 4559 #ifndef YY_DECL 4560 #define YY_DECL_IS_OURS 1 4561 4562 extern int yylex (void); 4563 4564 #define YY_DECL int yylex (void) 4565 #endif /* !YY_DECL */ 4566 4567 /* Code executed at the beginning of each rule, after yytext and yyleng 4568 * have been set up. 4569 */ 4570 #ifndef YY_USER_ACTION 4571 #define YY_USER_ACTION 4572 #endif 4573 4574 /* Code executed at the end of each rule. */ 4575 #ifndef YY_BREAK 4576 #define YY_BREAK /*LINTED*/break; 4577 #endif 4578 4579 #define YY_RULE_SETUP \ 4580 YY_USER_ACTION 4581 4582 /** The main scanner function which does all the work. 4583 */ 4584 YY_DECL 4585 { 4586 yy_state_type yy_current_state; 4587 char *yy_cp, *yy_bp; 4588 int yy_act; 4589 4590 if ( !(yy_init) ) 4591 { 4592 (yy_init) = 1; 4593 4594 #ifdef YY_USER_INIT 4595 YY_USER_INIT; 4596 #endif 4597 4598 if ( ! (yy_start) ) 4599 (yy_start) = 1; /* first start state */ 4600 4601 if ( ! yyin ) 4602 yyin = stdin; 4603 4604 if ( ! yyout ) 4605 yyout = stdout; 4606 4607 if ( ! YY_CURRENT_BUFFER ) { 4608 yyensure_buffer_stack (); 4609 YY_CURRENT_BUFFER_LVALUE = 4610 yy_create_buffer( yyin, YY_BUF_SIZE ); 4611 } 4612 4613 yy_load_buffer_state( ); 4614 } 4615 4616 { 4617 #line 211 "util/configlexer.lex" 4618 4619 #line 4617 "<stdout>" 4620 4621 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ 4622 { 4623 (yy_more_len) = 0; 4624 if ( (yy_more_flag) ) 4625 { 4626 (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr)); 4627 (yy_more_flag) = 0; 4628 } 4629 yy_cp = (yy_c_buf_p); 4630 4631 /* Support of yytext. */ 4632 *yy_cp = (yy_hold_char); 4633 4634 /* yy_bp points to the position in yy_ch_buf of the start of 4635 * the current run. 4636 */ 4637 yy_bp = yy_cp; 4638 4639 yy_current_state = (yy_start); 4640 yy_match: 4641 do 4642 { 4643 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; 4644 if ( yy_accept[yy_current_state] ) 4645 { 4646 (yy_last_accepting_state) = yy_current_state; 4647 (yy_last_accepting_cpos) = yy_cp; 4648 } 4649 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4650 { 4651 yy_current_state = (int) yy_def[yy_current_state]; 4652 if ( yy_current_state >= 3905 ) 4653 yy_c = yy_meta[yy_c]; 4654 } 4655 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 4656 ++yy_cp; 4657 } 4658 while ( yy_base[yy_current_state] != 11109 ); 4659 4660 yy_find_action: 4661 yy_act = yy_accept[yy_current_state]; 4662 if ( yy_act == 0 ) 4663 { /* have to back up */ 4664 yy_cp = (yy_last_accepting_cpos); 4665 yy_current_state = (yy_last_accepting_state); 4666 yy_act = yy_accept[yy_current_state]; 4667 } 4668 4669 YY_DO_BEFORE_ACTION; 4670 4671 do_action: /* This label is used only to access EOF actions. */ 4672 4673 switch ( yy_act ) 4674 { /* beginning of action switch */ 4675 case 0: /* must back up */ 4676 /* undo the effects of YY_DO_BEFORE_ACTION */ 4677 *yy_cp = (yy_hold_char); 4678 yy_cp = (yy_last_accepting_cpos); 4679 yy_current_state = (yy_last_accepting_state); 4680 goto yy_find_action; 4681 4682 case 1: 4683 YY_RULE_SETUP 4684 #line 212 "util/configlexer.lex" 4685 { 4686 LEXOUT(("SP ")); /* ignore */ } 4687 YY_BREAK 4688 case 2: 4689 YY_RULE_SETUP 4690 #line 214 "util/configlexer.lex" 4691 { 4692 /* note that flex makes the longest match and '.' is any but not nl */ 4693 LEXOUT(("comment(%s) ", yytext)); /* ignore */ } 4694 YY_BREAK 4695 case 3: 4696 YY_RULE_SETUP 4697 #line 217 "util/configlexer.lex" 4698 { YDVAR(0, VAR_SERVER) } 4699 YY_BREAK 4700 case 4: 4701 YY_RULE_SETUP 4702 #line 218 "util/configlexer.lex" 4703 { YDVAR(1, VAR_QNAME_MINIMISATION) } 4704 YY_BREAK 4705 case 5: 4706 YY_RULE_SETUP 4707 #line 219 "util/configlexer.lex" 4708 { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) } 4709 YY_BREAK 4710 case 6: 4711 YY_RULE_SETUP 4712 #line 220 "util/configlexer.lex" 4713 { YDVAR(1, VAR_NUM_THREADS) } 4714 YY_BREAK 4715 case 7: 4716 YY_RULE_SETUP 4717 #line 221 "util/configlexer.lex" 4718 { YDVAR(1, VAR_VERBOSITY) } 4719 YY_BREAK 4720 case 8: 4721 YY_RULE_SETUP 4722 #line 222 "util/configlexer.lex" 4723 { YDVAR(1, VAR_PORT) } 4724 YY_BREAK 4725 case 9: 4726 YY_RULE_SETUP 4727 #line 223 "util/configlexer.lex" 4728 { YDVAR(1, VAR_OUTGOING_RANGE) } 4729 YY_BREAK 4730 case 10: 4731 YY_RULE_SETUP 4732 #line 224 "util/configlexer.lex" 4733 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } 4734 YY_BREAK 4735 case 11: 4736 YY_RULE_SETUP 4737 #line 225 "util/configlexer.lex" 4738 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } 4739 YY_BREAK 4740 case 12: 4741 YY_RULE_SETUP 4742 #line 226 "util/configlexer.lex" 4743 { YDVAR(1, VAR_OUTGOING_NUM_TCP) } 4744 YY_BREAK 4745 case 13: 4746 YY_RULE_SETUP 4747 #line 227 "util/configlexer.lex" 4748 { YDVAR(1, VAR_INCOMING_NUM_TCP) } 4749 YY_BREAK 4750 case 14: 4751 YY_RULE_SETUP 4752 #line 228 "util/configlexer.lex" 4753 { YDVAR(1, VAR_DO_IP4) } 4754 YY_BREAK 4755 case 15: 4756 YY_RULE_SETUP 4757 #line 229 "util/configlexer.lex" 4758 { YDVAR(1, VAR_DO_IP6) } 4759 YY_BREAK 4760 case 16: 4761 YY_RULE_SETUP 4762 #line 230 "util/configlexer.lex" 4763 { YDVAR(1, VAR_DO_NAT64) } 4764 YY_BREAK 4765 case 17: 4766 YY_RULE_SETUP 4767 #line 231 "util/configlexer.lex" 4768 { YDVAR(1, VAR_PREFER_IP4) } 4769 YY_BREAK 4770 case 18: 4771 YY_RULE_SETUP 4772 #line 232 "util/configlexer.lex" 4773 { YDVAR(1, VAR_PREFER_IP6) } 4774 YY_BREAK 4775 case 19: 4776 YY_RULE_SETUP 4777 #line 233 "util/configlexer.lex" 4778 { YDVAR(1, VAR_DO_UDP) } 4779 YY_BREAK 4780 case 20: 4781 YY_RULE_SETUP 4782 #line 234 "util/configlexer.lex" 4783 { YDVAR(1, VAR_DO_TCP) } 4784 YY_BREAK 4785 case 21: 4786 YY_RULE_SETUP 4787 #line 235 "util/configlexer.lex" 4788 { YDVAR(1, VAR_TCP_UPSTREAM) } 4789 YY_BREAK 4790 case 22: 4791 YY_RULE_SETUP 4792 #line 236 "util/configlexer.lex" 4793 { YDVAR(1, VAR_TCP_MSS) } 4794 YY_BREAK 4795 case 23: 4796 YY_RULE_SETUP 4797 #line 237 "util/configlexer.lex" 4798 { YDVAR(1, VAR_OUTGOING_TCP_MSS) } 4799 YY_BREAK 4800 case 24: 4801 YY_RULE_SETUP 4802 #line 238 "util/configlexer.lex" 4803 { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } 4804 YY_BREAK 4805 case 25: 4806 YY_RULE_SETUP 4807 #line 239 "util/configlexer.lex" 4808 { YDVAR(1, VAR_MAX_REUSE_TCP_QUERIES) } 4809 YY_BREAK 4810 case 26: 4811 YY_RULE_SETUP 4812 #line 240 "util/configlexer.lex" 4813 { YDVAR(1, VAR_TCP_REUSE_TIMEOUT) } 4814 YY_BREAK 4815 case 27: 4816 YY_RULE_SETUP 4817 #line 241 "util/configlexer.lex" 4818 { YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) } 4819 YY_BREAK 4820 case 28: 4821 YY_RULE_SETUP 4822 #line 242 "util/configlexer.lex" 4823 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } 4824 YY_BREAK 4825 case 29: 4826 YY_RULE_SETUP 4827 #line 243 "util/configlexer.lex" 4828 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } 4829 YY_BREAK 4830 case 30: 4831 YY_RULE_SETUP 4832 #line 244 "util/configlexer.lex" 4833 { YDVAR(1, VAR_SOCK_QUEUE_TIMEOUT) } 4834 YY_BREAK 4835 case 31: 4836 YY_RULE_SETUP 4837 #line 245 "util/configlexer.lex" 4838 { YDVAR(1, VAR_SSL_UPSTREAM) } 4839 YY_BREAK 4840 case 32: 4841 YY_RULE_SETUP 4842 #line 246 "util/configlexer.lex" 4843 { YDVAR(1, VAR_SSL_UPSTREAM) } 4844 YY_BREAK 4845 case 33: 4846 YY_RULE_SETUP 4847 #line 247 "util/configlexer.lex" 4848 { YDVAR(1, VAR_SSL_SERVICE_KEY) } 4849 YY_BREAK 4850 case 34: 4851 YY_RULE_SETUP 4852 #line 248 "util/configlexer.lex" 4853 { YDVAR(1, VAR_SSL_SERVICE_KEY) } 4854 YY_BREAK 4855 case 35: 4856 YY_RULE_SETUP 4857 #line 249 "util/configlexer.lex" 4858 { YDVAR(1, VAR_SSL_SERVICE_PEM) } 4859 YY_BREAK 4860 case 36: 4861 YY_RULE_SETUP 4862 #line 250 "util/configlexer.lex" 4863 { YDVAR(1, VAR_SSL_SERVICE_PEM) } 4864 YY_BREAK 4865 case 37: 4866 YY_RULE_SETUP 4867 #line 251 "util/configlexer.lex" 4868 { YDVAR(1, VAR_SSL_PORT) } 4869 YY_BREAK 4870 case 38: 4871 YY_RULE_SETUP 4872 #line 252 "util/configlexer.lex" 4873 { YDVAR(1, VAR_SSL_PORT) } 4874 YY_BREAK 4875 case 39: 4876 YY_RULE_SETUP 4877 #line 253 "util/configlexer.lex" 4878 { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 4879 YY_BREAK 4880 case 40: 4881 YY_RULE_SETUP 4882 #line 254 "util/configlexer.lex" 4883 { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 4884 YY_BREAK 4885 case 41: 4886 YY_RULE_SETUP 4887 #line 255 "util/configlexer.lex" 4888 { YDVAR(1, VAR_TLS_WIN_CERT) } 4889 YY_BREAK 4890 case 42: 4891 YY_RULE_SETUP 4892 #line 256 "util/configlexer.lex" 4893 { YDVAR(1, VAR_TLS_WIN_CERT) } 4894 YY_BREAK 4895 case 43: 4896 YY_RULE_SETUP 4897 #line 257 "util/configlexer.lex" 4898 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 4899 YY_BREAK 4900 case 44: 4901 YY_RULE_SETUP 4902 #line 258 "util/configlexer.lex" 4903 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 4904 YY_BREAK 4905 case 45: 4906 YY_RULE_SETUP 4907 #line 259 "util/configlexer.lex" 4908 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 4909 YY_BREAK 4910 case 46: 4911 YY_RULE_SETUP 4912 #line 260 "util/configlexer.lex" 4913 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 4914 YY_BREAK 4915 case 47: 4916 YY_RULE_SETUP 4917 #line 261 "util/configlexer.lex" 4918 { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } 4919 YY_BREAK 4920 case 48: 4921 YY_RULE_SETUP 4922 #line 262 "util/configlexer.lex" 4923 { YDVAR(1, VAR_TLS_CIPHERS) } 4924 YY_BREAK 4925 case 49: 4926 YY_RULE_SETUP 4927 #line 263 "util/configlexer.lex" 4928 { YDVAR(1, VAR_TLS_CIPHERSUITES) } 4929 YY_BREAK 4930 case 50: 4931 YY_RULE_SETUP 4932 #line 264 "util/configlexer.lex" 4933 { YDVAR(1, VAR_TLS_USE_SNI) } 4934 YY_BREAK 4935 case 51: 4936 YY_RULE_SETUP 4937 #line 265 "util/configlexer.lex" 4938 { YDVAR(1, VAR_HTTPS_PORT) } 4939 YY_BREAK 4940 case 52: 4941 YY_RULE_SETUP 4942 #line 266 "util/configlexer.lex" 4943 { YDVAR(1, VAR_HTTP_ENDPOINT) } 4944 YY_BREAK 4945 case 53: 4946 YY_RULE_SETUP 4947 #line 267 "util/configlexer.lex" 4948 { YDVAR(1, VAR_HTTP_MAX_STREAMS) } 4949 YY_BREAK 4950 case 54: 4951 YY_RULE_SETUP 4952 #line 268 "util/configlexer.lex" 4953 { YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) } 4954 YY_BREAK 4955 case 55: 4956 YY_RULE_SETUP 4957 #line 269 "util/configlexer.lex" 4958 { YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) } 4959 YY_BREAK 4960 case 56: 4961 YY_RULE_SETUP 4962 #line 270 "util/configlexer.lex" 4963 { YDVAR(1, VAR_HTTP_NODELAY) } 4964 YY_BREAK 4965 case 57: 4966 YY_RULE_SETUP 4967 #line 271 "util/configlexer.lex" 4968 { YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) } 4969 YY_BREAK 4970 case 58: 4971 YY_RULE_SETUP 4972 #line 272 "util/configlexer.lex" 4973 { YDVAR(1, VAR_USE_SYSTEMD) } 4974 YY_BREAK 4975 case 59: 4976 YY_RULE_SETUP 4977 #line 273 "util/configlexer.lex" 4978 { YDVAR(1, VAR_DO_DAEMONIZE) } 4979 YY_BREAK 4980 case 60: 4981 YY_RULE_SETUP 4982 #line 274 "util/configlexer.lex" 4983 { YDVAR(1, VAR_INTERFACE) } 4984 YY_BREAK 4985 case 61: 4986 YY_RULE_SETUP 4987 #line 275 "util/configlexer.lex" 4988 { YDVAR(1, VAR_INTERFACE) } 4989 YY_BREAK 4990 case 62: 4991 YY_RULE_SETUP 4992 #line 276 "util/configlexer.lex" 4993 { YDVAR(1, VAR_OUTGOING_INTERFACE) } 4994 YY_BREAK 4995 case 63: 4996 YY_RULE_SETUP 4997 #line 277 "util/configlexer.lex" 4998 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } 4999 YY_BREAK 5000 case 64: 5001 YY_RULE_SETUP 5002 #line 278 "util/configlexer.lex" 5003 { YDVAR(1, VAR_INTERFACE_AUTOMATIC_PORTS) } 5004 YY_BREAK 5005 case 65: 5006 YY_RULE_SETUP 5007 #line 279 "util/configlexer.lex" 5008 { YDVAR(1, VAR_SO_RCVBUF) } 5009 YY_BREAK 5010 case 66: 5011 YY_RULE_SETUP 5012 #line 280 "util/configlexer.lex" 5013 { YDVAR(1, VAR_SO_SNDBUF) } 5014 YY_BREAK 5015 case 67: 5016 YY_RULE_SETUP 5017 #line 281 "util/configlexer.lex" 5018 { YDVAR(1, VAR_SO_REUSEPORT) } 5019 YY_BREAK 5020 case 68: 5021 YY_RULE_SETUP 5022 #line 282 "util/configlexer.lex" 5023 { YDVAR(1, VAR_IP_TRANSPARENT) } 5024 YY_BREAK 5025 case 69: 5026 YY_RULE_SETUP 5027 #line 283 "util/configlexer.lex" 5028 { YDVAR(1, VAR_IP_FREEBIND) } 5029 YY_BREAK 5030 case 70: 5031 YY_RULE_SETUP 5032 #line 284 "util/configlexer.lex" 5033 { YDVAR(1, VAR_IP_DSCP) } 5034 YY_BREAK 5035 case 71: 5036 YY_RULE_SETUP 5037 #line 285 "util/configlexer.lex" 5038 { YDVAR(1, VAR_CHROOT) } 5039 YY_BREAK 5040 case 72: 5041 YY_RULE_SETUP 5042 #line 286 "util/configlexer.lex" 5043 { YDVAR(1, VAR_USERNAME) } 5044 YY_BREAK 5045 case 73: 5046 YY_RULE_SETUP 5047 #line 287 "util/configlexer.lex" 5048 { YDVAR(1, VAR_DIRECTORY) } 5049 YY_BREAK 5050 case 74: 5051 YY_RULE_SETUP 5052 #line 288 "util/configlexer.lex" 5053 { YDVAR(1, VAR_LOGFILE) } 5054 YY_BREAK 5055 case 75: 5056 YY_RULE_SETUP 5057 #line 289 "util/configlexer.lex" 5058 { YDVAR(1, VAR_PIDFILE) } 5059 YY_BREAK 5060 case 76: 5061 YY_RULE_SETUP 5062 #line 290 "util/configlexer.lex" 5063 { YDVAR(1, VAR_ROOT_HINTS) } 5064 YY_BREAK 5065 case 77: 5066 YY_RULE_SETUP 5067 #line 291 "util/configlexer.lex" 5068 { YDVAR(1, VAR_STREAM_WAIT_SIZE) } 5069 YY_BREAK 5070 case 78: 5071 YY_RULE_SETUP 5072 #line 292 "util/configlexer.lex" 5073 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } 5074 YY_BREAK 5075 case 79: 5076 YY_RULE_SETUP 5077 #line 293 "util/configlexer.lex" 5078 { YDVAR(1, VAR_MSG_BUFFER_SIZE) } 5079 YY_BREAK 5080 case 80: 5081 YY_RULE_SETUP 5082 #line 294 "util/configlexer.lex" 5083 { YDVAR(1, VAR_MSG_CACHE_SIZE) } 5084 YY_BREAK 5085 case 81: 5086 YY_RULE_SETUP 5087 #line 295 "util/configlexer.lex" 5088 { YDVAR(1, VAR_MSG_CACHE_SLABS) } 5089 YY_BREAK 5090 case 82: 5091 YY_RULE_SETUP 5092 #line 296 "util/configlexer.lex" 5093 { YDVAR(1, VAR_RRSET_CACHE_SIZE) } 5094 YY_BREAK 5095 case 83: 5096 YY_RULE_SETUP 5097 #line 297 "util/configlexer.lex" 5098 { YDVAR(1, VAR_RRSET_CACHE_SLABS) } 5099 YY_BREAK 5100 case 84: 5101 YY_RULE_SETUP 5102 #line 298 "util/configlexer.lex" 5103 { YDVAR(1, VAR_CACHE_MAX_TTL) } 5104 YY_BREAK 5105 case 85: 5106 YY_RULE_SETUP 5107 #line 299 "util/configlexer.lex" 5108 { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } 5109 YY_BREAK 5110 case 86: 5111 YY_RULE_SETUP 5112 #line 300 "util/configlexer.lex" 5113 { YDVAR(1, VAR_CACHE_MIN_NEGATIVE_TTL) } 5114 YY_BREAK 5115 case 87: 5116 YY_RULE_SETUP 5117 #line 301 "util/configlexer.lex" 5118 { YDVAR(1, VAR_CACHE_MIN_TTL) } 5119 YY_BREAK 5120 case 88: 5121 YY_RULE_SETUP 5122 #line 302 "util/configlexer.lex" 5123 { YDVAR(1, VAR_INFRA_HOST_TTL) } 5124 YY_BREAK 5125 case 89: 5126 YY_RULE_SETUP 5127 #line 303 "util/configlexer.lex" 5128 { YDVAR(1, VAR_INFRA_LAME_TTL) } 5129 YY_BREAK 5130 case 90: 5131 YY_RULE_SETUP 5132 #line 304 "util/configlexer.lex" 5133 { YDVAR(1, VAR_INFRA_CACHE_SLABS) } 5134 YY_BREAK 5135 case 91: 5136 YY_RULE_SETUP 5137 #line 305 "util/configlexer.lex" 5138 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } 5139 YY_BREAK 5140 case 92: 5141 YY_RULE_SETUP 5142 #line 306 "util/configlexer.lex" 5143 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } 5144 YY_BREAK 5145 case 93: 5146 YY_RULE_SETUP 5147 #line 307 "util/configlexer.lex" 5148 { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } 5149 YY_BREAK 5150 case 94: 5151 YY_RULE_SETUP 5152 #line 308 "util/configlexer.lex" 5153 { YDVAR(1, VAR_INFRA_CACHE_MAX_RTT) } 5154 YY_BREAK 5155 case 95: 5156 YY_RULE_SETUP 5157 #line 309 "util/configlexer.lex" 5158 { YDVAR(1, VAR_INFRA_KEEP_PROBING) } 5159 YY_BREAK 5160 case 96: 5161 YY_RULE_SETUP 5162 #line 310 "util/configlexer.lex" 5163 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } 5164 YY_BREAK 5165 case 97: 5166 YY_RULE_SETUP 5167 #line 311 "util/configlexer.lex" 5168 { YDVAR(1, VAR_JOSTLE_TIMEOUT) } 5169 YY_BREAK 5170 case 98: 5171 YY_RULE_SETUP 5172 #line 312 "util/configlexer.lex" 5173 { YDVAR(1, VAR_DELAY_CLOSE) } 5174 YY_BREAK 5175 case 99: 5176 YY_RULE_SETUP 5177 #line 313 "util/configlexer.lex" 5178 { YDVAR(1, VAR_UDP_CONNECT) } 5179 YY_BREAK 5180 case 100: 5181 YY_RULE_SETUP 5182 #line 314 "util/configlexer.lex" 5183 { YDVAR(1, VAR_TARGET_FETCH_POLICY) } 5184 YY_BREAK 5185 case 101: 5186 YY_RULE_SETUP 5187 #line 315 "util/configlexer.lex" 5188 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } 5189 YY_BREAK 5190 case 102: 5191 YY_RULE_SETUP 5192 #line 316 "util/configlexer.lex" 5193 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } 5194 YY_BREAK 5195 case 103: 5196 YY_RULE_SETUP 5197 #line 317 "util/configlexer.lex" 5198 { YDVAR(1, VAR_HARDEN_GLUE) } 5199 YY_BREAK 5200 case 104: 5201 YY_RULE_SETUP 5202 #line 318 "util/configlexer.lex" 5203 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } 5204 YY_BREAK 5205 case 105: 5206 YY_RULE_SETUP 5207 #line 319 "util/configlexer.lex" 5208 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } 5209 YY_BREAK 5210 case 106: 5211 YY_RULE_SETUP 5212 #line 320 "util/configlexer.lex" 5213 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } 5214 YY_BREAK 5215 case 107: 5216 YY_RULE_SETUP 5217 #line 321 "util/configlexer.lex" 5218 { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } 5219 YY_BREAK 5220 case 108: 5221 YY_RULE_SETUP 5222 #line 322 "util/configlexer.lex" 5223 { YDVAR(1, VAR_HARDEN_UNKNOWN_ADDITIONAL) } 5224 YY_BREAK 5225 case 109: 5226 YY_RULE_SETUP 5227 #line 323 "util/configlexer.lex" 5228 { YDVAR(1, VAR_USE_CAPS_FOR_ID) } 5229 YY_BREAK 5230 case 110: 5231 YY_RULE_SETUP 5232 #line 324 "util/configlexer.lex" 5233 { YDVAR(1, VAR_CAPS_WHITELIST) } 5234 YY_BREAK 5235 case 111: 5236 YY_RULE_SETUP 5237 #line 325 "util/configlexer.lex" 5238 { YDVAR(1, VAR_CAPS_WHITELIST) } 5239 YY_BREAK 5240 case 112: 5241 YY_RULE_SETUP 5242 #line 326 "util/configlexer.lex" 5243 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } 5244 YY_BREAK 5245 case 113: 5246 YY_RULE_SETUP 5247 #line 327 "util/configlexer.lex" 5248 { YDVAR(1, VAR_PRIVATE_ADDRESS) } 5249 YY_BREAK 5250 case 114: 5251 YY_RULE_SETUP 5252 #line 328 "util/configlexer.lex" 5253 { YDVAR(1, VAR_PRIVATE_DOMAIN) } 5254 YY_BREAK 5255 case 115: 5256 YY_RULE_SETUP 5257 #line 329 "util/configlexer.lex" 5258 { YDVAR(1, VAR_PREFETCH_KEY) } 5259 YY_BREAK 5260 case 116: 5261 YY_RULE_SETUP 5262 #line 330 "util/configlexer.lex" 5263 { YDVAR(1, VAR_PREFETCH) } 5264 YY_BREAK 5265 case 117: 5266 YY_RULE_SETUP 5267 #line 331 "util/configlexer.lex" 5268 { YDVAR(1, VAR_DENY_ANY) } 5269 YY_BREAK 5270 case 118: 5271 YY_RULE_SETUP 5272 #line 332 "util/configlexer.lex" 5273 { YDVAR(0, VAR_STUB_ZONE) } 5274 YY_BREAK 5275 case 119: 5276 YY_RULE_SETUP 5277 #line 333 "util/configlexer.lex" 5278 { YDVAR(1, VAR_NAME) } 5279 YY_BREAK 5280 case 120: 5281 YY_RULE_SETUP 5282 #line 334 "util/configlexer.lex" 5283 { YDVAR(1, VAR_STUB_ADDR) } 5284 YY_BREAK 5285 case 121: 5286 YY_RULE_SETUP 5287 #line 335 "util/configlexer.lex" 5288 { YDVAR(1, VAR_STUB_HOST) } 5289 YY_BREAK 5290 case 122: 5291 YY_RULE_SETUP 5292 #line 336 "util/configlexer.lex" 5293 { YDVAR(1, VAR_STUB_PRIME) } 5294 YY_BREAK 5295 case 123: 5296 YY_RULE_SETUP 5297 #line 337 "util/configlexer.lex" 5298 { YDVAR(1, VAR_STUB_FIRST) } 5299 YY_BREAK 5300 case 124: 5301 YY_RULE_SETUP 5302 #line 338 "util/configlexer.lex" 5303 { YDVAR(1, VAR_STUB_NO_CACHE) } 5304 YY_BREAK 5305 case 125: 5306 YY_RULE_SETUP 5307 #line 339 "util/configlexer.lex" 5308 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } 5309 YY_BREAK 5310 case 126: 5311 YY_RULE_SETUP 5312 #line 340 "util/configlexer.lex" 5313 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } 5314 YY_BREAK 5315 case 127: 5316 YY_RULE_SETUP 5317 #line 341 "util/configlexer.lex" 5318 { YDVAR(1, VAR_STUB_TCP_UPSTREAM) } 5319 YY_BREAK 5320 case 128: 5321 YY_RULE_SETUP 5322 #line 342 "util/configlexer.lex" 5323 { YDVAR(0, VAR_FORWARD_ZONE) } 5324 YY_BREAK 5325 case 129: 5326 YY_RULE_SETUP 5327 #line 343 "util/configlexer.lex" 5328 { YDVAR(1, VAR_FORWARD_ADDR) } 5329 YY_BREAK 5330 case 130: 5331 YY_RULE_SETUP 5332 #line 344 "util/configlexer.lex" 5333 { YDVAR(1, VAR_FORWARD_HOST) } 5334 YY_BREAK 5335 case 131: 5336 YY_RULE_SETUP 5337 #line 345 "util/configlexer.lex" 5338 { YDVAR(1, VAR_FORWARD_FIRST) } 5339 YY_BREAK 5340 case 132: 5341 YY_RULE_SETUP 5342 #line 346 "util/configlexer.lex" 5343 { YDVAR(1, VAR_FORWARD_NO_CACHE) } 5344 YY_BREAK 5345 case 133: 5346 YY_RULE_SETUP 5347 #line 347 "util/configlexer.lex" 5348 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 5349 YY_BREAK 5350 case 134: 5351 YY_RULE_SETUP 5352 #line 348 "util/configlexer.lex" 5353 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 5354 YY_BREAK 5355 case 135: 5356 YY_RULE_SETUP 5357 #line 349 "util/configlexer.lex" 5358 { YDVAR(1, VAR_FORWARD_TCP_UPSTREAM) } 5359 YY_BREAK 5360 case 136: 5361 YY_RULE_SETUP 5362 #line 350 "util/configlexer.lex" 5363 { YDVAR(0, VAR_AUTH_ZONE) } 5364 YY_BREAK 5365 case 137: 5366 YY_RULE_SETUP 5367 #line 351 "util/configlexer.lex" 5368 { YDVAR(0, VAR_RPZ) } 5369 YY_BREAK 5370 case 138: 5371 YY_RULE_SETUP 5372 #line 352 "util/configlexer.lex" 5373 { YDVAR(1, VAR_TAGS) } 5374 YY_BREAK 5375 case 139: 5376 YY_RULE_SETUP 5377 #line 353 "util/configlexer.lex" 5378 { YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } 5379 YY_BREAK 5380 case 140: 5381 YY_RULE_SETUP 5382 #line 354 "util/configlexer.lex" 5383 { YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } 5384 YY_BREAK 5385 case 141: 5386 YY_RULE_SETUP 5387 #line 355 "util/configlexer.lex" 5388 { YDVAR(1, VAR_RPZ_LOG) } 5389 YY_BREAK 5390 case 142: 5391 YY_RULE_SETUP 5392 #line 356 "util/configlexer.lex" 5393 { YDVAR(1, VAR_RPZ_LOG_NAME) } 5394 YY_BREAK 5395 case 143: 5396 YY_RULE_SETUP 5397 #line 357 "util/configlexer.lex" 5398 { YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) } 5399 YY_BREAK 5400 case 144: 5401 YY_RULE_SETUP 5402 #line 358 "util/configlexer.lex" 5403 { YDVAR(1, VAR_ZONEFILE) } 5404 YY_BREAK 5405 case 145: 5406 YY_RULE_SETUP 5407 #line 359 "util/configlexer.lex" 5408 { YDVAR(1, VAR_MASTER) } 5409 YY_BREAK 5410 case 146: 5411 YY_RULE_SETUP 5412 #line 360 "util/configlexer.lex" 5413 { YDVAR(1, VAR_MASTER) } 5414 YY_BREAK 5415 case 147: 5416 YY_RULE_SETUP 5417 #line 361 "util/configlexer.lex" 5418 { YDVAR(1, VAR_URL) } 5419 YY_BREAK 5420 case 148: 5421 YY_RULE_SETUP 5422 #line 362 "util/configlexer.lex" 5423 { YDVAR(1, VAR_ALLOW_NOTIFY) } 5424 YY_BREAK 5425 case 149: 5426 YY_RULE_SETUP 5427 #line 363 "util/configlexer.lex" 5428 { YDVAR(1, VAR_FOR_DOWNSTREAM) } 5429 YY_BREAK 5430 case 150: 5431 YY_RULE_SETUP 5432 #line 364 "util/configlexer.lex" 5433 { YDVAR(1, VAR_FOR_UPSTREAM) } 5434 YY_BREAK 5435 case 151: 5436 YY_RULE_SETUP 5437 #line 365 "util/configlexer.lex" 5438 { YDVAR(1, VAR_FALLBACK_ENABLED) } 5439 YY_BREAK 5440 case 152: 5441 YY_RULE_SETUP 5442 #line 366 "util/configlexer.lex" 5443 { YDVAR(0, VAR_VIEW) } 5444 YY_BREAK 5445 case 153: 5446 YY_RULE_SETUP 5447 #line 367 "util/configlexer.lex" 5448 { YDVAR(1, VAR_VIEW_FIRST) } 5449 YY_BREAK 5450 case 154: 5451 YY_RULE_SETUP 5452 #line 368 "util/configlexer.lex" 5453 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } 5454 YY_BREAK 5455 case 155: 5456 YY_RULE_SETUP 5457 #line 369 "util/configlexer.lex" 5458 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } 5459 YY_BREAK 5460 case 156: 5461 YY_RULE_SETUP 5462 #line 370 "util/configlexer.lex" 5463 { YDVAR(2, VAR_ACCESS_CONTROL) } 5464 YY_BREAK 5465 case 157: 5466 YY_RULE_SETUP 5467 #line 371 "util/configlexer.lex" 5468 { YDVAR(2, VAR_INTERFACE_ACTION) } 5469 YY_BREAK 5470 case 158: 5471 YY_RULE_SETUP 5472 #line 372 "util/configlexer.lex" 5473 { YDVAR(1, VAR_SEND_CLIENT_SUBNET) } 5474 YY_BREAK 5475 case 159: 5476 YY_RULE_SETUP 5477 #line 373 "util/configlexer.lex" 5478 { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } 5479 YY_BREAK 5480 case 160: 5481 YY_RULE_SETUP 5482 #line 374 "util/configlexer.lex" 5483 { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } 5484 YY_BREAK 5485 case 161: 5486 YY_RULE_SETUP 5487 #line 375 "util/configlexer.lex" 5488 { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } 5489 YY_BREAK 5490 case 162: 5491 YY_RULE_SETUP 5492 #line 376 "util/configlexer.lex" 5493 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } 5494 YY_BREAK 5495 case 163: 5496 YY_RULE_SETUP 5497 #line 377 "util/configlexer.lex" 5498 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } 5499 YY_BREAK 5500 case 164: 5501 YY_RULE_SETUP 5502 #line 378 "util/configlexer.lex" 5503 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } 5504 YY_BREAK 5505 case 165: 5506 YY_RULE_SETUP 5507 #line 379 "util/configlexer.lex" 5508 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } 5509 YY_BREAK 5510 case 166: 5511 YY_RULE_SETUP 5512 #line 380 "util/configlexer.lex" 5513 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } 5514 YY_BREAK 5515 case 167: 5516 YY_RULE_SETUP 5517 #line 381 "util/configlexer.lex" 5518 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } 5519 YY_BREAK 5520 case 168: 5521 YY_RULE_SETUP 5522 #line 382 "util/configlexer.lex" 5523 { YDVAR(1, VAR_HIDE_IDENTITY) } 5524 YY_BREAK 5525 case 169: 5526 YY_RULE_SETUP 5527 #line 383 "util/configlexer.lex" 5528 { YDVAR(1, VAR_HIDE_VERSION) } 5529 YY_BREAK 5530 case 170: 5531 YY_RULE_SETUP 5532 #line 384 "util/configlexer.lex" 5533 { YDVAR(1, VAR_HIDE_TRUSTANCHOR) } 5534 YY_BREAK 5535 case 171: 5536 YY_RULE_SETUP 5537 #line 385 "util/configlexer.lex" 5538 { YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) } 5539 YY_BREAK 5540 case 172: 5541 YY_RULE_SETUP 5542 #line 386 "util/configlexer.lex" 5543 { YDVAR(1, VAR_IDENTITY) } 5544 YY_BREAK 5545 case 173: 5546 YY_RULE_SETUP 5547 #line 387 "util/configlexer.lex" 5548 { YDVAR(1, VAR_VERSION) } 5549 YY_BREAK 5550 case 174: 5551 YY_RULE_SETUP 5552 #line 388 "util/configlexer.lex" 5553 { YDVAR(1, VAR_HTTP_USER_AGENT) } 5554 YY_BREAK 5555 case 175: 5556 YY_RULE_SETUP 5557 #line 389 "util/configlexer.lex" 5558 { YDVAR(1, VAR_MODULE_CONF) } 5559 YY_BREAK 5560 case 176: 5561 YY_RULE_SETUP 5562 #line 390 "util/configlexer.lex" 5563 { YDVAR(1, VAR_DLV_ANCHOR) } 5564 YY_BREAK 5565 case 177: 5566 YY_RULE_SETUP 5567 #line 391 "util/configlexer.lex" 5568 { YDVAR(1, VAR_DLV_ANCHOR_FILE) } 5569 YY_BREAK 5570 case 178: 5571 YY_RULE_SETUP 5572 #line 392 "util/configlexer.lex" 5573 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } 5574 YY_BREAK 5575 case 179: 5576 YY_RULE_SETUP 5577 #line 393 "util/configlexer.lex" 5578 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } 5579 YY_BREAK 5580 case 180: 5581 YY_RULE_SETUP 5582 #line 394 "util/configlexer.lex" 5583 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } 5584 YY_BREAK 5585 case 181: 5586 YY_RULE_SETUP 5587 #line 395 "util/configlexer.lex" 5588 { YDVAR(1, VAR_TRUST_ANCHOR) } 5589 YY_BREAK 5590 case 182: 5591 YY_RULE_SETUP 5592 #line 396 "util/configlexer.lex" 5593 { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } 5594 YY_BREAK 5595 case 183: 5596 YY_RULE_SETUP 5597 #line 397 "util/configlexer.lex" 5598 { YDVAR(1, VAR_ROOT_KEY_SENTINEL) } 5599 YY_BREAK 5600 case 184: 5601 YY_RULE_SETUP 5602 #line 398 "util/configlexer.lex" 5603 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } 5604 YY_BREAK 5605 case 185: 5606 YY_RULE_SETUP 5607 #line 399 "util/configlexer.lex" 5608 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } 5609 YY_BREAK 5610 case 186: 5611 YY_RULE_SETUP 5612 #line 400 "util/configlexer.lex" 5613 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } 5614 YY_BREAK 5615 case 187: 5616 YY_RULE_SETUP 5617 #line 401 "util/configlexer.lex" 5618 { YDVAR(1, VAR_VAL_MAX_RESTART) } 5619 YY_BREAK 5620 case 188: 5621 YY_RULE_SETUP 5622 #line 402 "util/configlexer.lex" 5623 { YDVAR(1, VAR_BOGUS_TTL) } 5624 YY_BREAK 5625 case 189: 5626 YY_RULE_SETUP 5627 #line 403 "util/configlexer.lex" 5628 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } 5629 YY_BREAK 5630 case 190: 5631 YY_RULE_SETUP 5632 #line 404 "util/configlexer.lex" 5633 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } 5634 YY_BREAK 5635 case 191: 5636 YY_RULE_SETUP 5637 #line 405 "util/configlexer.lex" 5638 { YDVAR(1, VAR_AGGRESSIVE_NSEC) } 5639 YY_BREAK 5640 case 192: 5641 YY_RULE_SETUP 5642 #line 406 "util/configlexer.lex" 5643 { YDVAR(1, VAR_IGNORE_CD_FLAG) } 5644 YY_BREAK 5645 case 193: 5646 YY_RULE_SETUP 5647 #line 407 "util/configlexer.lex" 5648 { YDVAR(1, VAR_DISABLE_EDNS_DO) } 5649 YY_BREAK 5650 case 194: 5651 YY_RULE_SETUP 5652 #line 408 "util/configlexer.lex" 5653 { YDVAR(1, VAR_SERVE_EXPIRED) } 5654 YY_BREAK 5655 case 195: 5656 YY_RULE_SETUP 5657 #line 409 "util/configlexer.lex" 5658 { YDVAR(1, VAR_SERVE_EXPIRED_TTL) } 5659 YY_BREAK 5660 case 196: 5661 YY_RULE_SETUP 5662 #line 410 "util/configlexer.lex" 5663 { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } 5664 YY_BREAK 5665 case 197: 5666 YY_RULE_SETUP 5667 #line 411 "util/configlexer.lex" 5668 { YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } 5669 YY_BREAK 5670 case 198: 5671 YY_RULE_SETUP 5672 #line 412 "util/configlexer.lex" 5673 { YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } 5674 YY_BREAK 5675 case 199: 5676 YY_RULE_SETUP 5677 #line 413 "util/configlexer.lex" 5678 { YDVAR(1, VAR_EDE_SERVE_EXPIRED) } 5679 YY_BREAK 5680 case 200: 5681 YY_RULE_SETUP 5682 #line 414 "util/configlexer.lex" 5683 { YDVAR(1, VAR_SERVE_ORIGINAL_TTL) } 5684 YY_BREAK 5685 case 201: 5686 YY_RULE_SETUP 5687 #line 415 "util/configlexer.lex" 5688 { YDVAR(1, VAR_FAKE_DSA) } 5689 YY_BREAK 5690 case 202: 5691 YY_RULE_SETUP 5692 #line 416 "util/configlexer.lex" 5693 { YDVAR(1, VAR_FAKE_SHA1) } 5694 YY_BREAK 5695 case 203: 5696 YY_RULE_SETUP 5697 #line 417 "util/configlexer.lex" 5698 { YDVAR(1, VAR_VAL_LOG_LEVEL) } 5699 YY_BREAK 5700 case 204: 5701 YY_RULE_SETUP 5702 #line 418 "util/configlexer.lex" 5703 { YDVAR(1, VAR_KEY_CACHE_SIZE) } 5704 YY_BREAK 5705 case 205: 5706 YY_RULE_SETUP 5707 #line 419 "util/configlexer.lex" 5708 { YDVAR(1, VAR_KEY_CACHE_SLABS) } 5709 YY_BREAK 5710 case 206: 5711 YY_RULE_SETUP 5712 #line 420 "util/configlexer.lex" 5713 { YDVAR(1, VAR_NEG_CACHE_SIZE) } 5714 YY_BREAK 5715 case 207: 5716 YY_RULE_SETUP 5717 #line 421 "util/configlexer.lex" 5718 { 5719 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } 5720 YY_BREAK 5721 case 208: 5722 YY_RULE_SETUP 5723 #line 423 "util/configlexer.lex" 5724 { YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) } 5725 YY_BREAK 5726 case 209: 5727 YY_RULE_SETUP 5728 #line 424 "util/configlexer.lex" 5729 { YDVAR(1, VAR_ZONEMD_CHECK) } 5730 YY_BREAK 5731 case 210: 5732 YY_RULE_SETUP 5733 #line 425 "util/configlexer.lex" 5734 { YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) } 5735 YY_BREAK 5736 case 211: 5737 YY_RULE_SETUP 5738 #line 426 "util/configlexer.lex" 5739 { YDVAR(1, VAR_ADD_HOLDDOWN) } 5740 YY_BREAK 5741 case 212: 5742 YY_RULE_SETUP 5743 #line 427 "util/configlexer.lex" 5744 { YDVAR(1, VAR_DEL_HOLDDOWN) } 5745 YY_BREAK 5746 case 213: 5747 YY_RULE_SETUP 5748 #line 428 "util/configlexer.lex" 5749 { YDVAR(1, VAR_KEEP_MISSING) } 5750 YY_BREAK 5751 case 214: 5752 YY_RULE_SETUP 5753 #line 429 "util/configlexer.lex" 5754 { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } 5755 YY_BREAK 5756 case 215: 5757 YY_RULE_SETUP 5758 #line 430 "util/configlexer.lex" 5759 { YDVAR(1, VAR_USE_SYSLOG) } 5760 YY_BREAK 5761 case 216: 5762 YY_RULE_SETUP 5763 #line 431 "util/configlexer.lex" 5764 { YDVAR(1, VAR_LOG_IDENTITY) } 5765 YY_BREAK 5766 case 217: 5767 YY_RULE_SETUP 5768 #line 432 "util/configlexer.lex" 5769 { YDVAR(1, VAR_LOG_TIME_ASCII) } 5770 YY_BREAK 5771 case 218: 5772 YY_RULE_SETUP 5773 #line 433 "util/configlexer.lex" 5774 { YDVAR(1, VAR_LOG_QUERIES) } 5775 YY_BREAK 5776 case 219: 5777 YY_RULE_SETUP 5778 #line 434 "util/configlexer.lex" 5779 { YDVAR(1, VAR_LOG_REPLIES) } 5780 YY_BREAK 5781 case 220: 5782 YY_RULE_SETUP 5783 #line 435 "util/configlexer.lex" 5784 { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } 5785 YY_BREAK 5786 case 221: 5787 YY_RULE_SETUP 5788 #line 436 "util/configlexer.lex" 5789 { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } 5790 YY_BREAK 5791 case 222: 5792 YY_RULE_SETUP 5793 #line 437 "util/configlexer.lex" 5794 { YDVAR(1, VAR_LOG_SERVFAIL) } 5795 YY_BREAK 5796 case 223: 5797 YY_RULE_SETUP 5798 #line 438 "util/configlexer.lex" 5799 { YDVAR(1, VAR_LOG_DESTADDR) } 5800 YY_BREAK 5801 case 224: 5802 YY_RULE_SETUP 5803 #line 439 "util/configlexer.lex" 5804 { YDVAR(2, VAR_LOCAL_ZONE) } 5805 YY_BREAK 5806 case 225: 5807 YY_RULE_SETUP 5808 #line 440 "util/configlexer.lex" 5809 { YDVAR(1, VAR_LOCAL_DATA) } 5810 YY_BREAK 5811 case 226: 5812 YY_RULE_SETUP 5813 #line 441 "util/configlexer.lex" 5814 { YDVAR(1, VAR_LOCAL_DATA_PTR) } 5815 YY_BREAK 5816 case 227: 5817 YY_RULE_SETUP 5818 #line 442 "util/configlexer.lex" 5819 { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } 5820 YY_BREAK 5821 case 228: 5822 YY_RULE_SETUP 5823 #line 443 "util/configlexer.lex" 5824 { YDVAR(1, VAR_INSECURE_LAN_ZONES) } 5825 YY_BREAK 5826 case 229: 5827 YY_RULE_SETUP 5828 #line 444 "util/configlexer.lex" 5829 { YDVAR(1, VAR_STATISTICS_INTERVAL) } 5830 YY_BREAK 5831 case 230: 5832 YY_RULE_SETUP 5833 #line 445 "util/configlexer.lex" 5834 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } 5835 YY_BREAK 5836 case 231: 5837 YY_RULE_SETUP 5838 #line 446 "util/configlexer.lex" 5839 { YDVAR(1, VAR_EXTENDED_STATISTICS) } 5840 YY_BREAK 5841 case 232: 5842 YY_RULE_SETUP 5843 #line 447 "util/configlexer.lex" 5844 { YDVAR(1, VAR_STATISTICS_INHIBIT_ZERO) } 5845 YY_BREAK 5846 case 233: 5847 YY_RULE_SETUP 5848 #line 448 "util/configlexer.lex" 5849 { YDVAR(1, VAR_SHM_ENABLE) } 5850 YY_BREAK 5851 case 234: 5852 YY_RULE_SETUP 5853 #line 449 "util/configlexer.lex" 5854 { YDVAR(1, VAR_SHM_KEY) } 5855 YY_BREAK 5856 case 235: 5857 YY_RULE_SETUP 5858 #line 450 "util/configlexer.lex" 5859 { YDVAR(0, VAR_REMOTE_CONTROL) } 5860 YY_BREAK 5861 case 236: 5862 YY_RULE_SETUP 5863 #line 451 "util/configlexer.lex" 5864 { YDVAR(1, VAR_CONTROL_ENABLE) } 5865 YY_BREAK 5866 case 237: 5867 YY_RULE_SETUP 5868 #line 452 "util/configlexer.lex" 5869 { YDVAR(1, VAR_CONTROL_INTERFACE) } 5870 YY_BREAK 5871 case 238: 5872 YY_RULE_SETUP 5873 #line 453 "util/configlexer.lex" 5874 { YDVAR(1, VAR_CONTROL_PORT) } 5875 YY_BREAK 5876 case 239: 5877 YY_RULE_SETUP 5878 #line 454 "util/configlexer.lex" 5879 { YDVAR(1, VAR_CONTROL_USE_CERT) } 5880 YY_BREAK 5881 case 240: 5882 YY_RULE_SETUP 5883 #line 455 "util/configlexer.lex" 5884 { YDVAR(1, VAR_SERVER_KEY_FILE) } 5885 YY_BREAK 5886 case 241: 5887 YY_RULE_SETUP 5888 #line 456 "util/configlexer.lex" 5889 { YDVAR(1, VAR_SERVER_CERT_FILE) } 5890 YY_BREAK 5891 case 242: 5892 YY_RULE_SETUP 5893 #line 457 "util/configlexer.lex" 5894 { YDVAR(1, VAR_CONTROL_KEY_FILE) } 5895 YY_BREAK 5896 case 243: 5897 YY_RULE_SETUP 5898 #line 458 "util/configlexer.lex" 5899 { YDVAR(1, VAR_CONTROL_CERT_FILE) } 5900 YY_BREAK 5901 case 244: 5902 YY_RULE_SETUP 5903 #line 459 "util/configlexer.lex" 5904 { YDVAR(1, VAR_PYTHON_SCRIPT) } 5905 YY_BREAK 5906 case 245: 5907 YY_RULE_SETUP 5908 #line 460 "util/configlexer.lex" 5909 { YDVAR(0, VAR_PYTHON) } 5910 YY_BREAK 5911 case 246: 5912 YY_RULE_SETUP 5913 #line 461 "util/configlexer.lex" 5914 { YDVAR(1, VAR_DYNLIB_FILE) } 5915 YY_BREAK 5916 case 247: 5917 YY_RULE_SETUP 5918 #line 462 "util/configlexer.lex" 5919 { YDVAR(0, VAR_DYNLIB) } 5920 YY_BREAK 5921 case 248: 5922 YY_RULE_SETUP 5923 #line 463 "util/configlexer.lex" 5924 { YDVAR(1, VAR_DOMAIN_INSECURE) } 5925 YY_BREAK 5926 case 249: 5927 YY_RULE_SETUP 5928 #line 464 "util/configlexer.lex" 5929 { YDVAR(1, VAR_MINIMAL_RESPONSES) } 5930 YY_BREAK 5931 case 250: 5932 YY_RULE_SETUP 5933 #line 465 "util/configlexer.lex" 5934 { YDVAR(1, VAR_RRSET_ROUNDROBIN) } 5935 YY_BREAK 5936 case 251: 5937 YY_RULE_SETUP 5938 #line 466 "util/configlexer.lex" 5939 { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } 5940 YY_BREAK 5941 case 252: 5942 YY_RULE_SETUP 5943 #line 467 "util/configlexer.lex" 5944 { YDVAR(1, VAR_DISCARD_TIMEOUT) } 5945 YY_BREAK 5946 case 253: 5947 YY_RULE_SETUP 5948 #line 468 "util/configlexer.lex" 5949 { YDVAR(1, VAR_WAIT_LIMIT) } 5950 YY_BREAK 5951 case 254: 5952 YY_RULE_SETUP 5953 #line 469 "util/configlexer.lex" 5954 { YDVAR(1, VAR_WAIT_LIMIT_COOKIE) } 5955 YY_BREAK 5956 case 255: 5957 YY_RULE_SETUP 5958 #line 470 "util/configlexer.lex" 5959 { YDVAR(1, VAR_WAIT_LIMIT_NETBLOCK) } 5960 YY_BREAK 5961 case 256: 5962 YY_RULE_SETUP 5963 #line 471 "util/configlexer.lex" 5964 { YDVAR(1, VAR_WAIT_LIMIT_COOKIE_NETBLOCK) } 5965 YY_BREAK 5966 case 257: 5967 YY_RULE_SETUP 5968 #line 472 "util/configlexer.lex" 5969 { YDVAR(1, VAR_MAX_UDP_SIZE) } 5970 YY_BREAK 5971 case 258: 5972 YY_RULE_SETUP 5973 #line 473 "util/configlexer.lex" 5974 { YDVAR(1, VAR_DNS64_PREFIX) } 5975 YY_BREAK 5976 case 259: 5977 YY_RULE_SETUP 5978 #line 474 "util/configlexer.lex" 5979 { YDVAR(1, VAR_DNS64_SYNTHALL) } 5980 YY_BREAK 5981 case 260: 5982 YY_RULE_SETUP 5983 #line 475 "util/configlexer.lex" 5984 { YDVAR(1, VAR_DNS64_IGNORE_AAAA) } 5985 YY_BREAK 5986 case 261: 5987 YY_RULE_SETUP 5988 #line 476 "util/configlexer.lex" 5989 { YDVAR(1, VAR_NAT64_PREFIX) } 5990 YY_BREAK 5991 case 262: 5992 YY_RULE_SETUP 5993 #line 477 "util/configlexer.lex" 5994 { YDVAR(1, VAR_DEFINE_TAG) } 5995 YY_BREAK 5996 case 263: 5997 YY_RULE_SETUP 5998 #line 478 "util/configlexer.lex" 5999 { YDVAR(2, VAR_LOCAL_ZONE_TAG) } 6000 YY_BREAK 6001 case 264: 6002 YY_RULE_SETUP 6003 #line 479 "util/configlexer.lex" 6004 { YDVAR(2, VAR_ACCESS_CONTROL_TAG) } 6005 YY_BREAK 6006 case 265: 6007 YY_RULE_SETUP 6008 #line 480 "util/configlexer.lex" 6009 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } 6010 YY_BREAK 6011 case 266: 6012 YY_RULE_SETUP 6013 #line 481 "util/configlexer.lex" 6014 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } 6015 YY_BREAK 6016 case 267: 6017 YY_RULE_SETUP 6018 #line 482 "util/configlexer.lex" 6019 { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } 6020 YY_BREAK 6021 case 268: 6022 YY_RULE_SETUP 6023 #line 483 "util/configlexer.lex" 6024 { YDVAR(2, VAR_INTERFACE_TAG) } 6025 YY_BREAK 6026 case 269: 6027 YY_RULE_SETUP 6028 #line 484 "util/configlexer.lex" 6029 { YDVAR(3, VAR_INTERFACE_TAG_ACTION) } 6030 YY_BREAK 6031 case 270: 6032 YY_RULE_SETUP 6033 #line 485 "util/configlexer.lex" 6034 { YDVAR(3, VAR_INTERFACE_TAG_DATA) } 6035 YY_BREAK 6036 case 271: 6037 YY_RULE_SETUP 6038 #line 486 "util/configlexer.lex" 6039 { YDVAR(2, VAR_INTERFACE_VIEW) } 6040 YY_BREAK 6041 case 272: 6042 YY_RULE_SETUP 6043 #line 487 "util/configlexer.lex" 6044 { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } 6045 YY_BREAK 6046 case 273: 6047 YY_RULE_SETUP 6048 #line 488 "util/configlexer.lex" 6049 { YDVAR(0, VAR_DNSTAP) } 6050 YY_BREAK 6051 case 274: 6052 YY_RULE_SETUP 6053 #line 489 "util/configlexer.lex" 6054 { YDVAR(1, VAR_DNSTAP_ENABLE) } 6055 YY_BREAK 6056 case 275: 6057 YY_RULE_SETUP 6058 #line 490 "util/configlexer.lex" 6059 { YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) } 6060 YY_BREAK 6061 case 276: 6062 YY_RULE_SETUP 6063 #line 491 "util/configlexer.lex" 6064 { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } 6065 YY_BREAK 6066 case 277: 6067 YY_RULE_SETUP 6068 #line 492 "util/configlexer.lex" 6069 { YDVAR(1, VAR_DNSTAP_IP) } 6070 YY_BREAK 6071 case 278: 6072 YY_RULE_SETUP 6073 #line 493 "util/configlexer.lex" 6074 { YDVAR(1, VAR_DNSTAP_TLS) } 6075 YY_BREAK 6076 case 279: 6077 YY_RULE_SETUP 6078 #line 494 "util/configlexer.lex" 6079 { YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } 6080 YY_BREAK 6081 case 280: 6082 YY_RULE_SETUP 6083 #line 495 "util/configlexer.lex" 6084 { YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } 6085 YY_BREAK 6086 case 281: 6087 YY_RULE_SETUP 6088 #line 496 "util/configlexer.lex" 6089 { 6090 YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } 6091 YY_BREAK 6092 case 282: 6093 YY_RULE_SETUP 6094 #line 498 "util/configlexer.lex" 6095 { 6096 YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } 6097 YY_BREAK 6098 case 283: 6099 YY_RULE_SETUP 6100 #line 500 "util/configlexer.lex" 6101 { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } 6102 YY_BREAK 6103 case 284: 6104 YY_RULE_SETUP 6105 #line 501 "util/configlexer.lex" 6106 { YDVAR(1, VAR_DNSTAP_SEND_VERSION) } 6107 YY_BREAK 6108 case 285: 6109 YY_RULE_SETUP 6110 #line 502 "util/configlexer.lex" 6111 { YDVAR(1, VAR_DNSTAP_IDENTITY) } 6112 YY_BREAK 6113 case 286: 6114 YY_RULE_SETUP 6115 #line 503 "util/configlexer.lex" 6116 { YDVAR(1, VAR_DNSTAP_VERSION) } 6117 YY_BREAK 6118 case 287: 6119 YY_RULE_SETUP 6120 #line 504 "util/configlexer.lex" 6121 { 6122 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } 6123 YY_BREAK 6124 case 288: 6125 YY_RULE_SETUP 6126 #line 506 "util/configlexer.lex" 6127 { 6128 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } 6129 YY_BREAK 6130 case 289: 6131 YY_RULE_SETUP 6132 #line 508 "util/configlexer.lex" 6133 { 6134 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } 6135 YY_BREAK 6136 case 290: 6137 YY_RULE_SETUP 6138 #line 510 "util/configlexer.lex" 6139 { 6140 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } 6141 YY_BREAK 6142 case 291: 6143 YY_RULE_SETUP 6144 #line 512 "util/configlexer.lex" 6145 { 6146 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } 6147 YY_BREAK 6148 case 292: 6149 YY_RULE_SETUP 6150 #line 514 "util/configlexer.lex" 6151 { 6152 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } 6153 YY_BREAK 6154 case 293: 6155 YY_RULE_SETUP 6156 #line 516 "util/configlexer.lex" 6157 { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } 6158 YY_BREAK 6159 case 294: 6160 YY_RULE_SETUP 6161 #line 517 "util/configlexer.lex" 6162 { YDVAR(1, VAR_IP_RATELIMIT) } 6163 YY_BREAK 6164 case 295: 6165 YY_RULE_SETUP 6166 #line 518 "util/configlexer.lex" 6167 { YDVAR(1, VAR_IP_RATELIMIT_COOKIE) } 6168 YY_BREAK 6169 case 296: 6170 YY_RULE_SETUP 6171 #line 519 "util/configlexer.lex" 6172 { YDVAR(1, VAR_RATELIMIT) } 6173 YY_BREAK 6174 case 297: 6175 YY_RULE_SETUP 6176 #line 520 "util/configlexer.lex" 6177 { YDVAR(1, VAR_IP_RATELIMIT_SLABS) } 6178 YY_BREAK 6179 case 298: 6180 YY_RULE_SETUP 6181 #line 521 "util/configlexer.lex" 6182 { YDVAR(1, VAR_RATELIMIT_SLABS) } 6183 YY_BREAK 6184 case 299: 6185 YY_RULE_SETUP 6186 #line 522 "util/configlexer.lex" 6187 { YDVAR(1, VAR_IP_RATELIMIT_SIZE) } 6188 YY_BREAK 6189 case 300: 6190 YY_RULE_SETUP 6191 #line 523 "util/configlexer.lex" 6192 { YDVAR(1, VAR_RATELIMIT_SIZE) } 6193 YY_BREAK 6194 case 301: 6195 YY_RULE_SETUP 6196 #line 524 "util/configlexer.lex" 6197 { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } 6198 YY_BREAK 6199 case 302: 6200 YY_RULE_SETUP 6201 #line 525 "util/configlexer.lex" 6202 { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } 6203 YY_BREAK 6204 case 303: 6205 YY_RULE_SETUP 6206 #line 526 "util/configlexer.lex" 6207 { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } 6208 YY_BREAK 6209 case 304: 6210 YY_RULE_SETUP 6211 #line 527 "util/configlexer.lex" 6212 { YDVAR(1, VAR_RATELIMIT_FACTOR) } 6213 YY_BREAK 6214 case 305: 6215 YY_RULE_SETUP 6216 #line 528 "util/configlexer.lex" 6217 { YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) } 6218 YY_BREAK 6219 case 306: 6220 YY_RULE_SETUP 6221 #line 529 "util/configlexer.lex" 6222 { YDVAR(1, VAR_RATELIMIT_BACKOFF) } 6223 YY_BREAK 6224 case 307: 6225 YY_RULE_SETUP 6226 #line 530 "util/configlexer.lex" 6227 { YDVAR(1, VAR_OUTBOUND_MSG_RETRY) } 6228 YY_BREAK 6229 case 308: 6230 YY_RULE_SETUP 6231 #line 531 "util/configlexer.lex" 6232 { YDVAR(1, VAR_MAX_SENT_COUNT) } 6233 YY_BREAK 6234 case 309: 6235 YY_RULE_SETUP 6236 #line 532 "util/configlexer.lex" 6237 { YDVAR(1, VAR_MAX_QUERY_RESTARTS) } 6238 YY_BREAK 6239 case 310: 6240 YY_RULE_SETUP 6241 #line 533 "util/configlexer.lex" 6242 { YDVAR(1, VAR_LOW_RTT) } 6243 YY_BREAK 6244 case 311: 6245 YY_RULE_SETUP 6246 #line 534 "util/configlexer.lex" 6247 { YDVAR(1, VAR_FAST_SERVER_NUM) } 6248 YY_BREAK 6249 case 312: 6250 YY_RULE_SETUP 6251 #line 535 "util/configlexer.lex" 6252 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 6253 YY_BREAK 6254 case 313: 6255 YY_RULE_SETUP 6256 #line 536 "util/configlexer.lex" 6257 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 6258 YY_BREAK 6259 case 314: 6260 YY_RULE_SETUP 6261 #line 537 "util/configlexer.lex" 6262 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 6263 YY_BREAK 6264 case 315: 6265 YY_RULE_SETUP 6266 #line 538 "util/configlexer.lex" 6267 { YDVAR(2, VAR_RESPONSE_IP_TAG) } 6268 YY_BREAK 6269 case 316: 6270 YY_RULE_SETUP 6271 #line 539 "util/configlexer.lex" 6272 { YDVAR(2, VAR_RESPONSE_IP) } 6273 YY_BREAK 6274 case 317: 6275 YY_RULE_SETUP 6276 #line 540 "util/configlexer.lex" 6277 { YDVAR(2, VAR_RESPONSE_IP_DATA) } 6278 YY_BREAK 6279 case 318: 6280 YY_RULE_SETUP 6281 #line 541 "util/configlexer.lex" 6282 { YDVAR(0, VAR_DNSCRYPT) } 6283 YY_BREAK 6284 case 319: 6285 YY_RULE_SETUP 6286 #line 542 "util/configlexer.lex" 6287 { YDVAR(1, VAR_DNSCRYPT_ENABLE) } 6288 YY_BREAK 6289 case 320: 6290 YY_RULE_SETUP 6291 #line 543 "util/configlexer.lex" 6292 { YDVAR(1, VAR_DNSCRYPT_PORT) } 6293 YY_BREAK 6294 case 321: 6295 YY_RULE_SETUP 6296 #line 544 "util/configlexer.lex" 6297 { YDVAR(1, VAR_DNSCRYPT_PROVIDER) } 6298 YY_BREAK 6299 case 322: 6300 YY_RULE_SETUP 6301 #line 545 "util/configlexer.lex" 6302 { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } 6303 YY_BREAK 6304 case 323: 6305 YY_RULE_SETUP 6306 #line 546 "util/configlexer.lex" 6307 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } 6308 YY_BREAK 6309 case 324: 6310 YY_RULE_SETUP 6311 #line 547 "util/configlexer.lex" 6312 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } 6313 YY_BREAK 6314 case 325: 6315 YY_RULE_SETUP 6316 #line 548 "util/configlexer.lex" 6317 { 6318 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } 6319 YY_BREAK 6320 case 326: 6321 YY_RULE_SETUP 6322 #line 550 "util/configlexer.lex" 6323 { 6324 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } 6325 YY_BREAK 6326 case 327: 6327 YY_RULE_SETUP 6328 #line 552 "util/configlexer.lex" 6329 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } 6330 YY_BREAK 6331 case 328: 6332 YY_RULE_SETUP 6333 #line 553 "util/configlexer.lex" 6334 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } 6335 YY_BREAK 6336 case 329: 6337 YY_RULE_SETUP 6338 #line 554 "util/configlexer.lex" 6339 { YDVAR(1, VAR_PAD_RESPONSES) } 6340 YY_BREAK 6341 case 330: 6342 YY_RULE_SETUP 6343 #line 555 "util/configlexer.lex" 6344 { YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) } 6345 YY_BREAK 6346 case 331: 6347 YY_RULE_SETUP 6348 #line 556 "util/configlexer.lex" 6349 { YDVAR(1, VAR_PAD_QUERIES) } 6350 YY_BREAK 6351 case 332: 6352 YY_RULE_SETUP 6353 #line 557 "util/configlexer.lex" 6354 { YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) } 6355 YY_BREAK 6356 case 333: 6357 YY_RULE_SETUP 6358 #line 558 "util/configlexer.lex" 6359 { YDVAR(1, VAR_IPSECMOD_ENABLED) } 6360 YY_BREAK 6361 case 334: 6362 YY_RULE_SETUP 6363 #line 559 "util/configlexer.lex" 6364 { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } 6365 YY_BREAK 6366 case 335: 6367 YY_RULE_SETUP 6368 #line 560 "util/configlexer.lex" 6369 { YDVAR(1, VAR_IPSECMOD_HOOK) } 6370 YY_BREAK 6371 case 336: 6372 YY_RULE_SETUP 6373 #line 561 "util/configlexer.lex" 6374 { YDVAR(1, VAR_IPSECMOD_MAX_TTL) } 6375 YY_BREAK 6376 case 337: 6377 YY_RULE_SETUP 6378 #line 562 "util/configlexer.lex" 6379 { YDVAR(1, VAR_IPSECMOD_WHITELIST) } 6380 YY_BREAK 6381 case 338: 6382 YY_RULE_SETUP 6383 #line 563 "util/configlexer.lex" 6384 { YDVAR(1, VAR_IPSECMOD_WHITELIST) } 6385 YY_BREAK 6386 case 339: 6387 YY_RULE_SETUP 6388 #line 564 "util/configlexer.lex" 6389 { YDVAR(1, VAR_IPSECMOD_STRICT) } 6390 YY_BREAK 6391 case 340: 6392 YY_RULE_SETUP 6393 #line 565 "util/configlexer.lex" 6394 { YDVAR(0, VAR_CACHEDB) } 6395 YY_BREAK 6396 case 341: 6397 YY_RULE_SETUP 6398 #line 566 "util/configlexer.lex" 6399 { YDVAR(1, VAR_CACHEDB_BACKEND) } 6400 YY_BREAK 6401 case 342: 6402 YY_RULE_SETUP 6403 #line 567 "util/configlexer.lex" 6404 { YDVAR(1, VAR_CACHEDB_SECRETSEED) } 6405 YY_BREAK 6406 case 343: 6407 YY_RULE_SETUP 6408 #line 568 "util/configlexer.lex" 6409 { YDVAR(1, VAR_CACHEDB_NO_STORE) } 6410 YY_BREAK 6411 case 344: 6412 YY_RULE_SETUP 6413 #line 569 "util/configlexer.lex" 6414 { YDVAR(1, VAR_CACHEDB_CHECK_WHEN_SERVE_EXPIRED) } 6415 YY_BREAK 6416 case 345: 6417 YY_RULE_SETUP 6418 #line 570 "util/configlexer.lex" 6419 { YDVAR(1, VAR_CACHEDB_REDISHOST) } 6420 YY_BREAK 6421 case 346: 6422 YY_RULE_SETUP 6423 #line 571 "util/configlexer.lex" 6424 { YDVAR(1, VAR_CACHEDB_REDISPORT) } 6425 YY_BREAK 6426 case 347: 6427 YY_RULE_SETUP 6428 #line 572 "util/configlexer.lex" 6429 { YDVAR(1, VAR_CACHEDB_REDISPATH) } 6430 YY_BREAK 6431 case 348: 6432 YY_RULE_SETUP 6433 #line 573 "util/configlexer.lex" 6434 { YDVAR(1, VAR_CACHEDB_REDISPASSWORD) } 6435 YY_BREAK 6436 case 349: 6437 YY_RULE_SETUP 6438 #line 574 "util/configlexer.lex" 6439 { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } 6440 YY_BREAK 6441 case 350: 6442 YY_RULE_SETUP 6443 #line 575 "util/configlexer.lex" 6444 { YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } 6445 YY_BREAK 6446 case 351: 6447 YY_RULE_SETUP 6448 #line 576 "util/configlexer.lex" 6449 { YDVAR(1, VAR_CACHEDB_REDISLOGICALDB) } 6450 YY_BREAK 6451 case 352: 6452 YY_RULE_SETUP 6453 #line 577 "util/configlexer.lex" 6454 { YDVAR(0, VAR_IPSET) } 6455 YY_BREAK 6456 case 353: 6457 YY_RULE_SETUP 6458 #line 578 "util/configlexer.lex" 6459 { YDVAR(1, VAR_IPSET_NAME_V4) } 6460 YY_BREAK 6461 case 354: 6462 YY_RULE_SETUP 6463 #line 579 "util/configlexer.lex" 6464 { YDVAR(1, VAR_IPSET_NAME_V6) } 6465 YY_BREAK 6466 case 355: 6467 YY_RULE_SETUP 6468 #line 580 "util/configlexer.lex" 6469 { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } 6470 YY_BREAK 6471 case 356: 6472 YY_RULE_SETUP 6473 #line 581 "util/configlexer.lex" 6474 { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } 6475 YY_BREAK 6476 case 357: 6477 YY_RULE_SETUP 6478 #line 582 "util/configlexer.lex" 6479 { YDVAR(1, VAR_ANSWER_COOKIE ) } 6480 YY_BREAK 6481 case 358: 6482 YY_RULE_SETUP 6483 #line 583 "util/configlexer.lex" 6484 { YDVAR(1, VAR_COOKIE_SECRET) } 6485 YY_BREAK 6486 case 359: 6487 YY_RULE_SETUP 6488 #line 584 "util/configlexer.lex" 6489 { YDVAR(2, VAR_EDNS_CLIENT_STRING) } 6490 YY_BREAK 6491 case 360: 6492 YY_RULE_SETUP 6493 #line 585 "util/configlexer.lex" 6494 { YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) } 6495 YY_BREAK 6496 case 361: 6497 YY_RULE_SETUP 6498 #line 586 "util/configlexer.lex" 6499 { YDVAR(1, VAR_NSID ) } 6500 YY_BREAK 6501 case 362: 6502 YY_RULE_SETUP 6503 #line 587 "util/configlexer.lex" 6504 { YDVAR(1, VAR_EDE ) } 6505 YY_BREAK 6506 case 363: 6507 YY_RULE_SETUP 6508 #line 588 "util/configlexer.lex" 6509 { YDVAR(1, VAR_PROXY_PROTOCOL_PORT) } 6510 YY_BREAK 6511 case 364: 6512 /* rule 364 can match eol */ 6513 YY_RULE_SETUP 6514 #line 589 "util/configlexer.lex" 6515 { LEXOUT(("NL\n")); cfg_parser->line++; } 6516 YY_BREAK 6517 /* Quoted strings. Strip leading and ending quotes */ 6518 case 365: 6519 YY_RULE_SETUP 6520 #line 592 "util/configlexer.lex" 6521 { BEGIN(quotedstring); LEXOUT(("QS ")); } 6522 YY_BREAK 6523 case YY_STATE_EOF(quotedstring): 6524 #line 593 "util/configlexer.lex" 6525 { 6526 yyerror("EOF inside quoted string"); 6527 if(--num_args == 0) { BEGIN(INITIAL); } 6528 else { BEGIN(val); } 6529 } 6530 YY_BREAK 6531 case 366: 6532 YY_RULE_SETUP 6533 #line 598 "util/configlexer.lex" 6534 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 6535 YY_BREAK 6536 case 367: 6537 /* rule 367 can match eol */ 6538 YY_RULE_SETUP 6539 #line 599 "util/configlexer.lex" 6540 { yyerror("newline inside quoted string, no end \""); 6541 cfg_parser->line++; BEGIN(INITIAL); } 6542 YY_BREAK 6543 case 368: 6544 YY_RULE_SETUP 6545 #line 601 "util/configlexer.lex" 6546 { 6547 LEXOUT(("QE ")); 6548 if(--num_args == 0) { BEGIN(INITIAL); } 6549 else { BEGIN(val); } 6550 yytext[yyleng - 1] = '\0'; 6551 yylval.str = strdup(yytext); 6552 if(!yylval.str) 6553 yyerror("out of memory"); 6554 return STRING_ARG; 6555 } 6556 YY_BREAK 6557 /* Single Quoted strings. Strip leading and ending quotes */ 6558 case 369: 6559 YY_RULE_SETUP 6560 #line 613 "util/configlexer.lex" 6561 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } 6562 YY_BREAK 6563 case YY_STATE_EOF(singlequotedstr): 6564 #line 614 "util/configlexer.lex" 6565 { 6566 yyerror("EOF inside quoted string"); 6567 if(--num_args == 0) { BEGIN(INITIAL); } 6568 else { BEGIN(val); } 6569 } 6570 YY_BREAK 6571 case 370: 6572 YY_RULE_SETUP 6573 #line 619 "util/configlexer.lex" 6574 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 6575 YY_BREAK 6576 case 371: 6577 /* rule 371 can match eol */ 6578 YY_RULE_SETUP 6579 #line 620 "util/configlexer.lex" 6580 { yyerror("newline inside quoted string, no end '"); 6581 cfg_parser->line++; BEGIN(INITIAL); } 6582 YY_BREAK 6583 case 372: 6584 YY_RULE_SETUP 6585 #line 622 "util/configlexer.lex" 6586 { 6587 LEXOUT(("SQE ")); 6588 if(--num_args == 0) { BEGIN(INITIAL); } 6589 else { BEGIN(val); } 6590 yytext[yyleng - 1] = '\0'; 6591 yylval.str = strdup(yytext); 6592 if(!yylval.str) 6593 yyerror("out of memory"); 6594 return STRING_ARG; 6595 } 6596 YY_BREAK 6597 /* include: directive */ 6598 case 373: 6599 YY_RULE_SETUP 6600 #line 634 "util/configlexer.lex" 6601 { 6602 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } 6603 YY_BREAK 6604 case YY_STATE_EOF(include): 6605 #line 636 "util/configlexer.lex" 6606 { 6607 yyerror("EOF inside include directive"); 6608 BEGIN(inc_prev); 6609 } 6610 YY_BREAK 6611 case 374: 6612 YY_RULE_SETUP 6613 #line 640 "util/configlexer.lex" 6614 { LEXOUT(("ISP ")); /* ignore */ } 6615 YY_BREAK 6616 case 375: 6617 /* rule 375 can match eol */ 6618 YY_RULE_SETUP 6619 #line 641 "util/configlexer.lex" 6620 { LEXOUT(("NL\n")); cfg_parser->line++;} 6621 YY_BREAK 6622 case 376: 6623 YY_RULE_SETUP 6624 #line 642 "util/configlexer.lex" 6625 { LEXOUT(("IQS ")); BEGIN(include_quoted); } 6626 YY_BREAK 6627 case 377: 6628 YY_RULE_SETUP 6629 #line 643 "util/configlexer.lex" 6630 { 6631 LEXOUT(("Iunquotedstr(%s) ", yytext)); 6632 config_start_include_glob(yytext, 0); 6633 BEGIN(inc_prev); 6634 } 6635 YY_BREAK 6636 case YY_STATE_EOF(include_quoted): 6637 #line 648 "util/configlexer.lex" 6638 { 6639 yyerror("EOF inside quoted string"); 6640 BEGIN(inc_prev); 6641 } 6642 YY_BREAK 6643 case 378: 6644 YY_RULE_SETUP 6645 #line 652 "util/configlexer.lex" 6646 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } 6647 YY_BREAK 6648 case 379: 6649 /* rule 379 can match eol */ 6650 YY_RULE_SETUP 6651 #line 653 "util/configlexer.lex" 6652 { yyerror("newline before \" in include name"); 6653 cfg_parser->line++; BEGIN(inc_prev); } 6654 YY_BREAK 6655 case 380: 6656 YY_RULE_SETUP 6657 #line 655 "util/configlexer.lex" 6658 { 6659 LEXOUT(("IQE ")); 6660 yytext[yyleng - 1] = '\0'; 6661 config_start_include_glob(yytext, 0); 6662 BEGIN(inc_prev); 6663 } 6664 YY_BREAK 6665 case YY_STATE_EOF(INITIAL): 6666 case YY_STATE_EOF(val): 6667 #line 661 "util/configlexer.lex" 6668 { 6669 LEXOUT(("LEXEOF ")); 6670 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ 6671 if (!config_include_stack) { 6672 yyterminate(); 6673 } else { 6674 int prev_toplevel = inc_toplevel; 6675 fclose(yyin); 6676 config_end_include(); 6677 if(prev_toplevel) return (VAR_FORCE_TOPLEVEL); 6678 } 6679 } 6680 YY_BREAK 6681 /* include-toplevel: directive */ 6682 case 381: 6683 YY_RULE_SETUP 6684 #line 675 "util/configlexer.lex" 6685 { 6686 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel); 6687 } 6688 YY_BREAK 6689 case YY_STATE_EOF(include_toplevel): 6690 #line 678 "util/configlexer.lex" 6691 { 6692 yyerror("EOF inside include_toplevel directive"); 6693 BEGIN(inc_prev); 6694 } 6695 YY_BREAK 6696 case 382: 6697 YY_RULE_SETUP 6698 #line 682 "util/configlexer.lex" 6699 { LEXOUT(("ITSP ")); /* ignore */ } 6700 YY_BREAK 6701 case 383: 6702 /* rule 383 can match eol */ 6703 YY_RULE_SETUP 6704 #line 683 "util/configlexer.lex" 6705 { LEXOUT(("NL\n")); cfg_parser->line++; } 6706 YY_BREAK 6707 case 384: 6708 YY_RULE_SETUP 6709 #line 684 "util/configlexer.lex" 6710 { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); } 6711 YY_BREAK 6712 case 385: 6713 YY_RULE_SETUP 6714 #line 685 "util/configlexer.lex" 6715 { 6716 LEXOUT(("ITunquotedstr(%s) ", yytext)); 6717 config_start_include_glob(yytext, 1); 6718 BEGIN(inc_prev); 6719 return (VAR_FORCE_TOPLEVEL); 6720 } 6721 YY_BREAK 6722 case YY_STATE_EOF(include_toplevel_quoted): 6723 #line 691 "util/configlexer.lex" 6724 { 6725 yyerror("EOF inside quoted string"); 6726 BEGIN(inc_prev); 6727 } 6728 YY_BREAK 6729 case 386: 6730 YY_RULE_SETUP 6731 #line 695 "util/configlexer.lex" 6732 { LEXOUT(("ITSTR(%s) ", yytext)); yymore(); } 6733 YY_BREAK 6734 case 387: 6735 /* rule 387 can match eol */ 6736 YY_RULE_SETUP 6737 #line 696 "util/configlexer.lex" 6738 { 6739 yyerror("newline before \" in include name"); 6740 cfg_parser->line++; BEGIN(inc_prev); 6741 } 6742 YY_BREAK 6743 case 388: 6744 YY_RULE_SETUP 6745 #line 700 "util/configlexer.lex" 6746 { 6747 LEXOUT(("ITQE ")); 6748 yytext[yyleng - 1] = '\0'; 6749 config_start_include_glob(yytext, 1); 6750 BEGIN(inc_prev); 6751 return (VAR_FORCE_TOPLEVEL); 6752 } 6753 YY_BREAK 6754 case 389: 6755 YY_RULE_SETUP 6756 #line 708 "util/configlexer.lex" 6757 { LEXOUT(("unquotedstr(%s) ", yytext)); 6758 if(--num_args == 0) { BEGIN(INITIAL); } 6759 yylval.str = strdup(yytext); return STRING_ARG; } 6760 YY_BREAK 6761 case 390: 6762 YY_RULE_SETUP 6763 #line 712 "util/configlexer.lex" 6764 { 6765 ub_c_error_msg("unknown keyword '%s'", yytext); 6766 } 6767 YY_BREAK 6768 case 391: 6769 YY_RULE_SETUP 6770 #line 716 "util/configlexer.lex" 6771 { 6772 ub_c_error_msg("stray '%s'", yytext); 6773 } 6774 YY_BREAK 6775 case 392: 6776 YY_RULE_SETUP 6777 #line 720 "util/configlexer.lex" 6778 ECHO; 6779 YY_BREAK 6780 #line 6778 "<stdout>" 6781 6782 case YY_END_OF_BUFFER: 6783 { 6784 /* Amount of text matched not including the EOB char. */ 6785 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 6786 6787 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 6788 *yy_cp = (yy_hold_char); 6789 YY_RESTORE_YY_MORE_OFFSET 6790 6791 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 6792 { 6793 /* We're scanning a new file or input source. It's 6794 * possible that this happened because the user 6795 * just pointed yyin at a new source and called 6796 * yylex(). If so, then we have to assure 6797 * consistency between YY_CURRENT_BUFFER and our 6798 * globals. Here is the right place to do so, because 6799 * this is the first action (other than possibly a 6800 * back-up) that will match for the new input source. 6801 */ 6802 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 6803 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 6804 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 6805 } 6806 6807 /* Note that here we test for yy_c_buf_p "<=" to the position 6808 * of the first EOB in the buffer, since yy_c_buf_p will 6809 * already have been incremented past the NUL character 6810 * (since all states make transitions on EOB to the 6811 * end-of-buffer state). Contrast this with the test 6812 * in input(). 6813 */ 6814 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 6815 { /* This was really a NUL. */ 6816 yy_state_type yy_next_state; 6817 6818 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 6819 6820 yy_current_state = yy_get_previous_state( ); 6821 6822 /* Okay, we're now positioned to make the NUL 6823 * transition. We couldn't have 6824 * yy_get_previous_state() go ahead and do it 6825 * for us because it doesn't know how to deal 6826 * with the possibility of jamming (and we don't 6827 * want to build jamming into it because then it 6828 * will run more slowly). 6829 */ 6830 6831 yy_next_state = yy_try_NUL_trans( yy_current_state ); 6832 6833 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 6834 6835 if ( yy_next_state ) 6836 { 6837 /* Consume the NUL. */ 6838 yy_cp = ++(yy_c_buf_p); 6839 yy_current_state = yy_next_state; 6840 goto yy_match; 6841 } 6842 6843 else 6844 { 6845 yy_cp = (yy_c_buf_p); 6846 goto yy_find_action; 6847 } 6848 } 6849 6850 else switch ( yy_get_next_buffer( ) ) 6851 { 6852 case EOB_ACT_END_OF_FILE: 6853 { 6854 (yy_did_buffer_switch_on_eof) = 0; 6855 6856 if ( yywrap( ) ) 6857 { 6858 /* Note: because we've taken care in 6859 * yy_get_next_buffer() to have set up 6860 * yytext, we can now set up 6861 * yy_c_buf_p so that if some total 6862 * hoser (like flex itself) wants to 6863 * call the scanner after we return the 6864 * YY_NULL, it'll still work - another 6865 * YY_NULL will get returned. 6866 */ 6867 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 6868 6869 yy_act = YY_STATE_EOF(YY_START); 6870 goto do_action; 6871 } 6872 6873 else 6874 { 6875 if ( ! (yy_did_buffer_switch_on_eof) ) 6876 YY_NEW_FILE; 6877 } 6878 break; 6879 } 6880 6881 case EOB_ACT_CONTINUE_SCAN: 6882 (yy_c_buf_p) = 6883 (yytext_ptr) + yy_amount_of_matched_text; 6884 6885 yy_current_state = yy_get_previous_state( ); 6886 6887 yy_cp = (yy_c_buf_p); 6888 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 6889 goto yy_match; 6890 6891 case EOB_ACT_LAST_MATCH: 6892 (yy_c_buf_p) = 6893 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 6894 6895 yy_current_state = yy_get_previous_state( ); 6896 6897 yy_cp = (yy_c_buf_p); 6898 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 6899 goto yy_find_action; 6900 } 6901 break; 6902 } 6903 6904 default: 6905 YY_FATAL_ERROR( 6906 "fatal flex scanner internal error--no action found" ); 6907 } /* end of action switch */ 6908 } /* end of scanning one token */ 6909 } /* end of user's declarations */ 6910 } /* end of yylex */ 6911 6912 /* yy_get_next_buffer - try to read in a new buffer 6913 * 6914 * Returns a code representing an action: 6915 * EOB_ACT_LAST_MATCH - 6916 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 6917 * EOB_ACT_END_OF_FILE - end of file 6918 */ 6919 static int yy_get_next_buffer (void) 6920 { 6921 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 6922 char *source = (yytext_ptr); 6923 int number_to_move, i; 6924 int ret_val; 6925 6926 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 6927 YY_FATAL_ERROR( 6928 "fatal flex scanner internal error--end of buffer missed" ); 6929 6930 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 6931 { /* Don't try to fill the buffer, so this is an EOF. */ 6932 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 6933 { 6934 /* We matched a single character, the EOB, so 6935 * treat this as a final EOF. 6936 */ 6937 return EOB_ACT_END_OF_FILE; 6938 } 6939 6940 else 6941 { 6942 /* We matched some text prior to the EOB, first 6943 * process it. 6944 */ 6945 return EOB_ACT_LAST_MATCH; 6946 } 6947 } 6948 6949 /* Try to read more data. */ 6950 6951 /* First move last chars to start of buffer. */ 6952 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); 6953 6954 for ( i = 0; i < number_to_move; ++i ) 6955 *(dest++) = *(source++); 6956 6957 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 6958 /* don't do the read, it's not guaranteed to return an EOF, 6959 * just force an EOF 6960 */ 6961 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 6962 6963 else 6964 { 6965 int num_to_read = 6966 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 6967 6968 while ( num_to_read <= 0 ) 6969 { /* Not enough room in the buffer - grow it. */ 6970 6971 /* just a shorter name for the current buffer */ 6972 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 6973 6974 int yy_c_buf_p_offset = 6975 (int) ((yy_c_buf_p) - b->yy_ch_buf); 6976 6977 if ( b->yy_is_our_buffer ) 6978 { 6979 int new_size = b->yy_buf_size * 2; 6980 6981 if ( new_size <= 0 ) 6982 b->yy_buf_size += b->yy_buf_size / 8; 6983 else 6984 b->yy_buf_size *= 2; 6985 6986 b->yy_ch_buf = (char *) 6987 /* Include room in for 2 EOB chars. */ 6988 yyrealloc( (void *) b->yy_ch_buf, 6989 (yy_size_t) (b->yy_buf_size + 2) ); 6990 } 6991 else 6992 /* Can't grow it, we don't own it. */ 6993 b->yy_ch_buf = NULL; 6994 6995 if ( ! b->yy_ch_buf ) 6996 YY_FATAL_ERROR( 6997 "fatal error - scanner input buffer overflow" ); 6998 6999 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 7000 7001 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 7002 number_to_move - 1; 7003 7004 } 7005 7006 if ( num_to_read > YY_READ_BUF_SIZE ) 7007 num_to_read = YY_READ_BUF_SIZE; 7008 7009 /* Read in more data. */ 7010 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 7011 (yy_n_chars), num_to_read ); 7012 7013 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 7014 } 7015 7016 if ( (yy_n_chars) == 0 ) 7017 { 7018 if ( number_to_move == YY_MORE_ADJ ) 7019 { 7020 ret_val = EOB_ACT_END_OF_FILE; 7021 yyrestart( yyin ); 7022 } 7023 7024 else 7025 { 7026 ret_val = EOB_ACT_LAST_MATCH; 7027 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 7028 YY_BUFFER_EOF_PENDING; 7029 } 7030 } 7031 7032 else 7033 ret_val = EOB_ACT_CONTINUE_SCAN; 7034 7035 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 7036 /* Extend the array by 50%, plus the number we really need. */ 7037 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 7038 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( 7039 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); 7040 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 7041 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 7042 /* "- 2" to take care of EOB's */ 7043 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); 7044 } 7045 7046 (yy_n_chars) += number_to_move; 7047 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 7048 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 7049 7050 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 7051 7052 return ret_val; 7053 } 7054 7055 /* yy_get_previous_state - get the state just before the EOB char was reached */ 7056 7057 static yy_state_type yy_get_previous_state (void) 7058 { 7059 yy_state_type yy_current_state; 7060 char *yy_cp; 7061 7062 yy_current_state = (yy_start); 7063 7064 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 7065 { 7066 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 7067 if ( yy_accept[yy_current_state] ) 7068 { 7069 (yy_last_accepting_state) = yy_current_state; 7070 (yy_last_accepting_cpos) = yy_cp; 7071 } 7072 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 7073 { 7074 yy_current_state = (int) yy_def[yy_current_state]; 7075 if ( yy_current_state >= 3905 ) 7076 yy_c = yy_meta[yy_c]; 7077 } 7078 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 7079 } 7080 7081 return yy_current_state; 7082 } 7083 7084 /* yy_try_NUL_trans - try to make a transition on the NUL character 7085 * 7086 * synopsis 7087 * next_state = yy_try_NUL_trans( current_state ); 7088 */ 7089 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 7090 { 7091 int yy_is_jam; 7092 char *yy_cp = (yy_c_buf_p); 7093 7094 YY_CHAR yy_c = 1; 7095 if ( yy_accept[yy_current_state] ) 7096 { 7097 (yy_last_accepting_state) = yy_current_state; 7098 (yy_last_accepting_cpos) = yy_cp; 7099 } 7100 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 7101 { 7102 yy_current_state = (int) yy_def[yy_current_state]; 7103 if ( yy_current_state >= 3905 ) 7104 yy_c = yy_meta[yy_c]; 7105 } 7106 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 7107 yy_is_jam = (yy_current_state == 3904); 7108 7109 return yy_is_jam ? 0 : yy_current_state; 7110 } 7111 7112 #ifndef YY_NO_UNPUT 7113 7114 #endif 7115 7116 #ifndef YY_NO_INPUT 7117 #ifdef __cplusplus 7118 static int yyinput (void) 7119 #else 7120 static int input (void) 7121 #endif 7122 7123 { 7124 int c; 7125 7126 *(yy_c_buf_p) = (yy_hold_char); 7127 7128 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 7129 { 7130 /* yy_c_buf_p now points to the character we want to return. 7131 * If this occurs *before* the EOB characters, then it's a 7132 * valid NUL; if not, then we've hit the end of the buffer. 7133 */ 7134 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 7135 /* This was really a NUL. */ 7136 *(yy_c_buf_p) = '\0'; 7137 7138 else 7139 { /* need more input */ 7140 int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); 7141 ++(yy_c_buf_p); 7142 7143 switch ( yy_get_next_buffer( ) ) 7144 { 7145 case EOB_ACT_LAST_MATCH: 7146 /* This happens because yy_g_n_b() 7147 * sees that we've accumulated a 7148 * token and flags that we need to 7149 * try matching the token before 7150 * proceeding. But for input(), 7151 * there's no matching to consider. 7152 * So convert the EOB_ACT_LAST_MATCH 7153 * to EOB_ACT_END_OF_FILE. 7154 */ 7155 7156 /* Reset buffer status. */ 7157 yyrestart( yyin ); 7158 7159 /*FALLTHROUGH*/ 7160 7161 case EOB_ACT_END_OF_FILE: 7162 { 7163 if ( yywrap( ) ) 7164 return 0; 7165 7166 if ( ! (yy_did_buffer_switch_on_eof) ) 7167 YY_NEW_FILE; 7168 #ifdef __cplusplus 7169 return yyinput(); 7170 #else 7171 return input(); 7172 #endif 7173 } 7174 7175 case EOB_ACT_CONTINUE_SCAN: 7176 (yy_c_buf_p) = (yytext_ptr) + offset; 7177 break; 7178 } 7179 } 7180 } 7181 7182 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 7183 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 7184 (yy_hold_char) = *++(yy_c_buf_p); 7185 7186 return c; 7187 } 7188 #endif /* ifndef YY_NO_INPUT */ 7189 7190 /** Immediately switch to a different input stream. 7191 * @param input_file A readable stream. 7192 * 7193 * @note This function does not reset the start condition to @c INITIAL . 7194 */ 7195 void yyrestart (FILE * input_file ) 7196 { 7197 7198 if ( ! YY_CURRENT_BUFFER ){ 7199 yyensure_buffer_stack (); 7200 YY_CURRENT_BUFFER_LVALUE = 7201 yy_create_buffer( yyin, YY_BUF_SIZE ); 7202 } 7203 7204 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 7205 yy_load_buffer_state( ); 7206 } 7207 7208 /** Switch to a different input buffer. 7209 * @param new_buffer The new input buffer. 7210 * 7211 */ 7212 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 7213 { 7214 7215 /* TODO. We should be able to replace this entire function body 7216 * with 7217 * yypop_buffer_state(); 7218 * yypush_buffer_state(new_buffer); 7219 */ 7220 yyensure_buffer_stack (); 7221 if ( YY_CURRENT_BUFFER == new_buffer ) 7222 return; 7223 7224 if ( YY_CURRENT_BUFFER ) 7225 { 7226 /* Flush out information for old buffer. */ 7227 *(yy_c_buf_p) = (yy_hold_char); 7228 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 7229 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 7230 } 7231 7232 YY_CURRENT_BUFFER_LVALUE = new_buffer; 7233 yy_load_buffer_state( ); 7234 7235 /* We don't actually know whether we did this switch during 7236 * EOF (yywrap()) processing, but the only time this flag 7237 * is looked at is after yywrap() is called, so it's safe 7238 * to go ahead and always set it. 7239 */ 7240 (yy_did_buffer_switch_on_eof) = 1; 7241 } 7242 7243 static void yy_load_buffer_state (void) 7244 { 7245 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 7246 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 7247 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 7248 (yy_hold_char) = *(yy_c_buf_p); 7249 } 7250 7251 /** Allocate and initialize an input buffer state. 7252 * @param file A readable stream. 7253 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 7254 * 7255 * @return the allocated buffer state. 7256 */ 7257 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 7258 { 7259 YY_BUFFER_STATE b; 7260 7261 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 7262 if ( ! b ) 7263 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 7264 7265 b->yy_buf_size = size; 7266 7267 /* yy_ch_buf has to be 2 characters longer than the size given because 7268 * we need to put in 2 end-of-buffer characters. 7269 */ 7270 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); 7271 if ( ! b->yy_ch_buf ) 7272 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 7273 7274 b->yy_is_our_buffer = 1; 7275 7276 yy_init_buffer( b, file ); 7277 7278 return b; 7279 } 7280 7281 /** Destroy the buffer. 7282 * @param b a buffer created with yy_create_buffer() 7283 * 7284 */ 7285 void yy_delete_buffer (YY_BUFFER_STATE b ) 7286 { 7287 7288 if ( ! b ) 7289 return; 7290 7291 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 7292 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 7293 7294 if ( b->yy_is_our_buffer ) 7295 yyfree( (void *) b->yy_ch_buf ); 7296 7297 yyfree( (void *) b ); 7298 } 7299 7300 /* Initializes or reinitializes a buffer. 7301 * This function is sometimes called more than once on the same buffer, 7302 * such as during a yyrestart() or at EOF. 7303 */ 7304 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 7305 7306 { 7307 int oerrno = errno; 7308 7309 yy_flush_buffer( b ); 7310 7311 b->yy_input_file = file; 7312 b->yy_fill_buffer = 1; 7313 7314 /* If b is the current buffer, then yy_init_buffer was _probably_ 7315 * called from yyrestart() or through yy_get_next_buffer. 7316 * In that case, we don't want to reset the lineno or column. 7317 */ 7318 if (b != YY_CURRENT_BUFFER){ 7319 b->yy_bs_lineno = 1; 7320 b->yy_bs_column = 0; 7321 } 7322 7323 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 7324 7325 errno = oerrno; 7326 } 7327 7328 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 7329 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 7330 * 7331 */ 7332 void yy_flush_buffer (YY_BUFFER_STATE b ) 7333 { 7334 if ( ! b ) 7335 return; 7336 7337 b->yy_n_chars = 0; 7338 7339 /* We always need two end-of-buffer characters. The first causes 7340 * a transition to the end-of-buffer state. The second causes 7341 * a jam in that state. 7342 */ 7343 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 7344 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 7345 7346 b->yy_buf_pos = &b->yy_ch_buf[0]; 7347 7348 b->yy_at_bol = 1; 7349 b->yy_buffer_status = YY_BUFFER_NEW; 7350 7351 if ( b == YY_CURRENT_BUFFER ) 7352 yy_load_buffer_state( ); 7353 } 7354 7355 /** Pushes the new state onto the stack. The new state becomes 7356 * the current state. This function will allocate the stack 7357 * if necessary. 7358 * @param new_buffer The new state. 7359 * 7360 */ 7361 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 7362 { 7363 if (new_buffer == NULL) 7364 return; 7365 7366 yyensure_buffer_stack(); 7367 7368 /* This block is copied from yy_switch_to_buffer. */ 7369 if ( YY_CURRENT_BUFFER ) 7370 { 7371 /* Flush out information for old buffer. */ 7372 *(yy_c_buf_p) = (yy_hold_char); 7373 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 7374 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 7375 } 7376 7377 /* Only push if top exists. Otherwise, replace top. */ 7378 if (YY_CURRENT_BUFFER) 7379 (yy_buffer_stack_top)++; 7380 YY_CURRENT_BUFFER_LVALUE = new_buffer; 7381 7382 /* copied from yy_switch_to_buffer. */ 7383 yy_load_buffer_state( ); 7384 (yy_did_buffer_switch_on_eof) = 1; 7385 } 7386 7387 /** Removes and deletes the top of the stack, if present. 7388 * The next element becomes the new top. 7389 * 7390 */ 7391 void yypop_buffer_state (void) 7392 { 7393 if (!YY_CURRENT_BUFFER) 7394 return; 7395 7396 yy_delete_buffer(YY_CURRENT_BUFFER ); 7397 YY_CURRENT_BUFFER_LVALUE = NULL; 7398 if ((yy_buffer_stack_top) > 0) 7399 --(yy_buffer_stack_top); 7400 7401 if (YY_CURRENT_BUFFER) { 7402 yy_load_buffer_state( ); 7403 (yy_did_buffer_switch_on_eof) = 1; 7404 } 7405 } 7406 7407 /* Allocates the stack if it does not exist. 7408 * Guarantees space for at least one push. 7409 */ 7410 static void yyensure_buffer_stack (void) 7411 { 7412 yy_size_t num_to_alloc; 7413 7414 if (!(yy_buffer_stack)) { 7415 7416 /* First allocation is just for 2 elements, since we don't know if this 7417 * scanner will even need a stack. We use 2 instead of 1 to avoid an 7418 * immediate realloc on the next call. 7419 */ 7420 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ 7421 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 7422 (num_to_alloc * sizeof(struct yy_buffer_state*) 7423 ); 7424 if ( ! (yy_buffer_stack) ) 7425 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 7426 7427 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 7428 7429 (yy_buffer_stack_max) = num_to_alloc; 7430 (yy_buffer_stack_top) = 0; 7431 return; 7432 } 7433 7434 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 7435 7436 /* Increase the buffer to prepare for a possible push. */ 7437 yy_size_t grow_size = 8 /* arbitrary grow size */; 7438 7439 num_to_alloc = (yy_buffer_stack_max) + grow_size; 7440 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 7441 ((yy_buffer_stack), 7442 num_to_alloc * sizeof(struct yy_buffer_state*) 7443 ); 7444 if ( ! (yy_buffer_stack) ) 7445 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 7446 7447 /* zero only the new slots.*/ 7448 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 7449 (yy_buffer_stack_max) = num_to_alloc; 7450 } 7451 } 7452 7453 /** Setup the input buffer state to scan directly from a user-specified character buffer. 7454 * @param base the character buffer 7455 * @param size the size in bytes of the character buffer 7456 * 7457 * @return the newly allocated buffer state object. 7458 */ 7459 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 7460 { 7461 YY_BUFFER_STATE b; 7462 7463 if ( size < 2 || 7464 base[size-2] != YY_END_OF_BUFFER_CHAR || 7465 base[size-1] != YY_END_OF_BUFFER_CHAR ) 7466 /* They forgot to leave room for the EOB's. */ 7467 return NULL; 7468 7469 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 7470 if ( ! b ) 7471 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 7472 7473 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ 7474 b->yy_buf_pos = b->yy_ch_buf = base; 7475 b->yy_is_our_buffer = 0; 7476 b->yy_input_file = NULL; 7477 b->yy_n_chars = b->yy_buf_size; 7478 b->yy_is_interactive = 0; 7479 b->yy_at_bol = 1; 7480 b->yy_fill_buffer = 0; 7481 b->yy_buffer_status = YY_BUFFER_NEW; 7482 7483 yy_switch_to_buffer( b ); 7484 7485 return b; 7486 } 7487 7488 /** Setup the input buffer state to scan a string. The next call to yylex() will 7489 * scan from a @e copy of @a str. 7490 * @param yystr a NUL-terminated string to scan 7491 * 7492 * @return the newly allocated buffer state object. 7493 * @note If you want to scan bytes that may contain NUL values, then use 7494 * yy_scan_bytes() instead. 7495 */ 7496 YY_BUFFER_STATE yy_scan_string (const char * yystr ) 7497 { 7498 7499 return yy_scan_bytes( yystr, (int) strlen(yystr) ); 7500 } 7501 7502 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will 7503 * scan from a @e copy of @a bytes. 7504 * @param yybytes the byte buffer to scan 7505 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 7506 * 7507 * @return the newly allocated buffer state object. 7508 */ 7509 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) 7510 { 7511 YY_BUFFER_STATE b; 7512 char *buf; 7513 yy_size_t n; 7514 int i; 7515 7516 /* Get memory for full buffer, including space for trailing EOB's. */ 7517 n = (yy_size_t) (_yybytes_len + 2); 7518 buf = (char *) yyalloc( n ); 7519 if ( ! buf ) 7520 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 7521 7522 for ( i = 0; i < _yybytes_len; ++i ) 7523 buf[i] = yybytes[i]; 7524 7525 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 7526 7527 b = yy_scan_buffer( buf, n ); 7528 if ( ! b ) 7529 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 7530 7531 /* It's okay to grow etc. this buffer, and we should throw it 7532 * away when we're done. 7533 */ 7534 b->yy_is_our_buffer = 1; 7535 7536 return b; 7537 } 7538 7539 #ifndef YY_EXIT_FAILURE 7540 #define YY_EXIT_FAILURE 2 7541 #endif 7542 7543 static void yynoreturn yy_fatal_error (const char* msg ) 7544 { 7545 fprintf( stderr, "%s\n", msg ); 7546 exit( YY_EXIT_FAILURE ); 7547 } 7548 7549 /* Redefine yyless() so it works in section 3 code. */ 7550 7551 #undef yyless 7552 #define yyless(n) \ 7553 do \ 7554 { \ 7555 /* Undo effects of setting up yytext. */ \ 7556 int yyless_macro_arg = (n); \ 7557 YY_LESS_LINENO(yyless_macro_arg);\ 7558 yytext[yyleng] = (yy_hold_char); \ 7559 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 7560 (yy_hold_char) = *(yy_c_buf_p); \ 7561 *(yy_c_buf_p) = '\0'; \ 7562 yyleng = yyless_macro_arg; \ 7563 } \ 7564 while ( 0 ) 7565 7566 /* Accessor methods (get/set functions) to struct members. */ 7567 7568 /** Get the current line number. 7569 * 7570 */ 7571 int yyget_lineno (void) 7572 { 7573 7574 return yylineno; 7575 } 7576 7577 /** Get the input stream. 7578 * 7579 */ 7580 FILE *yyget_in (void) 7581 { 7582 return yyin; 7583 } 7584 7585 /** Get the output stream. 7586 * 7587 */ 7588 FILE *yyget_out (void) 7589 { 7590 return yyout; 7591 } 7592 7593 /** Get the length of the current token. 7594 * 7595 */ 7596 int yyget_leng (void) 7597 { 7598 return yyleng; 7599 } 7600 7601 /** Get the current token. 7602 * 7603 */ 7604 7605 char *yyget_text (void) 7606 { 7607 return yytext; 7608 } 7609 7610 /** Set the current line number. 7611 * @param _line_number line number 7612 * 7613 */ 7614 void yyset_lineno (int _line_number ) 7615 { 7616 7617 yylineno = _line_number; 7618 } 7619 7620 /** Set the input stream. This does not discard the current 7621 * input buffer. 7622 * @param _in_str A readable stream. 7623 * 7624 * @see yy_switch_to_buffer 7625 */ 7626 void yyset_in (FILE * _in_str ) 7627 { 7628 yyin = _in_str ; 7629 } 7630 7631 void yyset_out (FILE * _out_str ) 7632 { 7633 yyout = _out_str ; 7634 } 7635 7636 int yyget_debug (void) 7637 { 7638 return yy_flex_debug; 7639 } 7640 7641 void yyset_debug (int _bdebug ) 7642 { 7643 yy_flex_debug = _bdebug ; 7644 } 7645 7646 static int yy_init_globals (void) 7647 { 7648 /* Initialization is the same as for the non-reentrant scanner. 7649 * This function is called from yylex_destroy(), so don't allocate here. 7650 */ 7651 7652 (yy_buffer_stack) = NULL; 7653 (yy_buffer_stack_top) = 0; 7654 (yy_buffer_stack_max) = 0; 7655 (yy_c_buf_p) = NULL; 7656 (yy_init) = 0; 7657 (yy_start) = 0; 7658 7659 /* Defined in main.c */ 7660 #ifdef YY_STDINIT 7661 yyin = stdin; 7662 yyout = stdout; 7663 #else 7664 yyin = NULL; 7665 yyout = NULL; 7666 #endif 7667 7668 /* For future reference: Set errno on error, since we are called by 7669 * yylex_init() 7670 */ 7671 return 0; 7672 } 7673 7674 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 7675 int yylex_destroy (void) 7676 { 7677 7678 /* Pop the buffer stack, destroying each element. */ 7679 while(YY_CURRENT_BUFFER){ 7680 yy_delete_buffer( YY_CURRENT_BUFFER ); 7681 YY_CURRENT_BUFFER_LVALUE = NULL; 7682 yypop_buffer_state(); 7683 } 7684 7685 /* Destroy the stack itself. */ 7686 yyfree((yy_buffer_stack) ); 7687 (yy_buffer_stack) = NULL; 7688 7689 /* Reset the globals. This is important in a non-reentrant scanner so the next time 7690 * yylex() is called, initialization will occur. */ 7691 yy_init_globals( ); 7692 7693 return 0; 7694 } 7695 7696 /* 7697 * Internal utility routines. 7698 */ 7699 7700 #ifndef yytext_ptr 7701 static void yy_flex_strncpy (char* s1, const char * s2, int n ) 7702 { 7703 7704 int i; 7705 for ( i = 0; i < n; ++i ) 7706 s1[i] = s2[i]; 7707 } 7708 #endif 7709 7710 #ifdef YY_NEED_STRLEN 7711 static int yy_flex_strlen (const char * s ) 7712 { 7713 int n; 7714 for ( n = 0; s[n]; ++n ) 7715 ; 7716 7717 return n; 7718 } 7719 #endif 7720 7721 void *yyalloc (yy_size_t size ) 7722 { 7723 return malloc(size); 7724 } 7725 7726 void *yyrealloc (void * ptr, yy_size_t size ) 7727 { 7728 7729 /* The cast to (char *) in the following accommodates both 7730 * implementations that use char* generic pointers, and those 7731 * that use void* generic pointers. It works with the latter 7732 * because both ANSI C and C++ allow castless assignment from 7733 * any pointer type to void*, and deal with argument conversions 7734 * as though doing an assignment. 7735 */ 7736 return realloc(ptr, size); 7737 } 7738 7739 void yyfree (void * ptr ) 7740 { 7741 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 7742 } 7743 7744 #define YYTABLES_NAME "yytables" 7745 7746 #line 720 "util/configlexer.lex" 7747 7748 7749