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