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, 108,
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, 112, 0, 0,
762 0, 0, 0, 0, 98, 0, 0, 0, 0, 0,
763 0, 0, 139, 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, 97, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 102, 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, 134, 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, 149, 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, 125, 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, 101, 0, 0, 0, 0, 0, 179,
787 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 145, 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, 127, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 123, 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, 106, 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 105, 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, 58, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 143, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 155, 120, 0, 0, 0, 0,
817 0, 0, 126, 0, 0, 0, 0, 0, 0, 0,
818 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 128, 40, 103, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 60, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 92, 0,
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, 190,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 144, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 56, 0, 0, 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, 37, 0, 0, 0, 0, 34, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 129, 0, 0, 0,
839 0, 0, 57, 0, 0, 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, 72,
842 0, 0, 0, 0, 0, 0, 0, 55, 0, 0,
843 0, 0, 141, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 191, 0, 0, 0, 180, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 107, 0, 0,
849 0, 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 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 195, 0, 0, 0, 193, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 182, 0,
856 61, 0, 0, 0, 213, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 142, 0, 0, 0, 0, 0, 0, 0, 146, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 140, 0, 0, 23, 0, 151, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 199, 0, 100, 0, 0, 0, 0, 0,
866 95, 0, 0, 0, 0, 154, 0, 0, 189, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 70, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 115, 116, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
873 0, 0, 63, 0, 0, 0, 0, 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 148, 0, 0, 0, 0, 0, 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 217, 0, 0, 0, 96, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
882 0, 0, 196, 0, 0, 194, 0, 0, 0, 174,
883 176, 170, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 22, 0, 0, 62, 0, 0, 0, 0, 0,
885 0, 205, 0, 0, 0, 0, 0, 0, 0, 0,
886 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 91, 90, 0, 0, 0, 0,
888 0, 0, 163, 0, 0, 0, 188, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
890 0, 0, 152, 0, 15, 0, 0, 41, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 198, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 43, 68, 0,
894 0, 147, 0, 138, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 54, 0, 104, 0, 0, 211, 0, 0, 0,
897 0, 0, 0, 0, 0, 216, 0, 118, 0, 0,
898 184, 0, 223, 0, 0, 0, 0, 0, 0, 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, 183, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 14, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 135,
907 0, 0, 0, 44, 0, 0, 0, 0, 0, 0,
908 0, 177, 219, 0, 0, 130, 31, 0, 0, 0,
909 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 214, 0, 192, 0,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
912 0, 0, 0, 0, 0, 28, 0, 0, 197, 0,
914 0, 0, 53, 0, 0, 0, 228, 0, 0, 0,
915 122, 121, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
917 0, 0, 0, 0, 0, 0, 64, 0, 0, 0,
918 0, 0, 0, 0, 117, 0, 0, 0, 42, 169,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 153, 0, 0, 0, 30, 0, 0, 0, 0,
922 0, 215, 0, 0, 0, 0, 0, 164, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 21, 0, 0, 218, 0, 94, 0, 0, 48,
926 0, 0, 0, 0, 212, 0, 84, 0, 0, 210,
927 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
928 0, 88, 0, 0, 0, 0, 17, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 161, 0, 0, 0, 136, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 51, 0, 49, 0, 0, 0, 0, 0, 45, 166,
933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 75, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 200, 0,
937 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
938 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, 0, 0, 160, 0, 66, 65,
943 0, 20, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
945 0, 0, 114, 0, 0, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
948 159, 0, 0, 0, 0, 0, 0, 52, 0, 71,
949 0, 46, 0, 109, 0, 0, 0, 0, 0, 0,
950 0, 229, 0, 93, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 81, 0, 0, 0, 0,
952 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 227, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
959 0, 33, 0, 0, 0, 80, 0, 0, 0, 0,
960 165, 0, 0, 0, 0, 0, 0, 0, 221, 224,
961 0, 0, 131, 110, 0, 0, 0, 0, 0, 0,
962 0, 86, 0, 0, 0, 76, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 0, 0, 137, 157, 0,
964 0, 0, 0, 0, 0, 162, 0, 0, 0, 78,
965 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
966 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 0, 156, 0, 0, 201, 0, 226, 222, 0,
969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971 77, 0, 0, 132, 0, 0, 0, 27, 25, 0,
972 0, 0, 0, 0, 82, 0, 0, 113, 0, 0,
973 74, 0, 119, 83, 0, 0, 225, 0, 0, 0,
974 0, 0, 73, 0, 158, 26, 220, 0
977static const YY_CHAR yy_ec[256] =
979 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
980 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
981 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
982 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
983 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
984 17, 18, 17, 19, 17, 17, 17, 20, 5, 21,
985 5, 22, 23, 5, 24, 25, 26, 27, 28, 29,
986 5, 30, 31, 32, 33, 34, 5, 35, 36, 37,
987 5, 38, 39, 40, 41, 42, 43, 44, 45, 5,
988 46, 47, 48, 5, 49, 5, 50, 51, 52, 53,
990 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
991 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
992 74, 75, 76, 5, 77, 5, 5, 5, 5, 5,
993 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
994 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
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,
1001 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,
1009static const YY_CHAR yy_meta[78] =
1011 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
1012 1, 1, 1, 1, 1, 1, 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,
1023 0, 76, 22, 29, 40, 48, 54, 62, 97, 105,
1024 3047, 3048, 32, 3043, 153, 0, 219, 3048, 227, 56,
1025 14, 242, 250, 3048, 3022, 118, 17, 71, 75, 3048,
1026 3048, 90, 74, 79, 3048, 3048, 3048, 43, 3031, 2980,
1027 0, 3020, 57, 3038, 2, 287, 3048, 2976, 87, 93,
1028 2982, 101, 79, 235, 248, 222, 220, 318, 242, 229,
1029 332, 310, 235, 260, 219, 270, 2984, 320, 182, 355,
1030 227, 344, 2967, 275, 356, 401, 365, 282, 250, 0,
1031 426, 445, 467, 473, 488, 496, 514, 520, 3048, 0,
1032 537, 545, 3048, 432, 479, 300, 309, 231, 338, 342,
1034 325, 3048, 2984, 3029, 3048, 56, 3048, 534, 3015, 358,
1035 266, 2981, 343, 17, 360, 3021, 400, 382, 401, 343,
1036 3025, 0, 599, 2980, 515, 2962, 2959, 2959, 2962, 457,
1037 2958, 186, 2966, 515, 2952, 2953, 2958, 363, 2968, 367,
1038 2961, 2951, 2960, 417, 2966, 514, 248, 368, 2946, 3003,
1039 3007, 2949, 2942, 2999, 2935, 517, 2956, 2956, 2950, 401,
1040 2942, 2943, 2941, 2935, 499, 2946, 411, 2931, 2930, 540,
1041 2931, 453, 2943, 2942, 2923, 579, 481, 531, 2944, 2941,
1042 2942, 2930, 532, 2939, 2978, 2977, 547, 81, 2920, 505,
1043 2921, 556, 528, 2931, 2923, 2916, 2924, 618, 641, 647,
1045 0, 659, 667, 682, 571, 561, 491, 599, 607, 615,
1046 2920, 3048, 2969, 620, 654, 2914, 649, 655, 661, 668,
1047 2972, 674, 2971, 668, 2970, 3048, 3048, 718, 2910, 2910,
1048 680, 2923, 2915, 2913, 2901, 2912, 2916, 2917, 2897, 2908,
1049 2912, 2909, 2908, 643, 656, 2950, 2910, 2891, 2888, 2896,
1050 2891, 2901, 2904, 2900, 2891, 2887, 2899, 2899, 2887, 2886,
1051 2888, 2891, 2871, 2875, 2889, 2881, 2871, 2874, 2888, 3048,
1052 2873, 2882, 52, 2924, 2866, 2875, 2921, 2864, 2874, 2877,
1053 681, 2917, 2858, 2872, 2914, 684, 2855, 2869, 2867, 2847,
1054 2862, 555, 2859, 664, 2850, 2848, 2848, 2854, 2845, 2858,
1056 2842, 2905, 2857, 418, 2851, 646, 2858, 2853, 2836, 2851,
1057 2837, 2849, 2844, 2848, 2829, 2845, 2831, 2837, 2844, 2884,
1058 654, 504, 2831, 2828, 2827, 515, 2826, 2821, 2835, 699,
1059 2834, 2881, 2813, 2835, 698, 68, 2826, 2814, 760, 745,
1060 766, 775, 701, 3048, 3048, 712, 3048, 3048, 2812, 658,
1061 712, 762, 2863, 759, 2874, 758, 767, 3048, 2873, 3048,
1062 2867, 812, 2808, 2824, 758, 2801, 687, 2822, 2862, 2818,
1063 2801, 2818, 2858, 2814, 2797, 2803, 2859, 2810, 2813, 2804,
1064 2807, 2793, 2804, 2852, 2846, 2800, 2797, 787, 2802, 2802,
1065 2846, 2777, 2839, 2788, 2783, 2777, 2776, 2778, 2781, 2832,
1067 2785, 2830, 2772, 793, 800, 2786, 2771, 2770, 2783, 2781,
1068 2779, 2779, 2778, 2773, 2780, 2775, 2771, 741, 2769, 2772,
1069 2754, 2766, 2817, 693, 777, 2811, 2754, 2770, 2808, 2754,
1070 2753, 2746, 2761, 2752, 2759, 2740, 2757, 2752, 810, 2803,
1071 2754, 2753, 3048, 2752, 789, 2743, 2741, 2753, 756, 2728,
1072 2729, 2742, 2732, 2724, 2786, 2727, 2741, 788, 2727, 2739,
1073 2738, 2737, 2728, 2732, 2730, 2776, 2732, 2731, 2730, 2729,
1074 2712, 2720, 2774, 2729, 2709, 2771, 3048, 2770, 2708, 2707,
1075 837, 2720, 2718, 2716, 2716, 855, 865, 3048, 3048, 2716,
1076 2705, 2697, 779, 2755, 2759, 2758, 3048, 2757, 781, 3048,
1078 822, 874, 2704, 2711, 781, 2754, 2696, 2691, 2751, 2701,
1079 2744, 2693, 2695, 778, 2685, 2693, 2681, 3048, 2686, 2679,
1080 2691, 2694, 2681, 2680, 3048, 852, 2682, 2679, 841, 2677,
1081 2671, 2678, 3048, 2727, 2685, 2682, 2667, 2684, 2680, 2678,
1082 2678, 2672, 844, 2662, 2717, 3048, 2660, 2676, 2714, 3048,
1083 2667, 2717, 2669, 2667, 2665, 2666, 2650, 2659, 2705, 2652,
1084 2651, 2646, 2645, 2700, 2640, 822, 2659, 2633, 2640, 2656,
1085 2694, 3048, 2640, 2636, 899, 2634, 2690, 2642, 2641, 2635,
1086 2627, 2627, 2626, 2640, 2640, 2628, 2624, 2622, 3048, 2631,
1087 2682, 3048, 2620, 2675, 2616, 2615, 2620, 2676, 2628, 2622,
1089 2616, 2625, 2671, 2665, 2608, 2603, 2662, 2622, 2597, 2603,
1090 791, 2617, 2610, 2614, 2597, 2659, 2600, 2652, 2594, 2594,
1091 2649, 2590, 2591, 2590, 2588, 2605, 3048, 2601, 2642, 3048,
1092 3048, 2589, 2587, 3048, 799, 2639, 2643, 2574, 2636, 2592,
1093 2576, 2593, 2637, 869, 3048, 3048, 3048, 808, 870, 873,
1094 2571, 2572, 924, 3048, 2571, 2581, 3048, 2580, 748, 2587,
1095 2567, 2577, 2580, 2622, 2563, 864, 2562, 2572, 2618, 2559,
1096 2566, 2559, 2561, 2570, 2552, 2552, 2567, 2566, 2550, 849,
1097 2564, 2563, 2563, 2545, 2550, 2594, 2548, 2557, 2554, 2548,
1098 2597, 2537, 2537, 2551, 2551, 2549, 2549, 3048, 2534, 2546,
1100 2538, 2544, 2535, 2543, 2541, 3048, 2527, 2582, 2542, 2524,
1101 2536, 2528, 843, 2519, 2518, 2512, 2517, 2532, 2529, 2530,
1102 2509, 2519, 2525, 2572, 2516, 2507, 2508, 2510, 2505, 2518,
1103 2510, 2509, 556, 2558, 2505, 925, 2556, 2497, 2554, 2497,
1104 2500, 2493, 2508, 3048, 2554, 2490, 2504, 2499, 2495, 3048,
1105 2544, 2492, 2499, 2541, 3048, 2482, 2496, 2495, 184, 311,
1106 401, 445, 410, 577, 617, 670, 739, 790, 3048, 799,
1107 827, 844, 861, 879, 931, 886, 887, 888, 874, 933,
1108 895, 892, 877, 884, 892, 890, 3048, 941, 884, 3048,
1109 900, 892, 3048, 912, 926, 926, 918, 934, 906, 897,
1111 895, 906, 896, 905, 917, 911, 900, 896, 910, 906,
1112 912, 964, 924, 971, 972, 928, 928, 978, 979, 929,
1113 929, 930, 940, 945, 931, 934, 937, 946, 946, 930,
1114 991, 940, 950, 953, 995, 940, 1002, 948, 952, 949,
1115 951, 959, 1003, 1005, 964, 1012, 966, 969, 964, 955,
1116 970, 975, 976, 973, 975, 977, 976, 964, 978, 976,
1117 984, 1024, 982, 1031, 1032, 978, 970, 980, 1032, 987,
1118 1040, 3048, 989, 991, 987, 981, 997, 985, 995, 1048,
1119 1044, 1045, 1004, 1005, 3048, 995, 996, 995, 1008, 998,
1120 1011, 1059, 1060, 1061, 3048, 994, 1017, 1008, 997, 1003,
1122 1062, 1022, 1006, 1018, 1071, 1009, 1016, 1069, 1029, 1025,
1123 1030, 1028, 1076, 1014, 1026, 1041, 1038, 1038, 1037, 1027,
1124 1025, 3048, 1093, 1046, 1047, 1035, 1049, 1040, 1044, 1055,
1125 1040, 1048, 1051, 1055, 1062, 1057, 1049, 1064, 1088, 1080,
1126 1110, 1111, 1084, 1113, 1058, 1072, 1075, 1078, 1075, 1057,
1127 1064, 1078, 1127, 1080, 1065, 1078, 1079, 1077, 1086, 3048,
1128 3048, 1082, 1077, 1092, 1089, 1075, 1077, 1097, 1093, 1096,
1129 1084, 1092, 1093, 1102, 1150, 1107, 1147, 1105, 1095, 1094,
1130 1093, 1104, 1100, 1092, 3048, 1103, 1114, 1099, 1100, 1106,
1131 1122, 1162, 1119, 1114, 1165, 3048, 1125, 1117, 1128, 1126,
1133 1175, 1113, 1130, 1116, 1128, 1137, 1134, 1121, 1119, 1185,
1134 1138, 1124, 1130, 1128, 3048, 3048, 1138, 1143, 1148, 1136,
1135 1146, 1148, 3048, 1149, 1136, 1154, 1141, 1143, 1136, 1153,
1136 3048, 1142, 1160, 1161, 1201, 1148, 1149, 1146, 1150, 1168,
1137 1213, 3048, 3048, 3048, 1155, 1152, 1168, 1217, 1167, 1157,
1138 1158, 1154, 1167, 3048, 1178, 1173, 1221, 1175, 1177, 1170,
1139 1172, 1168, 1174, 1174, 1176, 1191, 1174, 1237, 1190, 1192,
1140 1196, 1183, 1174, 1243, 1196, 1199, 1185, 1184, 3048, 1191,
1141 1192, 1245, 1246, 1194, 1207, 1249, 1203, 1193, 1209, 1209,
1142 1215, 1196, 1205, 1213, 1200, 1231, 1241, 1229, 1237, 1249,
1144 1212, 1269, 1213, 1228, 1210, 1269, 1270, 1228, 1272, 3048,
1145 1278, 1227, 1218, 1234, 1238, 1283, 1229, 1228, 1223, 1224,
1146 1236, 1231, 1227, 1236, 1233, 1237, 1247, 1256, 1296, 3048,
1147 1246, 1240, 1258, 1251, 1246, 1308, 1261, 1262, 1253, 1312,
1148 1268, 1257, 1260, 1268, 1270, 1255, 1275, 1268, 1273, 1270,
1149 1268, 1280, 1264, 1265, 3048, 1281, 1284, 1281, 1268, 1285,
1150 1280, 1333, 1272, 1291, 3048, 1290, 1293, 1279, 1274, 1292,
1151 1336, 1290, 1286, 1283, 1340, 1341, 1299, 1285, 1303, 1303,
1152 1303, 1304, 1305, 1307, 1292, 1307, 1305, 1295, 1296, 1312,
1153 1299, 1316, 3048, 1314, 1316, 1365, 1308, 3048, 1311, 1316,
1155 1364, 1311, 1323, 1317, 1315, 1312, 1318, 1328, 1377, 1317,
1156 1318, 1318, 1381, 1321, 1333, 1326, 3048, 1322, 1339, 1331,
1157 1327, 1330, 3048, 1333, 1386, 1324, 1345, 1331, 1333, 1334,
1158 1335, 1341, 1349, 1340, 1345, 1355, 1404, 1357, 1406, 1352,
1159 1360, 1365, 1410, 1377, 1407, 1389, 1381, 1386, 1368, 3048,
1160 1370, 1355, 1367, 1363, 1377, 1360, 1360, 3048, 1363, 1362,
1161 1426, 1365, 3048, 1376, 1366, 1386, 1385, 1376, 1387, 1434,
1162 1383, 1392, 1385, 1389, 1393, 1380, 1401, 1398, 1399, 1390,
1163 1449, 1392, 3048, 1446, 1389, 1393, 3048, 1411, 1393, 1394,
1164 1394, 1415, 1412, 1414, 1401, 1419, 1407, 1421, 1414, 1423,
1166 1403, 1418, 1425, 1410, 1472, 1414, 1469, 3048, 1475, 1476,
1167 1414, 1424, 1434, 1418, 1438, 1426, 1422, 1429, 1438, 1426,
1168 1433, 1434, 1446, 1491, 1434, 1493, 1433, 1432, 1436, 1450,
1169 1454, 1499, 1443, 1449, 1450, 1439, 1504, 1451, 1454, 1507,
1170 3048, 1444, 1461, 1454, 1445, 1464, 1452, 1462, 1458, 1453,
1171 1472, 1472, 3048, 1456, 1452, 1458, 3048, 1459, 1523, 1479,
1172 1460, 1466, 1480, 1466, 1482, 1468, 1485, 1528, 1477, 1535,
1173 1536, 1485, 1490, 1484, 1482, 1493, 1492, 1476, 3048, 1481,
1174 3048, 1490, 1488, 1501, 3048, 1515, 1528, 1516, 1530, 1517,
1175 1509, 1554, 1503, 1491, 1513, 1508, 1508, 1512, 1513, 1562,
1177 3048, 1501, 1501, 1504, 1521, 1516, 1520, 1515, 3048, 1524,
1178 1508, 1525, 1505, 1526, 1517, 1514, 1525, 1522, 1579, 1528,
1179 3048, 1541, 1541, 1583, 1526, 1535, 1586, 1540, 1545, 1531,
1180 1595, 1549, 1535, 1536, 1550, 1548, 1545, 1541, 1559, 1560,
1181 1561, 1544, 3048, 1602, 1553, 3048, 1563, 3048, 1548, 1559,
1182 1550, 1569, 1562, 1560, 1553, 1565, 1613, 1573, 1562, 1569,
1183 1570, 1576, 3048, 1569, 3048, 1625, 1574, 1563, 1576, 1629,
1184 3048, 1567, 1573, 1574, 1585, 3048, 1586, 1580, 3048, 1573,
1185 1576, 1590, 1595, 1578, 1641, 1594, 1581, 1600, 1587, 1592,
1186 1647, 1643, 1592, 1650, 3048, 1597, 1594, 1605, 1654, 1655,
1188 1656, 1652, 1610, 1611, 1613, 3048, 3048, 1605, 1600, 1658,
1189 1603, 1619, 1666, 1604, 1616, 1669, 1606, 1623, 1667, 1649,
1190 1650, 1642, 1676, 1615, 3048, 1620, 1631, 1624, 1633, 1624,
1191 1635, 1637, 3048, 1685, 1618, 1629, 1644, 1684, 1632, 1643,
1192 1629, 1645, 1646, 1643, 1691, 1650, 1698, 1699, 1656, 1645,
1193 1656, 1662, 1649, 1645, 1709, 1705, 1659, 1707, 1713, 1666,
1194 3048, 1663, 1653, 1669, 1660, 1663, 1672, 1669, 1659, 1662,
1195 1662, 1725, 1664, 1675, 1670, 1729, 1672, 1731, 1670, 1676,
1196 1735, 1731, 1668, 1683, 1676, 1679, 1692, 1693, 1691, 1744,
1197 3048, 1689, 1695, 1685, 3048, 1701, 1693, 1694, 1747, 1690,
1199 1706, 1755, 1756, 1696, 1706, 1759, 3048, 1703, 1761, 1701,
1200 1699, 1702, 3048, 1719, 1724, 3048, 1721, 1709, 1709, 3048,
1201 3048, 3048, 1714, 1724, 1707, 1727, 1728, 1714, 1716, 1779,
1202 1725, 3048, 1781, 1726, 3048, 1720, 1784, 1748, 1766, 1783,
1203 1768, 3048, 1739, 1734, 1792, 1745, 1794, 1740, 1791, 1797,
1204 3048, 1736, 1799, 1745, 1739, 1736, 1739, 1741, 1800, 1759,
1205 1802, 1751, 1763, 1766, 3048, 3048, 1763, 1758, 1762, 1755,
1206 1762, 1752, 3048, 1760, 1775, 1760, 3048, 1762, 1762, 1821,
1207 1765, 1823, 1781, 1783, 1783, 1780, 1828, 1786, 3048, 1787,
1208 1779, 1780, 3048, 1781, 3048, 1791, 1783, 3048, 1790, 1795,
1210 1796, 1793, 1841, 1785, 1800, 1801, 1793, 3048, 1803, 1791,
1211 1801, 1793, 1793, 1794, 1795, 1853, 1859, 3048, 3048, 1855,
1212 1798, 3048, 1799, 3048, 1813, 1801, 1809, 1867, 1811, 1803,
1213 1816, 1810, 1820, 1813, 1817, 1833, 1826, 1832, 1822, 1881,
1214 1830, 3048, 1839, 3048, 1836, 1885, 3048, 1834, 1862, 1863,
1215 1869, 1854, 1862, 1887, 1893, 3048, 1894, 3048, 1848, 1833,
1216 3048, 1897, 3048, 1898, 1851, 1856, 1838, 1902, 1842, 1899,
1217 1860, 1855, 1852, 1845, 1852, 1905, 1859, 1860, 1850, 1861,
1218 1873, 1922, 1872, 1924, 1873, 1871, 1922, 1882, 1882, 1925,
1219 1869, 1874, 1872, 1935, 1875, 1883, 1889, 1877, 1940, 1936,
1221 1895, 1943, 1900, 1889, 1883, 1947, 1885, 1886, 1900, 1951,
1222 1904, 1895, 1905, 1955, 1956, 1905, 1903, 3048, 1893, 1955,
1223 1956, 1907, 1906, 1907, 1902, 1903, 1921, 3048, 1912, 1918,
1224 1923, 1910, 1911, 1974, 1912, 1912, 1914, 1973, 1915, 3048,
1225 1911, 1929, 1982, 3048, 1936, 1950, 1964, 1963, 1952, 1954,
1226 1926, 3048, 3048, 1990, 1939, 3048, 3048, 1930, 1941, 1994,
1227 3048, 1995, 1948, 1939, 1944, 1942, 1996, 1950, 1955, 1941,
1228 1944, 1960, 1949, 1947, 1961, 1948, 3048, 1951, 3048, 1958,
1229 1974, 1960, 1969, 2016, 1959, 2023, 1967, 1977, 1978, 3048,
1230 2027, 1963, 2024, 1978, 2026, 3048, 1973, 2033, 3048, 1972,
1232 1987, 1975, 3048, 1985, 1986, 2039, 3048, 1993, 1984, 1998,
1233 3048, 3048, 1974, 1992, 2001, 1983, 2001, 1990, 2044, 1992,
1234 1988, 1993, 2053, 1991, 1992, 2056, 2052, 2058, 3048, 2007,
1235 2005, 2061, 2010, 2000, 2016, 2009, 3048, 2066, 2043, 2068,
1236 2049, 2065, 2071, 2020, 3048, 2017, 2074, 2012, 3048, 3048,
1237 2014, 2016, 2026, 2074, 2018, 2033, 2020, 2083, 2036, 2022,
1238 2029, 2029, 2088, 2041, 2042, 2034, 2030, 2032, 2048, 2034,
1239 2046, 3048, 2094, 2041, 2038, 3048, 2054, 2041, 2054, 2041,
1240 2062, 3048, 2059, 2108, 2057, 2054, 2055, 3048, 2112, 2069,
1241 2068, 2067, 2060, 2065, 2066, 2064, 2075, 2059, 2068, 2118,
1243 2124, 3048, 2073, 2126, 3048, 2071, 3048, 2070, 2066, 3048,
1244 2073, 2131, 2133, 2129, 3048, 2130, 3048, 2111, 2117, 3048,
1245 2081, 2091, 3048, 2135, 2083, 2094, 2095, 2080, 2081, 2089,
1246 2147, 3048, 2091, 2144, 2145, 2096, 3048, 2091, 2109, 2110,
1247 2092, 2098, 2111, 2106, 2103, 2108, 2106, 2162, 2104, 2118,
1248 2167, 2111, 2108, 2108, 3048, 2123, 2124, 2125, 3048, 2119,
1249 2127, 2176, 2125, 2115, 2123, 2136, 2137, 2118, 2119, 2126,
1250 3048, 2128, 3048, 2142, 2139, 2131, 2184, 2141, 3048, 3048,
1251 2145, 2171, 2172, 2170, 2147, 2134, 2134, 2143, 2150, 2143,
1252 2142, 2153, 2140, 3048, 2156, 2144, 2147, 2207, 2143, 2162,
1254 2155, 2206, 2166, 2159, 2158, 2167, 2169, 2173, 3048, 2215,
1255 2167, 3048, 2171, 2162, 2225, 2164, 2227, 2228, 2224, 2230,
1256 3048, 2168, 2227, 2185, 2172, 2180, 2191, 2178, 2189, 2175,
1257 2173, 2181, 2180, 2181, 2187, 2178, 2223, 2248, 2229, 2245,
1258 2251, 2200, 2189, 2202, 2192, 2209, 2208, 2253, 2193, 2212,
1259 2213, 3048, 2218, 2211, 2259, 2255, 2218, 2205, 2220, 2269,
1260 2222, 2225, 2220, 2225, 2216, 2225, 3048, 2278, 3048, 3048,
1261 2224, 3048, 2280, 2218, 2282, 2221, 2284, 2228, 2281, 2282,
1262 2240, 2284, 2226, 2230, 2292, 2249, 2294, 2249, 2276, 3048,
1263 2272, 2235, 3048, 2243, 2237, 2234, 2297, 2259, 2252, 2248,
1265 2306, 2245, 2247, 2246, 2253, 2265, 2300, 2251, 2314, 2254,
1266 3048, 2259, 2269, 2271, 2273, 2256, 2264, 3048, 2271, 3048,
1267 2273, 3048, 2278, 3048, 2279, 2279, 2270, 2330, 2270, 2280,
1268 2265, 3048, 2278, 3048, 2280, 2311, 2317, 2286, 2291, 2288,
1269 2341, 2278, 2280, 2277, 2301, 3048, 2288, 2295, 2296, 2299,
1270 2295, 2351, 2290, 3048, 2348, 2291, 2299, 2308, 2294, 2310,
1271 2309, 2298, 2305, 2300, 2302, 2314, 2309, 3048, 2320, 2308,
1272 2365, 2312, 2324, 2352, 2374, 2314, 2376, 2319, 3048, 2319,
1273 2331, 2380, 2325, 2327, 2325, 2326, 2385, 2342, 3048, 2335,
1274 2322, 2337, 2342, 2334, 2340, 2393, 2394, 2332, 2348, 2397,
1276 2398, 2339, 2343, 2339, 2355, 2338, 2350, 2344, 2407, 3048,
1277 2360, 3048, 2352, 2363, 2411, 3048, 2364, 2349, 2367, 2358,
1278 3048, 2354, 2360, 2374, 2370, 2363, 2358, 2364, 3048, 3048,
1279 2423, 2424, 3048, 3048, 2363, 2371, 2366, 2423, 2385, 2382,
1280 2431, 3048, 2370, 2428, 2390, 3048, 2435, 2373, 2437, 2376,
1281 2377, 2390, 2389, 2390, 2380, 2392, 2388, 3048, 3048, 2383,
1282 2447, 2396, 2405, 2398, 2446, 3048, 2401, 2397, 2391, 3048,
1283 2403, 3048, 2451, 2409, 2458, 2396, 2412, 2461, 2413, 2463,
1284 2464, 3048, 2417, 2411, 2404, 2424, 2411, 2413, 2424, 2415,
1285 2419, 2413, 3048, 2471, 2416, 3048, 2426, 3048, 3048, 2417,
1287 2425, 2476, 2432, 2425, 2429, 2438, 2486, 2430, 2430, 2489,
1288 2427, 2429, 2444, 2493, 2494, 2432, 2448, 2433, 2451, 2451,
1289 3048, 2500, 2443, 3048, 2450, 2503, 2443, 3048, 3048, 2453,
1290 2506, 2450, 2508, 2509, 3048, 2456, 2455, 3048, 2512, 2457,
1291 3048, 2451, 3048, 3048, 2451, 2468, 3048, 2469, 2518, 2460,
1292 2520, 2521, 3048, 2522, 3048, 3048, 3048, 3048, 2528, 2531,
1293 2534, 2535, 2537, 2540, 2543, 2546
1298 2459, 2459, 2460, 2460, 2459, 2459, 2459, 2459, 2459, 2459,
1299 2458, 2458, 2458, 2458, 2458, 2461, 2458, 2458, 2458, 2458,
1300 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1301 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1302 2462, 2458, 2458, 2458, 2463, 15, 2458, 46, 46, 46,
1303 46, 46, 46, 46, 46, 46, 46, 2464, 46, 46,
1304 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1305 46, 46, 46, 46, 46, 46, 46, 46, 46, 2461,
1306 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2465,
1307 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1309 2458, 2458, 2458, 2462, 2458, 2463, 2458, 2458, 46, 46,
1310 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1311 2466, 46, 2464, 46, 46, 46, 46, 46, 46, 46,
1312 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1313 46, 46, 46, 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, 2458, 2458, 2458,
1320 2465, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1321 2458, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1322 46, 46, 46, 46, 2466, 2458, 2458, 123, 46, 46,
1323 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1324 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1325 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1326 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1327 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1328 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1329 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1331 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1332 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, 2458, 2458,
1335 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 46,
1336 46, 46, 46, 46, 46, 46, 46, 2458, 46, 2458,
1337 46, 123, 46, 46, 46, 46, 46, 46, 46, 46,
1338 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1339 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1340 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1342 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1343 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, 2458, 46, 46, 46, 46, 46, 46, 46,
1347 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1348 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1349 46, 46, 46, 46, 46, 46, 2458, 46, 46, 46,
1350 46, 46, 46, 46, 46, 2458, 2458, 2458, 2458, 2458,
1351 46, 46, 46, 46, 46, 46, 2458, 46, 46, 2458,
1353 46, 123, 46, 46, 46, 46, 46, 46, 46, 46,
1354 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1355 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1356 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1357 46, 46, 46, 46, 46, 2458, 46, 46, 46, 2458,
1358 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1359 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1360 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1361 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1362 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1364 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1365 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1366 46, 46, 46, 46, 46, 46, 2458, 46, 46, 2458,
1367 2458, 46, 46, 2458, 46, 46, 46, 46, 46, 2458,
1368 46, 46, 46, 46, 2458, 2458, 2458, 46, 46, 46,
1369 46, 46, 46, 2458, 46, 46, 2458, 46, 46, 46,
1370 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1371 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1372 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1373 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1375 46, 46, 46, 46, 46, 2458, 46, 46, 46, 46,
1376 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1377 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1378 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1379 46, 46, 46, 2458, 46, 46, 46, 46, 46, 2458,
1380 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1381 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1382 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1383 46, 46, 46, 46, 46, 46, 2458, 46, 46, 2458,
1384 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1386 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1387 46, 46, 46, 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, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1394 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1395 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1397 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1398 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1399 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1400 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1401 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1402 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1403 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1404 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1405 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1406 46, 46, 46, 46, 46, 2458, 46, 46, 46, 46,
1408 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1409 46, 46, 46, 46, 2458, 2458, 46, 46, 46, 46,
1410 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1411 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1412 46, 2458, 2458, 2458, 46, 46, 46, 46, 46, 46,
1413 46, 46, 46, 2458, 46, 46, 46, 46, 46, 46,
1414 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1415 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1416 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1417 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1419 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1420 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1421 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1422 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1423 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1424 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1425 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1426 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1427 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1428 46, 46, 2458, 46, 46, 46, 46, 2458, 46, 46,
1430 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1431 46, 46, 46, 46, 46, 46, 2458, 46, 46, 46,
1432 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1433 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1434 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1435 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1436 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1437 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1438 46, 46, 2458, 46, 46, 46, 2458, 46, 46, 46,
1439 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1441 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1442 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1443 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1444 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1445 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1446 46, 46, 2458, 46, 46, 46, 2458, 46, 46, 46,
1447 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1448 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1449 2458, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1450 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1452 2458, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1453 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1454 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1455 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1456 46, 46, 2458, 46, 46, 2458, 46, 2458, 46, 46,
1457 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1458 46, 46, 2458, 46, 2458, 46, 46, 46, 46, 46,
1459 2458, 46, 46, 46, 46, 2458, 46, 46, 2458, 46,
1460 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1461 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1463 46, 46, 46, 46, 46, 2458, 2458, 46, 46, 46,
1464 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1465 46, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1466 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1467 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1468 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1469 2458, 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, 46, 46, 46, 46, 46,
1472 2458, 46, 46, 46, 2458, 46, 46, 46, 46, 46,
1474 46, 46, 46, 46, 46, 46, 2458, 46, 46, 46,
1475 46, 46, 2458, 46, 46, 2458, 46, 46, 46, 2458,
1476 2458, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1477 46, 2458, 46, 46, 2458, 46, 46, 46, 46, 46,
1478 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1479 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1480 46, 46, 46, 46, 2458, 2458, 46, 46, 46, 46,
1481 46, 46, 2458, 46, 46, 46, 2458, 46, 46, 46,
1482 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1483 46, 46, 2458, 46, 2458, 46, 46, 2458, 46, 46,
1485 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1486 46, 46, 46, 46, 46, 46, 46, 2458, 2458, 46,
1487 46, 2458, 46, 2458, 46, 46, 46, 46, 46, 46,
1488 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1489 46, 2458, 46, 2458, 46, 46, 2458, 46, 46, 46,
1490 46, 46, 46, 46, 46, 2458, 46, 2458, 46, 46,
1491 2458, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1492 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1493 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1494 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1496 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1497 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1498 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1499 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1500 46, 46, 46, 2458, 46, 46, 46, 46, 46, 46,
1501 46, 2458, 2458, 46, 46, 2458, 2458, 46, 46, 46,
1502 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1503 46, 46, 46, 46, 46, 46, 2458, 46, 2458, 46,
1504 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1505 46, 46, 46, 46, 46, 2458, 46, 46, 2458, 46,
1507 46, 46, 2458, 46, 46, 46, 2458, 46, 46, 46,
1508 2458, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1509 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1510 46, 46, 46, 46, 46, 46, 2458, 46, 46, 46,
1511 46, 46, 46, 46, 2458, 46, 46, 46, 2458, 2458,
1512 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1513 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1514 46, 2458, 46, 46, 46, 2458, 46, 46, 46, 46,
1515 46, 2458, 46, 46, 46, 46, 46, 2458, 46, 46,
1516 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1518 46, 2458, 46, 46, 2458, 46, 2458, 46, 46, 2458,
1519 46, 46, 46, 46, 2458, 46, 2458, 46, 46, 2458,
1520 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1521 46, 2458, 46, 46, 46, 46, 2458, 46, 46, 46,
1522 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1523 46, 46, 46, 46, 2458, 46, 46, 46, 2458, 46,
1524 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1525 2458, 46, 2458, 46, 46, 46, 46, 46, 2458, 2458,
1526 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1527 46, 46, 46, 2458, 46, 46, 46, 46, 46, 46,
1529 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1530 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1531 2458, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1532 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1533 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1534 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1535 46, 46, 46, 46, 46, 46, 2458, 46, 2458, 2458,
1536 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1537 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1538 46, 46, 2458, 46, 46, 46, 46, 46, 46, 46,
1540 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1541 2458, 46, 46, 46, 46, 46, 46, 2458, 46, 2458,
1542 46, 2458, 46, 2458, 46, 46, 46, 46, 46, 46,
1543 46, 2458, 46, 2458, 46, 46, 46, 46, 46, 46,
1544 46, 46, 46, 46, 46, 2458, 46, 46, 46, 46,
1545 46, 46, 46, 2458, 46, 46, 46, 46, 46, 46,
1546 46, 46, 46, 46, 46, 46, 46, 2458, 46, 46,
1547 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1548 46, 46, 46, 46, 46, 46, 46, 46, 2458, 46,
1549 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1551 46, 46, 46, 46, 46, 46, 46, 46, 46, 2458,
1552 46, 2458, 46, 46, 46, 2458, 46, 46, 46, 46,
1553 2458, 46, 46, 46, 46, 46, 46, 46, 2458, 2458,
1554 46, 46, 2458, 2458, 46, 46, 46, 46, 46, 46,
1555 46, 2458, 46, 46, 46, 2458, 46, 46, 46, 46,
1556 46, 46, 46, 46, 46, 46, 46, 2458, 2458, 46,
1557 46, 46, 46, 46, 46, 2458, 46, 46, 46, 2458,
1558 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1559 46, 2458, 46, 46, 46, 46, 46, 46, 46, 46,
1560 46, 46, 2458, 46, 46, 2458, 46, 2458, 2458, 46,
1562 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1563 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1564 2458, 46, 46, 2458, 46, 46, 46, 2458, 2458, 46,
1565 46, 46, 46, 46, 2458, 46, 46, 2458, 46, 46,
1566 2458, 46, 2458, 2458, 46, 46, 2458, 46, 46, 46,
1567 46, 46, 2458, 46, 2458, 2458, 2458, 0, 2458, 2458,
1568 2458, 2458, 2458, 2458, 2458, 2458
1573 2458, 13, 14, 13, 2458, 15, 16, 107, 17, 18,
1574 19, 20, 21, 22, 23, 23, 23, 23, 23, 24,
1575 25, 89, 2458, 38, 14, 38, 90, 26, 27, 39,
1576 38, 14, 38, 43, 28, 43, 39, 2458, 2458, 29,
1577 96, 13, 14, 13, 43, 30, 43, 31, 108, 13,
1578 14, 13, 218, 26, 32, 13, 14, 13, 43, 41,
1579 43, 107, 33, 13, 14, 13, 96, 41, 34, 88,
1580 88, 88, 88, 88, 88, 35, 36, 13, 14, 13,
1581 218, 15, 16, 87, 17, 18, 19, 20, 21, 22,
1582 23, 23, 23, 23, 23, 24, 25, 40, 13, 14,
1584 13, 409, 108, 26, 27, 40, 13, 14, 13, 87,
1585 28, 97, 98, 96, 97, 29, 98, 114, 410, 42,
1586 110, 30, 111, 31, 113, 482, 94, 42, 94, 26,
1587 32, 95, 95, 95, 95, 95, 95, 483, 33, 99,
1588 97, 98, 327, 100, 34, 101, 114, 110, 328, 111,
1589 113, 35, 36, 45, 45, 45, 46, 46, 47, 46,
1590 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1591 48, 46, 46, 46, 46, 46, 49, 46, 50, 51,
1592 46, 52, 46, 46, 53, 46, 46, 54, 46, 46,
1593 46, 46, 55, 56, 46, 57, 46, 46, 46, 58,
1595 46, 46, 59, 60, 61, 62, 63, 64, 46, 65,
1596 66, 53, 67, 68, 69, 70, 71, 72, 73, 74,
1597 75, 76, 77, 78, 79, 46, 46, 46, 46, 46,
1598 81, 160, 82, 82, 82, 82, 82, 82, 84, 161,
1599 85, 86, 86, 86, 86, 86, 83, 907, 119, 120,
1600 240, 162, 241, 84, 87, 91, 91, 91, 91, 91,
1601 91, 84, 115, 92, 92, 92, 92, 92, 92, 87,
1602 116, 207, 83, 117, 119, 110, 120, 87, 128, 120,
1603 87, 166, 148, 113, 142, 118, 143, 149, 115, 167,
1604 150, 168, 129, 215, 124, 87, 169, 144, 116, 117,
1606 207, 263, 125, 87, 46, 145, 120, 146, 126, 113,
1607 46, 127, 46, 46, 118, 46, 197, 264, 46, 215,
1608 147, 46, 151, 122, 175, 152, 46, 46, 176, 46,
1609 46, 195, 153, 205, 154, 196, 46, 46, 46, 46,
1610 46, 46, 206, 46, 46, 46, 46, 46, 46, 46,
1611 46, 46, 46, 46, 46, 46, 46, 46, 46, 136,
1612 205, 111, 137, 138, 46, 207, 139, 140, 46, 206,
1613 224, 205, 46, 156, 157, 206, 217, 158, 908, 141,
1614 46, 130, 115, 159, 46, 131, 46, 123, 111, 132,
1615 116, 119, 133, 170, 210, 134, 224, 171, 208, 135,
1617 214, 219, 209, 217, 163, 177, 164, 172, 165, 178,
1618 173, 909, 179, 249, 250, 185, 186, 192, 116, 180,
1619 181, 289, 222, 182, 183, 184, 117, 193, 265, 214,
1620 219, 266, 194, 252, 253, 267, 221, 223, 118, 198,
1621 198, 198, 198, 198, 198, 95, 95, 95, 95, 95,
1622 95, 222, 187, 83, 188, 910, 81, 189, 82, 82,
1623 82, 82, 82, 82, 221, 223, 257, 190, 258, 280,
1624 445, 290, 83, 281, 191, 199, 911, 199, 446, 83,
1625 200, 200, 200, 200, 200, 200, 88, 88, 88, 88,
1626 88, 88, 95, 95, 95, 95, 95, 95, 83, 84,
1628 87, 91, 91, 91, 91, 91, 91, 84, 236, 92,
1629 92, 92, 92, 92, 92, 87, 298, 237, 345, 299,
1630 358, 238, 94, 87, 94, 471, 87, 95, 95, 95,
1631 95, 95, 95, 88, 88, 88, 88, 88, 88, 106,
1632 219, 87, 312, 313, 345, 222, 106, 87, 202, 87,
1633 203, 203, 203, 203, 203, 203, 84, 214, 92, 92,
1634 92, 92, 92, 92, 204, 260, 275, 243, 466, 286,
1635 467, 287, 87, 87, 330, 230, 244, 245, 261, 276,
1636 106, 321, 262, 221, 106, 333, 231, 912, 106, 303,
1637 204, 293, 223, 314, 344, 322, 106, 315, 87, 334,
1639 106, 316, 106, 106, 227, 431, 294, 295, 296, 343,
1640 881, 326, 228, 228, 228, 228, 228, 228, 882, 432,
1641 332, 344, 228, 228, 228, 228, 228, 228, 304, 305,
1642 306, 198, 198, 198, 198, 198, 198, 343, 343, 307,
1643 344, 308, 345, 351, 309, 83, 310, 311, 228, 228,
1644 228, 228, 228, 228, 200, 200, 200, 200, 200, 200,
1645 200, 200, 200, 200, 200, 200, 346, 347, 348, 351,
1646 913, 83, 339, 339, 339, 339, 339, 339, 202, 352,
1647 203, 203, 203, 203, 203, 203, 340, 354, 356, 355,
1648 341, 418, 341, 357, 204, 342, 342, 342, 342, 342,
1650 342, 359, 361, 351, 378, 352, 448, 379, 480, 449,
1651 380, 356, 340, 434, 356, 491, 354, 355, 381, 357,
1652 204, 464, 465, 435, 382, 492, 359, 359, 488, 365,
1653 361, 362, 362, 362, 362, 362, 362, 425, 914, 488,
1654 507, 362, 362, 362, 362, 362, 362, 573, 419, 915,
1655 508, 420, 359, 486, 488, 486, 493, 574, 487, 487,
1656 487, 487, 487, 487, 481, 489, 475, 362, 362, 362,
1657 362, 362, 362, 339, 339, 339, 339, 339, 339, 342,
1658 342, 342, 342, 342, 342, 493, 496, 340, 342, 342,
1659 342, 342, 342, 342, 494, 498, 499, 529, 546, 596,
1661 916, 763, 493, 547, 530, 550, 565, 566, 648, 805,
1662 551, 567, 496, 340, 498, 589, 806, 643, 601, 643,
1663 590, 494, 602, 499, 498, 502, 502, 502, 502, 502,
1664 502, 505, 662, 796, 648, 502, 502, 502, 502, 502,
1665 502, 611, 634, 575, 663, 612, 643, 635, 653, 698,
1666 784, 917, 597, 785, 699, 548, 649, 764, 650, 796,
1667 549, 502, 502, 502, 502, 502, 502, 552, 487, 487,
1668 487, 487, 487, 487, 813, 720, 918, 591, 487, 487,
1669 487, 487, 487, 487, 649, 721, 650, 46, 46, 46,
1670 46, 46, 46, 683, 860, 861, 794, 46, 46, 46,
1672 46, 46, 46, 673, 647, 797, 684, 674, 685, 729,
1673 798, 795, 919, 828, 920, 675, 829, 676, 677, 678,
1674 679, 680, 794, 46, 46, 46, 46, 46, 46, 793,
1675 885, 814, 921, 797, 801, 886, 922, 924, 925, 798,
1676 795, 926, 927, 928, 929, 930, 931, 932, 923, 933,
1677 934, 935, 936, 937, 938, 939, 940, 942, 941, 944,
1678 945, 943, 946, 947, 948, 949, 950, 951, 952, 953,
1679 954, 955, 956, 887, 957, 958, 960, 961, 962, 963,
1680 964, 959, 965, 940, 939, 941, 942, 943, 966, 967,
1681 968, 969, 970, 971, 972, 973, 974, 975, 976, 977,
1683 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
1684 988, 991, 992, 993, 989, 994, 995, 996, 990, 997,
1685 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1007, 1008,
1686 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
1687 1019, 1006, 1021, 1020, 1022, 1023, 1024, 1025, 1026, 1027,
1688 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
1689 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
1690 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1058,
1691 1059, 1055, 1060, 1062, 1063, 1064, 1067, 1068, 1069, 1061,
1692 1070, 1074, 1065, 1075, 1076, 1077, 1066, 1078, 1079, 1080,
1694 1081, 1082, 1083, 1071, 1084, 1072, 1085, 1086, 1087, 1073,
1695 1088, 1089, 1090, 1091, 1093, 1094, 1092, 1095, 1096, 1097,
1696 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107,
1697 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117,
1698 1118, 1119, 1120, 1121, 1122, 1096, 1123, 1124, 1097, 1125,
1699 1126, 1100, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1135,
1700 1131, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
1701 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154,
1702 1155, 1157, 1158, 1159, 1160, 1156, 1161, 1162, 1163, 1164,
1703 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174,
1705 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1706 1185, 1187, 1188, 1189, 1186, 1190, 1191, 1192, 1193, 1195,
1707 1196, 1197, 1198, 1194, 1199, 1200, 1201, 1202, 1203, 1204,
1708 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214,
1709 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224,
1710 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234,
1711 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
1712 1245, 1246, 1249, 1247, 1250, 1251, 1248, 1252, 1253, 1254,
1713 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
1714 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1245, 1244, 1272,
1716 1246, 1247, 1248, 1273, 1274, 1275, 1276, 1277, 1279, 1280,
1717 1278, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289,
1718 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
1719 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1310,
1720 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
1721 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
1722 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
1723 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
1724 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
1725 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370,
1727 1309, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379,
1728 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1389, 1388,
1729 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399,
1730 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409,
1731 1410, 1411, 1412, 1413, 1414, 1386, 1388, 1389, 1390, 1415,
1732 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1417, 1425,
1733 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
1734 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
1735 1446, 1448, 1450, 1451, 1452, 1447, 1453, 1454, 1455, 1456,
1736 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
1738 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476,
1739 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486,
1740 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1449,
1741 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
1742 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515,
1743 1516, 1517, 1518, 1519, 1520, 1521, 1523, 1522, 1524, 1525,
1744 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535,
1745 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
1746 1520, 1546, 1519, 1522, 1521, 1523, 1547, 1548, 1549, 1550,
1747 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
1749 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
1750 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
1751 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590,
1752 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
1753 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
1754 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620,
1755 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
1756 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640,
1757 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
1758 1651, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661,
1760 1662, 1663, 1664, 1665, 1666, 1639, 1640, 1667, 1668, 1641,
1761 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678,
1762 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
1763 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1652, 1697,
1764 1698, 1699, 1700, 1701, 1703, 1704, 1705, 1706, 1707, 1708,
1765 1709, 1702, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717,
1766 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1726, 1727, 1728,
1767 1729, 1725, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737,
1768 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
1769 1749, 1750, 1754, 1751, 1748, 1753, 1755, 1756, 1757, 1758,
1771 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768,
1772 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1750, 1752, 1749,
1773 1776, 1753, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784,
1774 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
1775 1795, 1796, 1797, 1798, 1799, 1800, 1752, 1801, 1802, 1803,
1776 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
1777 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1826,
1778 1823, 1827, 1828, 1824, 1829, 1830, 1825, 1831, 1832, 1833,
1779 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843,
1780 1844, 1845, 1846, 1847, 1849, 1848, 1850, 1851, 1852, 1853,
1782 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1863, 1864,
1783 1867, 1865, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1846,
1784 1847, 1848, 1866, 1849, 1850, 1875, 1876, 1877, 1878, 1879,
1785 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889,
1786 1890, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900,
1787 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
1788 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1862,
1789 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929,
1790 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939,
1791 1940, 1942, 1941, 1943, 1944, 1945, 1946, 1947, 1948, 1949,
1793 1950, 1951, 1891, 1952, 1953, 1954, 1955, 1956, 1957, 1958,
1794 1959, 1960, 1961, 1962, 1963, 1964, 1940, 1965, 1939, 1941,
1795 1942, 1966, 1943, 1967, 1968, 1969, 1970, 1971, 1972, 1973,
1796 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983,
1797 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
1798 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
1799 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
1800 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
1801 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033,
1802 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2016,
1804 2018, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051,
1805 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061,
1806 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071,
1807 2072, 2073, 2074, 2076, 2077, 2078, 2079, 2075, 2080, 2081,
1808 2082, 2083, 2085, 2084, 2086, 2087, 2088, 2089, 2090, 2091,
1809 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101,
1810 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2083, 2084,
1811 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119,
1812 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129,
1813 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139,
1815 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149,
1816 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159,
1817 2160, 2161, 2162, 2137, 2138, 2163, 2139, 2164, 2165, 2166,
1818 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
1819 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2185, 2186, 2184,
1820 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196,
1821 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206,
1822 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2189,
1823 2191, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224,
1824 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234,
1826 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244,
1827 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254,
1828 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2236, 2262, 2237,
1829 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272,
1830 2273, 2274, 2276, 2275, 2277, 2278, 2279, 2280, 2281, 2282,
1831 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292,
1832 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2274, 2275,
1833 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310,
1834 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320,
1835 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330,
1837 2331, 2332, 2333, 2334, 2309, 2335, 2336, 2337, 2338, 2339,
1838 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349,
1839 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359,
1840 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369,
1841 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379,
1842 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389,
1843 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399,
1844 2400, 2401, 2402, 2403, 2405, 2404, 2406, 2407, 2408, 2409,
1845 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419,
1846 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429,
1848 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439,
1849 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449,
1850 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 12, 12,
1851 12, 37, 37, 37, 80, 104, 80, 106, 106, 106,
1852 121, 121, 121, 201, 906, 201, 225, 225, 225, 905,
1853 904, 903, 902, 901, 900, 899, 898, 897, 896, 895,
1854 894, 893, 892, 891, 890, 889, 888, 884, 883, 880,
1855 879, 878, 877, 876, 875, 874, 873, 872, 871, 870,
1856 869, 868, 867, 866, 865, 864, 863, 862, 859, 858,
1857 857, 856, 855, 854, 853, 852, 851, 850, 849, 848,
1859 847, 846, 845, 844, 843, 842, 841, 840, 839, 838,
1860 837, 836, 835, 834, 833, 832, 831, 830, 827, 826,
1861 825, 824, 823, 822, 821, 820, 819, 818, 817, 816,
1862 815, 812, 811, 810, 809, 808, 807, 804, 803, 802,
1863 800, 799, 793, 792, 791, 790, 789, 788, 787, 786,
1864 783, 782, 781, 780, 779, 778, 777, 776, 775, 774,
1865 773, 772, 771, 770, 769, 768, 767, 766, 765, 762,
1866 761, 760, 759, 758, 757, 756, 755, 754, 753, 752,
1867 751, 750, 749, 748, 747, 746, 745, 744, 743, 742,
1868 741, 740, 739, 738, 737, 736, 735, 734, 733, 732,
1870 731, 730, 728, 727, 726, 725, 724, 723, 722, 719,
1871 718, 717, 716, 715, 714, 713, 712, 711, 710, 709,
1872 708, 707, 706, 705, 704, 703, 702, 701, 700, 697,
1873 696, 695, 694, 693, 692, 691, 690, 689, 688, 687,
1874 686, 682, 681, 672, 671, 670, 669, 668, 667, 666,
1875 665, 664, 661, 660, 659, 658, 657, 656, 655, 654,
1876 652, 651, 647, 646, 645, 644, 642, 641, 640, 639,
1877 638, 637, 636, 633, 632, 631, 630, 629, 628, 627,
1878 626, 625, 624, 623, 622, 621, 620, 619, 618, 617,
1879 616, 615, 614, 613, 610, 609, 608, 607, 606, 605,
1881 604, 603, 600, 599, 598, 595, 594, 593, 592, 588,
1882 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
1883 577, 576, 572, 571, 570, 569, 568, 564, 563, 562,
1884 561, 560, 559, 558, 557, 556, 555, 554, 553, 545,
1885 544, 543, 542, 541, 540, 539, 538, 537, 536, 535,
1886 534, 533, 532, 531, 528, 527, 526, 525, 524, 523,
1887 522, 521, 520, 519, 518, 517, 516, 515, 514, 513,
1888 512, 511, 510, 509, 506, 504, 503, 501, 500, 497,
1889 495, 490, 485, 484, 479, 478, 477, 476, 474, 473,
1890 472, 470, 469, 468, 463, 462, 461, 460, 459, 458,
1892 457, 456, 455, 454, 453, 452, 451, 450, 447, 444,
1893 443, 442, 441, 440, 439, 438, 437, 436, 433, 430,
1894 429, 428, 427, 426, 424, 423, 422, 421, 417, 416,
1895 415, 414, 413, 412, 411, 408, 407, 406, 405, 404,
1896 403, 402, 401, 400, 399, 398, 397, 396, 395, 394,
1897 393, 392, 391, 390, 389, 388, 387, 386, 385, 384,
1898 383, 377, 376, 375, 374, 373, 372, 371, 370, 369,
1899 368, 367, 366, 364, 363, 226, 360, 358, 353, 350,
1900 349, 338, 337, 336, 335, 331, 329, 325, 324, 323,
1901 320, 319, 318, 317, 302, 301, 300, 297, 292, 291,
1903 288, 285, 284, 283, 282, 279, 278, 277, 274, 273,
1904 272, 271, 270, 269, 268, 259, 256, 255, 254, 251,
1905 248, 247, 246, 242, 239, 235, 234, 233, 232, 229,
1906 226, 220, 216, 213, 212, 211, 174, 155, 112, 109,
1907 44, 105, 103, 102, 93, 44, 2458, 11, 2458, 2458,
1908 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1909 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1910 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1911 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1912 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1914 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1915 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1916 2458, 2458, 2458, 2458, 2458
1921 0, 1, 1, 1, 0, 1, 1, 45, 1, 1,
1922 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1923 1, 21, 0, 3, 3, 3, 21, 1, 1, 3,
1924 4, 4, 4, 13, 1, 13, 4, 0, 0, 1,
1925 27, 5, 5, 5, 38, 1, 38, 1, 45, 6,
1926 6, 6, 114, 1, 1, 7, 7, 7, 43, 7,
1927 43, 106, 1, 8, 8, 8, 27, 8, 1, 20,
1928 20, 20, 20, 20, 20, 1, 1, 2, 2, 2,
1929 114, 2, 2, 20, 2, 2, 2, 2, 2, 2,
1930 2, 2, 2, 2, 2, 2, 2, 5, 9, 9,
1932 9, 273, 106, 2, 2, 6, 10, 10, 10, 20,
1933 2, 28, 29, 32, 33, 2, 34, 53, 273, 9,
1934 49, 2, 50, 2, 52, 336, 26, 10, 26, 2,
1935 2, 26, 26, 26, 26, 26, 26, 336, 2, 32,
1936 28, 29, 188, 33, 2, 34, 53, 49, 188, 50,
1937 52, 2, 2, 15, 15, 15, 15, 15, 15, 15,
1938 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1939 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1940 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1941 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,
1946 17, 69, 17, 17, 17, 17, 17, 17, 19, 69,
1947 19, 19, 19, 19, 19, 19, 17, 759, 56, 57,
1948 132, 69, 132, 22, 19, 22, 22, 22, 22, 22,
1949 22, 23, 54, 23, 23, 23, 23, 23, 23, 22,
1950 54, 98, 17, 55, 56, 59, 57, 23, 60, 79,
1951 19, 71, 65, 64, 63, 55, 63, 65, 54, 71,
1952 65, 71, 60, 111, 59, 22, 71, 63, 54, 55,
1954 98, 147, 59, 23, 46, 63, 79, 63, 59, 64,
1955 46, 59, 46, 46, 55, 46, 79, 147, 46, 111,
1956 64, 46, 66, 58, 74, 66, 46, 46, 74, 46,
1957 58, 78, 66, 96, 66, 78, 46, 46, 46, 46,
1958 46, 46, 97, 46, 46, 46, 46, 46, 46, 46,
1959 46, 46, 46, 46, 46, 46, 46, 46, 46, 62,
1960 96, 61, 62, 62, 58, 101, 62, 62, 58, 97,
1961 120, 99, 58, 68, 68, 100, 113, 68, 760, 62,
1962 58, 61, 70, 68, 58, 61, 58, 58, 61, 61,
1963 70, 77, 61, 72, 101, 61, 120, 72, 99, 61,
1965 110, 115, 100, 113, 70, 75, 70, 72, 70, 75,
1966 72, 761, 75, 138, 138, 76, 76, 77, 70, 75,
1967 75, 167, 118, 75, 75, 75, 76, 77, 148, 110,
1968 115, 148, 77, 140, 140, 148, 117, 119, 76, 81,
1969 81, 81, 81, 81, 81, 94, 94, 94, 94, 94,
1970 94, 118, 76, 81, 76, 762, 82, 76, 82, 82,
1971 82, 82, 82, 82, 117, 119, 144, 76, 144, 160,
1972 304, 167, 82, 160, 76, 83, 763, 83, 304, 81,
1973 83, 83, 83, 83, 83, 83, 84, 84, 84, 84,
1974 84, 84, 95, 95, 95, 95, 95, 95, 82, 85,
1976 84, 85, 85, 85, 85, 85, 85, 86, 130, 86,
1977 86, 86, 86, 86, 86, 85, 172, 130, 207, 172,
1978 326, 130, 87, 86, 87, 326, 84, 87, 87, 87,
1979 87, 87, 87, 88, 88, 88, 88, 88, 88, 108,
1980 165, 85, 177, 177, 207, 190, 108, 88, 91, 86,
1981 91, 91, 91, 91, 91, 91, 92, 125, 92, 92,
1982 92, 92, 92, 92, 91, 146, 156, 134, 322, 165,
1983 322, 165, 92, 88, 190, 125, 134, 134, 146, 156,
1984 108, 183, 146, 187, 108, 193, 125, 764, 108, 176,
1985 91, 170, 192, 178, 206, 183, 108, 178, 92, 193,
1987 108, 178, 108, 108, 123, 292, 170, 170, 170, 205,
1988 733, 187, 123, 123, 123, 123, 123, 123, 733, 292,
1989 192, 206, 123, 123, 123, 123, 123, 123, 176, 176,
1990 176, 198, 198, 198, 198, 198, 198, 208, 205, 176,
1991 209, 176, 210, 214, 176, 198, 176, 176, 123, 123,
1992 123, 123, 123, 123, 199, 199, 199, 199, 199, 199,
1993 200, 200, 200, 200, 200, 200, 208, 209, 210, 214,
1994 765, 198, 202, 202, 202, 202, 202, 202, 203, 215,
1995 203, 203, 203, 203, 203, 203, 202, 217, 219, 218,
1996 204, 281, 204, 220, 203, 204, 204, 204, 204, 204,
1998 204, 222, 224, 231, 244, 215, 306, 244, 335, 306,
1999 245, 286, 202, 294, 219, 350, 217, 218, 245, 220,
2000 203, 321, 321, 294, 245, 350, 330, 222, 343, 231,
2001 224, 228, 228, 228, 228, 228, 228, 286, 766, 346,
2002 367, 228, 228, 228, 228, 228, 228, 424, 281, 767,
2003 367, 281, 330, 340, 343, 340, 351, 424, 340, 340,
2004 340, 340, 340, 340, 335, 346, 330, 228, 228, 228,
2005 228, 228, 228, 339, 339, 339, 339, 339, 339, 341,
2006 341, 341, 341, 341, 341, 351, 354, 339, 342, 342,
2007 342, 342, 342, 342, 352, 356, 357, 388, 404, 445,
2009 768, 611, 365, 404, 388, 405, 418, 418, 499, 659,
2010 405, 418, 354, 339, 425, 439, 659, 493, 449, 505,
2011 439, 352, 449, 357, 356, 362, 362, 362, 362, 362,
2012 362, 365, 514, 648, 499, 362, 362, 362, 362, 362,
2013 362, 458, 481, 425, 514, 458, 493, 481, 505, 543,
2014 635, 770, 445, 635, 543, 404, 501, 611, 501, 648,
2015 404, 362, 362, 362, 362, 362, 362, 405, 486, 486,
2016 486, 486, 486, 486, 666, 566, 771, 439, 487, 487,
2017 487, 487, 487, 487, 501, 566, 501, 502, 502, 502,
2018 502, 502, 502, 529, 713, 713, 644, 502, 502, 502,
2020 502, 502, 502, 526, 575, 649, 529, 526, 529, 575,
2021 650, 644, 772, 680, 773, 526, 680, 526, 526, 526,
2022 526, 526, 644, 502, 502, 502, 502, 502, 502, 653,
2023 736, 666, 774, 649, 653, 736, 775, 776, 777, 650,
2024 644, 778, 779, 780, 781, 782, 783, 784, 775, 785,
2025 786, 788, 789, 791, 792, 794, 795, 797, 796, 799,
2026 800, 798, 801, 802, 803, 804, 805, 806, 807, 808,
2027 809, 810, 811, 736, 812, 813, 814, 815, 816, 817,
2028 817, 813, 817, 795, 794, 796, 797, 798, 818, 819,
2029 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
2031 830, 831, 832, 833, 834, 835, 836, 837, 838, 839,
2032 840, 841, 842, 843, 840, 844, 845, 846, 840, 847,
2033 848, 849, 850, 851, 852, 853, 854, 855, 856, 857,
2034 858, 859, 860, 861, 862, 863, 864, 865, 866, 867,
2035 868, 855, 869, 868, 870, 871, 873, 874, 875, 876,
2036 877, 878, 879, 880, 881, 882, 883, 884, 886, 887,
2037 888, 889, 890, 891, 892, 893, 894, 896, 897, 898,
2038 899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
2039 909, 905, 910, 911, 912, 912, 913, 914, 915, 910,
2040 916, 917, 912, 918, 919, 920, 912, 921, 923, 924,
2042 925, 926, 927, 916, 928, 916, 929, 930, 931, 916,
2043 932, 933, 934, 935, 936, 937, 935, 938, 939, 940,
2044 941, 942, 943, 944, 945, 946, 947, 948, 949, 950,
2045 951, 952, 953, 954, 955, 956, 957, 958, 959, 962,
2046 963, 964, 965, 966, 967, 939, 968, 969, 940, 970,
2047 971, 943, 972, 973, 974, 975, 976, 977, 978, 979,
2048 975, 980, 981, 982, 983, 984, 986, 987, 988, 989,
2049 990, 991, 992, 993, 994, 995, 997, 998, 999, 1000,
2050 1001, 1002, 1003, 1004, 1005, 1001, 1006, 1007, 1008, 1009,
2051 1010, 1011, 1012, 1013, 1014, 1017, 1018, 1019, 1020, 1021,
2053 1022, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1032, 1033,
2054 1034, 1035, 1036, 1037, 1034, 1038, 1039, 1040, 1041, 1045,
2055 1046, 1047, 1048, 1041, 1049, 1050, 1051, 1052, 1053, 1055,
2056 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
2057 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
2058 1076, 1077, 1078, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
2059 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096,
2060 1097, 1098, 1101, 1099, 1102, 1103, 1100, 1104, 1105, 1106,
2061 1107, 1108, 1109, 1111, 1112, 1113, 1114, 1115, 1116, 1117,
2062 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1097, 1096, 1125,
2064 1098, 1099, 1100, 1126, 1127, 1128, 1129, 1131, 1132, 1133,
2065 1131, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
2066 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
2067 1153, 1154, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
2068 1164, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174,
2069 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
2070 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195,
2071 1196, 1197, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
2072 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
2073 1218, 1219, 1220, 1221, 1222, 1224, 1225, 1226, 1227, 1228,
2075 1162, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
2076 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1247, 1246,
2077 1248, 1249, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1259,
2078 1260, 1261, 1262, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
2079 1271, 1272, 1273, 1274, 1275, 1244, 1246, 1247, 1248, 1276,
2080 1277, 1278, 1279, 1280, 1281, 1282, 1284, 1285, 1277, 1286,
2081 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
2082 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
2083 1309, 1310, 1311, 1312, 1313, 1309, 1314, 1315, 1316, 1317,
2084 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
2086 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
2087 1338, 1339, 1340, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
2088 1349, 1350, 1351, 1352, 1354, 1355, 1356, 1358, 1359, 1310,
2089 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369,
2090 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1380,
2091 1382, 1383, 1384, 1386, 1387, 1388, 1390, 1389, 1391, 1392,
2092 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1402, 1403,
2093 1404, 1405, 1406, 1407, 1408, 1410, 1411, 1412, 1413, 1414,
2094 1387, 1415, 1386, 1389, 1388, 1390, 1416, 1417, 1418, 1419,
2095 1420, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430,
2097 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440,
2098 1441, 1442, 1444, 1445, 1447, 1449, 1450, 1451, 1452, 1453,
2099 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1464,
2100 1466, 1467, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1477,
2101 1478, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488,
2102 1489, 1490, 1491, 1492, 1493, 1494, 1496, 1497, 1498, 1499,
2103 1500, 1501, 1502, 1503, 1504, 1505, 1508, 1509, 1510, 1511,
2104 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521,
2105 1522, 1523, 1524, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
2106 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
2108 1544, 1545, 1546, 1547, 1548, 1520, 1521, 1549, 1550, 1522,
2109 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
2110 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571,
2111 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1534, 1580,
2112 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590,
2113 1592, 1584, 1593, 1594, 1596, 1597, 1598, 1599, 1600, 1601,
2114 1602, 1603, 1604, 1605, 1606, 1608, 1609, 1610, 1611, 1612,
2115 1614, 1609, 1614, 1615, 1617, 1618, 1619, 1623, 1624, 1625,
2116 1626, 1627, 1628, 1629, 1630, 1631, 1633, 1634, 1636, 1637,
2117 1638, 1639, 1643, 1640, 1637, 1641, 1644, 1645, 1646, 1647,
2119 1648, 1649, 1650, 1652, 1653, 1654, 1655, 1656, 1657, 1658,
2120 1659, 1660, 1661, 1662, 1663, 1664, 1667, 1639, 1640, 1638,
2121 1668, 1641, 1669, 1670, 1671, 1672, 1674, 1675, 1676, 1678,
2122 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
2123 1690, 1691, 1692, 1694, 1696, 1697, 1640, 1699, 1700, 1701,
2124 1702, 1703, 1704, 1705, 1706, 1707, 1709, 1710, 1711, 1712,
2125 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1723, 1725, 1726,
2126 1725, 1727, 1728, 1725, 1729, 1730, 1725, 1731, 1732, 1733,
2127 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1743, 1745,
2128 1746, 1748, 1749, 1750, 1752, 1751, 1753, 1754, 1755, 1757,
2130 1759, 1760, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770,
2131 1772, 1771, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1749,
2132 1750, 1751, 1771, 1752, 1753, 1780, 1781, 1782, 1783, 1784,
2133 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1793,
2134 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803,
2135 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
2136 1814, 1815, 1816, 1817, 1819, 1820, 1821, 1822, 1823, 1768,
2137 1824, 1825, 1826, 1827, 1829, 1830, 1831, 1832, 1833, 1834,
2138 1835, 1836, 1837, 1838, 1839, 1841, 1842, 1843, 1845, 1846,
2139 1847, 1849, 1848, 1850, 1851, 1854, 1855, 1858, 1859, 1860,
2141 1862, 1863, 1794, 1864, 1865, 1866, 1867, 1868, 1869, 1870,
2142 1871, 1872, 1873, 1874, 1875, 1876, 1847, 1878, 1846, 1848,
2143 1849, 1880, 1850, 1881, 1882, 1883, 1884, 1885, 1886, 1887,
2144 1888, 1889, 1891, 1892, 1893, 1894, 1895, 1897, 1898, 1900,
2145 1901, 1902, 1904, 1905, 1906, 1908, 1909, 1910, 1913, 1914,
2146 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924,
2147 1925, 1926, 1927, 1928, 1930, 1931, 1932, 1933, 1934, 1935,
2148 1936, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1946, 1947,
2149 1948, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959,
2150 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1939,
2152 1941, 1969, 1970, 1971, 1973, 1974, 1975, 1977, 1978, 1979,
2153 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1989, 1990, 1991,
2154 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2155 2003, 2004, 2006, 2008, 2009, 2011, 2012, 2006, 2013, 2014,
2156 2016, 2018, 2021, 2019, 2022, 2024, 2025, 2026, 2027, 2028,
2157 2029, 2030, 2031, 2033, 2034, 2035, 2036, 2038, 2039, 2040,
2158 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2018, 2019,
2159 2049, 2050, 2051, 2052, 2053, 2054, 2056, 2057, 2058, 2060,
2160 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070,
2161 2072, 2074, 2075, 2076, 2077, 2078, 2081, 2082, 2083, 2084,
2163 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2095,
2164 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105,
2165 2106, 2107, 2108, 2082, 2083, 2110, 2084, 2111, 2113, 2114,
2166 2115, 2116, 2117, 2118, 2119, 2120, 2122, 2123, 2124, 2125,
2167 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2132,
2168 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144,
2169 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2153, 2154, 2155,
2170 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2137,
2171 2139, 2165, 2166, 2168, 2171, 2173, 2174, 2175, 2176, 2177,
2172 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187,
2174 2188, 2189, 2191, 2192, 2194, 2195, 2196, 2197, 2198, 2199,
2175 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209,
2176 2210, 2212, 2213, 2214, 2215, 2216, 2217, 2189, 2219, 2191,
2177 2221, 2223, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2233,
2178 2235, 2236, 2238, 2237, 2239, 2240, 2241, 2242, 2243, 2244,
2179 2245, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2255, 2256,
2180 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2236, 2237,
2181 2265, 2266, 2267, 2269, 2270, 2271, 2272, 2273, 2274, 2275,
2182 2276, 2277, 2278, 2280, 2281, 2282, 2283, 2284, 2285, 2286,
2183 2287, 2288, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297,
2185 2298, 2299, 2300, 2301, 2274, 2302, 2303, 2304, 2305, 2306,
2186 2307, 2308, 2309, 2311, 2313, 2314, 2315, 2317, 2318, 2319,
2187 2320, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2331, 2332,
2188 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2343, 2344, 2345,
2189 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356,
2190 2357, 2360, 2361, 2362, 2363, 2364, 2365, 2367, 2368, 2369,
2191 2371, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381,
2192 2383, 2384, 2385, 2386, 2387, 2386, 2388, 2389, 2390, 2391,
2193 2392, 2394, 2395, 2397, 2400, 2401, 2402, 2403, 2404, 2405,
2194 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415,
2196 2416, 2417, 2418, 2419, 2420, 2422, 2423, 2425, 2426, 2427,
2197 2430, 2431, 2432, 2433, 2434, 2436, 2437, 2439, 2440, 2442,
2198 2445, 2446, 2448, 2449, 2450, 2451, 2452, 2454, 2459, 2459,
2199 2459, 2460, 2460, 2460, 2461, 2462, 2461, 2463, 2463, 2463,
2200 2464, 2464, 2464, 2465, 758, 2465, 2466, 2466, 2466, 757,
2201 756, 754, 753, 752, 751, 749, 748, 747, 746, 745,
2202 743, 742, 741, 740, 739, 738, 737, 735, 734, 732,
2203 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
2204 721, 720, 719, 718, 717, 716, 715, 714, 712, 711,
2205 710, 709, 708, 707, 705, 704, 703, 702, 701, 700,
2207 699, 697, 696, 695, 694, 693, 692, 691, 690, 689,
2208 688, 687, 686, 685, 684, 683, 682, 681, 679, 678,
2209 677, 676, 675, 674, 673, 672, 671, 670, 669, 668,
2210 667, 665, 664, 663, 662, 661, 660, 658, 656, 655,
2211 652, 651, 643, 642, 641, 640, 639, 638, 637, 636,
2212 633, 632, 629, 628, 626, 625, 624, 623, 622, 621,
2213 620, 619, 618, 617, 616, 615, 614, 613, 612, 610,
2214 609, 608, 607, 606, 605, 604, 603, 602, 601, 600,
2215 599, 598, 597, 596, 595, 594, 593, 591, 590, 588,
2216 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
2218 577, 576, 574, 573, 571, 570, 569, 568, 567, 565,
2219 564, 563, 562, 561, 560, 559, 558, 557, 556, 555,
2220 554, 553, 552, 551, 549, 548, 547, 545, 544, 542,
2221 541, 540, 539, 538, 537, 536, 535, 534, 532, 531,
2222 530, 528, 527, 524, 523, 522, 521, 520, 519, 517,
2223 516, 515, 513, 512, 511, 510, 509, 508, 507, 506,
2224 504, 503, 498, 496, 495, 494, 492, 491, 490, 485,
2225 484, 483, 482, 480, 479, 478, 476, 475, 474, 473,
2226 472, 471, 470, 469, 468, 467, 466, 465, 464, 463,
2227 462, 461, 460, 459, 457, 456, 455, 454, 453, 452,
2229 451, 450, 448, 447, 446, 444, 442, 441, 440, 438,
2230 437, 436, 435, 434, 433, 432, 431, 430, 429, 428,
2231 427, 426, 423, 422, 421, 420, 419, 417, 416, 415,
2232 414, 413, 412, 411, 410, 409, 408, 407, 406, 403,
2233 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
2234 392, 391, 390, 389, 387, 386, 385, 384, 383, 382,
2235 381, 380, 379, 378, 377, 376, 375, 374, 373, 372,
2236 371, 370, 369, 368, 366, 364, 363, 361, 359, 355,
2237 353, 349, 338, 337, 334, 333, 332, 331, 329, 328,
2238 327, 325, 324, 323, 320, 319, 318, 317, 316, 315,
2240 314, 313, 312, 311, 310, 309, 308, 307, 305, 303,
2241 302, 301, 300, 299, 298, 297, 296, 295, 293, 291,
2242 290, 289, 288, 287, 285, 284, 283, 282, 280, 279,
2243 278, 277, 276, 275, 274, 272, 271, 269, 268, 267,
2244 266, 265, 264, 263, 262, 261, 260, 259, 258, 257,
2245 256, 255, 254, 253, 252, 251, 250, 249, 248, 247,
2246 246, 243, 242, 241, 240, 239, 238, 237, 236, 235,
2247 234, 233, 232, 230, 229, 225, 223, 221, 216, 213,
2248 211, 197, 196, 195, 194, 191, 189, 186, 185, 184,
2249 182, 181, 180, 179, 175, 174, 173, 171, 169, 168,
2251 166, 164, 163, 162, 161, 159, 158, 157, 155, 154,
2252 153, 152, 151, 150, 149, 145, 143, 142, 141, 139,
2253 137, 136, 135, 133, 131, 129, 128, 127, 126, 124,
2254 121, 116, 112, 109, 104, 103, 73, 67, 51, 48,
2255 44, 42, 40, 39, 25, 14, 11, 2458, 2458, 2458,
2256 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2257 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2258 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2259 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2260 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2262 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2263 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2264 2458, 2458, 2458, 2458, 2458
2268static char *yy_last_accepting_cpos;
2275 147, 149, 151, 156, 157, 162, 163, 164, 176, 178,
2276 183, 189, 198, 207, 216, 225, 234, 243, 252, 262,
2277 271, 280, 289, 298, 307, 316, 325, 334, 343, 352,
2278 361, 370, 379, 388, 397, 410, 422, 434, 445, 456,
2279 467, 478, 489, 500, 511, 522, 533, 544, 553, 562,
2280 571, 582, 593, 602, 614, 626, 638, 649, 658, 667,
2281 676, 685, 694, 705, 717, 729, 741, 752, 763, 772,
2282 781, 790, 801, 810, 819, 831, 843, 855, 867, 879,
2283 891, 903, 914, 926, 935, 944, 953, 962, 974, 986,
2284 998, 1010, 1020, 1031, 1040, 1050, 1064, 1081, 1090, 1099,
2286 1108, 1117, 1126, 1135, 1160, 1185, 1194, 1204, 1213, 1224,
2287 1235, 1246, 1256, 1265, 1276, 1287, 1298, 1309, 1320, 1331,
2288 1340, 1349, 1358, 1367, 1376, 1385, 1394, 1403, 1412, 1421,
2289 1435, 1446, 1457, 1469, 1478, 1487, 1496, 1505, 1515, 1525,
2290 1535, 1545, 1555, 1565, 1574, 1584, 1593, 1602, 1611, 1620,
2291 1630, 1639, 1648, 1657, 1666, 1675, 1684, 1693, 1702, 1711,
2292 1720, 1729, 1738, 1747, 1756, 1765, 1774, 1783, 1792, 1801,
2293 1810, 1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891,
2294 1900, 1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981,
2295 1990, 1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071,
2297 2083, 2095, 2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175,
2298 2185, 2194, 2203, 2212, 2221, 2232, 2243, 2256, 2269, 2282,
2299 2291, 2300, 2309, 2318, 2327, 2336, 2345, 2354, 2366, 2375,
2300 2476, 2492, 2541, 2549, 2564, 2565, 2566, 2567, 2568, 2569,
2301 2571, 2590, 2607, 2613, 2628, 2641, 2646, 2650, 2652, 2654,
2308#define REJECT reject_used_but_not_detected
2309#define yymore() yymore_used_but_not_detected
2310#define YY_MORE_ADJ 0
2311#define YY_RESTORE_YY_MORE_OFFSET
2313#line 1 "dhcp4_lexer.ll"
2319#line 8 "dhcp4_lexer.ll"
2322#ifndef __clang_analyzer__
2332#include <boost/lexical_cast.hpp>
2346bool start_token_flag =
false;
2349unsigned int comment_start_line = 0;
2356#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2357#line 2357 "dhcp4_lexer.cc"
2372#define YY_NO_INPUT 1
2378#line 96 "dhcp4_lexer.ll"
2382#define YY_USER_ACTION driver.loc_.columns(yyleng);
2383#line 2383 "dhcp4_lexer.cc"
2384#line 2384 "dhcp4_lexer.cc"
2389#define DIR_INCLUDE 3
2392#ifndef YY_NO_UNISTD_H
2404#ifndef YY_EXTRA_TYPE
2405#define YY_EXTRA_TYPE void *
2412static int yy_init_globals (
void );
2455#ifndef YY_SKIP_YYWRAP
2457extern "C" int yywrap (
void );
2459extern int yywrap (
void );
2472static void yy_flex_strncpy (
char *,
const char *,
int );
2475#ifdef YY_NEED_STRLEN
2476static int yy_flex_strlen (
const char * );
2483static int yyinput (
void );
2485static int input (
void );
2497#ifndef YY_READ_BUF_SIZE
2500#define YY_READ_BUF_SIZE 16384
2502#define YY_READ_BUF_SIZE 8192
2512#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2522#define YY_INPUT(buf,result,max_size) \
2524 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2528 for ( n = 0; n < max_size && \
2529 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2530 buf[n] = (char) c; \
2532 buf[n++] = (char) c; \
2533 if ( c == EOF && ferror( yyin ) ) \
2534 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2540 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2542 if( errno != EINTR) \
2544 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2562#define yyterminate() return YY_NULL
2566#ifndef YY_START_STACK_INCR
2567#define YY_START_STACK_INCR 25
2571#ifndef YY_FATAL_ERROR
2573#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2594#define YY_DECL_IS_OURS 1
2597extern int yylex (
void);
2599#define YY_DECL int yylex (void)
2608#ifndef YY_USER_ACTION
2609#define YY_USER_ACTION
2614#define YY_BREAK break;
2618#define YY_RULE_SETUP \
2666#line 102 "dhcp4_lexer.ll"
2670#line 106 "dhcp4_lexer.ll"
2678 if (start_token_flag) {
2679 start_token_flag =
false;
2680 switch (start_token_value) {
2712#line 2712 "dhcp4_lexer.cc"
2717 yy_cp = (yy_c_buf_p);
2720 *
yy_cp = (yy_hold_char);
2728 yy_current_state = (yy_start);
2733 if ( yy_accept[yy_current_state] )
2735 (yy_last_accepting_state) = yy_current_state;
2736 (yy_last_accepting_cpos) =
yy_cp;
2738 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2740 yy_current_state = (int) yy_def[yy_current_state];
2741 if ( yy_current_state >= 2459 )
2742 yy_c = yy_meta[yy_c];
2744 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2747 while ( yy_current_state != 2458 );
2748 yy_cp = (yy_last_accepting_cpos);
2749 yy_current_state = (yy_last_accepting_state);
2753 yy_act = yy_accept[yy_current_state];
2765 fprintf( stderr,
"--scanner backing up\n" );
2767 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2769 else if (
yy_act == 252 )
2770 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2772 else if (
yy_act == 253 )
2773 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2775 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2783 *
yy_cp = (yy_hold_char);
2784 yy_cp = (yy_last_accepting_cpos);
2785 yy_current_state = (yy_last_accepting_state);
2786 goto yy_find_action;
2790#line 147 "dhcp4_lexer.ll"
2795#line 149 "dhcp4_lexer.ll"
2800#line 151 "dhcp4_lexer.ll"
2803 comment_start_line = driver.loc_.end.line;;
2808#line 156 "dhcp4_lexer.ll"
2813#line 157 "dhcp4_lexer.ll"
2817#line 158 "dhcp4_lexer.ll"
2824#line 162 "dhcp4_lexer.ll"
2829#line 163 "dhcp4_lexer.ll"
2834#line 164 "dhcp4_lexer.ll"
2839 std::string tmp(
yytext+1);
2840 tmp.resize(tmp.size() - 1);
2842 driver.includeFile(tmp);
2848#line 173 "dhcp4_lexer.ll"
2855#line 176 "dhcp4_lexer.ll"
2860#line 178 "dhcp4_lexer.ll"
2869#line 183 "dhcp4_lexer.ll"
2872 driver.loc_.lines(
yyleng);
2878#line 189 "dhcp4_lexer.ll"
2880 switch(driver.ctx_) {
2890#line 198 "dhcp4_lexer.ll"
2892 switch(driver.ctx_) {
2902#line 207 "dhcp4_lexer.ll"
2904 switch(driver.ctx_) {
2914#line 216 "dhcp4_lexer.ll"
2916 switch(driver.ctx_) {
2926#line 225 "dhcp4_lexer.ll"
2928 switch(driver.ctx_) {
2938#line 234 "dhcp4_lexer.ll"
2940 switch(driver.ctx_) {
2950#line 243 "dhcp4_lexer.ll"
2952 switch(driver.ctx_) {
2962#line 252 "dhcp4_lexer.ll"
2964 switch(driver.ctx_) {
2975#line 262 "dhcp4_lexer.ll"
2977 switch(driver.ctx_) {
2987#line 271 "dhcp4_lexer.ll"
2989 switch(driver.ctx_) {
2999#line 280 "dhcp4_lexer.ll"
3001 switch(driver.ctx_) {
3011#line 289 "dhcp4_lexer.ll"
3013 switch(driver.ctx_) {
3023#line 298 "dhcp4_lexer.ll"
3025 switch(driver.ctx_) {
3035#line 307 "dhcp4_lexer.ll"
3037 switch(driver.ctx_) {
3047#line 316 "dhcp4_lexer.ll"
3049 switch(driver.ctx_) {
3059#line 325 "dhcp4_lexer.ll"
3061 switch(driver.ctx_) {
3071#line 334 "dhcp4_lexer.ll"
3073 switch(driver.ctx_) {
3083#line 343 "dhcp4_lexer.ll"
3085 switch(driver.ctx_) {
3095#line 352 "dhcp4_lexer.ll"
3097 switch(driver.ctx_) {
3107#line 361 "dhcp4_lexer.ll"
3109 switch(driver.ctx_) {
3119#line 370 "dhcp4_lexer.ll"
3121 switch(driver.ctx_) {
3131#line 379 "dhcp4_lexer.ll"
3133 switch(driver.ctx_) {
3143#line 388 "dhcp4_lexer.ll"
3145 switch(driver.ctx_) {
3155#line 397 "dhcp4_lexer.ll"
3157 switch(driver.ctx_) {
3171#line 410 "dhcp4_lexer.ll"
3173 switch(driver.ctx_) {
3186#line 422 "dhcp4_lexer.ll"
3188 switch(driver.ctx_) {
3201#line 434 "dhcp4_lexer.ll"
3203 switch(driver.ctx_) {
3215#line 445 "dhcp4_lexer.ll"
3217 switch(driver.ctx_) {
3229#line 456 "dhcp4_lexer.ll"
3231 switch(driver.ctx_) {
3243#line 467 "dhcp4_lexer.ll"
3245 switch(driver.ctx_) {
3257#line 478 "dhcp4_lexer.ll"
3259 switch(driver.ctx_) {
3271#line 489 "dhcp4_lexer.ll"
3273 switch(driver.ctx_) {
3285#line 500 "dhcp4_lexer.ll"
3287 switch(driver.ctx_) {
3299#line 511 "dhcp4_lexer.ll"
3301 switch(driver.ctx_) {
3313#line 522 "dhcp4_lexer.ll"
3315 switch(driver.ctx_) {
3327#line 533 "dhcp4_lexer.ll"
3329 switch(driver.ctx_) {
3341#line 544 "dhcp4_lexer.ll"
3343 switch(driver.ctx_) {
3353#line 553 "dhcp4_lexer.ll"
3355 switch(driver.ctx_) {
3365#line 562 "dhcp4_lexer.ll"
3367 switch(driver.ctx_) {
3377#line 571 "dhcp4_lexer.ll"
3379 switch(driver.ctx_) {
3391#line 582 "dhcp4_lexer.ll"
3393 switch(driver.ctx_) {
3405#line 593 "dhcp4_lexer.ll"
3407 switch(driver.ctx_) {
3417#line 602 "dhcp4_lexer.ll"
3419 switch(driver.ctx_) {
3432#line 614 "dhcp4_lexer.ll"
3434 switch(driver.ctx_) {
3447#line 626 "dhcp4_lexer.ll"
3449 switch(driver.ctx_) {
3462#line 638 "dhcp4_lexer.ll"
3464 switch(driver.ctx_) {
3476#line 649 "dhcp4_lexer.ll"
3478 switch(driver.ctx_) {
3488#line 658 "dhcp4_lexer.ll"
3490 switch(driver.ctx_) {
3500#line 667 "dhcp4_lexer.ll"
3502 switch(driver.ctx_) {
3512#line 676 "dhcp4_lexer.ll"
3514 switch(driver.ctx_) {
3524#line 685 "dhcp4_lexer.ll"
3526 switch(driver.ctx_) {
3536#line 694 "dhcp4_lexer.ll"
3538 switch(driver.ctx_) {
3550#line 705 "dhcp4_lexer.ll"
3552 switch(driver.ctx_) {
3565#line 717 "dhcp4_lexer.ll"
3567 switch(driver.ctx_) {
3580#line 729 "dhcp4_lexer.ll"
3582 switch(driver.ctx_) {
3595#line 741 "dhcp4_lexer.ll"
3597 switch(driver.ctx_) {
3609#line 752 "dhcp4_lexer.ll"
3611 switch(driver.ctx_) {
3623#line 763 "dhcp4_lexer.ll"
3625 switch(driver.ctx_) {
3635#line 772 "dhcp4_lexer.ll"
3637 switch(driver.ctx_) {
3647#line 781 "dhcp4_lexer.ll"
3649 switch(driver.ctx_) {
3659#line 790 "dhcp4_lexer.ll"
3661 switch(driver.ctx_) {
3673#line 801 "dhcp4_lexer.ll"
3675 switch(driver.ctx_) {
3685#line 810 "dhcp4_lexer.ll"
3687 switch(driver.ctx_) {
3697#line 819 "dhcp4_lexer.ll"
3699 switch(driver.ctx_) {
3712#line 831 "dhcp4_lexer.ll"
3714 switch(driver.ctx_) {
3727#line 843 "dhcp4_lexer.ll"
3729 switch(driver.ctx_) {
3742#line 855 "dhcp4_lexer.ll"
3744 switch(driver.ctx_) {
3757#line 867 "dhcp4_lexer.ll"
3759 switch(driver.ctx_) {
3772#line 879 "dhcp4_lexer.ll"
3774 switch(driver.ctx_) {
3787#line 891 "dhcp4_lexer.ll"
3789 switch(driver.ctx_) {
3802#line 903 "dhcp4_lexer.ll"
3804 switch(driver.ctx_) {
3816#line 914 "dhcp4_lexer.ll"
3818 switch(driver.ctx_) {
3831#line 926 "dhcp4_lexer.ll"
3836 std::string tmp(
yytext+1);
3837 tmp.resize(tmp.size() - 1);
3843#line 935 "dhcp4_lexer.ll"
3848 std::string tmp(
yytext+1);
3849 tmp.resize(tmp.size() - 1);
3855#line 944 "dhcp4_lexer.ll"
3860 std::string tmp(
yytext+1);
3861 tmp.resize(tmp.size() - 1);
3867#line 953 "dhcp4_lexer.ll"
3872 std::string tmp(
yytext+1);
3873 tmp.resize(tmp.size() - 1);
3879#line 962 "dhcp4_lexer.ll"
3881 switch(driver.ctx_) {
3894#line 974 "dhcp4_lexer.ll"
3896 switch(driver.ctx_) {
3909#line 986 "dhcp4_lexer.ll"
3911 switch(driver.ctx_) {
3924#line 998 "dhcp4_lexer.ll"
3926 switch(driver.ctx_) {
3939#line 1010 "dhcp4_lexer.ll"
3941 switch(driver.ctx_) {
3952#line 1020 "dhcp4_lexer.ll"
3954 switch(driver.ctx_) {
3966#line 1031 "dhcp4_lexer.ll"
3968 switch (driver.ctx_) {
3978#line 1040 "dhcp4_lexer.ll"
3980 switch(driver.ctx_) {
3991#line 1050 "dhcp4_lexer.ll"
3993 switch(driver.ctx_) {
4008#line 1064 "dhcp4_lexer.ll"
4010 switch(driver.ctx_) {
4028#line 1081 "dhcp4_lexer.ll"
4030 switch(driver.ctx_) {
4040#line 1090 "dhcp4_lexer.ll"
4042 switch(driver.ctx_) {
4052#line 1099 "dhcp4_lexer.ll"
4054 switch(driver.ctx_) {
4064#line 1108 "dhcp4_lexer.ll"
4066 switch(driver.ctx_) {
4076#line 1117 "dhcp4_lexer.ll"
4078 switch(driver.ctx_) {
4088#line 1126 "dhcp4_lexer.ll"
4090 switch(driver.ctx_) {
4100#line 1135 "dhcp4_lexer.ll"
4102 switch(driver.ctx_) {
4128#line 1160 "dhcp4_lexer.ll"
4130 switch(driver.ctx_) {
4156#line 1185 "dhcp4_lexer.ll"
4158 switch(driver.ctx_) {
4168#line 1194 "dhcp4_lexer.ll"
4170 switch(driver.ctx_) {
4181#line 1204 "dhcp4_lexer.ll"
4183 switch(driver.ctx_) {
4193#line 1213 "dhcp4_lexer.ll"
4195 switch(driver.ctx_) {
4207#line 1224 "dhcp4_lexer.ll"
4209 switch(driver.ctx_) {
4221#line 1235 "dhcp4_lexer.ll"
4223 switch(driver.ctx_) {
4235#line 1246 "dhcp4_lexer.ll"
4237 switch(driver.ctx_) {
4248#line 1256 "dhcp4_lexer.ll"
4250 switch(driver.ctx_) {
4260#line 1265 "dhcp4_lexer.ll"
4262 switch(driver.ctx_) {
4274#line 1276 "dhcp4_lexer.ll"
4276 switch(driver.ctx_) {
4288#line 1287 "dhcp4_lexer.ll"
4290 switch(driver.ctx_) {
4302#line 1298 "dhcp4_lexer.ll"
4304 switch(driver.ctx_) {
4316#line 1309 "dhcp4_lexer.ll"
4318 switch(driver.ctx_) {
4330#line 1320 "dhcp4_lexer.ll"
4332 switch(driver.ctx_) {
4344#line 1331 "dhcp4_lexer.ll"
4346 switch(driver.ctx_) {
4356#line 1340 "dhcp4_lexer.ll"
4358 switch(driver.ctx_) {
4368#line 1349 "dhcp4_lexer.ll"
4370 switch(driver.ctx_) {
4380#line 1358 "dhcp4_lexer.ll"
4382 switch(driver.ctx_) {
4392#line 1367 "dhcp4_lexer.ll"
4394 switch(driver.ctx_) {
4404#line 1376 "dhcp4_lexer.ll"
4406 switch(driver.ctx_) {
4416#line 1385 "dhcp4_lexer.ll"
4418 switch(driver.ctx_) {
4428#line 1394 "dhcp4_lexer.ll"
4430 switch(driver.ctx_) {
4440#line 1403 "dhcp4_lexer.ll"
4442 switch(driver.ctx_) {
4452#line 1412 "dhcp4_lexer.ll"
4454 switch(driver.ctx_) {
4464#line 1421 "dhcp4_lexer.ll"
4466 switch(driver.ctx_) {
4481#line 1435 "dhcp4_lexer.ll"
4483 switch(driver.ctx_) {
4495#line 1446 "dhcp4_lexer.ll"
4497 switch(driver.ctx_) {
4509#line 1457 "dhcp4_lexer.ll"
4511 switch(driver.ctx_) {
4524#line 1469 "dhcp4_lexer.ll"
4526 switch(driver.ctx_) {
4536#line 1478 "dhcp4_lexer.ll"
4538 switch(driver.ctx_) {
4548#line 1487 "dhcp4_lexer.ll"
4550 switch(driver.ctx_) {
4560#line 1496 "dhcp4_lexer.ll"
4562 switch(driver.ctx_) {
4572#line 1505 "dhcp4_lexer.ll"
4574 switch(driver.ctx_) {
4585#line 1515 "dhcp4_lexer.ll"
4587 switch(driver.ctx_) {
4598#line 1525 "dhcp4_lexer.ll"
4600 switch(driver.ctx_) {
4611#line 1535 "dhcp4_lexer.ll"
4613 switch(driver.ctx_) {
4624#line 1545 "dhcp4_lexer.ll"
4626 switch(driver.ctx_) {
4637#line 1555 "dhcp4_lexer.ll"
4639 switch(driver.ctx_) {
4650#line 1565 "dhcp4_lexer.ll"
4652 switch(driver.ctx_) {
4662#line 1574 "dhcp4_lexer.ll"
4664 switch(driver.ctx_) {
4675#line 1584 "dhcp4_lexer.ll"
4677 switch(driver.ctx_) {
4687#line 1593 "dhcp4_lexer.ll"
4689 switch(driver.ctx_) {
4699#line 1602 "dhcp4_lexer.ll"
4701 switch(driver.ctx_) {
4711#line 1611 "dhcp4_lexer.ll"
4713 switch(driver.ctx_) {
4723#line 1620 "dhcp4_lexer.ll"
4725 switch(driver.ctx_) {
4736#line 1630 "dhcp4_lexer.ll"
4738 switch(driver.ctx_) {
4748#line 1639 "dhcp4_lexer.ll"
4750 switch(driver.ctx_) {
4760#line 1648 "dhcp4_lexer.ll"
4762 switch(driver.ctx_) {
4772#line 1657 "dhcp4_lexer.ll"
4774 switch(driver.ctx_) {
4784#line 1666 "dhcp4_lexer.ll"
4786 switch(driver.ctx_) {
4796#line 1675 "dhcp4_lexer.ll"
4798 switch(driver.ctx_) {
4808#line 1684 "dhcp4_lexer.ll"
4810 switch(driver.ctx_) {
4820#line 1693 "dhcp4_lexer.ll"
4822 switch(driver.ctx_) {
4832#line 1702 "dhcp4_lexer.ll"
4834 switch(driver.ctx_) {
4844#line 1711 "dhcp4_lexer.ll"
4846 switch(driver.ctx_) {
4856#line 1720 "dhcp4_lexer.ll"
4858 switch(driver.ctx_) {
4868#line 1729 "dhcp4_lexer.ll"
4870 switch(driver.ctx_) {
4880#line 1738 "dhcp4_lexer.ll"
4882 switch(driver.ctx_) {
4892#line 1747 "dhcp4_lexer.ll"
4894 switch(driver.ctx_) {
4904#line 1756 "dhcp4_lexer.ll"
4906 switch(driver.ctx_) {
4916#line 1765 "dhcp4_lexer.ll"
4918 switch(driver.ctx_) {
4928#line 1774 "dhcp4_lexer.ll"
4930 switch(driver.ctx_) {
4940#line 1783 "dhcp4_lexer.ll"
4942 switch(driver.ctx_) {
4952#line 1792 "dhcp4_lexer.ll"
4954 switch(driver.ctx_) {
4964#line 1801 "dhcp4_lexer.ll"
4966 switch(driver.ctx_) {
4976#line 1810 "dhcp4_lexer.ll"
4978 switch(driver.ctx_) {
4988#line 1819 "dhcp4_lexer.ll"
4990 switch(driver.ctx_) {
5000#line 1828 "dhcp4_lexer.ll"
5002 switch(driver.ctx_) {
5012#line 1837 "dhcp4_lexer.ll"
5014 switch(driver.ctx_) {
5024#line 1846 "dhcp4_lexer.ll"
5026 switch(driver.ctx_) {
5036#line 1855 "dhcp4_lexer.ll"
5038 switch(driver.ctx_) {
5048#line 1864 "dhcp4_lexer.ll"
5050 switch(driver.ctx_) {
5060#line 1873 "dhcp4_lexer.ll"
5062 switch(driver.ctx_) {
5072#line 1882 "dhcp4_lexer.ll"
5074 switch(driver.ctx_) {
5084#line 1891 "dhcp4_lexer.ll"
5086 switch(driver.ctx_) {
5096#line 1900 "dhcp4_lexer.ll"
5098 switch(driver.ctx_) {
5108#line 1909 "dhcp4_lexer.ll"
5110 switch(driver.ctx_) {
5120#line 1918 "dhcp4_lexer.ll"
5122 switch(driver.ctx_) {
5132#line 1927 "dhcp4_lexer.ll"
5134 switch(driver.ctx_) {
5144#line 1936 "dhcp4_lexer.ll"
5146 switch(driver.ctx_) {
5156#line 1945 "dhcp4_lexer.ll"
5158 switch(driver.ctx_) {
5168#line 1954 "dhcp4_lexer.ll"
5170 switch(driver.ctx_) {
5180#line 1963 "dhcp4_lexer.ll"
5182 switch(driver.ctx_) {
5192#line 1972 "dhcp4_lexer.ll"
5194 switch(driver.ctx_) {
5204#line 1981 "dhcp4_lexer.ll"
5206 switch(driver.ctx_) {
5216#line 1990 "dhcp4_lexer.ll"
5218 switch(driver.ctx_) {
5228#line 1999 "dhcp4_lexer.ll"
5230 switch(driver.ctx_) {
5240#line 2008 "dhcp4_lexer.ll"
5242 switch(driver.ctx_) {
5252#line 2017 "dhcp4_lexer.ll"
5254 switch(driver.ctx_) {
5264#line 2026 "dhcp4_lexer.ll"
5266 switch(driver.ctx_) {
5276#line 2035 "dhcp4_lexer.ll"
5278 switch(driver.ctx_) {
5288#line 2044 "dhcp4_lexer.ll"
5290 switch(driver.ctx_) {
5300#line 2053 "dhcp4_lexer.ll"
5302 switch(driver.ctx_) {
5312#line 2062 "dhcp4_lexer.ll"
5314 switch(driver.ctx_) {
5324#line 2071 "dhcp4_lexer.ll"
5326 switch(driver.ctx_) {
5339#line 2083 "dhcp4_lexer.ll"
5341 switch(driver.ctx_) {
5354#line 2095 "dhcp4_lexer.ll"
5360 std::string tmp(
yytext+1);
5361 tmp.resize(tmp.size() - 1);
5367#line 2105 "dhcp4_lexer.ll"
5373 std::string tmp(
yytext+1);
5374 tmp.resize(tmp.size() - 1);
5380#line 2115 "dhcp4_lexer.ll"
5386 std::string tmp(
yytext+1);
5387 tmp.resize(tmp.size() - 1);
5393#line 2125 "dhcp4_lexer.ll"
5399 std::string tmp(
yytext+1);
5400 tmp.resize(tmp.size() - 1);
5406#line 2135 "dhcp4_lexer.ll"
5412 std::string tmp(
yytext+1);
5413 tmp.resize(tmp.size() - 1);
5419#line 2145 "dhcp4_lexer.ll"
5425 std::string tmp(
yytext+1);
5426 tmp.resize(tmp.size() - 1);
5432#line 2155 "dhcp4_lexer.ll"
5438 std::string tmp(
yytext+1);
5439 tmp.resize(tmp.size() - 1);
5445#line 2165 "dhcp4_lexer.ll"
5451 std::string tmp(
yytext+1);
5452 tmp.resize(tmp.size() - 1);
5458#line 2175 "dhcp4_lexer.ll"
5464 std::string tmp(
yytext+1);
5465 tmp.resize(tmp.size() - 1);
5471#line 2185 "dhcp4_lexer.ll"
5473 switch(driver.ctx_) {
5483#line 2194 "dhcp4_lexer.ll"
5485 switch(driver.ctx_) {
5495#line 2203 "dhcp4_lexer.ll"
5497 switch(driver.ctx_) {
5507#line 2212 "dhcp4_lexer.ll"
5509 switch(driver.ctx_) {
5519#line 2221 "dhcp4_lexer.ll"
5521 switch(driver.ctx_) {
5533#line 2232 "dhcp4_lexer.ll"
5535 switch(driver.ctx_) {
5547#line 2243 "dhcp4_lexer.ll"
5549 switch(driver.ctx_) {
5563#line 2256 "dhcp4_lexer.ll"
5565 switch(driver.ctx_) {
5579#line 2269 "dhcp4_lexer.ll"
5581 switch(driver.ctx_) {
5595#line 2282 "dhcp4_lexer.ll"
5597 switch(driver.ctx_) {
5607#line 2291 "dhcp4_lexer.ll"
5609 switch(driver.ctx_) {
5619#line 2300 "dhcp4_lexer.ll"
5621 switch(driver.ctx_) {
5631#line 2309 "dhcp4_lexer.ll"
5633 switch(driver.ctx_) {
5643#line 2318 "dhcp4_lexer.ll"
5645 switch(driver.ctx_) {
5655#line 2327 "dhcp4_lexer.ll"
5657 switch(driver.ctx_) {
5667#line 2336 "dhcp4_lexer.ll"
5669 switch(driver.ctx_) {
5679#line 2345 "dhcp4_lexer.ll"
5681 switch(driver.ctx_) {
5691#line 2354 "dhcp4_lexer.ll"
5693 switch(driver.ctx_) {
5706#line 2366 "dhcp4_lexer.ll"
5708 switch(driver.ctx_) {
5718#line 2375 "dhcp4_lexer.ll"
5723 std::string raw(
yytext+1);
5724 size_t len = raw.size() - 1;
5726 std::string decoded;
5727 decoded.reserve(len);
5728 for (
size_t pos = 0; pos < len; ++pos) {
5734 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5740 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5747 decoded.push_back(c);
5750 decoded.push_back(
'\b');
5753 decoded.push_back(
'\f');
5756 decoded.push_back(
'\n');
5759 decoded.push_back(
'\r');
5762 decoded.push_back(
'\t');
5767 if (pos + 4 > len) {
5769 driver.error(driver.loc_,
5770 "Overflow unicode escape in \"" + raw +
"\"");
5772 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5773 driver.error(driver.loc_,
5774 "Unsupported unicode escape in \"" + raw +
"\"",
5779 if ((c >=
'0') && (c <=
'9')) {
5781 }
else if ((c >=
'A') && (c <=
'F')) {
5782 b = (c -
'A' + 10) << 4;
5783 }
else if ((c >=
'a') && (c <=
'f')) {
5784 b = (c -
'a' + 10) << 4;
5787 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5791 if ((c >=
'0') && (c <=
'9')) {
5793 }
else if ((c >=
'A') && (c <=
'F')) {
5795 }
else if ((c >=
'a') && (c <=
'f')) {
5799 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5801 decoded.push_back(
static_cast<char>(b & 0xff));
5805 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5809 if ((c >= 0) && (c < 0x20)) {
5811 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5813 decoded.push_back(c);
5823#line 2476 "dhcp4_lexer.ll"
5826 std::string raw(
yytext+1);
5827 size_t len = raw.size() - 1;
5829 for (; pos < len; ++pos) {
5831 if ((c >= 0) && (c < 0x20)) {
5835 driver.error(driver.loc_,
5836 "Invalid control in " + std::string(
yytext),
5843#line 2492 "dhcp4_lexer.ll"
5846 std::string raw(
yytext+1);
5847 size_t len = raw.size() - 1;
5850 for (; pos < len; ++pos) {
5869 if ((pos + 4 > len) ||
5870 !std::isxdigit(raw[pos + 1]) ||
5871 !std::isxdigit(raw[pos + 2]) ||
5872 !std::isxdigit(raw[pos + 3]) ||
5873 !std::isxdigit(raw[pos + 4])) {
5884 std::string trailer =
"";
5885 if (raw[len - 1] ==
'\\') {
5888 driver.error(driver.loc_,
5889 "Bad escape in " + std::string(
yytext) + trailer,
5895#line 2541 "dhcp4_lexer.ll"
5898 std::string raw(
yytext+1);
5899 driver.error(driver.loc_,
5900 "Overflow escape in " + std::string(
yytext),
5906#line 2549 "dhcp4_lexer.ll"
5909 std::string raw(
yytext+1);
5910 size_t pos = raw.size() - 1;
5911 for (; pos > 0; --pos) {
5917 driver.error(driver.loc_,
5918 "Overflow unicode escape in " + std::string(
yytext),
5924#line 2564 "dhcp4_lexer.ll"
5929#line 2565 "dhcp4_lexer.ll"
5934#line 2566 "dhcp4_lexer.ll"
5939#line 2567 "dhcp4_lexer.ll"
5944#line 2568 "dhcp4_lexer.ll"
5949#line 2569 "dhcp4_lexer.ll"
5954#line 2571 "dhcp4_lexer.ll"
5958 int64_t integer = 0;
5964 integer = boost::lexical_cast<int64_t>(tmp);
5965 }
catch (
const boost::bad_lexical_cast &) {
5966 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5969 driver.warning(driver.loc_,
"leading zeros in integers will be deprecated.");
5976#line 2590 "dhcp4_lexer.ll"
5980 int64_t integer = 0;
5986 integer = boost::lexical_cast<int64_t>(tmp);
5987 }
catch (
const boost::bad_lexical_cast &) {
5988 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5996#line 2607 "dhcp4_lexer.ll"
6000 driver.error(driver.loc_,
"Deprecated plus sign in " + tmp +
" number.");
6005#line 2613 "dhcp4_lexer.ll"
6011 fp = boost::lexical_cast<double>(tmp);
6012 }
catch (
const boost::bad_lexical_cast &) {
6013 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
6016 driver.warning(driver.loc_,
"leading zeros in numbers will be deprecated.");
6023#line 2628 "dhcp4_lexer.ll"
6029 fp = boost::lexical_cast<double>(tmp);
6030 }
catch (
const boost::bad_lexical_cast &) {
6031 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
6039#line 2641 "dhcp4_lexer.ll"
6047#line 2646 "dhcp4_lexer.ll"
6054#line 2650 "dhcp4_lexer.ll"
6055driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
6059#line 2652 "dhcp4_lexer.ll"
6060driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
6064#line 2654 "dhcp4_lexer.ll"
6065driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
6069#line 2656 "dhcp4_lexer.ll"
6070driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
6073#line 2658 "dhcp4_lexer.ll"
6075 if (driver.states_.empty()) {
6078 driver.loc_ = driver.locs_.back();
6079 driver.locs_.pop_back();
6080 driver.file_ = driver.files_.back();
6081 driver.files_.pop_back();
6082 if (driver.sfile_) {
6083 fclose(driver.sfile_);
6086 if (!driver.sfiles_.empty()) {
6087 driver.sfile_ = driver.sfiles_.back();
6088 driver.sfiles_.pop_back();
6091 parser4__switch_to_buffer(driver.states_.back());
6092 driver.states_.pop_back();
6099#line 2681 "dhcp4_lexer.ll"
6102#line 6102 "dhcp4_lexer.cc"
6110 *
yy_cp = (yy_hold_char);
6144 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
6146 yy_current_state = yy_get_previous_state( );
6157 yy_next_state = yy_try_NUL_trans( yy_current_state );
6161 if ( yy_next_state )
6164 yy_cp = ++(yy_c_buf_p);
6165 yy_current_state = yy_next_state;
6172 yy_cp = (yy_last_accepting_cpos);
6173 yy_current_state = (yy_last_accepting_state);
6174 goto yy_find_action;
6178 else switch ( yy_get_next_buffer( ) )
6182 (yy_did_buffer_switch_on_eof) = 0;
6203 if ( ! (yy_did_buffer_switch_on_eof) )
6213 yy_current_state = yy_get_previous_state( );
6215 yy_cp = (yy_c_buf_p);
6223 yy_current_state = yy_get_previous_state( );
6225 yy_cp = (yy_c_buf_p);
6227 goto yy_find_action;
6234 "fatal flex scanner internal error--no action found" );
6255static int yy_get_next_buffer (
void)
6262 int number_to_move, i;
6267 "fatal flex scanner internal error--end of buffer missed" );
6291 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
6293 for ( i = 0; i < number_to_move; ++i )
6294 *(dest++) = *(source++);
6307 while ( num_to_read <= 0 )
6313 int yy_c_buf_p_offset =
6320 if ( new_size <= 0 )
6336 "fatal error - scanner input buffer overflow" );
6338 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
6350 (yy_n_chars), num_to_read );
6355 if ( (yy_n_chars) == 0 )
6376 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6380 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
6385 (yy_n_chars) += number_to_move;
6407 yy_current_state = (yy_start);
6413 if ( yy_accept[yy_current_state] )
6415 (yy_last_accepting_state) = yy_current_state;
6416 (yy_last_accepting_cpos) =
yy_cp;
6418 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6420 yy_current_state = (int) yy_def[yy_current_state];
6421 if ( yy_current_state >= 2459 )
6422 yy_c = yy_meta[yy_c];
6424 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6427 return yy_current_state;
6443 char *
yy_cp = (yy_c_buf_p);
6446 if ( yy_accept[yy_current_state] )
6448 (yy_last_accepting_state) = yy_current_state;
6449 (yy_last_accepting_cpos) =
yy_cp;
6451 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6453 yy_current_state = (int) yy_def[yy_current_state];
6454 if ( yy_current_state >= 2459 )
6455 yy_c = yy_meta[yy_c];
6457 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6458 yy_is_jam = (yy_current_state == 2458);
6460 return yy_is_jam ? 0 : yy_current_state;
6472 static int yyinput (
void)
6474 static int input (
void)
6483 *(yy_c_buf_p) = (yy_hold_char);
6493 *(yy_c_buf_p) =
'\0';
6497 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
6500 switch ( yy_get_next_buffer( ) )
6523 if ( ! (yy_did_buffer_switch_on_eof) )
6539 c = *(
unsigned char *) (yy_c_buf_p);
6540 *(yy_c_buf_p) =
'\0';
6541 (yy_hold_char) = *++(yy_c_buf_p);
6599 *(yy_c_buf_p) = (yy_hold_char);
6612 (yy_did_buffer_switch_on_eof) = 1;
6628 (yy_hold_char) = *(yy_c_buf_p);
6776 if (new_buffer == NULL)
6785 *(yy_c_buf_p) = (yy_hold_char);
6792 (yy_buffer_stack_top)++;
6797 (yy_did_buffer_switch_on_eof) = 1;
6817 if ((yy_buffer_stack_top) > 0)
6818 --(yy_buffer_stack_top);
6822 (yy_did_buffer_switch_on_eof) = 1;
6839 if (!(yy_buffer_stack)) {
6849 if ( ! (yy_buffer_stack) )
6850 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6852 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6854 (yy_buffer_stack_max) = num_to_alloc;
6855 (yy_buffer_stack_top) = 0;
6859 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6864 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6869 if ( ! (yy_buffer_stack) )
6870 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6873 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6874 (yy_buffer_stack_max) = num_to_alloc;
6953 for ( i = 0; i < _yybytes_len; ++i )
6954 buf[i] = yybytes[i];
6971#ifndef YY_EXIT_FAILURE
6972#define YY_EXIT_FAILURE 2
6976static void yynoreturn yy_fatal_error (
const char* msg )
6978 fprintf( stderr,
"%s\n", msg );
6992 int yyless_macro_arg = (n); \
6993 YY_LESS_LINENO(yyless_macro_arg);\
6994 yytext[yyleng] = (yy_hold_char); \
6995 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6996 (yy_hold_char) = *(yy_c_buf_p); \
6997 *(yy_c_buf_p) = '\0'; \
6998 yyleng = yyless_macro_arg; \
7097static int yy_init_globals (
void)
7103 (yy_buffer_stack) = NULL;
7104 (yy_buffer_stack_top) = 0;
7105 (yy_buffer_stack_max) = 0;
7106 (yy_c_buf_p) = NULL;
7139 yyfree((yy_buffer_stack) );
7140 (yy_buffer_stack) = NULL;
7157static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
7161 for ( i = 0; i < n; ++i )
7166#ifdef YY_NEED_STRLEN
7167static int yy_flex_strlen (
const char * s )
7170 for ( n = 0; s[n]; ++n )
7179 return malloc(size);
7192 return realloc(ptr, size);
7197 free( (
char *) ptr );
7202#define YYTABLES_NAME "yytables"
7207#line 2681 "dhcp4_lexer.ll"
7215 start_token_flag =
true;
7216 start_token_value = parser_type;
7223 buffer = parser4__scan_bytes(
str.c_str(),
str.size());
7225 fatal(
"cannot scan string");
7232 const std::string& filename,
7235 start_token_flag =
true;
7236 start_token_value = parser_type;
7245 buffer = parser4__create_buffer(f, 65536 );
7247 fatal(
"cannot scan file " + filename);
7249 parser4__switch_to_buffer(buffer);
7257 static_cast<void>(parser4_lex_destroy());
7268 parser4__delete_buffer(
states_.back());
7276 fatal(
"Too many nested include.");
7279 FILE* f = fopen(filename.c_str(),
"r");
7281 fatal(
"Can't open include file " + filename);
7289 buffer = parser4__create_buffer(f, 65536 );
7291 fatal(
"Can't scan include file " + filename);
7293 parser4__switch_to_buffer(buffer);
7306 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_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_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_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-database[s] structures.
@ NCR_PROTOCOL
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
@ LOGGERS
Used while parsing Dhcp4/loggers structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp4/*-database/on-fail.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ DDNS_CONFLICT_RESOLUTION_MODE
Used while parsing Dhcp4/ib-ddns-conflict-resolution-mode.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ OUTBOUND_INTERFACE
Used while parsing Dhcp4/interfaces/outbound-interface structures.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Dhcp4/loggers/output-options structures.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ DHCP_DDNS
Used while parsing Dhcp4/dhcp-ddns.
@ OPTION_DATA
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
@ AUTH_TYPE
Used while parsing Dhcp4/control-socket/authentication/type structures.
@ DHCP_MULTI_THREADING
Used while parsing Dhcp4/multi-threading structures.
@ LEASE_DATABASE
Used while parsing Dhcp4/lease-database structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ CLIENTS
Used while parsing Dhcp4/control-socket/authentication/clients structures.
@ SANITY_CHECKS
Sanity checks.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
@ INTERFACES_CONFIG
Used while parsing Dhcp4/interfaces structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp4/host-reservation-identifiers.
@ CONTROL_SOCKET_TYPE
Used while parsing Dhcp4/control-socket/socket-type structures.
@ OPTION_DEF
Used while parsing Dhcp4/option-def structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ HOOKS_LIBRARIES
Used while parsing Dhcp4/hooks-libraries.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp4/dhcp-queue-control structures.
@ AUTHENTICATION
Used while parsing Dhcp4/control-socket/authentication structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ 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.