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 252
695#define YY_END_OF_BUFFER 253
705 245, 245, 0, 0, 0, 0, 0, 0, 0, 0,
706 253, 251, 10, 11, 251, 1, 243, 239, 245, 245,
707 251, 242, 242, 240, 251, 251, 251, 251, 251, 235,
708 236, 251, 251, 251, 237, 238, 5, 5, 5, 251,
709 251, 251, 10, 11, 0, 0, 230, 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, 0, 1,
713 243, 243, 0, 245, 242, 242, 0, 245, 3, 2,
714 241, 242, 6, 0, 245, 0, 0, 0, 0, 0,
716 0, 4, 0, 0, 9, 0, 231, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 233, 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, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 243, 0, 243,
727 2, 244, 241, 0, 0, 0, 0, 0, 0, 0,
728 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 232, 234, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
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, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 244, 0,
742 0, 244, 0, 250, 248, 0, 247, 246, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 203, 0, 202,
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, 0, 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, 18, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
757 0, 0, 0, 0, 0, 0, 244, 249, 246, 0,
758 0, 0, 0, 0, 0, 0, 204, 0, 0, 206,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 113, 0, 0,
762 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
763 0, 0, 140, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 38, 0, 0, 0, 172,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 103, 0,
769 0, 39, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 135, 0, 0, 35,
774 171, 0, 0, 36, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 12, 208, 207, 0, 0, 0,
776 0, 0, 0, 150, 0, 0, 178, 0, 0, 0,
777 0, 0, 0, 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, 126, 0, 0,
782 0, 0, 0, 0, 0, 173, 0, 0, 0, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 102, 0, 0, 0, 0, 0, 179,
787 0, 0, 0, 0, 151, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 186, 0, 0, 7,
791 0, 0, 209, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 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, 0,
800 0, 128, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 59, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 0, 0, 181,
810 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 58, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 144, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 156, 121, 0, 0, 0,
817 0, 0, 0, 127, 0, 0, 0, 0, 0, 0,
818 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 129, 40, 104, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 60, 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, 93,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 56, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 37, 0, 0, 0, 0, 34,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 130, 0,
839 0, 0, 0, 0, 57, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 0, 72, 0, 0, 0, 0, 0, 0, 0, 55,
843 0, 0, 0, 0, 142, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 191, 0, 0, 0, 180,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 0, 195, 0, 0, 0, 193,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
856 0, 182, 0, 61, 0, 0, 0, 213, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 0, 0, 0, 143, 0, 0, 0, 0, 0, 0,
860 0, 147, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 125, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 141, 0, 0, 23,
864 0, 152, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 0, 199, 0, 101, 0,
866 0, 0, 0, 0, 96, 0, 0, 0, 0, 155,
867 0, 0, 189, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 0, 70, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
871 117, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
873 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 149, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 217, 0, 0, 0, 97,
881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882 0, 67, 0, 0, 0, 0, 0, 196, 0, 0,
883 194, 0, 0, 0, 174, 176, 170, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 22, 0, 0, 62,
885 0, 0, 0, 0, 0, 0, 205, 0, 0, 0,
886 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
888 92, 91, 0, 0, 0, 0, 0, 0, 164, 0,
889 0, 0, 188, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 185, 0, 0, 0, 153, 0,
892 15, 0, 0, 41, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 198, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 43, 68, 0, 0, 148, 0, 139,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 54, 0, 105,
897 0, 0, 211, 0, 0, 0, 0, 0, 0, 0,
898 0, 216, 0, 119, 0, 0, 184, 0, 223, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
908 44, 0, 0, 0, 0, 0, 0, 0, 177, 219,
909 0, 0, 131, 31, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 214, 0, 192, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
914 0, 0, 28, 0, 0, 197, 0, 0, 0, 53,
915 0, 0, 0, 228, 0, 0, 0, 123, 122, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 175, 0, 0, 0, 0,
918 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
919 0, 118, 0, 0, 0, 42, 169, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
922 0, 0, 0, 30, 0, 0, 0, 0, 0, 215,
923 0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
926 0, 0, 218, 0, 95, 0, 0, 48, 0, 0,
927 0, 0, 212, 0, 85, 0, 0, 210, 0, 0,
928 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
929 89, 0, 0, 0, 0, 17, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 162, 0, 0, 0, 137, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
933 0, 49, 0, 0, 0, 0, 0, 45, 167, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 81, 75, 0, 0, 0, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 0, 200, 0,
938 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
939 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942 0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 161, 0, 66, 65,
944 0, 20, 0, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
947 0, 0, 115, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 160, 0, 0, 0, 0, 0, 0, 52, 0, 71,
950 0, 46, 0, 110, 0, 0, 0, 0, 0, 0,
951 0, 229, 0, 94, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 82, 0, 0, 0, 0,
953 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, 227, 0,
958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
960 0, 33, 0, 0, 0, 80, 0, 0, 0, 0,
961 166, 0, 0, 0, 0, 0, 0, 0, 221, 224,
962 0, 0, 132, 111, 0, 0, 0, 0, 0, 0,
963 0, 87, 0, 0, 0, 76, 0, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 138, 158, 0,
965 0, 0, 0, 0, 0, 163, 0, 0, 0, 78,
966 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 157, 0, 0, 201, 0, 226, 222, 0,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 77, 0, 0, 133, 0, 0, 0, 27, 25, 0,
973 0, 0, 0, 0, 83, 0, 0, 114, 0, 0,
974 74, 0, 120, 84, 0, 0, 225, 0, 0, 0,
975 0, 0, 73, 0, 159, 26, 220, 0
978static const YY_CHAR yy_ec[256] =
980 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
981 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
982 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
983 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
984 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
985 17, 18, 17, 19, 17, 17, 17, 20, 5, 21,
986 5, 22, 23, 5, 24, 25, 26, 27, 28, 29,
987 5, 30, 31, 32, 33, 34, 5, 35, 36, 37,
988 5, 38, 39, 40, 41, 42, 43, 44, 45, 5,
989 46, 47, 48, 5, 49, 5, 50, 51, 52, 53,
991 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
992 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
993 74, 75, 76, 5, 77, 5, 5, 5, 5, 5,
994 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
995 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
996 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
997 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
998 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
999 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1000 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1002 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1003 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1004 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1005 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1006 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1010static const YY_CHAR yy_meta[78] =
1012 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
1013 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1014 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1015 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1016 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1017 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1018 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1024 0, 76, 22, 29, 40, 48, 54, 62, 97, 105,
1025 3057, 3058, 32, 3053, 153, 0, 219, 3058, 227, 56,
1026 14, 242, 250, 3058, 3032, 118, 17, 71, 75, 3058,
1027 3058, 90, 74, 79, 3058, 3058, 3058, 43, 3041, 2990,
1028 0, 3030, 57, 3048, 2, 287, 3058, 2986, 87, 93,
1029 2992, 101, 79, 235, 248, 222, 220, 318, 242, 229,
1030 332, 310, 235, 260, 219, 270, 2994, 320, 182, 355,
1031 227, 344, 2977, 275, 356, 401, 365, 282, 250, 0,
1032 426, 445, 467, 473, 488, 496, 514, 520, 3058, 0,
1033 537, 545, 3058, 432, 479, 300, 309, 231, 338, 342,
1035 325, 3058, 2994, 3039, 3058, 56, 3058, 534, 3025, 358,
1036 266, 2991, 343, 17, 360, 3031, 400, 382, 401, 343,
1037 3035, 0, 599, 2990, 515, 2972, 2969, 2969, 2972, 457,
1038 2968, 186, 2976, 515, 2962, 2963, 2968, 363, 2978, 367,
1039 2971, 2961, 2970, 417, 2976, 514, 248, 368, 2956, 3013,
1040 3017, 2959, 2952, 3009, 2945, 517, 2966, 2966, 2960, 401,
1041 2952, 2953, 2951, 2945, 499, 2956, 411, 2941, 2940, 540,
1042 2941, 453, 2953, 2952, 2933, 579, 481, 531, 2954, 2951,
1043 2952, 2940, 532, 2949, 2988, 2987, 547, 81, 2930, 505,
1044 2931, 556, 528, 2941, 2933, 2926, 2934, 618, 641, 647,
1046 0, 659, 667, 682, 571, 561, 491, 599, 607, 615,
1047 2930, 3058, 2979, 620, 654, 2924, 649, 655, 661, 668,
1048 2982, 674, 2981, 668, 2980, 3058, 3058, 718, 2920, 2920,
1049 680, 2933, 2925, 2923, 2911, 2922, 2926, 2927, 2907, 2918,
1050 2922, 2919, 2918, 643, 656, 2960, 2920, 2901, 2898, 2906,
1051 2901, 2911, 2914, 2910, 2901, 2897, 2909, 2909, 2897, 2896,
1052 2898, 2901, 2881, 2885, 2899, 2891, 2881, 2884, 2898, 3058,
1053 2883, 2892, 52, 2934, 2876, 2885, 2931, 2874, 2884, 2887,
1054 681, 2927, 2868, 2882, 2924, 684, 2865, 2879, 2877, 2857,
1055 2872, 555, 2869, 664, 2860, 2858, 2858, 2864, 2855, 2868,
1057 2852, 2915, 2867, 418, 2861, 646, 2868, 2863, 2846, 2861,
1058 2847, 2859, 2854, 2858, 2839, 2855, 2841, 2847, 2854, 2894,
1059 654, 504, 2841, 2838, 2837, 515, 2836, 2831, 2845, 699,
1060 2844, 2891, 2823, 2845, 698, 68, 2836, 2824, 760, 745,
1061 766, 775, 701, 3058, 3058, 712, 3058, 3058, 2822, 658,
1062 712, 762, 2873, 759, 2884, 758, 767, 3058, 2883, 3058,
1063 2877, 812, 2818, 2834, 758, 2811, 687, 2832, 2872, 2828,
1064 2811, 2828, 2868, 2824, 2807, 2813, 2869, 2820, 2823, 2814,
1065 2817, 2803, 2814, 2862, 2856, 2810, 2807, 787, 2812, 2812,
1066 2856, 2787, 2849, 2798, 2793, 2787, 2786, 2788, 2791, 2842,
1068 2795, 2840, 2782, 793, 800, 2796, 2781, 2780, 2793, 2791,
1069 2789, 2789, 2788, 2783, 2790, 2785, 2781, 741, 2779, 2782,
1070 2764, 2776, 2827, 693, 777, 2821, 2764, 2780, 2818, 2764,
1071 2763, 2756, 2771, 2762, 2769, 2750, 2767, 2762, 810, 2813,
1072 2764, 2763, 3058, 2762, 789, 2753, 2751, 2763, 756, 2738,
1073 2739, 2752, 2742, 2734, 2796, 2737, 2751, 788, 2737, 2749,
1074 2748, 2747, 2738, 2742, 2740, 2786, 2742, 2741, 2740, 2739,
1075 2722, 2730, 2784, 2739, 2719, 2781, 3058, 2780, 2718, 2717,
1076 837, 2730, 2728, 2726, 2726, 855, 865, 3058, 3058, 2726,
1077 2715, 2707, 779, 2765, 2769, 2768, 3058, 2767, 781, 3058,
1079 822, 874, 2714, 2721, 781, 2764, 2706, 2701, 2761, 2711,
1080 2754, 2703, 2705, 778, 2695, 2703, 2691, 3058, 2696, 2689,
1081 2701, 2704, 2691, 2690, 3058, 852, 2692, 2689, 841, 2687,
1082 2681, 2688, 3058, 2737, 2695, 2692, 2677, 2694, 2690, 2688,
1083 2688, 2682, 844, 2672, 2727, 3058, 2670, 2686, 2724, 3058,
1084 2677, 2727, 2679, 2677, 2675, 2676, 2660, 2669, 2715, 2662,
1085 2661, 2656, 2655, 2710, 2650, 822, 2669, 2643, 2650, 2666,
1086 2704, 3058, 2650, 2646, 899, 2644, 2700, 2652, 2651, 2645,
1087 2637, 2637, 2636, 2650, 2650, 2638, 2634, 2632, 3058, 2641,
1088 2692, 3058, 2630, 2685, 2626, 2625, 2630, 2686, 2638, 2632,
1090 2626, 2635, 2681, 2675, 2618, 2613, 2672, 2632, 2607, 2613,
1091 791, 2627, 2620, 2624, 2607, 2669, 2610, 2662, 2604, 2604,
1092 2659, 2600, 2601, 2600, 2598, 2615, 3058, 2611, 2652, 3058,
1093 3058, 2599, 2597, 3058, 799, 2649, 2653, 2584, 2646, 2602,
1094 2586, 2603, 2647, 869, 3058, 3058, 3058, 808, 870, 873,
1095 2581, 2582, 924, 3058, 2581, 2591, 3058, 2590, 748, 2597,
1096 2577, 2587, 2590, 2632, 2573, 864, 2572, 2582, 2628, 2569,
1097 2576, 2569, 2571, 2580, 2562, 2562, 2577, 2576, 2560, 849,
1098 2574, 2573, 2573, 2555, 2560, 2604, 2558, 2567, 2564, 2558,
1099 2607, 2547, 2547, 2561, 2561, 2559, 2559, 3058, 2544, 2556,
1101 2548, 2554, 2545, 2553, 2551, 3058, 2537, 2592, 2552, 2534,
1102 2546, 2538, 843, 2529, 2528, 2522, 2527, 2542, 2539, 2540,
1103 2519, 2529, 2535, 2582, 2526, 2517, 2518, 2520, 2515, 2528,
1104 2520, 2519, 556, 2568, 2515, 925, 2566, 2507, 2564, 2507,
1105 2510, 2503, 2518, 3058, 2564, 2500, 2514, 2509, 2505, 3058,
1106 2554, 2502, 2509, 2551, 3058, 2492, 2506, 2505, 184, 311,
1107 401, 445, 410, 577, 617, 670, 739, 790, 3058, 799,
1108 827, 844, 861, 879, 931, 886, 887, 888, 874, 933,
1109 895, 892, 877, 884, 892, 890, 3058, 941, 884, 3058,
1110 900, 892, 3058, 912, 926, 926, 918, 934, 906, 897,
1112 895, 906, 896, 905, 917, 911, 900, 896, 910, 906,
1113 912, 964, 924, 971, 972, 928, 928, 978, 979, 929,
1114 929, 930, 940, 945, 931, 934, 937, 946, 946, 930,
1115 992, 941, 951, 954, 996, 941, 1003, 949, 953, 950,
1116 952, 960, 1004, 1006, 965, 1013, 967, 970, 965, 956,
1117 971, 976, 977, 974, 976, 978, 977, 965, 979, 977,
1118 985, 1025, 983, 1032, 1033, 979, 971, 981, 1033, 988,
1119 1041, 3058, 990, 992, 988, 982, 998, 986, 996, 1049,
1120 1045, 1046, 1005, 1006, 3058, 996, 997, 996, 1009, 999,
1121 1012, 1060, 1061, 1062, 3058, 995, 1018, 1009, 998, 1004,
1123 1063, 1023, 1007, 1019, 1072, 1010, 1017, 1070, 1030, 1026,
1124 1031, 1029, 1077, 1015, 1027, 1042, 1039, 1039, 1038, 1028,
1125 1026, 3058, 1094, 1047, 1048, 1036, 1050, 1041, 1045, 1056,
1126 1041, 1049, 1052, 1056, 1063, 1058, 1050, 1065, 1089, 1081,
1127 1111, 1112, 1085, 1114, 1059, 1073, 1076, 1079, 1076, 1058,
1128 1065, 1079, 1128, 1081, 1066, 1079, 1080, 1078, 1087, 3058,
1129 3058, 1083, 1078, 1093, 1090, 1076, 1078, 1098, 1094, 1097,
1130 1085, 1093, 1094, 1102, 1104, 1152, 1109, 1149, 1107, 1097,
1131 1096, 1095, 1106, 1102, 1094, 3058, 1105, 1116, 1101, 1102,
1132 1108, 1124, 1164, 1121, 1116, 1167, 3058, 1127, 1119, 1130,
1134 1128, 1177, 1115, 1132, 1118, 1130, 1139, 1136, 1123, 1121,
1135 1187, 1140, 1126, 1132, 1130, 3058, 3058, 1140, 1145, 1150,
1136 1138, 1148, 1150, 3058, 1151, 1138, 1156, 1143, 1145, 1138,
1137 1155, 3058, 1144, 1162, 1163, 1203, 1150, 1151, 1148, 1152,
1138 1170, 1215, 3058, 3058, 3058, 1157, 1154, 1170, 1219, 1169,
1139 1159, 1160, 1156, 1169, 3058, 1180, 1175, 1223, 1177, 1179,
1140 1172, 1174, 1170, 1176, 1176, 1178, 1193, 1176, 1239, 1192,
1141 1194, 1198, 1185, 1176, 1245, 1198, 1201, 1187, 1186, 3058,
1142 1193, 1194, 1247, 1248, 1196, 1209, 1251, 1205, 1195, 1211,
1143 1211, 1217, 1198, 1207, 1215, 1202, 1233, 1243, 1231, 1239,
1145 1251, 1214, 1271, 1215, 1230, 1212, 1271, 1272, 1230, 1274,
1146 3058, 1280, 1229, 1220, 1236, 1240, 1285, 1231, 1230, 1225,
1147 1226, 1238, 1233, 1229, 1238, 1235, 1239, 1249, 1258, 1242,
1148 1299, 3058, 1249, 1243, 1261, 1254, 1249, 1311, 1264, 1265,
1149 1256, 1315, 1271, 1260, 1263, 1271, 1273, 1258, 1278, 1271,
1150 1276, 1273, 1271, 1283, 1267, 1268, 3058, 1284, 1287, 1284,
1151 1271, 1288, 1283, 1336, 1275, 1294, 3058, 1293, 1296, 1282,
1152 1277, 1295, 1339, 1293, 1289, 1286, 1343, 1344, 1302, 1288,
1153 1306, 1306, 1306, 1307, 1308, 1310, 1295, 1310, 1308, 1298,
1154 1299, 1315, 1302, 1319, 3058, 1317, 1319, 1368, 1311, 3058,
1156 1314, 1319, 1367, 1314, 1326, 1320, 1318, 1315, 1321, 1331,
1157 1380, 1320, 1321, 1321, 1384, 1324, 1336, 1329, 3058, 1325,
1158 1342, 1334, 1330, 1333, 3058, 1336, 1389, 1327, 1348, 1334,
1159 1336, 1337, 1338, 1344, 1352, 1343, 1348, 1358, 1407, 1360,
1160 1409, 1355, 1363, 1368, 1413, 1380, 1410, 1392, 1384, 1389,
1161 1371, 3058, 1373, 1358, 1370, 1366, 1380, 1363, 1363, 3058,
1162 1366, 1365, 1429, 1368, 3058, 1379, 1369, 1389, 1388, 1379,
1163 1390, 1437, 1386, 1395, 1388, 1392, 1396, 1385, 1384, 1405,
1164 1402, 1403, 1394, 1453, 1396, 3058, 1450, 1393, 1397, 3058,
1165 1415, 1397, 1398, 1398, 1419, 1416, 1418, 1405, 1423, 1411,
1167 1425, 1418, 1427, 1407, 1422, 1429, 1414, 1476, 1418, 1473,
1168 3058, 1479, 1480, 1418, 1428, 1438, 1422, 1442, 1430, 1426,
1169 1433, 1442, 1430, 1437, 1438, 1450, 1495, 1438, 1497, 1437,
1170 1436, 1440, 1454, 1458, 1503, 1447, 1453, 1454, 1443, 1508,
1171 1455, 1458, 1511, 3058, 1448, 1465, 1458, 1449, 1468, 1456,
1172 1466, 1462, 1457, 1476, 1476, 3058, 1460, 1456, 1462, 3058,
1173 1463, 1527, 1483, 1464, 1470, 1484, 1470, 1486, 1472, 1489,
1174 1532, 1481, 1539, 1540, 1489, 1494, 1488, 1486, 1497, 1496,
1175 1480, 3058, 1485, 3058, 1494, 1492, 1505, 3058, 1519, 1532,
1176 1520, 1534, 1521, 1513, 1558, 1507, 1495, 1517, 1512, 1512,
1178 1516, 1517, 1566, 3058, 1505, 1505, 1508, 1525, 1520, 1524,
1179 1519, 3058, 1528, 1512, 1529, 1509, 1530, 1532, 1526, 1519,
1180 1530, 1527, 1584, 1533, 3058, 1546, 1546, 1588, 1531, 1540,
1181 1591, 1545, 1550, 1536, 1600, 1554, 1540, 1541, 1555, 1553,
1182 1550, 1546, 1564, 1565, 1566, 1549, 3058, 1607, 1558, 3058,
1183 1568, 3058, 1553, 1564, 1555, 1574, 1567, 1565, 1558, 1570,
1184 1618, 1578, 1567, 1574, 1575, 1581, 3058, 1574, 3058, 1630,
1185 1579, 1568, 1581, 1634, 3058, 1572, 1578, 1579, 1590, 3058,
1186 1591, 1585, 3058, 1578, 1581, 1595, 1600, 1583, 1646, 1599,
1187 1586, 1605, 1592, 1597, 1652, 1648, 1597, 1655, 3058, 1602,
1189 1599, 1610, 1659, 1660, 1661, 1657, 1615, 1616, 1618, 3058,
1190 3058, 1610, 1605, 1663, 1608, 1624, 1671, 1609, 1621, 1674,
1191 1611, 1628, 1672, 1654, 1655, 1647, 1681, 1620, 3058, 1625,
1192 1636, 1629, 1638, 1629, 1640, 1642, 3058, 1690, 1623, 1634,
1193 1649, 1689, 1637, 1648, 1634, 1650, 1651, 1648, 1696, 1697,
1194 1656, 1704, 1707, 1662, 1652, 1662, 1668, 1655, 1651, 1715,
1195 1711, 1665, 1713, 1719, 1672, 3058, 1669, 1659, 1675, 1666,
1196 1669, 1678, 1675, 1665, 1668, 1668, 1731, 1670, 1681, 1676,
1197 1735, 1678, 1737, 1677, 1682, 1741, 1737, 1674, 1689, 1682,
1198 1685, 1698, 1699, 1697, 1750, 3058, 1695, 1701, 1691, 3058,
1200 1707, 1699, 1700, 1753, 1696, 1712, 1761, 1762, 1702, 1712,
1201 1765, 3058, 1709, 1767, 1707, 1705, 1708, 3058, 1725, 1730,
1202 3058, 1727, 1715, 1715, 3058, 3058, 3058, 1720, 1730, 1713,
1203 1733, 1734, 1720, 1722, 1785, 1731, 3058, 1787, 1732, 3058,
1204 1726, 1790, 1754, 1772, 1789, 1774, 3058, 1745, 1740, 1798,
1205 1751, 1800, 1746, 1797, 1803, 3058, 1742, 1805, 1751, 1745,
1206 1742, 1745, 1747, 1806, 1765, 1808, 1757, 1769, 1747, 1773,
1207 3058, 3058, 1773, 1766, 1769, 1762, 1769, 1759, 3058, 1767,
1208 1782, 1767, 3058, 1769, 1769, 1828, 1772, 1830, 1788, 1790,
1209 1790, 1787, 1835, 1793, 3058, 1794, 1786, 1787, 3058, 1788,
1211 3058, 1798, 1791, 3058, 1797, 1802, 1803, 1800, 1848, 1792,
1212 1807, 1808, 1800, 3058, 1810, 1798, 1808, 1800, 1800, 1801,
1213 1802, 1860, 1866, 3058, 3058, 1862, 1805, 3058, 1806, 3058,
1214 1820, 1808, 1816, 1874, 1818, 1810, 1823, 1817, 1827, 1820,
1215 1824, 1840, 1833, 1839, 1829, 1888, 1837, 3058, 1846, 3058,
1216 1843, 1892, 3058, 1841, 1869, 1870, 1876, 1861, 1869, 1894,
1217 1900, 3058, 1901, 3058, 1855, 1840, 3058, 1904, 3058, 1905,
1218 1858, 1863, 1845, 1847, 1849, 1906, 1867, 1862, 1859, 1857,
1219 1853, 1860, 1913, 1867, 1868, 1864, 1869, 1881, 1930, 1880,
1220 1932, 1881, 1879, 1930, 1890, 1890, 1933, 1877, 1882, 1880,
1222 1943, 1883, 1891, 1897, 1885, 1948, 1944, 1903, 1951, 1908,
1223 1897, 1891, 1955, 1893, 1894, 1908, 1959, 1912, 1903, 1913,
1224 1963, 1964, 1913, 1911, 3058, 1901, 1963, 1964, 1915, 1914,
1225 1914, 1909, 1910, 1928, 3058, 1919, 1925, 1930, 1917, 1918,
1226 1981, 1919, 1919, 1921, 1980, 1922, 3058, 1918, 1936, 1989,
1227 3058, 1943, 1957, 1971, 1970, 1959, 1961, 1933, 3058, 3058,
1228 1997, 1946, 3058, 3058, 1937, 1948, 2001, 2002, 1955, 1945,
1229 1951, 1949, 2003, 1957, 1953, 1963, 1949, 1952, 1968, 1957,
1230 1955, 1969, 1957, 3058, 1962, 3058, 1967, 1982, 1968, 1977,
1231 2024, 1967, 2031, 1975, 1985, 1986, 3058, 2035, 1971, 2032,
1233 1986, 2034, 3058, 1981, 2041, 3058, 1980, 1995, 1983, 3058,
1234 1993, 1994, 2047, 3058, 2001, 1992, 2006, 3058, 3058, 1982,
1235 2000, 2009, 1991, 2009, 1998, 2052, 2000, 1996, 2001, 2061,
1236 1999, 2000, 2064, 2060, 2066, 3058, 2015, 2013, 2069, 2018,
1237 2008, 2024, 2017, 3058, 2074, 2051, 2076, 2057, 2073, 2079,
1238 2028, 3058, 2025, 2082, 2020, 3058, 3058, 2022, 2024, 2034,
1239 2082, 2026, 2041, 2042, 2029, 2092, 2045, 2031, 2038, 2038,
1240 2097, 2050, 2051, 2043, 2039, 2043, 2057, 2043, 2055, 3058,
1241 2103, 2050, 2047, 3058, 2063, 2050, 2063, 2050, 2071, 3058,
1242 2068, 2117, 2066, 2063, 2064, 3058, 2121, 2078, 2077, 2076,
1244 2069, 2074, 2075, 2073, 2084, 2068, 2077, 2127, 2133, 3058,
1245 2082, 2135, 3058, 2080, 3058, 2079, 2075, 3058, 2082, 2140,
1246 2142, 2138, 3058, 2139, 3058, 2120, 2126, 3058, 2090, 2100,
1247 3058, 2144, 2092, 2103, 2104, 2089, 2090, 2098, 2156, 2157,
1248 3058, 2101, 2154, 2155, 2106, 3058, 2101, 2119, 2120, 2102,
1249 2108, 2121, 2116, 2113, 2118, 2116, 2174, 2114, 2128, 2177,
1250 2121, 2118, 2118, 3058, 2133, 2134, 2135, 3058, 2129, 2137,
1251 2186, 2135, 2125, 2133, 2146, 2147, 2128, 2129, 2136, 3058,
1252 2138, 3058, 2152, 2149, 2141, 2194, 2151, 3058, 3058, 2155,
1253 2181, 2182, 2180, 2157, 2144, 2144, 2153, 2160, 2153, 2152,
1255 2163, 2150, 3058, 3058, 2166, 2154, 2157, 2217, 2153, 2172,
1256 2165, 2216, 2176, 2169, 2168, 2177, 2179, 2183, 3058, 2225,
1257 2177, 3058, 2181, 2172, 2235, 2174, 2237, 2238, 2234, 2240,
1258 3058, 2178, 2237, 2195, 2182, 2190, 2201, 2188, 2199, 2185,
1259 2183, 2191, 2190, 2191, 2197, 2188, 2233, 2258, 2239, 2255,
1260 2261, 2210, 2199, 2212, 2202, 2219, 2218, 2263, 2203, 2222,
1261 2223, 3058, 2228, 2221, 2269, 2265, 2228, 2215, 2230, 2279,
1262 2232, 2235, 2230, 2235, 2226, 2235, 3058, 2288, 3058, 3058,
1263 2234, 3058, 2290, 2228, 2292, 2231, 2294, 2238, 2291, 2292,
1264 2250, 2294, 2236, 2240, 2302, 2259, 2304, 2259, 2286, 3058,
1266 2282, 2245, 3058, 2253, 2247, 2244, 2307, 2269, 2262, 2258,
1267 2316, 2255, 2257, 2256, 2263, 2275, 2310, 2261, 2324, 2264,
1268 3058, 2269, 2279, 2281, 2283, 2266, 2274, 3058, 2281, 3058,
1269 2283, 3058, 2288, 3058, 2289, 2289, 2280, 2340, 2280, 2290,
1270 2275, 3058, 2288, 3058, 2290, 2321, 2327, 2296, 2301, 2298,
1271 2351, 2288, 2290, 2287, 2311, 3058, 2298, 2305, 2306, 2309,
1272 2305, 2361, 2300, 3058, 2358, 2301, 2309, 2318, 2304, 2320,
1273 2319, 2308, 2315, 2310, 2312, 2324, 2319, 3058, 2330, 2318,
1274 2375, 2322, 2334, 2362, 2384, 2324, 2386, 2329, 3058, 2329,
1275 2341, 2390, 2335, 2337, 2335, 2336, 2395, 2352, 3058, 2345,
1277 2332, 2347, 2352, 2344, 2350, 2403, 2404, 2342, 2358, 2407,
1278 2408, 2349, 2353, 2349, 2365, 2348, 2360, 2354, 2417, 3058,
1279 2370, 3058, 2362, 2373, 2421, 3058, 2374, 2359, 2377, 2368,
1280 3058, 2364, 2370, 2384, 2380, 2373, 2368, 2374, 3058, 3058,
1281 2433, 2434, 3058, 3058, 2373, 2381, 2376, 2433, 2395, 2392,
1282 2441, 3058, 2380, 2438, 2400, 3058, 2445, 2383, 2447, 2386,
1283 2387, 2400, 2399, 2400, 2390, 2402, 2398, 3058, 3058, 2393,
1284 2457, 2406, 2415, 2408, 2456, 3058, 2411, 2407, 2401, 3058,
1285 2413, 3058, 2461, 2419, 2468, 2406, 2422, 2471, 2423, 2473,
1286 2474, 3058, 2427, 2421, 2414, 2434, 2421, 2423, 2434, 2425,
1288 2429, 2423, 3058, 2481, 2426, 3058, 2436, 3058, 3058, 2427,
1289 2435, 2486, 2442, 2435, 2439, 2448, 2496, 2440, 2440, 2499,
1290 2437, 2439, 2454, 2503, 2504, 2442, 2458, 2443, 2461, 2461,
1291 3058, 2510, 2453, 3058, 2460, 2513, 2453, 3058, 3058, 2463,
1292 2516, 2460, 2518, 2519, 3058, 2466, 2465, 3058, 2522, 2467,
1293 3058, 2461, 3058, 3058, 2461, 2478, 3058, 2479, 2528, 2470,
1294 2530, 2531, 3058, 2532, 3058, 3058, 3058, 3058, 2538, 2541,
1295 2544, 2545, 2547, 2550, 2553, 2556
1300 2469, 2469, 2470, 2470, 2469, 2469, 2469, 2469, 2469, 2469,
1301 2468, 2468, 2468, 2468, 2468, 2471, 2468, 2468, 2468, 2468,
1302 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1303 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1304 2472, 2468, 2468, 2468, 2473, 15, 2468, 46, 46, 46,
1305 46, 46, 46, 46, 46, 46, 46, 2474, 46, 46,
1306 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1307 46, 46, 46, 46, 46, 46, 46, 46, 46, 2471,
1308 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2475,
1309 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1311 2468, 2468, 2468, 2472, 2468, 2473, 2468, 2468, 46, 46,
1312 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1313 2476, 46, 2474, 46, 46, 46, 46, 46, 46, 46,
1314 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1315 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1316 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1317 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1318 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1319 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1320 46, 46, 46, 46, 46, 46, 46, 2468, 2468, 2468,
1322 2475, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1323 2468, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1324 46, 46, 46, 46, 2476, 2468, 2468, 123, 46, 46,
1325 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1326 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1327 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1328 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1329 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1330 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1331 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1333 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1334 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1335 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1336 46, 46, 46, 46, 46, 46, 46, 46, 2468, 2468,
1337 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 46,
1338 46, 46, 46, 46, 46, 46, 46, 2468, 46, 2468,
1339 46, 123, 46, 46, 46, 46, 46, 46, 46, 46,
1340 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1341 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1342 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1344 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1345 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1346 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1347 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1348 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1349 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1350 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1351 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1352 46, 46, 46, 46, 46, 2468, 2468, 2468, 2468, 2468,
1353 46, 46, 46, 46, 46, 46, 2468, 46, 46, 2468,
1355 46, 123, 46, 46, 46, 46, 46, 46, 46, 46,
1356 46, 46, 46, 46, 46, 46, 46, 2468, 46, 46,
1357 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1358 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1359 46, 46, 46, 46, 46, 2468, 46, 46, 46, 2468,
1360 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1361 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1362 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1363 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1364 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1366 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1367 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1368 46, 46, 46, 46, 46, 46, 2468, 46, 46, 2468,
1369 2468, 46, 46, 2468, 46, 46, 46, 46, 46, 2468,
1370 46, 46, 46, 46, 2468, 2468, 2468, 46, 46, 46,
1371 46, 46, 46, 2468, 46, 46, 2468, 46, 46, 46,
1372 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1373 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1374 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1375 46, 46, 46, 46, 46, 46, 46, 2468, 46, 46,
1377 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1378 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1379 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1380 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1381 46, 46, 46, 2468, 46, 46, 46, 46, 46, 2468,
1382 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1383 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1384 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1385 46, 46, 46, 46, 46, 46, 2468, 46, 46, 2468,
1386 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1388 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1389 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1390 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1391 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1392 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1393 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1394 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1395 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1396 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1397 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1399 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1400 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1401 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1402 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1403 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1404 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1405 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1406 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1407 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1408 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1410 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1411 46, 46, 46, 46, 46, 2468, 2468, 46, 46, 46,
1412 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1413 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1414 46, 46, 2468, 2468, 2468, 46, 46, 46, 46, 46,
1415 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1416 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1417 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1418 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1419 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1421 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1422 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1423 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1424 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1425 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1426 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1427 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1428 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1429 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1430 46, 46, 46, 46, 2468, 46, 46, 46, 46, 2468,
1432 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1433 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1434 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1435 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1436 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1437 46, 2468, 46, 46, 46, 46, 46, 46, 46, 2468,
1438 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1439 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1440 46, 46, 46, 46, 46, 2468, 46, 46, 46, 2468,
1441 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1443 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1444 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1445 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1446 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1447 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1448 46, 46, 46, 46, 46, 2468, 46, 46, 46, 2468,
1449 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1450 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1451 46, 2468, 46, 2468, 46, 46, 46, 2468, 46, 46,
1452 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1454 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1455 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1456 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1457 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1458 46, 46, 46, 46, 46, 46, 2468, 46, 46, 2468,
1459 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1460 46, 46, 46, 46, 46, 46, 2468, 46, 2468, 46,
1461 46, 46, 46, 46, 2468, 46, 46, 46, 46, 2468,
1462 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1463 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1465 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1466 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1467 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1468 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1469 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1470 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1471 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1472 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1473 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1474 46, 46, 46, 46, 46, 2468, 46, 46, 46, 2468,
1476 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1477 46, 2468, 46, 46, 46, 46, 46, 2468, 46, 46,
1478 2468, 46, 46, 46, 2468, 2468, 2468, 46, 46, 46,
1479 46, 46, 46, 46, 46, 46, 2468, 46, 46, 2468,
1480 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1481 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1482 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1483 2468, 2468, 46, 46, 46, 46, 46, 46, 2468, 46,
1484 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1485 46, 46, 46, 46, 2468, 46, 46, 46, 2468, 46,
1487 2468, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1488 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1489 46, 46, 46, 2468, 2468, 46, 46, 2468, 46, 2468,
1490 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1491 46, 46, 46, 46, 46, 46, 46, 2468, 46, 2468,
1492 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1493 46, 2468, 46, 2468, 46, 46, 2468, 46, 2468, 46,
1494 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1495 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1496 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1498 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1499 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1500 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1501 46, 46, 46, 46, 2468, 46, 46, 46, 46, 46,
1502 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1503 2468, 46, 46, 46, 46, 46, 46, 46, 2468, 2468,
1504 46, 46, 2468, 2468, 46, 46, 46, 46, 46, 46,
1505 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1506 46, 46, 46, 2468, 46, 2468, 46, 46, 46, 46,
1507 46, 46, 46, 46, 46, 46, 2468, 46, 46, 46,
1509 46, 46, 2468, 46, 46, 2468, 46, 46, 46, 2468,
1510 46, 46, 46, 2468, 46, 46, 46, 2468, 2468, 46,
1511 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1512 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1513 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1514 46, 2468, 46, 46, 46, 2468, 2468, 46, 46, 46,
1515 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1516 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1517 46, 46, 46, 2468, 46, 46, 46, 46, 46, 2468,
1518 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1520 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1521 46, 46, 2468, 46, 2468, 46, 46, 2468, 46, 46,
1522 46, 46, 2468, 46, 2468, 46, 46, 2468, 46, 46,
1523 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1524 2468, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1525 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1526 46, 46, 46, 2468, 46, 46, 46, 2468, 46, 46,
1527 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1528 46, 2468, 46, 46, 46, 46, 46, 2468, 2468, 46,
1529 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1531 46, 46, 2468, 2468, 46, 46, 46, 46, 46, 46,
1532 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1533 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1534 2468, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1535 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1536 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1537 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1538 46, 46, 46, 46, 46, 46, 2468, 46, 2468, 2468,
1539 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1540 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1542 46, 46, 2468, 46, 46, 46, 46, 46, 46, 46,
1543 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1544 2468, 46, 46, 46, 46, 46, 46, 2468, 46, 2468,
1545 46, 2468, 46, 2468, 46, 46, 46, 46, 46, 46,
1546 46, 2468, 46, 2468, 46, 46, 46, 46, 46, 46,
1547 46, 46, 46, 46, 46, 2468, 46, 46, 46, 46,
1548 46, 46, 46, 2468, 46, 46, 46, 46, 46, 46,
1549 46, 46, 46, 46, 46, 46, 46, 2468, 46, 46,
1550 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1551 46, 46, 46, 46, 46, 46, 46, 46, 2468, 46,
1553 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1554 46, 46, 46, 46, 46, 46, 46, 46, 46, 2468,
1555 46, 2468, 46, 46, 46, 2468, 46, 46, 46, 46,
1556 2468, 46, 46, 46, 46, 46, 46, 46, 2468, 2468,
1557 46, 46, 2468, 2468, 46, 46, 46, 46, 46, 46,
1558 46, 2468, 46, 46, 46, 2468, 46, 46, 46, 46,
1559 46, 46, 46, 46, 46, 46, 46, 2468, 2468, 46,
1560 46, 46, 46, 46, 46, 2468, 46, 46, 46, 2468,
1561 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1562 46, 2468, 46, 46, 46, 46, 46, 46, 46, 46,
1564 46, 46, 2468, 46, 46, 2468, 46, 2468, 2468, 46,
1565 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1566 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1567 2468, 46, 46, 2468, 46, 46, 46, 2468, 2468, 46,
1568 46, 46, 46, 46, 2468, 46, 46, 2468, 46, 46,
1569 2468, 46, 2468, 2468, 46, 46, 2468, 46, 46, 46,
1570 46, 46, 2468, 46, 2468, 2468, 2468, 0, 2468, 2468,
1571 2468, 2468, 2468, 2468, 2468, 2468
1576 2468, 13, 14, 13, 2468, 15, 16, 107, 17, 18,
1577 19, 20, 21, 22, 23, 23, 23, 23, 23, 24,
1578 25, 89, 2468, 38, 14, 38, 90, 26, 27, 39,
1579 38, 14, 38, 43, 28, 43, 39, 2468, 2468, 29,
1580 96, 13, 14, 13, 43, 30, 43, 31, 108, 13,
1581 14, 13, 218, 26, 32, 13, 14, 13, 43, 41,
1582 43, 107, 33, 13, 14, 13, 96, 41, 34, 88,
1583 88, 88, 88, 88, 88, 35, 36, 13, 14, 13,
1584 218, 15, 16, 87, 17, 18, 19, 20, 21, 22,
1585 23, 23, 23, 23, 23, 24, 25, 40, 13, 14,
1587 13, 409, 108, 26, 27, 40, 13, 14, 13, 87,
1588 28, 97, 98, 96, 97, 29, 98, 114, 410, 42,
1589 110, 30, 111, 31, 113, 482, 94, 42, 94, 26,
1590 32, 95, 95, 95, 95, 95, 95, 483, 33, 99,
1591 97, 98, 327, 100, 34, 101, 114, 110, 328, 111,
1592 113, 35, 36, 45, 45, 45, 46, 46, 47, 46,
1593 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1594 48, 46, 46, 46, 46, 46, 49, 46, 50, 51,
1595 46, 52, 46, 46, 53, 46, 46, 54, 46, 46,
1596 46, 46, 55, 56, 46, 57, 46, 46, 46, 58,
1598 46, 46, 59, 60, 61, 62, 63, 64, 46, 65,
1599 66, 53, 67, 68, 69, 70, 71, 72, 73, 74,
1600 75, 76, 77, 78, 79, 46, 46, 46, 46, 46,
1601 81, 160, 82, 82, 82, 82, 82, 82, 84, 161,
1602 85, 86, 86, 86, 86, 86, 83, 907, 119, 120,
1603 240, 162, 241, 84, 87, 91, 91, 91, 91, 91,
1604 91, 84, 115, 92, 92, 92, 92, 92, 92, 87,
1605 116, 207, 83, 117, 119, 110, 120, 87, 128, 120,
1606 87, 166, 148, 113, 142, 118, 143, 149, 115, 167,
1607 150, 168, 129, 215, 124, 87, 169, 144, 116, 117,
1609 207, 263, 125, 87, 46, 145, 120, 146, 126, 113,
1610 46, 127, 46, 46, 118, 46, 197, 264, 46, 215,
1611 147, 46, 151, 122, 175, 152, 46, 46, 176, 46,
1612 46, 195, 153, 205, 154, 196, 46, 46, 46, 46,
1613 46, 46, 206, 46, 46, 46, 46, 46, 46, 46,
1614 46, 46, 46, 46, 46, 46, 46, 46, 46, 136,
1615 205, 111, 137, 138, 46, 207, 139, 140, 46, 206,
1616 224, 205, 46, 156, 157, 206, 217, 158, 908, 141,
1617 46, 130, 115, 159, 46, 131, 46, 123, 111, 132,
1618 116, 119, 133, 170, 210, 134, 224, 171, 208, 135,
1620 214, 219, 209, 217, 163, 177, 164, 172, 165, 178,
1621 173, 909, 179, 249, 250, 185, 186, 192, 116, 180,
1622 181, 289, 222, 182, 183, 184, 117, 193, 265, 214,
1623 219, 266, 194, 252, 253, 267, 221, 223, 118, 198,
1624 198, 198, 198, 198, 198, 95, 95, 95, 95, 95,
1625 95, 222, 187, 83, 188, 910, 81, 189, 82, 82,
1626 82, 82, 82, 82, 221, 223, 257, 190, 258, 280,
1627 445, 290, 83, 281, 191, 199, 911, 199, 446, 83,
1628 200, 200, 200, 200, 200, 200, 88, 88, 88, 88,
1629 88, 88, 95, 95, 95, 95, 95, 95, 83, 84,
1631 87, 91, 91, 91, 91, 91, 91, 84, 236, 92,
1632 92, 92, 92, 92, 92, 87, 298, 237, 345, 299,
1633 358, 238, 94, 87, 94, 471, 87, 95, 95, 95,
1634 95, 95, 95, 88, 88, 88, 88, 88, 88, 106,
1635 219, 87, 312, 313, 345, 222, 106, 87, 202, 87,
1636 203, 203, 203, 203, 203, 203, 84, 214, 92, 92,
1637 92, 92, 92, 92, 204, 260, 275, 243, 466, 286,
1638 467, 287, 87, 87, 330, 230, 244, 245, 261, 276,
1639 106, 321, 262, 221, 106, 333, 231, 912, 106, 303,
1640 204, 293, 223, 314, 344, 322, 106, 315, 87, 334,
1642 106, 316, 106, 106, 227, 431, 294, 295, 296, 343,
1643 881, 326, 228, 228, 228, 228, 228, 228, 882, 432,
1644 332, 344, 228, 228, 228, 228, 228, 228, 304, 305,
1645 306, 198, 198, 198, 198, 198, 198, 343, 343, 307,
1646 344, 308, 345, 351, 309, 83, 310, 311, 228, 228,
1647 228, 228, 228, 228, 200, 200, 200, 200, 200, 200,
1648 200, 200, 200, 200, 200, 200, 346, 347, 348, 351,
1649 913, 83, 339, 339, 339, 339, 339, 339, 202, 352,
1650 203, 203, 203, 203, 203, 203, 340, 354, 356, 355,
1651 341, 418, 341, 357, 204, 342, 342, 342, 342, 342,
1653 342, 359, 361, 351, 378, 352, 448, 379, 480, 449,
1654 380, 356, 340, 434, 356, 491, 354, 355, 381, 357,
1655 204, 464, 465, 435, 382, 492, 359, 359, 488, 365,
1656 361, 362, 362, 362, 362, 362, 362, 425, 914, 488,
1657 507, 362, 362, 362, 362, 362, 362, 573, 419, 915,
1658 508, 420, 359, 486, 488, 486, 493, 574, 487, 487,
1659 487, 487, 487, 487, 481, 489, 475, 362, 362, 362,
1660 362, 362, 362, 339, 339, 339, 339, 339, 339, 342,
1661 342, 342, 342, 342, 342, 493, 496, 340, 342, 342,
1662 342, 342, 342, 342, 494, 498, 499, 529, 546, 596,
1664 916, 763, 493, 547, 530, 550, 565, 566, 648, 805,
1665 551, 567, 496, 340, 498, 589, 806, 643, 601, 643,
1666 590, 494, 602, 499, 498, 502, 502, 502, 502, 502,
1667 502, 505, 662, 796, 648, 502, 502, 502, 502, 502,
1668 502, 611, 634, 575, 663, 612, 643, 635, 653, 698,
1669 784, 917, 597, 785, 699, 548, 649, 764, 650, 796,
1670 549, 502, 502, 502, 502, 502, 502, 552, 487, 487,
1671 487, 487, 487, 487, 813, 720, 918, 591, 487, 487,
1672 487, 487, 487, 487, 649, 721, 650, 46, 46, 46,
1673 46, 46, 46, 683, 860, 861, 794, 46, 46, 46,
1675 46, 46, 46, 673, 647, 797, 684, 674, 685, 729,
1676 798, 795, 919, 828, 920, 675, 829, 676, 677, 678,
1677 679, 680, 794, 46, 46, 46, 46, 46, 46, 793,
1678 885, 814, 921, 797, 801, 886, 922, 924, 925, 798,
1679 795, 926, 927, 928, 929, 930, 931, 932, 923, 933,
1680 934, 935, 936, 937, 938, 939, 940, 942, 941, 944,
1681 945, 943, 946, 947, 948, 949, 950, 951, 952, 953,
1682 954, 955, 956, 887, 957, 958, 960, 961, 962, 963,
1683 964, 959, 965, 940, 939, 941, 942, 943, 966, 967,
1684 968, 969, 970, 971, 972, 973, 975, 976, 977, 978,
1686 979, 974, 980, 981, 982, 983, 984, 985, 986, 987,
1687 988, 989, 992, 993, 994, 990, 995, 996, 997, 991,
1688 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1008,
1689 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
1690 1019, 1020, 1007, 1022, 1021, 1023, 1024, 1025, 1026, 1027,
1691 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
1692 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
1693 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1057, 1058,
1694 1059, 1060, 1056, 1061, 1063, 1064, 1065, 1068, 1069, 1070,
1695 1062, 1071, 1075, 1066, 1076, 1077, 1078, 1067, 1079, 1080,
1697 1081, 1082, 1083, 1084, 1072, 1085, 1073, 1086, 1087, 1088,
1698 1074, 1089, 1090, 1091, 1092, 1094, 1095, 1093, 1096, 1097,
1699 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107,
1700 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117,
1701 1118, 1119, 1120, 1121, 1122, 1123, 1097, 1124, 1125, 1098,
1702 1126, 1127, 1101, 1128, 1129, 1130, 1131, 1132, 1134, 1135,
1703 1136, 1137, 1133, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
1704 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154,
1705 1155, 1156, 1157, 1159, 1160, 1161, 1162, 1158, 1163, 1164,
1706 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174,
1708 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1709 1185, 1186, 1187, 1189, 1190, 1191, 1188, 1192, 1193, 1194,
1710 1195, 1197, 1198, 1199, 1200, 1196, 1201, 1202, 1203, 1204,
1711 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214,
1712 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224,
1713 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234,
1714 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
1715 1245, 1246, 1247, 1248, 1251, 1249, 1252, 1253, 1250, 1254,
1716 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
1717 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1247,
1719 1246, 1274, 1248, 1249, 1250, 1275, 1276, 1277, 1278, 1279,
1720 1280, 1282, 1283, 1281, 1284, 1285, 1286, 1287, 1288, 1289,
1721 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
1722 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309,
1723 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
1724 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
1725 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
1726 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
1727 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
1728 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370,
1730 1371, 1372, 1373, 1312, 1374, 1375, 1376, 1377, 1378, 1379,
1731 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389,
1732 1390, 1392, 1391, 1393, 1394, 1395, 1396, 1397, 1398, 1399,
1733 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409,
1734 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1389, 1391,
1735 1392, 1393, 1418, 1419, 1420, 1422, 1423, 1424, 1425, 1426,
1736 1427, 1428, 1421, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
1737 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
1738 1446, 1447, 1448, 1449, 1450, 1452, 1454, 1455, 1456, 1451,
1739 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
1741 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476,
1742 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486,
1743 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
1744 1497, 1498, 1499, 1453, 1500, 1501, 1502, 1503, 1504, 1505,
1745 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515,
1746 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
1747 1527, 1526, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535,
1748 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
1749 1546, 1547, 1548, 1549, 1524, 1550, 1523, 1526, 1525, 1527,
1750 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
1752 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
1753 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
1754 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590,
1755 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
1756 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
1757 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620,
1758 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
1759 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640,
1760 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
1761 1651, 1652, 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1661,
1763 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671,
1764 1644, 1645, 1672, 1673, 1646, 1674, 1675, 1676, 1677, 1678,
1765 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
1766 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698,
1767 1699, 1700, 1701, 1657, 1702, 1703, 1704, 1705, 1706, 1707,
1768 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1708, 1716, 1717,
1769 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727,
1770 1728, 1729, 1730, 1732, 1733, 1734, 1735, 1731, 1736, 1737,
1771 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
1772 1748, 1749, 1750, 1751, 1752, 1753, 1755, 1756, 1760, 1757,
1774 1754, 1759, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768,
1775 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778,
1776 1779, 1780, 1781, 1756, 1758, 1755, 1782, 1759, 1783, 1784,
1777 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
1778 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804,
1779 1805, 1806, 1758, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
1780 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823,
1781 1824, 1825, 1826, 1827, 1828, 1829, 1833, 1830, 1834, 1835,
1782 1831, 1836, 1837, 1832, 1838, 1839, 1840, 1841, 1842, 1843,
1783 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853,
1785 1854, 1856, 1855, 1857, 1858, 1859, 1860, 1861, 1862, 1863,
1786 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1873, 1871, 1874,
1787 1875, 1876, 1877, 1878, 1879, 1880, 1853, 1854, 1855, 1872,
1788 1856, 1857, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,
1789 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1899,
1790 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909,
1791 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919,
1792 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929,
1793 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939,
1794 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1949, 1948,
1796 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959,
1797 1898, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968,
1798 1969, 1970, 1971, 1947, 1972, 1946, 1948, 1949, 1973, 1950,
1799 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983,
1800 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
1801 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
1802 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
1803 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
1804 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033,
1805 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043,
1807 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2024, 2026, 2051,
1808 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061,
1809 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071,
1810 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081,
1811 2082, 2083, 2085, 2086, 2087, 2088, 2084, 2089, 2090, 2091,
1812 2092, 2094, 2093, 2095, 2096, 2097, 2098, 2099, 2100, 2101,
1813 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111,
1814 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2092, 2093, 2119,
1815 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129,
1816 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139,
1818 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149,
1819 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159,
1820 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169,
1821 2170, 2171, 2172, 2147, 2148, 2173, 2149, 2174, 2175, 2176,
1822 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186,
1823 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2195, 2196, 2194,
1824 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206,
1825 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216,
1826 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2199,
1827 2201, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234,
1829 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244,
1830 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254,
1831 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264,
1832 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2246, 2272, 2247,
1833 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282,
1834 2283, 2284, 2286, 2285, 2287, 2288, 2289, 2290, 2291, 2292,
1835 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302,
1836 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2284, 2285,
1837 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320,
1838 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330,
1840 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340,
1841 2341, 2342, 2343, 2344, 2319, 2345, 2346, 2347, 2348, 2349,
1842 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359,
1843 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369,
1844 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379,
1845 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389,
1846 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399,
1847 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409,
1848 2410, 2411, 2412, 2413, 2415, 2414, 2416, 2417, 2418, 2419,
1849 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429,
1851 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439,
1852 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449,
1853 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459,
1854 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 12, 12,
1855 12, 37, 37, 37, 80, 104, 80, 106, 106, 106,
1856 121, 121, 121, 201, 906, 201, 225, 225, 225, 905,
1857 904, 903, 902, 901, 900, 899, 898, 897, 896, 895,
1858 894, 893, 892, 891, 890, 889, 888, 884, 883, 880,
1859 879, 878, 877, 876, 875, 874, 873, 872, 871, 870,
1860 869, 868, 867, 866, 865, 864, 863, 862, 859, 858,
1862 857, 856, 855, 854, 853, 852, 851, 850, 849, 848,
1863 847, 846, 845, 844, 843, 842, 841, 840, 839, 838,
1864 837, 836, 835, 834, 833, 832, 831, 830, 827, 826,
1865 825, 824, 823, 822, 821, 820, 819, 818, 817, 816,
1866 815, 812, 811, 810, 809, 808, 807, 804, 803, 802,
1867 800, 799, 793, 792, 791, 790, 789, 788, 787, 786,
1868 783, 782, 781, 780, 779, 778, 777, 776, 775, 774,
1869 773, 772, 771, 770, 769, 768, 767, 766, 765, 762,
1870 761, 760, 759, 758, 757, 756, 755, 754, 753, 752,
1871 751, 750, 749, 748, 747, 746, 745, 744, 743, 742,
1873 741, 740, 739, 738, 737, 736, 735, 734, 733, 732,
1874 731, 730, 728, 727, 726, 725, 724, 723, 722, 719,
1875 718, 717, 716, 715, 714, 713, 712, 711, 710, 709,
1876 708, 707, 706, 705, 704, 703, 702, 701, 700, 697,
1877 696, 695, 694, 693, 692, 691, 690, 689, 688, 687,
1878 686, 682, 681, 672, 671, 670, 669, 668, 667, 666,
1879 665, 664, 661, 660, 659, 658, 657, 656, 655, 654,
1880 652, 651, 647, 646, 645, 644, 642, 641, 640, 639,
1881 638, 637, 636, 633, 632, 631, 630, 629, 628, 627,
1882 626, 625, 624, 623, 622, 621, 620, 619, 618, 617,
1884 616, 615, 614, 613, 610, 609, 608, 607, 606, 605,
1885 604, 603, 600, 599, 598, 595, 594, 593, 592, 588,
1886 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
1887 577, 576, 572, 571, 570, 569, 568, 564, 563, 562,
1888 561, 560, 559, 558, 557, 556, 555, 554, 553, 545,
1889 544, 543, 542, 541, 540, 539, 538, 537, 536, 535,
1890 534, 533, 532, 531, 528, 527, 526, 525, 524, 523,
1891 522, 521, 520, 519, 518, 517, 516, 515, 514, 513,
1892 512, 511, 510, 509, 506, 504, 503, 501, 500, 497,
1893 495, 490, 485, 484, 479, 478, 477, 476, 474, 473,
1895 472, 470, 469, 468, 463, 462, 461, 460, 459, 458,
1896 457, 456, 455, 454, 453, 452, 451, 450, 447, 444,
1897 443, 442, 441, 440, 439, 438, 437, 436, 433, 430,
1898 429, 428, 427, 426, 424, 423, 422, 421, 417, 416,
1899 415, 414, 413, 412, 411, 408, 407, 406, 405, 404,
1900 403, 402, 401, 400, 399, 398, 397, 396, 395, 394,
1901 393, 392, 391, 390, 389, 388, 387, 386, 385, 384,
1902 383, 377, 376, 375, 374, 373, 372, 371, 370, 369,
1903 368, 367, 366, 364, 363, 226, 360, 358, 353, 350,
1904 349, 338, 337, 336, 335, 331, 329, 325, 324, 323,
1906 320, 319, 318, 317, 302, 301, 300, 297, 292, 291,
1907 288, 285, 284, 283, 282, 279, 278, 277, 274, 273,
1908 272, 271, 270, 269, 268, 259, 256, 255, 254, 251,
1909 248, 247, 246, 242, 239, 235, 234, 233, 232, 229,
1910 226, 220, 216, 213, 212, 211, 174, 155, 112, 109,
1911 44, 105, 103, 102, 93, 44, 2468, 11, 2468, 2468,
1912 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1913 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1914 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1915 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1917 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1918 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1919 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
1920 2468, 2468, 2468, 2468, 2468
1925 0, 1, 1, 1, 0, 1, 1, 45, 1, 1,
1926 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1927 1, 21, 0, 3, 3, 3, 21, 1, 1, 3,
1928 4, 4, 4, 13, 1, 13, 4, 0, 0, 1,
1929 27, 5, 5, 5, 38, 1, 38, 1, 45, 6,
1930 6, 6, 114, 1, 1, 7, 7, 7, 43, 7,
1931 43, 106, 1, 8, 8, 8, 27, 8, 1, 20,
1932 20, 20, 20, 20, 20, 1, 1, 2, 2, 2,
1933 114, 2, 2, 20, 2, 2, 2, 2, 2, 2,
1934 2, 2, 2, 2, 2, 2, 2, 5, 9, 9,
1936 9, 273, 106, 2, 2, 6, 10, 10, 10, 20,
1937 2, 28, 29, 32, 33, 2, 34, 53, 273, 9,
1938 49, 2, 50, 2, 52, 336, 26, 10, 26, 2,
1939 2, 26, 26, 26, 26, 26, 26, 336, 2, 32,
1940 28, 29, 188, 33, 2, 34, 53, 49, 188, 50,
1941 52, 2, 2, 15, 15, 15, 15, 15, 15, 15,
1942 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1943 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1944 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1945 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1947 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1948 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1949 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1950 17, 69, 17, 17, 17, 17, 17, 17, 19, 69,
1951 19, 19, 19, 19, 19, 19, 17, 759, 56, 57,
1952 132, 69, 132, 22, 19, 22, 22, 22, 22, 22,
1953 22, 23, 54, 23, 23, 23, 23, 23, 23, 22,
1954 54, 98, 17, 55, 56, 59, 57, 23, 60, 79,
1955 19, 71, 65, 64, 63, 55, 63, 65, 54, 71,
1956 65, 71, 60, 111, 59, 22, 71, 63, 54, 55,
1958 98, 147, 59, 23, 46, 63, 79, 63, 59, 64,
1959 46, 59, 46, 46, 55, 46, 79, 147, 46, 111,
1960 64, 46, 66, 58, 74, 66, 46, 46, 74, 46,
1961 58, 78, 66, 96, 66, 78, 46, 46, 46, 46,
1962 46, 46, 97, 46, 46, 46, 46, 46, 46, 46,
1963 46, 46, 46, 46, 46, 46, 46, 46, 46, 62,
1964 96, 61, 62, 62, 58, 101, 62, 62, 58, 97,
1965 120, 99, 58, 68, 68, 100, 113, 68, 760, 62,
1966 58, 61, 70, 68, 58, 61, 58, 58, 61, 61,
1967 70, 77, 61, 72, 101, 61, 120, 72, 99, 61,
1969 110, 115, 100, 113, 70, 75, 70, 72, 70, 75,
1970 72, 761, 75, 138, 138, 76, 76, 77, 70, 75,
1971 75, 167, 118, 75, 75, 75, 76, 77, 148, 110,
1972 115, 148, 77, 140, 140, 148, 117, 119, 76, 81,
1973 81, 81, 81, 81, 81, 94, 94, 94, 94, 94,
1974 94, 118, 76, 81, 76, 762, 82, 76, 82, 82,
1975 82, 82, 82, 82, 117, 119, 144, 76, 144, 160,
1976 304, 167, 82, 160, 76, 83, 763, 83, 304, 81,
1977 83, 83, 83, 83, 83, 83, 84, 84, 84, 84,
1978 84, 84, 95, 95, 95, 95, 95, 95, 82, 85,
1980 84, 85, 85, 85, 85, 85, 85, 86, 130, 86,
1981 86, 86, 86, 86, 86, 85, 172, 130, 207, 172,
1982 326, 130, 87, 86, 87, 326, 84, 87, 87, 87,
1983 87, 87, 87, 88, 88, 88, 88, 88, 88, 108,
1984 165, 85, 177, 177, 207, 190, 108, 88, 91, 86,
1985 91, 91, 91, 91, 91, 91, 92, 125, 92, 92,
1986 92, 92, 92, 92, 91, 146, 156, 134, 322, 165,
1987 322, 165, 92, 88, 190, 125, 134, 134, 146, 156,
1988 108, 183, 146, 187, 108, 193, 125, 764, 108, 176,
1989 91, 170, 192, 178, 206, 183, 108, 178, 92, 193,
1991 108, 178, 108, 108, 123, 292, 170, 170, 170, 205,
1992 733, 187, 123, 123, 123, 123, 123, 123, 733, 292,
1993 192, 206, 123, 123, 123, 123, 123, 123, 176, 176,
1994 176, 198, 198, 198, 198, 198, 198, 208, 205, 176,
1995 209, 176, 210, 214, 176, 198, 176, 176, 123, 123,
1996 123, 123, 123, 123, 199, 199, 199, 199, 199, 199,
1997 200, 200, 200, 200, 200, 200, 208, 209, 210, 214,
1998 765, 198, 202, 202, 202, 202, 202, 202, 203, 215,
1999 203, 203, 203, 203, 203, 203, 202, 217, 219, 218,
2000 204, 281, 204, 220, 203, 204, 204, 204, 204, 204,
2002 204, 222, 224, 231, 244, 215, 306, 244, 335, 306,
2003 245, 286, 202, 294, 219, 350, 217, 218, 245, 220,
2004 203, 321, 321, 294, 245, 350, 330, 222, 343, 231,
2005 224, 228, 228, 228, 228, 228, 228, 286, 766, 346,
2006 367, 228, 228, 228, 228, 228, 228, 424, 281, 767,
2007 367, 281, 330, 340, 343, 340, 351, 424, 340, 340,
2008 340, 340, 340, 340, 335, 346, 330, 228, 228, 228,
2009 228, 228, 228, 339, 339, 339, 339, 339, 339, 341,
2010 341, 341, 341, 341, 341, 351, 354, 339, 342, 342,
2011 342, 342, 342, 342, 352, 356, 357, 388, 404, 445,
2013 768, 611, 365, 404, 388, 405, 418, 418, 499, 659,
2014 405, 418, 354, 339, 425, 439, 659, 493, 449, 505,
2015 439, 352, 449, 357, 356, 362, 362, 362, 362, 362,
2016 362, 365, 514, 648, 499, 362, 362, 362, 362, 362,
2017 362, 458, 481, 425, 514, 458, 493, 481, 505, 543,
2018 635, 770, 445, 635, 543, 404, 501, 611, 501, 648,
2019 404, 362, 362, 362, 362, 362, 362, 405, 486, 486,
2020 486, 486, 486, 486, 666, 566, 771, 439, 487, 487,
2021 487, 487, 487, 487, 501, 566, 501, 502, 502, 502,
2022 502, 502, 502, 529, 713, 713, 644, 502, 502, 502,
2024 502, 502, 502, 526, 575, 649, 529, 526, 529, 575,
2025 650, 644, 772, 680, 773, 526, 680, 526, 526, 526,
2026 526, 526, 644, 502, 502, 502, 502, 502, 502, 653,
2027 736, 666, 774, 649, 653, 736, 775, 776, 777, 650,
2028 644, 778, 779, 780, 781, 782, 783, 784, 775, 785,
2029 786, 788, 789, 791, 792, 794, 795, 797, 796, 799,
2030 800, 798, 801, 802, 803, 804, 805, 806, 807, 808,
2031 809, 810, 811, 736, 812, 813, 814, 815, 816, 817,
2032 817, 813, 817, 795, 794, 796, 797, 798, 818, 819,
2033 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
2035 830, 825, 831, 832, 833, 834, 835, 836, 837, 838,
2036 839, 840, 841, 842, 843, 840, 844, 845, 846, 840,
2037 847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
2038 857, 858, 859, 860, 861, 862, 863, 864, 865, 866,
2039 867, 868, 855, 869, 868, 870, 871, 873, 874, 875,
2040 876, 877, 878, 879, 880, 881, 882, 883, 884, 886,
2041 887, 888, 889, 890, 891, 892, 893, 894, 896, 897,
2042 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
2043 908, 909, 905, 910, 911, 912, 912, 913, 914, 915,
2044 910, 916, 917, 912, 918, 919, 920, 912, 921, 923,
2046 924, 925, 926, 927, 916, 928, 916, 929, 930, 931,
2047 916, 932, 933, 934, 935, 936, 937, 935, 938, 939,
2048 940, 941, 942, 943, 944, 945, 946, 947, 948, 949,
2049 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
2050 962, 963, 964, 965, 966, 967, 939, 968, 969, 940,
2051 970, 971, 943, 972, 973, 974, 975, 976, 977, 978,
2052 979, 980, 976, 981, 982, 983, 984, 985, 987, 988,
2053 989, 990, 991, 992, 993, 994, 995, 996, 998, 999,
2054 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1002, 1007, 1008,
2055 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1018, 1019, 1020,
2057 1021, 1022, 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
2058 1033, 1034, 1035, 1036, 1037, 1038, 1035, 1039, 1040, 1041,
2059 1042, 1046, 1047, 1048, 1049, 1042, 1050, 1051, 1052, 1053,
2060 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
2061 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
2062 1075, 1076, 1077, 1078, 1079, 1081, 1082, 1083, 1084, 1085,
2063 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095,
2064 1096, 1097, 1098, 1099, 1102, 1100, 1103, 1104, 1101, 1105,
2065 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, 1115, 1116,
2066 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1098,
2068 1097, 1126, 1099, 1100, 1101, 1127, 1128, 1129, 1130, 1131,
2069 1133, 1134, 1135, 1133, 1136, 1137, 1138, 1139, 1140, 1141,
2070 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
2071 1152, 1153, 1154, 1155, 1156, 1158, 1159, 1160, 1161, 1162,
2072 1163, 1164, 1165, 1166, 1168, 1169, 1170, 1171, 1172, 1173,
2073 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
2074 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
2075 1194, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205,
2076 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
2077 1216, 1217, 1218, 1220, 1221, 1222, 1223, 1224, 1226, 1227,
2079 1228, 1229, 1230, 1164, 1231, 1232, 1233, 1234, 1235, 1236,
2080 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
2081 1247, 1249, 1248, 1250, 1251, 1253, 1254, 1255, 1256, 1257,
2082 1258, 1259, 1261, 1262, 1263, 1264, 1266, 1267, 1268, 1269,
2083 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1246, 1248,
2084 1249, 1250, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285,
2085 1287, 1288, 1280, 1289, 1291, 1292, 1293, 1294, 1295, 1296,
2086 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
2087 1307, 1308, 1309, 1310, 1312, 1313, 1314, 1315, 1316, 1312,
2088 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326,
2090 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336,
2091 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1345, 1346, 1347,
2092 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1357, 1358,
2093 1359, 1361, 1362, 1313, 1363, 1364, 1365, 1366, 1367, 1368,
2094 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378,
2095 1379, 1380, 1381, 1383, 1385, 1386, 1387, 1389, 1390, 1391,
2096 1393, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
2097 1402, 1403, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1413,
2098 1414, 1415, 1416, 1417, 1390, 1418, 1389, 1392, 1391, 1393,
2099 1419, 1420, 1421, 1422, 1423, 1424, 1426, 1427, 1428, 1429,
2101 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439,
2102 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1448, 1449, 1451,
2103 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462,
2104 1463, 1464, 1465, 1466, 1468, 1470, 1471, 1472, 1473, 1474,
2105 1476, 1477, 1478, 1479, 1481, 1482, 1484, 1485, 1486, 1487,
2106 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497,
2107 1498, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508,
2108 1509, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520,
2109 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1530, 1531,
2110 1532, 1533, 1534, 1535, 1536, 1538, 1539, 1540, 1541, 1542,
2112 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
2113 1524, 1525, 1553, 1554, 1526, 1555, 1556, 1557, 1558, 1559,
2114 1560, 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1569, 1570,
2115 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
2116 1581, 1582, 1583, 1538, 1584, 1585, 1586, 1587, 1588, 1589,
2117 1590, 1591, 1592, 1593, 1594, 1595, 1597, 1589, 1598, 1599,
2118 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
2119 1611, 1613, 1614, 1615, 1616, 1617, 1619, 1614, 1619, 1620,
2120 1622, 1623, 1624, 1628, 1629, 1630, 1631, 1632, 1633, 1634,
2121 1635, 1636, 1638, 1639, 1641, 1642, 1643, 1644, 1648, 1645,
2123 1642, 1646, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1657,
2124 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667,
2125 1668, 1669, 1670, 1644, 1645, 1643, 1673, 1646, 1674, 1675,
2126 1676, 1677, 1678, 1680, 1681, 1682, 1684, 1685, 1686, 1687,
2127 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1696, 1697, 1698,
2128 1700, 1702, 1645, 1703, 1705, 1706, 1707, 1708, 1709, 1710,
2129 1711, 1712, 1713, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
2130 1722, 1723, 1726, 1727, 1729, 1731, 1732, 1731, 1733, 1734,
2131 1731, 1735, 1736, 1731, 1737, 1738, 1739, 1740, 1741, 1742,
2132 1743, 1744, 1745, 1746, 1747, 1749, 1751, 1752, 1754, 1755,
2134 1756, 1758, 1757, 1759, 1760, 1761, 1763, 1765, 1766, 1768,
2135 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1778, 1777, 1779,
2136 1780, 1781, 1782, 1783, 1784, 1785, 1755, 1756, 1757, 1777,
2137 1758, 1759, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793,
2138 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1800, 1801, 1802,
2139 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
2140 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
2141 1823, 1824, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
2142 1834, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
2143 1845, 1846, 1848, 1849, 1850, 1852, 1853, 1854, 1856, 1855,
2145 1857, 1858, 1861, 1862, 1865, 1866, 1867, 1868, 1869, 1870,
2146 1801, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879,
2147 1880, 1881, 1882, 1854, 1883, 1853, 1855, 1856, 1885, 1857,
2148 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896,
2149 1898, 1899, 1900, 1901, 1902, 1904, 1905, 1907, 1908, 1909,
2150 1911, 1912, 1913, 1915, 1916, 1917, 1920, 1921, 1922, 1923,
2151 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933,
2152 1934, 1935, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1945,
2153 1946, 1947, 1948, 1949, 1950, 1951, 1953, 1954, 1955, 1958,
2154 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968,
2156 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1946, 1948, 1976,
2157 1977, 1978, 1979, 1981, 1982, 1983, 1985, 1986, 1987, 1988,
2158 1989, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000,
2159 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011,
2160 2012, 2014, 2016, 2017, 2019, 2020, 2014, 2021, 2022, 2024,
2161 2026, 2029, 2027, 2030, 2032, 2033, 2034, 2035, 2036, 2037,
2162 2038, 2039, 2040, 2042, 2043, 2044, 2045, 2047, 2048, 2049,
2163 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2026, 2027, 2057,
2164 2058, 2059, 2060, 2061, 2062, 2063, 2065, 2066, 2067, 2069,
2165 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079,
2167 2081, 2083, 2084, 2085, 2086, 2087, 2090, 2091, 2092, 2093,
2168 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2105,
2169 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115,
2170 2116, 2117, 2118, 2091, 2092, 2120, 2093, 2121, 2123, 2124,
2171 2125, 2126, 2127, 2128, 2129, 2130, 2132, 2133, 2134, 2135,
2172 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2142,
2173 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
2174 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2163, 2164, 2165,
2175 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2147,
2176 2149, 2175, 2176, 2178, 2181, 2183, 2184, 2185, 2186, 2187,
2178 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197,
2179 2198, 2199, 2201, 2202, 2204, 2205, 2206, 2207, 2208, 2209,
2180 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219,
2181 2220, 2222, 2223, 2224, 2225, 2226, 2227, 2199, 2229, 2201,
2182 2231, 2233, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2243,
2183 2245, 2246, 2248, 2247, 2249, 2250, 2251, 2252, 2253, 2254,
2184 2255, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2265, 2266,
2185 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2246, 2247,
2186 2275, 2276, 2277, 2279, 2280, 2281, 2282, 2283, 2284, 2285,
2187 2286, 2287, 2288, 2290, 2291, 2292, 2293, 2294, 2295, 2296,
2189 2297, 2298, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307,
2190 2308, 2309, 2310, 2311, 2284, 2312, 2313, 2314, 2315, 2316,
2191 2317, 2318, 2319, 2321, 2323, 2324, 2325, 2327, 2328, 2329,
2192 2330, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2341, 2342,
2193 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2353, 2354, 2355,
2194 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366,
2195 2367, 2370, 2371, 2372, 2373, 2374, 2375, 2377, 2378, 2379,
2196 2381, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391,
2197 2393, 2394, 2395, 2396, 2397, 2396, 2398, 2399, 2400, 2401,
2198 2402, 2404, 2405, 2407, 2410, 2411, 2412, 2413, 2414, 2415,
2200 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425,
2201 2426, 2427, 2428, 2429, 2430, 2432, 2433, 2435, 2436, 2437,
2202 2440, 2441, 2442, 2443, 2444, 2446, 2447, 2449, 2450, 2452,
2203 2455, 2456, 2458, 2459, 2460, 2461, 2462, 2464, 2469, 2469,
2204 2469, 2470, 2470, 2470, 2471, 2472, 2471, 2473, 2473, 2473,
2205 2474, 2474, 2474, 2475, 758, 2475, 2476, 2476, 2476, 757,
2206 756, 754, 753, 752, 751, 749, 748, 747, 746, 745,
2207 743, 742, 741, 740, 739, 738, 737, 735, 734, 732,
2208 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
2209 721, 720, 719, 718, 717, 716, 715, 714, 712, 711,
2211 710, 709, 708, 707, 705, 704, 703, 702, 701, 700,
2212 699, 697, 696, 695, 694, 693, 692, 691, 690, 689,
2213 688, 687, 686, 685, 684, 683, 682, 681, 679, 678,
2214 677, 676, 675, 674, 673, 672, 671, 670, 669, 668,
2215 667, 665, 664, 663, 662, 661, 660, 658, 656, 655,
2216 652, 651, 643, 642, 641, 640, 639, 638, 637, 636,
2217 633, 632, 629, 628, 626, 625, 624, 623, 622, 621,
2218 620, 619, 618, 617, 616, 615, 614, 613, 612, 610,
2219 609, 608, 607, 606, 605, 604, 603, 602, 601, 600,
2220 599, 598, 597, 596, 595, 594, 593, 591, 590, 588,
2222 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
2223 577, 576, 574, 573, 571, 570, 569, 568, 567, 565,
2224 564, 563, 562, 561, 560, 559, 558, 557, 556, 555,
2225 554, 553, 552, 551, 549, 548, 547, 545, 544, 542,
2226 541, 540, 539, 538, 537, 536, 535, 534, 532, 531,
2227 530, 528, 527, 524, 523, 522, 521, 520, 519, 517,
2228 516, 515, 513, 512, 511, 510, 509, 508, 507, 506,
2229 504, 503, 498, 496, 495, 494, 492, 491, 490, 485,
2230 484, 483, 482, 480, 479, 478, 476, 475, 474, 473,
2231 472, 471, 470, 469, 468, 467, 466, 465, 464, 463,
2233 462, 461, 460, 459, 457, 456, 455, 454, 453, 452,
2234 451, 450, 448, 447, 446, 444, 442, 441, 440, 438,
2235 437, 436, 435, 434, 433, 432, 431, 430, 429, 428,
2236 427, 426, 423, 422, 421, 420, 419, 417, 416, 415,
2237 414, 413, 412, 411, 410, 409, 408, 407, 406, 403,
2238 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
2239 392, 391, 390, 389, 387, 386, 385, 384, 383, 382,
2240 381, 380, 379, 378, 377, 376, 375, 374, 373, 372,
2241 371, 370, 369, 368, 366, 364, 363, 361, 359, 355,
2242 353, 349, 338, 337, 334, 333, 332, 331, 329, 328,
2244 327, 325, 324, 323, 320, 319, 318, 317, 316, 315,
2245 314, 313, 312, 311, 310, 309, 308, 307, 305, 303,
2246 302, 301, 300, 299, 298, 297, 296, 295, 293, 291,
2247 290, 289, 288, 287, 285, 284, 283, 282, 280, 279,
2248 278, 277, 276, 275, 274, 272, 271, 269, 268, 267,
2249 266, 265, 264, 263, 262, 261, 260, 259, 258, 257,
2250 256, 255, 254, 253, 252, 251, 250, 249, 248, 247,
2251 246, 243, 242, 241, 240, 239, 238, 237, 236, 235,
2252 234, 233, 232, 230, 229, 225, 223, 221, 216, 213,
2253 211, 197, 196, 195, 194, 191, 189, 186, 185, 184,
2255 182, 181, 180, 179, 175, 174, 173, 171, 169, 168,
2256 166, 164, 163, 162, 161, 159, 158, 157, 155, 154,
2257 153, 152, 151, 150, 149, 145, 143, 142, 141, 139,
2258 137, 136, 135, 133, 131, 129, 128, 127, 126, 124,
2259 121, 116, 112, 109, 104, 103, 73, 67, 51, 48,
2260 44, 42, 40, 39, 25, 14, 11, 2468, 2468, 2468,
2261 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2262 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2263 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2264 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2266 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2267 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2268 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468, 2468,
2269 2468, 2468, 2468, 2468, 2468
2273static char *yy_last_accepting_cpos;
2280 147, 149, 151, 156, 157, 162, 163, 164, 176, 178,
2281 183, 189, 198, 207, 216, 225, 234, 243, 252, 262,
2282 271, 280, 289, 298, 307, 316, 325, 334, 343, 352,
2283 361, 370, 379, 388, 397, 410, 422, 434, 445, 456,
2284 467, 478, 489, 500, 511, 522, 533, 544, 553, 562,
2285 571, 582, 593, 602, 614, 626, 638, 649, 658, 667,
2286 676, 685, 694, 705, 717, 729, 741, 752, 763, 772,
2287 781, 790, 801, 810, 819, 831, 843, 855, 867, 879,
2288 891, 903, 915, 926, 938, 947, 956, 965, 974, 986,
2289 998, 1010, 1022, 1032, 1043, 1052, 1062, 1076, 1093, 1102,
2291 1111, 1120, 1129, 1138, 1147, 1172, 1197, 1206, 1216, 1225,
2292 1236, 1247, 1258, 1268, 1277, 1288, 1299, 1310, 1321, 1332,
2293 1343, 1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424,
2294 1433, 1447, 1458, 1469, 1481, 1490, 1499, 1508, 1517, 1527,
2295 1537, 1547, 1557, 1567, 1577, 1586, 1596, 1605, 1614, 1623,
2296 1632, 1642, 1651, 1660, 1669, 1678, 1687, 1696, 1705, 1714,
2297 1723, 1732, 1741, 1750, 1759, 1768, 1777, 1786, 1795, 1804,
2298 1813, 1822, 1831, 1840, 1849, 1858, 1867, 1876, 1885, 1894,
2299 1903, 1912, 1921, 1933, 1942, 1951, 1960, 1969, 1978, 1987,
2300 1996, 2005, 2014, 2023, 2032, 2041, 2050, 2059, 2068, 2077,
2302 2089, 2101, 2111, 2121, 2131, 2141, 2151, 2161, 2171, 2181,
2303 2191, 2200, 2209, 2218, 2227, 2238, 2249, 2262, 2275, 2288,
2304 2297, 2306, 2315, 2324, 2333, 2342, 2351, 2360, 2372, 2381,
2305 2482, 2498, 2547, 2555, 2570, 2571, 2572, 2573, 2574, 2575,
2306 2577, 2596, 2613, 2619, 2634, 2647, 2652, 2656, 2658, 2660,
2313#define REJECT reject_used_but_not_detected
2314#define yymore() yymore_used_but_not_detected
2315#define YY_MORE_ADJ 0
2316#define YY_RESTORE_YY_MORE_OFFSET
2318#line 1 "dhcp4_lexer.ll"
2324#line 8 "dhcp4_lexer.ll"
2327#ifndef __clang_analyzer__
2337#include <boost/lexical_cast.hpp>
2351bool start_token_flag =
false;
2354unsigned int comment_start_line = 0;
2361#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2362#line 2362 "dhcp4_lexer.cc"
2377#define YY_NO_INPUT 1
2383#line 96 "dhcp4_lexer.ll"
2387#define YY_USER_ACTION driver.loc_.columns(yyleng);
2388#line 2388 "dhcp4_lexer.cc"
2389#line 2389 "dhcp4_lexer.cc"
2394#define DIR_INCLUDE 3
2397#ifndef YY_NO_UNISTD_H
2409#ifndef YY_EXTRA_TYPE
2410#define YY_EXTRA_TYPE void *
2417static int yy_init_globals (
void );
2460#ifndef YY_SKIP_YYWRAP
2462extern "C" int yywrap (
void );
2464extern int yywrap (
void );
2477static void yy_flex_strncpy (
char *,
const char *,
int );
2480#ifdef YY_NEED_STRLEN
2481static int yy_flex_strlen (
const char * );
2488static int yyinput (
void );
2490static int input (
void );
2502#ifndef YY_READ_BUF_SIZE
2505#define YY_READ_BUF_SIZE 16384
2507#define YY_READ_BUF_SIZE 8192
2517#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2527#define YY_INPUT(buf,result,max_size) \
2529 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2533 for ( n = 0; n < max_size && \
2534 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2535 buf[n] = (char) c; \
2537 buf[n++] = (char) c; \
2538 if ( c == EOF && ferror( yyin ) ) \
2539 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2545 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2547 if( errno != EINTR) \
2549 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2567#define yyterminate() return YY_NULL
2571#ifndef YY_START_STACK_INCR
2572#define YY_START_STACK_INCR 25
2576#ifndef YY_FATAL_ERROR
2578#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2599#define YY_DECL_IS_OURS 1
2602extern int yylex (
void);
2604#define YY_DECL int yylex (void)
2613#ifndef YY_USER_ACTION
2614#define YY_USER_ACTION
2619#define YY_BREAK break;
2623#define YY_RULE_SETUP \
2671#line 102 "dhcp4_lexer.ll"
2675#line 106 "dhcp4_lexer.ll"
2683 if (start_token_flag) {
2684 start_token_flag =
false;
2685 switch (start_token_value) {
2717#line 2717 "dhcp4_lexer.cc"
2722 yy_cp = (yy_c_buf_p);
2725 *
yy_cp = (yy_hold_char);
2733 yy_current_state = (yy_start);
2738 if ( yy_accept[yy_current_state] )
2740 (yy_last_accepting_state) = yy_current_state;
2741 (yy_last_accepting_cpos) =
yy_cp;
2743 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2745 yy_current_state = (int) yy_def[yy_current_state];
2746 if ( yy_current_state >= 2469 )
2747 yy_c = yy_meta[yy_c];
2749 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2752 while ( yy_current_state != 2468 );
2753 yy_cp = (yy_last_accepting_cpos);
2754 yy_current_state = (yy_last_accepting_state);
2758 yy_act = yy_accept[yy_current_state];
2770 fprintf( stderr,
"--scanner backing up\n" );
2772 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2774 else if (
yy_act == 252 )
2775 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2777 else if (
yy_act == 253 )
2778 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2780 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2788 *
yy_cp = (yy_hold_char);
2789 yy_cp = (yy_last_accepting_cpos);
2790 yy_current_state = (yy_last_accepting_state);
2791 goto yy_find_action;
2795#line 147 "dhcp4_lexer.ll"
2800#line 149 "dhcp4_lexer.ll"
2805#line 151 "dhcp4_lexer.ll"
2808 comment_start_line = driver.loc_.end.line;;
2813#line 156 "dhcp4_lexer.ll"
2818#line 157 "dhcp4_lexer.ll"
2822#line 158 "dhcp4_lexer.ll"
2829#line 162 "dhcp4_lexer.ll"
2834#line 163 "dhcp4_lexer.ll"
2839#line 164 "dhcp4_lexer.ll"
2844 std::string tmp(
yytext+1);
2845 tmp.resize(tmp.size() - 1);
2847 driver.includeFile(tmp);
2853#line 173 "dhcp4_lexer.ll"
2860#line 176 "dhcp4_lexer.ll"
2865#line 178 "dhcp4_lexer.ll"
2874#line 183 "dhcp4_lexer.ll"
2877 driver.loc_.lines(
yyleng);
2883#line 189 "dhcp4_lexer.ll"
2885 switch(driver.ctx_) {
2895#line 198 "dhcp4_lexer.ll"
2897 switch(driver.ctx_) {
2907#line 207 "dhcp4_lexer.ll"
2909 switch(driver.ctx_) {
2919#line 216 "dhcp4_lexer.ll"
2921 switch(driver.ctx_) {
2931#line 225 "dhcp4_lexer.ll"
2933 switch(driver.ctx_) {
2943#line 234 "dhcp4_lexer.ll"
2945 switch(driver.ctx_) {
2955#line 243 "dhcp4_lexer.ll"
2957 switch(driver.ctx_) {
2967#line 252 "dhcp4_lexer.ll"
2969 switch(driver.ctx_) {
2980#line 262 "dhcp4_lexer.ll"
2982 switch(driver.ctx_) {
2992#line 271 "dhcp4_lexer.ll"
2994 switch(driver.ctx_) {
3004#line 280 "dhcp4_lexer.ll"
3006 switch(driver.ctx_) {
3016#line 289 "dhcp4_lexer.ll"
3018 switch(driver.ctx_) {
3028#line 298 "dhcp4_lexer.ll"
3030 switch(driver.ctx_) {
3040#line 307 "dhcp4_lexer.ll"
3042 switch(driver.ctx_) {
3052#line 316 "dhcp4_lexer.ll"
3054 switch(driver.ctx_) {
3064#line 325 "dhcp4_lexer.ll"
3066 switch(driver.ctx_) {
3076#line 334 "dhcp4_lexer.ll"
3078 switch(driver.ctx_) {
3088#line 343 "dhcp4_lexer.ll"
3090 switch(driver.ctx_) {
3100#line 352 "dhcp4_lexer.ll"
3102 switch(driver.ctx_) {
3112#line 361 "dhcp4_lexer.ll"
3114 switch(driver.ctx_) {
3124#line 370 "dhcp4_lexer.ll"
3126 switch(driver.ctx_) {
3136#line 379 "dhcp4_lexer.ll"
3138 switch(driver.ctx_) {
3148#line 388 "dhcp4_lexer.ll"
3150 switch(driver.ctx_) {
3160#line 397 "dhcp4_lexer.ll"
3162 switch(driver.ctx_) {
3176#line 410 "dhcp4_lexer.ll"
3178 switch(driver.ctx_) {
3191#line 422 "dhcp4_lexer.ll"
3193 switch(driver.ctx_) {
3206#line 434 "dhcp4_lexer.ll"
3208 switch(driver.ctx_) {
3220#line 445 "dhcp4_lexer.ll"
3222 switch(driver.ctx_) {
3234#line 456 "dhcp4_lexer.ll"
3236 switch(driver.ctx_) {
3248#line 467 "dhcp4_lexer.ll"
3250 switch(driver.ctx_) {
3262#line 478 "dhcp4_lexer.ll"
3264 switch(driver.ctx_) {
3276#line 489 "dhcp4_lexer.ll"
3278 switch(driver.ctx_) {
3290#line 500 "dhcp4_lexer.ll"
3292 switch(driver.ctx_) {
3304#line 511 "dhcp4_lexer.ll"
3306 switch(driver.ctx_) {
3318#line 522 "dhcp4_lexer.ll"
3320 switch(driver.ctx_) {
3332#line 533 "dhcp4_lexer.ll"
3334 switch(driver.ctx_) {
3346#line 544 "dhcp4_lexer.ll"
3348 switch(driver.ctx_) {
3358#line 553 "dhcp4_lexer.ll"
3360 switch(driver.ctx_) {
3370#line 562 "dhcp4_lexer.ll"
3372 switch(driver.ctx_) {
3382#line 571 "dhcp4_lexer.ll"
3384 switch(driver.ctx_) {
3396#line 582 "dhcp4_lexer.ll"
3398 switch(driver.ctx_) {
3410#line 593 "dhcp4_lexer.ll"
3412 switch(driver.ctx_) {
3422#line 602 "dhcp4_lexer.ll"
3424 switch(driver.ctx_) {
3437#line 614 "dhcp4_lexer.ll"
3439 switch(driver.ctx_) {
3452#line 626 "dhcp4_lexer.ll"
3454 switch(driver.ctx_) {
3467#line 638 "dhcp4_lexer.ll"
3469 switch(driver.ctx_) {
3481#line 649 "dhcp4_lexer.ll"
3483 switch(driver.ctx_) {
3493#line 658 "dhcp4_lexer.ll"
3495 switch(driver.ctx_) {
3505#line 667 "dhcp4_lexer.ll"
3507 switch(driver.ctx_) {
3517#line 676 "dhcp4_lexer.ll"
3519 switch(driver.ctx_) {
3529#line 685 "dhcp4_lexer.ll"
3531 switch(driver.ctx_) {
3541#line 694 "dhcp4_lexer.ll"
3543 switch(driver.ctx_) {
3555#line 705 "dhcp4_lexer.ll"
3557 switch(driver.ctx_) {
3570#line 717 "dhcp4_lexer.ll"
3572 switch(driver.ctx_) {
3585#line 729 "dhcp4_lexer.ll"
3587 switch(driver.ctx_) {
3600#line 741 "dhcp4_lexer.ll"
3602 switch(driver.ctx_) {
3614#line 752 "dhcp4_lexer.ll"
3616 switch(driver.ctx_) {
3628#line 763 "dhcp4_lexer.ll"
3630 switch(driver.ctx_) {
3640#line 772 "dhcp4_lexer.ll"
3642 switch(driver.ctx_) {
3652#line 781 "dhcp4_lexer.ll"
3654 switch(driver.ctx_) {
3664#line 790 "dhcp4_lexer.ll"
3666 switch(driver.ctx_) {
3678#line 801 "dhcp4_lexer.ll"
3680 switch(driver.ctx_) {
3690#line 810 "dhcp4_lexer.ll"
3692 switch(driver.ctx_) {
3702#line 819 "dhcp4_lexer.ll"
3704 switch(driver.ctx_) {
3717#line 831 "dhcp4_lexer.ll"
3719 switch(driver.ctx_) {
3732#line 843 "dhcp4_lexer.ll"
3734 switch(driver.ctx_) {
3747#line 855 "dhcp4_lexer.ll"
3749 switch(driver.ctx_) {
3762#line 867 "dhcp4_lexer.ll"
3764 switch(driver.ctx_) {
3777#line 879 "dhcp4_lexer.ll"
3779 switch(driver.ctx_) {
3792#line 891 "dhcp4_lexer.ll"
3794 switch(driver.ctx_) {
3807#line 903 "dhcp4_lexer.ll"
3809 switch(driver.ctx_) {
3822#line 915 "dhcp4_lexer.ll"
3824 switch(driver.ctx_) {
3836#line 926 "dhcp4_lexer.ll"
3838 switch(driver.ctx_) {
3851#line 938 "dhcp4_lexer.ll"
3856 std::string tmp(
yytext+1);
3857 tmp.resize(tmp.size() - 1);
3863#line 947 "dhcp4_lexer.ll"
3868 std::string tmp(
yytext+1);
3869 tmp.resize(tmp.size() - 1);
3875#line 956 "dhcp4_lexer.ll"
3880 std::string tmp(
yytext+1);
3881 tmp.resize(tmp.size() - 1);
3887#line 965 "dhcp4_lexer.ll"
3892 std::string tmp(
yytext+1);
3893 tmp.resize(tmp.size() - 1);
3899#line 974 "dhcp4_lexer.ll"
3901 switch(driver.ctx_) {
3914#line 986 "dhcp4_lexer.ll"
3916 switch(driver.ctx_) {
3929#line 998 "dhcp4_lexer.ll"
3931 switch(driver.ctx_) {
3944#line 1010 "dhcp4_lexer.ll"
3946 switch(driver.ctx_) {
3959#line 1022 "dhcp4_lexer.ll"
3961 switch(driver.ctx_) {
3972#line 1032 "dhcp4_lexer.ll"
3974 switch(driver.ctx_) {
3986#line 1043 "dhcp4_lexer.ll"
3988 switch (driver.ctx_) {
3998#line 1052 "dhcp4_lexer.ll"
4000 switch(driver.ctx_) {
4011#line 1062 "dhcp4_lexer.ll"
4013 switch(driver.ctx_) {
4028#line 1076 "dhcp4_lexer.ll"
4030 switch(driver.ctx_) {
4048#line 1093 "dhcp4_lexer.ll"
4050 switch(driver.ctx_) {
4060#line 1102 "dhcp4_lexer.ll"
4062 switch(driver.ctx_) {
4072#line 1111 "dhcp4_lexer.ll"
4074 switch(driver.ctx_) {
4084#line 1120 "dhcp4_lexer.ll"
4086 switch(driver.ctx_) {
4096#line 1129 "dhcp4_lexer.ll"
4098 switch(driver.ctx_) {
4108#line 1138 "dhcp4_lexer.ll"
4110 switch(driver.ctx_) {
4120#line 1147 "dhcp4_lexer.ll"
4122 switch(driver.ctx_) {
4148#line 1172 "dhcp4_lexer.ll"
4150 switch(driver.ctx_) {
4176#line 1197 "dhcp4_lexer.ll"
4178 switch(driver.ctx_) {
4188#line 1206 "dhcp4_lexer.ll"
4190 switch(driver.ctx_) {
4201#line 1216 "dhcp4_lexer.ll"
4203 switch(driver.ctx_) {
4213#line 1225 "dhcp4_lexer.ll"
4215 switch(driver.ctx_) {
4227#line 1236 "dhcp4_lexer.ll"
4229 switch(driver.ctx_) {
4241#line 1247 "dhcp4_lexer.ll"
4243 switch(driver.ctx_) {
4255#line 1258 "dhcp4_lexer.ll"
4257 switch(driver.ctx_) {
4268#line 1268 "dhcp4_lexer.ll"
4270 switch(driver.ctx_) {
4280#line 1277 "dhcp4_lexer.ll"
4282 switch(driver.ctx_) {
4294#line 1288 "dhcp4_lexer.ll"
4296 switch(driver.ctx_) {
4308#line 1299 "dhcp4_lexer.ll"
4310 switch(driver.ctx_) {
4322#line 1310 "dhcp4_lexer.ll"
4324 switch(driver.ctx_) {
4336#line 1321 "dhcp4_lexer.ll"
4338 switch(driver.ctx_) {
4350#line 1332 "dhcp4_lexer.ll"
4352 switch(driver.ctx_) {
4364#line 1343 "dhcp4_lexer.ll"
4366 switch(driver.ctx_) {
4376#line 1352 "dhcp4_lexer.ll"
4378 switch(driver.ctx_) {
4388#line 1361 "dhcp4_lexer.ll"
4390 switch(driver.ctx_) {
4400#line 1370 "dhcp4_lexer.ll"
4402 switch(driver.ctx_) {
4412#line 1379 "dhcp4_lexer.ll"
4414 switch(driver.ctx_) {
4424#line 1388 "dhcp4_lexer.ll"
4426 switch(driver.ctx_) {
4436#line 1397 "dhcp4_lexer.ll"
4438 switch(driver.ctx_) {
4448#line 1406 "dhcp4_lexer.ll"
4450 switch(driver.ctx_) {
4460#line 1415 "dhcp4_lexer.ll"
4462 switch(driver.ctx_) {
4472#line 1424 "dhcp4_lexer.ll"
4474 switch(driver.ctx_) {
4484#line 1433 "dhcp4_lexer.ll"
4486 switch(driver.ctx_) {
4501#line 1447 "dhcp4_lexer.ll"
4503 switch(driver.ctx_) {
4515#line 1458 "dhcp4_lexer.ll"
4517 switch(driver.ctx_) {
4529#line 1469 "dhcp4_lexer.ll"
4531 switch(driver.ctx_) {
4544#line 1481 "dhcp4_lexer.ll"
4546 switch(driver.ctx_) {
4556#line 1490 "dhcp4_lexer.ll"
4558 switch(driver.ctx_) {
4568#line 1499 "dhcp4_lexer.ll"
4570 switch(driver.ctx_) {
4580#line 1508 "dhcp4_lexer.ll"
4582 switch(driver.ctx_) {
4592#line 1517 "dhcp4_lexer.ll"
4594 switch(driver.ctx_) {
4605#line 1527 "dhcp4_lexer.ll"
4607 switch(driver.ctx_) {
4618#line 1537 "dhcp4_lexer.ll"
4620 switch(driver.ctx_) {
4631#line 1547 "dhcp4_lexer.ll"
4633 switch(driver.ctx_) {
4644#line 1557 "dhcp4_lexer.ll"
4646 switch(driver.ctx_) {
4657#line 1567 "dhcp4_lexer.ll"
4659 switch(driver.ctx_) {
4670#line 1577 "dhcp4_lexer.ll"
4672 switch(driver.ctx_) {
4682#line 1586 "dhcp4_lexer.ll"
4684 switch(driver.ctx_) {
4695#line 1596 "dhcp4_lexer.ll"
4697 switch(driver.ctx_) {
4707#line 1605 "dhcp4_lexer.ll"
4709 switch(driver.ctx_) {
4719#line 1614 "dhcp4_lexer.ll"
4721 switch(driver.ctx_) {
4731#line 1623 "dhcp4_lexer.ll"
4733 switch(driver.ctx_) {
4743#line 1632 "dhcp4_lexer.ll"
4745 switch(driver.ctx_) {
4756#line 1642 "dhcp4_lexer.ll"
4758 switch(driver.ctx_) {
4768#line 1651 "dhcp4_lexer.ll"
4770 switch(driver.ctx_) {
4780#line 1660 "dhcp4_lexer.ll"
4782 switch(driver.ctx_) {
4792#line 1669 "dhcp4_lexer.ll"
4794 switch(driver.ctx_) {
4804#line 1678 "dhcp4_lexer.ll"
4806 switch(driver.ctx_) {
4816#line 1687 "dhcp4_lexer.ll"
4818 switch(driver.ctx_) {
4828#line 1696 "dhcp4_lexer.ll"
4830 switch(driver.ctx_) {
4840#line 1705 "dhcp4_lexer.ll"
4842 switch(driver.ctx_) {
4852#line 1714 "dhcp4_lexer.ll"
4854 switch(driver.ctx_) {
4864#line 1723 "dhcp4_lexer.ll"
4866 switch(driver.ctx_) {
4876#line 1732 "dhcp4_lexer.ll"
4878 switch(driver.ctx_) {
4888#line 1741 "dhcp4_lexer.ll"
4890 switch(driver.ctx_) {
4900#line 1750 "dhcp4_lexer.ll"
4902 switch(driver.ctx_) {
4912#line 1759 "dhcp4_lexer.ll"
4914 switch(driver.ctx_) {
4924#line 1768 "dhcp4_lexer.ll"
4926 switch(driver.ctx_) {
4936#line 1777 "dhcp4_lexer.ll"
4938 switch(driver.ctx_) {
4948#line 1786 "dhcp4_lexer.ll"
4950 switch(driver.ctx_) {
4960#line 1795 "dhcp4_lexer.ll"
4962 switch(driver.ctx_) {
4972#line 1804 "dhcp4_lexer.ll"
4974 switch(driver.ctx_) {
4984#line 1813 "dhcp4_lexer.ll"
4986 switch(driver.ctx_) {
4996#line 1822 "dhcp4_lexer.ll"
4998 switch(driver.ctx_) {
5008#line 1831 "dhcp4_lexer.ll"
5010 switch(driver.ctx_) {
5020#line 1840 "dhcp4_lexer.ll"
5022 switch(driver.ctx_) {
5032#line 1849 "dhcp4_lexer.ll"
5034 switch(driver.ctx_) {
5044#line 1858 "dhcp4_lexer.ll"
5046 switch(driver.ctx_) {
5056#line 1867 "dhcp4_lexer.ll"
5058 switch(driver.ctx_) {
5068#line 1876 "dhcp4_lexer.ll"
5070 switch(driver.ctx_) {
5080#line 1885 "dhcp4_lexer.ll"
5082 switch(driver.ctx_) {
5092#line 1894 "dhcp4_lexer.ll"
5094 switch(driver.ctx_) {
5104#line 1903 "dhcp4_lexer.ll"
5106 switch(driver.ctx_) {
5116#line 1912 "dhcp4_lexer.ll"
5118 switch(driver.ctx_) {
5128#line 1921 "dhcp4_lexer.ll"
5130 switch(driver.ctx_) {
5143#line 1933 "dhcp4_lexer.ll"
5145 switch(driver.ctx_) {
5155#line 1942 "dhcp4_lexer.ll"
5157 switch(driver.ctx_) {
5167#line 1951 "dhcp4_lexer.ll"
5169 switch(driver.ctx_) {
5179#line 1960 "dhcp4_lexer.ll"
5181 switch(driver.ctx_) {
5191#line 1969 "dhcp4_lexer.ll"
5193 switch(driver.ctx_) {
5203#line 1978 "dhcp4_lexer.ll"
5205 switch(driver.ctx_) {
5215#line 1987 "dhcp4_lexer.ll"
5217 switch(driver.ctx_) {
5227#line 1996 "dhcp4_lexer.ll"
5229 switch(driver.ctx_) {
5239#line 2005 "dhcp4_lexer.ll"
5241 switch(driver.ctx_) {
5251#line 2014 "dhcp4_lexer.ll"
5253 switch(driver.ctx_) {
5263#line 2023 "dhcp4_lexer.ll"
5265 switch(driver.ctx_) {
5275#line 2032 "dhcp4_lexer.ll"
5277 switch(driver.ctx_) {
5287#line 2041 "dhcp4_lexer.ll"
5289 switch(driver.ctx_) {
5299#line 2050 "dhcp4_lexer.ll"
5301 switch(driver.ctx_) {
5311#line 2059 "dhcp4_lexer.ll"
5313 switch(driver.ctx_) {
5323#line 2068 "dhcp4_lexer.ll"
5325 switch(driver.ctx_) {
5335#line 2077 "dhcp4_lexer.ll"
5337 switch(driver.ctx_) {
5350#line 2089 "dhcp4_lexer.ll"
5352 switch(driver.ctx_) {
5365#line 2101 "dhcp4_lexer.ll"
5371 std::string tmp(
yytext+1);
5372 tmp.resize(tmp.size() - 1);
5378#line 2111 "dhcp4_lexer.ll"
5384 std::string tmp(
yytext+1);
5385 tmp.resize(tmp.size() - 1);
5391#line 2121 "dhcp4_lexer.ll"
5397 std::string tmp(
yytext+1);
5398 tmp.resize(tmp.size() - 1);
5404#line 2131 "dhcp4_lexer.ll"
5410 std::string tmp(
yytext+1);
5411 tmp.resize(tmp.size() - 1);
5417#line 2141 "dhcp4_lexer.ll"
5423 std::string tmp(
yytext+1);
5424 tmp.resize(tmp.size() - 1);
5430#line 2151 "dhcp4_lexer.ll"
5436 std::string tmp(
yytext+1);
5437 tmp.resize(tmp.size() - 1);
5443#line 2161 "dhcp4_lexer.ll"
5449 std::string tmp(
yytext+1);
5450 tmp.resize(tmp.size() - 1);
5456#line 2171 "dhcp4_lexer.ll"
5462 std::string tmp(
yytext+1);
5463 tmp.resize(tmp.size() - 1);
5469#line 2181 "dhcp4_lexer.ll"
5475 std::string tmp(
yytext+1);
5476 tmp.resize(tmp.size() - 1);
5482#line 2191 "dhcp4_lexer.ll"
5484 switch(driver.ctx_) {
5494#line 2200 "dhcp4_lexer.ll"
5496 switch(driver.ctx_) {
5506#line 2209 "dhcp4_lexer.ll"
5508 switch(driver.ctx_) {
5518#line 2218 "dhcp4_lexer.ll"
5520 switch(driver.ctx_) {
5530#line 2227 "dhcp4_lexer.ll"
5532 switch(driver.ctx_) {
5544#line 2238 "dhcp4_lexer.ll"
5546 switch(driver.ctx_) {
5558#line 2249 "dhcp4_lexer.ll"
5560 switch(driver.ctx_) {
5574#line 2262 "dhcp4_lexer.ll"
5576 switch(driver.ctx_) {
5590#line 2275 "dhcp4_lexer.ll"
5592 switch(driver.ctx_) {
5606#line 2288 "dhcp4_lexer.ll"
5608 switch(driver.ctx_) {
5618#line 2297 "dhcp4_lexer.ll"
5620 switch(driver.ctx_) {
5630#line 2306 "dhcp4_lexer.ll"
5632 switch(driver.ctx_) {
5642#line 2315 "dhcp4_lexer.ll"
5644 switch(driver.ctx_) {
5654#line 2324 "dhcp4_lexer.ll"
5656 switch(driver.ctx_) {
5666#line 2333 "dhcp4_lexer.ll"
5668 switch(driver.ctx_) {
5678#line 2342 "dhcp4_lexer.ll"
5680 switch(driver.ctx_) {
5690#line 2351 "dhcp4_lexer.ll"
5692 switch(driver.ctx_) {
5702#line 2360 "dhcp4_lexer.ll"
5704 switch(driver.ctx_) {
5717#line 2372 "dhcp4_lexer.ll"
5719 switch(driver.ctx_) {
5729#line 2381 "dhcp4_lexer.ll"
5734 std::string raw(
yytext+1);
5735 size_t len = raw.size() - 1;
5737 std::string decoded;
5738 decoded.reserve(len);
5739 for (
size_t pos = 0; pos < len; ++pos) {
5745 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5751 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5758 decoded.push_back(c);
5761 decoded.push_back(
'\b');
5764 decoded.push_back(
'\f');
5767 decoded.push_back(
'\n');
5770 decoded.push_back(
'\r');
5773 decoded.push_back(
'\t');
5778 if (pos + 4 > len) {
5780 driver.error(driver.loc_,
5781 "Overflow unicode escape in \"" + raw +
"\"");
5783 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5784 driver.error(driver.loc_,
5785 "Unsupported unicode escape in \"" + raw +
"\"",
5790 if ((c >=
'0') && (c <=
'9')) {
5792 }
else if ((c >=
'A') && (c <=
'F')) {
5793 b = (c -
'A' + 10) << 4;
5794 }
else if ((c >=
'a') && (c <=
'f')) {
5795 b = (c -
'a' + 10) << 4;
5798 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5802 if ((c >=
'0') && (c <=
'9')) {
5804 }
else if ((c >=
'A') && (c <=
'F')) {
5806 }
else if ((c >=
'a') && (c <=
'f')) {
5810 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5812 decoded.push_back(
static_cast<char>(b & 0xff));
5816 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5820 if ((c >= 0) && (c < 0x20)) {
5822 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5824 decoded.push_back(c);
5834#line 2482 "dhcp4_lexer.ll"
5838 size_t len = raw.size() - 1;
5840 for (; pos < len; ++pos) {
5842 if ((c >= 0) && (c < 0x20)) {
5846 driver.error(driver.loc_,
5854#line 2498 "dhcp4_lexer.ll"
5858 size_t len = raw.size() - 1;
5861 for (; pos < len; ++pos) {
5880 if ((pos + 4 > len) ||
5881 !std::isxdigit(raw[pos + 1]) ||
5882 !std::isxdigit(raw[pos + 2]) ||
5883 !std::isxdigit(raw[pos + 3]) ||
5884 !std::isxdigit(raw[pos + 4])) {
5895 std::string trailer =
"";
5896 if (raw[len - 1] ==
'\\') {
5899 driver.error(driver.loc_,
5900 "Bad escape in " + std::string(
yytext,
yyleng) + trailer,
5906#line 2547 "dhcp4_lexer.ll"
5909 std::string raw(
yytext+1);
5910 driver.error(driver.loc_,
5911 "Overflow escape in " + std::string(
yytext),
5917#line 2555 "dhcp4_lexer.ll"
5920 std::string raw(
yytext+1);
5921 size_t pos = raw.size() - 1;
5922 for (; pos > 0; --pos) {
5928 driver.error(driver.loc_,
5929 "Overflow unicode escape in " + std::string(
yytext),
5935#line 2570 "dhcp4_lexer.ll"
5940#line 2571 "dhcp4_lexer.ll"
5945#line 2572 "dhcp4_lexer.ll"
5950#line 2573 "dhcp4_lexer.ll"
5955#line 2574 "dhcp4_lexer.ll"
5960#line 2575 "dhcp4_lexer.ll"
5965#line 2577 "dhcp4_lexer.ll"
5969 int64_t integer = 0;
5975 integer = boost::lexical_cast<int64_t>(tmp);
5976 }
catch (
const boost::bad_lexical_cast &) {
5977 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5980 driver.warning(driver.loc_,
"leading zeros in integers will be deprecated.");
5987#line 2596 "dhcp4_lexer.ll"
5991 int64_t integer = 0;
5997 integer = boost::lexical_cast<int64_t>(tmp);
5998 }
catch (
const boost::bad_lexical_cast &) {
5999 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
6007#line 2613 "dhcp4_lexer.ll"
6011 driver.error(driver.loc_,
"Deprecated plus sign in " + tmp +
" number.");
6016#line 2619 "dhcp4_lexer.ll"
6022 fp = boost::lexical_cast<double>(tmp);
6023 }
catch (
const boost::bad_lexical_cast &) {
6024 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
6027 driver.warning(driver.loc_,
"leading zeros in numbers will be deprecated.");
6034#line 2634 "dhcp4_lexer.ll"
6040 fp = boost::lexical_cast<double>(tmp);
6041 }
catch (
const boost::bad_lexical_cast &) {
6042 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
6050#line 2647 "dhcp4_lexer.ll"
6058#line 2652 "dhcp4_lexer.ll"
6065#line 2656 "dhcp4_lexer.ll"
6066driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
6070#line 2658 "dhcp4_lexer.ll"
6071driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
6075#line 2660 "dhcp4_lexer.ll"
6076driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
6080#line 2662 "dhcp4_lexer.ll"
6081driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
6084#line 2664 "dhcp4_lexer.ll"
6086 if (driver.states_.empty()) {
6089 driver.loc_ = driver.locs_.back();
6090 driver.locs_.pop_back();
6091 driver.file_ = driver.files_.back();
6092 driver.files_.pop_back();
6093 if (driver.sfile_) {
6094 fclose(driver.sfile_);
6097 if (!driver.sfiles_.empty()) {
6098 driver.sfile_ = driver.sfiles_.back();
6099 driver.sfiles_.pop_back();
6102 parser4__switch_to_buffer(driver.states_.back());
6103 driver.states_.pop_back();
6110#line 2687 "dhcp4_lexer.ll"
6113#line 6113 "dhcp4_lexer.cc"
6121 *
yy_cp = (yy_hold_char);
6155 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
6157 yy_current_state = yy_get_previous_state( );
6168 yy_next_state = yy_try_NUL_trans( yy_current_state );
6172 if ( yy_next_state )
6175 yy_cp = ++(yy_c_buf_p);
6176 yy_current_state = yy_next_state;
6183 yy_cp = (yy_last_accepting_cpos);
6184 yy_current_state = (yy_last_accepting_state);
6185 goto yy_find_action;
6189 else switch ( yy_get_next_buffer( ) )
6193 (yy_did_buffer_switch_on_eof) = 0;
6214 if ( ! (yy_did_buffer_switch_on_eof) )
6224 yy_current_state = yy_get_previous_state( );
6226 yy_cp = (yy_c_buf_p);
6234 yy_current_state = yy_get_previous_state( );
6236 yy_cp = (yy_c_buf_p);
6238 goto yy_find_action;
6245 "fatal flex scanner internal error--no action found" );
6266static int yy_get_next_buffer (
void)
6273 int number_to_move, i;
6278 "fatal flex scanner internal error--end of buffer missed" );
6302 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
6304 for ( i = 0; i < number_to_move; ++i )
6305 *(dest++) = *(source++);
6318 while ( num_to_read <= 0 )
6324 int yy_c_buf_p_offset =
6331 if ( new_size <= 0 )
6347 "fatal error - scanner input buffer overflow" );
6349 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
6361 (yy_n_chars), num_to_read );
6366 if ( (yy_n_chars) == 0 )
6387 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6391 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
6396 (yy_n_chars) += number_to_move;
6418 yy_current_state = (yy_start);
6424 if ( yy_accept[yy_current_state] )
6426 (yy_last_accepting_state) = yy_current_state;
6427 (yy_last_accepting_cpos) =
yy_cp;
6429 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6431 yy_current_state = (int) yy_def[yy_current_state];
6432 if ( yy_current_state >= 2469 )
6433 yy_c = yy_meta[yy_c];
6435 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6438 return yy_current_state;
6454 char *
yy_cp = (yy_c_buf_p);
6457 if ( yy_accept[yy_current_state] )
6459 (yy_last_accepting_state) = yy_current_state;
6460 (yy_last_accepting_cpos) =
yy_cp;
6462 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6464 yy_current_state = (int) yy_def[yy_current_state];
6465 if ( yy_current_state >= 2469 )
6466 yy_c = yy_meta[yy_c];
6468 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6469 yy_is_jam = (yy_current_state == 2468);
6471 return yy_is_jam ? 0 : yy_current_state;
6483 static int yyinput (
void)
6485 static int input (
void)
6494 *(yy_c_buf_p) = (yy_hold_char);
6504 *(yy_c_buf_p) =
'\0';
6508 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
6511 switch ( yy_get_next_buffer( ) )
6534 if ( ! (yy_did_buffer_switch_on_eof) )
6550 c = *(
unsigned char *) (yy_c_buf_p);
6551 *(yy_c_buf_p) =
'\0';
6552 (yy_hold_char) = *++(yy_c_buf_p);
6610 *(yy_c_buf_p) = (yy_hold_char);
6623 (yy_did_buffer_switch_on_eof) = 1;
6639 (yy_hold_char) = *(yy_c_buf_p);
6787 if (new_buffer == NULL)
6796 *(yy_c_buf_p) = (yy_hold_char);
6803 (yy_buffer_stack_top)++;
6808 (yy_did_buffer_switch_on_eof) = 1;
6828 if ((yy_buffer_stack_top) > 0)
6829 --(yy_buffer_stack_top);
6833 (yy_did_buffer_switch_on_eof) = 1;
6850 if (!(yy_buffer_stack)) {
6860 if ( ! (yy_buffer_stack) )
6861 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6863 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6865 (yy_buffer_stack_max) = num_to_alloc;
6866 (yy_buffer_stack_top) = 0;
6870 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6875 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6880 if ( ! (yy_buffer_stack) )
6881 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6884 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6885 (yy_buffer_stack_max) = num_to_alloc;
6964 for ( i = 0; i < _yybytes_len; ++i )
6965 buf[i] = yybytes[i];
6982#ifndef YY_EXIT_FAILURE
6983#define YY_EXIT_FAILURE 2
6987static void yynoreturn yy_fatal_error (
const char* msg )
6989 fprintf( stderr,
"%s\n", msg );
7003 int yyless_macro_arg = (n); \
7004 YY_LESS_LINENO(yyless_macro_arg);\
7005 yytext[yyleng] = (yy_hold_char); \
7006 (yy_c_buf_p) = yytext + yyless_macro_arg; \
7007 (yy_hold_char) = *(yy_c_buf_p); \
7008 *(yy_c_buf_p) = '\0'; \
7009 yyleng = yyless_macro_arg; \
7108static int yy_init_globals (
void)
7114 (yy_buffer_stack) = NULL;
7115 (yy_buffer_stack_top) = 0;
7116 (yy_buffer_stack_max) = 0;
7117 (yy_c_buf_p) = NULL;
7150 yyfree((yy_buffer_stack) );
7151 (yy_buffer_stack) = NULL;
7168static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
7172 for ( i = 0; i < n; ++i )
7177#ifdef YY_NEED_STRLEN
7178static int yy_flex_strlen (
const char * s )
7181 for ( n = 0; s[n]; ++n )
7190 return malloc(size);
7203 return realloc(ptr, size);
7208 free( (
char *) ptr );
7213#define YYTABLES_NAME "yytables"
7218#line 2687 "dhcp4_lexer.ll"
7226 start_token_flag =
true;
7227 start_token_value = parser_type;
7234 buffer = parser4__scan_bytes(
str.c_str(),
str.size());
7236 fatal(
"cannot scan string");
7243 const std::string& filename,
7246 start_token_flag =
true;
7247 start_token_value = parser_type;
7256 buffer = parser4__create_buffer(f, 65536 );
7258 fatal(
"cannot scan file " + filename);
7260 parser4__switch_to_buffer(buffer);
7268 static_cast<void>(parser4_lex_destroy());
7279 parser4__delete_buffer(
states_.back());
7287 fatal(
"Too many nested include.");
7290 FILE* f = fopen(filename.c_str(),
"r");
7292 fatal(
"Can't open include file " + filename);
7300 buffer = parser4__create_buffer(f, 65536 );
7302 fatal(
"Can't scan include file " + filename);
7304 parser4__switch_to_buffer(buffer);
7317 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
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_PREFER(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_VERIFY_FULL(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_REQUIRE(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_DDNS_TTL_MAX(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_DDNS_REVERSE_ZONE(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_DDNS_TTL_MIN(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_ADAPTIVE_LEASE_TIME_THRESHOLD(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_HTTP_HEADERS(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_VERIFY_CA(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_SSL_MODE(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_DISABLE(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_VALUE(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_DDNS_TTL(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-databases 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.
@ 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-sockets/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.
@ CONTROL_SOCKETS
Used while parsing Dhcp4/control-sockets structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ CLIENTS
Used while parsing Dhcp4/control-sockets/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-sockets/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-sockets/authentication structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ SSL_MODE
Used while parsing Dhcp4/*-database/ssl-mode.
@ 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.
unsigned char flex_uint8_t
unsigned int flex_uint32_t
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER
#define YY_END_OF_BUFFER_CHAR
unsigned short int flex_uint16_t
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yy_load_buffer_state
#define yypush_buffer_state
#define yyget_in
Get the input stream.
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_FATAL_ERROR(msg)
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#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.