1#line 1 "dhcp4_lexer.cc"
3#line 3 "dhcp4_lexer.cc"
5#define YY_INT_ALIGNED short int
12#define yy_create_buffer parser4__create_buffer
13#define yy_delete_buffer parser4__delete_buffer
14#define yy_scan_buffer parser4__scan_buffer
15#define yy_scan_string parser4__scan_string
16#define yy_scan_bytes parser4__scan_bytes
17#define yy_init_buffer parser4__init_buffer
18#define yy_flush_buffer parser4__flush_buffer
19#define yy_load_buffer_state parser4__load_buffer_state
20#define yy_switch_to_buffer parser4__switch_to_buffer
21#define yypush_buffer_state parser4_push_buffer_state
22#define yypop_buffer_state parser4_pop_buffer_state
23#define yyensure_buffer_stack parser4_ensure_buffer_stack
24#define yy_flex_debug parser4__flex_debug
25#define yyin parser4_in
26#define yyleng parser4_leng
27#define yylex parser4_lex
28#define yylineno parser4_lineno
29#define yyout parser4_out
30#define yyrestart parser4_restart
31#define yytext parser4_text
32#define yywrap parser4_wrap
33#define yyalloc parser4_alloc
34#define yyrealloc parser4_realloc
35#define yyfree parser4_free
42#define YY_FLEX_MAJOR_VERSION 2
43#define YY_FLEX_MINOR_VERSION 6
44#define YY_FLEX_SUBMINOR_VERSION 4
45#if YY_FLEX_SUBMINOR_VERSION > 0
53#ifdef yy_create_buffer
54#define parser4__create_buffer_ALREADY_DEFINED
56#define yy_create_buffer parser4__create_buffer
59#ifdef yy_delete_buffer
60#define parser4__delete_buffer_ALREADY_DEFINED
62#define yy_delete_buffer parser4__delete_buffer
66#define parser4__scan_buffer_ALREADY_DEFINED
68#define yy_scan_buffer parser4__scan_buffer
72#define parser4__scan_string_ALREADY_DEFINED
74#define yy_scan_string parser4__scan_string
78#define parser4__scan_bytes_ALREADY_DEFINED
80#define yy_scan_bytes parser4__scan_bytes
84#define parser4__init_buffer_ALREADY_DEFINED
86#define yy_init_buffer parser4__init_buffer
90#define parser4__flush_buffer_ALREADY_DEFINED
92#define yy_flush_buffer parser4__flush_buffer
95#ifdef yy_load_buffer_state
96#define parser4__load_buffer_state_ALREADY_DEFINED
98#define yy_load_buffer_state parser4__load_buffer_state
101#ifdef yy_switch_to_buffer
102#define parser4__switch_to_buffer_ALREADY_DEFINED
104#define yy_switch_to_buffer parser4__switch_to_buffer
107#ifdef yypush_buffer_state
108#define parser4_push_buffer_state_ALREADY_DEFINED
110#define yypush_buffer_state parser4_push_buffer_state
113#ifdef yypop_buffer_state
114#define parser4_pop_buffer_state_ALREADY_DEFINED
116#define yypop_buffer_state parser4_pop_buffer_state
119#ifdef yyensure_buffer_stack
120#define parser4_ensure_buffer_stack_ALREADY_DEFINED
122#define yyensure_buffer_stack parser4_ensure_buffer_stack
126#define parser4_lex_ALREADY_DEFINED
128#define yylex parser4_lex
132#define parser4_restart_ALREADY_DEFINED
134#define yyrestart parser4_restart
138#define parser4_lex_init_ALREADY_DEFINED
140#define yylex_init parser4_lex_init
143#ifdef yylex_init_extra
144#define parser4_lex_init_extra_ALREADY_DEFINED
146#define yylex_init_extra parser4_lex_init_extra
150#define parser4_lex_destroy_ALREADY_DEFINED
152#define yylex_destroy parser4_lex_destroy
156#define parser4_get_debug_ALREADY_DEFINED
158#define yyget_debug parser4_get_debug
162#define parser4_set_debug_ALREADY_DEFINED
164#define yyset_debug parser4_set_debug
168#define parser4_get_extra_ALREADY_DEFINED
170#define yyget_extra parser4_get_extra
174#define parser4_set_extra_ALREADY_DEFINED
176#define yyset_extra parser4_set_extra
180#define parser4_get_in_ALREADY_DEFINED
182#define yyget_in parser4_get_in
186#define parser4_set_in_ALREADY_DEFINED
188#define yyset_in parser4_set_in
192#define parser4_get_out_ALREADY_DEFINED
194#define yyget_out parser4_get_out
198#define parser4_set_out_ALREADY_DEFINED
200#define yyset_out parser4_set_out
204#define parser4_get_leng_ALREADY_DEFINED
206#define yyget_leng parser4_get_leng
210#define parser4_get_text_ALREADY_DEFINED
212#define yyget_text parser4_get_text
216#define parser4_get_lineno_ALREADY_DEFINED
218#define yyget_lineno parser4_get_lineno
222#define parser4_set_lineno_ALREADY_DEFINED
224#define yyset_lineno parser4_set_lineno
228#define parser4_wrap_ALREADY_DEFINED
230#define yywrap parser4_wrap
236#define parser4_alloc_ALREADY_DEFINED
238#define yyalloc parser4_alloc
242#define parser4_realloc_ALREADY_DEFINED
244#define yyrealloc parser4_realloc
248#define parser4_free_ALREADY_DEFINED
250#define yyfree parser4_free
256#define parser4_text_ALREADY_DEFINED
258#define yytext parser4_text
262#define parser4_leng_ALREADY_DEFINED
264#define yyleng parser4_leng
268#define parser4_in_ALREADY_DEFINED
270#define yyin parser4_in
274#define parser4_out_ALREADY_DEFINED
276#define yyout parser4_out
280#define parser4__flex_debug_ALREADY_DEFINED
282#define yy_flex_debug parser4__flex_debug
286#define parser4_lineno_ALREADY_DEFINED
288#define yylineno parser4_lineno
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
341#define INT8_MIN (-128)
344#define INT16_MIN (-32767-1)
347#define INT32_MIN (-2147483647-1)
350#define INT8_MAX (127)
353#define INT16_MAX (32767)
356#define INT32_MAX (2147483647)
359#define UINT8_MAX (255U)
362#define UINT16_MAX (65535U)
365#define UINT32_MAX (4294967295U)
369#define SIZE_MAX (~(size_t)0)
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414#define BEGIN (yy_start) = 1 + 2 *
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
434#define YY_BUF_SIZE 32768
436#define YY_BUF_SIZE 16384
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; \
484#define unput(c) yyunput( c, (yytext_ptr) )
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
551#define YY_BUFFER_EOF_PENDING 2
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588static char yy_hold_char;
589static int yy_n_chars;
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0;
595static int yy_start = 0;
600static int yy_did_buffer_switch_on_eof;
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638#define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652#define parser4_wrap() (1)
653#define YY_SKIP_YYWRAP
669#define yytext_ptr yytext
677static int yy_get_next_buffer (
void );
678static void yynoreturn yy_fatal_error (
const char* msg );
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694#define YY_NUM_RULES 237
695#define YY_END_OF_BUFFER 238
705 230, 230, 0, 0, 0, 0, 0, 0, 0, 0,
706 238, 236, 10, 11, 236, 1, 230, 227, 230, 230,
707 236, 229, 228, 236, 236, 236, 236, 236, 223, 224,
708 236, 236, 236, 225, 226, 5, 5, 5, 236, 236,
709 236, 10, 11, 0, 0, 218, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 1, 230,
713 230, 0, 229, 230, 3, 2, 6, 0, 230, 0,
714 0, 0, 0, 0, 0, 4, 0, 0, 9, 0,
716 219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
725 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
728 222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 99, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 235, 233,
740 0, 232, 231, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 191, 0, 190, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
754 0, 0, 0, 0, 234, 231, 0, 0, 0, 0,
755 0, 0, 0, 192, 0, 0, 194, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
758 89, 0, 0, 0, 0, 0, 0, 129, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 38, 0, 0, 0, 162, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 93, 0, 0, 39, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 124, 0,
769 0, 35, 161, 0, 0, 36, 0, 0, 0, 0,
771 0, 0, 0, 0, 12, 196, 195, 0, 0, 0,
772 0, 0, 139, 0, 0, 168, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 115, 0, 0, 0, 0,
777 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 92, 0, 0, 0, 0, 169, 0, 0, 0, 0,
783 140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 7, 0, 0, 197, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 117, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 113, 0, 0, 0, 0, 0,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 171, 96, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 0, 145, 110,
810 0, 0, 0, 0, 0, 0, 116, 0, 0, 0,
811 0, 0, 0, 0, 47, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 118, 40, 94, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 178, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 134, 0, 0, 0, 0, 0, 0, 0,
826 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
829 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 119, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
835 55, 0, 0, 0, 0, 131, 0, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 179, 0, 0, 0, 170, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 98, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 183, 0, 0, 0, 181, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 172,
849 0, 0, 0, 201, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 132, 0,
851 0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 114, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 130, 0, 0,
855 23, 0, 141, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 0, 0, 0, 187, 0, 91,
857 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
859 144, 0, 0, 177, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 106, 107, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
864 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 138, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 205, 0, 0, 0, 87, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
873 0, 0, 184, 0, 0, 182, 0, 0, 0, 164,
874 166, 160, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
876 193, 0, 0, 0, 0, 0, 0, 0, 123, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
879 0, 0, 176, 0, 0, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 0, 0, 0, 142, 0, 15,
882 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 186, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 43, 62, 0, 0, 137, 0, 128, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 54, 0, 95, 0,
887 0, 199, 0, 0, 0, 0, 0, 0, 0, 204,
888 0, 109, 0, 0, 174, 0, 211, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 173, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 125, 0, 0, 0, 44, 0, 0,
898 0, 0, 0, 0, 167, 207, 0, 0, 120, 31,
899 0, 0, 0, 158, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
901 0, 180, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 29, 0, 0, 0, 0, 0, 28, 0,
904 0, 185, 0, 0, 0, 53, 0, 0, 0, 216,
905 0, 0, 0, 112, 111, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 165, 0, 0, 0, 0, 0, 0, 0, 58,
908 0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
909 42, 159, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 143, 0, 0, 0, 30, 0, 0,
912 0, 0, 0, 203, 0, 0, 0, 0, 0, 154,
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 21, 0, 0, 206, 0, 85, 0,
916 0, 48, 0, 0, 0, 0, 200, 0, 78, 0,
917 0, 198, 0, 32, 0, 0, 0, 0, 0, 0,
918 0, 0, 82, 0, 0, 0, 0, 17, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 151, 0, 0, 0, 126,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 51, 0, 49, 0, 0, 0, 0, 0, 45,
923 156, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 0, 69, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 188, 0,
927 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
928 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 175, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 150, 0, 60, 59, 0,
933 20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
936 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 0, 149, 0,
938 0, 0, 0, 0, 0, 52, 0, 65, 0, 46,
939 0, 100, 0, 0, 0, 0, 0, 0, 0, 217,
940 0, 84, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
942 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 73, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 215, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 81, 33, 0, 0, 0,
949 74, 0, 0, 0, 0, 155, 0, 0, 0, 0,
950 0, 0, 0, 209, 212, 0, 0, 121, 101, 0,
951 0, 0, 0, 0, 0, 0, 80, 0, 0, 70,
952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 127, 147, 0, 0, 0, 0, 0, 0, 152,
954 0, 0, 72, 0, 63, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 146, 0, 0, 189, 0, 214,
958 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
960 71, 0, 0, 122, 0, 0, 0, 27, 25, 0,
961 0, 0, 0, 76, 0, 0, 104, 0, 0, 68,
962 0, 77, 0, 0, 213, 0, 0, 0, 0, 0,
963 67, 0, 148, 26, 208, 0
966static const YY_CHAR yy_ec[256] =
968 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
969 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
970 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
971 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
972 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
973 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
974 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
975 5, 29, 30, 31, 32, 33, 5, 34, 35, 36,
976 5, 37, 38, 39, 40, 41, 42, 43, 44, 5,
977 45, 46, 47, 5, 48, 5, 49, 50, 51, 52,
979 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
980 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
981 73, 74, 75, 5, 76, 5, 5, 5, 5, 5,
982 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
983 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
984 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
985 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
986 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
987 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
988 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
990 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
991 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
992 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
993 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
994 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
998static const YY_CHAR yy_meta[77] =
1000 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
1001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1003 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1006 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1012 0, 75, 21, 28, 39, 47, 53, 61, 95, 103,
1013 2807, 2808, 31, 2803, 151, 0, 216, 2808, 223, 230,
1014 13, 237, 2808, 2783, 124, 17, 4, 34, 2808, 2808,
1015 23, 43, 64, 2808, 2808, 2808, 56, 2791, 2741, 0,
1016 2781, 106, 2798, 2, 274, 2808, 2737, 85, 90, 2743,
1017 98, 77, 231, 235, 97, 200, 304, 229, 64, 300,
1018 218, 313, 219, 63, 257, 2745, 298, 67, 341, 242,
1019 210, 2728, 21, 333, 362, 343, 2747, 318, 0, 405,
1020 422, 436, 445, 450, 2808, 0, 2808, 464, 469, 228,
1021 232, 238, 260, 338, 319, 2808, 2744, 2788, 2808, 276,
1023 2808, 442, 2775, 337, 250, 2741, 347, 17, 359, 2780,
1024 282, 372, 329, 364, 2784, 0, 506, 429, 2723, 2720,
1025 2720, 2723, 382, 2719, 345, 2727, 364, 2713, 2714, 2719,
1026 230, 2729, 2713, 2721, 2711, 2720, 425, 2726, 363, 79,
1027 430, 2706, 2762, 2766, 2709, 2702, 2758, 2695, 381, 2716,
1028 2716, 2710, 401, 2702, 2703, 2701, 2695, 429, 2706, 225,
1029 2691, 2690, 451, 2691, 340, 2703, 2684, 502, 433, 473,
1030 2705, 2702, 2703, 442, 2701, 2739, 2738, 473, 475, 2682,
1031 475, 2683, 490, 457, 2693, 2685, 2687, 0, 478, 505,
1032 513, 508, 508, 520, 2683, 2808, 2731, 525, 525, 2677,
1034 511, 527, 544, 547, 2734, 550, 2733, 529, 2732, 2808,
1035 2808, 590, 2674, 560, 2687, 2679, 2677, 2665, 2676, 2680,
1036 2681, 2661, 2672, 2676, 2673, 2672, 518, 526, 2713, 2674,
1037 2655, 2652, 2660, 2655, 2665, 2665, 2656, 2652, 2664, 2664,
1038 2652, 2651, 2653, 2656, 2636, 2640, 2654, 2646, 2636, 2639,
1039 2653, 2808, 2638, 2647, 535, 2688, 2631, 2640, 2685, 2629,
1040 2639, 2642, 579, 2681, 2623, 2637, 2678, 558, 2620, 2634,
1041 2632, 2612, 2627, 531, 2624, 537, 2615, 2613, 2613, 2619,
1042 2610, 2608, 2670, 2623, 9, 2617, 539, 2624, 2619, 2602,
1043 2617, 2603, 2615, 2610, 2614, 2595, 2611, 2597, 2603, 2610,
1045 439, 461, 2598, 2595, 2594, 581, 2593, 2588, 2602, 566,
1046 2601, 2647, 2580, 2602, 589, 2593, 2581, 583, 2808, 2808,
1047 585, 2808, 2808, 2579, 563, 577, 592, 2630, 595, 2640,
1048 586, 597, 2808, 2639, 2808, 2633, 642, 2592, 581, 2569,
1049 574, 2590, 2629, 2586, 2569, 2586, 2625, 2582, 2565, 2571,
1050 2626, 2578, 2581, 2572, 2575, 2561, 2572, 2619, 2613, 2568,
1051 2565, 617, 2570, 2614, 2546, 2607, 2557, 2552, 2546, 2545,
1052 2547, 2550, 2600, 2554, 2598, 2541, 665, 623, 2555, 2540,
1053 2539, 2552, 2550, 2548, 2548, 2547, 2542, 2549, 2544, 2540,
1054 607, 2538, 2541, 2523, 2535, 2585, 581, 595, 2579, 2523,
1056 2539, 2576, 2523, 2522, 2515, 2530, 2521, 2528, 2509, 2526,
1057 2521, 668, 2571, 2523, 2808, 2522, 620, 2513, 2511, 2523,
1058 616, 2498, 2499, 2512, 2502, 2494, 2555, 2497, 2511, 627,
1059 2497, 2509, 2508, 2507, 2503, 2501, 2546, 2503, 2502, 2501,
1060 2500, 2483, 2491, 2544, 2500, 2480, 2541, 2808, 2540, 2479,
1061 2478, 675, 2491, 2489, 2808, 2808, 2489, 2478, 2470, 637,
1062 2527, 2531, 2530, 2808, 2529, 635, 2808, 651, 722, 2485,
1063 651, 2527, 2470, 2465, 2524, 2475, 2517, 2467, 2469, 390,
1064 2459, 2467, 2455, 2808, 2460, 2453, 2465, 2468, 2455, 2454,
1065 2808, 654, 2456, 2453, 645, 2451, 2445, 2808, 2501, 2460,
1067 2457, 2442, 2459, 2455, 2453, 2453, 2447, 692, 2437, 2491,
1068 2808, 2435, 2451, 2488, 2808, 2492, 2445, 2443, 2441, 2442,
1069 2426, 2435, 2480, 2428, 2427, 2422, 2421, 2475, 2416, 648,
1070 2435, 2409, 2416, 2432, 2469, 2808, 2416, 2412, 696, 2410,
1071 2465, 2418, 2417, 2411, 2403, 2403, 2402, 2416, 2416, 2404,
1072 2400, 2398, 2808, 2407, 2457, 2808, 2451, 2393, 2392, 2397,
1073 2452, 2405, 2399, 2393, 2402, 2447, 2441, 2385, 2380, 2438,
1074 2399, 2374, 2380, 688, 2394, 2387, 2391, 2374, 2435, 2429,
1075 2372, 2372, 2426, 2368, 2369, 2368, 2366, 2383, 2808, 2379,
1076 2419, 2808, 2808, 2367, 2365, 2808, 674, 2416, 2415, 2372,
1078 2356, 2373, 2416, 689, 2808, 2808, 2808, 675, 671, 677,
1079 2353, 718, 2808, 2352, 2362, 2808, 2361, 683, 2368, 2348,
1080 2358, 2361, 2402, 2344, 697, 2343, 2353, 2398, 2340, 2347,
1081 2340, 2342, 2351, 2333, 2333, 2348, 2347, 2331, 666, 2345,
1082 2344, 2344, 2326, 2331, 2375, 2329, 2336, 2330, 2378, 2319,
1083 2319, 2333, 2333, 2331, 2331, 2808, 2316, 2328, 2320, 2326,
1084 2317, 2325, 2808, 2310, 2364, 2325, 2307, 2319, 2311, 612,
1085 2302, 2301, 2295, 2300, 2315, 2312, 2313, 2292, 2302, 2308,
1086 2354, 2299, 2290, 2291, 2293, 2288, 2301, 2293, 2292, 699,
1087 2340, 2288, 746, 2338, 2280, 2336, 2280, 2283, 2276, 2291,
1089 2808, 2274, 2288, 2283, 2279, 2808, 2327, 2276, 2283, 2324,
1090 2808, 2266, 2280, 2283, 2268, 2263, 2318, 2317, 2261, 2315,
1091 2272, 2256, 2312, 2311, 2808, 2272, 2252, 2266, 2265, 749,
1092 2266, 2265, 2262, 2246, 2302, 2263, 2258, 2241, 2242, 54,
1093 255, 280, 2808, 328, 362, 2808, 698, 726, 726, 720,
1094 736, 584, 695, 708, 699, 708, 720, 721, 710, 706,
1095 720, 716, 722, 773, 735, 781, 784, 741, 744, 782,
1096 786, 738, 738, 739, 749, 754, 740, 743, 746, 755,
1097 755, 739, 799, 749, 759, 762, 803, 749, 756, 760,
1098 757, 759, 767, 810, 812, 772, 819, 774, 777, 772,
1100 763, 778, 783, 780, 782, 784, 783, 771, 785, 783,
1101 791, 830, 789, 837, 838, 785, 777, 787, 838, 794,
1102 846, 2808, 796, 798, 794, 788, 804, 792, 802, 854,
1103 850, 851, 811, 812, 2808, 802, 803, 802, 815, 805,
1104 818, 865, 866, 867, 801, 824, 815, 804, 810, 868,
1105 829, 813, 825, 872, 816, 823, 875, 836, 831, 836,
1106 834, 881, 820, 832, 847, 842, 842, 832, 829, 2808,
1107 897, 851, 852, 840, 854, 844, 848, 860, 845, 852,
1108 856, 860, 861, 853, 867, 891, 883, 912, 913, 887,
1109 860, 874, 877, 880, 877, 859, 866, 880, 928, 882,
1111 867, 880, 881, 879, 888, 2808, 2808, 884, 879, 894,
1112 891, 877, 879, 898, 895, 897, 886, 893, 895, 904,
1113 946, 909, 948, 907, 897, 895, 894, 905, 901, 893,
1114 904, 915, 900, 901, 907, 923, 962, 920, 915, 965,
1115 2808, 926, 918, 929, 927, 975, 914, 916, 928, 936,
1116 934, 921, 919, 984, 938, 924, 930, 928, 2808, 2808,
1117 938, 943, 948, 936, 946, 948, 2808, 949, 936, 954,
1118 941, 943, 936, 953, 2808, 942, 960, 961, 1000, 948,
1119 949, 946, 950, 968, 1012, 2808, 2808, 2808, 955, 952,
1120 968, 1016, 967, 957, 958, 954, 967, 978, 973, 1020,
1122 975, 977, 970, 972, 968, 974, 974, 976, 991, 974,
1123 1036, 990, 992, 996, 983, 974, 995, 998, 984, 983,
1124 2808, 990, 991, 1043, 1044, 993, 1006, 1047, 1002, 992,
1125 1008, 1008, 1002, 1010, 997, 1028, 1038, 1026, 1034, 1046,
1126 1063, 1009, 1023, 1006, 1064, 1065, 1024, 1067, 2808, 1073,
1127 1023, 1014, 1030, 1034, 1078, 1025, 1024, 1019, 1020, 1032,
1128 1027, 1023, 1032, 1027, 1030, 1043, 1052, 1091, 1039, 1036,
1129 1054, 1046, 1041, 1102, 1056, 1057, 1048, 1106, 1063, 1052,
1130 1055, 1063, 1065, 1050, 1070, 1063, 1068, 1065, 1063, 1075,
1131 1059, 1060, 2808, 1076, 1079, 1062, 1079, 1074, 1126, 1066,
1133 1085, 2808, 1084, 1087, 1073, 1068, 1086, 1129, 1084, 1080,
1134 1077, 1133, 1134, 1093, 1079, 1097, 1097, 1097, 1098, 1099,
1135 1101, 1086, 1101, 1099, 1089, 1090, 1106, 1093, 1110, 2808,
1136 1108, 1110, 1158, 1102, 2808, 1105, 1110, 1157, 1105, 1117,
1137 1111, 1109, 1106, 1112, 1122, 1170, 1111, 1112, 1112, 1174,
1138 1115, 1127, 1120, 2808, 1116, 1133, 1125, 1121, 1124, 1127,
1139 1179, 1118, 1139, 1126, 1127, 1128, 1129, 1135, 1143, 1134,
1140 1139, 1149, 1197, 1151, 1152, 1157, 1201, 1169, 1198, 1181,
1141 1173, 1178, 2808, 1161, 1146, 1158, 1154, 1168, 1151, 1151,
1142 2808, 1154, 1153, 1216, 1156, 2808, 1167, 1157, 1177, 1176,
1144 1167, 1178, 1224, 1174, 1183, 1176, 1180, 1184, 1167, 1188,
1145 1189, 1180, 1238, 1182, 2808, 1235, 1179, 1182, 2808, 1200,
1146 1182, 1183, 1183, 1204, 1201, 1203, 1190, 1208, 1196, 1210,
1147 1203, 1212, 1192, 1207, 1214, 1259, 1202, 1256, 2808, 1262,
1148 1263, 1202, 1212, 1222, 1206, 1226, 1214, 1210, 1217, 1226,
1149 1214, 1221, 1222, 1234, 1278, 1222, 1280, 1221, 1220, 1224,
1150 1238, 1242, 1286, 1231, 1237, 1238, 1227, 1291, 1239, 1242,
1151 1294, 2808, 1232, 1249, 1242, 1233, 1252, 1240, 1250, 1246,
1152 1241, 1260, 1260, 2808, 1244, 1240, 1246, 2808, 1247, 1311,
1153 1267, 1248, 1254, 1268, 1254, 1270, 1256, 1273, 1315, 1265,
1155 1322, 1323, 1273, 1278, 1272, 1270, 1281, 1280, 1264, 2808,
1156 1269, 1275, 1288, 2808, 1302, 1315, 1303, 1317, 1304, 1339,
1157 1289, 1277, 1299, 1294, 1294, 1298, 1299, 1347, 2808, 1287,
1158 1287, 1290, 1307, 1302, 1306, 1301, 2808, 1310, 1294, 1311,
1159 1291, 1312, 1302, 1302, 1362, 1312, 2808, 1325, 1325, 1366,
1160 1310, 1319, 1369, 1324, 1329, 1315, 1378, 1333, 1319, 1320,
1161 1334, 1332, 1329, 1325, 1343, 1344, 1345, 2808, 1384, 1336,
1162 2808, 1346, 2808, 1331, 1342, 1333, 1352, 1345, 1343, 1336,
1163 1348, 1395, 1356, 1345, 1352, 1353, 1359, 2808, 1352, 2808,
1164 1407, 1357, 1346, 1359, 1411, 2808, 1350, 1356, 1357, 1368,
1166 2808, 1369, 1363, 2808, 1356, 1359, 1373, 1378, 1361, 1423,
1167 1377, 1364, 1383, 1370, 1375, 1429, 1425, 1375, 1432, 2808,
1168 1380, 1377, 1388, 1436, 1437, 1438, 1434, 1393, 1394, 1396,
1169 2808, 2808, 1388, 1383, 1440, 1386, 1402, 1448, 1387, 1399,
1170 1388, 1405, 1448, 1431, 1432, 1424, 1457, 2808, 1401, 1412,
1171 1405, 1414, 1405, 1416, 1418, 2808, 1465, 1399, 1410, 1425,
1172 1464, 1413, 1424, 1410, 1426, 1427, 1424, 1471, 1431, 1433,
1173 1422, 1432, 1440, 1427, 1424, 1487, 1483, 1438, 1485, 1491,
1174 1445, 2808, 1442, 1432, 1448, 1439, 1442, 1451, 1448, 1438,
1175 1441, 1441, 1442, 1453, 1448, 1506, 1450, 1508, 1448, 1453,
1177 1511, 1508, 1446, 1461, 1454, 1457, 1470, 1471, 1469, 1521,
1178 2808, 1467, 1473, 1463, 2808, 1479, 1471, 1472, 1524, 1468,
1179 1484, 1532, 1533, 1474, 1484, 1536, 2808, 1481, 1538, 1479,
1180 1477, 1480, 2808, 1497, 1502, 2808, 1499, 1487, 1487, 2808,
1181 2808, 2808, 1492, 1502, 1485, 1505, 1506, 1492, 1494, 1556,
1182 1503, 2808, 1558, 1504, 1498, 1561, 1526, 1544, 1559, 1546,
1183 2808, 1509, 1568, 1522, 1570, 1517, 1567, 1573, 2808, 1513,
1184 1575, 1522, 1516, 1513, 1516, 1518, 1576, 1536, 1578, 1528,
1185 1540, 1543, 1540, 1534, 1538, 1532, 1539, 1529, 2808, 1537,
1186 1552, 1537, 2808, 1539, 1539, 1597, 1542, 1599, 1558, 1560,
1188 1560, 1557, 1604, 1563, 1564, 1556, 1557, 2808, 1558, 2808,
1189 1568, 1561, 2808, 1567, 1572, 1573, 1570, 1617, 1562, 1577,
1190 1578, 1570, 2808, 1580, 1568, 1578, 1570, 1570, 1571, 1572,
1191 1629, 1635, 2808, 2808, 1631, 1575, 2808, 1576, 2808, 1590,
1192 1578, 1586, 1643, 1588, 1580, 1593, 1587, 1597, 1590, 1594,
1193 1610, 1603, 1609, 1599, 1657, 1607, 2808, 1616, 2808, 1613,
1194 1661, 2808, 1611, 1639, 1640, 1646, 1631, 1639, 1668, 2808,
1195 1669, 2808, 1624, 1609, 2808, 1672, 2808, 1673, 1627, 1632,
1196 1614, 1677, 1618, 1674, 1637, 1631, 1627, 1621, 1628, 1680,
1197 1635, 1636, 1626, 1631, 1649, 1697, 1648, 1699, 1649, 1647,
1199 1697, 1658, 1658, 1700, 1645, 1650, 1648, 1710, 1651, 1659,
1200 1665, 1653, 1715, 1711, 1671, 1718, 1676, 1665, 1659, 1722,
1201 1661, 1662, 1676, 1726, 1680, 1671, 1681, 1730, 1731, 1681,
1202 1679, 2808, 1669, 1730, 1731, 1683, 1683, 1683, 1678, 1679,
1203 1697, 2808, 1688, 1694, 1699, 1686, 1687, 1749, 1688, 1688,
1204 1690, 1748, 1691, 2808, 1687, 1705, 1757, 2808, 1712, 1726,
1205 1740, 1739, 1728, 1730, 2808, 2808, 1764, 1714, 2808, 2808,
1206 1705, 1716, 1768, 2808, 1769, 1723, 1714, 1719, 1717, 1770,
1207 1725, 1730, 1716, 1719, 1735, 1724, 1722, 1736, 1723, 2808,
1208 1725, 2808, 1730, 1748, 1735, 1744, 1790, 1734, 1797, 1742,
1210 1752, 1753, 2808, 1801, 1738, 1798, 1753, 1800, 2808, 1748,
1211 1807, 2808, 1747, 1762, 1750, 2808, 1760, 1761, 1813, 2808,
1212 1768, 1759, 1773, 2808, 2808, 1749, 1767, 1776, 1758, 1776,
1213 1765, 1818, 1767, 1763, 1768, 1827, 1766, 1767, 1830, 1826,
1214 1832, 2808, 1782, 1780, 1835, 1785, 1775, 1791, 1784, 2808,
1215 1840, 1818, 1842, 1824, 1839, 1845, 2808, 1791, 1847, 1786,
1216 2808, 2808, 1788, 1790, 1800, 1847, 1792, 1807, 1794, 1856,
1217 1810, 1796, 1803, 1803, 1861, 1815, 1816, 1808, 1804, 1806,
1218 1820, 1808, 1820, 2808, 1867, 1815, 1812, 2808, 1828, 1815,
1219 1828, 1815, 1836, 2808, 1833, 1881, 1831, 1828, 1829, 2808,
1221 1885, 1843, 1842, 1841, 1834, 1839, 1840, 1838, 1849, 1833,
1222 1842, 1891, 1897, 2808, 1847, 1899, 2808, 1845, 2808, 1844,
1223 1840, 2808, 1847, 1904, 1906, 1902, 2808, 1903, 2808, 1885,
1224 1891, 2808, 1863, 2808, 1907, 1856, 1867, 1868, 1853, 1854,
1225 1862, 1919, 2808, 1864, 1916, 1917, 1869, 2808, 1864, 1882,
1226 1883, 1865, 1871, 1884, 1879, 1876, 1881, 1879, 1934, 1875,
1227 1891, 1939, 1884, 1881, 1881, 2808, 1896, 1897, 1898, 2808,
1228 1892, 1900, 1948, 1898, 1888, 1896, 1909, 1910, 1891, 1892,
1229 1899, 2808, 1901, 2808, 1915, 1912, 1904, 1956, 1914, 2808,
1230 2808, 1918, 1944, 1945, 1943, 1906, 1906, 1915, 1922, 1915,
1232 1914, 1925, 1912, 2808, 1928, 1916, 1919, 1978, 1915, 1934,
1233 1927, 1977, 1938, 1931, 1930, 1939, 1941, 1945, 2808, 1984,
1234 1938, 2808, 1943, 1934, 1996, 1936, 1998, 1999, 1995, 2001,
1235 2808, 1940, 1998, 1957, 1944, 1952, 1963, 1950, 1961, 1947,
1236 1945, 1953, 1952, 1953, 1959, 1950, 1995, 2019, 2001, 2021,
1237 1971, 1960, 1973, 1963, 1980, 1979, 2023, 1964, 1983, 1984,
1238 2808, 1989, 1982, 2029, 2025, 1989, 1976, 1991, 2039, 1993,
1239 1996, 1991, 1996, 1985, 1996, 2808, 2048, 2808, 2808, 1995,
1240 2808, 2050, 1989, 2052, 1992, 2054, 1999, 2051, 2052, 2011,
1241 2054, 1997, 2001, 2062, 2020, 2064, 2020, 2047, 2808, 2043,
1243 2808, 2013, 2007, 2004, 2066, 2029, 2022, 2018, 2075, 2015,
1244 2017, 2016, 2023, 2035, 2070, 2021, 2083, 2024, 2808, 2029,
1245 2039, 2041, 2043, 2026, 2034, 2808, 2040, 2808, 2042, 2808,
1246 2048, 2808, 2049, 2049, 2040, 2099, 2040, 2050, 2035, 2808,
1247 2048, 2808, 2050, 2081, 2087, 2059, 2057, 2109, 2047, 2049,
1248 2046, 2070, 2808, 2057, 2064, 2065, 2068, 2064, 2119, 2059,
1249 2808, 2116, 2060, 2068, 2077, 2063, 2079, 2078, 2067, 2074,
1250 2069, 2069, 2083, 2078, 2808, 2089, 2077, 2133, 2081, 2093,
1251 2121, 2142, 2143, 2087, 2808, 2087, 2099, 2147, 2093, 2095,
1252 2093, 2094, 2152, 2110, 2808, 2103, 2090, 2105, 2110, 2102,
1254 2108, 2160, 2161, 2100, 2116, 2164, 2165, 2106, 2111, 2107,
1255 2123, 2106, 2118, 2112, 2174, 2808, 2808, 2119, 2130, 2177,
1256 2808, 2131, 2116, 2134, 2125, 2808, 2121, 2127, 2141, 2137,
1257 2130, 2125, 2131, 2808, 2808, 2189, 2190, 2808, 2808, 2130,
1258 2138, 2133, 2189, 2152, 2149, 2197, 2808, 2193, 2156, 2808,
1259 2200, 2139, 2202, 2142, 2143, 2156, 2155, 2156, 2146, 2158,
1260 2154, 2808, 2808, 2149, 2212, 2162, 2171, 2164, 2211, 2808,
1261 2162, 2156, 2808, 2168, 2808, 2215, 2174, 2222, 2161, 2177,
1262 2225, 2178, 2227, 2228, 2808, 2182, 2176, 2169, 2189, 2176,
1263 2188, 2179, 2183, 2177, 2808, 2234, 2180, 2808, 2190, 2808,
1265 2808, 2181, 2189, 2239, 2196, 2189, 2201, 2248, 2193, 2193,
1266 2251, 2190, 2192, 2207, 2255, 2256, 2195, 2211, 2196, 2213,
1267 2808, 2261, 2205, 2808, 2212, 2264, 2205, 2808, 2808, 2215,
1268 2267, 2212, 2269, 2808, 2217, 2216, 2808, 2272, 2218, 2808,
1269 2212, 2808, 2212, 2229, 2808, 2230, 2278, 2221, 2280, 2281,
1270 2808, 2282, 2808, 2808, 2808, 2808, 2288, 2291, 2294, 2295,
1271 2297, 2300, 2303, 2306
1276 2357, 2357, 2358, 2358, 2357, 2357, 2357, 2357, 2357, 2357,
1277 2356, 2356, 2356, 2356, 2356, 2359, 2356, 2356, 2356, 2356,
1278 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1279 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2360,
1280 2356, 2356, 2356, 2361, 15, 2356, 45, 45, 45, 45,
1281 45, 45, 45, 45, 45, 45, 2362, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 45, 45, 45, 45, 45, 2359, 2356,
1284 2356, 2356, 2356, 2356, 2356, 2363, 2356, 2356, 2356, 2356,
1285 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2360, 2356, 2361,
1287 2356, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1288 45, 45, 45, 45, 2364, 45, 2362, 45, 45, 45,
1289 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1291 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1292 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1293 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 2363, 2356, 2356,
1296 2356, 2356, 2356, 2356, 2356, 2356, 45, 45, 45, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 2364, 2356,
1299 2356, 117, 45, 45, 45, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1303 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1305 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1306 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1310 45, 45, 45, 45, 45, 45, 45, 2356, 2356, 2356,
1311 2356, 2356, 2356, 2356, 45, 45, 45, 45, 45, 45,
1312 45, 45, 2356, 45, 2356, 45, 117, 45, 45, 45,
1313 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1318 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1320 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1321 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1322 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 45, 45, 45, 45, 2356, 45, 45,
1325 45, 45, 45, 45, 2356, 2356, 2356, 45, 45, 45,
1326 45, 45, 45, 2356, 45, 45, 2356, 45, 117, 45,
1327 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1328 45, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1329 2356, 45, 45, 45, 45, 45, 45, 2356, 45, 45,
1331 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1332 2356, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1333 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1335 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1336 45, 45, 2356, 45, 45, 2356, 45, 45, 45, 45,
1337 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1340 45, 2356, 2356, 45, 45, 2356, 45, 45, 45, 2356,
1342 45, 45, 45, 45, 2356, 2356, 2356, 45, 45, 45,
1343 45, 45, 2356, 45, 45, 2356, 45, 45, 45, 45,
1344 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1345 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1346 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1347 45, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1348 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1349 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1353 2356, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1354 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1357 45, 45, 2356, 45, 45, 2356, 45, 45, 45, 45,
1358 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1359 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1365 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1366 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1367 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1368 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1369 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 2356,
1371 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1372 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1373 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1375 45, 45, 45, 45, 45, 2356, 2356, 45, 45, 45,
1376 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1377 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1379 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1380 45, 45, 45, 45, 45, 45, 45, 45, 2356, 2356,
1381 45, 45, 45, 45, 45, 45, 2356, 45, 45, 45,
1382 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1383 45, 45, 45, 45, 45, 2356, 2356, 2356, 45, 45,
1384 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1386 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1389 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1390 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1391 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1392 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1395 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1397 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1398 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 2356,
1400 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1401 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1402 45, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1403 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1404 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1406 2356, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1408 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1409 45, 45, 45, 45, 2356, 45, 45, 45, 2356, 45,
1410 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1411 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1412 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1413 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1414 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1415 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1416 45, 45, 45, 2356, 45, 45, 45, 2356, 45, 45,
1417 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1419 45, 45, 45, 45, 45, 45, 45, 45, 45, 2356,
1420 45, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1421 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1422 45, 45, 45, 45, 45, 45, 2356, 45, 45, 45,
1423 45, 45, 45, 45, 45, 45, 2356, 45, 45, 45,
1424 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1425 45, 45, 45, 45, 45, 45, 45, 2356, 45, 45,
1426 2356, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1427 45, 45, 45, 45, 45, 45, 45, 2356, 45, 2356,
1428 45, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1430 2356, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1431 45, 45, 45, 45, 45, 45, 45, 45, 45, 2356,
1432 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1433 2356, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1434 45, 45, 45, 45, 45, 45, 45, 2356, 45, 45,
1435 45, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1436 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1437 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1438 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1439 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1441 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1442 2356, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1443 45, 45, 45, 45, 45, 45, 2356, 45, 45, 45,
1444 45, 45, 2356, 45, 45, 2356, 45, 45, 45, 2356,
1445 2356, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1446 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1447 2356, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1448 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1449 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1450 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1452 45, 45, 45, 45, 45, 45, 45, 2356, 45, 2356,
1453 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1454 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1455 45, 45, 2356, 2356, 45, 45, 2356, 45, 2356, 45,
1456 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1457 45, 45, 45, 45, 45, 45, 2356, 45, 2356, 45,
1458 45, 2356, 45, 45, 45, 45, 45, 45, 45, 2356,
1459 45, 2356, 45, 45, 2356, 45, 2356, 45, 45, 45,
1460 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1461 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1463 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1464 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1465 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1466 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1467 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1468 45, 45, 45, 2356, 45, 45, 45, 2356, 45, 45,
1469 45, 45, 45, 45, 2356, 2356, 45, 45, 2356, 2356,
1470 45, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1471 45, 45, 45, 45, 45, 45, 45, 45, 45, 2356,
1472 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1474 45, 45, 2356, 45, 45, 45, 45, 45, 2356, 45,
1475 45, 2356, 45, 45, 45, 2356, 45, 45, 45, 2356,
1476 45, 45, 45, 2356, 2356, 45, 45, 45, 45, 45,
1477 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1478 45, 2356, 45, 45, 45, 45, 45, 45, 45, 2356,
1479 45, 45, 45, 45, 45, 45, 2356, 45, 45, 45,
1480 2356, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1481 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1482 45, 45, 45, 2356, 45, 45, 45, 2356, 45, 45,
1483 45, 45, 45, 2356, 45, 45, 45, 45, 45, 2356,
1485 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1486 45, 45, 45, 2356, 45, 45, 2356, 45, 2356, 45,
1487 45, 2356, 45, 45, 45, 45, 2356, 45, 2356, 45,
1488 45, 2356, 45, 2356, 45, 45, 45, 45, 45, 45,
1489 45, 45, 2356, 45, 45, 45, 45, 2356, 45, 45,
1490 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1491 45, 45, 45, 45, 45, 2356, 45, 45, 45, 2356,
1492 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1493 45, 2356, 45, 2356, 45, 45, 45, 45, 45, 2356,
1494 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1496 45, 45, 45, 2356, 45, 45, 45, 45, 45, 45,
1497 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1498 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1499 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1500 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1501 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1502 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1503 45, 45, 45, 45, 45, 2356, 45, 2356, 2356, 45,
1504 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1505 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1507 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1508 45, 45, 45, 45, 45, 45, 45, 45, 2356, 45,
1509 45, 45, 45, 45, 45, 2356, 45, 2356, 45, 2356,
1510 45, 2356, 45, 45, 45, 45, 45, 45, 45, 2356,
1511 45, 2356, 45, 45, 45, 45, 45, 45, 45, 45,
1512 45, 45, 2356, 45, 45, 45, 45, 45, 45, 45,
1513 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1514 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1515 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1516 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1518 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1519 45, 45, 45, 45, 45, 2356, 2356, 45, 45, 45,
1520 2356, 45, 45, 45, 45, 2356, 45, 45, 45, 45,
1521 45, 45, 45, 2356, 2356, 45, 45, 2356, 2356, 45,
1522 45, 45, 45, 45, 45, 45, 2356, 45, 45, 2356,
1523 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1524 45, 2356, 2356, 45, 45, 45, 45, 45, 45, 2356,
1525 45, 45, 2356, 45, 2356, 45, 45, 45, 45, 45,
1526 45, 45, 45, 45, 2356, 45, 45, 45, 45, 45,
1527 45, 45, 45, 45, 2356, 45, 45, 2356, 45, 2356,
1529 2356, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1530 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1531 2356, 45, 45, 2356, 45, 45, 45, 2356, 2356, 45,
1532 45, 45, 45, 2356, 45, 45, 2356, 45, 45, 2356,
1533 45, 2356, 45, 45, 2356, 45, 45, 45, 45, 45,
1534 2356, 45, 2356, 2356, 2356, 0, 2356, 2356, 2356, 2356,
1535 2356, 2356, 2356, 2356
1540 2356, 13, 14, 13, 2356, 15, 16, 101, 17, 18,
1541 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1542 85, 2356, 37, 14, 37, 86, 25, 26, 38, 37,
1543 14, 37, 42, 27, 42, 38, 2356, 2356, 28, 90,
1544 13, 14, 13, 91, 29, 90, 30, 102, 13, 14,
1545 13, 202, 25, 31, 13, 14, 13, 42, 40, 42,
1546 417, 32, 13, 14, 13, 90, 40, 33, 418, 167,
1547 92, 93, 91, 168, 34, 35, 13, 14, 13, 202,
1548 15, 16, 91, 17, 18, 19, 20, 21, 22, 22,
1549 22, 22, 22, 23, 24, 39, 13, 14, 13, 92,
1551 92, 25, 26, 39, 13, 14, 13, 42, 27, 42,
1552 881, 94, 121, 28, 108, 153, 41, 104, 105, 29,
1553 107, 30, 113, 154, 41, 141, 122, 25, 31, 95,
1554 142, 245, 88, 143, 88, 155, 32, 89, 89, 89,
1555 89, 89, 33, 108, 104, 105, 107, 246, 113, 34,
1556 35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
1557 45, 45, 45, 45, 45, 45, 45, 47, 45, 45,
1558 45, 45, 45, 48, 45, 49, 50, 45, 51, 45,
1559 45, 52, 45, 45, 53, 45, 45, 45, 45, 54,
1560 55, 45, 56, 45, 45, 45, 57, 45, 45, 58,
1562 59, 60, 61, 62, 63, 45, 64, 65, 52, 66,
1563 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1564 77, 78, 45, 45, 45, 45, 45, 80, 114, 81,
1565 81, 81, 81, 81, 80, 271, 83, 83, 83, 83,
1566 83, 107, 82, 84, 84, 84, 84, 84, 80, 82,
1567 83, 83, 83, 83, 83, 114, 82, 109, 163, 111,
1568 189, 104, 164, 82, 190, 110, 129, 107, 82, 130,
1569 131, 112, 165, 132, 133, 82, 199, 191, 140, 232,
1570 233, 101, 82, 109, 272, 111, 134, 189, 118, 82,
1571 45, 190, 189, 110, 119, 159, 45, 120, 45, 45,
1573 112, 45, 199, 160, 45, 161, 191, 45, 144, 116,
1574 162, 145, 45, 45, 882, 45, 45, 205, 146, 192,
1575 147, 102, 45, 45, 45, 45, 45, 45, 105, 45,
1576 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1577 45, 45, 45, 45, 45, 205, 114, 883, 123, 45,
1578 149, 150, 124, 45, 151, 105, 125, 45, 191, 126,
1579 152, 135, 127, 136, 207, 45, 128, 109, 113, 45,
1580 190, 45, 117, 114, 137, 110, 176, 177, 198, 201,
1581 884, 169, 138, 187, 139, 170, 111, 194, 171, 156,
1582 208, 157, 207, 158, 183, 172, 173, 193, 112, 203,
1584 174, 175, 280, 110, 184, 281, 201, 198, 223, 185,
1585 224, 206, 178, 242, 179, 226, 208, 180, 84, 84,
1586 84, 84, 84, 885, 227, 228, 243, 181, 203, 257,
1587 244, 82, 219, 80, 182, 81, 81, 81, 81, 81,
1588 206, 220, 258, 621, 88, 221, 88, 100, 82, 89,
1589 89, 89, 89, 89, 100, 622, 80, 82, 83, 83,
1590 83, 83, 83, 84, 84, 84, 84, 84, 262, 203,
1591 198, 82, 263, 239, 82, 240, 82, 89, 89, 89,
1592 89, 89, 89, 89, 89, 89, 89, 100, 213, 247,
1593 301, 100, 248, 293, 294, 100, 249, 82, 268, 214,
1595 269, 275, 82, 100, 302, 435, 436, 100, 205, 100,
1596 100, 211, 284, 313, 206, 318, 276, 277, 278, 212,
1597 212, 212, 212, 212, 437, 207, 438, 314, 212, 212,
1598 212, 212, 212, 212, 295, 307, 306, 319, 296, 320,
1599 319, 308, 297, 310, 318, 318, 320, 326, 329, 327,
1600 285, 286, 287, 312, 212, 212, 212, 212, 212, 212,
1601 330, 288, 336, 289, 319, 320, 290, 322, 291, 292,
1602 331, 332, 323, 326, 321, 327, 334, 329, 352, 354,
1603 404, 353, 326, 382, 331, 407, 333, 355, 330, 391,
1604 336, 442, 334, 356, 405, 408, 331, 332, 420, 451,
1606 383, 421, 334, 337, 337, 337, 337, 337, 339, 455,
1607 398, 455, 337, 337, 337, 337, 337, 337, 334, 458,
1608 460, 463, 465, 461, 460, 466, 473, 495, 515, 459,
1609 559, 465, 446, 496, 537, 455, 474, 456, 337, 337,
1610 337, 337, 337, 337, 538, 392, 891, 463, 393, 460,
1611 461, 465, 466, 471, 452, 469, 469, 469, 469, 469,
1612 539, 608, 810, 811, 469, 469, 469, 469, 469, 469,
1613 511, 529, 530, 553, 603, 512, 531, 564, 554, 574,
1614 596, 565, 560, 575, 609, 597, 610, 608, 603, 516,
1615 469, 469, 469, 469, 469, 469, 642, 656, 719, 749,
1617 677, 607, 657, 603, 632, 750, 686, 765, 633, 643,
1618 678, 644, 609, 751, 610, 747, 634, 612, 635, 636,
1619 637, 638, 639, 746, 739, 749, 513, 740, 753, 780,
1620 748, 514, 781, 750, 555, 45, 45, 45, 45, 45,
1621 886, 747, 751, 757, 45, 45, 45, 45, 45, 45,
1622 758, 835, 831, 720, 870, 887, 836, 888, 889, 748,
1623 832, 892, 890, 766, 893, 871, 894, 895, 896, 886,
1624 45, 45, 45, 45, 45, 45, 897, 898, 899, 900,
1625 901, 902, 887, 903, 888, 904, 906, 889, 890, 907,
1626 908, 905, 912, 837, 909, 910, 913, 911, 914, 915,
1628 916, 917, 918, 919, 920, 921, 922, 923, 924, 925,
1629 926, 927, 928, 929, 930, 931, 932, 933, 936, 937,
1630 938, 934, 939, 940, 941, 935, 942, 943, 944, 945,
1631 946, 947, 948, 949, 951, 952, 953, 954, 955, 956,
1632 957, 958, 959, 960, 961, 962, 963, 950, 965, 964,
1633 966, 967, 968, 969, 970, 971, 972, 973, 974, 975,
1634 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
1635 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
1636 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1005, 1006,
1637 1007, 1010, 1011, 1012, 1004, 1013, 1017, 1008, 1018, 1019,
1639 1020, 1009, 1021, 1022, 1023, 1024, 1025, 1026, 1014, 1027,
1640 1015, 1028, 1029, 1030, 1016, 1031, 1032, 1033, 1034, 1035,
1641 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
1642 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
1643 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1036, 1063, 1064,
1644 1037, 1065, 1066, 1040, 1067, 1068, 1069, 1070, 1071, 1072,
1645 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
1646 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
1647 1093, 1095, 1096, 1097, 1098, 1094, 1099, 1100, 1101, 1102,
1648 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
1650 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
1651 1124, 1125, 1126, 1123, 1127, 1128, 1129, 1130, 1132, 1133,
1652 1134, 1135, 1131, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
1653 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
1654 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162,
1655 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172,
1656 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1183, 1181,
1657 1184, 1185, 1182, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
1658 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202,
1659 1203, 1204, 1205, 1179, 1178, 1206, 1180, 1181, 1182, 1207,
1661 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217,
1662 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
1663 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
1664 1238, 1239, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
1665 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
1666 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
1667 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
1668 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288,
1669 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
1670 1299, 1300, 1240, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1672 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1318,
1673 1317, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
1674 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
1675 1338, 1339, 1340, 1341, 1342, 1343, 1315, 1317, 1318, 1319,
1676 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353,
1677 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
1678 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1373, 1375,
1679 1376, 1377, 1372, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
1680 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
1681 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
1683 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
1684 1415, 1416, 1417, 1418, 1419, 1374, 1420, 1421, 1422, 1423,
1685 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
1686 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443,
1687 1444, 1445, 1447, 1446, 1448, 1449, 1450, 1451, 1452, 1453,
1688 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463,
1689 1464, 1465, 1466, 1467, 1468, 1469, 1444, 1470, 1443, 1446,
1690 1445, 1447, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478,
1691 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488,
1692 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498,
1694 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508,
1695 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518,
1696 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528,
1697 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538,
1698 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548,
1699 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558,
1700 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568,
1701 1569, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579,
1702 1580, 1581, 1582, 1583, 1584, 1585, 1558, 1559, 1586, 1587,
1703 1560, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596,
1705 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
1706 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1570, 1614, 1615,
1707 1616, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1617, 1625,
1708 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
1709 1636, 1637, 1638, 1639, 1641, 1642, 1643, 1644, 1640, 1645,
1710 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655,
1711 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1664, 1665, 1666,
1712 1669, 1663, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676,
1713 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686,
1714 1687, 1688, 1689, 1667, 1665, 1690, 1664, 1691, 1668, 1692,
1716 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702,
1717 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712,
1718 1713, 1667, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
1719 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731,
1720 1732, 1733, 1734, 1735, 1736, 1740, 1737, 1741, 1742, 1738,
1721 1743, 1744, 1739, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
1722 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761,
1723 1763, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771,
1724 1772, 1773, 1774, 1776, 1777, 1780, 1781, 1778, 1782, 1783,
1725 1784, 1785, 1786, 1787, 1788, 1760, 1761, 1762, 1779, 1763,
1727 1764, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797,
1728 1798, 1799, 1800, 1801, 1802, 1803, 1805, 1806, 1807, 1808,
1729 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
1730 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
1731 1829, 1830, 1831, 1775, 1832, 1833, 1834, 1835, 1836, 1837,
1732 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847,
1733 1848, 1849, 1850, 1851, 1852, 1853, 1855, 1854, 1856, 1857,
1734 1858, 1859, 1860, 1861, 1862, 1863, 1804, 1864, 1865, 1866,
1735 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876,
1736 1877, 1853, 1878, 1852, 1854, 1855, 1879, 1856, 1880, 1881,
1738 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
1739 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
1740 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911,
1741 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
1742 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931,
1743 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
1744 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951,
1745 1952, 1953, 1954, 1928, 1930, 1955, 1956, 1957, 1958, 1959,
1746 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969,
1747 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979,
1749 1980, 1981, 1982, 1983, 1984, 1985, 1987, 1988, 1989, 1990,
1750 1986, 1991, 1992, 1993, 1994, 1996, 1995, 1997, 1998, 1999,
1751 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
1752 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
1753 2020, 1994, 1995, 2021, 2022, 2023, 2024, 2025, 2026, 2027,
1754 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
1755 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047,
1756 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057,
1757 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
1758 2068, 2069, 2070, 2071, 2072, 2047, 2048, 2073, 2049, 2074,
1760 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084,
1761 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2094, 2095,
1762 2093, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
1763 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
1764 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
1765 2098, 2100, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132,
1766 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
1767 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
1768 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
1769 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2144, 2170, 2145,
1771 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180,
1772 2181, 2183, 2182, 2184, 2185, 2186, 2187, 2188, 2189, 2190,
1773 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200,
1774 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2181, 2182, 2208,
1775 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218,
1776 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228,
1777 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238,
1778 2239, 2240, 2215, 2241, 2242, 2243, 2244, 2245, 2246, 2247,
1779 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257,
1780 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267,
1782 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277,
1783 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287,
1784 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297,
1785 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2307, 2306,
1786 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317,
1787 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327,
1788 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337,
1789 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347,
1790 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 12, 12,
1791 12, 36, 36, 36, 79, 98, 79, 100, 100, 100,
1793 115, 115, 115, 188, 880, 188, 209, 209, 209, 879,
1794 878, 877, 876, 875, 874, 873, 872, 869, 868, 867,
1795 866, 865, 864, 863, 862, 861, 860, 859, 858, 857,
1796 856, 855, 854, 853, 852, 851, 850, 849, 848, 847,
1797 846, 845, 844, 843, 842, 841, 840, 839, 838, 834,
1798 833, 830, 829, 828, 827, 826, 825, 824, 823, 822,
1799 821, 820, 819, 818, 817, 816, 815, 814, 813, 812,
1800 809, 808, 807, 806, 805, 804, 803, 802, 801, 800,
1801 799, 798, 797, 796, 795, 794, 793, 792, 791, 790,
1802 789, 788, 787, 786, 785, 784, 783, 782, 779, 778,
1804 777, 776, 775, 774, 773, 772, 771, 770, 769, 768,
1805 767, 764, 763, 762, 761, 760, 759, 756, 755, 754,
1806 752, 746, 745, 744, 743, 742, 741, 738, 737, 736,
1807 735, 734, 733, 732, 731, 730, 729, 728, 727, 726,
1808 725, 724, 723, 722, 721, 718, 717, 716, 715, 714,
1809 713, 712, 711, 710, 709, 708, 707, 706, 705, 704,
1810 703, 702, 701, 700, 699, 698, 697, 696, 695, 694,
1811 693, 692, 691, 690, 689, 688, 687, 685, 684, 683,
1812 682, 681, 680, 679, 676, 675, 674, 673, 672, 671,
1813 670, 669, 668, 667, 666, 665, 664, 663, 662, 661,
1815 660, 659, 658, 655, 654, 653, 652, 651, 650, 649,
1816 648, 647, 646, 645, 641, 640, 631, 630, 629, 628,
1817 627, 626, 625, 624, 623, 620, 619, 618, 617, 616,
1818 615, 614, 613, 611, 607, 606, 605, 604, 602, 601,
1819 600, 599, 598, 595, 594, 593, 592, 591, 590, 589,
1820 588, 587, 586, 585, 584, 583, 582, 581, 580, 579,
1821 578, 577, 576, 573, 572, 571, 570, 569, 568, 567,
1822 566, 563, 562, 561, 558, 557, 556, 552, 551, 550,
1823 549, 548, 547, 546, 545, 544, 543, 542, 541, 540,
1824 536, 535, 534, 533, 532, 528, 527, 526, 525, 524,
1826 523, 522, 521, 520, 519, 518, 517, 510, 509, 508,
1827 507, 506, 505, 504, 503, 502, 501, 500, 499, 498,
1828 497, 494, 493, 492, 491, 490, 489, 488, 487, 486,
1829 485, 484, 483, 482, 481, 480, 479, 478, 477, 476,
1830 475, 472, 470, 468, 467, 464, 462, 457, 454, 453,
1831 450, 449, 448, 447, 445, 444, 443, 441, 440, 439,
1832 434, 433, 432, 431, 430, 429, 428, 427, 426, 425,
1833 424, 423, 422, 419, 416, 415, 414, 413, 412, 411,
1834 410, 409, 406, 403, 402, 401, 400, 399, 397, 396,
1835 395, 394, 390, 389, 388, 387, 386, 385, 384, 381,
1837 380, 379, 378, 377, 376, 375, 374, 373, 372, 371,
1838 370, 369, 368, 367, 366, 365, 364, 363, 362, 361,
1839 360, 359, 358, 357, 351, 350, 349, 348, 347, 346,
1840 345, 344, 343, 342, 341, 340, 338, 210, 335, 333,
1841 328, 325, 324, 317, 316, 315, 311, 309, 305, 304,
1842 303, 300, 299, 298, 283, 282, 279, 274, 273, 270,
1843 267, 266, 265, 264, 261, 260, 259, 256, 255, 254,
1844 253, 252, 251, 250, 241, 238, 237, 236, 235, 234,
1845 231, 230, 229, 225, 222, 218, 217, 216, 215, 210,
1846 204, 200, 197, 196, 195, 186, 166, 148, 106, 103,
1848 43, 99, 97, 96, 87, 43, 2356, 11, 2356, 2356,
1849 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1850 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1851 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1852 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1853 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1854 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1855 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1856 2356, 2356, 2356, 2356
1861 0, 1, 1, 1, 0, 1, 1, 44, 1, 1,
1862 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1863 21, 0, 3, 3, 3, 21, 1, 1, 3, 4,
1864 4, 4, 13, 1, 13, 4, 0, 0, 1, 26,
1865 5, 5, 5, 27, 1, 31, 1, 44, 6, 6,
1866 6, 108, 1, 1, 7, 7, 7, 37, 7, 37,
1867 285, 1, 8, 8, 8, 26, 8, 1, 285, 73,
1868 28, 31, 27, 73, 1, 1, 2, 2, 2, 108,
1869 2, 2, 32, 2, 2, 2, 2, 2, 2, 2,
1870 2, 2, 2, 2, 2, 5, 9, 9, 9, 28,
1872 33, 2, 2, 6, 10, 10, 10, 42, 2, 42,
1873 740, 32, 59, 2, 52, 68, 9, 48, 49, 2,
1874 51, 2, 55, 68, 10, 64, 59, 2, 2, 33,
1875 64, 140, 25, 64, 25, 68, 2, 25, 25, 25,
1876 25, 25, 2, 52, 48, 49, 51, 140, 55, 2,
1877 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1878 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1879 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1880 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1881 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1883 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1884 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1885 15, 15, 15, 15, 15, 15, 15, 17, 56, 17,
1886 17, 17, 17, 17, 19, 160, 19, 19, 19, 19,
1887 19, 63, 17, 20, 20, 20, 20, 20, 22, 19,
1888 22, 22, 22, 22, 22, 56, 20, 53, 71, 54,
1889 90, 58, 71, 22, 91, 53, 61, 63, 17, 61,
1890 61, 54, 71, 61, 61, 19, 105, 92, 63, 131,
1891 131, 100, 20, 53, 160, 54, 61, 90, 58, 22,
1892 45, 91, 93, 53, 58, 70, 45, 58, 45, 45,
1894 54, 45, 105, 70, 45, 70, 92, 45, 65, 57,
1895 70, 65, 45, 45, 741, 45, 57, 111, 65, 93,
1896 65, 100, 45, 45, 45, 45, 45, 45, 60, 45,
1897 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1898 45, 45, 45, 45, 45, 111, 78, 742, 60, 57,
1899 67, 67, 60, 57, 67, 60, 60, 57, 95, 60,
1900 67, 62, 60, 62, 113, 57, 60, 69, 76, 57,
1901 94, 57, 57, 78, 62, 69, 75, 75, 104, 107,
1902 744, 74, 62, 78, 62, 74, 75, 95, 74, 69,
1903 114, 69, 113, 69, 76, 74, 74, 94, 75, 109,
1905 74, 74, 165, 69, 76, 165, 107, 104, 125, 76,
1906 125, 112, 75, 139, 75, 127, 114, 75, 80, 80,
1907 80, 80, 80, 745, 127, 127, 139, 75, 109, 149,
1908 139, 80, 123, 81, 75, 81, 81, 81, 81, 81,
1909 112, 123, 149, 480, 82, 123, 82, 102, 81, 82,
1910 82, 82, 82, 82, 102, 480, 83, 80, 83, 83,
1911 83, 83, 83, 84, 84, 84, 84, 84, 153, 158,
1912 118, 83, 153, 137, 81, 137, 84, 88, 88, 88,
1913 88, 88, 89, 89, 89, 89, 89, 102, 118, 141,
1914 174, 102, 141, 169, 169, 102, 141, 83, 158, 118,
1916 158, 163, 84, 102, 174, 301, 301, 102, 178, 102,
1917 102, 117, 168, 184, 181, 189, 163, 163, 163, 117,
1918 117, 117, 117, 117, 302, 183, 302, 184, 117, 117,
1919 117, 117, 117, 117, 170, 179, 178, 190, 170, 191,
1920 193, 179, 170, 181, 189, 192, 194, 198, 201, 199,
1921 168, 168, 168, 183, 117, 117, 117, 117, 117, 117,
1922 202, 168, 208, 168, 190, 191, 168, 193, 168, 168,
1923 203, 204, 194, 198, 192, 199, 206, 201, 227, 228,
1924 274, 227, 214, 255, 268, 276, 306, 228, 202, 263,
1925 208, 306, 310, 228, 274, 276, 203, 204, 287, 315,
1927 255, 287, 206, 212, 212, 212, 212, 212, 214, 318,
1928 268, 321, 212, 212, 212, 212, 212, 212, 310, 325,
1929 326, 329, 331, 327, 339, 332, 341, 362, 378, 325,
1930 417, 398, 310, 362, 397, 318, 341, 321, 212, 212,
1931 212, 212, 212, 212, 397, 263, 752, 329, 263, 326,
1932 327, 331, 332, 339, 315, 337, 337, 337, 337, 337,
1933 398, 466, 670, 670, 337, 337, 337, 337, 337, 337,
1934 377, 391, 391, 412, 460, 377, 391, 421, 412, 430,
1935 452, 421, 417, 430, 468, 452, 468, 466, 471, 378,
1936 337, 337, 337, 337, 337, 337, 495, 508, 574, 608,
1938 530, 539, 508, 460, 492, 609, 539, 625, 492, 495,
1939 530, 495, 468, 610, 468, 604, 492, 471, 492, 492,
1940 492, 492, 492, 612, 597, 608, 377, 597, 612, 639,
1941 604, 377, 639, 609, 412, 469, 469, 469, 469, 469,
1942 747, 604, 610, 618, 469, 469, 469, 469, 469, 469,
1943 618, 693, 690, 574, 730, 748, 693, 749, 750, 604,
1944 690, 753, 751, 625, 754, 730, 755, 756, 757, 747,
1945 469, 469, 469, 469, 469, 469, 758, 759, 760, 761,
1946 762, 763, 748, 764, 749, 765, 766, 750, 751, 767,
1947 768, 765, 770, 693, 769, 769, 771, 769, 772, 773,
1949 774, 775, 776, 777, 778, 779, 780, 781, 782, 783,
1950 784, 785, 786, 787, 788, 789, 790, 791, 792, 793,
1951 794, 791, 795, 796, 797, 791, 798, 799, 800, 801,
1952 802, 803, 804, 805, 806, 807, 808, 809, 810, 811,
1953 812, 813, 814, 815, 816, 817, 818, 805, 819, 818,
1954 820, 821, 823, 824, 825, 826, 827, 828, 829, 830,
1955 831, 832, 833, 834, 836, 837, 838, 839, 840, 841,
1956 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
1957 852, 853, 854, 855, 856, 857, 858, 859, 860, 861,
1958 861, 862, 863, 864, 859, 865, 866, 861, 867, 868,
1960 869, 861, 871, 872, 873, 874, 875, 876, 865, 877,
1961 865, 878, 879, 880, 865, 881, 882, 883, 884, 885,
1962 886, 887, 888, 889, 890, 891, 892, 893, 894, 895,
1963 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
1964 908, 909, 910, 911, 912, 913, 914, 886, 915, 916,
1965 887, 917, 918, 890, 919, 920, 921, 922, 923, 924,
1966 925, 926, 927, 928, 929, 930, 931, 932, 933, 934,
1967 935, 936, 937, 938, 939, 940, 942, 943, 944, 945,
1968 946, 947, 948, 949, 950, 946, 951, 952, 953, 954,
1969 955, 956, 957, 958, 961, 962, 963, 964, 965, 966,
1971 968, 969, 970, 971, 972, 973, 974, 976, 977, 978,
1972 979, 980, 981, 978, 982, 983, 984, 985, 989, 990,
1973 991, 992, 985, 993, 994, 995, 996, 997, 998, 999,
1974 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
1975 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019,
1976 1020, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030,
1977 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1041, 1039,
1978 1042, 1043, 1040, 1044, 1045, 1046, 1047, 1048, 1050, 1051,
1979 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
1980 1062, 1063, 1064, 1037, 1036, 1065, 1038, 1039, 1040, 1066,
1982 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
1983 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1984 1087, 1088, 1089, 1090, 1091, 1092, 1094, 1095, 1096, 1097,
1985 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1107, 1108,
1986 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
1987 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
1988 1129, 1131, 1132, 1133, 1134, 1136, 1137, 1138, 1139, 1140,
1989 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
1990 1151, 1152, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
1991 1162, 1163, 1099, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
1993 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1181,
1994 1180, 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1192,
1995 1193, 1194, 1195, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
1996 1204, 1205, 1206, 1207, 1208, 1209, 1178, 1180, 1181, 1182,
1997 1210, 1211, 1212, 1213, 1214, 1216, 1217, 1218, 1220, 1221,
1998 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
1999 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1240, 1241, 1242,
2000 1243, 1244, 1240, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
2001 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
2002 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
2004 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282,
2005 1283, 1285, 1286, 1287, 1289, 1241, 1290, 1291, 1292, 1293,
2006 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303,
2007 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1312, 1313, 1315,
2008 1316, 1317, 1319, 1318, 1320, 1321, 1322, 1323, 1324, 1325,
2009 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336,
2010 1338, 1339, 1340, 1341, 1342, 1343, 1316, 1344, 1315, 1318,
2011 1317, 1319, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353,
2012 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
2013 1364, 1365, 1366, 1367, 1369, 1370, 1372, 1374, 1375, 1376,
2015 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
2016 1387, 1389, 1391, 1392, 1393, 1394, 1395, 1397, 1398, 1399,
2017 1400, 1402, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
2018 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1421, 1422,
2019 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1433, 1434,
2020 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
2021 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455,
2022 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
2023 1467, 1468, 1469, 1470, 1471, 1472, 1444, 1445, 1473, 1474,
2024 1446, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, 1484,
2026 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494,
2027 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1457, 1502, 1503,
2028 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1512, 1504, 1513,
2029 1514, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524,
2030 1525, 1526, 1528, 1529, 1530, 1531, 1532, 1534, 1529, 1534,
2031 1535, 1537, 1538, 1539, 1543, 1544, 1545, 1546, 1547, 1548,
2032 1549, 1550, 1551, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
2033 1562, 1556, 1560, 1563, 1564, 1565, 1566, 1567, 1568, 1570,
2034 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
2035 1581, 1582, 1583, 1559, 1558, 1584, 1557, 1585, 1560, 1586,
2037 1587, 1588, 1590, 1591, 1592, 1594, 1595, 1596, 1597, 1598,
2038 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1609,
2039 1611, 1559, 1612, 1614, 1615, 1616, 1617, 1618, 1619, 1620,
2040 1621, 1622, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631,
2041 1632, 1635, 1636, 1638, 1640, 1641, 1640, 1642, 1643, 1640,
2042 1644, 1645, 1640, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
2043 1653, 1654, 1655, 1656, 1658, 1660, 1661, 1663, 1664, 1665,
2044 1667, 1666, 1668, 1669, 1671, 1673, 1674, 1676, 1678, 1679,
2045 1680, 1681, 1682, 1683, 1684, 1686, 1687, 1685, 1688, 1689,
2046 1690, 1691, 1692, 1693, 1694, 1664, 1665, 1666, 1685, 1667,
2048 1668, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
2049 1704, 1705, 1706, 1707, 1707, 1708, 1709, 1710, 1711, 1712,
2050 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722,
2051 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1733,
2052 1734, 1735, 1736, 1682, 1737, 1738, 1739, 1740, 1741, 1743,
2053 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753,
2054 1755, 1756, 1757, 1759, 1760, 1761, 1763, 1762, 1764, 1767,
2055 1768, 1771, 1772, 1773, 1775, 1776, 1708, 1777, 1778, 1779,
2056 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789,
2057 1791, 1761, 1793, 1760, 1762, 1763, 1794, 1764, 1795, 1796,
2059 1797, 1798, 1799, 1800, 1801, 1802, 1804, 1805, 1806, 1807,
2060 1808, 1810, 1811, 1813, 1814, 1815, 1817, 1818, 1819, 1821,
2061 1822, 1823, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
2062 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1843, 1844,
2063 1845, 1846, 1847, 1848, 1849, 1851, 1852, 1853, 1854, 1855,
2064 1856, 1858, 1859, 1860, 1863, 1864, 1865, 1866, 1867, 1868,
2065 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878,
2066 1879, 1880, 1881, 1852, 1854, 1882, 1883, 1885, 1886, 1887,
2067 1889, 1890, 1891, 1892, 1893, 1895, 1896, 1897, 1898, 1899,
2068 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
2070 1911, 1912, 1913, 1915, 1916, 1918, 1920, 1921, 1923, 1924,
2071 1918, 1925, 1926, 1928, 1930, 1933, 1931, 1935, 1936, 1937,
2072 1938, 1939, 1940, 1941, 1942, 1944, 1945, 1946, 1947, 1949,
2073 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959,
2074 1960, 1930, 1931, 1961, 1962, 1963, 1964, 1965, 1967, 1968,
2075 1969, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979,
2076 1980, 1981, 1983, 1985, 1986, 1987, 1988, 1989, 1992, 1993,
2077 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2078 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
2079 2015, 2016, 2017, 2018, 2020, 1993, 1994, 2021, 1995, 2023,
2081 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2032, 2033, 2034,
2082 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044,
2083 2042, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053,
2084 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2062, 2063, 2064,
2085 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074,
2086 2047, 2049, 2075, 2077, 2080, 2082, 2083, 2084, 2085, 2086,
2087 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096,
2088 2097, 2098, 2100, 2102, 2103, 2104, 2105, 2106, 2107, 2108,
2089 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118,
2090 2120, 2121, 2122, 2123, 2124, 2125, 2127, 2098, 2129, 2100,
2092 2131, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2141, 2143,
2093 2144, 2146, 2145, 2147, 2148, 2149, 2150, 2151, 2152, 2154,
2094 2155, 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2164, 2165,
2095 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2144, 2145, 2173,
2096 2174, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184,
2097 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2196,
2098 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206,
2099 2207, 2208, 2181, 2209, 2210, 2211, 2212, 2213, 2214, 2215,
2100 2218, 2219, 2220, 2222, 2223, 2224, 2225, 2227, 2228, 2229,
2101 2230, 2231, 2232, 2233, 2236, 2237, 2240, 2241, 2242, 2243,
2103 2244, 2245, 2246, 2248, 2249, 2251, 2252, 2253, 2254, 2255,
2104 2256, 2257, 2258, 2259, 2260, 2261, 2264, 2265, 2266, 2267,
2105 2268, 2269, 2271, 2272, 2274, 2276, 2277, 2278, 2279, 2280,
2106 2281, 2282, 2283, 2284, 2286, 2287, 2288, 2289, 2290, 2289,
2107 2291, 2292, 2293, 2294, 2296, 2297, 2299, 2302, 2303, 2304,
2108 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314,
2109 2315, 2316, 2317, 2318, 2319, 2320, 2322, 2323, 2325, 2326,
2110 2327, 2330, 2331, 2332, 2333, 2335, 2336, 2338, 2339, 2341,
2111 2343, 2344, 2346, 2347, 2348, 2349, 2350, 2352, 2357, 2357,
2112 2357, 2358, 2358, 2358, 2359, 2360, 2359, 2361, 2361, 2361,
2114 2362, 2362, 2362, 2363, 739, 2363, 2364, 2364, 2364, 738,
2115 737, 736, 735, 734, 733, 732, 731, 729, 728, 727,
2116 726, 724, 723, 722, 721, 720, 719, 718, 717, 716,
2117 715, 714, 713, 712, 710, 709, 708, 707, 705, 704,
2118 703, 702, 700, 699, 698, 697, 696, 695, 694, 692,
2119 691, 689, 688, 687, 686, 685, 684, 683, 682, 681,
2120 680, 679, 678, 677, 676, 675, 674, 673, 672, 671,
2121 669, 668, 667, 666, 665, 664, 662, 661, 660, 659,
2122 658, 657, 655, 654, 653, 652, 651, 650, 649, 648,
2123 647, 646, 645, 644, 643, 642, 641, 640, 638, 637,
2125 636, 635, 634, 633, 632, 631, 630, 629, 628, 627,
2126 626, 624, 623, 622, 621, 620, 619, 617, 615, 614,
2127 611, 603, 602, 601, 600, 599, 598, 595, 594, 591,
2128 590, 588, 587, 586, 585, 584, 583, 582, 581, 580,
2129 579, 578, 577, 576, 575, 573, 572, 571, 570, 569,
2130 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
2131 558, 557, 555, 554, 552, 551, 550, 549, 548, 547,
2132 546, 545, 544, 543, 542, 541, 540, 538, 537, 535,
2133 534, 533, 532, 531, 529, 528, 527, 526, 525, 524,
2134 523, 522, 521, 520, 519, 518, 517, 516, 514, 513,
2136 512, 510, 509, 507, 506, 505, 504, 503, 502, 501,
2137 500, 499, 497, 496, 494, 493, 490, 489, 488, 487,
2138 486, 485, 483, 482, 481, 479, 478, 477, 476, 475,
2139 474, 473, 472, 470, 465, 463, 462, 461, 459, 458,
2140 457, 454, 453, 451, 450, 449, 447, 446, 445, 444,
2141 443, 442, 441, 440, 439, 438, 437, 436, 435, 434,
2142 433, 432, 431, 429, 428, 427, 426, 425, 424, 423,
2143 422, 420, 419, 418, 416, 414, 413, 411, 410, 409,
2144 408, 407, 406, 405, 404, 403, 402, 401, 400, 399,
2145 396, 395, 394, 393, 392, 390, 389, 388, 387, 386,
2147 385, 384, 383, 382, 381, 380, 379, 376, 375, 374,
2148 373, 372, 371, 370, 369, 368, 367, 366, 365, 364,
2149 363, 361, 360, 359, 358, 357, 356, 355, 354, 353,
2150 352, 351, 350, 349, 348, 347, 346, 345, 344, 343,
2151 342, 340, 338, 336, 334, 330, 328, 324, 317, 316,
2152 314, 313, 312, 311, 309, 308, 307, 305, 304, 303,
2153 300, 299, 298, 297, 296, 295, 294, 293, 292, 291,
2154 290, 289, 288, 286, 284, 283, 282, 281, 280, 279,
2155 278, 277, 275, 273, 272, 271, 270, 269, 267, 266,
2156 265, 264, 262, 261, 260, 259, 258, 257, 256, 254,
2158 253, 251, 250, 249, 248, 247, 246, 245, 244, 243,
2159 242, 241, 240, 239, 238, 237, 236, 235, 234, 233,
2160 232, 231, 230, 229, 226, 225, 224, 223, 222, 221,
2161 220, 219, 218, 217, 216, 215, 213, 209, 207, 205,
2162 200, 197, 195, 187, 186, 185, 182, 180, 177, 176,
2163 175, 173, 172, 171, 167, 166, 164, 162, 161, 159,
2164 157, 156, 155, 154, 152, 151, 150, 148, 147, 146,
2165 145, 144, 143, 142, 138, 136, 135, 134, 133, 132,
2166 130, 129, 128, 126, 124, 122, 121, 120, 119, 115,
2167 110, 106, 103, 98, 97, 77, 72, 66, 50, 47,
2169 43, 41, 39, 38, 24, 14, 11, 2356, 2356, 2356,
2170 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2171 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2172 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2173 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2174 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2175 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2176 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
2177 2356, 2356, 2356, 2356
2181static char *yy_last_accepting_cpos;
2188 147, 149, 151, 156, 157, 162, 163, 164, 176, 178,
2189 183, 189, 198, 207, 216, 225, 234, 243, 252, 262,
2190 271, 280, 289, 298, 307, 316, 325, 334, 343, 352,
2191 361, 370, 379, 388, 397, 410, 422, 434, 445, 456,
2192 467, 478, 489, 500, 511, 522, 533, 544, 553, 562,
2193 571, 582, 593, 602, 614, 626, 638, 649, 661, 673,
2194 685, 696, 707, 716, 725, 734, 745, 754, 763, 774,
2195 785, 796, 807, 818, 829, 840, 851, 862, 871, 880,
2196 889, 898, 909, 919, 930, 939, 949, 963, 979, 988,
2197 997, 1006, 1015, 1024, 1033, 1057, 1081, 1090, 1100, 1109,
2199 1120, 1131, 1142, 1152, 1161, 1172, 1183, 1194, 1205, 1216,
2200 1225, 1234, 1243, 1252, 1261, 1270, 1279, 1288, 1297, 1306,
2201 1317, 1328, 1339, 1351, 1360, 1369, 1378, 1387, 1397, 1407,
2202 1417, 1427, 1437, 1447, 1456, 1466, 1475, 1484, 1493, 1502,
2203 1512, 1521, 1530, 1539, 1548, 1557, 1566, 1575, 1584, 1593,
2204 1602, 1611, 1620, 1629, 1638, 1647, 1656, 1665, 1674, 1683,
2205 1692, 1701, 1710, 1719, 1728, 1737, 1746, 1755, 1764, 1773,
2206 1782, 1791, 1800, 1809, 1818, 1827, 1836, 1845, 1854, 1863,
2207 1872, 1881, 1890, 1899, 1908, 1917, 1926, 1935, 1946, 1957,
2208 1967, 1977, 1987, 1997, 2007, 2017, 2027, 2037, 2047, 2056,
2210 2065, 2074, 2083, 2094, 2105, 2118, 2131, 2144, 2153, 2162,
2211 2171, 2180, 2189, 2198, 2207, 2216, 2228, 2237, 2338, 2354,
2212 2403, 2411, 2426, 2427, 2428, 2429, 2430, 2431, 2433, 2451,
2213 2464, 2469, 2473, 2475, 2477, 2479
2219#define REJECT reject_used_but_not_detected
2220#define yymore() yymore_used_but_not_detected
2221#define YY_MORE_ADJ 0
2222#define YY_RESTORE_YY_MORE_OFFSET
2224#line 1 "dhcp4_lexer.ll"
2230#line 8 "dhcp4_lexer.ll"
2233#ifndef __clang_analyzer__
2243#include <boost/lexical_cast.hpp>
2257bool start_token_flag =
false;
2260unsigned int comment_start_line = 0;
2267#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2268#line 2268 "dhcp4_lexer.cc"
2283#define YY_NO_INPUT 1
2289#line 96 "dhcp4_lexer.ll"
2293#define YY_USER_ACTION driver.loc_.columns(yyleng);
2294#line 2294 "dhcp4_lexer.cc"
2295#line 2295 "dhcp4_lexer.cc"
2300#define DIR_INCLUDE 3
2303#ifndef YY_NO_UNISTD_H
2315#ifndef YY_EXTRA_TYPE
2316#define YY_EXTRA_TYPE void *
2323static int yy_init_globals (
void );
2366#ifndef YY_SKIP_YYWRAP
2368extern "C" int yywrap (
void );
2370extern int yywrap (
void );
2383static void yy_flex_strncpy (
char *,
const char *,
int );
2386#ifdef YY_NEED_STRLEN
2387static int yy_flex_strlen (
const char * );
2394static int yyinput (
void );
2396static int input (
void );
2408#ifndef YY_READ_BUF_SIZE
2411#define YY_READ_BUF_SIZE 16384
2413#define YY_READ_BUF_SIZE 8192
2423#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2433#define YY_INPUT(buf,result,max_size) \
2435 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2439 for ( n = 0; n < max_size && \
2440 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2441 buf[n] = (char) c; \
2443 buf[n++] = (char) c; \
2444 if ( c == EOF && ferror( yyin ) ) \
2445 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2451 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2453 if( errno != EINTR) \
2455 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2473#define yyterminate() return YY_NULL
2477#ifndef YY_START_STACK_INCR
2478#define YY_START_STACK_INCR 25
2482#ifndef YY_FATAL_ERROR
2484#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2505#define YY_DECL_IS_OURS 1
2508extern int yylex (
void);
2510#define YY_DECL int yylex (void)
2519#ifndef YY_USER_ACTION
2520#define YY_USER_ACTION
2525#define YY_BREAK break;
2529#define YY_RULE_SETUP \
2577#line 102 "dhcp4_lexer.ll"
2581#line 106 "dhcp4_lexer.ll"
2589 if (start_token_flag) {
2590 start_token_flag =
false;
2591 switch (start_token_value) {
2623#line 2623 "dhcp4_lexer.cc"
2628 yy_cp = (yy_c_buf_p);
2631 *
yy_cp = (yy_hold_char);
2639 yy_current_state = (yy_start);
2644 if ( yy_accept[yy_current_state] )
2646 (yy_last_accepting_state) = yy_current_state;
2647 (yy_last_accepting_cpos) =
yy_cp;
2649 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2651 yy_current_state = (int) yy_def[yy_current_state];
2652 if ( yy_current_state >= 2357 )
2653 yy_c = yy_meta[yy_c];
2655 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2658 while ( yy_current_state != 2356 );
2659 yy_cp = (yy_last_accepting_cpos);
2660 yy_current_state = (yy_last_accepting_state);
2664 yy_act = yy_accept[yy_current_state];
2676 fprintf( stderr,
"--scanner backing up\n" );
2678 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2680 else if (
yy_act == 237 )
2681 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2683 else if (
yy_act == 238 )
2684 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2686 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2694 *
yy_cp = (yy_hold_char);
2695 yy_cp = (yy_last_accepting_cpos);
2696 yy_current_state = (yy_last_accepting_state);
2697 goto yy_find_action;
2701#line 147 "dhcp4_lexer.ll"
2706#line 149 "dhcp4_lexer.ll"
2711#line 151 "dhcp4_lexer.ll"
2714 comment_start_line = driver.loc_.end.line;;
2719#line 156 "dhcp4_lexer.ll"
2724#line 157 "dhcp4_lexer.ll"
2728#line 158 "dhcp4_lexer.ll"
2735#line 162 "dhcp4_lexer.ll"
2740#line 163 "dhcp4_lexer.ll"
2745#line 164 "dhcp4_lexer.ll"
2750 std::string tmp(
yytext+1);
2751 tmp.resize(tmp.size() - 1);
2753 driver.includeFile(tmp);
2759#line 173 "dhcp4_lexer.ll"
2766#line 176 "dhcp4_lexer.ll"
2771#line 178 "dhcp4_lexer.ll"
2780#line 183 "dhcp4_lexer.ll"
2783 driver.loc_.lines(
yyleng);
2789#line 189 "dhcp4_lexer.ll"
2791 switch(driver.ctx_) {
2801#line 198 "dhcp4_lexer.ll"
2803 switch(driver.ctx_) {
2813#line 207 "dhcp4_lexer.ll"
2815 switch(driver.ctx_) {
2825#line 216 "dhcp4_lexer.ll"
2827 switch(driver.ctx_) {
2837#line 225 "dhcp4_lexer.ll"
2839 switch(driver.ctx_) {
2849#line 234 "dhcp4_lexer.ll"
2851 switch(driver.ctx_) {
2861#line 243 "dhcp4_lexer.ll"
2863 switch(driver.ctx_) {
2873#line 252 "dhcp4_lexer.ll"
2875 switch(driver.ctx_) {
2886#line 262 "dhcp4_lexer.ll"
2888 switch(driver.ctx_) {
2898#line 271 "dhcp4_lexer.ll"
2900 switch(driver.ctx_) {
2910#line 280 "dhcp4_lexer.ll"
2912 switch(driver.ctx_) {
2922#line 289 "dhcp4_lexer.ll"
2924 switch(driver.ctx_) {
2934#line 298 "dhcp4_lexer.ll"
2936 switch(driver.ctx_) {
2946#line 307 "dhcp4_lexer.ll"
2948 switch(driver.ctx_) {
2958#line 316 "dhcp4_lexer.ll"
2960 switch(driver.ctx_) {
2970#line 325 "dhcp4_lexer.ll"
2972 switch(driver.ctx_) {
2982#line 334 "dhcp4_lexer.ll"
2984 switch(driver.ctx_) {
2994#line 343 "dhcp4_lexer.ll"
2996 switch(driver.ctx_) {
3006#line 352 "dhcp4_lexer.ll"
3008 switch(driver.ctx_) {
3018#line 361 "dhcp4_lexer.ll"
3020 switch(driver.ctx_) {
3030#line 370 "dhcp4_lexer.ll"
3032 switch(driver.ctx_) {
3042#line 379 "dhcp4_lexer.ll"
3044 switch(driver.ctx_) {
3054#line 388 "dhcp4_lexer.ll"
3056 switch(driver.ctx_) {
3066#line 397 "dhcp4_lexer.ll"
3068 switch(driver.ctx_) {
3082#line 410 "dhcp4_lexer.ll"
3084 switch(driver.ctx_) {
3097#line 422 "dhcp4_lexer.ll"
3099 switch(driver.ctx_) {
3112#line 434 "dhcp4_lexer.ll"
3114 switch(driver.ctx_) {
3126#line 445 "dhcp4_lexer.ll"
3128 switch(driver.ctx_) {
3140#line 456 "dhcp4_lexer.ll"
3142 switch(driver.ctx_) {
3154#line 467 "dhcp4_lexer.ll"
3156 switch(driver.ctx_) {
3168#line 478 "dhcp4_lexer.ll"
3170 switch(driver.ctx_) {
3182#line 489 "dhcp4_lexer.ll"
3184 switch(driver.ctx_) {
3196#line 500 "dhcp4_lexer.ll"
3198 switch(driver.ctx_) {
3210#line 511 "dhcp4_lexer.ll"
3212 switch(driver.ctx_) {
3224#line 522 "dhcp4_lexer.ll"
3226 switch(driver.ctx_) {
3238#line 533 "dhcp4_lexer.ll"
3240 switch(driver.ctx_) {
3252#line 544 "dhcp4_lexer.ll"
3254 switch(driver.ctx_) {
3264#line 553 "dhcp4_lexer.ll"
3266 switch(driver.ctx_) {
3276#line 562 "dhcp4_lexer.ll"
3278 switch(driver.ctx_) {
3288#line 571 "dhcp4_lexer.ll"
3290 switch(driver.ctx_) {
3302#line 582 "dhcp4_lexer.ll"
3304 switch(driver.ctx_) {
3316#line 593 "dhcp4_lexer.ll"
3318 switch(driver.ctx_) {
3328#line 602 "dhcp4_lexer.ll"
3330 switch(driver.ctx_) {
3343#line 614 "dhcp4_lexer.ll"
3345 switch(driver.ctx_) {
3358#line 626 "dhcp4_lexer.ll"
3360 switch(driver.ctx_) {
3373#line 638 "dhcp4_lexer.ll"
3375 switch(driver.ctx_) {
3387#line 649 "dhcp4_lexer.ll"
3389 switch(driver.ctx_) {
3402#line 661 "dhcp4_lexer.ll"
3404 switch(driver.ctx_) {
3417#line 673 "dhcp4_lexer.ll"
3419 switch(driver.ctx_) {
3432#line 685 "dhcp4_lexer.ll"
3434 switch(driver.ctx_) {
3446#line 696 "dhcp4_lexer.ll"
3448 switch(driver.ctx_) {
3460#line 707 "dhcp4_lexer.ll"
3462 switch(driver.ctx_) {
3472#line 716 "dhcp4_lexer.ll"
3474 switch(driver.ctx_) {
3484#line 725 "dhcp4_lexer.ll"
3486 switch(driver.ctx_) {
3496#line 734 "dhcp4_lexer.ll"
3498 switch(driver.ctx_) {
3510#line 745 "dhcp4_lexer.ll"
3512 switch(driver.ctx_) {
3522#line 754 "dhcp4_lexer.ll"
3524 switch(driver.ctx_) {
3534#line 763 "dhcp4_lexer.ll"
3536 switch(driver.ctx_) {
3548#line 774 "dhcp4_lexer.ll"
3550 switch(driver.ctx_) {
3562#line 785 "dhcp4_lexer.ll"
3564 switch(driver.ctx_) {
3576#line 796 "dhcp4_lexer.ll"
3578 switch(driver.ctx_) {
3590#line 807 "dhcp4_lexer.ll"
3592 switch(driver.ctx_) {
3604#line 818 "dhcp4_lexer.ll"
3606 switch(driver.ctx_) {
3618#line 829 "dhcp4_lexer.ll"
3620 switch(driver.ctx_) {
3632#line 840 "dhcp4_lexer.ll"
3634 switch(driver.ctx_) {
3646#line 851 "dhcp4_lexer.ll"
3648 switch(driver.ctx_) {
3660#line 862 "dhcp4_lexer.ll"
3665 std::string tmp(
yytext+1);
3666 tmp.resize(tmp.size() - 1);
3672#line 871 "dhcp4_lexer.ll"
3677 std::string tmp(
yytext+1);
3678 tmp.resize(tmp.size() - 1);
3684#line 880 "dhcp4_lexer.ll"
3689 std::string tmp(
yytext+1);
3690 tmp.resize(tmp.size() - 1);
3696#line 889 "dhcp4_lexer.ll"
3701 std::string tmp(
yytext+1);
3702 tmp.resize(tmp.size() - 1);
3708#line 898 "dhcp4_lexer.ll"
3710 switch(driver.ctx_) {
3722#line 909 "dhcp4_lexer.ll"
3724 switch(driver.ctx_) {
3735#line 919 "dhcp4_lexer.ll"
3737 switch(driver.ctx_) {
3749#line 930 "dhcp4_lexer.ll"
3751 switch (driver.ctx_) {
3761#line 939 "dhcp4_lexer.ll"
3763 switch(driver.ctx_) {
3774#line 949 "dhcp4_lexer.ll"
3776 switch(driver.ctx_) {
3791#line 963 "dhcp4_lexer.ll"
3793 switch(driver.ctx_) {
3810#line 979 "dhcp4_lexer.ll"
3812 switch(driver.ctx_) {
3822#line 988 "dhcp4_lexer.ll"
3824 switch(driver.ctx_) {
3834#line 997 "dhcp4_lexer.ll"
3836 switch(driver.ctx_) {
3846#line 1006 "dhcp4_lexer.ll"
3848 switch(driver.ctx_) {
3858#line 1015 "dhcp4_lexer.ll"
3860 switch(driver.ctx_) {
3870#line 1024 "dhcp4_lexer.ll"
3872 switch(driver.ctx_) {
3882#line 1033 "dhcp4_lexer.ll"
3884 switch(driver.ctx_) {
3909#line 1057 "dhcp4_lexer.ll"
3911 switch(driver.ctx_) {
3936#line 1081 "dhcp4_lexer.ll"
3938 switch(driver.ctx_) {
3948#line 1090 "dhcp4_lexer.ll"
3950 switch(driver.ctx_) {
3961#line 1100 "dhcp4_lexer.ll"
3963 switch(driver.ctx_) {
3973#line 1109 "dhcp4_lexer.ll"
3975 switch(driver.ctx_) {
3987#line 1120 "dhcp4_lexer.ll"
3989 switch(driver.ctx_) {
4001#line 1131 "dhcp4_lexer.ll"
4003 switch(driver.ctx_) {
4015#line 1142 "dhcp4_lexer.ll"
4017 switch(driver.ctx_) {
4028#line 1152 "dhcp4_lexer.ll"
4030 switch(driver.ctx_) {
4040#line 1161 "dhcp4_lexer.ll"
4042 switch(driver.ctx_) {
4054#line 1172 "dhcp4_lexer.ll"
4056 switch(driver.ctx_) {
4068#line 1183 "dhcp4_lexer.ll"
4070 switch(driver.ctx_) {
4082#line 1194 "dhcp4_lexer.ll"
4084 switch(driver.ctx_) {
4096#line 1205 "dhcp4_lexer.ll"
4098 switch(driver.ctx_) {
4110#line 1216 "dhcp4_lexer.ll"
4112 switch(driver.ctx_) {
4122#line 1225 "dhcp4_lexer.ll"
4124 switch(driver.ctx_) {
4134#line 1234 "dhcp4_lexer.ll"
4136 switch(driver.ctx_) {
4146#line 1243 "dhcp4_lexer.ll"
4148 switch(driver.ctx_) {
4158#line 1252 "dhcp4_lexer.ll"
4160 switch(driver.ctx_) {
4170#line 1261 "dhcp4_lexer.ll"
4172 switch(driver.ctx_) {
4182#line 1270 "dhcp4_lexer.ll"
4184 switch(driver.ctx_) {
4194#line 1279 "dhcp4_lexer.ll"
4196 switch(driver.ctx_) {
4206#line 1288 "dhcp4_lexer.ll"
4208 switch(driver.ctx_) {
4218#line 1297 "dhcp4_lexer.ll"
4220 switch(driver.ctx_) {
4230#line 1306 "dhcp4_lexer.ll"
4232 switch(driver.ctx_) {
4244#line 1317 "dhcp4_lexer.ll"
4246 switch(driver.ctx_) {
4258#line 1328 "dhcp4_lexer.ll"
4260 switch(driver.ctx_) {
4272#line 1339 "dhcp4_lexer.ll"
4274 switch(driver.ctx_) {
4287#line 1351 "dhcp4_lexer.ll"
4289 switch(driver.ctx_) {
4299#line 1360 "dhcp4_lexer.ll"
4301 switch(driver.ctx_) {
4311#line 1369 "dhcp4_lexer.ll"
4313 switch(driver.ctx_) {
4323#line 1378 "dhcp4_lexer.ll"
4325 switch(driver.ctx_) {
4335#line 1387 "dhcp4_lexer.ll"
4337 switch(driver.ctx_) {
4348#line 1397 "dhcp4_lexer.ll"
4350 switch(driver.ctx_) {
4361#line 1407 "dhcp4_lexer.ll"
4363 switch(driver.ctx_) {
4374#line 1417 "dhcp4_lexer.ll"
4376 switch(driver.ctx_) {
4387#line 1427 "dhcp4_lexer.ll"
4389 switch(driver.ctx_) {
4400#line 1437 "dhcp4_lexer.ll"
4402 switch(driver.ctx_) {
4413#line 1447 "dhcp4_lexer.ll"
4415 switch(driver.ctx_) {
4425#line 1456 "dhcp4_lexer.ll"
4427 switch(driver.ctx_) {
4438#line 1466 "dhcp4_lexer.ll"
4440 switch(driver.ctx_) {
4450#line 1475 "dhcp4_lexer.ll"
4452 switch(driver.ctx_) {
4462#line 1484 "dhcp4_lexer.ll"
4464 switch(driver.ctx_) {
4474#line 1493 "dhcp4_lexer.ll"
4476 switch(driver.ctx_) {
4486#line 1502 "dhcp4_lexer.ll"
4488 switch(driver.ctx_) {
4499#line 1512 "dhcp4_lexer.ll"
4501 switch(driver.ctx_) {
4511#line 1521 "dhcp4_lexer.ll"
4513 switch(driver.ctx_) {
4523#line 1530 "dhcp4_lexer.ll"
4525 switch(driver.ctx_) {
4535#line 1539 "dhcp4_lexer.ll"
4537 switch(driver.ctx_) {
4547#line 1548 "dhcp4_lexer.ll"
4549 switch(driver.ctx_) {
4559#line 1557 "dhcp4_lexer.ll"
4561 switch(driver.ctx_) {
4571#line 1566 "dhcp4_lexer.ll"
4573 switch(driver.ctx_) {
4583#line 1575 "dhcp4_lexer.ll"
4585 switch(driver.ctx_) {
4595#line 1584 "dhcp4_lexer.ll"
4597 switch(driver.ctx_) {
4607#line 1593 "dhcp4_lexer.ll"
4609 switch(driver.ctx_) {
4619#line 1602 "dhcp4_lexer.ll"
4621 switch(driver.ctx_) {
4631#line 1611 "dhcp4_lexer.ll"
4633 switch(driver.ctx_) {
4643#line 1620 "dhcp4_lexer.ll"
4645 switch(driver.ctx_) {
4655#line 1629 "dhcp4_lexer.ll"
4657 switch(driver.ctx_) {
4667#line 1638 "dhcp4_lexer.ll"
4669 switch(driver.ctx_) {
4679#line 1647 "dhcp4_lexer.ll"
4681 switch(driver.ctx_) {
4691#line 1656 "dhcp4_lexer.ll"
4693 switch(driver.ctx_) {
4703#line 1665 "dhcp4_lexer.ll"
4705 switch(driver.ctx_) {
4715#line 1674 "dhcp4_lexer.ll"
4717 switch(driver.ctx_) {
4727#line 1683 "dhcp4_lexer.ll"
4729 switch(driver.ctx_) {
4739#line 1692 "dhcp4_lexer.ll"
4741 switch(driver.ctx_) {
4751#line 1701 "dhcp4_lexer.ll"
4753 switch(driver.ctx_) {
4763#line 1710 "dhcp4_lexer.ll"
4765 switch(driver.ctx_) {
4775#line 1719 "dhcp4_lexer.ll"
4777 switch(driver.ctx_) {
4787#line 1728 "dhcp4_lexer.ll"
4789 switch(driver.ctx_) {
4799#line 1737 "dhcp4_lexer.ll"
4801 switch(driver.ctx_) {
4811#line 1746 "dhcp4_lexer.ll"
4813 switch(driver.ctx_) {
4823#line 1755 "dhcp4_lexer.ll"
4825 switch(driver.ctx_) {
4835#line 1764 "dhcp4_lexer.ll"
4837 switch(driver.ctx_) {
4847#line 1773 "dhcp4_lexer.ll"
4849 switch(driver.ctx_) {
4859#line 1782 "dhcp4_lexer.ll"
4861 switch(driver.ctx_) {
4871#line 1791 "dhcp4_lexer.ll"
4873 switch(driver.ctx_) {
4883#line 1800 "dhcp4_lexer.ll"
4885 switch(driver.ctx_) {
4895#line 1809 "dhcp4_lexer.ll"
4897 switch(driver.ctx_) {
4907#line 1818 "dhcp4_lexer.ll"
4909 switch(driver.ctx_) {
4919#line 1827 "dhcp4_lexer.ll"
4921 switch(driver.ctx_) {
4931#line 1836 "dhcp4_lexer.ll"
4933 switch(driver.ctx_) {
4943#line 1845 "dhcp4_lexer.ll"
4945 switch(driver.ctx_) {
4955#line 1854 "dhcp4_lexer.ll"
4957 switch(driver.ctx_) {
4967#line 1863 "dhcp4_lexer.ll"
4969 switch(driver.ctx_) {
4979#line 1872 "dhcp4_lexer.ll"
4981 switch(driver.ctx_) {
4991#line 1881 "dhcp4_lexer.ll"
4993 switch(driver.ctx_) {
5003#line 1890 "dhcp4_lexer.ll"
5005 switch(driver.ctx_) {
5015#line 1899 "dhcp4_lexer.ll"
5017 switch(driver.ctx_) {
5027#line 1908 "dhcp4_lexer.ll"
5029 switch(driver.ctx_) {
5039#line 1917 "dhcp4_lexer.ll"
5041 switch(driver.ctx_) {
5051#line 1926 "dhcp4_lexer.ll"
5053 switch(driver.ctx_) {
5063#line 1935 "dhcp4_lexer.ll"
5065 switch(driver.ctx_) {
5077#line 1946 "dhcp4_lexer.ll"
5079 switch(driver.ctx_) {
5091#line 1957 "dhcp4_lexer.ll"
5097 std::string tmp(
yytext+1);
5098 tmp.resize(tmp.size() - 1);
5104#line 1967 "dhcp4_lexer.ll"
5110 std::string tmp(
yytext+1);
5111 tmp.resize(tmp.size() - 1);
5117#line 1977 "dhcp4_lexer.ll"
5123 std::string tmp(
yytext+1);
5124 tmp.resize(tmp.size() - 1);
5130#line 1987 "dhcp4_lexer.ll"
5136 std::string tmp(
yytext+1);
5137 tmp.resize(tmp.size() - 1);
5143#line 1997 "dhcp4_lexer.ll"
5149 std::string tmp(
yytext+1);
5150 tmp.resize(tmp.size() - 1);
5156#line 2007 "dhcp4_lexer.ll"
5162 std::string tmp(
yytext+1);
5163 tmp.resize(tmp.size() - 1);
5169#line 2017 "dhcp4_lexer.ll"
5175 std::string tmp(
yytext+1);
5176 tmp.resize(tmp.size() - 1);
5182#line 2027 "dhcp4_lexer.ll"
5188 std::string tmp(
yytext+1);
5189 tmp.resize(tmp.size() - 1);
5195#line 2037 "dhcp4_lexer.ll"
5201 std::string tmp(
yytext+1);
5202 tmp.resize(tmp.size() - 1);
5208#line 2047 "dhcp4_lexer.ll"
5210 switch(driver.ctx_) {
5220#line 2056 "dhcp4_lexer.ll"
5222 switch(driver.ctx_) {
5232#line 2065 "dhcp4_lexer.ll"
5234 switch(driver.ctx_) {
5244#line 2074 "dhcp4_lexer.ll"
5246 switch(driver.ctx_) {
5256#line 2083 "dhcp4_lexer.ll"
5258 switch(driver.ctx_) {
5270#line 2094 "dhcp4_lexer.ll"
5272 switch(driver.ctx_) {
5284#line 2105 "dhcp4_lexer.ll"
5286 switch(driver.ctx_) {
5300#line 2118 "dhcp4_lexer.ll"
5302 switch(driver.ctx_) {
5316#line 2131 "dhcp4_lexer.ll"
5318 switch(driver.ctx_) {
5332#line 2144 "dhcp4_lexer.ll"
5334 switch(driver.ctx_) {
5344#line 2153 "dhcp4_lexer.ll"
5346 switch(driver.ctx_) {
5356#line 2162 "dhcp4_lexer.ll"
5358 switch(driver.ctx_) {
5368#line 2171 "dhcp4_lexer.ll"
5370 switch(driver.ctx_) {
5380#line 2180 "dhcp4_lexer.ll"
5382 switch(driver.ctx_) {
5392#line 2189 "dhcp4_lexer.ll"
5394 switch(driver.ctx_) {
5404#line 2198 "dhcp4_lexer.ll"
5406 switch(driver.ctx_) {
5416#line 2207 "dhcp4_lexer.ll"
5418 switch(driver.ctx_) {
5428#line 2216 "dhcp4_lexer.ll"
5430 switch(driver.ctx_) {
5443#line 2228 "dhcp4_lexer.ll"
5445 switch(driver.ctx_) {
5455#line 2237 "dhcp4_lexer.ll"
5460 std::string raw(
yytext+1);
5461 size_t len = raw.size() - 1;
5463 std::string decoded;
5464 decoded.reserve(len);
5465 for (
size_t pos = 0; pos < len; ++pos) {
5471 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5477 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5484 decoded.push_back(c);
5487 decoded.push_back(
'\b');
5490 decoded.push_back(
'\f');
5493 decoded.push_back(
'\n');
5496 decoded.push_back(
'\r');
5499 decoded.push_back(
'\t');
5504 if (pos + 4 > len) {
5506 driver.error(driver.loc_,
5507 "Overflow unicode escape in \"" + raw +
"\"");
5509 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5510 driver.error(driver.loc_,
5511 "Unsupported unicode escape in \"" + raw +
"\"",
5516 if ((c >=
'0') && (c <=
'9')) {
5518 }
else if ((c >=
'A') && (c <=
'F')) {
5519 b = (c -
'A' + 10) << 4;
5520 }
else if ((c >=
'a') && (c <=
'f')) {
5521 b = (c -
'a' + 10) << 4;
5524 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5528 if ((c >=
'0') && (c <=
'9')) {
5530 }
else if ((c >=
'A') && (c <=
'F')) {
5532 }
else if ((c >=
'a') && (c <=
'f')) {
5536 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5538 decoded.push_back(
static_cast<char>(b & 0xff));
5542 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5546 if ((c >= 0) && (c < 0x20)) {
5548 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5550 decoded.push_back(c);
5560#line 2338 "dhcp4_lexer.ll"
5563 std::string raw(
yytext+1);
5564 size_t len = raw.size() - 1;
5566 for (; pos < len; ++pos) {
5568 if ((c >= 0) && (c < 0x20)) {
5572 driver.error(driver.loc_,
5573 "Invalid control in " + std::string(
yytext),
5580#line 2354 "dhcp4_lexer.ll"
5583 std::string raw(
yytext+1);
5584 size_t len = raw.size() - 1;
5587 for (; pos < len; ++pos) {
5606 if ((pos + 4 > len) ||
5607 !std::isxdigit(raw[pos + 1]) ||
5608 !std::isxdigit(raw[pos + 2]) ||
5609 !std::isxdigit(raw[pos + 3]) ||
5610 !std::isxdigit(raw[pos + 4])) {
5621 std::string trailer =
"";
5622 if (raw[len - 1] ==
'\\') {
5625 driver.error(driver.loc_,
5626 "Bad escape in " + std::string(
yytext) + trailer,
5632#line 2403 "dhcp4_lexer.ll"
5635 std::string raw(
yytext+1);
5636 driver.error(driver.loc_,
5637 "Overflow escape in " + std::string(
yytext),
5643#line 2411 "dhcp4_lexer.ll"
5646 std::string raw(
yytext+1);
5647 size_t pos = raw.size() - 1;
5648 for (; pos > 0; --pos) {
5654 driver.error(driver.loc_,
5655 "Overflow unicode escape in " + std::string(
yytext),
5661#line 2426 "dhcp4_lexer.ll"
5666#line 2427 "dhcp4_lexer.ll"
5671#line 2428 "dhcp4_lexer.ll"
5676#line 2429 "dhcp4_lexer.ll"
5681#line 2430 "dhcp4_lexer.ll"
5686#line 2431 "dhcp4_lexer.ll"
5691#line 2433 "dhcp4_lexer.ll"
5695 int64_t integer = 0;
5701 integer = boost::lexical_cast<int64_t>(tmp);
5702 }
catch (
const boost::bad_lexical_cast &) {
5703 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5712#line 2451 "dhcp4_lexer.ll"
5718 fp = boost::lexical_cast<double>(tmp);
5719 }
catch (
const boost::bad_lexical_cast &) {
5720 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5728#line 2464 "dhcp4_lexer.ll"
5736#line 2469 "dhcp4_lexer.ll"
5743#line 2473 "dhcp4_lexer.ll"
5744driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5748#line 2475 "dhcp4_lexer.ll"
5749driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5753#line 2477 "dhcp4_lexer.ll"
5754driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5758#line 2479 "dhcp4_lexer.ll"
5759driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5762#line 2481 "dhcp4_lexer.ll"
5764 if (driver.states_.empty()) {
5767 driver.loc_ = driver.locs_.back();
5768 driver.locs_.pop_back();
5769 driver.file_ = driver.files_.back();
5770 driver.files_.pop_back();
5771 if (driver.sfile_) {
5772 fclose(driver.sfile_);
5775 if (!driver.sfiles_.empty()) {
5776 driver.sfile_ = driver.sfiles_.back();
5777 driver.sfiles_.pop_back();
5780 parser4__switch_to_buffer(driver.states_.back());
5781 driver.states_.pop_back();
5788#line 2504 "dhcp4_lexer.ll"
5791#line 5791 "dhcp4_lexer.cc"
5799 *
yy_cp = (yy_hold_char);
5833 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5835 yy_current_state = yy_get_previous_state( );
5846 yy_next_state = yy_try_NUL_trans( yy_current_state );
5850 if ( yy_next_state )
5853 yy_cp = ++(yy_c_buf_p);
5854 yy_current_state = yy_next_state;
5861 yy_cp = (yy_last_accepting_cpos);
5862 yy_current_state = (yy_last_accepting_state);
5863 goto yy_find_action;
5867 else switch ( yy_get_next_buffer( ) )
5871 (yy_did_buffer_switch_on_eof) = 0;
5892 if ( ! (yy_did_buffer_switch_on_eof) )
5902 yy_current_state = yy_get_previous_state( );
5904 yy_cp = (yy_c_buf_p);
5912 yy_current_state = yy_get_previous_state( );
5914 yy_cp = (yy_c_buf_p);
5916 goto yy_find_action;
5923 "fatal flex scanner internal error--no action found" );
5944static int yy_get_next_buffer (
void)
5951 int number_to_move, i;
5956 "fatal flex scanner internal error--end of buffer missed" );
5980 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5982 for ( i = 0; i < number_to_move; ++i )
5983 *(dest++) = *(source++);
5996 while ( num_to_read <= 0 )
6002 int yy_c_buf_p_offset =
6009 if ( new_size <= 0 )
6025 "fatal error - scanner input buffer overflow" );
6027 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
6039 (yy_n_chars), num_to_read );
6044 if ( (yy_n_chars) == 0 )
6065 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6069 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
6074 (yy_n_chars) += number_to_move;
6096 yy_current_state = (yy_start);
6102 if ( yy_accept[yy_current_state] )
6104 (yy_last_accepting_state) = yy_current_state;
6105 (yy_last_accepting_cpos) =
yy_cp;
6107 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6109 yy_current_state = (int) yy_def[yy_current_state];
6110 if ( yy_current_state >= 2357 )
6111 yy_c = yy_meta[yy_c];
6113 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6116 return yy_current_state;
6132 char *
yy_cp = (yy_c_buf_p);
6135 if ( yy_accept[yy_current_state] )
6137 (yy_last_accepting_state) = yy_current_state;
6138 (yy_last_accepting_cpos) =
yy_cp;
6140 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6142 yy_current_state = (int) yy_def[yy_current_state];
6143 if ( yy_current_state >= 2357 )
6144 yy_c = yy_meta[yy_c];
6146 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6147 yy_is_jam = (yy_current_state == 2356);
6149 return yy_is_jam ? 0 : yy_current_state;
6161 static int yyinput (
void)
6163 static int input (
void)
6172 *(yy_c_buf_p) = (yy_hold_char);
6182 *(yy_c_buf_p) =
'\0';
6186 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
6189 switch ( yy_get_next_buffer( ) )
6212 if ( ! (yy_did_buffer_switch_on_eof) )
6228 c = *(
unsigned char *) (yy_c_buf_p);
6229 *(yy_c_buf_p) =
'\0';
6230 (yy_hold_char) = *++(yy_c_buf_p);
6288 *(yy_c_buf_p) = (yy_hold_char);
6301 (yy_did_buffer_switch_on_eof) = 1;
6317 (yy_hold_char) = *(yy_c_buf_p);
6465 if (new_buffer == NULL)
6474 *(yy_c_buf_p) = (yy_hold_char);
6481 (yy_buffer_stack_top)++;
6486 (yy_did_buffer_switch_on_eof) = 1;
6506 if ((yy_buffer_stack_top) > 0)
6507 --(yy_buffer_stack_top);
6511 (yy_did_buffer_switch_on_eof) = 1;
6528 if (!(yy_buffer_stack)) {
6538 if ( ! (yy_buffer_stack) )
6539 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6541 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6543 (yy_buffer_stack_max) = num_to_alloc;
6544 (yy_buffer_stack_top) = 0;
6548 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6553 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6558 if ( ! (yy_buffer_stack) )
6559 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6562 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6563 (yy_buffer_stack_max) = num_to_alloc;
6642 for ( i = 0; i < _yybytes_len; ++i )
6643 buf[i] = yybytes[i];
6660#ifndef YY_EXIT_FAILURE
6661#define YY_EXIT_FAILURE 2
6665static void yynoreturn yy_fatal_error (
const char* msg )
6667 fprintf( stderr,
"%s\n", msg );
6681 int yyless_macro_arg = (n); \
6682 YY_LESS_LINENO(yyless_macro_arg);\
6683 yytext[yyleng] = (yy_hold_char); \
6684 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6685 (yy_hold_char) = *(yy_c_buf_p); \
6686 *(yy_c_buf_p) = '\0'; \
6687 yyleng = yyless_macro_arg; \
6786static int yy_init_globals (
void)
6792 (yy_buffer_stack) = NULL;
6793 (yy_buffer_stack_top) = 0;
6794 (yy_buffer_stack_max) = 0;
6795 (yy_c_buf_p) = NULL;
6828 yyfree((yy_buffer_stack) );
6829 (yy_buffer_stack) = NULL;
6846static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6850 for ( i = 0; i < n; ++i )
6855#ifdef YY_NEED_STRLEN
6856static int yy_flex_strlen (
const char * s )
6859 for ( n = 0; s[n]; ++n )
6868 return malloc(size);
6881 return realloc(ptr, size);
6886 free( (
char *) ptr );
6891#define YYTABLES_NAME "yytables"
6896#line 2504 "dhcp4_lexer.ll"
6904 start_token_flag =
true;
6905 start_token_value = parser_type;
6912 buffer = parser4__scan_bytes(str.c_str(), str.size());
6914 fatal(
"cannot scan string");
6921 const std::string& filename,
6924 start_token_flag =
true;
6925 start_token_value = parser_type;
6934 buffer = parser4__create_buffer(f, 65536 );
6936 fatal(
"cannot scan file " + filename);
6938 parser4__switch_to_buffer(buffer);
6946 static_cast<void>(parser4_lex_destroy());
6957 parser4__delete_buffer(
states_.back());
6965 fatal(
"Too many nested include.");
6968 FILE* f = fopen(filename.c_str(),
"r");
6970 fatal(
"Can't open include file " + filename);
6978 buffer = parser4__create_buffer(f, 65536 );
6980 fatal(
"Can't scan include file " + filename);
6982 parser4__switch_to_buffer(buffer);
6995 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
static symbol_type make_SAME_AS_INBOUND(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_RETRY_ON_STARTUP(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_CLIENTS(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_HTTPS(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_SOCKET_ADDRESS(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_NO_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_POOL_ID(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_IGNORE_DHCP_SERVER_ID(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_CHECK_EXISTS_WITH_DHCID(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_USE_ROUTING(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_REALM(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_DDNS_TTL_PERCENT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_ONLY_IN_ADDITIONAL_LIST(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_SOCKET_PORT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_DIRECTORY(const location_type &l)
static symbol_type make_EXCLUDE_FIRST_LAST_24(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_TEMPLATE_TEST(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_AUTHENTICATION(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_IGNORE_RAI_LINK_SEL(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_READ_TIMEOUT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_EXTENDED_INFO_CHECKS(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_EVALUATE_ADDITIONAL_CLASSES(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
static symbol_type make_DHCP4(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_TCP_USER_TIMEOUT(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_PASSWORD_FILE(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_USER_FILE(const location_type &l)
static symbol_type make_ALLOCATOR(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_OFFER_LFT(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CIRCUIT_ID(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_STASH_AGENT_OPTIONS(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
std::vector< std::string > files_
File name stack.
void scanEnd()
Method called after the last tokens are scanned.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::string file_
File name.
@ SUBNET4
Used while parsing Dhcp4/Subnet4 structures.
@ POOLS
Used while parsing Dhcp4/subnet4/pools structures.
@ CLIENT_CLASSES
Used while parsing Dhcp4/client-classes structures.
@ RESERVATIONS
Used while parsing Dhcp4/reservations structures.
@ HOSTS_DATABASE
Used while parsing Dhcp4/hosts-database[s] structures.
@ NCR_PROTOCOL
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
@ LOGGERS
Used while parsing Dhcp4/loggers structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp4/*-database/on-fail.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ DDNS_CONFLICT_RESOLUTION_MODE
Used while parsing Dhcp4/ib-ddns-conflict-resolution-mode.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ OUTBOUND_INTERFACE
Used while parsing Dhcp4/interfaces/outbound-interface structures.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Dhcp4/loggers/output-options structures.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ DHCP_DDNS
Used while parsing Dhcp4/dhcp-ddns.
@ OPTION_DATA
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
@ AUTH_TYPE
Used while parsing Dhcp4/control-socket/authentication/type structures.
@ DHCP_MULTI_THREADING
Used while parsing Dhcp4/multi-threading structures.
@ LEASE_DATABASE
Used while parsing Dhcp4/lease-database structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ CLIENTS
Used while parsing Dhcp4/control-socket/authentication/clients structures.
@ SANITY_CHECKS
Sanity checks.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
@ INTERFACES_CONFIG
Used while parsing Dhcp4/interfaces structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp4/host-reservation-identifiers.
@ CONTROL_SOCKET_TYPE
Used while parsing Dhcp4/control-socket/socket-type structures.
@ OPTION_DEF
Used while parsing Dhcp4/option-def structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ HOOKS_LIBRARIES
Used while parsing Dhcp4/hooks-libraries.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp4/dhcp-queue-control structures.
@ AUTHENTICATION
Used while parsing Dhcp4/control-socket/authentication structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ DHCP_SOCKET_TYPE
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
ParserType
Defines currently supported scopes.
@ PARSER_INTERFACES
This will parse the input as interfaces content.
@ PARSER_CONFIG_CONTROL
This will parse the input as config-control.
@ PARSER_DHCP_DDNS
This will parse the input as dhcp-ddns.
@ PARSER_DHCP4
This parser will parse the content as Dhcp4 config wrapped in a map (that's the regular config file)
@ PARSER_OPTION_DEFS
This will parse the input option definitions (for tests).
@ PARSER_HOST_RESERVATION
This will parse the input as host-reservation.
@ PARSER_OPTION_DATA
This will parse the input as option data.
@ PARSER_OPTION_DEF
This will parse the input as option definition.
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_POOL4
This will parse the input as pool4 content.
@ SUBPARSER_DHCP4
This parser will parse the content of Dhcp4 (without outer { } and without "Dhcp4").
@ PARSER_HOOKS_LIBRARY
This will parse the input as hooks-library.
@ PARSER_SUBNET4
This will parse the input as Subnet4 content.
FILE * sfile_
sFile (aka FILE)
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
isc::dhcp::location loc_
Location of the current token.
void includeFile(const std::string &filename)
Divert input to an include file.
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
std::vector< isc::dhcp::location > locs_
Location stack.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.