1 #line 2 "sf_scanner.c" 2 3 #line 4 "sf_scanner.c" 4 5 #define YY_INT_ALIGNED short int 6 7 /* A lexical scanner generated by flex */ 8 9 #define yy_create_buffer sfbpf__create_buffer 10 #define yy_delete_buffer sfbpf__delete_buffer 11 #define yy_flex_debug sfbpf__flex_debug 12 #define yy_init_buffer sfbpf__init_buffer 13 #define yy_flush_buffer sfbpf__flush_buffer 14 #define yy_load_buffer_state sfbpf__load_buffer_state 15 #define yy_switch_to_buffer sfbpf__switch_to_buffer 16 #define yyin sfbpf_in 17 #define yyleng sfbpf_leng 18 #define yylex sfbpf_lex 19 #define yylineno sfbpf_lineno 20 #define yyout sfbpf_out 21 #define yyrestart sfbpf_restart 22 #define yytext sfbpf_text 23 #define yywrap sfbpf_wrap 24 #define yyalloc sfbpf_alloc 25 #define yyrealloc sfbpf_realloc 26 #define yyfree sfbpf_free 27 28 #define FLEX_SCANNER 29 #define YY_FLEX_MAJOR_VERSION 2 30 #define YY_FLEX_MINOR_VERSION 5 31 #define YY_FLEX_SUBMINOR_VERSION 35 32 #if YY_FLEX_SUBMINOR_VERSION > 0 33 #define FLEX_BETA 34 #endif 35 36 /* First, we deal with platform-specific or compiler-specific issues. */ 37 38 /* begin standard C headers. */ 39 #include <stdio.h> 40 #include <string.h> 41 #include <errno.h> 42 #include <stdlib.h> 43 44 /* end standard C headers. */ 45 46 /* flex integer type definitions */ 47 48 #ifndef FLEXINT_H 49 #define FLEXINT_H 50 51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 52 53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 54 55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 56 * if you want the limit (max/min) macros for int types. 57 */ 58 #ifndef __STDC_LIMIT_MACROS 59 #define __STDC_LIMIT_MACROS 1 60 #endif 61 62 #include <inttypes.h> 63 typedef int8_t flex_int8_t; 64 typedef uint8_t flex_uint8_t; 65 typedef int16_t flex_int16_t; 66 typedef uint16_t flex_uint16_t; 67 typedef int32_t flex_int32_t; 68 typedef uint32_t flex_uint32_t; 69 #else 70 typedef signed char flex_int8_t; 71 typedef short int flex_int16_t; 72 typedef int flex_int32_t; 73 typedef unsigned char flex_uint8_t; 74 typedef unsigned short int flex_uint16_t; 75 typedef unsigned int flex_uint32_t; 76 77 /* Limits of integral types. */ 78 #ifndef INT8_MIN 79 #define INT8_MIN (-128) 80 #endif 81 #ifndef INT16_MIN 82 #define INT16_MIN (-32767-1) 83 #endif 84 #ifndef INT32_MIN 85 #define INT32_MIN (-2147483647-1) 86 #endif 87 #ifndef INT8_MAX 88 #define INT8_MAX (127) 89 #endif 90 #ifndef INT16_MAX 91 #define INT16_MAX (32767) 92 #endif 93 #ifndef INT32_MAX 94 #define INT32_MAX (2147483647) 95 #endif 96 #ifndef UINT8_MAX 97 #define UINT8_MAX (255U) 98 #endif 99 #ifndef UINT16_MAX 100 #define UINT16_MAX (65535U) 101 #endif 102 #ifndef UINT32_MAX 103 #define UINT32_MAX (4294967295U) 104 #endif 105 106 #endif /* ! C99 */ 107 108 #endif /* ! FLEXINT_H */ 109 110 #ifdef __cplusplus 111 112 /* The "const" storage-class-modifier is valid. */ 113 #define YY_USE_CONST 114 115 #else /* ! __cplusplus */ 116 117 /* C99 requires __STDC__ to be defined as 1. */ 118 #if defined (__STDC__) 119 120 #define YY_USE_CONST 121 122 #endif /* defined (__STDC__) */ 123 #endif /* ! __cplusplus */ 124 125 #ifdef YY_USE_CONST 126 #define yyconst const 127 #else 128 #define yyconst 129 #endif 130 131 /* Returned upon end-of-file. */ 132 #define YY_NULL 0 133 134 /* Promotes a possibly negative, possibly signed char to an unsigned 135 * integer for use as an array index. If the signed char is negative, 136 * we want to instead treat it as an 8-bit unsigned char, hence the 137 * double cast. 138 */ 139 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 140 141 /* Enter a start condition. This macro really ought to take a parameter, 142 * but we do it the disgusting crufty way forced on us by the ()-less 143 * definition of BEGIN. 144 */ 145 #define BEGIN (yy_start) = 1 + 2 * 146 147 /* Translate the current start state into a value that can be later handed 148 * to BEGIN to return to the state. The YYSTATE alias is for lex 149 * compatibility. 150 */ 151 #define YY_START (((yy_start) - 1) / 2) 152 #define YYSTATE YY_START 153 154 /* Action number for EOF rule of a given start state. */ 155 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 156 157 /* Special action meaning "start processing a new file". */ 158 #define YY_NEW_FILE sfbpf_restart(sfbpf_in ) 159 160 #define YY_END_OF_BUFFER_CHAR 0 161 162 /* Size of default input buffer. */ 163 #ifndef YY_BUF_SIZE 164 #ifdef __ia64__ 165 /* On IA-64, the buffer size is 16k, not 8k. 166 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 167 * Ditto for the __ia64__ case accordingly. 168 */ 169 #define YY_BUF_SIZE 32768 170 #else 171 #define YY_BUF_SIZE 16384 172 #endif /* __ia64__ */ 173 #endif 174 175 /* The state buf must be large enough to hold one state per character in the main buffer. 176 */ 177 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 178 179 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 180 #define YY_TYPEDEF_YY_BUFFER_STATE 181 typedef struct yy_buffer_state *YY_BUFFER_STATE; 182 #endif 183 184 extern __thread int sfbpf_leng; 185 186 extern __thread FILE *sfbpf_in, *sfbpf_out; 187 188 #define EOB_ACT_CONTINUE_SCAN 0 189 #define EOB_ACT_END_OF_FILE 1 190 #define EOB_ACT_LAST_MATCH 2 191 192 #define YY_LESS_LINENO(n) 193 194 /* Return all but the first "n" matched characters back to the input stream. */ 195 #define yyless(n) \ 196 do \ 197 { \ 198 /* Undo effects of setting up sfbpf_text. */ \ 199 int yyless_macro_arg = (n); \ 200 YY_LESS_LINENO(yyless_macro_arg);\ 201 *yy_cp = (yy_hold_char); \ 202 YY_RESTORE_YY_MORE_OFFSET \ 203 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 204 YY_DO_BEFORE_ACTION; /* set up sfbpf_text again */ \ 205 } \ 206 while ( 0 ) 207 208 #define unput(c) yyunput( c, (yytext_ptr) ) 209 210 #ifndef YY_TYPEDEF_YY_SIZE_T 211 #define YY_TYPEDEF_YY_SIZE_T 212 typedef size_t yy_size_t; 213 #endif 214 215 #ifndef YY_STRUCT_YY_BUFFER_STATE 216 #define YY_STRUCT_YY_BUFFER_STATE 217 struct yy_buffer_state 218 { 219 FILE *yy_input_file; 220 221 char *yy_ch_buf; /* input buffer */ 222 char *yy_buf_pos; /* current position in input buffer */ 223 224 /* Size of input buffer in bytes, not including room for EOB 225 * characters. 226 */ 227 yy_size_t yy_buf_size; 228 229 /* Number of characters read into yy_ch_buf, not including EOB 230 * characters. 231 */ 232 int yy_n_chars; 233 234 /* Whether we "own" the buffer - i.e., we know we created it, 235 * and can realloc() it to grow it, and should free() it to 236 * delete it. 237 */ 238 int yy_is_our_buffer; 239 240 /* Whether this is an "interactive" input source; if so, and 241 * if we're using stdio for input, then we want to use getc() 242 * instead of fread(), to make sure we stop fetching input after 243 * each newline. 244 */ 245 int yy_is_interactive; 246 247 /* Whether we're considered to be at the beginning of a line. 248 * If so, '^' rules will be active on the next match, otherwise 249 * not. 250 */ 251 int yy_at_bol; 252 253 int yy_bs_lineno; /**< The line count. */ 254 int yy_bs_column; /**< The column count. */ 255 256 /* Whether to try to fill the input buffer when we reach the 257 * end of it. 258 */ 259 int yy_fill_buffer; 260 261 int yy_buffer_status; 262 263 #define YY_BUFFER_NEW 0 264 #define YY_BUFFER_NORMAL 1 265 /* When an EOF's been seen but there's still some text to process 266 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 267 * shouldn't try reading from the input source any more. We might 268 * still have a bunch of tokens to match, though, because of 269 * possible backing-up. 270 * 271 * When we actually see the EOF, we change the status to "new" 272 * (via sfbpf_restart()), so that the user can continue scanning by 273 * just pointing sfbpf_in at a new input file. 274 */ 275 #define YY_BUFFER_EOF_PENDING 2 276 277 }; 278 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 279 280 /* Stack of input buffers. */ 281 static __thread size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 282 static __thread size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 283 static __thread YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 284 285 /* We provide macros for accessing buffer states in case in the 286 * future we want to put the buffer states in a more general 287 * "scanner state". 288 * 289 * Returns the top of the stack, or NULL. 290 */ 291 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 292 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 293 : NULL) 294 295 /* Same as previous macro, but useful when we know that the buffer stack is not 296 * NULL or when we need an lvalue. For internal use only. 297 */ 298 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 299 300 /* yy_hold_char holds the character lost when sfbpf_text is formed. */ 301 static __thread char yy_hold_char; 302 static __thread int yy_n_chars; /* number of characters read into yy_ch_buf */ 303 __thread int sfbpf_leng; 304 305 /* Points to current character in buffer. */ 306 static __thread char *yy_c_buf_p = (char *) 0; 307 static __thread int yy_init = 0; /* whether we need to initialize */ 308 static __thread int yy_start = 0; /* start state number */ 309 310 /* Flag which is used to allow sfbpf_wrap()'s to do buffer switches 311 * instead of setting up a fresh sfbpf_in. A bit of a hack ... 312 */ 313 static __thread int yy_did_buffer_switch_on_eof; 314 315 void sfbpf_restart (FILE *input_file ); 316 void sfbpf__switch_to_buffer (YY_BUFFER_STATE new_buffer ); 317 YY_BUFFER_STATE sfbpf__create_buffer (FILE *file,int size ); 318 void sfbpf__delete_buffer (YY_BUFFER_STATE b ); 319 void sfbpf__flush_buffer (YY_BUFFER_STATE b ); 320 void sfbpf_push_buffer_state (YY_BUFFER_STATE new_buffer ); 321 void sfbpf_pop_buffer_state (void ); 322 323 static void sfbpf_ensure_buffer_stack (void ); 324 static void sfbpf__load_buffer_state (void ); 325 static void sfbpf__init_buffer (YY_BUFFER_STATE b,FILE *file ); 326 327 #define YY_FLUSH_BUFFER sfbpf__flush_buffer(YY_CURRENT_BUFFER ) 328 329 YY_BUFFER_STATE sfbpf__scan_buffer (char *base,yy_size_t size ); 330 YY_BUFFER_STATE sfbpf__scan_string (yyconst char *yy_str ); 331 YY_BUFFER_STATE sfbpf__scan_bytes (yyconst char *bytes,int len ); 332 333 void *sfbpf_alloc (yy_size_t ); 334 void *sfbpf_realloc (void *,yy_size_t ); 335 void sfbpf_free (void * ); 336 337 #define yy_new_buffer sfbpf__create_buffer 338 339 #define yy_set_interactive(is_interactive) \ 340 { \ 341 if ( ! YY_CURRENT_BUFFER ){ \ 342 sfbpf_ensure_buffer_stack (); \ 343 YY_CURRENT_BUFFER_LVALUE = \ 344 sfbpf__create_buffer(sfbpf_in,YY_BUF_SIZE ); \ 345 } \ 346 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 347 } 348 349 #define yy_set_bol(at_bol) \ 350 { \ 351 if ( ! YY_CURRENT_BUFFER ){\ 352 sfbpf_ensure_buffer_stack (); \ 353 YY_CURRENT_BUFFER_LVALUE = \ 354 sfbpf__create_buffer(sfbpf_in,YY_BUF_SIZE ); \ 355 } \ 356 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 357 } 358 359 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 360 361 /* Begin user sect3 */ 362 363 typedef unsigned char YY_CHAR; 364 365 __thread FILE *sfbpf_in = (FILE *) 0, *sfbpf_out = (FILE *) 0; 366 367 typedef int yy_state_type; 368 369 extern __thread int sfbpf_lineno; 370 371 __thread int sfbpf_lineno = 1; 372 373 extern __thread char *sfbpf_text; 374 #define yytext_ptr sfbpf_text 375 376 static yy_state_type yy_get_previous_state (void ); 377 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 378 static int yy_get_next_buffer (void ); 379 static void yy_fatal_error (yyconst char msg[] ); 380 381 /* Done after the current pattern has been matched and before the 382 * corresponding action - sets up sfbpf_text. 383 */ 384 #define YY_DO_BEFORE_ACTION \ 385 (yytext_ptr) = yy_bp; \ 386 sfbpf_leng = (size_t) (yy_cp - yy_bp); \ 387 (yy_hold_char) = *yy_cp; \ 388 *yy_cp = '\0'; \ 389 (yy_c_buf_p) = yy_cp; 390 391 #define YY_NUM_RULES 144 392 #define YY_END_OF_BUFFER 145 393 /* This struct is not used in this scanner, 394 but its presence is necessary. */ 395 struct yy_trans_info 396 { 397 flex_int32_t yy_verify; 398 flex_int32_t yy_nxt; 399 }; 400 static yyconst flex_int16_t yy_accept[1434] = 401 { 0, 402 0, 0, 145, 142, 102, 102, 102, 103, 142, 103, 403 103, 103, 143, 112, 112, 103, 103, 103, 103, 140, 404 140, 142, 140, 140, 140, 140, 140, 140, 140, 140, 405 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 406 140, 140, 103, 142, 106, 110, 64, 0, 140, 112, 407 0, 140, 140, 140, 0, 114, 108, 105, 107, 104, 408 109, 140, 141, 141, 140, 140, 140, 19, 140, 140, 409 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 410 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 411 140, 140, 140, 140, 7, 140, 33, 34, 140, 140, 412 413 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 414 140, 140, 88, 140, 65, 140, 140, 140, 140, 140, 415 140, 140, 140, 140, 140, 140, 82, 140, 140, 140, 416 140, 140, 140, 140, 4, 140, 140, 140, 140, 140, 417 140, 140, 65, 110, 140, 113, 113, 140, 112, 140, 418 0, 114, 112, 114, 114, 114, 140, 140, 140, 64, 419 5, 140, 77, 140, 140, 140, 140, 140, 140, 54, 420 100, 1, 0, 140, 20, 140, 140, 140, 140, 140, 421 140, 140, 140, 140, 140, 35, 140, 140, 17, 42, 422 0, 140, 28, 140, 24, 67, 140, 140, 75, 36, 423 424 140, 96, 140, 140, 140, 140, 97, 140, 45, 66, 425 78, 99, 140, 14, 140, 3, 140, 140, 140, 140, 426 140, 90, 140, 140, 25, 140, 98, 140, 101, 37, 427 2, 140, 41, 140, 9, 140, 10, 85, 140, 84, 428 140, 140, 0, 140, 140, 113, 140, 140, 140, 140, 429 112, 0, 140, 0, 115, 114, 114, 0, 114, 0, 430 114, 0, 114, 0, 22, 140, 140, 140, 140, 61, 431 40, 140, 38, 140, 140, 140, 29, 140, 94, 140, 432 140, 44, 11, 140, 12, 13, 140, 140, 140, 31, 433 74, 140, 59, 3, 95, 46, 140, 140, 140, 71, 434 435 140, 140, 140, 140, 47, 140, 140, 39, 140, 6, 436 140, 89, 140, 8, 91, 140, 140, 0, 140, 52, 437 70, 15, 140, 113, 113, 140, 113, 113, 113, 140, 438 112, 140, 0, 114, 140, 0, 0, 114, 0, 114, 439 115, 114, 0, 0, 0, 0, 114, 114, 114, 114, 440 114, 0, 140, 55, 56, 57, 58, 140, 21, 140, 441 140, 140, 140, 30, 140, 140, 0, 18, 140, 140, 442 140, 83, 140, 32, 140, 76, 27, 26, 140, 140, 443 79, 140, 140, 140, 49, 16, 140, 140, 140, 140, 444 140, 140, 140, 140, 140, 140, 140, 140, 0, 140, 445 446 140, 113, 140, 140, 140, 140, 113, 113, 140, 112, 447 140, 0, 0, 114, 114, 114, 0, 0, 115, 114, 448 114, 115, 114, 0, 0, 114, 114, 114, 114, 114, 449 0, 0, 0, 0, 114, 114, 0, 114, 0, 114, 450 0, 93, 140, 140, 140, 23, 140, 140, 140, 140, 451 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 452 67, 140, 140, 140, 140, 140, 140, 140, 72, 73, 453 140, 92, 140, 140, 140, 140, 140, 140, 140, 140, 454 140, 140, 140, 140, 113, 113, 140, 113, 113, 113, 455 113, 140, 112, 140, 0, 114, 114, 0, 114, 0, 456 457 0, 114, 0, 114, 115, 114, 0, 0, 0, 114, 458 114, 0, 114, 115, 114, 0, 0, 0, 0, 0, 459 0, 0, 114, 114, 114, 114, 114, 0, 140, 140, 460 140, 140, 51, 60, 140, 140, 140, 140, 140, 140, 461 140, 140, 140, 140, 140, 140, 68, 140, 140, 43, 462 80, 81, 140, 140, 140, 140, 53, 138, 134, 140, 463 136, 135, 139, 140, 0, 140, 140, 113, 140, 140, 464 140, 113, 140, 112, 140, 0, 0, 114, 114, 114, 465 114, 114, 114, 0, 0, 115, 114, 114, 114, 0, 466 0, 114, 114, 114, 114, 114, 0, 0, 0, 0, 467 468 0, 0, 0, 114, 114, 114, 114, 114, 0, 0, 469 0, 0, 0, 114, 114, 0, 114, 0, 114, 0, 470 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 471 140, 140, 140, 117, 116, 140, 140, 69, 140, 140, 472 140, 137, 133, 140, 140, 113, 113, 113, 113, 140, 473 112, 140, 0, 114, 114, 0, 114, 114, 0, 114, 474 0, 0, 114, 0, 114, 115, 114, 0, 0, 0, 475 114, 114, 0, 114, 115, 114, 0, 0, 0, 0, 476 0, 114, 114, 0, 114, 115, 114, 0, 114, 114, 477 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 478 479 114, 114, 0, 62, 140, 54, 122, 129, 140, 140, 480 140, 140, 140, 140, 140, 140, 140, 63, 48, 140, 481 140, 0, 140, 140, 140, 140, 140, 112, 140, 0, 482 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 483 0, 0, 115, 114, 114, 114, 0, 0, 114, 114, 484 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, 485 114, 114, 114, 114, 114, 0, 114, 114, 0, 0, 486 0, 0, 0, 0, 0, 114, 114, 114, 114, 114, 487 0, 0, 0, 0, 0, 0, 114, 114, 0, 114, 488 0, 114, 0, 86, 140, 140, 140, 140, 140, 140, 489 490 140, 140, 140, 140, 140, 50, 111, 111, 113, 113, 491 140, 112, 140, 0, 114, 114, 0, 114, 114, 0, 492 114, 114, 0, 114, 0, 111, 114, 0, 114, 115, 493 114, 0, 0, 0, 114, 114, 0, 114, 115, 114, 494 0, 0, 0, 0, 0, 114, 114, 0, 114, 115, 495 114, 0, 0, 0, 0, 0, 0, 114, 114, 0, 496 114, 115, 114, 0, 114, 114, 114, 0, 0, 0, 497 0, 0, 0, 0, 114, 114, 114, 114, 114, 0, 498 140, 140, 140, 140, 140, 140, 140, 140, 127, 140, 499 87, 111, 111, 113, 140, 111, 111, 0, 0, 114, 500 501 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 502 114, 0, 111, 115, 114, 114, 114, 0, 0, 114, 503 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 504 0, 114, 114, 114, 114, 114, 0, 114, 114, 0, 505 0, 0, 0, 0, 0, 0, 114, 114, 114, 114, 506 114, 0, 114, 114, 114, 0, 0, 0, 0, 0, 507 0, 0, 114, 114, 114, 114, 114, 0, 0, 0, 508 0, 0, 0, 114, 114, 0, 114, 0, 114, 0, 509 140, 140, 140, 131, 140, 140, 140, 140, 140, 140, 510 140, 119, 113, 140, 112, 0, 114, 114, 0, 114, 511 512 114, 0, 114, 114, 0, 114, 114, 0, 114, 0, 513 0, 0, 114, 0, 0, 114, 115, 114, 0, 0, 514 0, 114, 114, 0, 114, 115, 114, 0, 0, 0, 515 0, 0, 114, 114, 0, 114, 115, 114, 0, 0, 516 0, 0, 0, 0, 114, 114, 0, 114, 115, 114, 517 0, 0, 0, 0, 0, 0, 114, 114, 0, 114, 518 115, 114, 0, 114, 114, 114, 0, 0, 0, 0, 519 0, 0, 0, 114, 114, 114, 114, 114, 0, 140, 520 140, 140, 140, 121, 140, 140, 140, 125, 140, 111, 521 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 522 523 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 524 115, 0, 0, 114, 0, 0, 114, 114, 114, 0, 525 0, 0, 0, 0, 0, 0, 114, 114, 114, 0, 526 114, 114, 0, 0, 0, 0, 0, 0, 0, 114, 527 114, 114, 0, 114, 114, 114, 0, 0, 0, 0, 528 0, 0, 0, 114, 114, 114, 0, 114, 114, 114, 529 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 530 0, 0, 0, 0, 0, 0, 114, 114, 0, 114, 531 0, 114, 0, 118, 130, 132, 126, 140, 140, 140, 532 140, 0, 0, 114, 0, 114, 0, 114, 114, 0, 533 534 114, 114, 0, 114, 114, 0, 114, 114, 0, 114, 535 0, 0, 0, 0, 114, 114, 0, 114, 0, 0, 536 114, 114, 114, 0, 0, 0, 0, 114, 114, 114, 537 0, 0, 0, 0, 0, 114, 114, 114, 0, 0, 538 0, 0, 0, 114, 114, 114, 0, 0, 0, 0, 539 0, 114, 114, 114, 114, 114, 114, 0, 0, 0, 540 0, 0, 0, 0, 114, 114, 114, 0, 140, 140, 541 140, 140, 0, 0, 0, 114, 114, 114, 114, 114, 542 114, 0, 0, 0, 0, 114, 114, 0, 0, 0, 543 0, 114, 114, 114, 0, 0, 0, 0, 0, 114, 544 545 114, 114, 114, 0, 0, 0, 0, 0, 114, 114, 546 114, 114, 0, 0, 0, 0, 0, 114, 114, 114, 547 114, 0, 0, 0, 0, 0, 114, 0, 0, 0, 548 0, 0, 114, 114, 114, 140, 140, 140, 128, 114, 549 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 550 0, 114, 114, 0, 0, 114, 0, 0, 0, 114, 551 0, 0, 0, 114, 0, 0, 0, 114, 0, 0, 552 0, 114, 114, 114, 114, 0, 0, 0, 0, 0, 553 114, 123, 140, 120, 114, 0, 0, 114, 114, 0, 554 114, 114, 114, 0, 114, 114, 114, 0, 114, 114, 555 556 114, 0, 114, 114, 114, 0, 0, 0, 0, 114, 557 124, 114, 114, 0, 0, 0, 0, 0, 0, 114, 558 114, 114, 0, 0, 114, 114, 114, 114, 114, 0, 559 114, 114, 0 560 } ; 561 562 static yyconst flex_int32_t yy_ec[256] = 563 { 0, 564 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 565 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 567 1, 2, 5, 1, 1, 6, 1, 7, 1, 8, 568 8, 9, 9, 1, 10, 11, 9, 12, 13, 14, 569 15, 16, 17, 18, 17, 17, 17, 19, 1, 20, 570 21, 22, 1, 1, 23, 23, 23, 23, 23, 23, 571 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 572 24, 24, 24, 24, 24, 24, 24, 25, 24, 24, 573 26, 27, 26, 1, 28, 1, 29, 30, 31, 32, 574 575 33, 34, 35, 36, 37, 24, 38, 39, 40, 41, 576 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 577 52, 24, 1, 53, 1, 1, 1, 1, 1, 1, 578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 585 586 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 587 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 591 1, 1, 1, 1, 1 592 } ; 593 594 static yyconst flex_int32_t yy_meta[54] = 595 { 0, 596 1, 2, 2, 1, 2, 1, 3, 2, 1, 4, 597 5, 6, 6, 6, 6, 6, 6, 6, 7, 3, 598 3, 3, 8, 4, 9, 3, 1, 4, 8, 8, 599 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 600 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 601 9, 4, 3 602 } ; 603 604 static yyconst flex_int16_t yy_base[1894] = 605 { 0, 606 0, 0, 3838, 53, 7401, 7401, 54, 3816, 60, 3829, 607 7401, 82, 7401, 100, 31, 152, 47, 3813, 49, 169, 608 211, 169, 61, 44, 61, 122, 30, 62, 75, 3791, 609 215, 218, 160, 32, 166, 155, 230, 236, 53, 3800, 610 173, 3778, 3763, 281, 7401, 0, 7401, 297, 320, 344, 611 3796, 368, 0, 375, 0, 409, 7401, 7401, 7401, 7401, 612 7401, 279, 297, 0, 3769, 3766, 3779, 0, 3778, 3766, 613 3764, 3761, 3749, 3743, 3748, 3746, 3745, 3754, 3725, 3738, 614 3721, 117, 3731, 3734, 3718, 3716, 3729, 3700, 3705, 3703, 615 81, 3707, 3702, 3709, 139, 223, 0, 0, 122, 121, 616 617 3697, 3692, 167, 3676, 3674, 3677, 3680, 3669, 3677, 3668, 618 3652, 3658, 0, 3666, 0, 3649, 3654, 3647, 3633, 3633, 619 3633, 132, 3644, 3627, 3637, 3630, 170, 3626, 202, 3609, 620 54, 3608, 3620, 3606, 0, 3604, 3602, 3592, 3599, 3590, 621 3581, 3596, 7401, 7401, 434, 458, 211, 499, 523, 547, 622 3604, 554, 3611, 578, 228, 3602, 3562, 3567, 3558, 0, 623 0, 3563, 0, 3571, 3566, 3555, 3541, 3538, 3539, 3546, 624 0, 0, 3541, 3530, 0, 3542, 3537, 3525, 3518, 3521, 625 3501, 3504, 3516, 3501, 3500, 0, 3505, 3485, 0, 0, 626 3489, 3479, 0, 3491, 0, 3486, 3474, 3481, 0, 0, 627 628 3470, 0, 3470, 3458, 254, 3440, 0, 3438, 3453, 0, 629 3447, 0, 3450, 0, 3432, 3436, 3415, 3418, 3423, 3416, 630 3411, 0, 3409, 3422, 0, 3411, 0, 3396, 0, 0, 631 0, 3393, 0, 127, 270, 3403, 0, 0, 3393, 0, 632 3390, 3390, 618, 3405, 641, 665, 3403, 672, 481, 226, 633 696, 3394, 720, 3393, 3390, 728, 293, 3389, 3388, 488, 634 769, 792, 3372, 0, 0, 3348, 332, 3351, 3354, 0, 635 0, 3340, 0, 3337, 3329, 3313, 0, 3305, 0, 3299, 636 3300, 0, 595, 3287, 0, 0, 3295, 3277, 3278, 0, 637 0, 3276, 0, 0, 0, 0, 3290, 3267, 3264, 0, 638 639 3256, 3253, 3269, 3242, 3217, 3228, 3218, 0, 3217, 0, 640 3216, 0, 228, 0, 0, 3207, 3202, 720, 3204, 0, 641 0, 0, 817, 841, 315, 882, 3210, 3209, 386, 905, 642 929, 953, 3200, 960, 602, 3195, 3194, 983, 757, 1007, 643 1030, 3178, 0, 3176, 405, 408, 1054, 3175, 1078, 317, 644 3174, 3179, 3137, 0, 0, 0, 0, 3127, 0, 3141, 645 3140, 3107, 3105, 0, 3120, 3104, 1097, 0, 3091, 3080, 646 3098, 0, 3067, 0, 3060, 3050, 0, 0, 3060, 3042, 647 256, 3041, 3057, 159, 3054, 0, 3043, 3035, 3049, 3033, 648 3027, 3035, 3018, 2985, 2986, 2979, 2984, 2998, 1134, 3016, 649 650 1157, 1181, 3014, 1188, 864, 310, 1212, 344, 1252, 1275, 651 1299, 2981, 2980, 1307, 345, 2979, 2978, 2976, 2975, 1348, 652 369, 2974, 2958, 496, 612, 1389, 2957, 1413, 378, 2956, 653 2962, 2952, 871, 0, 306, 2951, 1101, 1454, 1477, 2950, 654 0, 0, 2922, 2924, 2905, 0, 2911, 2895, 2901, 2914, 655 2885, 2900, 2898, 330, 2881, 408, 2881, 2857, 2845, 2855, 656 0, 2844, 2854, 2845, 2850, 2834, 2823, 2822, 0, 0, 657 2826, 0, 2821, 2812, 2825, 2824, 2803, 2799, 2793, 2791, 658 2796, 2800, 2799, 1502, 1526, 409, 1567, 2822, 2807, 614, 659 1591, 1615, 1622, 1646, 2798, 1653, 1677, 1700, 2797, 2796, 660 661 2795, 1723, 1108, 1747, 1770, 2793, 0, 1235, 0, 442, 662 2792, 1242, 1794, 1817, 2791, 0, 739, 766, 2783, 466, 663 786, 817, 1841, 2774, 1865, 433, 2773, 2780, 386, 2744, 664 2748, 2745, 0, 0, 2750, 2738, 2724, 2724, 2736, 2719, 665 2717, 2724, 2716, 2702, 2713, 2712, 0, 2703, 2697, 0, 666 0, 0, 2709, 2705, 2710, 2683, 0, 0, 0, 2687, 667 0, 0, 0, 2676, 1905, 2711, 1928, 1952, 2709, 1959, 668 467, 1983, 2007, 2014, 2038, 2699, 2698, 2046, 457, 2697, 669 2087, 493, 2681, 2680, 2679, 2678, 2128, 494, 2677, 879, 670 899, 2169, 2674, 2193, 498, 2673, 2666, 1128, 1130, 2665, 671 672 2664, 1251, 1317, 2234, 2655, 2258, 499, 2654, 2660, 1331, 673 0, 1338, 0, 532, 2651, 1371, 2299, 2322, 2650, 0, 674 2345, 479, 225, 370, 531, 622, 241, 129, 2606, 260, 675 272, 433, 591, 2605, 2604, 1129, 2603, 2601, 1247, 854, 676 532, 2599, 2583, 2383, 2420, 2456, 2492, 523, 2516, 593, 677 2524, 2548, 2610, 2555, 2579, 2602, 2609, 2626, 2649, 2608, 678 2607, 2605, 2672, 1378, 2696, 2719, 2604, 0, 1436, 0, 679 587, 2603, 1443, 2743, 2766, 2587, 0, 1549, 0, 1556, 680 0, 680, 2586, 1888, 2790, 2813, 2585, 0, 551, 1895, 681 2592, 1386, 1451, 2590, 2589, 1471, 1502, 2837, 2580, 2861, 682 683 641, 2564, 2571, 571, 633, 572, 617, 768, 1251, 2056, 684 1388, 687, 690, 808, 2083, 688, 810, 618, 766, 2081, 685 2085, 2903, 833, 2926, 834, 2949, 2114, 2973, 2997, 2562, 686 2561, 3005, 642, 2560, 3046, 671, 2558, 3087, 742, 2557, 687 2556, 2555, 2533, 3128, 878, 2532, 1564, 1694, 3169, 2531, 688 3193, 881, 2530, 2537, 1904, 2056, 2535, 2534, 2057, 2063, 689 3234, 2525, 3258, 882, 2524, 2509, 900, 2151, 2508, 2123, 690 2124, 2507, 2506, 2125, 2145, 3299, 2497, 3323, 902, 2495, 691 2502, 0, 2216, 0, 2223, 0, 737, 2493, 2281, 3364, 692 3387, 2492, 0, 898, 921, 975, 976, 1904, 977, 1453, 693 694 1001, 1022, 2276, 1023, 1566, 1046, 3412, 3435, 3459, 930, 695 3499, 3523, 3547, 2445, 3554, 3578, 3601, 2444, 3625, 3648, 696 2443, 3672, 3695, 2429, 2428, 2427, 3718, 2368, 3742, 3765, 697 2426, 0, 2406, 0, 937, 2375, 2443, 3789, 3812, 2348, 698 0, 2463, 0, 2470, 0, 969, 2347, 2477, 3836, 3859, 699 2346, 0, 0, 2484, 0, 2884, 0, 1016, 2345, 2891, 700 3883, 3906, 2331, 0, 0, 1006, 3028, 2338, 2166, 2231, 701 2337, 2333, 2295, 2296, 3930, 2324, 3954, 1027, 2323, 2316, 702 2298, 2359, 2360, 2127, 1048, 2233, 2361, 1071, 2362, 1070, 703 1072, 1126, 1128, 3996, 4020, 4029, 1149, 2306, 2305, 4047, 704 705 1077, 2286, 4088, 1080, 2283, 4129, 1107, 2282, 4170, 1110, 706 2281, 2265, 2261, 4210, 4234, 1157, 2259, 2414, 2415, 4275, 707 2241, 4299, 1158, 2240, 2247, 2596, 2643, 2244, 2243, 2899, 708 2900, 4340, 2202, 4364, 1159, 2201, 2208, 1182, 3035, 2204, 709 2903, 3043, 2203, 2202, 3056, 3062, 4405, 2176, 4429, 1187, 710 2175, 2182, 0, 1188, 3110, 2179, 3063, 3084, 2167, 2162, 711 3104, 3123, 4470, 2135, 4494, 1189, 2105, 2083, 0, 3151, 712 0, 3216, 0, 1284, 2073, 3223, 4535, 4558, 2071, 0, 713 3268, 3269, 3333, 1150, 2399, 2105, 1407, 2400, 2275, 1469, 714 1493, 1206, 4583, 4607, 4616, 2070, 4633, 4657, 4680, 2068, 715 716 4704, 4727, 2067, 4751, 4774, 2066, 4798, 4821, 2064, 2054, 717 4845, 1246, 2053, 2051, 3286, 4886, 2023, 2022, 0, 3350, 718 0, 1316, 2021, 3482, 4910, 2020, 2019, 0, 3489, 0, 719 3977, 0, 1535, 2017, 3984, 4934, 2016, 2015, 0, 0, 720 4036, 0, 4070, 0, 1576, 2014, 4077, 4958, 1991, 1990, 721 0, 0, 4111, 0, 4118, 0, 1599, 1989, 4152, 4982, 722 1988, 1985, 0, 0, 1248, 4159, 1976, 3125, 3145, 1972, 723 1970, 3164, 3166, 5006, 1911, 5030, 1249, 1872, 1876, 1495, 724 1669, 1670, 1520, 1347, 1671, 4168, 1583, 1715, 2401, 5072, 725 1867, 5089, 5113, 1389, 1824, 5154, 1390, 1802, 5195, 1453, 726 727 1800, 5236, 1561, 1779, 5277, 1566, 1777, 1756, 4196, 5318, 728 1752, 1729, 0, 1728, 3231, 3269, 5342, 1708, 1705, 1633, 729 3294, 3333, 1632, 1608, 3360, 3381, 5366, 1573, 1569, 1541, 730 1621, 4257, 1534, 3412, 3498, 1518, 1517, 3595, 3642, 5390, 731 1505, 1480, 1469, 0, 1622, 4264, 1464, 3689, 4180, 1463, 732 1423, 4181, 4205, 5414, 1394, 1391, 1398, 0, 1623, 4322, 733 1365, 4209, 4272, 1363, 1361, 4316, 4335, 5438, 1351, 1350, 734 1323, 0, 4387, 0, 4394, 0, 1630, 1314, 4452, 5462, 735 0, 1312, 0, 1716, 1739, 1740, 1741, 1762, 1974, 4488, 736 4504, 5486, 1650, 0, 1310, 5527, 0, 1282, 5551, 0, 737 738 1259, 5575, 0, 1258, 5599, 0, 1253, 5623, 0, 1217, 739 4337, 4402, 5647, 1213, 1212, 1196, 1174, 1114, 4459, 0, 740 1631, 1108, 1056, 4521, 0, 4623, 0, 1803, 1009, 988, 741 0, 4868, 0, 4875, 0, 1826, 965, 963, 0, 5053, 742 0, 5060, 0, 1850, 960, 938, 0, 5079, 0, 5136, 743 0, 1874, 890, 883, 0, 1652, 5143, 858, 4467, 4531, 744 67, 111, 4552, 4632, 5671, 200, 0, 224, 2363, 1763, 745 1787, 1764, 5695, 249, 320, 0, 0, 0, 0, 0, 746 0, 5177, 0, 1914, 322, 345, 0, 4674, 4721, 360, 747 403, 0, 1653, 5184, 420, 4768, 4815, 424, 444, 0, 748 749 0, 1677, 5218, 475, 4883, 5088, 509, 516, 0, 0, 750 1814, 5225, 610, 5233, 5246, 611, 633, 0, 0, 1816, 751 5260, 683, 5274, 5287, 712, 713, 0, 0, 5301, 0, 752 5509, 0, 1937, 733, 0, 3083, 2964, 2161, 1810, 0, 753 7401, 0, 0, 0, 0, 0, 0, 5315, 5503, 744, 754 778, 0, 7401, 5517, 0, 7401, 0, 5718, 0, 7401, 755 0, 5725, 0, 7401, 0, 5732, 0, 7401, 0, 5739, 756 0, 7401, 0, 1817, 5746, 784, 5754, 5755, 801, 1967, 757 0, 1834, 3341, 1921, 0, 5755, 0, 1838, 5769, 803, 758 0, 1841, 5776, 805, 0, 1899, 5783, 808, 0, 1901, 759 760 5795, 849, 0, 1902, 5802, 852, 0, 5809, 0, 7401, 761 1975, 1929, 5816, 854, 0, 0, 0, 0, 0, 0, 762 1954, 5823, 856, 0, 0, 0, 0, 0, 0, 0, 763 0, 0, 7401, 5841, 5849, 5853, 5856, 5859, 5862, 5865, 764 5868, 5871, 5874, 5877, 5880, 5883, 5886, 5889, 5892, 5895, 765 5898, 5901, 5905, 5909, 5912, 5915, 5918, 5921, 5924, 5927, 766 5930, 5933, 5937, 5941, 5944, 5947, 5951, 5953, 5956, 5959, 767 5962, 5965, 5968, 5971, 5974, 5977, 5981, 5983, 5986, 5990, 768 5995, 5999, 6002, 6006, 6009, 6012, 6015, 6018, 6021, 6024, 769 6027, 6031, 6035, 6038, 6042, 6046, 6051, 6055, 6057, 6061, 770 771 6064, 6068, 6071, 6074, 6078, 6080, 6083, 6086, 6089, 6092, 772 6095, 6098, 6101, 6104, 6107, 6111, 6113, 6116, 6119, 6122, 773 6126, 6128, 6131, 6134, 6139, 6143, 6148, 6152, 6154, 6158, 774 6161, 6165, 6170, 6174, 6177, 6180, 6183, 6186, 6189, 6192, 775 6195, 6199, 6203, 6206, 6210, 6214, 6219, 6223, 6225, 6229, 776 6232, 6236, 6239, 6244, 6248, 6253, 6257, 6259, 6263, 6266, 777 6270, 6273, 6276, 6279, 6283, 6285, 6288, 6293, 6297, 6300, 778 6303, 6306, 6309, 6312, 6315, 6318, 6321, 6325, 6327, 6330, 779 6333, 6336, 6340, 6342, 6345, 6348, 6351, 6354, 6358, 6360, 780 6363, 6366, 6369, 6374, 6378, 6383, 6387, 6389, 6393, 6396, 781 782 6400, 6405, 6409, 6412, 6415, 6418, 6421, 6424, 6427, 6430, 783 6434, 6438, 6441, 6445, 6449, 6454, 6458, 6460, 6464, 6467, 784 6471, 6474, 6479, 6483, 6488, 6492, 6494, 6498, 6501, 6505, 785 6508, 6511, 6516, 6520, 6525, 6529, 6531, 6535, 6538, 6542, 786 6545, 6548, 6551, 6555, 6557, 6560, 6565, 6569, 6572, 6575, 787 6578, 6581, 6584, 6587, 6590, 6593, 6596, 6599, 6602, 6606, 788 6608, 6611, 6614, 6617, 6620, 6624, 6626, 6629, 6632, 6635, 789 6638, 6641, 6645, 6647, 6650, 6653, 6656, 6659, 6662, 6666, 790 6668, 6671, 6674, 6677, 6680, 6685, 6689, 6694, 6698, 6700, 791 6704, 6707, 6711, 6716, 6720, 6723, 6726, 6729, 6732, 6735, 792 793 6738, 6741, 6744, 6747, 6751, 6755, 6758, 6762, 6766, 6771, 794 6775, 6777, 6781, 6784, 6788, 6791, 6796, 6800, 6805, 6809, 795 6811, 6815, 6818, 6822, 6825, 6828, 6833, 6837, 6842, 6846, 796 6848, 6852, 6855, 6859, 6862, 6865, 6870, 6874, 6879, 6883, 797 6885, 6889, 6892, 6896, 6899, 6902, 6905, 6909, 6911, 6914, 798 6917, 6922, 6926, 6929, 6932, 6935, 6938, 6941, 6944, 6947, 799 6950, 6953, 6956, 6959, 6963, 6967, 6970, 6973, 6977, 6980, 800 6983, 6987, 6989, 6992, 6995, 6999, 7001, 7004, 7007, 7010, 801 7014, 7016, 7019, 7022, 7025, 7029, 7031, 7034, 7037, 7040, 802 7044, 7046, 7049, 7052, 7057, 7061, 7066, 7070, 7072, 7076, 803 804 7079, 7083, 7088, 7092, 7095, 7098, 7101, 7104, 7107, 7110, 805 7113, 7116, 7120, 7122, 7125, 7129, 7134, 7138, 7139, 7142, 806 7147, 7151, 7156, 7160, 7161, 7164, 7167, 7172, 7176, 7181, 807 7185, 7186, 7189, 7192, 7197, 7201, 7206, 7210, 7211, 7214, 808 7217, 7222, 7226, 7231, 7235, 7236, 7239, 7242, 7245, 7249, 809 7251, 7256, 7260, 7263, 7266, 7269, 7272, 7275, 7278, 7282, 810 7287, 7291, 7292, 7295, 7298, 7301, 7304, 7307, 7310, 7313, 811 7316, 7319, 7322, 7327, 7331, 7334, 7337, 7340, 7344, 7348, 812 7352, 7356, 7360, 7363, 7366, 7370, 7373, 7376, 7379, 7382, 813 7385, 7389, 7392 814 815 } ; 816 817 static yyconst flex_int16_t yy_def[1894] = 818 { 0, 819 1433, 1, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1433, 820 1433, 1433, 1433, 1433, 14, 1433, 1433, 1433, 1433, 14, 821 20, 1435, 20, 20, 20, 20, 20, 20, 21, 21, 822 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 823 21, 21, 1433, 1433, 1433, 1436, 1433, 21, 21, 20, 824 1437, 50, 21, 21, 21, 1433, 1433, 1433, 1433, 1433, 825 1433, 49, 1435, 1435, 52, 52, 52, 21, 21, 21, 826 21, 52, 21, 21, 21, 21, 21, 52, 21, 21, 827 21, 21, 21, 52, 21, 21, 21, 21, 21, 21, 828 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 829 830 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 831 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 832 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 833 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 834 21, 21, 1433, 1433, 21, 21, 146, 21, 21, 149, 835 1438, 1433, 54, 1433, 154, 1439, 21, 21, 150, 21, 836 21, 21, 150, 21, 21, 21, 21, 21, 150, 21, 837 21, 21, 21, 21, 21, 21, 150, 21, 21, 21, 838 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 839 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 840 841 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 842 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 843 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 844 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 845 21, 21, 21, 21, 21, 21, 21, 21, 245, 246, 846 150, 1440, 251, 1441, 1442, 1433, 256, 1443, 1444, 1433, 847 1433, 1433, 1445, 1446, 21, 21, 21, 21, 21, 21, 848 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 849 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 850 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 851 852 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 853 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 854 21, 21, 21, 21, 324, 21, 246, 248, 246, 248, 855 248, 331, 1447, 1433, 330, 1448, 1449, 1433, 1433, 1433, 856 1433, 1450, 1451, 1452, 1453, 1453, 1433, 1454, 1433, 349, 857 1455, 1446, 21, 21, 21, 21, 21, 21, 21, 21, 858 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 859 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 860 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 861 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 862 863 21, 21, 21, 21, 401, 402, 402, 407, 401, 331, 864 410, 1456, 1457, 1433, 414, 1458, 1433, 1459, 1460, 1433, 865 420, 1461, 1462, 1463, 1463, 1433, 1464, 1433, 428, 1465, 866 1451, 1433, 1433, 1466, 1467, 1433, 1433, 1433, 1433, 1468, 867 1469, 21, 21, 21, 21, 21, 21, 21, 21, 21, 868 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 869 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 870 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 871 21, 21, 21, 21, 21, 485, 21, 402, 404, 402, 872 402, 491, 410, 493, 1470, 1433, 1433, 1433, 1471, 1472, 873 874 1473, 1433, 1433, 1433, 1433, 1474, 1475, 1433, 1476, 1477, 875 1433, 1433, 1433, 1433, 1478, 1479, 1480, 1480, 1466, 1467, 876 1481, 1481, 1433, 1482, 1433, 525, 1483, 1484, 21, 21, 877 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 878 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 879 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 880 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 881 568, 568, 572, 493, 574, 1485, 1486, 1433, 578, 1487, 882 1433, 581, 1488, 1433, 1489, 1490, 1433, 587, 1491, 1492, 883 1492, 1433, 1493, 1433, 594, 1494, 1495, 1496, 1496, 1497, 884 885 1498, 1499, 1499, 1433, 1500, 1433, 606, 1501, 1502, 1433, 886 1503, 1433, 1504, 1505, 1433, 1433, 1433, 1433, 1506, 1507, 887 575, 621, 621, 621, 621, 621, 621, 621, 621, 621, 888 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 889 621, 621, 621, 621, 621, 621, 646, 646, 646, 621, 890 646, 651, 1508, 1433, 1433, 1433, 1509, 1433, 1433, 1510, 891 1511, 1512, 1433, 1433, 1433, 1433, 1513, 1514, 1433, 1515, 892 1516, 1433, 1433, 1433, 1433, 1517, 1518, 1433, 1519, 1433, 893 1520, 1521, 1433, 1433, 1433, 1433, 1522, 1523, 1524, 1433, 894 1525, 1526, 1526, 1527, 1528, 1529, 1529, 1433, 1530, 1433, 895 896 700, 1531, 1532, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 897 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 898 1533, 1533, 1533, 722, 1533, 722, 726, 726, 728, 1534, 899 1535, 1433, 732, 1536, 1433, 735, 1537, 1433, 738, 1538, 900 1433, 1539, 1540, 1433, 744, 1541, 1542, 1542, 1433, 1543, 901 1433, 751, 1544, 1545, 1546, 1546, 1547, 1548, 1549, 1549, 902 1433, 1550, 1433, 763, 1551, 1552, 1553, 1433, 1554, 1555, 903 1555, 1556, 1557, 1558, 1558, 1433, 1559, 1433, 778, 1560, 904 1561, 1562, 1433, 1563, 1433, 1564, 1565, 1433, 1433, 1433, 905 1433, 1566, 1567, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 906 907 1568, 1568, 1568, 1568, 1568, 1568, 1568, 807, 807, 809, 908 807, 807, 812, 1569, 1433, 1433, 1433, 1570, 1433, 1433, 909 1571, 1433, 1433, 1572, 1573, 1574, 1433, 1433, 1433, 1433, 910 1575, 1576, 1433, 1577, 1578, 1433, 1433, 1433, 1433, 1579, 911 1580, 1433, 1581, 1433, 1582, 1583, 1433, 1433, 1433, 1433, 912 1584, 1585, 1586, 1433, 1587, 1433, 1588, 1589, 1433, 1433, 913 1433, 1433, 1590, 1591, 1592, 1593, 1433, 1594, 1595, 1595, 914 1596, 1597, 1598, 1598, 1433, 1599, 1433, 877, 1600, 1601, 915 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 916 1602, 1602, 1602, 1602, 894, 1602, 1602, 1603, 1604, 1433, 917 918 900, 1605, 1433, 903, 1606, 1433, 906, 1607, 1433, 909, 919 1608, 1433, 1609, 1433, 1433, 915, 1610, 1611, 1611, 1433, 920 1612, 1433, 922, 1613, 1614, 1615, 1615, 1616, 1617, 1618, 921 1618, 1433, 1619, 1433, 934, 1620, 1621, 1622, 1433, 1623, 922 1624, 1624, 1625, 1626, 1627, 1627, 1433, 1628, 1433, 949, 923 1629, 1630, 1631, 1632, 1433, 1633, 1634, 1634, 1635, 1636, 924 1637, 1637, 1433, 1638, 1433, 965, 1639, 1640, 1641, 1433, 925 1642, 1433, 1643, 1644, 1433, 1433, 1433, 1433, 1645, 1646, 926 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 927 1647, 1647, 1647, 993, 1647, 1648, 1433, 1433, 1433, 1649, 928 929 1433, 1433, 1650, 1433, 1433, 1651, 1433, 1433, 1652, 1653, 930 1433, 1011, 1654, 1655, 1433, 1433, 1656, 1657, 1658, 1433, 931 1659, 1660, 1433, 1433, 1433, 1661, 1662, 1663, 1433, 1664, 932 1433, 1665, 1666, 1433, 1433, 1433, 1667, 1668, 1669, 1670, 933 1433, 1671, 1433, 1672, 1673, 1433, 1433, 1433, 1674, 1675, 934 1676, 1677, 1433, 1678, 1433, 1679, 1680, 1433, 1433, 1433, 935 1681, 1682, 1683, 1684, 1685, 1433, 1686, 1687, 1687, 1688, 936 1689, 1690, 1690, 1433, 1691, 1433, 1076, 1692, 1693, 1694, 937 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 938 1695, 1433, 1433, 1093, 1696, 1433, 1096, 1697, 1433, 1099, 939 940 1698, 1433, 1102, 1699, 1433, 1105, 1700, 1433, 1433, 1433, 941 1701, 1702, 1703, 1704, 1705, 1705, 1433, 1706, 1707, 1708, 942 1709, 1709, 1710, 1711, 1712, 1712, 1433, 1713, 1714, 1715, 943 1716, 1433, 1717, 1718, 1718, 1719, 1720, 1721, 1721, 1433, 944 1722, 1723, 1724, 1725, 1726, 1433, 1727, 1728, 1728, 1729, 945 1730, 1731, 1731, 1433, 1732, 1733, 1734, 1735, 1736, 1433, 946 1737, 1738, 1738, 1739, 1740, 1741, 1741, 1433, 1742, 1743, 947 1744, 1745, 1433, 1746, 1433, 1747, 1748, 1433, 1433, 1433, 948 1749, 1750, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 949 1752, 1433, 1192, 1753, 1754, 1433, 1755, 1756, 1433, 1757, 950 951 1758, 1433, 1759, 1760, 1433, 1761, 1762, 1433, 1763, 1764, 952 1765, 1765, 1433, 1766, 1767, 1768, 1769, 1770, 1433, 1771, 953 1772, 1433, 1773, 1433, 1774, 1433, 1775, 1776, 1433, 1777, 954 1778, 1433, 1779, 1433, 1780, 1781, 1433, 1782, 1783, 1433, 955 1784, 1433, 1785, 1786, 1433, 1787, 1788, 1433, 1789, 1433, 956 1790, 1791, 1433, 1792, 1793, 1794, 1433, 1795, 1796, 1796, 957 1797, 1798, 1799, 1799, 1433, 1800, 1801, 1802, 1803, 1803, 958 1803, 1803, 1433, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 959 1811, 1433, 1812, 1813, 1433, 1814, 1815, 1816, 1816, 1817, 960 1818, 1819, 1820, 1433, 1821, 1822, 1822, 1823, 1824, 1825, 961 962 1826, 1827, 1433, 1828, 1829, 1829, 1830, 1831, 1832, 1833, 963 1834, 1433, 1835, 1836, 1836, 1837, 1838, 1839, 1840, 1841, 964 1433, 1842, 1843, 1843, 1844, 1845, 1846, 1847, 1433, 1848, 965 1433, 1849, 1850, 1433, 1851, 1852, 1852, 1852, 1852, 1853, 966 1433, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1860, 1861, 967 1862, 1863, 1433, 1433, 1864, 1433, 1865, 1433, 1866, 1433, 968 1867, 1433, 1868, 1433, 1869, 1433, 1870, 1433, 1871, 1433, 969 1872, 1433, 1847, 1873, 1433, 1848, 1874, 1874, 1849, 1850, 970 1875, 1852, 1852, 1852, 1876, 1433, 1877, 1878, 1433, 1864, 971 1865, 1879, 1433, 1866, 1867, 1880, 1433, 1868, 1869, 1881, 972 973 1433, 1870, 1871, 1882, 1433, 1872, 1883, 1433, 1884, 1433, 974 1852, 1885, 1433, 1877, 1886, 1887, 1888, 1889, 1890, 1883, 975 1891, 1433, 1884, 1892, 1886, 1887, 1888, 1889, 1890, 1893, 976 1892, 1893, 0, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 977 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 978 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 979 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 980 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 981 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 982 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 983 984 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 985 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 986 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 987 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 988 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 989 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 990 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 991 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 992 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 993 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 994 995 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 996 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 997 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 998 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 999 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1000 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1001 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1002 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1003 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1004 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1005 1006 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1007 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1008 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1009 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1010 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1011 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1012 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1013 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1014 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1015 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1016 1017 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1018 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1019 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1020 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1021 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1022 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1023 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1024 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1025 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1026 1433, 1433, 1433 1027 1028 } ; 1029 1030 static yyconst flex_int16_t yy_nxt[7455] = 1031 { 0, 1032 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 1033 13, 14, 15, 15, 15, 15, 15, 15, 16, 17, 1034 18, 19, 20, 21, 21, 11, 22, 13, 23, 24, 1035 25, 26, 27, 28, 29, 30, 31, 21, 32, 33, 1036 34, 35, 36, 21, 37, 38, 39, 40, 41, 42, 1037 21, 21, 43, 44, 44, 53, 44, 44, 44, 44, 1038 44, 44, 44, 44, 110, 44, 57, 58, 44, 60, 1039 61, 44, 44, 111, 72, 82, 83, 1175, 44, 44, 1040 44, 53, 44, 134, 231, 44, 44, 44, 73, 65, 1041 44, 66, 67, 84, 232, 74, 68, 135, 85, 75, 1042 1043 44, 69, 76, 86, 136, 70, 77, 71, 44, 48, 1044 49, 50, 50, 50, 50, 50, 50, 50, 51, 87, 1045 184, 976, 52, 53, 54, 185, 173, 55, 52, 52, 1046 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 1047 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 1048 54, 53, 44, 174, 78, 44, 189, 44, 79, 175, 1049 44, 196, 194, 219, 80, 711, 197, 81, 195, 63, 1050 56, 316, 63, 317, 63, 53, 220, 63, 44, 62, 1051 52, 52, 52, 52, 52, 52, 52, 63, 104, 190, 1052 469, 117, 105, 53, 112, 63, 118, 119, 225, 120, 1053 1054 121, 106, 107, 138, 470, 108, 113, 109, 114, 200, 1055 115, 139, 201, 116, 202, 140, 226, 141, 1181, 53, 1056 55, 53, 53, 53, 53, 53, 53, 53, 53, 1433, 1057 97, 98, 191, 53, 1179, 53, 53, 329, 228, 53, 1058 53, 53, 53, 53, 53, 89, 99, 229, 90, 91, 1059 100, 92, 1433, 93, 101, 94, 102, 95, 122, 192, 1060 96, 53, 123, 103, 193, 706, 127, 1341, 388, 710, 1061 124, 53, 128, 389, 129, 125, 130, 126, 1433, 318, 1062 131, 44, 132, 133, 44, 298, 44, 53, 465, 44, 1063 148, 148, 148, 148, 148, 148, 148, 63, 299, 44, 1064 1065 63, 466, 63, 319, 713, 63, 53, 44, 145, 145, 1066 145, 145, 145, 145, 145, 63, 260, 1433, 53, 145, 1067 53, 490, 714, 63, 262, 145, 145, 145, 145, 145, 1068 145, 146, 147, 147, 147, 147, 147, 147, 1274, 53, 1069 1274, 1433, 148, 1433, 354, 355, 356, 357, 148, 148, 1070 148, 148, 148, 148, 49, 149, 149, 149, 149, 149, 1071 149, 149, 539, 422, 358, 53, 150, 1433, 53, 1433, 1072 1219, 540, 150, 150, 150, 150, 150, 150, 62, 150, 1073 150, 150, 150, 150, 150, 150, 153, 153, 153, 153, 1074 153, 153, 153, 1433, 53, 1433, 406, 153, 354, 355, 1075 1076 356, 357, 1433, 153, 153, 153, 153, 153, 153, 44, 1077 248, 707, 44, 1015, 44, 433, 53, 44, 433, 1433, 1078 154, 155, 155, 155, 155, 155, 155, 44, 1433, 434, 1079 1224, 156, 1433, 53, 1226, 44, 248, 156, 156, 156, 1080 156, 156, 156, 243, 542, 244, 244, 244, 244, 244, 1081 244, 244, 339, 543, 1024, 434, 244, 1433, 1433, 53, 1082 498, 715, 244, 244, 244, 244, 244, 244, 245, 246, 1083 246, 246, 246, 246, 246, 246, 260, 53, 648, 53, 1084 247, 1433, 248, 1433, 1433, 1232, 247, 247, 247, 247, 1085 247, 247, 326, 326, 326, 326, 326, 326, 326, 345, 1086 1087 346, 346, 346, 346, 346, 346, 508, 1433, 248, 249, 1088 247, 247, 247, 247, 247, 247, 247, 1433, 1433, 1234, 1089 509, 247, 1433, 1433, 705, 53, 1035, 247, 247, 247, 1090 247, 247, 247, 250, 251, 251, 251, 251, 251, 251, 1091 251, 252, 437, 1433, 1433, 253, 509, 570, 1433, 1433, 1092 439, 253, 253, 253, 253, 253, 253, 53, 253, 253, 1093 253, 253, 253, 253, 253, 256, 257, 257, 257, 257, 1094 257, 257, 258, 570, 708, 782, 259, 53, 53, 721, 1095 55, 55, 259, 259, 259, 259, 259, 259, 260, 261, 1096 261, 261, 261, 261, 261, 261, 262, 503, 55, 55, 1097 1098 263, 782, 264, 727, 367, 656, 263, 263, 263, 263, 1099 263, 263, 368, 409, 409, 409, 409, 409, 409, 409, 1100 1240, 1242, 508, 716, 571, 369, 55, 55, 264, 323, 1101 323, 323, 323, 323, 323, 323, 1433, 53, 404, 53, 1102 323, 370, 55, 1047, 55, 55, 323, 323, 323, 323, 1103 323, 323, 324, 325, 325, 325, 325, 325, 325, 709, 1104 55, 795, 1433, 326, 404, 1433, 1433, 794, 53, 326, 1105 326, 326, 326, 326, 326, 245, 327, 327, 327, 327, 1106 327, 327, 327, 328, 328, 328, 328, 328, 328, 328, 1107 512, 1433, 1433, 1248, 328, 1433, 55, 55, 659, 55, 1108 1109 328, 328, 328, 328, 328, 328, 330, 331, 331, 331, 1110 331, 331, 331, 331, 55, 55, 804, 55, 332, 800, 1111 801, 1433, 1250, 1059, 332, 332, 332, 332, 332, 332, 1112 335, 332, 332, 332, 332, 332, 332, 332, 339, 340, 1113 340, 340, 340, 340, 340, 340, 341, 616, 392, 610, 1114 342, 1181, 343, 393, 1282, 618, 342, 342, 342, 342, 1115 342, 342, 394, 611, 395, 396, 1433, 397, 424, 425, 1116 425, 425, 425, 425, 425, 55, 610, 55, 343, 260, 1117 347, 347, 347, 347, 347, 347, 347, 262, 1109, 611, 1118 1433, 348, 1433, 55, 1329, 55, 612, 348, 348, 348, 1119 1120 348, 348, 348, 349, 350, 350, 350, 350, 350, 350, 1121 613, 1331, 796, 1354, 351, 1358, 1433, 55, 1362, 55, 1122 351, 351, 351, 351, 351, 351, 399, 612, 400, 400, 1123 400, 400, 400, 400, 400, 55, 613, 55, 802, 400, 1124 805, 1433, 722, 55, 724, 400, 400, 400, 400, 400, 1125 400, 401, 402, 402, 402, 402, 402, 402, 402, 1366, 1126 55, 55, 1370, 403, 1386, 404, 1408, 1433, 1173, 403, 1127 403, 403, 403, 403, 403, 487, 487, 487, 487, 487, 1128 487, 487, 517, 518, 518, 518, 518, 518, 518, 669, 1129 720, 404, 405, 403, 403, 403, 403, 403, 403, 403, 1130 1131 53, 422, 1433, 670, 403, 1433, 1433, 55, 1209, 669, 1132 403, 403, 403, 403, 403, 403, 407, 408, 408, 408, 1133 408, 408, 408, 1433, 853, 55, 1433, 409, 1433, 670, 1134 55, 1433, 1433, 409, 409, 409, 409, 409, 409, 250, 1135 410, 410, 410, 410, 410, 410, 410, 664, 55, 1433, 1136 853, 411, 1433, 881, 53, 817, 422, 411, 411, 411, 1137 411, 411, 411, 53, 411, 411, 411, 411, 411, 411, 1138 411, 414, 415, 415, 415, 415, 415, 415, 1206, 673, 1139 53, 422, 416, 1203, 55, 55, 55, 820, 416, 416, 1140 416, 416, 416, 416, 420, 421, 421, 421, 421, 421, 1141 1142 421, 422, 55, 55, 55, 423, 422, 882, 883, 885, 1143 55, 423, 423, 423, 423, 423, 423, 339, 426, 426, 1144 426, 426, 426, 426, 426, 341, 684, 1200, 55, 427, 1145 969, 55, 55, 887, 823, 427, 427, 427, 427, 427, 1146 427, 428, 429, 429, 429, 429, 429, 429, 422, 55, 1147 55, 1433, 430, 890, 888, 55, 969, 55, 430, 430, 1148 430, 430, 430, 430, 260, 435, 435, 435, 435, 435, 1149 435, 435, 262, 55, 422, 55, 436, 1433, 986, 55, 1150 55, 55, 436, 436, 436, 436, 436, 436, 437, 438, 1151 438, 438, 438, 438, 438, 438, 439, 55, 55, 55, 1152 1153 440, 1433, 441, 990, 1433, 992, 440, 440, 440, 440, 1154 440, 440, 521, 522, 522, 522, 522, 522, 522, 590, 1155 591, 591, 591, 591, 591, 591, 1197, 1433, 441, 450, 1156 1433, 1433, 422, 451, 1433, 55, 452, 55, 678, 453, 1157 678, 454, 455, 456, 457, 484, 484, 484, 484, 484, 1158 484, 484, 679, 55, 1433, 55, 484, 1433, 55, 55, 1159 1433, 717, 484, 484, 484, 484, 484, 484, 485, 486, 1160 486, 486, 486, 486, 486, 53, 55, 55, 679, 487, 1161 1433, 1433, 1433, 1433, 1109, 487, 487, 487, 487, 487, 1162 487, 401, 488, 488, 488, 488, 488, 488, 488, 489, 1163 1164 489, 489, 489, 489, 489, 489, 1040, 1433, 1433, 1433, 1165 489, 1433, 1052, 1433, 422, 55, 489, 489, 489, 489, 1166 489, 489, 406, 491, 491, 491, 491, 491, 491, 491, 1167 422, 1274, 1040, 55, 492, 1209, 248, 1433, 1052, 1433, 1168 492, 492, 492, 492, 492, 492, 598, 599, 599, 599, 1169 599, 599, 599, 602, 603, 603, 603, 603, 603, 603, 1170 55, 680, 248, 492, 492, 492, 492, 492, 492, 492, 1171 1433, 1206, 1172, 1433, 492, 681, 1203, 1200, 55, 719, 1172 492, 492, 492, 492, 492, 492, 493, 493, 493, 493, 1173 493, 493, 493, 53, 789, 797, 1433, 494, 1172, 1433, 1174 1175 1197, 681, 791, 494, 494, 494, 494, 494, 494, 53, 1176 494, 494, 494, 494, 494, 494, 494, 339, 497, 497, 1177 497, 497, 497, 497, 497, 498, 828, 680, 1274, 499, 1178 1181, 343, 978, 1059, 999, 499, 499, 499, 499, 499, 1179 499, 1433, 689, 690, 690, 690, 690, 690, 690, 692, 1180 693, 693, 693, 693, 693, 693, 55, 343, 503, 504, 1181 504, 504, 504, 504, 504, 504, 505, 1433, 422, 1209, 1182 506, 860, 507, 1055, 55, 1053, 506, 506, 506, 506, 1183 506, 506, 696, 697, 697, 697, 697, 697, 697, 747, 1184 748, 748, 748, 748, 748, 748, 783, 55, 507, 339, 1185 1186 510, 510, 510, 510, 510, 510, 510, 498, 1047, 422, 1187 784, 511, 1206, 1433, 1433, 55, 55, 511, 511, 511, 1188 511, 511, 511, 512, 513, 513, 513, 513, 513, 513, 1189 513, 514, 799, 848, 55, 515, 784, 516, 1085, 1433, 1190 1433, 515, 515, 515, 515, 515, 515, 755, 756, 756, 1191 756, 756, 756, 756, 759, 760, 760, 760, 760, 760, 1192 760, 783, 55, 516, 437, 523, 523, 523, 523, 523, 1193 523, 523, 439, 1043, 1041, 1433, 524, 1433, 55, 1035, 1194 55, 785, 524, 524, 524, 524, 524, 524, 525, 526, 1195 526, 526, 526, 526, 526, 786, 55, 886, 422, 527, 1196 1197 1088, 1433, 55, 1433, 55, 527, 527, 527, 527, 527, 1198 527, 565, 785, 566, 566, 566, 566, 566, 566, 566, 1199 55, 786, 55, 1203, 566, 1089, 1433, 837, 1031, 55, 1200 566, 566, 566, 566, 566, 566, 567, 568, 568, 568, 1201 568, 568, 568, 568, 1029, 837, 1184, 55, 569, 1187, 1202 570, 1024, 1433, 1002, 569, 569, 569, 569, 569, 569, 1203 767, 768, 768, 768, 768, 768, 768, 770, 771, 771, 1204 771, 771, 771, 771, 833, 55, 570, 567, 569, 569, 1205 569, 569, 569, 569, 569, 1433, 848, 422, 834, 569, 1206 1433, 1200, 55, 55, 1005, 569, 569, 569, 569, 569, 1207 1208 569, 406, 572, 572, 572, 572, 572, 572, 572, 860, 1209 55, 1433, 891, 573, 834, 1190, 1433, 1008, 828, 573, 1210 573, 573, 573, 573, 573, 53, 573, 573, 573, 573, 1211 573, 573, 573, 574, 574, 574, 574, 574, 574, 574, 1212 976, 1015, 1020, 1015, 575, 1231, 1239, 1247, 978, 1197, 1213 575, 575, 575, 575, 575, 575, 53, 575, 575, 575, 1214 575, 575, 575, 575, 578, 579, 579, 579, 579, 579, 1215 579, 1231, 1239, 1247, 1433, 580, 1328, 1357, 55, 55, 1216 55, 580, 580, 580, 580, 580, 580, 339, 426, 426, 1217 426, 426, 426, 426, 426, 498, 55, 55, 55, 427, 1218 1219 1433, 1361, 1328, 1357, 833, 427, 427, 427, 427, 427, 1220 427, 581, 582, 582, 582, 582, 582, 582, 1433, 1188, 1221 1185, 1186, 583, 422, 55, 55, 1197, 1361, 583, 583, 1222 583, 583, 583, 583, 587, 588, 588, 588, 588, 588, 1223 588, 422, 55, 55, 1433, 589, 422, 1111, 55, 55, 1224 55, 589, 589, 589, 589, 589, 589, 503, 592, 592, 1225 592, 592, 592, 592, 592, 505, 55, 55, 55, 593, 1226 1216, 55, 55, 55, 1092, 593, 593, 593, 593, 593, 1227 593, 594, 595, 595, 595, 595, 595, 595, 422, 55, 1228 55, 55, 596, 1337, 1269, 1209, 55, 1206, 596, 596, 1229 1230 596, 596, 596, 596, 512, 604, 604, 604, 604, 604, 1231 604, 604, 514, 1024, 55, 1339, 605, 1338, 1203, 55, 1232 1200, 1200, 605, 605, 605, 605, 605, 605, 606, 607, 1233 607, 607, 607, 607, 607, 422, 1035, 55, 1365, 608, 1234 1369, 1407, 1197, 55, 1203, 608, 608, 608, 608, 608, 1235 608, 437, 614, 614, 614, 614, 614, 614, 614, 439, 1236 1047, 55, 1415, 615, 1365, 1416, 1369, 1407, 1206, 615, 1237 615, 615, 615, 615, 615, 616, 617, 617, 617, 617, 1238 617, 617, 617, 618, 1059, 1092, 976, 619, 1415, 620, 1239 1181, 1416, 1209, 619, 619, 619, 619, 619, 619, 774, 1240 1241 775, 775, 775, 775, 775, 775, 690, 690, 690, 690, 1242 690, 690, 690, 55, 842, 620, 644, 644, 644, 644, 1243 644, 644, 644, 1417, 1109, 1418, 1419, 644, 843, 978, 1244 55, 55, 1274, 644, 644, 644, 644, 644, 644, 645, 1245 645, 645, 645, 645, 645, 645, 884, 1179, 55, 1417, 1246 645, 1418, 1419, 1424, 843, 1181, 645, 645, 645, 645, 1247 645, 645, 567, 646, 646, 646, 646, 646, 646, 646, 1248 647, 647, 647, 647, 647, 647, 647, 1179, 1430, 1424, 1249 789, 647, 972, 55, 55, 1433, 970, 647, 647, 647, 1250 647, 647, 647, 406, 649, 649, 649, 649, 649, 649, 1251 1252 649, 55, 55, 1061, 1430, 650, 422, 1008, 1049, 422, 1253 1270, 650, 650, 650, 650, 650, 650, 53, 650, 650, 1254 650, 650, 650, 650, 650, 651, 651, 651, 651, 651, 1255 651, 651, 1005, 1037, 422, 1002, 652, 1026, 422, 999, 1256 1017, 422, 652, 652, 652, 652, 652, 652, 53, 652, 1257 652, 652, 652, 652, 652, 652, 503, 655, 655, 655, 1258 655, 655, 655, 655, 656, 55, 842, 844, 657, 1111, 1259 507, 422, 1092, 844, 657, 657, 657, 657, 657, 657, 1260 1433, 845, 1008, 55, 1005, 1002, 999, 1433, 1092, 978, 1261 55, 791, 55, 860, 55, 798, 507, 512, 658, 658, 1262 1263 658, 658, 658, 658, 658, 659, 1433, 845, 55, 660, 1264 55, 516, 55, 1433, 55, 660, 660, 660, 660, 660, 1265 660, 806, 803, 1061, 315, 811, 811, 811, 811, 811, 1266 811, 811, 55, 854, 854, 856, 55, 516, 664, 665, 1267 665, 665, 665, 665, 665, 665, 666, 855, 1433, 857, 1268 667, 1084, 668, 1008, 55, 856, 667, 667, 667, 667, 1269 667, 667, 768, 768, 768, 768, 768, 768, 768, 1433, 1270 55, 985, 684, 855, 1433, 857, 970, 856, 668, 503, 1271 671, 671, 671, 671, 671, 671, 671, 656, 55, 854, 1272 971, 672, 848, 1049, 1005, 1433, 1384, 672, 672, 672, 1273 1274 672, 672, 672, 673, 674, 674, 674, 674, 674, 674, 1275 674, 675, 673, 844, 842, 676, 971, 677, 837, 1037, 1276 1002, 676, 676, 676, 676, 676, 676, 866, 867, 867, 1277 867, 867, 867, 867, 869, 870, 870, 870, 870, 870, 1278 870, 970, 55, 677, 512, 682, 682, 682, 682, 682, 1279 682, 682, 659, 664, 833, 1433, 683, 828, 1026, 999, 1280 55, 987, 683, 683, 683, 683, 683, 683, 684, 685, 1281 685, 685, 685, 685, 685, 685, 686, 1017, 988, 914, 1282 687, 1433, 688, 899, 55, 55, 687, 687, 687, 687, 1283 687, 687, 873, 874, 874, 874, 874, 874, 874, 1008, 1284 1285 1005, 1002, 55, 55, 999, 972, 972, 55, 688, 616, 1286 698, 698, 698, 698, 698, 698, 698, 618, 889, 973, 1287 1433, 699, 1087, 997, 899, 55, 789, 699, 699, 699, 1288 699, 699, 699, 700, 701, 701, 701, 701, 701, 701, 1289 981, 978, 791, 616, 702, 973, 1433, 785, 783, 862, 1290 702, 702, 702, 702, 702, 702, 53, 53, 53, 53, 1291 53, 53, 53, 823, 850, 820, 839, 53, 55, 55, 1292 55, 55, 55, 53, 53, 53, 53, 53, 53, 918, 1293 919, 919, 919, 919, 919, 919, 55, 55, 55, 55, 1294 55, 704, 722, 817, 723, 723, 723, 723, 723, 723, 1295 1296 723, 982, 983, 984, 989, 723, 991, 1336, 55, 55, 1297 55, 723, 723, 723, 723, 723, 723, 926, 927, 927, 1298 927, 927, 927, 927, 1020, 1020, 55, 55, 55, 53, 1299 724, 725, 725, 725, 725, 725, 725, 725, 1021, 1433, 1300 1083, 1086, 725, 1191, 830, 914, 899, 823, 725, 725, 1301 725, 725, 725, 725, 930, 931, 931, 931, 931, 931, 1302 931, 820, 817, 899, 1021, 1433, 53, 646, 646, 646, 1303 646, 646, 646, 646, 938, 939, 939, 939, 939, 939, 1304 939, 941, 942, 942, 942, 942, 942, 942, 945, 946, 1305 946, 946, 946, 946, 946, 954, 955, 955, 955, 955, 1306 1307 955, 955, 53, 647, 647, 647, 647, 647, 647, 647, 1308 791, 618, 684, 862, 647, 823, 512, 680, 678, 673, 1309 647, 647, 647, 647, 647, 647, 726, 327, 327, 327, 1310 327, 327, 327, 327, 250, 728, 728, 728, 728, 728, 1311 728, 728, 850, 820, 503, 669, 729, 664, 839, 817, 1312 830, 827, 729, 729, 729, 729, 729, 729, 53, 729, 1313 729, 729, 729, 729, 729, 729, 732, 733, 733, 733, 1314 733, 733, 733, 743, 731, 823, 820, 734, 817, 815, 1315 731, 616, 791, 734, 734, 734, 734, 734, 734, 503, 1316 592, 592, 592, 592, 592, 592, 592, 656, 618, 437, 1317 1318 612, 593, 610, 686, 659, 675, 1029, 593, 593, 593, 1319 593, 593, 593, 735, 736, 736, 736, 736, 736, 736, 1320 1030, 656, 666, 743, 737, 731, 659, 656, 731, 53, 1321 737, 737, 737, 737, 737, 737, 512, 604, 604, 604, 1322 604, 604, 604, 604, 659, 53, 1030, 53, 605, 718, 1323 53, 53, 712, 1029, 605, 605, 605, 605, 605, 605, 1324 738, 739, 739, 739, 739, 739, 739, 1433, 618, 439, 1325 512, 740, 686, 659, 339, 508, 503, 740, 740, 740, 1326 740, 740, 740, 744, 745, 745, 745, 745, 745, 745, 1327 422, 675, 656, 1433, 746, 666, 663, 586, 577, 659, 1328 1329 746, 746, 746, 746, 746, 746, 664, 749, 749, 749, 1330 749, 749, 749, 749, 666, 656, 654, 577, 750, 567, 1331 565, 643, 642, 641, 750, 750, 750, 750, 750, 750, 1332 751, 752, 752, 752, 752, 752, 752, 422, 640, 639, 1333 638, 753, 637, 636, 635, 634, 633, 753, 753, 753, 1334 753, 753, 753, 673, 761, 761, 761, 761, 761, 761, 1335 761, 675, 632, 631, 630, 762, 629, 628, 627, 626, 1336 625, 762, 762, 762, 762, 762, 762, 763, 764, 764, 1337 764, 764, 764, 764, 422, 624, 623, 622, 765, 621, 1338 437, 618, 439, 433, 765, 765, 765, 765, 765, 765, 1339 1340 684, 776, 776, 776, 776, 776, 776, 776, 686, 514, 1341 498, 505, 777, 586, 577, 498, 577, 571, 777, 777, 1342 777, 777, 777, 777, 778, 779, 779, 779, 779, 779, 1343 779, 422, 571, 564, 563, 780, 562, 561, 560, 559, 1344 558, 780, 780, 780, 780, 780, 780, 616, 787, 787, 1345 787, 787, 787, 787, 787, 618, 557, 556, 312, 788, 1346 222, 555, 554, 553, 552, 788, 788, 788, 788, 788, 1347 788, 789, 790, 790, 790, 790, 790, 790, 790, 791, 1348 551, 550, 549, 792, 548, 793, 547, 546, 545, 792, 1349 792, 792, 792, 792, 792, 957, 958, 958, 958, 958, 1350 1351 958, 958, 961, 962, 962, 962, 962, 962, 962, 1031, 1352 1031, 793, 55, 1041, 807, 807, 807, 807, 807, 807, 1353 807, 544, 541, 1032, 1433, 807, 538, 1042, 537, 536, 1354 55, 807, 807, 807, 807, 807, 807, 808, 808, 808, 1355 808, 808, 808, 808, 535, 534, 533, 532, 808, 1032, 1356 1433, 531, 530, 1042, 808, 808, 808, 808, 808, 808, 1357 809, 810, 810, 810, 810, 810, 810, 529, 439, 262, 1358 422, 811, 339, 55, 514, 498, 505, 811, 811, 811, 1359 811, 811, 811, 250, 812, 812, 812, 812, 812, 812, 1360 812, 55, 422, 502, 419, 813, 413, 498, 496, 413, 1361 1362 1383, 813, 813, 813, 813, 813, 813, 53, 813, 813, 1363 813, 813, 813, 813, 813, 664, 816, 816, 816, 816, 1364 816, 816, 816, 817, 405, 399, 483, 818, 482, 668, 1365 481, 480, 479, 818, 818, 818, 818, 818, 818, 867, 1366 867, 867, 867, 867, 867, 867, 939, 939, 939, 939, 1367 939, 939, 939, 1041, 478, 668, 673, 819, 819, 819, 1368 819, 819, 819, 819, 820, 477, 1043, 1433, 821, 476, 1369 677, 475, 1043, 1053, 821, 821, 821, 821, 821, 821, 1370 1044, 474, 473, 472, 471, 468, 1433, 1054, 467, 464, 1371 463, 462, 55, 1433, 1053, 461, 677, 684, 822, 822, 1372 1373 822, 822, 822, 822, 822, 823, 1044, 460, 1433, 824, 1374 55, 688, 1433, 1054, 1055, 824, 824, 824, 824, 824, 1375 824, 955, 955, 955, 955, 955, 955, 955, 1056, 1382, 1376 113, 459, 458, 1055, 1433, 1173, 449, 688, 828, 829, 1377 829, 829, 829, 829, 829, 829, 830, 1433, 448, 1174, 1378 831, 447, 832, 446, 1056, 1173, 831, 831, 831, 831, 1379 831, 831, 1065, 1066, 1066, 1066, 1066, 1066, 1066, 1433, 1380 445, 444, 443, 1433, 1175, 1174, 1175, 442, 832, 664, 1381 835, 835, 835, 835, 835, 835, 835, 817, 1176, 260, 1382 1433, 836, 439, 262, 422, 1433, 341, 836, 836, 836, 1383 1384 836, 836, 836, 837, 838, 838, 838, 838, 838, 838, 1385 838, 839, 419, 413, 1176, 840, 1433, 841, 413, 406, 1386 406, 840, 840, 840, 840, 840, 840, 1068, 1069, 1069, 1387 1069, 1069, 1069, 1069, 1072, 1073, 1073, 1073, 1073, 1073, 1388 1073, 1219, 398, 841, 673, 846, 846, 846, 846, 846, 1389 846, 846, 820, 391, 390, 1220, 847, 387, 386, 385, 1390 384, 383, 847, 847, 847, 847, 847, 847, 848, 849, 1391 849, 849, 849, 849, 849, 849, 850, 55, 55, 1219, 1392 851, 1220, 852, 382, 381, 380, 851, 851, 851, 851, 1393 851, 851, 379, 1433, 378, 55, 55, 1115, 1116, 1116, 1394 1395 1116, 1116, 1116, 1116, 1224, 377, 1080, 1081, 852, 684, 1396 858, 858, 858, 858, 858, 858, 858, 823, 1225, 1433, 1397 376, 859, 375, 374, 373, 372, 371, 859, 859, 859, 1398 859, 859, 859, 860, 861, 861, 861, 861, 861, 861, 1399 861, 862, 55, 1224, 1225, 863, 366, 864, 365, 294, 1400 55, 863, 863, 863, 863, 863, 863, 1433, 364, 363, 1401 55, 1121, 1122, 1122, 1122, 1122, 1122, 1122, 55, 362, 1402 1226, 1082, 361, 864, 789, 875, 875, 875, 875, 875, 1403 875, 875, 791, 1433, 1227, 360, 876, 1411, 359, 353, 1404 262, 1226, 876, 876, 876, 876, 876, 876, 877, 878, 1405 1406 878, 878, 878, 878, 878, 1433, 341, 258, 338, 879, 1407 1227, 255, 334, 249, 243, 879, 879, 879, 879, 879, 1408 879, 55, 1232, 892, 892, 892, 892, 892, 892, 892, 1409 135, 1433, 322, 321, 892, 320, 1233, 315, 294, 55, 1410 892, 892, 892, 892, 892, 892, 893, 893, 893, 893, 1411 893, 893, 893, 314, 313, 312, 311, 893, 310, 309, 1412 308, 307, 1233, 893, 893, 893, 893, 893, 893, 571, 1413 894, 894, 894, 894, 894, 894, 894, 306, 305, 304, 1414 303, 895, 302, 404, 301, 300, 297, 895, 895, 895, 1415 895, 895, 895, 1125, 1126, 1126, 1126, 1126, 1126, 1126, 1416 1417 1131, 1132, 1132, 1132, 1132, 1132, 1132, 296, 1232, 404, 1418 895, 895, 895, 895, 895, 895, 895, 295, 294, 293, 1419 292, 895, 1433, 291, 290, 289, 288, 895, 895, 895, 1420 895, 895, 895, 250, 896, 896, 896, 896, 896, 896, 1421 896, 287, 286, 285, 284, 897, 283, 282, 1433, 281, 1422 280, 897, 897, 897, 897, 897, 897, 53, 897, 897, 1423 897, 897, 897, 897, 897, 900, 901, 901, 901, 901, 1424 901, 901, 279, 135, 278, 277, 902, 276, 275, 274, 1425 273, 272, 902, 902, 902, 902, 902, 902, 664, 749, 1426 749, 749, 749, 749, 749, 749, 817, 271, 270, 269, 1427 1428 750, 268, 267, 266, 265, 1234, 750, 750, 750, 750, 1429 750, 750, 903, 904, 904, 904, 904, 904, 904, 1235, 1430 262, 250, 255, 905, 242, 241, 240, 239, 238, 905, 1431 905, 905, 905, 905, 905, 673, 761, 761, 761, 761, 1432 761, 761, 761, 820, 237, 1235, 236, 762, 235, 234, 1433 233, 230, 1234, 762, 762, 762, 762, 762, 762, 906, 1434 907, 907, 907, 907, 907, 907, 1433, 227, 224, 223, 1435 908, 222, 221, 218, 217, 216, 908, 908, 908, 908, 1436 908, 908, 684, 776, 776, 776, 776, 776, 776, 776, 1437 823, 215, 1433, 214, 777, 213, 212, 211, 210, 1240, 1438 1439 777, 777, 777, 777, 777, 777, 909, 910, 910, 910, 1440 910, 910, 910, 1241, 209, 208, 207, 911, 206, 205, 1441 204, 203, 199, 911, 911, 911, 911, 911, 911, 915, 1442 916, 916, 916, 916, 916, 916, 422, 198, 188, 1241, 1443 917, 187, 186, 183, 182, 181, 917, 917, 917, 917, 1444 917, 917, 828, 920, 920, 920, 920, 920, 920, 920, 1445 830, 180, 179, 178, 921, 177, 176, 172, 171, 170, 1446 921, 921, 921, 921, 921, 921, 922, 923, 923, 923, 1447 923, 923, 923, 422, 169, 168, 167, 924, 166, 165, 1448 164, 163, 162, 924, 924, 924, 924, 924, 924, 837, 1449 1450 932, 932, 932, 932, 932, 932, 932, 839, 161, 160, 1451 159, 933, 158, 157, 152, 143, 142, 933, 933, 933, 1452 933, 933, 933, 934, 935, 935, 935, 935, 935, 935, 1453 422, 137, 88, 59, 936, 47, 45, 1433, 1433, 1433, 1454 936, 936, 936, 936, 936, 936, 848, 947, 947, 947, 1455 947, 947, 947, 947, 850, 1433, 1433, 1433, 948, 1433, 1456 1433, 1433, 1433, 1433, 948, 948, 948, 948, 948, 948, 1457 949, 950, 950, 950, 950, 950, 950, 422, 1433, 1433, 1458 1433, 951, 1433, 1433, 1433, 1433, 1433, 951, 951, 951, 1459 951, 951, 951, 860, 963, 963, 963, 963, 963, 963, 1460 1461 963, 862, 1433, 1433, 1433, 964, 1433, 1433, 1433, 1433, 1462 1433, 964, 964, 964, 964, 964, 964, 965, 966, 966, 1463 966, 966, 966, 966, 422, 1433, 1433, 1433, 967, 1433, 1464 1433, 1433, 1433, 1433, 967, 967, 967, 967, 967, 967, 1465 789, 974, 974, 974, 974, 974, 974, 974, 791, 1433, 1466 1433, 1433, 975, 1433, 1433, 1433, 1433, 1433, 975, 975, 1467 975, 975, 975, 975, 976, 977, 977, 977, 977, 977, 1468 977, 977, 978, 1433, 1433, 1433, 979, 1433, 980, 1433, 1469 1433, 1433, 979, 979, 979, 979, 979, 979, 1134, 1135, 1470 1135, 1135, 1135, 1135, 1135, 1138, 1139, 1139, 1139, 1139, 1471 1472 1139, 1139, 1433, 1433, 980, 55, 571, 993, 993, 993, 1473 993, 993, 993, 993, 1433, 1433, 1433, 1433, 994, 1433, 1474 1433, 1433, 1433, 55, 994, 994, 994, 994, 994, 994, 1475 53, 994, 994, 994, 994, 994, 994, 994, 55, 250, 1476 995, 995, 995, 995, 995, 995, 995, 1145, 1146, 1146, 1477 1146, 1146, 1146, 1146, 1433, 1433, 55, 828, 998, 998, 1478 998, 998, 998, 998, 998, 999, 1433, 1433, 1433, 1000, 1479 1433, 832, 1433, 1433, 1433, 1000, 1000, 1000, 1000, 1000, 1480 1000, 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1152, 1153, 1481 1153, 1153, 1153, 1153, 1153, 1433, 1433, 832, 837, 1001, 1482 1483 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1433, 1433, 1433, 1484 1003, 1433, 841, 1433, 1433, 1433, 1003, 1003, 1003, 1003, 1485 1003, 1003, 1159, 1160, 1160, 1160, 1160, 1160, 1160, 1162, 1486 1163, 1163, 1163, 1163, 1163, 1163, 1433, 1433, 841, 848, 1487 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1005, 1433, 1433, 1488 1433, 1006, 1433, 852, 1433, 1433, 1433, 1006, 1006, 1006, 1489 1006, 1006, 1006, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1490 1066, 1066, 1066, 1066, 1066, 1066, 1066, 55, 1433, 852, 1491 860, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1008, 1433, 1492 1240, 1242, 1009, 1433, 864, 55, 1433, 1433, 1009, 1009, 1493 1494 1009, 1009, 1009, 1009, 1433, 1243, 1189, 1211, 1212, 1212, 1495 1212, 1212, 1212, 1212, 1433, 1242, 1433, 1433, 1433, 1248, 1496 864, 1011, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1433, 1497 1433, 1243, 1014, 1249, 1433, 1433, 1433, 1433, 1014, 1014, 1498 1014, 1014, 1014, 1014, 1015, 1016, 1016, 1016, 1016, 1016, 1499 1016, 1016, 1017, 1433, 1433, 1433, 1018, 1433, 1019, 1249, 1500 1433, 1433, 1018, 1018, 1018, 1018, 1018, 1018, 1132, 1132, 1501 1132, 1132, 1132, 1132, 1132, 1146, 1146, 1146, 1146, 1146, 1502 1146, 1146, 1248, 1433, 1019, 828, 1022, 1022, 1022, 1022, 1503 1022, 1022, 1022, 999, 1433, 1433, 1433, 1023, 1433, 1433, 1504 1505 1433, 1433, 1433, 1023, 1023, 1023, 1023, 1023, 1023, 1024, 1506 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1026, 1433, 1433, 1507 1433, 1027, 1433, 1028, 1433, 1433, 1250, 1027, 1027, 1027, 1508 1027, 1027, 1027, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1509 1251, 1433, 1433, 1433, 1433, 1250, 1433, 1282, 1433, 1028, 1510 837, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1002, 1433, 1511 1433, 1283, 1034, 1433, 1433, 1433, 1251, 1433, 1034, 1034, 1512 1034, 1034, 1034, 1034, 1035, 1036, 1036, 1036, 1036, 1036, 1513 1036, 1036, 1037, 1433, 1433, 1433, 1038, 1283, 1039, 1433, 1514 1433, 1433, 1038, 1038, 1038, 1038, 1038, 1038, 1256, 1257, 1515 1516 1257, 1257, 1257, 1257, 1257, 1259, 1260, 1260, 1260, 1260, 1517 1260, 1260, 1282, 1433, 1039, 848, 1045, 1045, 1045, 1045, 1518 1045, 1045, 1045, 1005, 1433, 1433, 1433, 1046, 1433, 1433, 1519 1433, 1433, 1433, 1046, 1046, 1046, 1046, 1046, 1046, 1047, 1520 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1049, 1433, 1433, 1521 1433, 1050, 1433, 1051, 1433, 1433, 1433, 1050, 1050, 1050, 1522 1050, 1050, 1050, 1263, 1264, 1264, 1264, 1264, 1264, 1264, 1523 1288, 1289, 1289, 1289, 1289, 1289, 1289, 1329, 1433, 1051, 1524 860, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1008, 1433, 1525 1433, 1330, 1058, 1433, 1433, 1433, 1433, 55, 1058, 1058, 1526 1527 1058, 1058, 1058, 1058, 1059, 1060, 1060, 1060, 1060, 1060, 1528 1060, 1060, 1061, 55, 1433, 55, 1062, 1330, 1063, 1433, 1529 1433, 1433, 1062, 1062, 1062, 1062, 1062, 1062, 1271, 1433, 1530 1433, 55, 1293, 1294, 1294, 1294, 1294, 1294, 1294, 1433, 1531 1433, 1329, 1272, 1433, 1063, 976, 1074, 1074, 1074, 1074, 1532 1074, 1074, 1074, 978, 1433, 1433, 1433, 1075, 1433, 1433, 1533 1433, 1433, 1331, 1075, 1075, 1075, 1075, 1075, 1075, 1076, 1534 1077, 1077, 1077, 1077, 1077, 1077, 1332, 1433, 1433, 1433, 1535 1078, 1433, 1433, 1433, 1433, 1433, 1078, 1078, 1078, 1078, 1536 1078, 1078, 55, 571, 1090, 1090, 1090, 1090, 1090, 1090, 1537 1538 1090, 1433, 1332, 1433, 1433, 897, 1433, 1433, 1433, 1433, 1539 55, 897, 897, 897, 897, 897, 897, 53, 897, 897, 1540 897, 897, 897, 897, 897, 55, 250, 995, 995, 995, 1541 995, 995, 995, 995, 1296, 1297, 1297, 1297, 1297, 1297, 1542 1297, 1433, 1331, 55, 1093, 1094, 1094, 1094, 1094, 1094, 1543 1094, 1433, 1433, 1433, 1433, 1095, 1433, 1433, 1433, 1433, 1544 1433, 1095, 1095, 1095, 1095, 1095, 1095, 828, 920, 920, 1545 920, 920, 920, 920, 920, 999, 1433, 1433, 1433, 921, 1546 1433, 1433, 1433, 1433, 1354, 921, 921, 921, 921, 921, 1547 921, 1096, 1097, 1097, 1097, 1097, 1097, 1097, 1355, 1433, 1548 1549 1433, 1433, 1098, 1433, 1433, 1433, 1433, 1433, 1098, 1098, 1550 1098, 1098, 1098, 1098, 837, 932, 932, 932, 932, 932, 1551 932, 932, 1002, 1433, 1355, 1433, 933, 1433, 1433, 1433, 1552 1433, 1354, 933, 933, 933, 933, 933, 933, 1099, 1100, 1553 1100, 1100, 1100, 1100, 1100, 1433, 1433, 1433, 1433, 1101, 1554 1433, 1433, 1433, 1433, 1433, 1101, 1101, 1101, 1101, 1101, 1555 1101, 848, 947, 947, 947, 947, 947, 947, 947, 1005, 1556 1433, 1433, 1433, 948, 1433, 1433, 1433, 1433, 1358, 948, 1557 948, 948, 948, 948, 948, 1102, 1103, 1103, 1103, 1103, 1558 1103, 1103, 1359, 1433, 1433, 1433, 1104, 1433, 1433, 1433, 1559 1560 1433, 1433, 1104, 1104, 1104, 1104, 1104, 1104, 860, 963, 1561 963, 963, 963, 963, 963, 963, 1008, 1433, 1359, 1433, 1562 964, 1433, 1433, 1433, 1433, 1358, 964, 964, 964, 964, 1563 964, 964, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1433, 1564 1433, 1433, 1433, 1107, 1433, 1433, 1433, 1433, 1433, 1107, 1565 1107, 1107, 1107, 1107, 1107, 1109, 1110, 1110, 1110, 1110, 1566 1110, 1110, 1110, 1111, 1433, 1433, 1433, 1112, 1433, 1113, 1567 1433, 1433, 1433, 1112, 1112, 1112, 1112, 1112, 1112, 1302, 1568 1303, 1303, 1303, 1303, 1303, 1303, 1305, 1306, 1306, 1306, 1569 1306, 1306, 1306, 1362, 1433, 1113, 1015, 1117, 1117, 1117, 1570 1571 1117, 1117, 1117, 1117, 1017, 1433, 1433, 1363, 1118, 1433, 1572 1433, 1433, 1433, 1433, 1118, 1118, 1118, 1118, 1118, 1118, 1573 1024, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1026, 1433, 1574 1433, 1433, 1128, 1363, 1433, 1433, 1433, 1433, 1128, 1128, 1575 1128, 1128, 1128, 1128, 1035, 1140, 1140, 1140, 1140, 1140, 1576 1140, 1140, 1037, 1433, 1433, 1433, 1141, 1433, 1433, 1433, 1577 1433, 1433, 1141, 1141, 1141, 1141, 1141, 1141, 1047, 1154, 1578 1154, 1154, 1154, 1154, 1154, 1154, 1049, 1433, 1433, 1433, 1579 1155, 1433, 1433, 1433, 1433, 1433, 1155, 1155, 1155, 1155, 1580 1155, 1155, 1059, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1581 1582 1061, 1433, 1433, 1433, 1169, 1433, 1433, 1433, 1433, 1433, 1583 1169, 1169, 1169, 1169, 1169, 1169, 976, 1177, 1177, 1177, 1584 1177, 1177, 1177, 1177, 978, 1433, 1433, 1433, 1178, 1433, 1585 1433, 1433, 1433, 1433, 1178, 1178, 1178, 1178, 1178, 1178, 1586 1179, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 1433, 1587 1433, 1433, 1182, 1433, 1183, 1433, 1433, 1433, 1182, 1182, 1588 1182, 1182, 1182, 1182, 1311, 1312, 1312, 1312, 1312, 1312, 1589 1312, 1314, 1315, 1315, 1315, 1315, 1315, 1315, 1433, 1433, 1590 1183, 55, 571, 488, 488, 488, 488, 488, 488, 488, 1591 1320, 1321, 1321, 1321, 1321, 1321, 1321, 1433, 1362, 55, 1592 1593 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1433, 1433, 1594 1433, 1195, 1433, 1433, 1433, 1433, 1433, 1195, 1195, 1195, 1595 1195, 1195, 1195, 1015, 1196, 1196, 1196, 1196, 1196, 1196, 1596 1196, 1197, 1433, 1433, 1433, 1198, 1433, 1019, 1433, 1433, 1597 1433, 1198, 1198, 1198, 1198, 1198, 1198, 1323, 1324, 1324, 1598 1324, 1324, 1324, 1324, 1257, 1257, 1257, 1257, 1257, 1257, 1599 1257, 1433, 1433, 1019, 1024, 1199, 1199, 1199, 1199, 1199, 1600 1199, 1199, 1200, 1433, 1433, 1433, 1201, 1433, 1028, 1433, 1601 1433, 1433, 1201, 1201, 1201, 1201, 1201, 1201, 1348, 1349, 1602 1349, 1349, 1349, 1349, 1349, 1294, 1294, 1294, 1294, 1294, 1603 1604 1294, 1294, 1433, 1433, 1028, 1035, 1202, 1202, 1202, 1202, 1605 1202, 1202, 1202, 1203, 1433, 1433, 1433, 1204, 1433, 1039, 1606 1433, 1433, 1433, 1204, 1204, 1204, 1204, 1204, 1204, 1303, 1607 1303, 1303, 1303, 1303, 1303, 1303, 1312, 1312, 1312, 1312, 1608 1312, 1312, 1312, 1366, 1433, 1039, 1047, 1205, 1205, 1205, 1609 1205, 1205, 1205, 1205, 1206, 1433, 1366, 1367, 1207, 1433, 1610 1051, 1433, 1433, 1433, 1207, 1207, 1207, 1207, 1207, 1207, 1611 1433, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1433, 1433, 1612 1433, 1433, 1433, 1367, 1370, 1433, 1051, 1059, 1208, 1208, 1613 1208, 1208, 1208, 1208, 1208, 1209, 1433, 1370, 1371, 1210, 1614 1615 1433, 1063, 1433, 1433, 1433, 1210, 1210, 1210, 1210, 1210, 1616 1210, 1433, 1374, 1375, 1375, 1375, 1375, 1375, 1375, 1433, 1617 1433, 1433, 1433, 1433, 1371, 1386, 1433, 1063, 1109, 1213, 1618 1213, 1213, 1213, 1213, 1213, 1213, 1111, 1433, 1433, 1387, 1619 1214, 1433, 1433, 1433, 1433, 1433, 1214, 1214, 1214, 1214, 1620 1214, 1214, 1015, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1621 1197, 1433, 1433, 1433, 1222, 1387, 1433, 1433, 1433, 1433, 1622 1222, 1222, 1222, 1222, 1222, 1222, 1024, 1228, 1228, 1228, 1623 1228, 1228, 1228, 1228, 1200, 1433, 1433, 1433, 1229, 1433, 1624 1433, 1433, 1433, 1433, 1229, 1229, 1229, 1229, 1229, 1229, 1625 1626 1035, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1203, 1433, 1627 1433, 1433, 1237, 1433, 1433, 1433, 1433, 1433, 1237, 1237, 1628 1237, 1237, 1237, 1237, 1047, 1244, 1244, 1244, 1244, 1244, 1629 1244, 1244, 1206, 1433, 1433, 1433, 1245, 1433, 1433, 1433, 1630 1433, 1433, 1245, 1245, 1245, 1245, 1245, 1245, 1059, 1252, 1631 1252, 1252, 1252, 1252, 1252, 1252, 1209, 1433, 1433, 1433, 1632 1253, 1433, 1433, 1433, 1433, 1433, 1253, 1253, 1253, 1253, 1633 1253, 1253, 1179, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1634 1181, 1433, 1433, 1433, 1266, 1433, 1433, 1433, 1433, 1433, 1635 1266, 1266, 1266, 1266, 1266, 1266, 1109, 1273, 1273, 1273, 1636 1637 1273, 1273, 1273, 1273, 1274, 1433, 1433, 1433, 1275, 1433, 1638 1113, 1433, 1433, 1386, 1275, 1275, 1275, 1275, 1275, 1275, 1639 1377, 1378, 1378, 1378, 1378, 1378, 1378, 1433, 1388, 1389, 1640 1389, 1389, 1389, 1389, 1389, 1433, 1113, 1015, 1117, 1117, 1641 1117, 1117, 1117, 1117, 1117, 1197, 1433, 1433, 1433, 1118, 1642 1433, 1433, 1433, 1433, 1433, 1118, 1118, 1118, 1118, 1118, 1643 1118, 1024, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1200, 1644 1433, 1433, 1433, 1128, 1433, 1433, 1433, 1433, 1433, 1128, 1645 1128, 1128, 1128, 1128, 1128, 1035, 1140, 1140, 1140, 1140, 1646 1140, 1140, 1140, 1203, 1433, 1433, 1433, 1141, 1433, 1433, 1647 1648 1433, 1433, 1433, 1141, 1141, 1141, 1141, 1141, 1141, 1047, 1649 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1206, 1433, 1433, 1650 1433, 1155, 1433, 1433, 1433, 1433, 1433, 1155, 1155, 1155, 1651 1155, 1155, 1155, 1059, 1168, 1168, 1168, 1168, 1168, 1168, 1652 1168, 1209, 1433, 1433, 1433, 1169, 1433, 1433, 1433, 1433, 1653 1433, 1169, 1169, 1169, 1169, 1169, 1169, 1109, 1284, 1284, 1654 1284, 1284, 1284, 1284, 1284, 1274, 1433, 1433, 1433, 1285, 1655 1433, 1433, 1433, 1433, 1433, 1285, 1285, 1285, 1285, 1285, 1656 1285, 1179, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1181, 1657 1433, 1433, 1433, 1334, 1433, 1433, 1433, 1433, 1433, 1334, 1658 1659 1334, 1334, 1334, 1334, 1334, 1109, 1213, 1213, 1213, 1213, 1660 1213, 1213, 1213, 1274, 1433, 1433, 1433, 1214, 1433, 1433, 1661 1433, 1433, 1433, 1214, 1214, 1214, 1214, 1214, 1214, 1392, 1662 1393, 1393, 1393, 1393, 1393, 1393, 1396, 1397, 1397, 1397, 1663 1397, 1397, 1397, 1400, 1401, 1401, 1401, 1401, 1401, 1401, 1664 1404, 1405, 1405, 1405, 1405, 1405, 1405, 1375, 1375, 1375, 1665 1375, 1375, 1375, 1375, 1408, 1408, 1412, 1413, 1413, 1413, 1666 1413, 1413, 1413, 1433, 1433, 1433, 1433, 1433, 1409, 1433, 1667 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1393, 1393, 1393, 1668 1393, 1393, 1393, 1393, 1397, 1397, 1397, 1397, 1397, 1397, 1669 1670 1397, 1433, 1433, 1433, 1409, 1433, 1401, 1401, 1401, 1401, 1671 1401, 1401, 1401, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1672 1421, 1422, 1422, 1422, 1422, 1422, 1422, 1413, 1413, 1413, 1673 1413, 1413, 1413, 1413, 1422, 1422, 1422, 1422, 1422, 1422, 1674 1422, 46, 1433, 1433, 1433, 1433, 46, 46, 46, 64, 1675 1433, 64, 64, 64, 64, 64, 64, 64, 144, 1433, 1676 144, 151, 151, 151, 254, 254, 254, 263, 263, 263, 1677 333, 333, 333, 336, 336, 336, 337, 337, 337, 344, 1678 344, 344, 342, 342, 342, 348, 348, 348, 352, 1433, 1679 352, 412, 412, 412, 417, 417, 417, 418, 418, 418, 1680 1681 427, 427, 427, 431, 1433, 431, 432, 432, 432, 346, 1682 346, 1433, 1433, 346, 436, 436, 436, 440, 440, 440, 1683 336, 336, 336, 495, 495, 495, 499, 499, 499, 500, 1684 500, 500, 501, 501, 501, 344, 344, 344, 506, 506, 1685 506, 425, 425, 1433, 1433, 425, 511, 511, 511, 515, 1686 515, 515, 519, 1433, 519, 520, 520, 520, 524, 524, 1687 524, 528, 1433, 528, 576, 576, 576, 427, 427, 427, 1688 584, 584, 584, 585, 585, 585, 593, 593, 593, 597, 1689 1433, 597, 600, 1433, 600, 601, 601, 601, 605, 605, 1690 605, 609, 1433, 609, 518, 518, 1433, 1433, 518, 522, 1691 1692 522, 1433, 1433, 522, 615, 615, 615, 619, 619, 619, 1693 528, 528, 1433, 528, 500, 500, 500, 653, 653, 653, 1694 657, 657, 657, 660, 660, 660, 661, 661, 661, 662, 1695 662, 662, 667, 667, 667, 591, 591, 1433, 1433, 591, 1696 672, 672, 672, 676, 676, 676, 597, 597, 1433, 597, 1697 599, 599, 1433, 1433, 599, 600, 600, 1433, 600, 601, 1698 601, 603, 603, 1433, 1433, 603, 683, 683, 683, 687, 1699 687, 687, 609, 609, 1433, 609, 691, 1433, 691, 694, 1700 1433, 694, 695, 695, 695, 699, 699, 699, 703, 1433, 1701 703, 730, 730, 730, 593, 593, 593, 605, 605, 605, 1702 1703 741, 741, 741, 742, 742, 742, 750, 750, 750, 754, 1704 1433, 754, 757, 1433, 757, 758, 758, 758, 762, 762, 1705 762, 766, 1433, 766, 769, 1433, 769, 772, 1433, 772, 1706 773, 773, 773, 777, 777, 777, 781, 1433, 781, 690, 1707 1433, 1433, 690, 691, 691, 1433, 691, 693, 693, 1433, 1708 1433, 693, 694, 694, 1433, 694, 695, 695, 697, 697, 1709 1433, 1433, 697, 788, 788, 788, 792, 792, 792, 703, 1710 703, 1433, 703, 53, 53, 53, 1433, 53, 53, 661, 1711 661, 661, 814, 814, 814, 818, 818, 818, 821, 821, 1712 821, 824, 824, 824, 825, 825, 825, 826, 826, 826, 1713 1714 831, 831, 831, 748, 748, 1433, 1433, 748, 836, 836, 1715 836, 840, 840, 840, 754, 754, 1433, 754, 756, 756, 1716 1433, 1433, 756, 757, 757, 1433, 757, 758, 758, 760, 1717 760, 1433, 1433, 760, 847, 847, 847, 851, 851, 851, 1718 766, 766, 1433, 766, 768, 1433, 1433, 768, 769, 769, 1719 1433, 769, 771, 771, 1433, 1433, 771, 772, 772, 1433, 1720 772, 773, 773, 775, 775, 1433, 1433, 775, 859, 859, 1721 859, 863, 863, 863, 781, 781, 1433, 781, 865, 1433, 1722 865, 868, 1433, 868, 871, 1433, 871, 872, 872, 872, 1723 876, 876, 876, 880, 1433, 880, 53, 53, 53, 1433, 1724 1725 53, 53, 898, 898, 898, 750, 750, 750, 762, 762, 1726 762, 777, 777, 777, 912, 912, 912, 913, 913, 913, 1727 921, 921, 921, 925, 1433, 925, 928, 1433, 928, 929, 1728 929, 929, 933, 933, 933, 937, 1433, 937, 940, 1433, 1729 940, 943, 1433, 943, 944, 944, 944, 948, 948, 948, 1730 952, 1433, 952, 953, 1433, 953, 956, 1433, 956, 959, 1731 1433, 959, 960, 960, 960, 964, 964, 964, 968, 1433, 1732 968, 865, 1433, 865, 867, 1433, 1433, 867, 868, 868, 1733 1433, 868, 870, 870, 1433, 1433, 870, 871, 871, 1433, 1734 871, 872, 872, 874, 874, 1433, 1433, 874, 975, 975, 1735 1736 975, 979, 979, 979, 880, 880, 1433, 880, 53, 53, 1737 53, 1433, 53, 53, 825, 825, 825, 996, 996, 996, 1738 1000, 1000, 1000, 1003, 1003, 1003, 1006, 1006, 1006, 1009, 1739 1009, 1009, 1010, 1010, 1010, 1018, 1018, 1018, 919, 919, 1740 1433, 1433, 919, 1023, 1023, 1023, 1027, 1027, 1027, 925, 1741 925, 1433, 925, 927, 927, 1433, 1433, 927, 928, 928, 1742 1433, 928, 929, 929, 931, 931, 1433, 1433, 931, 1034, 1743 1034, 1034, 1038, 1038, 1038, 937, 937, 1433, 937, 939, 1744 1433, 1433, 939, 940, 940, 1433, 940, 942, 942, 1433, 1745 1433, 942, 943, 943, 1433, 943, 944, 944, 946, 946, 1746 1747 1433, 1433, 946, 1046, 1046, 1046, 1050, 1050, 1050, 952, 1748 952, 1433, 952, 953, 1433, 953, 955, 1433, 1433, 955, 1749 956, 956, 1433, 956, 958, 958, 1433, 1433, 958, 959, 1750 959, 1433, 959, 960, 960, 962, 962, 1433, 1433, 962, 1751 1058, 1058, 1058, 1062, 1062, 1062, 968, 968, 1433, 968, 1752 1064, 1433, 1064, 1067, 1433, 1067, 1070, 1433, 1070, 1071, 1753 1071, 1071, 1075, 1075, 1075, 1079, 1433, 1079, 53, 53, 1754 53, 1433, 53, 53, 1091, 1091, 1091, 921, 921, 921, 1755 933, 933, 933, 948, 948, 948, 964, 964, 964, 1108, 1756 1108, 1108, 1114, 1114, 1114, 1112, 1112, 1112, 1119, 1119, 1757 1758 1119, 1118, 1118, 1118, 1120, 1433, 1120, 1123, 1433, 1123, 1759 1124, 1124, 1124, 1129, 1129, 1129, 1128, 1128, 1128, 1130, 1760 1433, 1130, 1133, 1433, 1133, 1136, 1433, 1136, 1137, 1137, 1761 1137, 1142, 1142, 1142, 1141, 1141, 1141, 1143, 1433, 1143, 1762 1144, 1433, 1144, 1147, 1433, 1147, 1150, 1433, 1150, 1151, 1763 1151, 1151, 1156, 1156, 1156, 1155, 1155, 1155, 1157, 1433, 1764 1157, 1158, 1433, 1158, 1161, 1433, 1161, 1164, 1433, 1164, 1765 1165, 1165, 1165, 1170, 1170, 1170, 1169, 1169, 1169, 1171, 1766 1433, 1171, 1064, 1433, 1064, 1066, 1433, 1433, 1066, 1067, 1767 1067, 1433, 1067, 1069, 1069, 1433, 1433, 1069, 1070, 1070, 1768 1769 1433, 1070, 1071, 1071, 1073, 1073, 1433, 1433, 1073, 1178, 1770 1178, 1178, 1182, 1182, 1182, 1079, 1079, 1433, 1079, 53, 1771 53, 53, 1433, 53, 53, 1010, 1010, 1010, 1198, 1198, 1772 1198, 1201, 1201, 1201, 1204, 1204, 1204, 1207, 1207, 1207, 1773 1210, 1210, 1210, 1215, 1215, 1215, 1214, 1214, 1214, 1217, 1774 1433, 1217, 1218, 1218, 1218, 1116, 1116, 1433, 1433, 1116, 1775 1222, 1222, 1222, 1223, 1223, 1223, 1120, 1120, 1433, 1120, 1776 1122, 1122, 1433, 1433, 1122, 1123, 1123, 1433, 1123, 1124, 1777 1124, 1126, 1126, 1433, 1433, 1126, 1229, 1229, 1229, 1230, 1778 1230, 1230, 1130, 1130, 1433, 1130, 1132, 1433, 1433, 1132, 1779 1780 1133, 1133, 1433, 1133, 1135, 1135, 1433, 1433, 1135, 1136, 1781 1136, 1433, 1136, 1137, 1137, 1139, 1139, 1433, 1433, 1139, 1782 1237, 1237, 1237, 1238, 1238, 1238, 1143, 1143, 1433, 1143, 1783 1144, 1433, 1144, 1146, 1433, 1433, 1146, 1147, 1147, 1433, 1784 1147, 1149, 1149, 1433, 1433, 1149, 1150, 1150, 1433, 1150, 1785 1151, 1151, 1153, 1153, 1433, 1433, 1153, 1245, 1245, 1245, 1786 1246, 1246, 1246, 1157, 1157, 1433, 1157, 1158, 1433, 1158, 1787 1160, 1433, 1433, 1160, 1161, 1161, 1433, 1161, 1163, 1163, 1788 1433, 1433, 1163, 1164, 1164, 1433, 1164, 1165, 1165, 1167, 1789 1167, 1433, 1433, 1167, 1253, 1253, 1253, 1254, 1254, 1254, 1790 1791 1171, 1171, 1433, 1171, 1255, 1433, 1255, 1258, 1433, 1258, 1792 1261, 1433, 1261, 1262, 1262, 1262, 1267, 1433, 1267, 1266, 1793 1266, 1266, 1268, 1433, 1268, 53, 53, 53, 1433, 53, 1794 53, 1276, 1433, 1276, 1275, 1275, 1275, 1277, 1433, 1277, 1795 1118, 1118, 1118, 1278, 1433, 1278, 1128, 1128, 1128, 1279, 1796 1433, 1279, 1141, 1141, 1141, 1280, 1433, 1280, 1155, 1155, 1797 1155, 1281, 1433, 1281, 1169, 1169, 1169, 1212, 1212, 1433, 1798 1433, 1212, 1285, 1285, 1285, 1286, 1286, 1286, 344, 344, 1799 344, 1217, 1217, 1433, 1217, 1287, 1287, 1287, 1290, 1433, 1800 1290, 1291, 1291, 1291, 1292, 1292, 1292, 1295, 1433, 1295, 1801 1802 1298, 1433, 1298, 1299, 1299, 1299, 1300, 1300, 1300, 1301, 1803 1433, 1301, 1304, 1433, 1304, 1307, 1433, 1307, 1308, 1308, 1804 1308, 1309, 1309, 1309, 1310, 1433, 1310, 1313, 1433, 1313, 1805 1316, 1433, 1316, 1317, 1317, 1317, 1318, 1318, 1318, 1319, 1806 1433, 1319, 1322, 1433, 1322, 1325, 1433, 1325, 1326, 1326, 1807 1326, 1327, 1327, 1327, 1255, 1433, 1255, 1257, 1433, 1433, 1808 1257, 1258, 1258, 1433, 1258, 1260, 1260, 1433, 1433, 1260, 1809 1261, 1261, 1433, 1261, 1262, 1262, 1264, 1264, 1433, 1433, 1810 1264, 1334, 1334, 1334, 1335, 1433, 1335, 1268, 1268, 1433, 1811 1268, 53, 53, 53, 1433, 53, 53, 1340, 1340, 1340, 1812 1813 1214, 1214, 1214, 1342, 1433, 1342, 1343, 1433, 1343, 1344, 1814 1433, 1344, 1345, 1433, 1345, 1346, 1433, 1346, 1347, 1433, 1815 1347, 1350, 1433, 1350, 1351, 1351, 1351, 1352, 1352, 1352, 1816 1353, 1433, 1353, 1289, 1289, 1433, 1433, 1289, 1290, 1290, 1817 1433, 1290, 1291, 1291, 1356, 1433, 1356, 1294, 1433, 1433, 1818 1294, 1295, 1295, 1433, 1295, 1297, 1297, 1433, 1433, 1297, 1819 1298, 1298, 1433, 1298, 1299, 1299, 1360, 1433, 1360, 1301, 1820 1433, 1301, 1303, 1433, 1433, 1303, 1304, 1304, 1433, 1304, 1821 1306, 1306, 1433, 1433, 1306, 1307, 1307, 1433, 1307, 1308, 1822 1308, 1364, 1433, 1364, 1310, 1433, 1310, 1312, 1433, 1433, 1823 1824 1312, 1313, 1313, 1433, 1313, 1315, 1315, 1433, 1433, 1315, 1825 1316, 1316, 1433, 1316, 1317, 1317, 1368, 1433, 1368, 1319, 1826 1433, 1319, 1321, 1433, 1433, 1321, 1322, 1322, 1433, 1322, 1827 1324, 1324, 1433, 1433, 1324, 1325, 1325, 1433, 1325, 1326, 1828 1326, 1372, 1433, 1372, 1373, 1433, 1373, 1376, 1433, 1376, 1829 1379, 1433, 1379, 1380, 1380, 1380, 1381, 1433, 1381, 53, 1830 53, 53, 1433, 53, 53, 1385, 1433, 1385, 1287, 1433, 1831 1287, 1292, 1433, 1292, 1300, 1433, 1300, 1309, 1433, 1309, 1832 1318, 1433, 1318, 1327, 1433, 1327, 1349, 1349, 1433, 1433, 1833 1349, 1350, 1350, 1433, 1350, 1351, 1351, 1341, 1433, 1341, 1834 1835 1390, 1433, 1390, 1391, 1433, 1391, 1394, 1433, 1394, 1395, 1836 1433, 1395, 1398, 1433, 1398, 1399, 1433, 1399, 1402, 1433, 1837 1402, 1403, 1433, 1403, 1406, 1433, 1406, 1375, 1433, 1433, 1838 1375, 1378, 1378, 1433, 1433, 1378, 1410, 1433, 1410, 1352, 1839 1433, 1352, 1414, 1433, 1414, 1389, 1433, 1433, 1389, 1393, 1840 1433, 1433, 1393, 1397, 1433, 1433, 1397, 1401, 1433, 1433, 1841 1401, 1405, 1433, 1433, 1405, 1420, 1433, 1420, 1423, 1433, 1842 1423, 1413, 1433, 1433, 1413, 1425, 1433, 1425, 1426, 1433, 1843 1426, 1427, 1433, 1427, 1428, 1433, 1428, 1429, 1433, 1429, 1844 1422, 1433, 1433, 1422, 1431, 1433, 1431, 1432, 1433, 1432, 1845 1846 3, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1847 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1848 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1849 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1850 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1851 1433, 1433, 1433, 1433 1852 } ; 1853 1854 static yyconst flex_int16_t yy_chk[7455] = 1855 { 0, 1856 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1857 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1858 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1859 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1860 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1861 1, 1, 1, 4, 7, 15, 4, 7, 4, 7, 1862 9, 4, 7, 9, 34, 9, 17, 17, 9, 19, 1863 19, 4, 7, 34, 24, 27, 27, 1261, 9, 4, 1864 7, 15, 12, 39, 131, 12, 9, 12, 24, 23, 1865 12, 23, 23, 28, 131, 24, 23, 39, 28, 25, 1866 1867 12, 23, 25, 29, 39, 23, 25, 23, 12, 14, 1868 14, 14, 14, 14, 14, 14, 14, 14, 14, 29, 1869 91, 1262, 14, 14, 14, 91, 82, 14, 14, 14, 1870 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1871 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1872 14, 14, 16, 82, 26, 16, 95, 16, 26, 82, 1873 16, 100, 99, 122, 26, 628, 100, 26, 99, 22, 1874 16, 234, 22, 234, 22, 628, 122, 22, 16, 20, 1875 20, 20, 20, 20, 20, 20, 20, 22, 33, 95, 1876 384, 36, 33, 20, 35, 22, 36, 36, 127, 36, 1877 1878 36, 33, 33, 41, 384, 33, 35, 33, 35, 103, 1879 35, 41, 103, 35, 103, 41, 127, 41, 1266, 20, 1880 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 1881 32, 32, 96, 21, 1268, 147, 250, 250, 129, 21, 1882 21, 21, 21, 21, 21, 31, 32, 129, 31, 31, 1883 32, 31, 155, 31, 32, 31, 32, 31, 37, 96, 1884 31, 147, 37, 32, 96, 623, 38, 1274, 313, 627, 1885 37, 623, 38, 313, 38, 37, 38, 37, 155, 235, 1886 38, 44, 38, 38, 44, 205, 44, 627, 381, 44, 1887 62, 62, 62, 62, 62, 62, 62, 63, 205, 44, 1888 1889 63, 381, 63, 235, 630, 63, 630, 44, 48, 48, 1890 48, 48, 48, 48, 48, 63, 435, 257, 631, 48, 1891 406, 406, 631, 63, 435, 48, 48, 48, 48, 48, 1892 48, 49, 49, 49, 49, 49, 49, 49, 1275, 325, 1893 1285, 350, 49, 257, 267, 267, 267, 267, 49, 49, 1894 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 1895 50, 50, 454, 1286, 267, 325, 50, 350, 408, 415, 1896 1290, 454, 50, 50, 50, 50, 50, 50, 52, 52, 1897 52, 52, 52, 52, 52, 52, 54, 54, 54, 54, 1898 54, 54, 54, 421, 408, 415, 329, 54, 529, 529, 1899 1900 529, 529, 429, 54, 54, 54, 54, 54, 54, 56, 1901 329, 624, 56, 1291, 56, 345, 624, 56, 346, 421, 1902 56, 56, 56, 56, 56, 56, 56, 56, 429, 345, 1903 1295, 56, 346, 486, 1298, 56, 329, 56, 56, 56, 1904 56, 56, 56, 145, 456, 145, 145, 145, 145, 145, 1905 145, 145, 510, 456, 1299, 345, 145, 526, 346, 486, 1906 510, 632, 145, 145, 145, 145, 145, 145, 146, 146, 1907 146, 146, 146, 146, 146, 146, 520, 571, 571, 632, 1908 146, 579, 146, 526, 520, 1304, 146, 146, 146, 146, 1909 146, 146, 249, 249, 249, 249, 249, 249, 249, 260, 1910 1911 260, 260, 260, 260, 260, 260, 424, 579, 146, 148, 1912 148, 148, 148, 148, 148, 148, 148, 582, 588, 1307, 1913 424, 148, 595, 607, 622, 622, 1308, 148, 148, 148, 1914 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 1915 149, 149, 614, 582, 588, 149, 424, 648, 595, 607, 1916 614, 149, 149, 149, 149, 149, 149, 150, 150, 150, 1917 150, 150, 150, 150, 150, 152, 152, 152, 152, 152, 1918 152, 152, 152, 648, 625, 689, 152, 625, 641, 641, 1919 704, 706, 152, 152, 152, 152, 152, 152, 154, 154, 1920 154, 154, 154, 154, 154, 154, 154, 671, 704, 706, 1921 1922 154, 689, 154, 650, 283, 671, 154, 154, 154, 154, 1923 154, 154, 283, 335, 335, 335, 335, 335, 335, 335, 1924 1313, 1316, 425, 633, 490, 283, 707, 718, 154, 243, 1925 243, 243, 243, 243, 243, 243, 425, 633, 490, 650, 1926 243, 283, 705, 1317, 707, 718, 243, 243, 243, 243, 1927 243, 243, 245, 245, 245, 245, 245, 245, 245, 626, 1928 705, 707, 425, 245, 490, 701, 733, 705, 626, 245, 1929 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 1930 246, 246, 246, 248, 248, 248, 248, 248, 248, 248, 1931 682, 701, 733, 1322, 248, 736, 712, 716, 682, 713, 1932 1933 248, 248, 248, 248, 248, 248, 251, 251, 251, 251, 1934 251, 251, 251, 251, 712, 716, 716, 713, 251, 712, 1935 713, 736, 1325, 1326, 251, 251, 251, 251, 251, 251, 1936 253, 253, 253, 253, 253, 253, 253, 253, 256, 256, 1937 256, 256, 256, 256, 256, 256, 256, 787, 318, 517, 1938 256, 1334, 256, 318, 1350, 787, 256, 256, 256, 256, 1939 256, 256, 318, 517, 318, 318, 739, 318, 339, 339, 1940 339, 339, 339, 339, 339, 719, 518, 708, 256, 261, 1941 261, 261, 261, 261, 261, 261, 261, 261, 1351, 517, 1942 518, 261, 739, 719, 1376, 708, 521, 261, 261, 261, 1943 1944 261, 261, 261, 262, 262, 262, 262, 262, 262, 262, 1945 521, 1379, 708, 1390, 262, 1394, 518, 714, 1398, 717, 1946 262, 262, 262, 262, 262, 262, 323, 522, 323, 323, 1947 323, 323, 323, 323, 323, 714, 521, 717, 714, 323, 1948 717, 522, 723, 725, 725, 323, 323, 323, 323, 323, 1949 323, 324, 324, 324, 324, 324, 324, 324, 324, 1402, 1950 723, 725, 1406, 324, 1414, 324, 1423, 522, 1258, 324, 1951 324, 324, 324, 324, 324, 405, 405, 405, 405, 405, 1952 405, 405, 433, 433, 433, 433, 433, 433, 433, 590, 1953 640, 324, 326, 326, 326, 326, 326, 326, 326, 326, 1954 1955 640, 1254, 745, 590, 326, 752, 764, 794, 1253, 591, 1956 326, 326, 326, 326, 326, 326, 330, 330, 330, 330, 1957 330, 330, 330, 591, 767, 794, 779, 330, 745, 590, 1958 795, 752, 764, 330, 330, 330, 330, 330, 330, 331, 1959 331, 331, 331, 331, 331, 331, 331, 835, 795, 591, 1960 767, 331, 779, 795, 810, 835, 1246, 331, 331, 331, 1961 331, 331, 331, 332, 332, 332, 332, 332, 332, 332, 1962 332, 334, 334, 334, 334, 334, 334, 334, 1245, 846, 1963 810, 1238, 334, 1237, 796, 797, 799, 846, 334, 334, 1964 334, 334, 334, 334, 338, 338, 338, 338, 338, 338, 1965 1966 338, 338, 796, 797, 799, 338, 1230, 796, 797, 799, 1967 801, 338, 338, 338, 338, 338, 338, 340, 340, 340, 1968 340, 340, 340, 340, 340, 340, 858, 1229, 801, 340, 1969 866, 802, 804, 801, 858, 340, 340, 340, 340, 340, 1970 340, 341, 341, 341, 341, 341, 341, 341, 341, 802, 1971 804, 878, 341, 804, 802, 806, 866, 885, 341, 341, 1972 341, 341, 341, 341, 347, 347, 347, 347, 347, 347, 1973 347, 347, 347, 806, 1223, 885, 347, 878, 885, 890, 1974 888, 891, 347, 347, 347, 347, 347, 347, 349, 349, 1975 349, 349, 349, 349, 349, 349, 349, 890, 888, 891, 1976 1977 349, 901, 349, 888, 904, 890, 349, 349, 349, 349, 1978 349, 349, 437, 437, 437, 437, 437, 437, 437, 503, 1979 503, 503, 503, 503, 503, 503, 1222, 901, 349, 367, 1980 904, 907, 1218, 367, 910, 892, 367, 893, 598, 367, 1981 599, 367, 367, 367, 367, 399, 399, 399, 399, 399, 1982 399, 399, 598, 892, 599, 893, 399, 907, 897, 984, 1983 910, 636, 399, 399, 399, 399, 399, 399, 401, 401, 1984 401, 401, 401, 401, 401, 636, 897, 984, 598, 401, 1985 599, 916, 923, 935, 1217, 401, 401, 401, 401, 401, 1986 401, 402, 402, 402, 402, 402, 402, 402, 402, 404, 1987 1988 404, 404, 404, 404, 404, 404, 938, 916, 923, 935, 1989 404, 950, 954, 966, 1216, 992, 404, 404, 404, 404, 1990 404, 404, 407, 407, 407, 407, 407, 407, 407, 407, 1991 1215, 1214, 938, 992, 407, 1210, 407, 950, 954, 966, 1992 407, 407, 407, 407, 407, 407, 508, 508, 508, 508, 1993 508, 508, 508, 512, 512, 512, 512, 512, 512, 512, 1994 709, 602, 407, 409, 409, 409, 409, 409, 409, 409, 1995 1012, 1207, 1065, 1077, 409, 602, 1204, 1201, 709, 639, 1996 409, 409, 409, 409, 409, 409, 410, 410, 410, 410, 1997 410, 410, 410, 639, 974, 709, 1012, 410, 1065, 1077, 1998 1999 1198, 602, 974, 410, 410, 410, 410, 410, 410, 411, 2000 411, 411, 411, 411, 411, 411, 411, 414, 414, 414, 2001 414, 414, 414, 414, 414, 414, 1022, 603, 1195, 414, 2002 1182, 414, 1178, 1171, 1022, 414, 414, 414, 414, 414, 2003 414, 603, 610, 610, 610, 610, 610, 610, 610, 612, 2004 612, 612, 612, 612, 612, 612, 1084, 414, 420, 420, 2005 420, 420, 420, 420, 420, 420, 420, 603, 1170, 1169, 2006 420, 1165, 420, 1164, 1084, 1161, 420, 420, 420, 420, 2007 420, 420, 616, 616, 616, 616, 616, 616, 616, 664, 2008 664, 664, 664, 664, 664, 664, 692, 711, 420, 426, 2009 2010 426, 426, 426, 426, 426, 426, 426, 426, 1157, 1156, 2011 692, 426, 1155, 1094, 1097, 711, 987, 426, 426, 426, 2012 426, 426, 426, 428, 428, 428, 428, 428, 428, 428, 2013 428, 428, 711, 1151, 987, 428, 692, 428, 987, 1094, 2014 1097, 428, 428, 428, 428, 428, 428, 669, 669, 669, 2015 669, 669, 669, 669, 673, 673, 673, 673, 673, 673, 2016 673, 693, 800, 428, 438, 438, 438, 438, 438, 438, 2017 438, 438, 438, 1150, 1147, 693, 438, 1100, 990, 1143, 2018 800, 696, 438, 438, 438, 438, 438, 438, 439, 439, 2019 439, 439, 439, 439, 439, 696, 990, 800, 1142, 439, 2020 2021 990, 693, 991, 1100, 1080, 439, 439, 439, 439, 439, 2022 439, 484, 697, 484, 484, 484, 484, 484, 484, 484, 2023 991, 696, 1080, 1141, 484, 991, 697, 1137, 1136, 1083, 2024 484, 484, 484, 484, 484, 484, 485, 485, 485, 485, 2025 485, 485, 485, 485, 1133, 1033, 1080, 1083, 485, 1083, 2026 485, 1130, 697, 1033, 485, 485, 485, 485, 485, 485, 2027 678, 678, 678, 678, 678, 678, 678, 680, 680, 680, 2028 680, 680, 680, 680, 747, 805, 485, 487, 487, 487, 2029 487, 487, 487, 487, 487, 1103, 1045, 1129, 747, 487, 2030 1106, 1128, 1087, 805, 1045, 487, 487, 487, 487, 487, 2031 2032 487, 491, 491, 491, 491, 491, 491, 491, 491, 1057, 2033 1087, 1103, 805, 491, 747, 1087, 1106, 1057, 1124, 491, 2034 491, 491, 491, 491, 491, 492, 492, 492, 492, 492, 2035 492, 492, 492, 493, 493, 493, 493, 493, 493, 493, 2036 1177, 1221, 1123, 1120, 493, 1131, 1145, 1159, 1177, 1221, 2037 493, 493, 493, 493, 493, 493, 494, 494, 494, 494, 2038 494, 494, 494, 494, 496, 496, 496, 496, 496, 496, 2039 496, 1131, 1145, 1159, 1193, 496, 1256, 1293, 1081, 1082, 2040 1085, 496, 496, 496, 496, 496, 496, 497, 497, 497, 2041 497, 497, 497, 497, 497, 497, 1081, 1082, 1085, 497, 2042 2043 1193, 1302, 1256, 1293, 748, 497, 497, 497, 497, 497, 2044 497, 498, 498, 498, 498, 498, 498, 498, 748, 1085, 2045 1081, 1082, 498, 1119, 1088, 1184, 1118, 1302, 498, 498, 2046 498, 498, 498, 498, 502, 502, 502, 502, 502, 502, 2047 502, 502, 1088, 1184, 748, 502, 1114, 1112, 1185, 1186, 2048 1187, 502, 502, 502, 502, 502, 502, 504, 504, 504, 2049 504, 504, 504, 504, 504, 504, 1185, 1186, 1187, 504, 2050 1111, 1188, 1270, 1272, 1108, 504, 504, 504, 504, 504, 2051 504, 505, 505, 505, 505, 505, 505, 505, 505, 1188, 2052 1270, 1272, 505, 1270, 1188, 1107, 1271, 1104, 505, 505, 2053 2054 505, 505, 505, 505, 513, 513, 513, 513, 513, 513, 2055 513, 513, 513, 1228, 1271, 1272, 513, 1271, 1101, 1339, 2056 1098, 1228, 513, 513, 513, 513, 513, 513, 514, 514, 2057 514, 514, 514, 514, 514, 514, 1236, 1339, 1311, 514, 2058 1320, 1374, 1095, 1382, 1236, 514, 514, 514, 514, 514, 2059 514, 523, 523, 523, 523, 523, 523, 523, 523, 523, 2060 1244, 1382, 1388, 523, 1311, 1392, 1320, 1374, 1244, 523, 2061 523, 523, 523, 523, 523, 525, 525, 525, 525, 525, 2062 525, 525, 525, 525, 1252, 1091, 1079, 525, 1388, 525, 2063 1078, 1392, 1252, 525, 525, 525, 525, 525, 525, 684, 2064 2065 684, 684, 684, 684, 684, 684, 690, 690, 690, 690, 2066 690, 690, 690, 798, 755, 525, 565, 565, 565, 565, 2067 565, 565, 565, 1396, 1284, 1400, 1404, 565, 755, 1075, 2068 1384, 798, 1284, 565, 565, 565, 565, 565, 565, 567, 2069 567, 567, 567, 567, 567, 567, 798, 1333, 1384, 1396, 2070 567, 1400, 1404, 1412, 755, 1333, 567, 567, 567, 567, 2071 567, 567, 568, 568, 568, 568, 568, 568, 568, 568, 2072 570, 570, 570, 570, 570, 570, 570, 1380, 1421, 1412, 2073 1071, 570, 1070, 1189, 1411, 1380, 1067, 570, 570, 570, 2074 570, 570, 570, 572, 572, 572, 572, 572, 572, 572, 2075 2076 572, 1189, 1411, 1062, 1421, 572, 1061, 1058, 1050, 1049, 2077 1189, 572, 572, 572, 572, 572, 572, 573, 573, 573, 2078 573, 573, 573, 573, 573, 574, 574, 574, 574, 574, 2079 574, 574, 1046, 1038, 1037, 1034, 574, 1027, 1026, 1023, 2080 1018, 1017, 574, 574, 574, 574, 574, 574, 575, 575, 2081 575, 575, 575, 575, 575, 575, 578, 578, 578, 578, 2082 578, 578, 578, 578, 578, 710, 756, 759, 578, 1014, 2083 578, 1013, 1010, 760, 578, 578, 578, 578, 578, 578, 2084 756, 759, 1009, 710, 1006, 1003, 1000, 760, 996, 979, 2085 720, 975, 715, 968, 721, 710, 578, 581, 581, 581, 2086 2087 581, 581, 581, 581, 581, 581, 756, 759, 720, 581, 2088 715, 581, 721, 760, 986, 581, 581, 581, 581, 581, 2089 581, 720, 715, 967, 721, 727, 727, 727, 727, 727, 2090 727, 727, 986, 770, 771, 774, 884, 581, 587, 587, 2091 587, 587, 587, 587, 587, 587, 587, 770, 771, 774, 2092 587, 986, 587, 964, 884, 775, 587, 587, 587, 587, 2093 587, 587, 768, 768, 768, 768, 768, 768, 768, 775, 2094 1338, 884, 960, 770, 771, 774, 869, 959, 587, 592, 2095 592, 592, 592, 592, 592, 592, 592, 592, 1338, 956, 2096 869, 592, 952, 951, 948, 775, 1338, 592, 592, 592, 2097 2098 592, 592, 592, 594, 594, 594, 594, 594, 594, 594, 2099 594, 594, 944, 943, 940, 594, 869, 594, 937, 936, 2100 933, 594, 594, 594, 594, 594, 594, 783, 783, 783, 2101 783, 783, 783, 783, 785, 785, 785, 785, 785, 785, 2102 785, 870, 886, 594, 604, 604, 604, 604, 604, 604, 2103 604, 604, 604, 929, 928, 870, 604, 925, 924, 921, 2104 886, 886, 604, 604, 604, 604, 604, 604, 606, 606, 2105 606, 606, 606, 606, 606, 606, 606, 917, 886, 913, 2106 606, 870, 606, 912, 989, 803, 606, 606, 606, 606, 2107 606, 606, 789, 789, 789, 789, 789, 789, 789, 911, 2108 2109 908, 905, 989, 803, 902, 873, 874, 881, 606, 617, 2110 617, 617, 617, 617, 617, 617, 617, 617, 803, 873, 2111 874, 617, 989, 899, 898, 881, 880, 617, 617, 617, 2112 617, 617, 617, 618, 618, 618, 618, 618, 618, 618, 2113 881, 879, 876, 872, 618, 873, 874, 871, 868, 863, 2114 618, 618, 618, 618, 618, 618, 621, 621, 621, 621, 2115 621, 621, 621, 859, 851, 847, 840, 621, 882, 883, 2116 887, 889, 1269, 621, 621, 621, 621, 621, 621, 828, 2117 828, 828, 828, 828, 828, 828, 882, 883, 887, 889, 2118 1269, 621, 644, 836, 644, 644, 644, 644, 644, 644, 2119 2120 644, 882, 883, 883, 887, 644, 889, 1269, 985, 988, 2121 1089, 644, 644, 644, 644, 644, 644, 833, 833, 833, 2122 833, 833, 833, 833, 918, 919, 985, 988, 1089, 644, 2123 645, 645, 645, 645, 645, 645, 645, 645, 918, 919, 2124 985, 988, 645, 1089, 831, 826, 825, 824, 645, 645, 2125 645, 645, 645, 645, 837, 837, 837, 837, 837, 837, 2126 837, 821, 818, 814, 918, 919, 645, 646, 646, 646, 2127 646, 646, 646, 646, 842, 842, 842, 842, 842, 842, 2128 842, 844, 844, 844, 844, 844, 844, 844, 848, 848, 2129 848, 848, 848, 848, 848, 854, 854, 854, 854, 854, 2130 2131 854, 854, 646, 647, 647, 647, 647, 647, 647, 647, 2132 792, 788, 781, 780, 647, 777, 773, 772, 769, 766, 2133 647, 647, 647, 647, 647, 647, 649, 649, 649, 649, 2134 649, 649, 649, 649, 651, 651, 651, 651, 651, 651, 2135 651, 651, 765, 762, 758, 757, 651, 754, 753, 750, 2136 746, 743, 651, 651, 651, 651, 651, 651, 652, 652, 2137 652, 652, 652, 652, 652, 652, 654, 654, 654, 654, 2138 654, 654, 654, 742, 741, 740, 737, 654, 734, 731, 2139 730, 703, 702, 654, 654, 654, 654, 654, 654, 655, 2140 655, 655, 655, 655, 655, 655, 655, 655, 699, 695, 2141 2142 694, 655, 691, 687, 683, 676, 926, 655, 655, 655, 2143 655, 655, 655, 656, 656, 656, 656, 656, 656, 656, 2144 926, 672, 667, 662, 656, 661, 660, 657, 653, 643, 2145 656, 656, 656, 656, 656, 656, 658, 658, 658, 658, 2146 658, 658, 658, 658, 658, 642, 926, 638, 658, 637, 2147 635, 634, 629, 927, 658, 658, 658, 658, 658, 658, 2148 659, 659, 659, 659, 659, 659, 659, 927, 619, 615, 2149 609, 659, 608, 605, 601, 600, 597, 659, 659, 659, 2150 659, 659, 659, 663, 663, 663, 663, 663, 663, 663, 2151 663, 596, 593, 927, 663, 589, 586, 585, 584, 583, 2152 2153 663, 663, 663, 663, 663, 663, 665, 665, 665, 665, 2154 665, 665, 665, 665, 665, 580, 577, 576, 665, 569, 2155 566, 564, 560, 556, 665, 665, 665, 665, 665, 665, 2156 666, 666, 666, 666, 666, 666, 666, 666, 555, 554, 2157 553, 666, 549, 548, 546, 545, 544, 666, 666, 666, 2158 666, 666, 666, 674, 674, 674, 674, 674, 674, 674, 2159 674, 674, 543, 542, 541, 674, 540, 539, 538, 537, 2160 536, 674, 674, 674, 674, 674, 674, 675, 675, 675, 2161 675, 675, 675, 675, 675, 535, 532, 531, 675, 530, 2162 528, 527, 524, 519, 675, 675, 675, 675, 675, 675, 2163 2164 685, 685, 685, 685, 685, 685, 685, 685, 685, 515, 2165 511, 506, 685, 501, 500, 499, 495, 489, 685, 685, 2166 685, 685, 685, 685, 686, 686, 686, 686, 686, 686, 2167 686, 686, 488, 483, 482, 686, 481, 480, 479, 478, 2168 477, 686, 686, 686, 686, 686, 686, 698, 698, 698, 2169 698, 698, 698, 698, 698, 698, 476, 475, 474, 698, 2170 473, 471, 468, 467, 466, 698, 698, 698, 698, 698, 2171 698, 700, 700, 700, 700, 700, 700, 700, 700, 700, 2172 465, 464, 463, 700, 462, 700, 460, 459, 458, 700, 2173 700, 700, 700, 700, 700, 856, 856, 856, 856, 856, 2174 2175 856, 856, 860, 860, 860, 860, 860, 860, 860, 930, 2176 931, 700, 722, 941, 722, 722, 722, 722, 722, 722, 2177 722, 457, 455, 930, 931, 722, 453, 941, 452, 451, 2178 722, 722, 722, 722, 722, 722, 722, 724, 724, 724, 2179 724, 724, 724, 724, 450, 449, 448, 447, 724, 930, 2180 931, 445, 444, 941, 724, 724, 724, 724, 724, 724, 2181 726, 726, 726, 726, 726, 726, 726, 443, 440, 436, 2182 432, 726, 431, 1337, 430, 427, 423, 726, 726, 726, 2183 726, 726, 726, 728, 728, 728, 728, 728, 728, 728, 2184 728, 1337, 422, 419, 418, 728, 417, 416, 413, 412, 2185 2186 1337, 728, 728, 728, 728, 728, 728, 729, 729, 729, 2187 729, 729, 729, 729, 729, 732, 732, 732, 732, 732, 2188 732, 732, 732, 732, 403, 400, 398, 732, 397, 732, 2189 396, 395, 394, 732, 732, 732, 732, 732, 732, 867, 2190 867, 867, 867, 867, 867, 867, 939, 939, 939, 939, 2191 939, 939, 939, 942, 393, 732, 735, 735, 735, 735, 2192 735, 735, 735, 735, 735, 392, 945, 942, 735, 391, 2193 735, 390, 946, 957, 735, 735, 735, 735, 735, 735, 2194 945, 389, 388, 387, 385, 383, 946, 957, 382, 380, 2195 379, 376, 1336, 942, 958, 375, 735, 738, 738, 738, 2196 2197 738, 738, 738, 738, 738, 738, 945, 373, 958, 738, 2198 1336, 738, 946, 957, 961, 738, 738, 738, 738, 738, 2199 738, 955, 955, 955, 955, 955, 955, 955, 961, 1336, 2200 371, 370, 369, 962, 958, 1068, 366, 738, 744, 744, 2201 744, 744, 744, 744, 744, 744, 744, 962, 365, 1068, 2202 744, 363, 744, 362, 961, 1069, 744, 744, 744, 744, 2203 744, 744, 970, 970, 970, 970, 970, 970, 970, 1069, 2204 361, 360, 358, 962, 1072, 1068, 1073, 353, 744, 749, 2205 749, 749, 749, 749, 749, 749, 749, 749, 1072, 352, 2206 1073, 749, 351, 348, 344, 1069, 342, 749, 749, 749, 2207 2208 749, 749, 749, 751, 751, 751, 751, 751, 751, 751, 2209 751, 751, 337, 336, 1072, 751, 1073, 751, 333, 328, 2210 327, 751, 751, 751, 751, 751, 751, 972, 972, 972, 2211 972, 972, 972, 972, 976, 976, 976, 976, 976, 976, 2212 976, 1115, 319, 751, 761, 761, 761, 761, 761, 761, 2213 761, 761, 761, 317, 316, 1115, 761, 311, 309, 307, 2214 306, 305, 761, 761, 761, 761, 761, 761, 763, 763, 2215 763, 763, 763, 763, 763, 763, 763, 981, 982, 1116, 2216 763, 1115, 763, 304, 303, 302, 763, 763, 763, 763, 2217 763, 763, 301, 1116, 299, 981, 982, 1015, 1015, 1015, 2218 2219 1015, 1015, 1015, 1015, 1121, 298, 981, 982, 763, 776, 2220 776, 776, 776, 776, 776, 776, 776, 776, 1121, 1116, 2221 297, 776, 292, 289, 288, 287, 284, 776, 776, 776, 2222 776, 776, 776, 778, 778, 778, 778, 778, 778, 778, 2223 778, 778, 983, 1122, 1121, 778, 281, 778, 280, 278, 2224 1383, 778, 778, 778, 778, 778, 778, 1122, 276, 275, 2225 983, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1383, 274, 2226 1125, 983, 272, 778, 790, 790, 790, 790, 790, 790, 2227 790, 790, 790, 1122, 1125, 269, 790, 1383, 268, 266, 2228 263, 1126, 790, 790, 790, 790, 790, 790, 791, 791, 2229 2230 791, 791, 791, 791, 791, 1126, 259, 258, 255, 791, 2231 1125, 254, 252, 247, 244, 791, 791, 791, 791, 791, 2232 791, 807, 1134, 807, 807, 807, 807, 807, 807, 807, 2233 242, 1126, 241, 239, 807, 236, 1134, 232, 228, 807, 2234 807, 807, 807, 807, 807, 807, 808, 808, 808, 808, 2235 808, 808, 808, 226, 224, 223, 221, 808, 220, 219, 2236 218, 217, 1134, 808, 808, 808, 808, 808, 808, 809, 2237 809, 809, 809, 809, 809, 809, 809, 216, 215, 213, 2238 211, 809, 209, 809, 208, 206, 204, 809, 809, 809, 2239 809, 809, 809, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 2240 2241 1029, 1029, 1029, 1029, 1029, 1029, 1029, 203, 1135, 809, 2242 811, 811, 811, 811, 811, 811, 811, 201, 198, 197, 2243 196, 811, 1135, 194, 192, 191, 188, 811, 811, 811, 2244 811, 811, 811, 812, 812, 812, 812, 812, 812, 812, 2245 812, 187, 185, 184, 183, 812, 182, 181, 1135, 180, 2246 179, 812, 812, 812, 812, 812, 812, 813, 813, 813, 2247 813, 813, 813, 813, 813, 815, 815, 815, 815, 815, 2248 815, 815, 178, 177, 176, 174, 815, 173, 170, 169, 2249 168, 167, 815, 815, 815, 815, 815, 815, 816, 816, 2250 816, 816, 816, 816, 816, 816, 816, 166, 165, 164, 2251 2252 816, 162, 159, 158, 157, 1138, 816, 816, 816, 816, 2253 816, 816, 817, 817, 817, 817, 817, 817, 817, 1138, 2254 156, 153, 151, 817, 142, 141, 140, 139, 138, 817, 2255 817, 817, 817, 817, 817, 819, 819, 819, 819, 819, 2256 819, 819, 819, 819, 137, 1138, 136, 819, 134, 133, 2257 132, 130, 1139, 819, 819, 819, 819, 819, 819, 820, 2258 820, 820, 820, 820, 820, 820, 1139, 128, 126, 125, 2259 820, 124, 123, 121, 120, 119, 820, 820, 820, 820, 2260 820, 820, 822, 822, 822, 822, 822, 822, 822, 822, 2261 822, 118, 1139, 117, 822, 116, 114, 112, 111, 1148, 2262 2263 822, 822, 822, 822, 822, 822, 823, 823, 823, 823, 2264 823, 823, 823, 1148, 110, 109, 108, 823, 107, 106, 2265 105, 104, 102, 823, 823, 823, 823, 823, 823, 827, 2266 827, 827, 827, 827, 827, 827, 827, 101, 94, 1148, 2267 827, 93, 92, 90, 89, 88, 827, 827, 827, 827, 2268 827, 827, 829, 829, 829, 829, 829, 829, 829, 829, 2269 829, 87, 86, 85, 829, 84, 83, 81, 80, 79, 2270 829, 829, 829, 829, 829, 829, 830, 830, 830, 830, 2271 830, 830, 830, 830, 78, 77, 76, 830, 75, 74, 2272 73, 72, 71, 830, 830, 830, 830, 830, 830, 838, 2273 2274 838, 838, 838, 838, 838, 838, 838, 838, 70, 69, 2275 67, 838, 66, 65, 51, 43, 42, 838, 838, 838, 2276 838, 838, 838, 839, 839, 839, 839, 839, 839, 839, 2277 839, 40, 30, 18, 839, 10, 8, 3, 0, 0, 2278 839, 839, 839, 839, 839, 839, 849, 849, 849, 849, 2279 849, 849, 849, 849, 849, 0, 0, 0, 849, 0, 2280 0, 0, 0, 0, 849, 849, 849, 849, 849, 849, 2281 850, 850, 850, 850, 850, 850, 850, 850, 0, 0, 2282 0, 850, 0, 0, 0, 0, 0, 850, 850, 850, 2283 850, 850, 850, 861, 861, 861, 861, 861, 861, 861, 2284 2285 861, 861, 0, 0, 0, 861, 0, 0, 0, 0, 2286 0, 861, 861, 861, 861, 861, 861, 862, 862, 862, 2287 862, 862, 862, 862, 862, 0, 0, 0, 862, 0, 2288 0, 0, 0, 0, 862, 862, 862, 862, 862, 862, 2289 875, 875, 875, 875, 875, 875, 875, 875, 875, 0, 2290 0, 0, 875, 0, 0, 0, 0, 0, 875, 875, 2291 875, 875, 875, 875, 877, 877, 877, 877, 877, 877, 2292 877, 877, 877, 0, 0, 0, 877, 0, 877, 0, 2293 0, 0, 877, 877, 877, 877, 877, 877, 1031, 1031, 2294 1031, 1031, 1031, 1031, 1031, 1035, 1035, 1035, 1035, 1035, 2295 2296 1035, 1035, 0, 0, 877, 894, 894, 894, 894, 894, 2297 894, 894, 894, 894, 0, 0, 0, 0, 894, 0, 2298 0, 0, 0, 894, 894, 894, 894, 894, 894, 894, 2299 895, 895, 895, 895, 895, 895, 895, 895, 896, 896, 2300 896, 896, 896, 896, 896, 896, 896, 1041, 1041, 1041, 2301 1041, 1041, 1041, 1041, 0, 0, 896, 900, 900, 900, 2302 900, 900, 900, 900, 900, 900, 0, 0, 0, 900, 2303 0, 900, 0, 0, 0, 900, 900, 900, 900, 900, 2304 900, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1047, 1047, 2305 1047, 1047, 1047, 1047, 1047, 0, 0, 900, 903, 903, 2306 2307 903, 903, 903, 903, 903, 903, 903, 0, 0, 0, 2308 903, 0, 903, 0, 0, 0, 903, 903, 903, 903, 2309 903, 903, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1055, 2310 1055, 1055, 1055, 1055, 1055, 1055, 0, 0, 903, 906, 2311 906, 906, 906, 906, 906, 906, 906, 906, 0, 0, 2312 0, 906, 0, 906, 0, 0, 0, 906, 906, 906, 2313 906, 906, 906, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 2314 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1086, 0, 906, 2315 909, 909, 909, 909, 909, 909, 909, 909, 909, 0, 2316 1149, 1152, 909, 0, 909, 1086, 0, 0, 909, 909, 2317 2318 909, 909, 909, 909, 1149, 1152, 1086, 1109, 1109, 1109, 2319 1109, 1109, 1109, 1109, 0, 1153, 0, 0, 0, 1162, 2320 909, 914, 914, 914, 914, 914, 914, 914, 914, 1153, 2321 1149, 1152, 914, 1162, 0, 0, 0, 0, 914, 914, 2322 914, 914, 914, 914, 915, 915, 915, 915, 915, 915, 2323 915, 915, 915, 0, 0, 1153, 915, 0, 915, 1162, 2324 0, 0, 915, 915, 915, 915, 915, 915, 1132, 1132, 2325 1132, 1132, 1132, 1132, 1132, 1146, 1146, 1146, 1146, 1146, 2326 1146, 1146, 1163, 0, 915, 920, 920, 920, 920, 920, 2327 920, 920, 920, 920, 0, 0, 1163, 920, 0, 0, 2328 2329 0, 0, 0, 920, 920, 920, 920, 920, 920, 922, 2330 922, 922, 922, 922, 922, 922, 922, 922, 0, 0, 2331 0, 922, 1163, 922, 0, 0, 1166, 922, 922, 922, 2332 922, 922, 922, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 2333 1166, 0, 0, 0, 0, 1167, 0, 1211, 0, 922, 2334 932, 932, 932, 932, 932, 932, 932, 932, 932, 1167, 2335 0, 1211, 932, 0, 0, 0, 1166, 0, 932, 932, 2336 932, 932, 932, 932, 934, 934, 934, 934, 934, 934, 2337 934, 934, 934, 0, 0, 1167, 934, 1211, 934, 0, 2338 0, 0, 934, 934, 934, 934, 934, 934, 1173, 1173, 2339 2340 1173, 1173, 1173, 1173, 1173, 1175, 1175, 1175, 1175, 1175, 2341 1175, 1175, 1212, 0, 934, 947, 947, 947, 947, 947, 2342 947, 947, 947, 947, 0, 0, 1212, 947, 0, 0, 2343 0, 0, 0, 947, 947, 947, 947, 947, 947, 949, 2344 949, 949, 949, 949, 949, 949, 949, 949, 0, 0, 2345 0, 949, 1212, 949, 0, 0, 0, 949, 949, 949, 2346 949, 949, 949, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 2347 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1259, 0, 949, 2348 963, 963, 963, 963, 963, 963, 963, 963, 963, 0, 2349 0, 1259, 963, 0, 0, 0, 0, 1190, 963, 963, 2350 2351 963, 963, 963, 963, 965, 965, 965, 965, 965, 965, 2352 965, 965, 965, 1191, 0, 1190, 965, 1259, 965, 0, 2353 0, 0, 965, 965, 965, 965, 965, 965, 1190, 0, 2354 0, 1191, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 0, 2355 0, 1260, 1191, 0, 965, 977, 977, 977, 977, 977, 2356 977, 977, 977, 977, 0, 1260, 0, 977, 0, 0, 2357 0, 0, 1263, 977, 977, 977, 977, 977, 977, 978, 2358 978, 978, 978, 978, 978, 978, 1263, 0, 0, 0, 2359 978, 1260, 0, 0, 0, 0, 978, 978, 978, 978, 2360 978, 978, 993, 993, 993, 993, 993, 993, 993, 993, 2361 2362 993, 0, 1263, 0, 0, 993, 0, 0, 0, 0, 2363 993, 993, 993, 993, 993, 993, 993, 994, 994, 994, 2364 994, 994, 994, 994, 994, 995, 995, 995, 995, 995, 2365 995, 995, 995, 995, 1226, 1226, 1226, 1226, 1226, 1226, 2366 1226, 0, 1264, 995, 997, 997, 997, 997, 997, 997, 2367 997, 0, 0, 0, 0, 997, 1264, 0, 0, 0, 2368 0, 997, 997, 997, 997, 997, 997, 998, 998, 998, 2369 998, 998, 998, 998, 998, 998, 0, 0, 0, 998, 2370 0, 0, 1264, 0, 1288, 998, 998, 998, 998, 998, 2371 998, 999, 999, 999, 999, 999, 999, 999, 1288, 0, 2372 2373 0, 0, 999, 0, 0, 0, 0, 0, 999, 999, 2374 999, 999, 999, 999, 1001, 1001, 1001, 1001, 1001, 1001, 2375 1001, 1001, 1001, 0, 1288, 0, 1001, 0, 0, 0, 2376 0, 1289, 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1002, 2377 1002, 1002, 1002, 1002, 1002, 1289, 0, 0, 0, 1002, 2378 0, 0, 0, 0, 0, 1002, 1002, 1002, 1002, 1002, 2379 1002, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 2380 0, 1289, 0, 1004, 0, 0, 0, 0, 1296, 1004, 2381 1004, 1004, 1004, 1004, 1004, 1005, 1005, 1005, 1005, 1005, 2382 1005, 1005, 1296, 0, 0, 0, 1005, 0, 0, 0, 2383 2384 0, 0, 1005, 1005, 1005, 1005, 1005, 1005, 1007, 1007, 2385 1007, 1007, 1007, 1007, 1007, 1007, 1007, 0, 1296, 0, 2386 1007, 0, 0, 0, 0, 1297, 1007, 1007, 1007, 1007, 2387 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1297, 2388 0, 0, 0, 1008, 0, 0, 0, 0, 0, 1008, 2389 1008, 1008, 1008, 1008, 1008, 1011, 1011, 1011, 1011, 1011, 2390 1011, 1011, 1011, 1011, 0, 1297, 0, 1011, 0, 1011, 2391 0, 0, 0, 1011, 1011, 1011, 1011, 1011, 1011, 1232, 2392 1232, 1232, 1232, 1232, 1232, 1232, 1234, 1234, 1234, 1234, 2393 1234, 1234, 1234, 1305, 0, 1011, 1016, 1016, 1016, 1016, 2394 2395 1016, 1016, 1016, 1016, 1016, 0, 0, 1305, 1016, 0, 2396 0, 0, 0, 0, 1016, 1016, 1016, 1016, 1016, 1016, 2397 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 0, 2398 0, 0, 1025, 1305, 0, 0, 0, 0, 1025, 1025, 2399 1025, 1025, 1025, 1025, 1036, 1036, 1036, 1036, 1036, 1036, 2400 1036, 1036, 1036, 0, 0, 0, 1036, 0, 0, 0, 2401 0, 0, 1036, 1036, 1036, 1036, 1036, 1036, 1048, 1048, 2402 1048, 1048, 1048, 1048, 1048, 1048, 1048, 0, 0, 0, 2403 1048, 0, 0, 0, 0, 0, 1048, 1048, 1048, 1048, 2404 1048, 1048, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 2405 2406 1060, 0, 0, 0, 1060, 0, 0, 0, 0, 0, 2407 1060, 1060, 1060, 1060, 1060, 1060, 1074, 1074, 1074, 1074, 2408 1074, 1074, 1074, 1074, 1074, 0, 0, 0, 1074, 0, 2409 0, 0, 0, 0, 1074, 1074, 1074, 1074, 1074, 1074, 2410 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 0, 2411 0, 0, 1076, 0, 1076, 0, 0, 0, 1076, 1076, 2412 1076, 1076, 1076, 1076, 1240, 1240, 1240, 1240, 1240, 1240, 2413 1240, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 0, 0, 2414 1076, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 2415 1248, 1248, 1248, 1248, 1248, 1248, 1248, 0, 1306, 1090, 2416 2417 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 0, 0, 2418 0, 1092, 1306, 0, 0, 0, 0, 1092, 1092, 1092, 2419 1092, 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 2420 1093, 1093, 0, 0, 0, 1093, 0, 1093, 1306, 0, 2421 0, 1093, 1093, 1093, 1093, 1093, 1093, 1250, 1250, 1250, 2422 1250, 1250, 1250, 1250, 1257, 1257, 1257, 1257, 1257, 1257, 2423 1257, 0, 0, 1093, 1096, 1096, 1096, 1096, 1096, 1096, 2424 1096, 1096, 1096, 0, 0, 0, 1096, 0, 1096, 0, 2425 0, 0, 1096, 1096, 1096, 1096, 1096, 1096, 1282, 1282, 2426 1282, 1282, 1282, 1282, 1282, 1294, 1294, 1294, 1294, 1294, 2427 2428 1294, 1294, 0, 0, 1096, 1099, 1099, 1099, 1099, 1099, 2429 1099, 1099, 1099, 1099, 0, 0, 0, 1099, 0, 1099, 2430 0, 0, 0, 1099, 1099, 1099, 1099, 1099, 1099, 1303, 2431 1303, 1303, 1303, 1303, 1303, 1303, 1312, 1312, 1312, 1312, 2432 1312, 1312, 1312, 1314, 0, 1099, 1102, 1102, 1102, 1102, 2433 1102, 1102, 1102, 1102, 1102, 0, 1315, 1314, 1102, 0, 2434 1102, 0, 0, 0, 1102, 1102, 1102, 1102, 1102, 1102, 2435 1315, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 0, 0, 2436 0, 0, 0, 1314, 1323, 0, 1102, 1105, 1105, 1105, 2437 1105, 1105, 1105, 1105, 1105, 1105, 1315, 1324, 1323, 1105, 2438 2439 0, 1105, 0, 0, 0, 1105, 1105, 1105, 1105, 1105, 2440 1105, 1324, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 0, 2441 0, 0, 0, 0, 1323, 1348, 0, 1105, 1110, 1110, 2442 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1324, 0, 1348, 2443 1110, 0, 0, 0, 0, 0, 1110, 1110, 1110, 1110, 2444 1110, 1110, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 2445 1117, 0, 0, 0, 1117, 1348, 0, 0, 0, 0, 2446 1117, 1117, 1117, 1117, 1117, 1117, 1127, 1127, 1127, 1127, 2447 1127, 1127, 1127, 1127, 1127, 0, 0, 0, 1127, 0, 2448 0, 0, 0, 0, 1127, 1127, 1127, 1127, 1127, 1127, 2449 2450 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 0, 2451 0, 0, 1140, 0, 0, 0, 0, 0, 1140, 1140, 2452 1140, 1140, 1140, 1140, 1154, 1154, 1154, 1154, 1154, 1154, 2453 1154, 1154, 1154, 0, 0, 0, 1154, 0, 0, 0, 2454 0, 0, 1154, 1154, 1154, 1154, 1154, 1154, 1168, 1168, 2455 1168, 1168, 1168, 1168, 1168, 1168, 1168, 0, 0, 0, 2456 1168, 0, 0, 0, 0, 0, 1168, 1168, 1168, 1168, 2457 1168, 1168, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 2458 1180, 0, 0, 0, 1180, 0, 0, 0, 0, 0, 2459 1180, 1180, 1180, 1180, 1180, 1180, 1192, 1192, 1192, 1192, 2460 2461 1192, 1192, 1192, 1192, 1192, 0, 0, 0, 1192, 0, 2462 1192, 0, 0, 1349, 1192, 1192, 1192, 1192, 1192, 1192, 2463 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1349, 1354, 1354, 2464 1354, 1354, 1354, 1354, 1354, 0, 1192, 1196, 1196, 1196, 2465 1196, 1196, 1196, 1196, 1196, 1196, 0, 0, 0, 1196, 2466 0, 0, 0, 1349, 0, 1196, 1196, 1196, 1196, 1196, 2467 1196, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 2468 0, 0, 0, 1199, 0, 0, 0, 0, 0, 1199, 2469 1199, 1199, 1199, 1199, 1199, 1202, 1202, 1202, 1202, 1202, 2470 1202, 1202, 1202, 1202, 0, 0, 0, 1202, 0, 0, 2471 2472 0, 0, 0, 1202, 1202, 1202, 1202, 1202, 1202, 1205, 2473 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 0, 2474 0, 1205, 0, 0, 0, 0, 0, 1205, 1205, 1205, 2475 1205, 1205, 1205, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 2476 1208, 1208, 0, 0, 0, 1208, 0, 0, 0, 0, 2477 0, 1208, 1208, 1208, 1208, 1208, 1208, 1213, 1213, 1213, 2478 1213, 1213, 1213, 1213, 1213, 1213, 0, 0, 0, 1213, 2479 0, 0, 0, 0, 0, 1213, 1213, 1213, 1213, 1213, 2480 1213, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 2481 0, 0, 0, 1265, 0, 0, 0, 0, 0, 1265, 2482 2483 1265, 1265, 1265, 1265, 1265, 1273, 1273, 1273, 1273, 1273, 2484 1273, 1273, 1273, 1273, 0, 0, 0, 1273, 0, 0, 2485 0, 0, 0, 1273, 1273, 1273, 1273, 1273, 1273, 1358, 2486 1358, 1358, 1358, 1358, 1358, 1358, 1362, 1362, 1362, 1362, 2487 1362, 1362, 1362, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 2488 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1375, 1375, 1375, 2489 1375, 1375, 1375, 1375, 1377, 1378, 1386, 1386, 1386, 1386, 2490 1386, 1386, 1386, 0, 0, 0, 0, 0, 1377, 1378, 2491 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1393, 1393, 1393, 2492 1393, 1393, 1393, 1393, 1397, 1397, 1397, 1397, 1397, 1397, 2493 2494 1397, 0, 0, 0, 1377, 1378, 1401, 1401, 1401, 1401, 2495 1401, 1401, 1401, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 2496 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1413, 1413, 1413, 2497 1413, 1413, 1413, 1413, 1422, 1422, 1422, 1422, 1422, 1422, 2498 1422, 1434, 0, 0, 0, 0, 1434, 1434, 1434, 1435, 2499 0, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1436, 0, 2500 1436, 1437, 1437, 1437, 1438, 1438, 1438, 1439, 1439, 1439, 2501 1440, 1440, 1440, 1441, 1441, 1441, 1442, 1442, 1442, 1443, 2502 1443, 1443, 1444, 1444, 1444, 1445, 1445, 1445, 1446, 0, 2503 1446, 1447, 1447, 1447, 1448, 1448, 1448, 1449, 1449, 1449, 2504 2505 1450, 1450, 1450, 1451, 0, 1451, 1452, 1452, 1452, 1453, 2506 1453, 0, 0, 1453, 1454, 1454, 1454, 1455, 1455, 1455, 2507 1456, 1456, 1456, 1457, 1457, 1457, 1458, 1458, 1458, 1459, 2508 1459, 1459, 1460, 1460, 1460, 1461, 1461, 1461, 1462, 1462, 2509 1462, 1463, 1463, 0, 0, 1463, 1464, 1464, 1464, 1465, 2510 1465, 1465, 1466, 0, 1466, 1467, 1467, 1467, 1468, 1468, 2511 1468, 1469, 0, 1469, 1470, 1470, 1470, 1471, 1471, 1471, 2512 1472, 1472, 1472, 1473, 1473, 1473, 1474, 1474, 1474, 1475, 2513 0, 1475, 1476, 0, 1476, 1477, 1477, 1477, 1478, 1478, 2514 1478, 1479, 0, 1479, 1480, 1480, 0, 0, 1480, 1481, 2515 2516 1481, 0, 0, 1481, 1482, 1482, 1482, 1483, 1483, 1483, 2517 1484, 1484, 0, 1484, 1485, 1485, 1485, 1486, 1486, 1486, 2518 1487, 1487, 1487, 1488, 1488, 1488, 1489, 1489, 1489, 1490, 2519 1490, 1490, 1491, 1491, 1491, 1492, 1492, 0, 0, 1492, 2520 1493, 1493, 1493, 1494, 1494, 1494, 1495, 1495, 0, 1495, 2521 1496, 1496, 0, 0, 1496, 1497, 1497, 0, 1497, 1498, 2522 1498, 1499, 1499, 0, 0, 1499, 1500, 1500, 1500, 1501, 2523 1501, 1501, 1502, 1502, 0, 1502, 1503, 0, 1503, 1504, 2524 0, 1504, 1505, 1505, 1505, 1506, 1506, 1506, 1507, 0, 2525 1507, 1508, 1508, 1508, 1509, 1509, 1509, 1510, 1510, 1510, 2526 2527 1511, 1511, 1511, 1512, 1512, 1512, 1513, 1513, 1513, 1514, 2528 0, 1514, 1515, 0, 1515, 1516, 1516, 1516, 1517, 1517, 2529 1517, 1518, 0, 1518, 1519, 0, 1519, 1520, 0, 1520, 2530 1521, 1521, 1521, 1522, 1522, 1522, 1523, 0, 1523, 1524, 2531 0, 0, 1524, 1525, 1525, 0, 1525, 1526, 1526, 0, 2532 0, 1526, 1527, 1527, 0, 1527, 1528, 1528, 1529, 1529, 2533 0, 0, 1529, 1530, 1530, 1530, 1531, 1531, 1531, 1532, 2534 1532, 0, 1532, 1533, 1533, 1533, 0, 1533, 1533, 1534, 2535 1534, 1534, 1535, 1535, 1535, 1536, 1536, 1536, 1537, 1537, 2536 1537, 1538, 1538, 1538, 1539, 1539, 1539, 1540, 1540, 1540, 2537 2538 1541, 1541, 1541, 1542, 1542, 0, 0, 1542, 1543, 1543, 2539 1543, 1544, 1544, 1544, 1545, 1545, 0, 1545, 1546, 1546, 2540 0, 0, 1546, 1547, 1547, 0, 1547, 1548, 1548, 1549, 2541 1549, 0, 0, 1549, 1550, 1550, 1550, 1551, 1551, 1551, 2542 1552, 1552, 0, 1552, 1553, 0, 0, 1553, 1554, 1554, 2543 0, 1554, 1555, 1555, 0, 0, 1555, 1556, 1556, 0, 2544 1556, 1557, 1557, 1558, 1558, 0, 0, 1558, 1559, 1559, 2545 1559, 1560, 1560, 1560, 1561, 1561, 0, 1561, 1562, 0, 2546 1562, 1563, 0, 1563, 1564, 0, 1564, 1565, 1565, 1565, 2547 1566, 1566, 1566, 1567, 0, 1567, 1568, 1568, 1568, 0, 2548 2549 1568, 1568, 1569, 1569, 1569, 1570, 1570, 1570, 1571, 1571, 2550 1571, 1572, 1572, 1572, 1573, 1573, 1573, 1574, 1574, 1574, 2551 1575, 1575, 1575, 1576, 0, 1576, 1577, 0, 1577, 1578, 2552 1578, 1578, 1579, 1579, 1579, 1580, 0, 1580, 1581, 0, 2553 1581, 1582, 0, 1582, 1583, 1583, 1583, 1584, 1584, 1584, 2554 1585, 0, 1585, 1586, 0, 1586, 1587, 0, 1587, 1588, 2555 0, 1588, 1589, 1589, 1589, 1590, 1590, 1590, 1591, 0, 2556 1591, 1592, 0, 1592, 1593, 0, 0, 1593, 1594, 1594, 2557 0, 1594, 1595, 1595, 0, 0, 1595, 1596, 1596, 0, 2558 1596, 1597, 1597, 1598, 1598, 0, 0, 1598, 1599, 1599, 2559 2560 1599, 1600, 1600, 1600, 1601, 1601, 0, 1601, 1602, 1602, 2561 1602, 0, 1602, 1602, 1603, 1603, 1603, 1604, 1604, 1604, 2562 1605, 1605, 1605, 1606, 1606, 1606, 1607, 1607, 1607, 1608, 2563 1608, 1608, 1609, 1609, 1609, 1610, 1610, 1610, 1611, 1611, 2564 0, 0, 1611, 1612, 1612, 1612, 1613, 1613, 1613, 1614, 2565 1614, 0, 1614, 1615, 1615, 0, 0, 1615, 1616, 1616, 2566 0, 1616, 1617, 1617, 1618, 1618, 0, 0, 1618, 1619, 2567 1619, 1619, 1620, 1620, 1620, 1621, 1621, 0, 1621, 1622, 2568 0, 0, 1622, 1623, 1623, 0, 1623, 1624, 1624, 0, 2569 0, 1624, 1625, 1625, 0, 1625, 1626, 1626, 1627, 1627, 2570 2571 0, 0, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 1630, 2572 1630, 0, 1630, 1631, 0, 1631, 1632, 0, 0, 1632, 2573 1633, 1633, 0, 1633, 1634, 1634, 0, 0, 1634, 1635, 2574 1635, 0, 1635, 1636, 1636, 1637, 1637, 0, 0, 1637, 2575 1638, 1638, 1638, 1639, 1639, 1639, 1640, 1640, 0, 1640, 2576 1641, 0, 1641, 1642, 0, 1642, 1643, 0, 1643, 1644, 2577 1644, 1644, 1645, 1645, 1645, 1646, 0, 1646, 1647, 1647, 2578 1647, 0, 1647, 1647, 1648, 1648, 1648, 1649, 1649, 1649, 2579 1650, 1650, 1650, 1651, 1651, 1651, 1652, 1652, 1652, 1653, 2580 1653, 1653, 1654, 1654, 1654, 1655, 1655, 1655, 1656, 1656, 2581 2582 1656, 1657, 1657, 1657, 1658, 0, 1658, 1659, 0, 1659, 2583 1660, 1660, 1660, 1661, 1661, 1661, 1662, 1662, 1662, 1663, 2584 0, 1663, 1664, 0, 1664, 1665, 0, 1665, 1666, 1666, 2585 1666, 1667, 1667, 1667, 1668, 1668, 1668, 1669, 0, 1669, 2586 1670, 0, 1670, 1671, 0, 1671, 1672, 0, 1672, 1673, 2587 1673, 1673, 1674, 1674, 1674, 1675, 1675, 1675, 1676, 0, 2588 1676, 1677, 0, 1677, 1678, 0, 1678, 1679, 0, 1679, 2589 1680, 1680, 1680, 1681, 1681, 1681, 1682, 1682, 1682, 1683, 2590 0, 1683, 1684, 0, 1684, 1685, 0, 0, 1685, 1686, 2591 1686, 0, 1686, 1687, 1687, 0, 0, 1687, 1688, 1688, 2592 2593 0, 1688, 1689, 1689, 1690, 1690, 0, 0, 1690, 1691, 2594 1691, 1691, 1692, 1692, 1692, 1693, 1693, 0, 1693, 1694, 2595 1694, 1694, 0, 1694, 1694, 1695, 1695, 1695, 1696, 1696, 2596 1696, 1697, 1697, 1697, 1698, 1698, 1698, 1699, 1699, 1699, 2597 1700, 1700, 1700, 1701, 1701, 1701, 1702, 1702, 1702, 1703, 2598 0, 1703, 1704, 1704, 1704, 1705, 1705, 0, 0, 1705, 2599 1706, 1706, 1706, 1707, 1707, 1707, 1708, 1708, 0, 1708, 2600 1709, 1709, 0, 0, 1709, 1710, 1710, 0, 1710, 1711, 2601 1711, 1712, 1712, 0, 0, 1712, 1713, 1713, 1713, 1714, 2602 1714, 1714, 1715, 1715, 0, 1715, 1716, 0, 0, 1716, 2603 2604 1717, 1717, 0, 1717, 1718, 1718, 0, 0, 1718, 1719, 2605 1719, 0, 1719, 1720, 1720, 1721, 1721, 0, 0, 1721, 2606 1722, 1722, 1722, 1723, 1723, 1723, 1724, 1724, 0, 1724, 2607 1725, 0, 1725, 1726, 0, 0, 1726, 1727, 1727, 0, 2608 1727, 1728, 1728, 0, 0, 1728, 1729, 1729, 0, 1729, 2609 1730, 1730, 1731, 1731, 0, 0, 1731, 1732, 1732, 1732, 2610 1733, 1733, 1733, 1734, 1734, 0, 1734, 1735, 0, 1735, 2611 1736, 0, 0, 1736, 1737, 1737, 0, 1737, 1738, 1738, 2612 0, 0, 1738, 1739, 1739, 0, 1739, 1740, 1740, 1741, 2613 1741, 0, 0, 1741, 1742, 1742, 1742, 1743, 1743, 1743, 2614 2615 1744, 1744, 0, 1744, 1745, 0, 1745, 1746, 0, 1746, 2616 1747, 0, 1747, 1748, 1748, 1748, 1749, 0, 1749, 1750, 2617 1750, 1750, 1751, 0, 1751, 1752, 1752, 1752, 0, 1752, 2618 1752, 1753, 0, 1753, 1754, 1754, 1754, 1755, 0, 1755, 2619 1756, 1756, 1756, 1757, 0, 1757, 1758, 1758, 1758, 1759, 2620 0, 1759, 1760, 1760, 1760, 1761, 0, 1761, 1762, 1762, 2621 1762, 1763, 0, 1763, 1764, 1764, 1764, 1765, 1765, 0, 2622 0, 1765, 1766, 1766, 1766, 1767, 1767, 1767, 1768, 1768, 2623 1768, 1769, 1769, 0, 1769, 1770, 1770, 1770, 1771, 0, 2624 1771, 1772, 1772, 1772, 1773, 1773, 1773, 1774, 0, 1774, 2625 2626 1775, 0, 1775, 1776, 1776, 1776, 1777, 1777, 1777, 1778, 2627 0, 1778, 1779, 0, 1779, 1780, 0, 1780, 1781, 1781, 2628 1781, 1782, 1782, 1782, 1783, 0, 1783, 1784, 0, 1784, 2629 1785, 0, 1785, 1786, 1786, 1786, 1787, 1787, 1787, 1788, 2630 0, 1788, 1789, 0, 1789, 1790, 0, 1790, 1791, 1791, 2631 1791, 1792, 1792, 1792, 1793, 0, 1793, 1794, 0, 0, 2632 1794, 1795, 1795, 0, 1795, 1796, 1796, 0, 0, 1796, 2633 1797, 1797, 0, 1797, 1798, 1798, 1799, 1799, 0, 0, 2634 1799, 1800, 1800, 1800, 1801, 0, 1801, 1802, 1802, 0, 2635 1802, 1803, 1803, 1803, 0, 1803, 1803, 1804, 1804, 1804, 2636 2637 1805, 1805, 1805, 1806, 0, 1806, 1807, 0, 1807, 1808, 2638 0, 1808, 1809, 0, 1809, 1810, 0, 1810, 1811, 0, 2639 1811, 1812, 0, 1812, 1813, 1813, 1813, 1814, 1814, 1814, 2640 1815, 0, 1815, 1816, 1816, 0, 0, 1816, 1817, 1817, 2641 0, 1817, 1818, 1818, 1819, 0, 1819, 1820, 0, 0, 2642 1820, 1821, 1821, 0, 1821, 1822, 1822, 0, 0, 1822, 2643 1823, 1823, 0, 1823, 1824, 1824, 1825, 0, 1825, 1826, 2644 0, 1826, 1827, 0, 0, 1827, 1828, 1828, 0, 1828, 2645 1829, 1829, 0, 0, 1829, 1830, 1830, 0, 1830, 1831, 2646 1831, 1832, 0, 1832, 1833, 0, 1833, 1834, 0, 0, 2647 2648 1834, 1835, 1835, 0, 1835, 1836, 1836, 0, 0, 1836, 2649 1837, 1837, 0, 1837, 1838, 1838, 1839, 0, 1839, 1840, 2650 0, 1840, 1841, 0, 0, 1841, 1842, 1842, 0, 1842, 2651 1843, 1843, 0, 0, 1843, 1844, 1844, 0, 1844, 1845, 2652 1845, 1846, 0, 1846, 1847, 0, 1847, 1848, 0, 1848, 2653 1849, 0, 1849, 1850, 1850, 1850, 1851, 0, 1851, 1852, 2654 1852, 1852, 0, 1852, 1852, 1853, 0, 1853, 1854, 0, 2655 1854, 1855, 0, 1855, 1856, 0, 1856, 1857, 0, 1857, 2656 1858, 0, 1858, 1859, 0, 1859, 1860, 1860, 0, 0, 2657 1860, 1861, 1861, 0, 1861, 1862, 1862, 1863, 0, 1863, 2658 2659 1864, 0, 1864, 1865, 0, 1865, 1866, 0, 1866, 1867, 2660 0, 1867, 1868, 0, 1868, 1869, 0, 1869, 1870, 0, 2661 1870, 1871, 0, 1871, 1872, 0, 1872, 1873, 0, 0, 2662 1873, 1874, 1874, 0, 0, 1874, 1875, 0, 1875, 1876, 2663 0, 1876, 1877, 0, 1877, 1878, 0, 0, 1878, 1879, 2664 0, 0, 1879, 1880, 0, 0, 1880, 1881, 0, 0, 2665 1881, 1882, 0, 0, 1882, 1883, 0, 1883, 1884, 0, 2666 1884, 1885, 0, 0, 1885, 1886, 0, 1886, 1887, 0, 2667 1887, 1888, 0, 1888, 1889, 0, 1889, 1890, 0, 1890, 2668 1891, 0, 0, 1891, 1892, 0, 1892, 1893, 0, 1893, 2669 2670 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 2671 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 2672 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 2673 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 2674 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 2675 1433, 1433, 1433, 1433 2676 } ; 2677 2678 static __thread yy_state_type yy_last_accepting_state; 2679 static char *yy_last_accepting_cpos; 2680 2681 extern __thread int sfbpf__flex_debug; 2682 __thread int sfbpf__flex_debug = 0; 2683 2684 /* The intent behind this definition is that it'll catch 2685 * any uses of REJECT which flex missed. 2686 */ 2687 #define REJECT reject_used_but_not_detected 2688 #define yymore() yymore_used_but_not_detected 2689 #define YY_MORE_ADJ 0 2690 #define YY_RESTORE_YY_MORE_OFFSET 2691 __thread char *sfbpf_text; 2692 #line 1 "./scanner.l" 2693 #line 2 "./scanner.l" 2694 /* 2695 * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 2696 * The Regents of the University of California. All rights reserved. 2697 * 2698 * Redistribution and use in source and binary forms, with or without 2699 * modification, are permitted provided that: (1) source code distributions 2700 * retain the above copyright notice and this paragraph in its entirety, (2) 2701 * distributions including binary code include the above copyright notice and 2702 * this paragraph in its entirety in the documentation or other materials 2703 * provided with the distribution, and (3) all advertising materials mentioning 2704 * features or use of this software display the following acknowledgement: 2705 * ``This product includes software developed by the University of California, 2706 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 2707 * the University nor the names of its contributors may be used to endorse 2708 * or promote products derived from this software without specific prior 2709 * written permission. 2710 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 2711 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 2712 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 2713 */ 2714 2715 #ifndef lint 2716 static const char __attribute__ ((unused)) rcsid[] = 2717 "@(#) $Header: /usr/cvsroot/sfeng/ims/src/libraries/daq/daq/sfbpf/scanner.l,v 1.2 2010/05/06 19:13:25 maltizer Exp $ (LBL)"; 2718 #endif 2719 2720 #ifdef HAVE_CONFIG_H 2721 #include "config.h" 2722 #endif 2723 2724 #ifdef WIN32 2725 #include "win32-stdinc.h" 2726 #else /* WIN32 */ 2727 #if HAVE_INTTYPES_H 2728 #include <inttypes.h> 2729 #elif HAVE_STDINT_H 2730 #include <stdint.h> 2731 #endif 2732 #ifdef HAVE_SYS_BITYPES_H 2733 #include <sys/bitypes.h> 2734 #endif 2735 #include <sys/types.h> 2736 #endif /* WIN32 */ 2737 2738 #include <ctype.h> 2739 #include <string.h> 2740 2741 #include "sfbpf-int.h" 2742 2743 #include "gencode.h" 2744 #ifdef INET6 2745 #ifdef WIN32 2746 #include "win32-stdinc.h" 2747 2748 #ifdef __MINGW32__ 2749 #include "IP6_misc.h" 2750 #endif 2751 #else /* WIN32 */ 2752 #include <sys/socket.h> /* for "struct sockaddr" in "struct addrinfo" */ 2753 #include <netdb.h> /* for "struct addrinfo" */ 2754 #endif /* WIN32 */ 2755 2756 /* Workaround for AIX 4.3 */ 2757 #if !defined(AI_NUMERICHOST) 2758 #define AI_NUMERICHOST 0x04 2759 #endif 2760 #endif /*INET6*/ 2761 #include "namedb.h" 2762 #include "tokdefs.h" 2763 2764 static int stoi(char *); 2765 static inline int xdtoi(int); 2766 2767 #ifdef FLEX_SCANNER 2768 #define YY_NO_UNPUT 2769 static __thread YY_BUFFER_STATE in_buffer; 2770 #else 2771 static __thread const char *in_buffer; 2772 2773 #undef getc 2774 #define getc(fp) (*in_buffer == 0 ? EOF : *in_buffer++) 2775 #endif 2776 2777 #define yylval pcap_lval 2778 extern __thread YYSTYPE yylval; 2779 2780 #line 2781 "sf_scanner.c" 2781 2782 #define INITIAL 0 2783 2784 #ifndef YY_NO_UNISTD_H 2785 /* Special case for "unistd.h", since it is non-ANSI. We include it way 2786 * down here because we want the user's section 1 to have been scanned first. 2787 * The user has a chance to override it with an option. 2788 */ 2789 #include <unistd.h> 2790 #endif 2791 2792 #ifndef YY_EXTRA_TYPE 2793 #define YY_EXTRA_TYPE void * 2794 #endif 2795 2796 static int yy_init_globals (void ); 2797 2798 /* Accessor methods to globals. 2799 These are made visible to non-reentrant scanners for convenience. */ 2800 2801 int sfbpf_lex_destroy (void ); 2802 2803 int sfbpf_get_debug (void ); 2804 2805 void sfbpf_set_debug (int debug_flag ); 2806 2807 YY_EXTRA_TYPE sfbpf_get_extra (void ); 2808 2809 void sfbpf_set_extra (YY_EXTRA_TYPE user_defined ); 2810 2811 /* Macros after this point can all be overridden by user definitions in 2812 * section 1. 2813 */ 2814 2815 #ifndef YY_SKIP_YYWRAP 2816 #ifdef __cplusplus 2817 extern "C" int sfbpf_wrap (void ); 2818 #else 2819 extern int sfbpf_wrap (void ); 2820 #endif 2821 #endif 2822 2823 #ifndef yytext_ptr 2824 static void yy_flex_strncpy (char *,yyconst char *,int ); 2825 #endif 2826 2827 #ifdef YY_NEED_STRLEN 2828 static int yy_flex_strlen (yyconst char * ); 2829 #endif 2830 2831 #ifndef YY_NO_INPUT 2832 2833 #ifdef __cplusplus 2834 static int yyinput (void ); 2835 #else 2836 static int input (void ); 2837 #endif 2838 2839 #endif 2840 2841 /* Amount of stuff to slurp up with each read. */ 2842 #ifndef YY_READ_BUF_SIZE 2843 #ifdef __ia64__ 2844 /* On IA-64, the buffer size is 16k, not 8k */ 2845 #define YY_READ_BUF_SIZE 16384 2846 #else 2847 #define YY_READ_BUF_SIZE 8192 2848 #endif /* __ia64__ */ 2849 #endif 2850 2851 /* Copy whatever the last rule matched to the standard output. */ 2852 #ifndef ECHO 2853 /* This used to be an fputs(), but since the string might contain NUL's, 2854 * we now use fwrite(). 2855 */ 2856 #define ECHO do { if (fwrite( sfbpf_text, sfbpf_leng, 1, sfbpf_out )) {} } while (0) 2857 #endif 2858 2859 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2860 * is returned in "result". 2861 */ 2862 #ifndef YY_INPUT 2863 #define YY_INPUT(buf,result,max_size) \ 2864 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 2865 { \ 2866 int c = '*'; \ 2867 size_t n; \ 2868 for ( n = 0; n < max_size && \ 2869 (c = getc( sfbpf_in )) != EOF && c != '\n'; ++n ) \ 2870 buf[n] = (char) c; \ 2871 if ( c == '\n' ) \ 2872 buf[n++] = (char) c; \ 2873 if ( c == EOF && ferror( sfbpf_in ) ) \ 2874 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2875 result = n; \ 2876 } \ 2877 else \ 2878 { \ 2879 errno=0; \ 2880 while ( (result = fread(buf, 1, max_size, sfbpf_in))==0 && ferror(sfbpf_in)) \ 2881 { \ 2882 if( errno != EINTR) \ 2883 { \ 2884 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2885 break; \ 2886 } \ 2887 errno=0; \ 2888 clearerr(sfbpf_in); \ 2889 } \ 2890 }\ 2891 \ 2892 2893 #endif 2894 2895 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2896 * we don't want an extra ';' after the "return" because that will cause 2897 * some compilers to complain about unreachable statements. 2898 */ 2899 #ifndef yyterminate 2900 #define yyterminate() return YY_NULL 2901 #endif 2902 2903 /* Number of entries by which start-condition stack grows. */ 2904 #ifndef YY_START_STACK_INCR 2905 #define YY_START_STACK_INCR 25 2906 #endif 2907 2908 /* Report a fatal error. */ 2909 #ifndef YY_FATAL_ERROR 2910 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 2911 #endif 2912 2913 /* end tables serialization structures and prototypes */ 2914 2915 /* Default declaration of generated scanner - a define so the user can 2916 * easily add parameters. 2917 */ 2918 #ifndef YY_DECL 2919 #define YY_DECL_IS_OURS 1 2920 2921 extern int sfbpf_lex (void); 2922 2923 #define YY_DECL int sfbpf_lex (void) 2924 #endif /* !YY_DECL */ 2925 2926 /* Code executed at the beginning of each rule, after sfbpf_text and sfbpf_leng 2927 * have been set up. 2928 */ 2929 #ifndef YY_USER_ACTION 2930 #define YY_USER_ACTION 2931 #endif 2932 2933 /* Code executed at the end of each rule. */ 2934 #ifndef YY_BREAK 2935 #define YY_BREAK break; 2936 #endif 2937 2938 #define YY_RULE_SETUP \ 2939 YY_USER_ACTION 2940 2941 /** The main scanner function which does all the work. 2942 */ 2943 YY_DECL 2944 { 2945 register yy_state_type yy_current_state; 2946 register char *yy_cp, *yy_bp; 2947 register int yy_act; 2948 2949 #line 184 "./scanner.l" 2950 2951 #line 2952 "sf_scanner.c" 2952 2953 if ( !(yy_init) ) 2954 { 2955 (yy_init) = 1; 2956 2957 #ifdef YY_USER_INIT 2958 YY_USER_INIT; 2959 #endif 2960 2961 if ( ! (yy_start) ) 2962 (yy_start) = 1; /* first start state */ 2963 2964 if ( ! sfbpf_in ) 2965 sfbpf_in = stdin; 2966 2967 if ( ! sfbpf_out ) 2968 sfbpf_out = stdout; 2969 2970 if ( ! YY_CURRENT_BUFFER ) { 2971 sfbpf_ensure_buffer_stack (); 2972 YY_CURRENT_BUFFER_LVALUE = 2973 sfbpf__create_buffer(sfbpf_in,YY_BUF_SIZE ); 2974 } 2975 2976 sfbpf__load_buffer_state( ); 2977 } 2978 2979 while ( 1 ) /* loops until end-of-file is reached */ 2980 { 2981 yy_cp = (yy_c_buf_p); 2982 2983 /* Support of sfbpf_text. */ 2984 *yy_cp = (yy_hold_char); 2985 2986 /* yy_bp points to the position in yy_ch_buf of the start of 2987 * the current run. 2988 */ 2989 yy_bp = yy_cp; 2990 2991 yy_current_state = (yy_start); 2992 yy_match: 2993 do 2994 { 2995 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 2996 if ( yy_accept[yy_current_state] ) 2997 { 2998 (yy_last_accepting_state) = yy_current_state; 2999 (yy_last_accepting_cpos) = yy_cp; 3000 } 3001 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3002 { 3003 yy_current_state = (int) yy_def[yy_current_state]; 3004 if ( yy_current_state >= 1434 ) 3005 yy_c = yy_meta[(unsigned int) yy_c]; 3006 } 3007 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3008 ++yy_cp; 3009 } 3010 while ( yy_base[yy_current_state] != 7401 ); 3011 3012 yy_find_action: 3013 yy_act = yy_accept[yy_current_state]; 3014 if ( yy_act == 0 ) 3015 { /* have to back up */ 3016 yy_cp = (yy_last_accepting_cpos); 3017 yy_current_state = (yy_last_accepting_state); 3018 yy_act = yy_accept[yy_current_state]; 3019 } 3020 3021 YY_DO_BEFORE_ACTION; 3022 3023 do_action: /* This label is used only to access EOF actions. */ 3024 3025 switch ( yy_act ) 3026 { /* beginning of action switch */ 3027 case 0: /* must back up */ 3028 /* undo the effects of YY_DO_BEFORE_ACTION */ 3029 *yy_cp = (yy_hold_char); 3030 yy_cp = (yy_last_accepting_cpos); 3031 yy_current_state = (yy_last_accepting_state); 3032 goto yy_find_action; 3033 3034 case 1: 3035 YY_RULE_SETUP 3036 #line 185 "./scanner.l" 3037 return DST; 3038 YY_BREAK 3039 case 2: 3040 YY_RULE_SETUP 3041 #line 186 "./scanner.l" 3042 return SRC; 3043 YY_BREAK 3044 case 3: 3045 YY_RULE_SETUP 3046 #line 188 "./scanner.l" 3047 return LINK; 3048 YY_BREAK 3049 case 4: 3050 YY_RULE_SETUP 3051 #line 189 "./scanner.l" 3052 return LINK; 3053 YY_BREAK 3054 case 5: 3055 YY_RULE_SETUP 3056 #line 190 "./scanner.l" 3057 return ARP; 3058 YY_BREAK 3059 case 6: 3060 YY_RULE_SETUP 3061 #line 191 "./scanner.l" 3062 return RARP; 3063 YY_BREAK 3064 case 7: 3065 YY_RULE_SETUP 3066 #line 192 "./scanner.l" 3067 return IP; 3068 YY_BREAK 3069 case 8: 3070 YY_RULE_SETUP 3071 #line 193 "./scanner.l" 3072 return SCTP; 3073 YY_BREAK 3074 case 9: 3075 YY_RULE_SETUP 3076 #line 194 "./scanner.l" 3077 return TCP; 3078 YY_BREAK 3079 case 10: 3080 YY_RULE_SETUP 3081 #line 195 "./scanner.l" 3082 return UDP; 3083 YY_BREAK 3084 case 11: 3085 YY_RULE_SETUP 3086 #line 196 "./scanner.l" 3087 return ICMP; 3088 YY_BREAK 3089 case 12: 3090 YY_RULE_SETUP 3091 #line 197 "./scanner.l" 3092 return IGMP; 3093 YY_BREAK 3094 case 13: 3095 YY_RULE_SETUP 3096 #line 198 "./scanner.l" 3097 return IGRP; 3098 YY_BREAK 3099 case 14: 3100 YY_RULE_SETUP 3101 #line 199 "./scanner.l" 3102 return PIM; 3103 YY_BREAK 3104 case 15: 3105 YY_RULE_SETUP 3106 #line 200 "./scanner.l" 3107 return VRRP; 3108 YY_BREAK 3109 case 16: 3110 YY_RULE_SETUP 3111 #line 201 "./scanner.l" 3112 return RADIO; 3113 YY_BREAK 3114 case 17: 3115 YY_RULE_SETUP 3116 #line 203 "./scanner.l" 3117 { 3118 #ifdef INET6 3119 return IPV6; 3120 #else 3121 bpf_error("%s not supported", sfbpf_text); 3122 #endif 3123 } 3124 YY_BREAK 3125 case 18: 3126 YY_RULE_SETUP 3127 #line 210 "./scanner.l" 3128 { 3129 #ifdef INET6 3130 return ICMPV6; 3131 #else 3132 bpf_error("%s not supported", sfbpf_text); 3133 #endif 3134 } 3135 YY_BREAK 3136 case 19: 3137 YY_RULE_SETUP 3138 #line 217 "./scanner.l" 3139 return AH; 3140 YY_BREAK 3141 case 20: 3142 YY_RULE_SETUP 3143 #line 218 "./scanner.l" 3144 return ESP; 3145 YY_BREAK 3146 case 21: 3147 YY_RULE_SETUP 3148 #line 220 "./scanner.l" 3149 return ATALK; 3150 YY_BREAK 3151 case 22: 3152 YY_RULE_SETUP 3153 #line 221 "./scanner.l" 3154 return AARP; 3155 YY_BREAK 3156 case 23: 3157 YY_RULE_SETUP 3158 #line 222 "./scanner.l" 3159 return DECNET; 3160 YY_BREAK 3161 case 24: 3162 YY_RULE_SETUP 3163 #line 223 "./scanner.l" 3164 return LAT; 3165 YY_BREAK 3166 case 25: 3167 YY_RULE_SETUP 3168 #line 224 "./scanner.l" 3169 return SCA; 3170 YY_BREAK 3171 case 26: 3172 YY_RULE_SETUP 3173 #line 225 "./scanner.l" 3174 return MOPRC; 3175 YY_BREAK 3176 case 27: 3177 YY_RULE_SETUP 3178 #line 226 "./scanner.l" 3179 return MOPDL; 3180 YY_BREAK 3181 case 28: 3182 YY_RULE_SETUP 3183 #line 228 "./scanner.l" 3184 return ISO; 3185 YY_BREAK 3186 case 29: 3187 YY_RULE_SETUP 3188 #line 229 "./scanner.l" 3189 return ESIS; 3190 YY_BREAK 3191 case 30: 3192 YY_RULE_SETUP 3193 #line 230 "./scanner.l" 3194 return ESIS; 3195 YY_BREAK 3196 case 31: 3197 YY_RULE_SETUP 3198 #line 231 "./scanner.l" 3199 return ISIS; 3200 YY_BREAK 3201 case 32: 3202 YY_RULE_SETUP 3203 #line 232 "./scanner.l" 3204 return ISIS; 3205 YY_BREAK 3206 case 33: 3207 YY_RULE_SETUP 3208 #line 233 "./scanner.l" 3209 return L1; 3210 YY_BREAK 3211 case 34: 3212 YY_RULE_SETUP 3213 #line 234 "./scanner.l" 3214 return L2; 3215 YY_BREAK 3216 case 35: 3217 YY_RULE_SETUP 3218 #line 235 "./scanner.l" 3219 return IIH; 3220 YY_BREAK 3221 case 36: 3222 YY_RULE_SETUP 3223 #line 236 "./scanner.l" 3224 return LSP; 3225 YY_BREAK 3226 case 37: 3227 YY_RULE_SETUP 3228 #line 237 "./scanner.l" 3229 return SNP; 3230 YY_BREAK 3231 case 38: 3232 YY_RULE_SETUP 3233 #line 238 "./scanner.l" 3234 return CSNP; 3235 YY_BREAK 3236 case 39: 3237 YY_RULE_SETUP 3238 #line 239 "./scanner.l" 3239 return PSNP; 3240 YY_BREAK 3241 case 40: 3242 YY_RULE_SETUP 3243 #line 241 "./scanner.l" 3244 return CLNP; 3245 YY_BREAK 3246 case 41: 3247 YY_RULE_SETUP 3248 #line 243 "./scanner.l" 3249 return STP; 3250 YY_BREAK 3251 case 42: 3252 YY_RULE_SETUP 3253 #line 245 "./scanner.l" 3254 return IPX; 3255 YY_BREAK 3256 case 43: 3257 YY_RULE_SETUP 3258 #line 247 "./scanner.l" 3259 return NETBEUI; 3260 YY_BREAK 3261 case 44: 3262 YY_RULE_SETUP 3263 #line 249 "./scanner.l" 3264 return HOST; 3265 YY_BREAK 3266 case 45: 3267 YY_RULE_SETUP 3268 #line 250 "./scanner.l" 3269 return NET; 3270 YY_BREAK 3271 case 46: 3272 YY_RULE_SETUP 3273 #line 251 "./scanner.l" 3274 return NETMASK; 3275 YY_BREAK 3276 case 47: 3277 YY_RULE_SETUP 3278 #line 252 "./scanner.l" 3279 return PORT; 3280 YY_BREAK 3281 case 48: 3282 YY_RULE_SETUP 3283 #line 253 "./scanner.l" 3284 return PORTRANGE; 3285 YY_BREAK 3286 case 49: 3287 YY_RULE_SETUP 3288 #line 254 "./scanner.l" 3289 return PROTO; 3290 YY_BREAK 3291 case 50: 3292 YY_RULE_SETUP 3293 #line 255 "./scanner.l" 3294 { 3295 #ifdef NO_PROTOCHAIN 3296 bpf_error("%s not supported", sfbpf_text); 3297 #else 3298 return PROTOCHAIN; 3299 #endif 3300 } 3301 YY_BREAK 3302 case 51: 3303 YY_RULE_SETUP 3304 #line 263 "./scanner.l" 3305 return GATEWAY; 3306 YY_BREAK 3307 case 52: 3308 YY_RULE_SETUP 3309 #line 265 "./scanner.l" 3310 return TYPE; 3311 YY_BREAK 3312 case 53: 3313 YY_RULE_SETUP 3314 #line 266 "./scanner.l" 3315 return SUBTYPE; 3316 YY_BREAK 3317 case 54: 3318 YY_RULE_SETUP 3319 #line 267 "./scanner.l" 3320 return DIR; 3321 YY_BREAK 3322 case 55: 3323 YY_RULE_SETUP 3324 #line 268 "./scanner.l" 3325 return ADDR1; 3326 YY_BREAK 3327 case 56: 3328 YY_RULE_SETUP 3329 #line 269 "./scanner.l" 3330 return ADDR2; 3331 YY_BREAK 3332 case 57: 3333 YY_RULE_SETUP 3334 #line 270 "./scanner.l" 3335 return ADDR3; 3336 YY_BREAK 3337 case 58: 3338 YY_RULE_SETUP 3339 #line 271 "./scanner.l" 3340 return ADDR4; 3341 YY_BREAK 3342 case 59: 3343 YY_RULE_SETUP 3344 #line 273 "./scanner.l" 3345 return LESS; 3346 YY_BREAK 3347 case 60: 3348 YY_RULE_SETUP 3349 #line 274 "./scanner.l" 3350 return GREATER; 3351 YY_BREAK 3352 case 61: 3353 YY_RULE_SETUP 3354 #line 275 "./scanner.l" 3355 return CBYTE; 3356 YY_BREAK 3357 case 62: 3358 YY_RULE_SETUP 3359 #line 276 "./scanner.l" 3360 return TK_BROADCAST; 3361 YY_BREAK 3362 case 63: 3363 YY_RULE_SETUP 3364 #line 277 "./scanner.l" 3365 return TK_MULTICAST; 3366 YY_BREAK 3367 case 64: 3368 YY_RULE_SETUP 3369 #line 279 "./scanner.l" 3370 return AND; 3371 YY_BREAK 3372 case 65: 3373 YY_RULE_SETUP 3374 #line 280 "./scanner.l" 3375 return OR; 3376 YY_BREAK 3377 case 66: 3378 YY_RULE_SETUP 3379 #line 281 "./scanner.l" 3380 return '!'; 3381 YY_BREAK 3382 case 67: 3383 YY_RULE_SETUP 3384 #line 283 "./scanner.l" 3385 return LEN; 3386 YY_BREAK 3387 case 68: 3388 YY_RULE_SETUP 3389 #line 284 "./scanner.l" 3390 return INBOUND; 3391 YY_BREAK 3392 case 69: 3393 YY_RULE_SETUP 3394 #line 285 "./scanner.l" 3395 return OUTBOUND; 3396 YY_BREAK 3397 case 70: 3398 YY_RULE_SETUP 3399 #line 287 "./scanner.l" 3400 return VLAN; 3401 YY_BREAK 3402 case 71: 3403 YY_RULE_SETUP 3404 #line 288 "./scanner.l" 3405 return MPLS; 3406 YY_BREAK 3407 case 72: 3408 YY_RULE_SETUP 3409 #line 289 "./scanner.l" 3410 return PPPOED; 3411 YY_BREAK 3412 case 73: 3413 YY_RULE_SETUP 3414 #line 290 "./scanner.l" 3415 return PPPOES; 3416 YY_BREAK 3417 case 74: 3418 YY_RULE_SETUP 3419 #line 292 "./scanner.l" 3420 return LANE; 3421 YY_BREAK 3422 case 75: 3423 YY_RULE_SETUP 3424 #line 293 "./scanner.l" 3425 return LLC; 3426 YY_BREAK 3427 case 76: 3428 YY_RULE_SETUP 3429 #line 294 "./scanner.l" 3430 return METAC; 3431 YY_BREAK 3432 case 77: 3433 YY_RULE_SETUP 3434 #line 295 "./scanner.l" 3435 return BCC; 3436 YY_BREAK 3437 case 78: 3438 YY_RULE_SETUP 3439 #line 296 "./scanner.l" 3440 return OAM; 3441 YY_BREAK 3442 case 79: 3443 YY_RULE_SETUP 3444 #line 297 "./scanner.l" 3445 return OAMF4; 3446 YY_BREAK 3447 case 80: 3448 YY_RULE_SETUP 3449 #line 298 "./scanner.l" 3450 return OAMF4EC; 3451 YY_BREAK 3452 case 81: 3453 YY_RULE_SETUP 3454 #line 299 "./scanner.l" 3455 return OAMF4SC; 3456 YY_BREAK 3457 case 82: 3458 YY_RULE_SETUP 3459 #line 300 "./scanner.l" 3460 return SC; 3461 YY_BREAK 3462 case 83: 3463 YY_RULE_SETUP 3464 #line 301 "./scanner.l" 3465 return ILMIC; 3466 YY_BREAK 3467 case 84: 3468 YY_RULE_SETUP 3469 #line 302 "./scanner.l" 3470 return VPI; 3471 YY_BREAK 3472 case 85: 3473 YY_RULE_SETUP 3474 #line 303 "./scanner.l" 3475 return VCI; 3476 YY_BREAK 3477 case 86: 3478 YY_RULE_SETUP 3479 #line 304 "./scanner.l" 3480 return CONNECTMSG; 3481 YY_BREAK 3482 case 87: 3483 YY_RULE_SETUP 3484 #line 305 "./scanner.l" 3485 return METACONNECT; 3486 YY_BREAK 3487 case 88: 3488 YY_RULE_SETUP 3489 #line 307 "./scanner.l" 3490 return PF_IFNAME; 3491 YY_BREAK 3492 case 89: 3493 YY_RULE_SETUP 3494 #line 308 "./scanner.l" 3495 return PF_RSET; 3496 YY_BREAK 3497 case 90: 3498 YY_RULE_SETUP 3499 #line 309 "./scanner.l" 3500 return PF_RNR; 3501 YY_BREAK 3502 case 91: 3503 YY_RULE_SETUP 3504 #line 310 "./scanner.l" 3505 return PF_SRNR; 3506 YY_BREAK 3507 case 92: 3508 YY_RULE_SETUP 3509 #line 311 "./scanner.l" 3510 return PF_REASON; 3511 YY_BREAK 3512 case 93: 3513 YY_RULE_SETUP 3514 #line 312 "./scanner.l" 3515 return PF_ACTION; 3516 YY_BREAK 3517 case 94: 3518 YY_RULE_SETUP 3519 #line 314 "./scanner.l" 3520 return FISU; 3521 YY_BREAK 3522 case 95: 3523 YY_RULE_SETUP 3524 #line 315 "./scanner.l" 3525 return LSSU; 3526 YY_BREAK 3527 case 96: 3528 YY_RULE_SETUP 3529 #line 316 "./scanner.l" 3530 return LSSU; 3531 YY_BREAK 3532 case 97: 3533 YY_RULE_SETUP 3534 #line 317 "./scanner.l" 3535 return MSU; 3536 YY_BREAK 3537 case 98: 3538 YY_RULE_SETUP 3539 #line 318 "./scanner.l" 3540 return SIO; 3541 YY_BREAK 3542 case 99: 3543 YY_RULE_SETUP 3544 #line 319 "./scanner.l" 3545 return OPC; 3546 YY_BREAK 3547 case 100: 3548 YY_RULE_SETUP 3549 #line 320 "./scanner.l" 3550 return DPC; 3551 YY_BREAK 3552 case 101: 3553 YY_RULE_SETUP 3554 #line 321 "./scanner.l" 3555 return SLS; 3556 YY_BREAK 3557 case 102: 3558 /* rule 102 can match eol */ 3559 YY_RULE_SETUP 3560 #line 323 "./scanner.l" 3561 ; 3562 YY_BREAK 3563 case 103: 3564 YY_RULE_SETUP 3565 #line 324 "./scanner.l" 3566 return sfbpf_text[0]; 3567 YY_BREAK 3568 case 104: 3569 YY_RULE_SETUP 3570 #line 325 "./scanner.l" 3571 return GEQ; 3572 YY_BREAK 3573 case 105: 3574 YY_RULE_SETUP 3575 #line 326 "./scanner.l" 3576 return LEQ; 3577 YY_BREAK 3578 case 106: 3579 YY_RULE_SETUP 3580 #line 327 "./scanner.l" 3581 return NEQ; 3582 YY_BREAK 3583 case 107: 3584 YY_RULE_SETUP 3585 #line 328 "./scanner.l" 3586 return '='; 3587 YY_BREAK 3588 case 108: 3589 YY_RULE_SETUP 3590 #line 329 "./scanner.l" 3591 return LSH; 3592 YY_BREAK 3593 case 109: 3594 YY_RULE_SETUP 3595 #line 330 "./scanner.l" 3596 return RSH; 3597 YY_BREAK 3598 case 110: 3599 YY_RULE_SETUP 3600 #line 331 "./scanner.l" 3601 { yylval.e = pcap_ether_aton(((char *)sfbpf_text)+1); 3602 return AID; } 3603 YY_BREAK 3604 case 111: 3605 YY_RULE_SETUP 3606 #line 333 "./scanner.l" 3607 { yylval.e = pcap_ether_aton((char *)sfbpf_text); 3608 return EID; } 3609 YY_BREAK 3610 case 112: 3611 YY_RULE_SETUP 3612 #line 335 "./scanner.l" 3613 { yylval.i = stoi((char *)sfbpf_text); return NUM; } 3614 YY_BREAK 3615 case 113: 3616 YY_RULE_SETUP 3617 #line 336 "./scanner.l" 3618 { 3619 yylval.s = sdup((char *)sfbpf_text); return HID; } 3620 YY_BREAK 3621 case 114: 3622 YY_RULE_SETUP 3623 #line 338 "./scanner.l" 3624 { 3625 #ifdef INET6 3626 struct addrinfo hints, *res; 3627 memset(&hints, 0, sizeof(hints)); 3628 hints.ai_family = AF_INET6; 3629 hints.ai_flags = AI_NUMERICHOST; 3630 if (getaddrinfo(sfbpf_text, NULL, &hints, &res)) 3631 bpf_error("bogus IPv6 address %s", sfbpf_text); 3632 else { 3633 freeaddrinfo(res); 3634 yylval.s = sdup((char *)sfbpf_text); return HID6; 3635 } 3636 #else 3637 bpf_error("IPv6 address %s not supported", sfbpf_text); 3638 #endif /*INET6*/ 3639 } 3640 YY_BREAK 3641 case 115: 3642 YY_RULE_SETUP 3643 #line 354 "./scanner.l" 3644 { bpf_error("bogus ethernet address %s", sfbpf_text); } 3645 YY_BREAK 3646 case 116: 3647 YY_RULE_SETUP 3648 #line 355 "./scanner.l" 3649 { yylval.i = 0; return NUM; } 3650 YY_BREAK 3651 case 117: 3652 YY_RULE_SETUP 3653 #line 356 "./scanner.l" 3654 { yylval.i = 1; return NUM; } 3655 YY_BREAK 3656 case 118: 3657 YY_RULE_SETUP 3658 #line 357 "./scanner.l" 3659 { yylval.i = 0; return NUM; } 3660 YY_BREAK 3661 case 119: 3662 YY_RULE_SETUP 3663 #line 358 "./scanner.l" 3664 { yylval.i = 3; return NUM; } 3665 YY_BREAK 3666 case 120: 3667 YY_RULE_SETUP 3668 #line 359 "./scanner.l" 3669 { yylval.i = 4; return NUM; } 3670 YY_BREAK 3671 case 121: 3672 YY_RULE_SETUP 3673 #line 360 "./scanner.l" 3674 { yylval.i = 5; return NUM; } 3675 YY_BREAK 3676 case 122: 3677 YY_RULE_SETUP 3678 #line 361 "./scanner.l" 3679 { yylval.i = 8; return NUM; } 3680 YY_BREAK 3681 case 123: 3682 YY_RULE_SETUP 3683 #line 362 "./scanner.l" 3684 { yylval.i = 9; return NUM; } 3685 YY_BREAK 3686 case 124: 3687 YY_RULE_SETUP 3688 #line 363 "./scanner.l" 3689 { yylval.i = 10; return NUM; } 3690 YY_BREAK 3691 case 125: 3692 YY_RULE_SETUP 3693 #line 364 "./scanner.l" 3694 { yylval.i = 11; return NUM; } 3695 YY_BREAK 3696 case 126: 3697 YY_RULE_SETUP 3698 #line 365 "./scanner.l" 3699 { yylval.i = 12; return NUM; } 3700 YY_BREAK 3701 case 127: 3702 YY_RULE_SETUP 3703 #line 366 "./scanner.l" 3704 { yylval.i = 13; return NUM; } 3705 YY_BREAK 3706 case 128: 3707 YY_RULE_SETUP 3708 #line 367 "./scanner.l" 3709 { yylval.i = 14; return NUM; } 3710 YY_BREAK 3711 case 129: 3712 YY_RULE_SETUP 3713 #line 368 "./scanner.l" 3714 { yylval.i = 15; return NUM; } 3715 YY_BREAK 3716 case 130: 3717 YY_RULE_SETUP 3718 #line 369 "./scanner.l" 3719 { yylval.i = 16; return NUM; } 3720 YY_BREAK 3721 case 131: 3722 YY_RULE_SETUP 3723 #line 370 "./scanner.l" 3724 { yylval.i = 17; return NUM; } 3725 YY_BREAK 3726 case 132: 3727 YY_RULE_SETUP 3728 #line 371 "./scanner.l" 3729 { yylval.i = 18; return NUM; } 3730 YY_BREAK 3731 case 133: 3732 YY_RULE_SETUP 3733 #line 372 "./scanner.l" 3734 { yylval.i = 13; return NUM; } 3735 YY_BREAK 3736 case 134: 3737 YY_RULE_SETUP 3738 #line 373 "./scanner.l" 3739 { yylval.i = 0x01; return NUM; } 3740 YY_BREAK 3741 case 135: 3742 YY_RULE_SETUP 3743 #line 374 "./scanner.l" 3744 { yylval.i = 0x02; return NUM; } 3745 YY_BREAK 3746 case 136: 3747 YY_RULE_SETUP 3748 #line 375 "./scanner.l" 3749 { yylval.i = 0x04; return NUM; } 3750 YY_BREAK 3751 case 137: 3752 YY_RULE_SETUP 3753 #line 376 "./scanner.l" 3754 { yylval.i = 0x08; return NUM; } 3755 YY_BREAK 3756 case 138: 3757 YY_RULE_SETUP 3758 #line 377 "./scanner.l" 3759 { yylval.i = 0x10; return NUM; } 3760 YY_BREAK 3761 case 139: 3762 YY_RULE_SETUP 3763 #line 378 "./scanner.l" 3764 { yylval.i = 0x20; return NUM; } 3765 YY_BREAK 3766 case 140: 3767 YY_RULE_SETUP 3768 #line 379 "./scanner.l" 3769 { 3770 yylval.s = sdup((char *)sfbpf_text); return ID; } 3771 YY_BREAK 3772 case 141: 3773 YY_RULE_SETUP 3774 #line 381 "./scanner.l" 3775 { yylval.s = sdup((char *)sfbpf_text + 1); return ID; } 3776 YY_BREAK 3777 case 142: 3778 YY_RULE_SETUP 3779 #line 382 "./scanner.l" 3780 { 3781 bpf_error("illegal token: %s", sfbpf_text); } 3782 YY_BREAK 3783 case 143: 3784 YY_RULE_SETUP 3785 #line 384 "./scanner.l" 3786 { bpf_error("illegal char '%c'", *sfbpf_text); } 3787 YY_BREAK 3788 case 144: 3789 YY_RULE_SETUP 3790 #line 385 "./scanner.l" 3791 ECHO; 3792 YY_BREAK 3793 #line 3794 "sf_scanner.c" 3794 case YY_STATE_EOF(INITIAL): 3795 yyterminate(); 3796 3797 case YY_END_OF_BUFFER: 3798 { 3799 /* Amount of text matched not including the EOB char. */ 3800 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3801 3802 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3803 *yy_cp = (yy_hold_char); 3804 YY_RESTORE_YY_MORE_OFFSET 3805 3806 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3807 { 3808 /* We're scanning a new file or input source. It's 3809 * possible that this happened because the user 3810 * just pointed sfbpf_in at a new source and called 3811 * sfbpf_lex(). If so, then we have to assure 3812 * consistency between YY_CURRENT_BUFFER and our 3813 * globals. Here is the right place to do so, because 3814 * this is the first action (other than possibly a 3815 * back-up) that will match for the new input source. 3816 */ 3817 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3818 YY_CURRENT_BUFFER_LVALUE->yy_input_file = sfbpf_in; 3819 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3820 } 3821 3822 /* Note that here we test for yy_c_buf_p "<=" to the position 3823 * of the first EOB in the buffer, since yy_c_buf_p will 3824 * already have been incremented past the NUL character 3825 * (since all states make transitions on EOB to the 3826 * end-of-buffer state). Contrast this with the test 3827 * in input(). 3828 */ 3829 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3830 { /* This was really a NUL. */ 3831 yy_state_type yy_next_state; 3832 3833 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3834 3835 yy_current_state = yy_get_previous_state( ); 3836 3837 /* Okay, we're now positioned to make the NUL 3838 * transition. We couldn't have 3839 * yy_get_previous_state() go ahead and do it 3840 * for us because it doesn't know how to deal 3841 * with the possibility of jamming (and we don't 3842 * want to build jamming into it because then it 3843 * will run more slowly). 3844 */ 3845 3846 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3847 3848 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3849 3850 if ( yy_next_state ) 3851 { 3852 /* Consume the NUL. */ 3853 yy_cp = ++(yy_c_buf_p); 3854 yy_current_state = yy_next_state; 3855 goto yy_match; 3856 } 3857 3858 else 3859 { 3860 yy_cp = (yy_c_buf_p); 3861 goto yy_find_action; 3862 } 3863 } 3864 3865 else switch ( yy_get_next_buffer( ) ) 3866 { 3867 case EOB_ACT_END_OF_FILE: 3868 { 3869 (yy_did_buffer_switch_on_eof) = 0; 3870 3871 if ( sfbpf_wrap( ) ) 3872 { 3873 /* Note: because we've taken care in 3874 * yy_get_next_buffer() to have set up 3875 * sfbpf_text, we can now set up 3876 * yy_c_buf_p so that if some total 3877 * hoser (like flex itself) wants to 3878 * call the scanner after we return the 3879 * YY_NULL, it'll still work - another 3880 * YY_NULL will get returned. 3881 */ 3882 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3883 3884 yy_act = YY_STATE_EOF(YY_START); 3885 goto do_action; 3886 } 3887 3888 else 3889 { 3890 if ( ! (yy_did_buffer_switch_on_eof) ) 3891 YY_NEW_FILE; 3892 } 3893 break; 3894 } 3895 3896 case EOB_ACT_CONTINUE_SCAN: 3897 (yy_c_buf_p) = 3898 (yytext_ptr) + yy_amount_of_matched_text; 3899 3900 yy_current_state = yy_get_previous_state( ); 3901 3902 yy_cp = (yy_c_buf_p); 3903 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3904 goto yy_match; 3905 3906 case EOB_ACT_LAST_MATCH: 3907 (yy_c_buf_p) = 3908 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3909 3910 yy_current_state = yy_get_previous_state( ); 3911 3912 yy_cp = (yy_c_buf_p); 3913 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3914 goto yy_find_action; 3915 } 3916 break; 3917 } 3918 3919 default: 3920 YY_FATAL_ERROR( 3921 "fatal flex scanner internal error--no action found" ); 3922 } /* end of action switch */ 3923 } /* end of scanning one token */ 3924 } /* end of sfbpf_lex */ 3925 3926 /* yy_get_next_buffer - try to read in a new buffer 3927 * 3928 * Returns a code representing an action: 3929 * EOB_ACT_LAST_MATCH - 3930 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3931 * EOB_ACT_END_OF_FILE - end of file 3932 */ 3933 static int yy_get_next_buffer (void) 3934 { 3935 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3936 register char *source = (yytext_ptr); 3937 register int number_to_move, i; 3938 int ret_val; 3939 3940 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 3941 YY_FATAL_ERROR( 3942 "fatal flex scanner internal error--end of buffer missed" ); 3943 3944 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 3945 { /* Don't try to fill the buffer, so this is an EOF. */ 3946 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 3947 { 3948 /* We matched a single character, the EOB, so 3949 * treat this as a final EOF. 3950 */ 3951 return EOB_ACT_END_OF_FILE; 3952 } 3953 3954 else 3955 { 3956 /* We matched some text prior to the EOB, first 3957 * process it. 3958 */ 3959 return EOB_ACT_LAST_MATCH; 3960 } 3961 } 3962 3963 /* Try to read more data. */ 3964 3965 /* First move last chars to start of buffer. */ 3966 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 3967 3968 for ( i = 0; i < number_to_move; ++i ) 3969 *(dest++) = *(source++); 3970 3971 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 3972 /* don't do the read, it's not guaranteed to return an EOF, 3973 * just force an EOF 3974 */ 3975 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 3976 3977 else 3978 { 3979 int num_to_read = 3980 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 3981 3982 while ( num_to_read <= 0 ) 3983 { /* Not enough room in the buffer - grow it. */ 3984 3985 /* just a shorter name for the current buffer */ 3986 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 3987 3988 int yy_c_buf_p_offset = 3989 (int) ((yy_c_buf_p) - b->yy_ch_buf); 3990 3991 if ( b->yy_is_our_buffer ) 3992 { 3993 int new_size = b->yy_buf_size * 2; 3994 3995 if ( new_size <= 0 ) 3996 b->yy_buf_size += b->yy_buf_size / 8; 3997 else 3998 b->yy_buf_size *= 2; 3999 4000 b->yy_ch_buf = (char *) 4001 /* Include room in for 2 EOB chars. */ 4002 sfbpf_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 4003 } 4004 else 4005 /* Can't grow it, we don't own it. */ 4006 b->yy_ch_buf = 0; 4007 4008 if ( ! b->yy_ch_buf ) 4009 YY_FATAL_ERROR( 4010 "fatal error - scanner input buffer overflow" ); 4011 4012 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 4013 4014 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 4015 number_to_move - 1; 4016 4017 } 4018 4019 if ( num_to_read > YY_READ_BUF_SIZE ) 4020 num_to_read = YY_READ_BUF_SIZE; 4021 4022 /* Read in more data. */ 4023 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 4024 (yy_n_chars), (size_t) num_to_read ); 4025 4026 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4027 } 4028 4029 if ( (yy_n_chars) == 0 ) 4030 { 4031 if ( number_to_move == YY_MORE_ADJ ) 4032 { 4033 ret_val = EOB_ACT_END_OF_FILE; 4034 sfbpf_restart(sfbpf_in ); 4035 } 4036 4037 else 4038 { 4039 ret_val = EOB_ACT_LAST_MATCH; 4040 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 4041 YY_BUFFER_EOF_PENDING; 4042 } 4043 } 4044 4045 else 4046 ret_val = EOB_ACT_CONTINUE_SCAN; 4047 4048 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 4049 /* Extend the array by 50%, plus the number we really need. */ 4050 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 4051 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) sfbpf_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 4052 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 4053 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 4054 } 4055 4056 (yy_n_chars) += number_to_move; 4057 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 4058 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 4059 4060 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 4061 4062 return ret_val; 4063 } 4064 4065 /* yy_get_previous_state - get the state just before the EOB char was reached */ 4066 4067 static yy_state_type yy_get_previous_state (void) 4068 { 4069 register yy_state_type yy_current_state; 4070 register char *yy_cp; 4071 4072 yy_current_state = (yy_start); 4073 4074 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 4075 { 4076 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 4077 if ( yy_accept[yy_current_state] ) 4078 { 4079 (yy_last_accepting_state) = yy_current_state; 4080 (yy_last_accepting_cpos) = yy_cp; 4081 } 4082 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4083 { 4084 yy_current_state = (int) yy_def[yy_current_state]; 4085 if ( yy_current_state >= 1434 ) 4086 yy_c = yy_meta[(unsigned int) yy_c]; 4087 } 4088 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 4089 } 4090 4091 return yy_current_state; 4092 } 4093 4094 /* yy_try_NUL_trans - try to make a transition on the NUL character 4095 * 4096 * synopsis 4097 * next_state = yy_try_NUL_trans( current_state ); 4098 */ 4099 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 4100 { 4101 register int yy_is_jam; 4102 register char *yy_cp = (yy_c_buf_p); 4103 4104 register YY_CHAR yy_c = 1; 4105 if ( yy_accept[yy_current_state] ) 4106 { 4107 (yy_last_accepting_state) = yy_current_state; 4108 (yy_last_accepting_cpos) = yy_cp; 4109 } 4110 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4111 { 4112 yy_current_state = (int) yy_def[yy_current_state]; 4113 if ( yy_current_state >= 1434 ) 4114 yy_c = yy_meta[(unsigned int) yy_c]; 4115 } 4116 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 4117 yy_is_jam = (yy_current_state == 1433); 4118 4119 return yy_is_jam ? 0 : yy_current_state; 4120 } 4121 4122 #ifndef YY_NO_INPUT 4123 #ifdef __cplusplus 4124 static int __attribute__((unused)) yyinput (void) 4125 #else 4126 static int __attribute__((unused)) input (void) 4127 #endif 4128 4129 { 4130 int c; 4131 4132 *(yy_c_buf_p) = (yy_hold_char); 4133 4134 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 4135 { 4136 /* yy_c_buf_p now points to the character we want to return. 4137 * If this occurs *before* the EOB characters, then it's a 4138 * valid NUL; if not, then we've hit the end of the buffer. 4139 */ 4140 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 4141 /* This was really a NUL. */ 4142 *(yy_c_buf_p) = '\0'; 4143 4144 else 4145 { /* need more input */ 4146 int offset = (yy_c_buf_p) - (yytext_ptr); 4147 ++(yy_c_buf_p); 4148 4149 switch ( yy_get_next_buffer( ) ) 4150 { 4151 case EOB_ACT_LAST_MATCH: 4152 /* This happens because yy_g_n_b() 4153 * sees that we've accumulated a 4154 * token and flags that we need to 4155 * try matching the token before 4156 * proceeding. But for input(), 4157 * there's no matching to consider. 4158 * So convert the EOB_ACT_LAST_MATCH 4159 * to EOB_ACT_END_OF_FILE. 4160 */ 4161 4162 /* Reset buffer status. */ 4163 sfbpf_restart(sfbpf_in ); 4164 4165 /*FALLTHROUGH*/ 4166 4167 case EOB_ACT_END_OF_FILE: 4168 { 4169 if ( sfbpf_wrap( ) ) 4170 return EOF; 4171 4172 if ( ! (yy_did_buffer_switch_on_eof) ) 4173 YY_NEW_FILE; 4174 #ifdef __cplusplus 4175 return yyinput(); 4176 #else 4177 return input(); 4178 #endif 4179 } 4180 4181 case EOB_ACT_CONTINUE_SCAN: 4182 (yy_c_buf_p) = (yytext_ptr) + offset; 4183 break; 4184 } 4185 } 4186 } 4187 4188 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 4189 *(yy_c_buf_p) = '\0'; /* preserve sfbpf_text */ 4190 (yy_hold_char) = *++(yy_c_buf_p); 4191 4192 return c; 4193 } 4194 #endif /* ifndef YY_NO_INPUT */ 4195 4196 /** Immediately switch to a different input stream. 4197 * @param input_file A readable stream. 4198 * 4199 * @note This function does not reset the start condition to @c INITIAL . 4200 */ 4201 void sfbpf_restart (FILE * input_file ) 4202 { 4203 4204 if ( ! YY_CURRENT_BUFFER ){ 4205 sfbpf_ensure_buffer_stack (); 4206 YY_CURRENT_BUFFER_LVALUE = 4207 sfbpf__create_buffer(sfbpf_in,YY_BUF_SIZE ); 4208 } 4209 4210 sfbpf__init_buffer(YY_CURRENT_BUFFER,input_file ); 4211 sfbpf__load_buffer_state( ); 4212 } 4213 4214 /** Switch to a different input buffer. 4215 * @param new_buffer The new input buffer. 4216 * 4217 */ 4218 void sfbpf__switch_to_buffer (YY_BUFFER_STATE new_buffer ) 4219 { 4220 4221 /* We should be able to replace this entire function body 4222 * with 4223 * sfbpf_pop_buffer_state(); 4224 * sfbpf_push_buffer_state(new_buffer); 4225 */ 4226 sfbpf_ensure_buffer_stack (); 4227 if ( YY_CURRENT_BUFFER == new_buffer ) 4228 return; 4229 4230 if ( YY_CURRENT_BUFFER ) 4231 { 4232 /* Flush out information for old buffer. */ 4233 *(yy_c_buf_p) = (yy_hold_char); 4234 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4235 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4236 } 4237 4238 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4239 sfbpf__load_buffer_state( ); 4240 4241 /* We don't actually know whether we did this switch during 4242 * EOF (sfbpf_wrap()) processing, but the only time this flag 4243 * is looked at is after sfbpf_wrap() is called, so it's safe 4244 * to go ahead and always set it. 4245 */ 4246 (yy_did_buffer_switch_on_eof) = 1; 4247 } 4248 4249 static void sfbpf__load_buffer_state (void) 4250 { 4251 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 4252 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 4253 sfbpf_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 4254 (yy_hold_char) = *(yy_c_buf_p); 4255 } 4256 4257 /** Allocate and initialize an input buffer state. 4258 * @param file A readable stream. 4259 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 4260 * 4261 * @return the allocated buffer state. 4262 */ 4263 YY_BUFFER_STATE sfbpf__create_buffer (FILE * file, int size ) 4264 { 4265 YY_BUFFER_STATE b; 4266 4267 b = (YY_BUFFER_STATE) sfbpf_alloc(sizeof( struct yy_buffer_state ) ); 4268 if ( ! b ) 4269 YY_FATAL_ERROR( "out of dynamic memory in sfbpf__create_buffer()" ); 4270 4271 b->yy_buf_size = size; 4272 4273 /* yy_ch_buf has to be 2 characters longer than the size given because 4274 * we need to put in 2 end-of-buffer characters. 4275 */ 4276 b->yy_ch_buf = (char *) sfbpf_alloc(b->yy_buf_size + 2 ); 4277 if ( ! b->yy_ch_buf ) 4278 YY_FATAL_ERROR( "out of dynamic memory in sfbpf__create_buffer()" ); 4279 4280 b->yy_is_our_buffer = 1; 4281 4282 sfbpf__init_buffer(b,file ); 4283 4284 return b; 4285 } 4286 4287 /** Destroy the buffer. 4288 * @param b a buffer created with sfbpf__create_buffer() 4289 * 4290 */ 4291 void sfbpf__delete_buffer (YY_BUFFER_STATE b ) 4292 { 4293 4294 if ( ! b ) 4295 return; 4296 4297 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 4298 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 4299 4300 if ( b->yy_is_our_buffer ) 4301 sfbpf_free((void *) b->yy_ch_buf ); 4302 4303 sfbpf_free((void *) b ); 4304 } 4305 4306 #ifndef __cplusplus 4307 extern int isatty (int ); 4308 #endif /* __cplusplus */ 4309 4310 /* Initializes or reinitializes a buffer. 4311 * This function is sometimes called more than once on the same buffer, 4312 * such as during a sfbpf_restart() or at EOF. 4313 */ 4314 static void sfbpf__init_buffer (YY_BUFFER_STATE b, FILE * file ) 4315 4316 { 4317 int oerrno = errno; 4318 4319 sfbpf__flush_buffer(b ); 4320 4321 b->yy_input_file = file; 4322 b->yy_fill_buffer = 1; 4323 4324 /* If b is the current buffer, then sfbpf__init_buffer was _probably_ 4325 * called from sfbpf_restart() or through yy_get_next_buffer. 4326 * In that case, we don't want to reset the lineno or column. 4327 */ 4328 if (b != YY_CURRENT_BUFFER){ 4329 b->yy_bs_lineno = 1; 4330 b->yy_bs_column = 0; 4331 } 4332 4333 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 4334 4335 errno = oerrno; 4336 } 4337 4338 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 4339 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 4340 * 4341 */ 4342 void sfbpf__flush_buffer (YY_BUFFER_STATE b ) 4343 { 4344 if ( ! b ) 4345 return; 4346 4347 b->yy_n_chars = 0; 4348 4349 /* We always need two end-of-buffer characters. The first causes 4350 * a transition to the end-of-buffer state. The second causes 4351 * a jam in that state. 4352 */ 4353 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 4354 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 4355 4356 b->yy_buf_pos = &b->yy_ch_buf[0]; 4357 4358 b->yy_at_bol = 1; 4359 b->yy_buffer_status = YY_BUFFER_NEW; 4360 4361 if ( b == YY_CURRENT_BUFFER ) 4362 sfbpf__load_buffer_state( ); 4363 } 4364 4365 /** Pushes the new state onto the stack. The new state becomes 4366 * the current state. This function will allocate the stack 4367 * if necessary. 4368 * @param new_buffer The new state. 4369 * 4370 */ 4371 void sfbpf_push_buffer_state (YY_BUFFER_STATE new_buffer ) 4372 { 4373 if (new_buffer == NULL) 4374 return; 4375 4376 sfbpf_ensure_buffer_stack(); 4377 4378 /* This block is copied from sfbpf__switch_to_buffer. */ 4379 if ( YY_CURRENT_BUFFER ) 4380 { 4381 /* Flush out information for old buffer. */ 4382 *(yy_c_buf_p) = (yy_hold_char); 4383 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4384 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4385 } 4386 4387 /* Only push if top exists. Otherwise, replace top. */ 4388 if (YY_CURRENT_BUFFER) 4389 (yy_buffer_stack_top)++; 4390 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4391 4392 /* copied from sfbpf__switch_to_buffer. */ 4393 sfbpf__load_buffer_state( ); 4394 (yy_did_buffer_switch_on_eof) = 1; 4395 } 4396 4397 /** Removes and deletes the top of the stack, if present. 4398 * The next element becomes the new top. 4399 * 4400 */ 4401 void sfbpf_pop_buffer_state (void) 4402 { 4403 if (!YY_CURRENT_BUFFER) 4404 return; 4405 4406 sfbpf__delete_buffer(YY_CURRENT_BUFFER ); 4407 YY_CURRENT_BUFFER_LVALUE = NULL; 4408 if ((yy_buffer_stack_top) > 0) 4409 --(yy_buffer_stack_top); 4410 4411 if (YY_CURRENT_BUFFER) { 4412 sfbpf__load_buffer_state( ); 4413 (yy_did_buffer_switch_on_eof) = 1; 4414 } 4415 } 4416 4417 /* Allocates the stack if it does not exist. 4418 * Guarantees space for at least one push. 4419 */ 4420 static void sfbpf_ensure_buffer_stack (void) 4421 { 4422 int num_to_alloc; 4423 4424 if (!(yy_buffer_stack)) { 4425 4426 /* First allocation is just for 2 elements, since we don't know if this 4427 * scanner will even need a stack. We use 2 instead of 1 to avoid an 4428 * immediate realloc on the next call. 4429 */ 4430 num_to_alloc = 1; 4431 (yy_buffer_stack) = (struct yy_buffer_state**)sfbpf_alloc 4432 (num_to_alloc * sizeof(struct yy_buffer_state*) 4433 ); 4434 if ( ! (yy_buffer_stack) ) 4435 YY_FATAL_ERROR( "out of dynamic memory in sfbpf_ensure_buffer_stack()" ); 4436 4437 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 4438 4439 (yy_buffer_stack_max) = num_to_alloc; 4440 (yy_buffer_stack_top) = 0; 4441 return; 4442 } 4443 4444 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 4445 4446 /* Increase the buffer to prepare for a possible push. */ 4447 int grow_size = 8 /* arbitrary grow size */; 4448 4449 num_to_alloc = (yy_buffer_stack_max) + grow_size; 4450 (yy_buffer_stack) = (struct yy_buffer_state**)sfbpf_realloc 4451 ((yy_buffer_stack), 4452 num_to_alloc * sizeof(struct yy_buffer_state*) 4453 ); 4454 if ( ! (yy_buffer_stack) ) 4455 YY_FATAL_ERROR( "out of dynamic memory in sfbpf_ensure_buffer_stack()" ); 4456 4457 /* zero only the new slots.*/ 4458 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 4459 (yy_buffer_stack_max) = num_to_alloc; 4460 } 4461 } 4462 4463 /** Setup the input buffer state to scan directly from a user-specified character buffer. 4464 * @param base the character buffer 4465 * @param size the size in bytes of the character buffer 4466 * 4467 * @return the newly allocated buffer state object. 4468 */ 4469 YY_BUFFER_STATE sfbpf__scan_buffer (char * base, yy_size_t size ) 4470 { 4471 YY_BUFFER_STATE b; 4472 4473 if ( size < 2 || 4474 base[size-2] != YY_END_OF_BUFFER_CHAR || 4475 base[size-1] != YY_END_OF_BUFFER_CHAR ) 4476 /* They forgot to leave room for the EOB's. */ 4477 return 0; 4478 4479 b = (YY_BUFFER_STATE) sfbpf_alloc(sizeof( struct yy_buffer_state ) ); 4480 if ( ! b ) 4481 YY_FATAL_ERROR( "out of dynamic memory in sfbpf__scan_buffer()" ); 4482 4483 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 4484 b->yy_buf_pos = b->yy_ch_buf = base; 4485 b->yy_is_our_buffer = 0; 4486 b->yy_input_file = 0; 4487 b->yy_n_chars = b->yy_buf_size; 4488 b->yy_is_interactive = 0; 4489 b->yy_at_bol = 1; 4490 b->yy_fill_buffer = 0; 4491 b->yy_buffer_status = YY_BUFFER_NEW; 4492 4493 sfbpf__switch_to_buffer(b ); 4494 4495 return b; 4496 } 4497 4498 /** Setup the input buffer state to scan a string. The next call to sfbpf_lex() will 4499 * scan from a @e copy of @a str. 4500 * @param yystr a NUL-terminated string to scan 4501 * 4502 * @return the newly allocated buffer state object. 4503 * @note If you want to scan bytes that may contain NUL values, then use 4504 * sfbpf__scan_bytes() instead. 4505 */ 4506 YY_BUFFER_STATE sfbpf__scan_string (yyconst char * yystr ) 4507 { 4508 4509 return sfbpf__scan_bytes(yystr,strlen(yystr) ); 4510 } 4511 4512 /** Setup the input buffer state to scan the given bytes. The next call to sfbpf_lex() will 4513 * scan from a @e copy of @a bytes. 4514 * @param yybytes the byte buffer to scan 4515 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 4516 * 4517 * @return the newly allocated buffer state object. 4518 */ 4519 YY_BUFFER_STATE sfbpf__scan_bytes (yyconst char * yybytes, int _yybytes_len ) 4520 { 4521 YY_BUFFER_STATE b; 4522 char *buf; 4523 yy_size_t n; 4524 int i; 4525 4526 /* Get memory for full buffer, including space for trailing EOB's. */ 4527 n = _yybytes_len + 2; 4528 buf = (char *) sfbpf_alloc(n ); 4529 if ( ! buf ) 4530 YY_FATAL_ERROR( "out of dynamic memory in sfbpf__scan_bytes()" ); 4531 4532 for ( i = 0; i < _yybytes_len; ++i ) 4533 buf[i] = yybytes[i]; 4534 4535 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 4536 4537 b = sfbpf__scan_buffer(buf,n ); 4538 if ( ! b ) 4539 YY_FATAL_ERROR( "bad buffer in sfbpf__scan_bytes()" ); 4540 4541 /* It's okay to grow etc. this buffer, and we should throw it 4542 * away when we're done. 4543 */ 4544 b->yy_is_our_buffer = 1; 4545 4546 return b; 4547 } 4548 4549 #ifndef YY_EXIT_FAILURE 4550 #define YY_EXIT_FAILURE 2 4551 #endif 4552 4553 static void yy_fatal_error (yyconst char* msg ) 4554 { 4555 (void) fprintf( stderr, "%s\n", msg ); 4556 exit( YY_EXIT_FAILURE ); 4557 } 4558 4559 /* Redefine yyless() so it works in section 3 code. */ 4560 4561 #undef yyless 4562 #define yyless(n) \ 4563 do \ 4564 { \ 4565 /* Undo effects of setting up sfbpf_text. */ \ 4566 int yyless_macro_arg = (n); \ 4567 YY_LESS_LINENO(yyless_macro_arg);\ 4568 sfbpf_text[sfbpf_leng] = (yy_hold_char); \ 4569 (yy_c_buf_p) = sfbpf_text + yyless_macro_arg; \ 4570 (yy_hold_char) = *(yy_c_buf_p); \ 4571 *(yy_c_buf_p) = '\0'; \ 4572 sfbpf_leng = yyless_macro_arg; \ 4573 } \ 4574 while ( 0 ) 4575 4576 /* Accessor methods (get/set functions) to struct members. */ 4577 4578 /** Get the current token. 4579 * 4580 */ 4581 4582 int sfbpf_get_debug (void) 4583 { 4584 return sfbpf__flex_debug; 4585 } 4586 4587 void sfbpf_set_debug (int bdebug ) 4588 { 4589 sfbpf__flex_debug = bdebug ; 4590 } 4591 4592 static int yy_init_globals (void) 4593 { 4594 /* Initialization is the same as for the non-reentrant scanner. 4595 * This function is called from sfbpf_lex_destroy(), so don't allocate here. 4596 */ 4597 4598 (yy_buffer_stack) = 0; 4599 (yy_buffer_stack_top) = 0; 4600 (yy_buffer_stack_max) = 0; 4601 (yy_c_buf_p) = (char *) 0; 4602 (yy_init) = 0; 4603 (yy_start) = 0; 4604 4605 /* Defined in main.c */ 4606 #ifdef YY_STDINIT 4607 sfbpf_in = stdin; 4608 sfbpf_out = stdout; 4609 #else 4610 sfbpf_in = (FILE *) 0; 4611 sfbpf_out = (FILE *) 0; 4612 #endif 4613 4614 /* For future reference: Set errno on error, since we are called by 4615 * sfbpf_lex_init() 4616 */ 4617 return 0; 4618 } 4619 4620 /* sfbpf_lex_destroy is for both reentrant and non-reentrant scanners. */ 4621 int sfbpf_lex_destroy (void) 4622 { 4623 4624 /* Pop the buffer stack, destroying each element. */ 4625 while(YY_CURRENT_BUFFER){ 4626 sfbpf__delete_buffer(YY_CURRENT_BUFFER ); 4627 YY_CURRENT_BUFFER_LVALUE = NULL; 4628 sfbpf_pop_buffer_state(); 4629 } 4630 4631 /* Destroy the stack itself. */ 4632 sfbpf_free((yy_buffer_stack) ); 4633 (yy_buffer_stack) = NULL; 4634 4635 /* Reset the globals. This is important in a non-reentrant scanner so the next time 4636 * sfbpf_lex() is called, initialization will occur. */ 4637 yy_init_globals( ); 4638 4639 return 0; 4640 } 4641 4642 /* 4643 * Internal utility routines. 4644 */ 4645 4646 #ifndef yytext_ptr 4647 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 4648 { 4649 register int i; 4650 for ( i = 0; i < n; ++i ) 4651 s1[i] = s2[i]; 4652 } 4653 #endif 4654 4655 #ifdef YY_NEED_STRLEN 4656 static int yy_flex_strlen (yyconst char * s ) 4657 { 4658 register int n; 4659 for ( n = 0; s[n]; ++n ) 4660 ; 4661 4662 return n; 4663 } 4664 #endif 4665 4666 void *sfbpf_alloc (yy_size_t size ) 4667 { 4668 return (void *) malloc( size ); 4669 } 4670 4671 void *sfbpf_realloc (void * ptr, yy_size_t size ) 4672 { 4673 /* The cast to (char *) in the following accommodates both 4674 * implementations that use char* generic pointers, and those 4675 * that use void* generic pointers. It works with the latter 4676 * because both ANSI C and C++ allow castless assignment from 4677 * any pointer type to void*, and deal with argument conversions 4678 * as though doing an assignment. 4679 */ 4680 return (void *) realloc( (char *) ptr, size ); 4681 } 4682 4683 void sfbpf_free (void * ptr ) 4684 { 4685 free( (char *) ptr ); /* see sfbpf_realloc() for (char *) cast */ 4686 } 4687 4688 #define YYTABLES_NAME "yytables" 4689 4690 #line 385 "./scanner.l" 4691 4692 4693 void 4694 lex_init(buf) 4695 const char *buf; 4696 { 4697 #ifdef FLEX_SCANNER 4698 in_buffer = sfbpf__scan_string(buf); 4699 #else 4700 in_buffer = buf; 4701 #endif 4702 } 4703 4704 /* 4705 * Do any cleanup necessary after parsing. 4706 */ 4707 void 4708 lex_cleanup() 4709 { 4710 #ifdef FLEX_SCANNER 4711 if (in_buffer != NULL) 4712 sfbpf__delete_buffer(in_buffer); 4713 in_buffer = NULL; 4714 #endif 4715 } 4716 4717 /* 4718 * Also define a sfbpf_wrap. Note that if we're using flex, it will 4719 * define a macro to map this identifier to pcap_wrap. 4720 */ 4721 int 4722 sfbpf_wrap() 4723 { 4724 return 1; 4725 } 4726 4727 /* Hex digit to integer. */ 4728 static inline int 4729 xdtoi(c) 4730 register int c; 4731 { 4732 if (isdigit(c)) 4733 return c - '0'; 4734 else if (islower(c)) 4735 return c - 'a' + 10; 4736 else 4737 return c - 'A' + 10; 4738 } 4739 4740 /* 4741 * Convert string to integer. Just like atoi(), but checks for 4742 * preceding 0x or 0 and uses hex or octal instead of decimal. 4743 */ 4744 static int 4745 stoi(s) 4746 char *s; 4747 { 4748 int base = 10; 4749 int n = 0; 4750 4751 if (*s == '0') { 4752 if (s[1] == 'x' || s[1] == 'X') { 4753 s += 2; 4754 base = 16; 4755 } 4756 else { 4757 base = 8; 4758 s += 1; 4759 } 4760 } 4761 while (*s) 4762 n = n * base + xdtoi(*s++); 4763 4764 return n; 4765 } 4766 4767