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 234
695#define YY_END_OF_BUFFER 235
705 227, 227, 0, 0, 0, 0, 0, 0, 0, 0,
706 235, 233, 10, 11, 233, 1, 227, 224, 227, 227,
707 233, 226, 225, 233, 233, 233, 233, 233, 220, 221,
708 233, 233, 233, 222, 223, 5, 5, 5, 233, 233,
709 233, 10, 11, 0, 0, 215, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
713 227, 227, 0, 226, 227, 3, 2, 6, 0, 227,
714 0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
716 0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 218, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 2, 0, 0, 0, 0, 0, 0, 0, 8, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
728 0, 0, 217, 219, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 232, 230, 0, 229, 228,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
742 0, 188, 0, 0, 108, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
755 19, 0, 0, 0, 0, 0, 231, 228, 0, 0,
756 0, 0, 0, 0, 0, 190, 0, 0, 192, 0,
757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 112, 0, 0, 0, 0, 0, 0,
760 92, 0, 0, 0, 0, 0, 0, 136, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 96, 0, 0, 42, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 132, 0, 0, 35, 0, 0, 39, 0,
772 0, 0, 0, 0, 0, 0, 0, 12, 194, 193,
773 0, 0, 0, 0, 0, 146, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 124, 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, 37, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
783 0, 0, 0, 0, 95, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 147, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 142, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 7, 0, 0, 195,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
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, 126, 0, 0, 0, 0, 0, 0,
797 0, 0, 0, 0, 0, 0, 0, 122, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 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, 99, 0,
806 0, 0, 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, 140, 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 152, 119, 0, 0, 0, 0, 0, 0, 125, 36,
812 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
815 43, 97, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 86, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 141, 0, 0, 0, 0, 0, 0,
827 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 40, 0, 0, 0, 0, 0, 34, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 128, 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, 69, 0, 0, 0, 0, 0, 0, 58,
837 0, 0, 0, 138, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 172, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 101, 0, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 177, 0, 0, 0, 175, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 139, 0, 0, 0, 0, 0, 0,
852 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 137, 0, 0, 23, 0, 148, 0, 0,
856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 0, 181, 0, 94, 0, 0, 0, 0, 89,
859 0, 0, 0, 0, 0, 0, 0, 151, 0, 38,
860 0, 170, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
862 0, 0, 0, 0, 0, 0, 115, 116, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 93, 0, 0, 0, 0, 0, 60,
865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 203, 0, 0, 90, 106, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
874 178, 0, 0, 176, 0, 0, 167, 166, 0, 0,
875 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
876 0, 0, 0, 0, 0, 191, 0, 0, 0, 0,
877 0, 131, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 160, 0, 0, 0, 169, 0, 0, 0, 0,
881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882 149, 0, 15, 0, 0, 44, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 180, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 46, 65, 0, 0,
885 144, 0, 0, 0, 135, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 57, 0, 98, 0, 0, 197, 0, 0, 0, 0,
888 0, 0, 202, 0, 118, 0, 0, 0, 209, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
898 47, 0, 0, 0, 0, 0, 0, 205, 0, 0,
899 129, 31, 0, 0, 0, 165, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 200, 0, 173, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 29, 0, 0, 0, 0, 0, 28,
904 0, 0, 179, 0, 0, 0, 56, 0, 0, 0,
905 214, 0, 0, 121, 120, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 61, 0, 0, 0, 0, 0, 0, 117,
909 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 150, 0, 0, 0, 30,
912 0, 0, 0, 0, 0, 201, 0, 0, 0, 0,
914 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
916 0, 0, 204, 0, 88, 0, 51, 0, 0, 0,
917 0, 198, 0, 81, 0, 0, 196, 0, 32, 0,
918 0, 0, 0, 0, 0, 0, 0, 85, 0, 0,
919 0, 0, 17, 0, 0, 0, 0, 0, 0, 185,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 158, 0, 0, 0, 134, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 103, 0, 0, 0, 0,
923 54, 0, 52, 0, 0, 0, 0, 48, 163, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 72, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 186, 0, 0, 13, 0,
928 0, 0, 0, 0, 0, 0, 0, 0, 164, 0,
929 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
933 0, 0, 0, 157, 0, 63, 62, 20, 0, 182,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 82, 0, 114,
937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
939 0, 0, 0, 55, 0, 68, 0, 49, 184, 0,
940 109, 0, 0, 0, 0, 0, 0, 0, 0, 87,
941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942 78, 0, 0, 0, 0, 0, 0, 16, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
945 0, 76, 0, 0, 0, 0, 0, 0, 0, 0,
947 213, 0, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 84, 33, 0, 0, 0, 77, 0, 0, 0,
950 0, 162, 0, 0, 0, 0, 0, 0, 207, 210,
951 183, 0, 130, 110, 0, 0, 0, 0, 0, 0,
952 0, 83, 0, 0, 73, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 154, 0, 0, 0, 0,
954 0, 0, 159, 0, 0, 75, 0, 66, 0, 0,
955 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
956 0, 0, 0, 0, 0, 153, 0, 0, 187, 0,
958 212, 208, 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
960 74, 0, 0, 0, 0, 0, 27, 25, 0, 0,
961 0, 0, 79, 0, 0, 113, 0, 0, 71, 0,
962 80, 0, 0, 211, 0, 0, 0, 0, 0, 70,
966static const YY_CHAR yy_ec[256] =
968 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
969 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
970 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
971 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
972 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
973 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
974 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
975 5, 29, 30, 31, 32, 33, 5, 34, 35, 36,
976 5, 37, 38, 39, 40, 41, 42, 43, 44, 5,
977 45, 46, 47, 5, 48, 5, 49, 50, 51, 52,
979 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
980 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
981 73, 74, 75, 5, 76, 5, 5, 5, 5, 5,
982 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
983 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
984 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
985 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
986 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
987 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
988 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
990 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
991 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
992 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
993 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
994 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
998static const YY_CHAR yy_meta[77] =
1000 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
1001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1003 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1006 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1012 0, 75, 21, 28, 39, 47, 53, 61, 95, 103,
1013 2805, 2806, 31, 2801, 151, 0, 216, 2806, 223, 230,
1014 13, 237, 2806, 2781, 124, 17, 4, 34, 2806, 2806,
1015 23, 43, 64, 2806, 2806, 2806, 56, 2789, 2739, 0,
1016 2779, 106, 2796, 2, 274, 2806, 2735, 85, 90, 2741,
1017 98, 77, 231, 235, 97, 200, 304, 229, 2733, 318,
1018 218, 62, 219, 220, 214, 257, 2742, 298, 307, 342,
1019 328, 229, 2725, 21, 347, 392, 327, 2744, 293, 0,
1020 404, 420, 435, 452, 445, 2806, 0, 2806, 409, 460,
1021 203, 228, 317, 260, 354, 343, 2806, 2741, 2785, 2806,
1023 300, 2806, 474, 2772, 342, 254, 2738, 368, 17, 363,
1024 2777, 366, 402, 418, 335, 2781, 0, 538, 439, 2720,
1025 2717, 2721, 432, 2717, 299, 2725, 432, 2711, 2712, 2717,
1026 76, 2727, 2710, 2719, 2709, 2718, 390, 438, 63, 2711,
1027 2709, 428, 2760, 2764, 2707, 2700, 2756, 2693, 441, 2714,
1028 2714, 2708, 243, 2701, 2699, 2700, 2692, 2697, 2691, 444,
1029 2702, 395, 2687, 2686, 2700, 464, 2686, 434, 455, 2680,
1030 508, 242, 447, 2701, 2698, 2699, 458, 2697, 2735, 2734,
1031 475, 198, 2678, 472, 2679, 482, 2671, 2688, 2680, 2682,
1032 0, 484, 490, 507, 500, 514, 518, 2678, 2806, 2726,
1034 546, 552, 2672, 511, 545, 553, 557, 2729, 556, 2728,
1035 550, 2727, 2806, 2806, 599, 393, 562, 2683, 2675, 2662,
1036 2673, 2677, 2678, 2658, 2669, 2673, 2670, 2669, 465, 532,
1037 2710, 2671, 2652, 2649, 2657, 2652, 2666, 2662, 2653, 2649,
1038 2661, 2661, 2649, 2651, 2654, 2634, 2638, 2651, 2653, 2650,
1039 2642, 2632, 2650, 2806, 2635, 2644, 82, 2685, 2628, 2637,
1040 2682, 2626, 2636, 2639, 526, 2635, 2677, 2619, 2621, 2632,
1041 2673, 575, 2615, 16, 2628, 2608, 2623, 570, 2613, 2619,
1042 476, 2610, 2608, 2608, 2614, 2605, 2604, 2611, 2601, 2663,
1043 2616, 2615, 2609, 538, 2616, 2611, 2603, 2593, 2608, 2594,
1045 2606, 2601, 2605, 2586, 2602, 2588, 2594, 2601, 2583, 533,
1046 2588, 2585, 2584, 599, 2583, 2578, 2592, 577, 2591, 2637,
1047 2593, 607, 2584, 2572, 592, 2806, 2806, 594, 2806, 2806,
1048 2570, 572, 587, 600, 2621, 608, 2631, 596, 607, 2806,
1049 2630, 2806, 2624, 660, 2806, 2583, 593, 2560, 2569, 2620,
1050 2577, 2560, 2577, 2616, 2573, 2556, 2562, 2617, 2569, 2572,
1051 2563, 2566, 2552, 2563, 2610, 2604, 2559, 2556, 516, 2562,
1052 2605, 2537, 2598, 2548, 2543, 2537, 2539, 2542, 2592, 2546,
1053 2535, 2551, 2588, 2531, 632, 2545, 2530, 2529, 2542, 2540,
1054 2538, 2538, 2537, 2532, 2539, 2534, 2530, 576, 2528, 2531,
1056 2526, 2512, 2524, 2520, 2573, 600, 603, 2567, 2806, 2511,
1057 2527, 2564, 2511, 2510, 2509, 2502, 2504, 2516, 2507, 2514,
1058 2495, 2512, 2507, 659, 2557, 2507, 2504, 2507, 2806, 2506,
1059 285, 2496, 2508, 605, 2483, 2484, 2505, 2496, 2486, 2478,
1060 2539, 2481, 2495, 615, 2481, 2493, 2492, 2491, 2486, 2531,
1061 2488, 2487, 2486, 2485, 2468, 2476, 2529, 2485, 2465, 2526,
1062 2806, 2465, 2464, 684, 2477, 2475, 2806, 2806, 2475, 2464,
1063 2456, 641, 2513, 2517, 2516, 2806, 2515, 628, 2806, 655,
1064 713, 2471, 654, 2513, 2452, 2463, 2505, 2455, 2457, 2459,
1065 2446, 2454, 2442, 2806, 2447, 2440, 2452, 2455, 2442, 2441,
1067 2806, 691, 2443, 2440, 651, 2438, 2440, 2806, 2488, 2447,
1068 2444, 2429, 2443, 2441, 2441, 2435, 687, 2442, 2430, 2423,
1069 2477, 2806, 2421, 2437, 2474, 2432, 2430, 2428, 2429, 2413,
1070 2422, 2467, 2415, 2414, 2409, 2408, 2462, 2403, 643, 2422,
1071 2396, 2403, 2408, 2418, 2455, 2459, 2806, 2401, 2397, 691,
1072 2395, 2450, 2403, 2402, 2396, 2403, 2387, 2387, 2397, 2385,
1073 2399, 2399, 2387, 2383, 2381, 2806, 2390, 2440, 2806, 2379,
1074 2390, 2432, 2374, 2373, 2378, 2387, 2381, 2375, 2384, 2429,
1075 2423, 2382, 2366, 2361, 2419, 2380, 2355, 2361, 669, 2375,
1076 2368, 2372, 2355, 2416, 2354, 2354, 2408, 2350, 2351, 2350,
1078 2348, 2365, 2806, 2361, 2401, 2806, 2349, 2347, 2806, 2358,
1079 2397, 2396, 2353, 2337, 2354, 2397, 680, 2806, 2806, 2806,
1080 631, 669, 668, 2334, 709, 2806, 2344, 2343, 682, 2350,
1081 2330, 2340, 2385, 2327, 2383, 2325, 2335, 2380, 2322, 2329,
1082 2322, 2324, 2333, 2315, 2315, 2330, 2329, 2313, 680, 2327,
1083 2326, 2326, 2308, 2313, 2357, 2321, 2318, 2312, 2360, 2301,
1084 2316, 2316, 2314, 2314, 2806, 2299, 2296, 2357, 2309, 2301,
1085 2307, 2298, 2306, 2291, 2345, 2306, 2288, 2300, 2292, 606,
1086 2283, 2282, 2276, 2281, 2296, 2293, 2294, 2273, 2283, 2289,
1087 2335, 2287, 2279, 2270, 2806, 2271, 2273, 2268, 2281, 2273,
1089 2272, 2277, 2319, 2318, 2266, 742, 2275, 2315, 2257, 2313,
1090 2257, 2260, 2253, 2268, 2806, 2266, 2245, 2249, 2263, 2258,
1091 2254, 2302, 2251, 2258, 2299, 2806, 2241, 2255, 2250, 12,
1092 73, 251, 357, 398, 374, 475, 495, 632, 690, 712,
1093 2806, 656, 672, 692, 755, 698, 701, 702, 700, 758,
1094 721, 718, 704, 711, 715, 708, 2806, 724, 716, 2806,
1095 736, 750, 750, 742, 758, 720, 717, 718, 727, 739,
1096 733, 723, 719, 733, 734, 784, 745, 791, 748, 749,
1097 788, 793, 744, 744, 750, 760, 765, 751, 754, 757,
1098 766, 766, 750, 810, 760, 770, 773, 814, 774, 767,
1100 771, 768, 770, 820, 821, 782, 829, 783, 785, 2806,
1101 788, 783, 774, 789, 794, 791, 793, 795, 794, 782,
1102 796, 794, 802, 841, 800, 848, 849, 796, 788, 798,
1103 849, 805, 857, 2806, 858, 808, 810, 806, 800, 816,
1104 804, 814, 866, 862, 822, 811, 824, 2806, 814, 815,
1105 826, 815, 828, 818, 831, 878, 879, 880, 820, 831,
1106 816, 839, 830, 819, 825, 883, 844, 828, 840, 887,
1107 888, 832, 839, 891, 852, 847, 852, 850, 897, 836,
1108 848, 851, 855, 847, 844, 2806, 911, 867, 868, 856,
1109 870, 860, 863, 874, 859, 866, 872, 873, 865, 879,
1111 903, 895, 924, 925, 899, 872, 886, 891, 888, 870,
1112 877, 891, 939, 893, 890, 891, 889, 898, 2806, 894,
1113 889, 904, 901, 887, 889, 908, 904, 906, 895, 902,
1114 904, 913, 956, 919, 958, 917, 907, 905, 904, 915,
1115 911, 970, 914, 925, 910, 911, 917, 933, 929, 924,
1116 974, 2806, 935, 935, 928, 939, 937, 985, 924, 926,
1117 938, 946, 944, 931, 929, 994, 948, 934, 940, 938,
1118 2806, 2806, 948, 953, 958, 946, 956, 958, 2806, 2806,
1119 959, 946, 964, 951, 953, 946, 963, 2806, 952, 970,
1120 957, 1010, 958, 960, 1014, 957, 961, 979, 1023, 2806,
1122 2806, 2806, 965, 969, 968, 965, 981, 1029, 979, 969,
1123 970, 966, 979, 990, 991, 986, 1033, 988, 990, 983,
1124 985, 981, 987, 987, 989, 1004, 987, 1049, 1003, 1008,
1125 985, 1008, 994, 993, 2806, 1000, 1001, 1053, 1054, 1003,
1126 1016, 1057, 1012, 1002, 1017, 1011, 1019, 1006, 1037, 1047,
1127 1035, 1043, 1055, 1072, 1018, 1013, 1072, 1073, 1032, 1075,
1128 2806, 1081, 1021, 1037, 1041, 1085, 1032, 1031, 1026, 1027,
1129 1039, 1034, 1030, 1039, 1034, 1035, 1045, 1056, 1098, 1046,
1130 1043, 1061, 1053, 1048, 1109, 1063, 1064, 1055, 2806, 1069,
1131 1058, 1061, 1069, 1071, 1056, 1068, 1073, 1070, 1068, 1118,
1133 1081, 1065, 1066, 2806, 1082, 1085, 1068, 1085, 1080, 1132,
1134 1072, 1091, 2806, 1090, 1093, 1079, 1074, 1092, 1135, 1090,
1135 1086, 1083, 1139, 1140, 1099, 1085, 1103, 1103, 1103, 1104,
1136 1105, 1091, 1106, 1098, 1105, 1095, 1096, 1114, 1113, 1100,
1137 1117, 2806, 1109, 1115, 1118, 1166, 1110, 2806, 1113, 1118,
1138 1166, 1114, 1126, 1120, 1121, 1119, 1116, 1122, 1132, 1180,
1139 1121, 1122, 1122, 1184, 1125, 1137, 1130, 2806, 1126, 1134,
1140 1132, 1186, 1125, 1147, 1133, 1134, 1135, 1136, 1142, 1150,
1141 1141, 1146, 1156, 1157, 1158, 1163, 1207, 1175, 1204, 1187,
1142 1179, 1184, 2806, 1167, 1163, 1159, 1173, 1156, 1156, 2806,
1144 1157, 1220, 1160, 2806, 1171, 1161, 1181, 1180, 1171, 1182,
1145 1228, 1178, 1187, 1180, 1184, 1188, 1171, 1188, 1189, 1184,
1146 1242, 1186, 2806, 1239, 1183, 1186, 1204, 1186, 1187, 1187,
1147 1208, 1205, 1193, 1211, 1199, 1213, 1199, 1207, 1216, 1196,
1148 1211, 1218, 1263, 1206, 1260, 2806, 1266, 1267, 1206, 1216,
1149 1226, 1210, 1230, 1218, 1214, 1221, 1230, 1218, 1225, 1226,
1150 1238, 1282, 1226, 1284, 1225, 1224, 1228, 1245, 1289, 1236,
1151 1235, 1241, 1242, 1240, 1238, 1233, 1297, 1245, 1299, 1295,
1152 1301, 2806, 1239, 1256, 1249, 1240, 1259, 1247, 1257, 1258,
1153 1254, 1249, 1268, 1268, 2806, 1253, 1249, 1255, 2806, 1256,
1155 1319, 1275, 1256, 1275, 1276, 1278, 1320, 1270, 1327, 1328,
1156 1278, 1283, 1277, 1275, 1286, 1285, 1269, 1274, 1280, 1293,
1157 2806, 1307, 1320, 1308, 1322, 1309, 1344, 1281, 1303, 1298,
1158 1298, 1302, 1350, 2806, 1290, 1290, 1293, 1310, 1305, 1309,
1159 1304, 2806, 1313, 1297, 1314, 1294, 1315, 1305, 1304, 1360,
1160 1311, 2806, 1328, 1328, 1369, 1313, 1322, 1372, 1327, 1332,
1161 1318, 1381, 1321, 1322, 1336, 1334, 1326, 1332, 1328, 1346,
1162 1347, 1348, 2806, 1387, 1339, 2806, 1349, 2806, 1334, 1345,
1163 1336, 1355, 1348, 1346, 1339, 1351, 1398, 1359, 1348, 1355,
1164 1356, 1362, 2806, 1355, 2806, 1410, 1360, 1349, 1413, 2806,
1166 1414, 1353, 1359, 1360, 1367, 1414, 1373, 2806, 1374, 2806,
1167 1361, 2806, 1361, 1364, 1378, 1383, 1366, 1428, 1382, 1383,
1168 1426, 1389, 1376, 1381, 1435, 1431, 1381, 1438, 2806, 1386,
1169 1383, 1441, 1442, 1396, 1397, 1399, 2806, 2806, 1391, 1386,
1170 1443, 1389, 1405, 1451, 1390, 1402, 1391, 1408, 1451, 1434,
1171 1435, 1427, 1460, 2806, 1414, 1407, 1416, 1407, 1418, 2806,
1172 1466, 1400, 1411, 1426, 1465, 1414, 1425, 1411, 1427, 1428,
1173 1425, 1472, 1432, 1434, 1423, 1433, 1439, 1426, 1424, 1489,
1174 1485, 1440, 1487, 1493, 1447, 2806, 1433, 1449, 1440, 1443,
1175 1452, 1453, 1450, 1440, 1443, 1443, 1444, 1455, 1450, 1508,
1177 1452, 1510, 1450, 1455, 1514, 1510, 1448, 1463, 1456, 1459,
1178 1472, 1473, 1471, 1523, 2806, 1469, 1475, 2806, 2806, 1480,
1179 1472, 1473, 1483, 1468, 1527, 1471, 1471, 1535, 1536, 1477,
1180 1487, 1539, 2806, 1484, 1485, 1487, 1543, 1484, 1482, 1485,
1181 2806, 1502, 1507, 2806, 1504, 1492, 2806, 2806, 1505, 1488,
1182 1508, 1509, 1495, 1497, 1559, 1506, 2806, 1561, 1507, 1501,
1183 1564, 1529, 1547, 1562, 1549, 2806, 1568, 1524, 1572, 1519,
1184 1569, 2806, 1514, 1576, 1523, 1517, 1514, 1517, 1519, 1577,
1185 1537, 1579, 1529, 1541, 1544, 1541, 1533, 1536, 1531, 1539,
1186 1530, 2806, 1538, 1553, 1538, 2806, 1540, 1597, 1542, 1599,
1188 1558, 1558, 1561, 1561, 1558, 1605, 1564, 1565, 1557, 1558,
1189 2806, 1559, 2806, 1569, 1561, 2806, 1567, 1573, 1574, 1571,
1190 1618, 1563, 1578, 1579, 1571, 2806, 1581, 1569, 1570, 1570,
1191 1571, 1577, 1576, 1574, 1631, 1589, 2806, 2806, 1633, 1577,
1192 2806, 1578, 1579, 1585, 2806, 1594, 1582, 1590, 1647, 1592,
1193 1584, 1597, 1591, 1601, 1612, 1605, 1611, 1601, 1659, 1609,
1194 2806, 1618, 2806, 1615, 1663, 2806, 1613, 1641, 1642, 1648,
1195 1633, 1641, 2806, 1670, 2806, 1625, 1610, 1673, 2806, 1674,
1196 1628, 1633, 1615, 1678, 1619, 1675, 1639, 1632, 1628, 1621,
1197 1629, 1681, 1636, 1637, 1627, 1632, 1644, 1698, 1649, 1700,
1199 1647, 1697, 1658, 1658, 1654, 1701, 1646, 1651, 1649, 1711,
1200 1652, 1660, 1666, 1654, 1716, 1712, 1672, 1719, 1677, 1666,
1201 1660, 1723, 1662, 1663, 1677, 1727, 1681, 1681, 1730, 1731,
1202 1670, 1687, 1683, 1681, 1688, 1672, 1733, 1734, 1735, 1695,
1203 1688, 1687, 1687, 1682, 1683, 1701, 2806, 1692, 1698, 1703,
1204 1690, 1691, 1690, 1692, 1750, 1693, 2806, 1689, 1707, 1759,
1205 2806, 1714, 1728, 1742, 1741, 1730, 1732, 2806, 1766, 1716,
1206 2806, 2806, 1707, 1718, 1770, 2806, 1724, 1715, 1720, 1718,
1207 1771, 1726, 1731, 1717, 1720, 1736, 1725, 1723, 1737, 1724,
1208 2806, 1726, 2806, 1744, 1731, 1743, 1790, 1730, 1735, 1798,
1210 1743, 1753, 1754, 2806, 1802, 1739, 1799, 1754, 1801, 2806,
1211 1749, 1808, 2806, 1748, 1763, 1751, 2806, 1761, 1762, 1814,
1212 2806, 1769, 1773, 2806, 2806, 1812, 1775, 1751, 1769, 1770,
1213 1779, 1761, 1768, 1780, 1779, 1770, 1823, 1772, 1768, 1773,
1214 1832, 1771, 1772, 1835, 1831, 1837, 1784, 1839, 1789, 1779,
1215 1795, 1788, 2806, 1844, 1822, 1846, 1828, 1843, 1849, 2806,
1216 1795, 1851, 1790, 2806, 1792, 1794, 1804, 1851, 1796, 1811,
1217 1798, 1860, 1814, 1800, 1807, 1807, 1865, 1819, 1820, 1807,
1218 1809, 1823, 1809, 1874, 1824, 2806, 1871, 1819, 1816, 2806,
1219 1832, 1819, 1832, 1819, 1840, 2806, 1837, 1885, 1835, 1832,
1221 1833, 2806, 1889, 1845, 1828, 1830, 1846, 1839, 1829, 1845,
1222 1846, 1855, 1845, 1900, 1857, 1841, 1850, 1899, 1905, 2806,
1223 1855, 1907, 2806, 1853, 2806, 1847, 2806, 1854, 1911, 1912,
1224 1909, 2806, 1910, 2806, 1892, 1898, 2806, 1870, 2806, 1914,
1225 1863, 1874, 1875, 1860, 1861, 1869, 1926, 2806, 1871, 1923,
1226 1924, 1876, 2806, 1871, 1889, 1871, 1877, 1890, 1885, 2806,
1227 1882, 1887, 1885, 1940, 1881, 1895, 1945, 1890, 1887, 1887,
1228 2806, 1902, 1903, 1904, 2806, 1905, 1895, 1907, 1955, 1905,
1229 1957, 1896, 1904, 1905, 1918, 2806, 1919, 1900, 1901, 1908,
1230 2806, 1910, 2806, 1924, 1921, 1964, 1922, 2806, 2806, 1926,
1232 1952, 1953, 1951, 1914, 1914, 1923, 1930, 1923, 1922, 1933,
1233 1920, 2806, 1936, 1924, 1927, 1986, 1923, 1942, 1984, 1945,
1234 1938, 1937, 1946, 1948, 1952, 2806, 1991, 1943, 2806, 1949,
1235 1941, 2003, 1943, 2005, 2006, 2007, 1962, 2009, 2806, 1948,
1236 2806, 2006, 1965, 1966, 1953, 1961, 1972, 1959, 1970, 1956,
1237 1954, 1962, 1961, 1966, 1958, 2003, 2027, 2009, 2029, 1979,
1238 1968, 1981, 1971, 1988, 1987, 2031, 1972, 1991, 1992, 2806,
1239 1997, 1990, 2032, 1996, 1983, 1998, 2046, 2000, 2003, 1998,
1240 2003, 1992, 2001, 2806, 2055, 2806, 2806, 2806, 2013, 2806,
1241 2057, 1996, 2059, 2060, 2000, 2062, 2007, 2059, 2060, 2019,
1243 2062, 2005, 2009, 2027, 2071, 2027, 2054, 2806, 2050, 2806,
1244 2020, 2014, 2011, 2073, 2036, 2029, 2025, 2082, 2022, 2024,
1245 2023, 2030, 2076, 2027, 2089, 2030, 2806, 2035, 2045, 2047,
1246 2049, 2032, 2040, 2806, 2035, 2806, 2047, 2806, 2806, 2053,
1247 2806, 2055, 2055, 2046, 2105, 2046, 2056, 2041, 2054, 2806,
1248 2056, 2087, 2093, 2065, 2063, 2115, 2053, 2055, 2052, 2076,
1249 2806, 2063, 2070, 2071, 2074, 2124, 2064, 2806, 2121, 2065,
1250 2073, 2082, 2068, 2084, 2083, 2086, 2079, 2074, 2074, 2086,
1251 2083, 2806, 2094, 2082, 2138, 2086, 2098, 2126, 2147, 2148,
1252 2092, 2806, 2092, 2104, 2152, 2098, 2100, 2098, 2099, 2157,
1254 2806, 2107, 2094, 2109, 2114, 2106, 2112, 2164, 2165, 2166,
1255 2120, 2168, 2169, 2110, 2114, 2111, 2127, 2110, 2122, 2116,
1256 2178, 2806, 2806, 2123, 2134, 2181, 2806, 2135, 2120, 2138,
1257 2129, 2806, 2130, 2144, 2140, 2133, 2128, 2134, 2806, 2806,
1258 2806, 2192, 2806, 2806, 2132, 2140, 2135, 2191, 2154, 2151,
1259 2199, 2806, 2195, 2158, 2806, 2202, 2141, 2204, 2144, 2157,
1260 2156, 2157, 2147, 2159, 2155, 2806, 2150, 2213, 2163, 2172,
1261 2165, 2212, 2806, 2163, 2157, 2806, 2169, 2806, 2216, 2222,
1262 2161, 2177, 2225, 2178, 2227, 2228, 2806, 2182, 2176, 2169,
1263 2189, 2176, 2188, 2179, 2183, 2806, 2233, 2179, 2806, 2189,
1265 2806, 2806, 2180, 2188, 2238, 2195, 2188, 2200, 2247, 2192,
1266 2192, 2188, 2190, 2205, 2253, 2254, 2193, 2209, 2194, 2211,
1267 2806, 2259, 2203, 2210, 2262, 2203, 2806, 2806, 2213, 2265,
1268 2210, 2267, 2806, 2215, 2214, 2806, 2270, 2216, 2806, 2210,
1269 2806, 2210, 2227, 2806, 2228, 2276, 2219, 2278, 2279, 2806,
1270 2280, 2806, 2806, 2806, 2806, 2286, 2289, 2292, 2293, 2295,
1276 2356, 2356, 2357, 2357, 2356, 2356, 2356, 2356, 2356, 2356,
1277 2355, 2355, 2355, 2355, 2355, 2358, 2355, 2355, 2355, 2355,
1278 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1279 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359,
1280 2355, 2355, 2355, 2360, 15, 2355, 45, 45, 45, 45,
1281 45, 45, 45, 45, 45, 45, 2361, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 45, 45, 45, 45, 45, 45, 2358,
1284 2355, 2355, 2355, 2355, 2355, 2355, 2362, 2355, 2355, 2355,
1285 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359, 2355,
1287 2360, 2355, 2355, 45, 45, 45, 45, 45, 45, 45,
1288 45, 45, 45, 45, 45, 2363, 45, 2361, 45, 45,
1289 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1291 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1292 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1293 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 2362, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1299 45, 2363, 2355, 2355, 118, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1303 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1305 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1306 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1310 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 2355, 2355, 2355, 2355, 2355, 2355,
1312 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1313 45, 2355, 45, 118, 2355, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1318 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1320 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1321 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1322 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1325 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1326 2355, 45, 45, 45, 45, 45, 2355, 2355, 2355, 45,
1327 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45,
1328 118, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1331 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1332 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1333 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1335 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1336 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1337 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1342 45, 45, 2355, 45, 45, 2355, 45, 45, 2355, 45,
1343 45, 45, 2355, 45, 45, 45, 45, 2355, 2355, 2355,
1344 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1345 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1346 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1347 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1348 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1349 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1353 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1354 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1357 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1358 45, 45, 45, 45, 45, 45, 2355, 45, 45, 2355,
1359 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1365 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1366 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1367 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1368 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1369 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1371 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1372 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1373 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1375 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1376 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1377 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1379 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1380 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1381 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1382 2355, 2355, 45, 45, 45, 45, 45, 45, 2355, 2355,
1383 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1384 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1386 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1389 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1390 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1391 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1392 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1395 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1397 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1398 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1400 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1401 45, 2355, 45, 45, 45, 45, 45, 2355, 45, 45,
1402 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1403 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1404 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1406 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355,
1408 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1409 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1410 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45,
1411 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1412 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1413 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1414 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1415 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1416 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1417 45, 45, 45, 45, 2355, 45, 45, 45, 2355, 45,
1419 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1420 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1421 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1422 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1423 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1424 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1425 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1426 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45,
1427 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1428 45, 45, 2355, 45, 2355, 45, 45, 45, 45, 2355,
1430 45, 45, 45, 45, 45, 45, 45, 2355, 45, 2355,
1431 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1432 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1433 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45,
1434 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1435 45, 45, 45, 2355, 45, 45, 45, 45, 45, 2355,
1436 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1437 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1438 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1439 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1441 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1442 45, 45, 45, 45, 2355, 45, 45, 2355, 2355, 45,
1443 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1444 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45,
1445 2355, 45, 45, 2355, 45, 45, 2355, 2355, 45, 45,
1446 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1447 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1448 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1449 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1450 45, 2355, 45, 45, 45, 2355, 45, 45, 45, 45,
1452 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1453 2355, 45, 2355, 45, 45, 2355, 45, 45, 45, 45,
1454 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1455 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45,
1456 2355, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1457 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1458 2355, 45, 2355, 45, 45, 2355, 45, 45, 45, 45,
1459 45, 45, 2355, 45, 2355, 45, 45, 45, 2355, 45,
1460 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1461 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1463 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1464 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1465 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1466 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1467 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1468 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1469 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1470 2355, 2355, 45, 45, 45, 2355, 45, 45, 45, 45,
1471 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1472 2355, 45, 2355, 45, 45, 45, 45, 45, 45, 45,
1474 45, 45, 45, 2355, 45, 45, 45, 45, 45, 2355,
1475 45, 45, 2355, 45, 45, 45, 2355, 45, 45, 45,
1476 2355, 45, 45, 2355, 2355, 45, 45, 45, 45, 45,
1477 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1478 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1479 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355,
1480 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45,
1481 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1482 45, 45, 45, 45, 45, 2355, 45, 45, 45, 2355,
1483 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1485 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1486 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1487 45, 45, 2355, 45, 2355, 45, 2355, 45, 45, 45,
1488 45, 2355, 45, 2355, 45, 45, 2355, 45, 2355, 45,
1489 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1490 45, 45, 2355, 45, 45, 45, 45, 45, 45, 2355,
1491 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1492 2355, 45, 45, 45, 2355, 45, 45, 45, 45, 45,
1493 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1494 2355, 45, 2355, 45, 45, 45, 45, 2355, 2355, 45,
1496 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1497 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1498 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45,
1499 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45,
1500 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1501 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1502 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1503 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1504 45, 45, 45, 2355, 45, 2355, 2355, 2355, 45, 2355,
1505 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1507 45, 45, 45, 45, 45, 45, 45, 2355, 45, 2355,
1508 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1509 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1510 45, 45, 45, 2355, 45, 2355, 45, 2355, 2355, 45,
1511 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355,
1512 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1513 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45,
1514 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1515 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1516 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1518 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1519 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1520 45, 2355, 2355, 45, 45, 45, 2355, 45, 45, 45,
1521 45, 2355, 45, 45, 45, 45, 45, 45, 2355, 2355,
1522 2355, 45, 2355, 2355, 45, 45, 45, 45, 45, 45,
1523 45, 2355, 45, 45, 2355, 45, 45, 45, 45, 45,
1524 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45,
1525 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45,
1526 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45,
1527 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45,
1529 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45,
1530 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1531 2355, 45, 45, 45, 45, 45, 2355, 2355, 45, 45,
1532 45, 45, 2355, 45, 45, 2355, 45, 45, 2355, 45,
1533 2355, 45, 45, 2355, 45, 45, 45, 45, 45, 2355,
1534 45, 2355, 2355, 2355, 0, 2355, 2355, 2355, 2355, 2355,
1540 2355, 13, 14, 13, 2355, 15, 16, 102, 17, 18,
1541 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1542 86, 409, 37, 14, 37, 87, 25, 26, 38, 37,
1543 14, 37, 42, 27, 42, 38, 2355, 2355, 28, 91,
1544 13, 14, 13, 92, 29, 91, 30, 103, 13, 14,
1545 13, 205, 25, 31, 13, 14, 13, 42, 40, 42,
1546 872, 32, 13, 14, 13, 91, 40, 33, 410, 170,
1547 93, 94, 92, 171, 34, 35, 13, 14, 13, 205,
1548 15, 16, 92, 17, 18, 19, 20, 21, 22, 22,
1549 22, 22, 22, 23, 24, 39, 13, 14, 13, 93,
1551 93, 25, 26, 39, 13, 14, 13, 42, 27, 42,
1552 135, 95, 136, 28, 109, 246, 41, 105, 106, 29,
1553 108, 30, 114, 137, 41, 234, 235, 25, 31, 96,
1554 389, 247, 89, 138, 89, 873, 32, 90, 90, 90,
1555 90, 90, 33, 109, 105, 106, 108, 390, 114, 34,
1556 35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
1557 45, 45, 45, 45, 45, 45, 45, 47, 45, 45,
1558 45, 45, 45, 48, 45, 49, 50, 45, 51, 45,
1559 45, 52, 45, 45, 53, 45, 45, 45, 45, 54,
1560 55, 45, 56, 45, 45, 45, 57, 45, 45, 58,
1562 59, 60, 61, 62, 63, 64, 65, 66, 52, 67,
1563 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1564 78, 79, 45, 45, 45, 45, 45, 81, 115, 82,
1565 82, 82, 82, 82, 81, 192, 84, 84, 84, 84,
1566 84, 108, 83, 85, 85, 85, 85, 85, 81, 83,
1567 84, 84, 84, 84, 84, 115, 83, 110, 315, 112,
1568 193, 105, 192, 83, 316, 111, 129, 108, 83, 130,
1569 131, 113, 140, 132, 133, 83, 142, 166, 139, 141,
1570 202, 167, 83, 110, 143, 112, 134, 193, 119, 83,
1571 45, 168, 192, 111, 120, 574, 45, 121, 45, 45,
1573 113, 45, 301, 302, 45, 102, 202, 45, 144, 117,
1574 264, 145, 45, 45, 265, 45, 45, 874, 146, 195,
1575 147, 115, 45, 45, 45, 45, 45, 45, 45, 45,
1576 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1577 45, 45, 45, 45, 45, 103, 106, 575, 115, 45,
1578 149, 150, 114, 45, 151, 153, 194, 45, 190, 154,
1579 152, 211, 225, 155, 226, 45, 123, 875, 110, 45,
1580 124, 45, 118, 106, 125, 156, 111, 126, 186, 157,
1581 127, 161, 194, 201, 128, 194, 193, 211, 187, 162,
1582 158, 163, 159, 188, 160, 172, 164, 165, 345, 173,
1584 204, 208, 174, 206, 111, 275, 179, 180, 876, 175,
1585 176, 197, 201, 196, 177, 178, 112, 85, 85, 85,
1586 85, 85, 90, 90, 90, 90, 90, 204, 113, 208,
1587 83, 81, 206, 82, 82, 82, 82, 82, 241, 877,
1588 242, 209, 181, 89, 182, 89, 83, 183, 90, 90,
1589 90, 90, 90, 210, 276, 346, 83, 184, 85, 85,
1590 85, 85, 85, 81, 185, 84, 84, 84, 84, 84,
1591 209, 83, 83, 90, 90, 90, 90, 90, 83, 101,
1592 201, 210, 221, 228, 206, 878, 101, 250, 243, 259,
1593 251, 222, 229, 230, 252, 223, 285, 83, 216, 286,
1595 287, 244, 260, 288, 83, 245, 309, 289, 303, 217,
1596 208, 209, 304, 272, 280, 273, 305, 210, 291, 101,
1597 310, 325, 326, 101, 419, 359, 505, 101, 360, 281,
1598 282, 283, 506, 327, 420, 101, 398, 325, 314, 101,
1599 318, 101, 101, 214, 327, 320, 326, 879, 336, 326,
1600 325, 215, 215, 215, 215, 215, 292, 293, 294, 327,
1601 215, 215, 215, 215, 215, 215, 328, 295, 333, 296,
1602 330, 297, 298, 329, 299, 300, 334, 336, 337, 338,
1603 414, 339, 341, 343, 333, 361, 215, 215, 215, 215,
1604 215, 215, 399, 362, 333, 400, 450, 433, 451, 363,
1606 434, 338, 334, 341, 340, 338, 337, 339, 341, 455,
1607 347, 343, 344, 344, 344, 344, 344, 463, 467, 415,
1608 467, 344, 344, 344, 344, 344, 344, 407, 470, 341,
1609 472, 473, 477, 416, 475, 478, 472, 522, 471, 477,
1610 538, 539, 523, 459, 467, 540, 468, 344, 344, 344,
1611 344, 344, 344, 548, 621, 763, 822, 823, 473, 472,
1612 475, 477, 478, 549, 566, 483, 578, 589, 550, 567,
1613 579, 590, 464, 481, 481, 481, 481, 481, 616, 735,
1614 621, 763, 481, 481, 481, 481, 481, 481, 622, 609,
1615 623, 616, 665, 524, 610, 687, 620, 666, 525, 880,
1617 881, 698, 652, 764, 765, 688, 761, 616, 481, 481,
1618 481, 481, 481, 481, 760, 653, 622, 654, 623, 767,
1619 625, 762, 882, 883, 884, 568, 45, 45, 45, 45,
1620 45, 764, 761, 765, 736, 45, 45, 45, 45, 45,
1621 45, 642, 770, 791, 885, 643, 792, 848, 888, 771,
1622 762, 889, 849, 644, 890, 645, 646, 647, 648, 649,
1623 886, 45, 45, 45, 45, 45, 45, 891, 892, 893,
1624 894, 887, 895, 896, 897, 898, 899, 900, 901, 902,
1625 904, 903, 906, 907, 905, 908, 909, 910, 911, 850,
1626 912, 913, 914, 915, 916, 917, 919, 920, 924, 921,
1628 922, 918, 923, 925, 926, 927, 902, 901, 903, 904,
1629 905, 928, 929, 930, 931, 932, 933, 934, 935, 936,
1630 937, 938, 939, 940, 941, 942, 943, 944, 945, 948,
1631 949, 950, 946, 951, 952, 953, 947, 954, 955, 956,
1632 957, 958, 959, 960, 961, 963, 964, 965, 966, 967,
1633 968, 969, 970, 971, 972, 973, 974, 975, 962, 977,
1634 976, 978, 979, 980, 981, 982, 983, 984, 985, 986,
1635 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
1636 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
1637 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
1639 1017, 1018, 1019, 1020, 1022, 1023, 1024, 1027, 1028, 1029,
1640 1021, 1032, 1030, 1025, 1033, 1034, 1035, 1026, 1031, 1036,
1641 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
1642 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056,
1643 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066,
1644 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1049,
1645 1076, 1077, 1050, 1078, 1079, 1053, 1080, 1081, 1082, 1083,
1646 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
1647 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
1648 1104, 1106, 1107, 1108, 1109, 1105, 1110, 1111, 1112, 1113,
1650 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
1651 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1134,
1652 1135, 1136, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
1653 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
1654 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
1655 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173,
1656 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
1657 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1193, 1191, 1194,
1658 1195, 1192, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
1659 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
1661 1214, 1215, 1189, 1188, 1216, 1190, 1191, 1192, 1217, 1218,
1662 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
1663 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
1664 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1248, 1249,
1665 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
1666 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
1667 1270, 1271, 1272, 1273, 1274, 1276, 1277, 1278, 1279, 1280,
1668 1281, 1282, 1283, 1284, 1285, 1275, 1286, 1287, 1288, 1289,
1669 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
1670 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1247, 1308,
1672 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
1673 1319, 1320, 1321, 1322, 1323, 1325, 1324, 1326, 1327, 1328,
1674 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1675 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
1676 1349, 1350, 1322, 1324, 1325, 1326, 1351, 1352, 1353, 1354,
1677 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
1678 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374,
1679 1375, 1376, 1378, 1380, 1381, 1382, 1377, 1383, 1384, 1385,
1680 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395,
1681 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
1683 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1684 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1379,
1685 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
1686 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
1687 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1452, 1454,
1688 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464,
1689 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474,
1690 1475, 1450, 1476, 1449, 1452, 1451, 1453, 1477, 1478, 1479,
1691 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489,
1692 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499,
1694 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509,
1695 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519,
1696 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529,
1697 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1538, 1539, 1540,
1698 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550,
1699 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
1700 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
1701 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581,
1702 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1563,
1703 1564, 1591, 1537, 1565, 1592, 1593, 1594, 1595, 1596, 1597,
1705 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
1706 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1573, 1616,
1707 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627,
1708 1620, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
1709 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1647,
1710 1648, 1649, 1650, 1646, 1651, 1652, 1653, 1654, 1655, 1656,
1711 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
1712 1668, 1669, 1670, 1673, 1667, 1672, 1674, 1675, 1676, 1677,
1713 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687,
1714 1688, 1689, 1690, 1691, 1692, 1693, 1671, 1669, 1694, 1668,
1716 1695, 1672, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
1717 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
1718 1714, 1715, 1716, 1717, 1671, 1718, 1719, 1720, 1721, 1722,
1719 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732,
1720 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1745,
1721 1742, 1746, 1747, 1743, 1748, 1749, 1744, 1750, 1751, 1752,
1722 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762,
1723 1763, 1764, 1766, 1765, 1767, 1768, 1769, 1770, 1771, 1772,
1724 1773, 1774, 1775, 1776, 1777, 1778, 1781, 1782, 1783, 1779,
1725 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1763, 1764, 1765,
1727 1780, 1766, 1767, 1791, 1792, 1793, 1794, 1795, 1796, 1797,
1728 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1806, 1807, 1808,
1729 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
1730 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
1731 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838,
1732 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848,
1733 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1858, 1857,
1734 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1805, 1866, 1867,
1735 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877,
1736 1878, 1879, 1880, 1856, 1881, 1855, 1857, 1858, 1882, 1859,
1738 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892,
1739 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902,
1740 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912,
1741 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922,
1742 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,
1743 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942,
1744 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952,
1745 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1933, 1935, 1960,
1746 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970,
1747 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
1749 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
1750 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 1995, 2000,
1751 2001, 2002, 2004, 2003, 2005, 2006, 2007, 2008, 2009, 2010,
1752 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020,
1753 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2002, 2003,
1754 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038,
1755 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
1756 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058,
1757 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068,
1758 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078,
1760 2079, 2080, 2081, 2056, 2057, 2082, 2058, 2083, 2084, 2085,
1761 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095,
1762 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2104, 2105, 2103,
1763 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115,
1764 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125,
1765 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2107, 2109,
1766 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143,
1767 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153,
1768 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163,
1769 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173,
1771 2174, 2175, 2176, 2177, 2152, 2178, 2153, 2179, 2180, 2181,
1772 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2190, 2189, 2191,
1773 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201,
1774 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211,
1775 2212, 2213, 2214, 2188, 2189, 2215, 2216, 2217, 2218, 2219,
1776 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229,
1777 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239,
1778 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2221, 2247, 2248,
1779 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
1780 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268,
1782 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278,
1783 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288,
1784 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298,
1785 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2308, 2307,
1786 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318,
1787 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328,
1788 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338,
1789 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348,
1790 2349, 2350, 2351, 2352, 2353, 2354, 12, 12, 12, 36,
1791 36, 36, 80, 99, 80, 101, 101, 101, 116, 116,
1793 116, 191, 871, 191, 212, 212, 212, 870, 869, 868,
1794 867, 866, 865, 864, 863, 862, 861, 860, 859, 858,
1795 857, 856, 855, 854, 853, 852, 851, 847, 846, 845,
1796 844, 843, 842, 841, 840, 839, 838, 837, 836, 835,
1797 834, 833, 832, 831, 830, 829, 828, 827, 826, 825,
1798 824, 821, 820, 819, 818, 817, 816, 815, 814, 813,
1799 812, 811, 810, 809, 808, 807, 806, 805, 804, 803,
1800 802, 801, 800, 799, 798, 797, 796, 795, 794, 793,
1801 790, 789, 788, 787, 786, 785, 784, 783, 782, 781,
1802 780, 779, 778, 777, 776, 775, 774, 773, 772, 769,
1804 768, 766, 760, 759, 758, 757, 756, 755, 754, 753,
1805 752, 751, 750, 749, 748, 747, 746, 745, 744, 743,
1806 742, 741, 740, 739, 738, 737, 734, 733, 732, 731,
1807 730, 729, 728, 727, 726, 725, 724, 723, 722, 721,
1808 720, 719, 718, 717, 716, 715, 714, 713, 712, 711,
1809 710, 709, 708, 707, 706, 705, 704, 703, 702, 701,
1810 700, 699, 697, 696, 695, 694, 693, 692, 691, 690,
1811 689, 686, 685, 684, 683, 682, 681, 680, 679, 678,
1812 677, 676, 675, 674, 673, 672, 671, 670, 669, 668,
1813 667, 664, 663, 662, 661, 660, 659, 658, 657, 656,
1815 655, 651, 650, 641, 640, 639, 638, 637, 636, 635,
1816 634, 633, 632, 631, 630, 629, 628, 627, 626, 624,
1817 620, 619, 618, 617, 615, 614, 613, 612, 611, 608,
1818 607, 606, 605, 604, 603, 602, 601, 600, 599, 598,
1819 597, 596, 595, 594, 593, 592, 591, 588, 587, 586,
1820 585, 584, 583, 582, 581, 580, 577, 576, 573, 572,
1821 571, 570, 569, 565, 564, 563, 562, 561, 560, 559,
1822 558, 557, 556, 555, 554, 553, 552, 551, 547, 546,
1823 545, 544, 543, 542, 541, 537, 536, 535, 534, 533,
1824 532, 531, 530, 529, 528, 527, 526, 521, 520, 519,
1826 518, 517, 516, 515, 514, 513, 512, 511, 510, 509,
1827 508, 507, 504, 503, 502, 501, 500, 499, 498, 497,
1828 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
1829 486, 485, 484, 482, 480, 479, 476, 474, 469, 466,
1830 465, 462, 461, 460, 458, 457, 456, 454, 453, 452,
1831 449, 448, 447, 446, 445, 444, 443, 442, 441, 440,
1832 439, 438, 437, 436, 435, 432, 431, 430, 429, 428,
1833 427, 426, 425, 424, 423, 422, 421, 418, 417, 413,
1834 412, 411, 408, 406, 405, 404, 403, 402, 401, 397,
1835 396, 395, 394, 393, 392, 391, 388, 387, 386, 385,
1837 384, 383, 382, 381, 380, 379, 378, 377, 376, 375,
1838 374, 373, 372, 371, 370, 369, 368, 367, 366, 365,
1839 364, 358, 357, 356, 355, 354, 353, 352, 351, 350,
1840 349, 348, 213, 342, 340, 335, 332, 331, 324, 323,
1841 322, 321, 319, 317, 313, 312, 311, 308, 307, 306,
1842 290, 284, 279, 278, 277, 274, 271, 270, 269, 268,
1843 267, 266, 263, 262, 261, 258, 257, 256, 255, 254,
1844 253, 249, 248, 240, 239, 238, 237, 236, 233, 232,
1845 231, 227, 224, 220, 219, 218, 213, 207, 203, 200,
1846 199, 198, 189, 169, 148, 122, 107, 104, 43, 100,
1848 98, 97, 88, 43, 2355, 11, 2355, 2355, 2355, 2355,
1849 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1850 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1851 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1852 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1853 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1854 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1855 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
1861 0, 1, 1, 1, 0, 1, 1, 44, 1, 1,
1862 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1863 21, 274, 3, 3, 3, 21, 1, 1, 3, 4,
1864 4, 4, 13, 1, 13, 4, 0, 0, 1, 26,
1865 5, 5, 5, 27, 1, 31, 1, 44, 6, 6,
1866 6, 109, 1, 1, 7, 7, 7, 37, 7, 37,
1867 730, 1, 8, 8, 8, 26, 8, 1, 274, 74,
1868 28, 31, 27, 74, 1, 1, 2, 2, 2, 109,
1869 2, 2, 32, 2, 2, 2, 2, 2, 2, 2,
1870 2, 2, 2, 2, 2, 5, 9, 9, 9, 28,
1872 33, 2, 2, 6, 10, 10, 10, 42, 2, 42,
1873 62, 32, 62, 2, 52, 139, 9, 48, 49, 2,
1874 51, 2, 55, 62, 10, 131, 131, 2, 2, 33,
1875 257, 139, 25, 62, 25, 731, 2, 25, 25, 25,
1876 25, 25, 2, 52, 48, 49, 51, 257, 55, 2,
1877 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1878 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1879 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1880 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1881 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1883 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1884 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1885 15, 15, 15, 15, 15, 15, 15, 17, 56, 17,
1886 17, 17, 17, 17, 19, 91, 19, 19, 19, 19,
1887 19, 63, 17, 20, 20, 20, 20, 20, 22, 19,
1888 22, 22, 22, 22, 22, 56, 20, 53, 182, 54,
1889 92, 58, 91, 22, 182, 53, 61, 63, 17, 61,
1890 61, 54, 64, 61, 61, 19, 65, 72, 63, 64,
1891 106, 72, 20, 53, 65, 54, 61, 92, 58, 22,
1892 45, 72, 94, 53, 58, 431, 45, 58, 45, 45,
1894 54, 45, 172, 172, 45, 101, 106, 45, 66, 57,
1895 153, 66, 45, 45, 153, 45, 57, 732, 66, 94,
1896 66, 79, 45, 45, 45, 45, 45, 45, 45, 45,
1897 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1898 45, 45, 45, 45, 45, 101, 60, 431, 79, 57,
1899 68, 68, 77, 57, 68, 69, 93, 57, 79, 69,
1900 68, 115, 125, 69, 125, 57, 60, 733, 70, 57,
1901 60, 57, 57, 60, 60, 69, 70, 60, 77, 69,
1902 60, 71, 96, 105, 60, 93, 95, 115, 77, 71,
1903 70, 71, 70, 77, 70, 75, 71, 71, 216, 75,
1905 108, 112, 75, 110, 70, 162, 76, 76, 734, 75,
1906 75, 96, 105, 95, 75, 75, 76, 81, 81, 81,
1907 81, 81, 89, 89, 89, 89, 89, 108, 76, 112,
1908 81, 82, 110, 82, 82, 82, 82, 82, 137, 735,
1909 137, 113, 76, 83, 76, 83, 82, 76, 83, 83,
1910 83, 83, 83, 114, 162, 216, 81, 76, 85, 85,
1911 85, 85, 85, 84, 76, 84, 84, 84, 84, 84,
1912 113, 85, 82, 90, 90, 90, 90, 90, 84, 103,
1913 119, 114, 123, 127, 160, 736, 103, 142, 138, 149,
1914 142, 123, 127, 127, 142, 123, 168, 85, 119, 168,
1916 168, 138, 149, 169, 84, 138, 177, 169, 173, 119,
1917 181, 184, 173, 160, 166, 160, 173, 186, 171, 103,
1918 177, 192, 193, 103, 281, 229, 369, 103, 229, 166,
1919 166, 166, 369, 194, 281, 103, 265, 195, 181, 103,
1920 184, 103, 103, 118, 197, 186, 196, 737, 204, 193,
1921 192, 118, 118, 118, 118, 118, 171, 171, 171, 194,
1922 118, 118, 118, 118, 118, 118, 195, 171, 201, 171,
1923 197, 171, 171, 196, 171, 171, 202, 204, 205, 206,
1924 278, 207, 209, 211, 217, 230, 118, 118, 118, 118,
1925 118, 118, 265, 230, 201, 265, 310, 294, 310, 230,
1927 294, 272, 202, 318, 314, 206, 205, 207, 209, 314,
1928 217, 211, 215, 215, 215, 215, 215, 322, 325, 278,
1929 328, 215, 215, 215, 215, 215, 215, 272, 332, 318,
1930 333, 334, 338, 278, 336, 339, 347, 385, 332, 407,
1931 398, 398, 385, 318, 325, 398, 328, 215, 215, 215,
1932 215, 215, 215, 406, 478, 621, 680, 680, 334, 333,
1933 336, 338, 339, 406, 424, 347, 434, 444, 407, 424,
1934 434, 444, 322, 344, 344, 344, 344, 344, 472, 589,
1935 478, 621, 344, 344, 344, 344, 344, 344, 480, 464,
1936 480, 483, 517, 385, 464, 539, 550, 517, 385, 738,
1938 739, 550, 505, 622, 623, 539, 617, 472, 344, 344,
1939 344, 344, 344, 344, 625, 505, 480, 505, 480, 625,
1940 483, 617, 740, 742, 743, 424, 481, 481, 481, 481,
1941 481, 622, 617, 623, 589, 481, 481, 481, 481, 481,
1942 481, 502, 629, 649, 744, 502, 649, 706, 746, 629,
1943 617, 747, 706, 502, 748, 502, 502, 502, 502, 502,
1944 745, 481, 481, 481, 481, 481, 481, 749, 750, 751,
1945 752, 745, 753, 754, 755, 756, 758, 759, 761, 762,
1946 764, 763, 766, 767, 765, 768, 769, 770, 771, 706,
1947 772, 773, 774, 775, 776, 777, 778, 779, 781, 780,
1949 780, 777, 780, 782, 783, 784, 762, 761, 763, 764,
1950 765, 785, 786, 787, 788, 789, 790, 791, 792, 793,
1951 794, 795, 796, 797, 798, 799, 800, 801, 802, 803,
1952 804, 805, 802, 806, 807, 808, 802, 809, 811, 812,
1953 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1954 823, 824, 825, 826, 827, 828, 829, 830, 817, 831,
1955 830, 832, 833, 835, 836, 837, 838, 839, 840, 841,
1956 842, 843, 844, 845, 846, 847, 849, 850, 851, 852,
1957 853, 854, 855, 856, 857, 858, 859, 860, 861, 862,
1958 863, 864, 865, 866, 867, 868, 869, 870, 871, 872,
1960 873, 874, 875, 876, 877, 878, 878, 879, 880, 881,
1961 876, 883, 882, 878, 884, 885, 887, 878, 882, 888,
1962 889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
1963 899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
1964 909, 910, 911, 912, 913, 914, 915, 916, 917, 918,
1965 920, 921, 922, 923, 924, 925, 926, 927, 928, 901,
1966 929, 930, 902, 931, 932, 905, 933, 934, 935, 936,
1967 937, 938, 939, 940, 941, 942, 943, 944, 945, 946,
1968 947, 948, 949, 950, 951, 953, 954, 955, 956, 957,
1969 958, 959, 960, 961, 962, 958, 963, 964, 965, 966,
1971 967, 968, 969, 970, 973, 974, 975, 976, 977, 978,
1972 981, 982, 983, 984, 985, 986, 987, 989, 990, 991,
1973 992, 993, 990, 994, 995, 996, 997, 998, 999, 1003,
1974 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
1975 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023,
1976 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
1977 1034, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
1978 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1054, 1052, 1055,
1979 1056, 1053, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1065,
1980 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
1982 1076, 1077, 1050, 1049, 1078, 1051, 1052, 1053, 1079, 1080,
1983 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1090, 1091,
1984 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101,
1985 1102, 1103, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
1986 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
1987 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133,
1988 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1143, 1144,
1989 1145, 1146, 1147, 1149, 1150, 1138, 1151, 1152, 1153, 1154,
1990 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164,
1991 1165, 1166, 1167, 1169, 1170, 1171, 1172, 1173, 1110, 1174,
1993 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1994 1185, 1186, 1187, 1188, 1189, 1191, 1190, 1192, 1194, 1195,
1995 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1205, 1206, 1207,
1996 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217,
1997 1218, 1219, 1188, 1190, 1191, 1192, 1220, 1221, 1222, 1224,
1998 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234,
1999 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
2000 1245, 1247, 1248, 1249, 1250, 1251, 1247, 1252, 1253, 1254,
2001 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
2002 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274,
2004 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1283, 1284, 1285,
2005 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1248,
2006 1296, 1297, 1298, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
2007 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316,
2008 1317, 1318, 1319, 1320, 1322, 1323, 1324, 1326, 1325, 1327,
2009 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1338,
2010 1339, 1340, 1341, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
2011 1350, 1323, 1351, 1322, 1325, 1324, 1326, 1353, 1354, 1355,
2012 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
2013 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1374, 1375, 1377,
2015 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
2016 1389, 1390, 1391, 1392, 1394, 1396, 1397, 1398, 1399, 1401,
2017 1402, 1403, 1404, 1405, 1406, 1407, 1409, 1411, 1413, 1414,
2018 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
2019 1425, 1426, 1427, 1428, 1430, 1431, 1432, 1433, 1434, 1435,
2020 1436, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
2021 1448, 1449, 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458,
2022 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469,
2023 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1450,
2024 1451, 1479, 1421, 1452, 1480, 1481, 1482, 1483, 1484, 1485,
2026 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
2027 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1461, 1505,
2028 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1516,
2029 1508, 1517, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
2030 1528, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537, 1538,
2031 1539, 1540, 1542, 1537, 1542, 1543, 1545, 1546, 1549, 1550,
2032 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1560, 1561,
2033 1562, 1563, 1564, 1567, 1561, 1565, 1568, 1569, 1570, 1571,
2034 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
2035 1583, 1584, 1585, 1586, 1587, 1588, 1564, 1563, 1589, 1562,
2037 1590, 1565, 1591, 1593, 1594, 1595, 1597, 1598, 1599, 1600,
2038 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
2039 1612, 1614, 1615, 1617, 1564, 1618, 1619, 1620, 1621, 1622,
2040 1623, 1624, 1625, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
2041 1634, 1635, 1636, 1639, 1640, 1642, 1643, 1644, 1646, 1647,
2042 1646, 1648, 1649, 1646, 1650, 1651, 1646, 1652, 1653, 1654,
2043 1655, 1656, 1657, 1658, 1659, 1660, 1662, 1664, 1665, 1667,
2044 1668, 1669, 1671, 1670, 1672, 1674, 1676, 1677, 1678, 1680,
2045 1681, 1682, 1683, 1684, 1685, 1686, 1688, 1689, 1690, 1687,
2046 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1668, 1669, 1670,
2048 1687, 1671, 1672, 1698, 1699, 1700, 1701, 1702, 1703, 1704,
2049 1705, 1706, 1707, 1708, 1709, 1709, 1710, 1711, 1712, 1713,
2050 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723,
2051 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733,
2052 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743,
2053 1744, 1745, 1746, 1748, 1749, 1750, 1751, 1752, 1753, 1754,
2054 1755, 1756, 1758, 1759, 1760, 1762, 1763, 1764, 1766, 1765,
2055 1767, 1769, 1770, 1773, 1774, 1775, 1777, 1710, 1778, 1779,
2056 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789,
2057 1790, 1792, 1794, 1764, 1795, 1763, 1765, 1766, 1796, 1767,
2059 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1805, 1806, 1807,
2060 1808, 1809, 1811, 1812, 1814, 1815, 1816, 1818, 1819, 1820,
2061 1822, 1823, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
2062 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843,
2063 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1854,
2064 1855, 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1865, 1866,
2065 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876,
2066 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1855, 1857, 1884,
2067 1885, 1887, 1888, 1889, 1891, 1892, 1893, 1894, 1895, 1897,
2068 1898, 1899, 1900, 1901, 1903, 1904, 1905, 1906, 1907, 1908,
2070 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918,
2071 1919, 1921, 1922, 1924, 1926, 1928, 1929, 1930, 1924, 1931,
2072 1933, 1935, 1938, 1936, 1940, 1941, 1942, 1943, 1944, 1945,
2073 1946, 1947, 1949, 1950, 1951, 1952, 1954, 1955, 1956, 1957,
2074 1958, 1959, 1961, 1962, 1963, 1964, 1965, 1966, 1935, 1936,
2075 1967, 1968, 1969, 1970, 1972, 1973, 1974, 1976, 1977, 1978,
2076 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1987, 1988, 1989,
2077 1990, 1992, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003,
2078 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014,
2079 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
2081 2025, 2027, 2028, 2001, 2002, 2030, 2003, 2031, 2032, 2033,
2082 2034, 2035, 2036, 2037, 2038, 2040, 2042, 2043, 2044, 2045,
2083 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2052,
2084 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064,
2085 2065, 2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2075,
2086 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2056, 2058,
2087 2085, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098,
2088 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2109,
2089 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120,
2090 2121, 2122, 2123, 2124, 2125, 2126, 2128, 2129, 2130, 2131,
2092 2132, 2133, 2135, 2137, 2107, 2140, 2109, 2142, 2143, 2144,
2093 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2154, 2153, 2155,
2094 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2164, 2165, 2166,
2095 2167, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177,
2096 2178, 2179, 2180, 2152, 2153, 2181, 2183, 2184, 2185, 2186,
2097 2187, 2188, 2189, 2190, 2191, 2193, 2194, 2195, 2196, 2197,
2098 2198, 2199, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2208,
2099 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2188, 2216, 2217,
2100 2218, 2219, 2220, 2221, 2224, 2225, 2226, 2228, 2229, 2230,
2101 2231, 2233, 2234, 2235, 2236, 2237, 2238, 2242, 2245, 2246,
2103 2247, 2248, 2249, 2250, 2251, 2253, 2254, 2256, 2257, 2258,
2104 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2267, 2268, 2269,
2105 2270, 2271, 2272, 2274, 2275, 2277, 2279, 2280, 2281, 2282,
2106 2283, 2284, 2285, 2286, 2288, 2289, 2290, 2291, 2292, 2291,
2107 2293, 2294, 2295, 2297, 2298, 2300, 2303, 2304, 2305, 2306,
2108 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316,
2109 2317, 2318, 2319, 2320, 2322, 2323, 2324, 2325, 2326, 2329,
2110 2330, 2331, 2332, 2334, 2335, 2337, 2338, 2340, 2342, 2343,
2111 2345, 2346, 2347, 2348, 2349, 2351, 2356, 2356, 2356, 2357,
2112 2357, 2357, 2358, 2359, 2358, 2360, 2360, 2360, 2361, 2361,
2114 2361, 2362, 729, 2362, 2363, 2363, 2363, 728, 727, 725,
2115 724, 723, 722, 721, 720, 719, 718, 717, 716, 714,
2116 713, 712, 711, 710, 709, 708, 707, 705, 704, 703,
2117 702, 701, 700, 699, 698, 697, 696, 694, 693, 692,
2118 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
2119 681, 679, 678, 677, 676, 675, 674, 673, 672, 671,
2120 670, 669, 668, 667, 666, 664, 663, 662, 661, 660,
2121 659, 658, 657, 656, 655, 654, 653, 652, 651, 650,
2122 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
2123 638, 637, 636, 635, 634, 633, 632, 631, 630, 628,
2125 627, 624, 616, 615, 614, 613, 612, 611, 610, 608,
2126 607, 605, 604, 602, 601, 600, 599, 598, 597, 596,
2127 595, 594, 593, 592, 591, 590, 588, 587, 586, 585,
2128 584, 583, 582, 581, 580, 579, 578, 577, 576, 575,
2129 574, 573, 572, 571, 570, 568, 567, 565, 564, 563,
2130 562, 561, 560, 559, 558, 557, 556, 555, 554, 553,
2131 552, 551, 549, 548, 546, 545, 544, 543, 542, 541,
2132 540, 538, 537, 536, 535, 534, 533, 532, 531, 530,
2133 529, 528, 527, 526, 525, 524, 523, 521, 520, 519,
2134 518, 516, 515, 514, 513, 512, 511, 510, 509, 507,
2136 506, 504, 503, 500, 499, 498, 497, 496, 495, 493,
2137 492, 491, 490, 489, 488, 487, 486, 485, 484, 482,
2138 477, 475, 474, 473, 471, 470, 469, 466, 465, 463,
2139 462, 460, 459, 458, 457, 456, 455, 454, 453, 452,
2140 451, 450, 449, 448, 447, 446, 445, 443, 442, 441,
2141 440, 439, 438, 437, 436, 435, 433, 432, 430, 428,
2142 427, 426, 425, 423, 422, 421, 420, 419, 418, 417,
2143 416, 415, 414, 413, 412, 411, 410, 408, 405, 404,
2144 403, 402, 401, 400, 399, 397, 396, 395, 394, 393,
2145 392, 391, 390, 389, 388, 387, 386, 384, 383, 382,
2147 381, 380, 379, 378, 377, 376, 375, 374, 373, 372,
2148 371, 370, 368, 367, 366, 365, 364, 363, 362, 361,
2149 360, 359, 358, 357, 356, 355, 354, 353, 352, 351,
2150 350, 349, 348, 346, 343, 341, 337, 335, 331, 324,
2151 323, 321, 320, 319, 317, 316, 315, 313, 312, 311,
2152 309, 308, 307, 306, 305, 304, 303, 302, 301, 300,
2153 299, 298, 297, 296, 295, 293, 292, 291, 290, 289,
2154 288, 287, 286, 285, 284, 283, 282, 280, 279, 277,
2155 276, 275, 273, 271, 270, 269, 268, 267, 266, 264,
2156 263, 262, 261, 260, 259, 258, 256, 255, 253, 252,
2158 251, 250, 249, 248, 247, 246, 245, 244, 243, 242,
2159 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
2160 231, 228, 227, 226, 225, 224, 223, 222, 221, 220,
2161 219, 218, 212, 210, 208, 203, 200, 198, 190, 189,
2162 188, 187, 185, 183, 180, 179, 178, 176, 175, 174,
2163 170, 167, 165, 164, 163, 161, 159, 158, 157, 156,
2164 155, 154, 152, 151, 150, 148, 147, 146, 145, 144,
2165 143, 141, 140, 136, 135, 134, 133, 132, 130, 129,
2166 128, 126, 124, 122, 121, 120, 116, 111, 107, 104,
2167 99, 98, 78, 73, 67, 59, 50, 47, 43, 41,
2169 39, 38, 24, 14, 11, 2355, 2355, 2355, 2355, 2355,
2170 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2171 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2172 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2173 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2174 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2175 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2176 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355,
2181static char *yy_last_accepting_cpos;
2188 147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
2189 184, 191, 200, 209, 218, 227, 236, 245, 254, 264,
2190 273, 282, 291, 300, 309, 318, 327, 336, 345, 354,
2191 363, 372, 381, 390, 399, 411, 420, 429, 438, 449,
2192 460, 471, 482, 493, 504, 515, 526, 537, 548, 559,
2193 570, 579, 588, 597, 608, 619, 628, 639, 650, 661,
2194 672, 684, 696, 708, 719, 730, 739, 748, 757, 768,
2195 777, 786, 797, 808, 819, 830, 841, 852, 863, 874,
2196 885, 894, 903, 912, 922, 933, 943, 954, 963, 973,
2197 987, 1003, 1012, 1021, 1030, 1039, 1048, 1057, 1079, 1101,
2199 1110, 1120, 1129, 1140, 1149, 1158, 1167, 1176, 1185, 1196,
2200 1207, 1218, 1228, 1237, 1248, 1259, 1270, 1281, 1293, 1302,
2201 1311, 1320, 1329, 1338, 1347, 1356, 1365, 1374, 1383, 1393,
2202 1404, 1416, 1425, 1434, 1443, 1453, 1463, 1473, 1483, 1493,
2203 1503, 1512, 1522, 1531, 1540, 1549, 1558, 1568, 1578, 1587,
2204 1597, 1606, 1615, 1624, 1633, 1642, 1651, 1660, 1669, 1678,
2205 1687, 1696, 1705, 1714, 1723, 1732, 1741, 1750, 1759, 1768,
2206 1777, 1786, 1795, 1804, 1813, 1822, 1831, 1840, 1849, 1858,
2207 1867, 1876, 1885, 1894, 1903, 1912, 1924, 1936, 1946, 1956,
2208 1966, 1976, 1986, 1996, 2006, 2016, 2026, 2035, 2044, 2053,
2210 2062, 2073, 2084, 2097, 2110, 2123, 2132, 2141, 2150, 2159,
2211 2168, 2177, 2186, 2195, 2207, 2308, 2324, 2373, 2381, 2396,
2212 2397, 2398, 2399, 2400, 2401, 2403, 2421, 2434, 2439, 2443,
2219#define REJECT reject_used_but_not_detected
2220#define yymore() yymore_used_but_not_detected
2221#define YY_MORE_ADJ 0
2222#define YY_RESTORE_YY_MORE_OFFSET
2224#line 1 "dhcp4_lexer.ll"
2230#line 8 "dhcp4_lexer.ll"
2233#ifndef __clang_analyzer__
2243#include <boost/lexical_cast.hpp>
2257bool start_token_flag =
false;
2260unsigned int comment_start_line = 0;
2267#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2268#line 2268 "dhcp4_lexer.cc"
2283#define YY_NO_INPUT 1
2289#line 96 "dhcp4_lexer.ll"
2293#define YY_USER_ACTION driver.loc_.columns(yyleng);
2294#line 2294 "dhcp4_lexer.cc"
2295#line 2295 "dhcp4_lexer.cc"
2300#define DIR_INCLUDE 3
2303#ifndef YY_NO_UNISTD_H
2315#ifndef YY_EXTRA_TYPE
2316#define YY_EXTRA_TYPE void *
2323static int yy_init_globals (
void );
2366#ifndef YY_SKIP_YYWRAP
2368extern "C" int yywrap (
void );
2370extern int yywrap (
void );
2383static void yy_flex_strncpy (
char *,
const char *,
int );
2386#ifdef YY_NEED_STRLEN
2387static int yy_flex_strlen (
const char * );
2394static int yyinput (
void );
2396static int input (
void );
2408#ifndef YY_READ_BUF_SIZE
2411#define YY_READ_BUF_SIZE 16384
2413#define YY_READ_BUF_SIZE 8192
2423#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2433#define YY_INPUT(buf,result,max_size) \
2435 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2439 for ( n = 0; n < max_size && \
2440 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2441 buf[n] = (char) c; \
2443 buf[n++] = (char) c; \
2444 if ( c == EOF && ferror( yyin ) ) \
2445 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2451 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2453 if( errno != EINTR) \
2455 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2473#define yyterminate() return YY_NULL
2477#ifndef YY_START_STACK_INCR
2478#define YY_START_STACK_INCR 25
2482#ifndef YY_FATAL_ERROR
2484#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2505#define YY_DECL_IS_OURS 1
2508extern int yylex (
void);
2510#define YY_DECL int yylex (void)
2519#ifndef YY_USER_ACTION
2520#define YY_USER_ACTION
2525#define YY_BREAK break;
2529#define YY_RULE_SETUP \
2577#line 102 "dhcp4_lexer.ll"
2581#line 106 "dhcp4_lexer.ll"
2589 if (start_token_flag) {
2590 start_token_flag =
false;
2591 switch (start_token_value) {
2623#line 2623 "dhcp4_lexer.cc"
2628 yy_cp = (yy_c_buf_p);
2631 *
yy_cp = (yy_hold_char);
2639 yy_current_state = (yy_start);
2644 if ( yy_accept[yy_current_state] )
2646 (yy_last_accepting_state) = yy_current_state;
2647 (yy_last_accepting_cpos) =
yy_cp;
2649 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2651 yy_current_state = (int) yy_def[yy_current_state];
2652 if ( yy_current_state >= 2356 )
2653 yy_c = yy_meta[yy_c];
2655 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2658 while ( yy_current_state != 2355 );
2659 yy_cp = (yy_last_accepting_cpos);
2660 yy_current_state = (yy_last_accepting_state);
2664 yy_act = yy_accept[yy_current_state];
2676 fprintf( stderr,
"--scanner backing up\n" );
2678 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2680 else if (
yy_act == 234 )
2681 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2683 else if (
yy_act == 235 )
2684 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2686 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2694 *
yy_cp = (yy_hold_char);
2695 yy_cp = (yy_last_accepting_cpos);
2696 yy_current_state = (yy_last_accepting_state);
2697 goto yy_find_action;
2701#line 147 "dhcp4_lexer.ll"
2706#line 149 "dhcp4_lexer.ll"
2711#line 151 "dhcp4_lexer.ll"
2714 comment_start_line = driver.loc_.end.line;;
2719#line 156 "dhcp4_lexer.ll"
2724#line 157 "dhcp4_lexer.ll"
2728#line 158 "dhcp4_lexer.ll"
2735#line 162 "dhcp4_lexer.ll"
2740#line 163 "dhcp4_lexer.ll"
2745#line 164 "dhcp4_lexer.ll"
2750 std::string tmp(
yytext+1);
2751 tmp.resize(tmp.size() - 1);
2753 driver.includeFile(tmp);
2759#line 173 "dhcp4_lexer.ll"
2766#line 176 "dhcp4_lexer.ll"
2771#line 179 "dhcp4_lexer.ll"
2780#line 184 "dhcp4_lexer.ll"
2783 driver.loc_.lines(
yyleng);
2789#line 191 "dhcp4_lexer.ll"
2791 switch(driver.ctx_) {
2801#line 200 "dhcp4_lexer.ll"
2803 switch(driver.ctx_) {
2813#line 209 "dhcp4_lexer.ll"
2815 switch(driver.ctx_) {
2825#line 218 "dhcp4_lexer.ll"
2827 switch(driver.ctx_) {
2837#line 227 "dhcp4_lexer.ll"
2839 switch(driver.ctx_) {
2849#line 236 "dhcp4_lexer.ll"
2851 switch(driver.ctx_) {
2861#line 245 "dhcp4_lexer.ll"
2863 switch(driver.ctx_) {
2873#line 254 "dhcp4_lexer.ll"
2875 switch(driver.ctx_) {
2886#line 264 "dhcp4_lexer.ll"
2888 switch(driver.ctx_) {
2898#line 273 "dhcp4_lexer.ll"
2900 switch(driver.ctx_) {
2910#line 282 "dhcp4_lexer.ll"
2912 switch(driver.ctx_) {
2922#line 291 "dhcp4_lexer.ll"
2924 switch(driver.ctx_) {
2934#line 300 "dhcp4_lexer.ll"
2936 switch(driver.ctx_) {
2946#line 309 "dhcp4_lexer.ll"
2948 switch(driver.ctx_) {
2958#line 318 "dhcp4_lexer.ll"
2960 switch(driver.ctx_) {
2970#line 327 "dhcp4_lexer.ll"
2972 switch(driver.ctx_) {
2982#line 336 "dhcp4_lexer.ll"
2984 switch(driver.ctx_) {
2994#line 345 "dhcp4_lexer.ll"
2996 switch(driver.ctx_) {
3006#line 354 "dhcp4_lexer.ll"
3008 switch(driver.ctx_) {
3018#line 363 "dhcp4_lexer.ll"
3020 switch(driver.ctx_) {
3030#line 372 "dhcp4_lexer.ll"
3032 switch(driver.ctx_) {
3042#line 381 "dhcp4_lexer.ll"
3044 switch(driver.ctx_) {
3054#line 390 "dhcp4_lexer.ll"
3056 switch(driver.ctx_) {
3066#line 399 "dhcp4_lexer.ll"
3068 switch(driver.ctx_) {
3081#line 411 "dhcp4_lexer.ll"
3083 switch(driver.ctx_) {
3093#line 420 "dhcp4_lexer.ll"
3095 switch(driver.ctx_) {
3105#line 429 "dhcp4_lexer.ll"
3107 switch(driver.ctx_) {
3117#line 438 "dhcp4_lexer.ll"
3119 switch(driver.ctx_) {
3131#line 449 "dhcp4_lexer.ll"
3133 switch(driver.ctx_) {
3145#line 460 "dhcp4_lexer.ll"
3147 switch(driver.ctx_) {
3159#line 471 "dhcp4_lexer.ll"
3161 switch(driver.ctx_) {
3173#line 482 "dhcp4_lexer.ll"
3175 switch(driver.ctx_) {
3187#line 493 "dhcp4_lexer.ll"
3189 switch(driver.ctx_) {
3201#line 504 "dhcp4_lexer.ll"
3203 switch(driver.ctx_) {
3215#line 515 "dhcp4_lexer.ll"
3217 switch(driver.ctx_) {
3229#line 526 "dhcp4_lexer.ll"
3231 switch(driver.ctx_) {
3243#line 537 "dhcp4_lexer.ll"
3245 switch(driver.ctx_) {
3257#line 548 "dhcp4_lexer.ll"
3259 switch(driver.ctx_) {
3271#line 559 "dhcp4_lexer.ll"
3273 switch(driver.ctx_) {
3285#line 570 "dhcp4_lexer.ll"
3287 switch(driver.ctx_) {
3297#line 579 "dhcp4_lexer.ll"
3299 switch(driver.ctx_) {
3309#line 588 "dhcp4_lexer.ll"
3311 switch(driver.ctx_) {
3321#line 597 "dhcp4_lexer.ll"
3323 switch(driver.ctx_) {
3335#line 608 "dhcp4_lexer.ll"
3337 switch(driver.ctx_) {
3349#line 619 "dhcp4_lexer.ll"
3351 switch(driver.ctx_) {
3361#line 628 "dhcp4_lexer.ll"
3363 switch(driver.ctx_) {
3375#line 639 "dhcp4_lexer.ll"
3377 switch(driver.ctx_) {
3389#line 650 "dhcp4_lexer.ll"
3391 switch(driver.ctx_) {
3403#line 661 "dhcp4_lexer.ll"
3405 switch(driver.ctx_) {
3417#line 672 "dhcp4_lexer.ll"
3419 switch(driver.ctx_) {
3432#line 684 "dhcp4_lexer.ll"
3434 switch(driver.ctx_) {
3447#line 696 "dhcp4_lexer.ll"
3449 switch(driver.ctx_) {
3462#line 708 "dhcp4_lexer.ll"
3464 switch(driver.ctx_) {
3476#line 719 "dhcp4_lexer.ll"
3478 switch(driver.ctx_) {
3490#line 730 "dhcp4_lexer.ll"
3492 switch(driver.ctx_) {
3502#line 739 "dhcp4_lexer.ll"
3504 switch(driver.ctx_) {
3514#line 748 "dhcp4_lexer.ll"
3516 switch(driver.ctx_) {
3526#line 757 "dhcp4_lexer.ll"
3528 switch(driver.ctx_) {
3540#line 768 "dhcp4_lexer.ll"
3542 switch(driver.ctx_) {
3552#line 777 "dhcp4_lexer.ll"
3554 switch(driver.ctx_) {
3564#line 786 "dhcp4_lexer.ll"
3566 switch(driver.ctx_) {
3578#line 797 "dhcp4_lexer.ll"
3580 switch(driver.ctx_) {
3592#line 808 "dhcp4_lexer.ll"
3594 switch(driver.ctx_) {
3606#line 819 "dhcp4_lexer.ll"
3608 switch(driver.ctx_) {
3620#line 830 "dhcp4_lexer.ll"
3622 switch(driver.ctx_) {
3634#line 841 "dhcp4_lexer.ll"
3636 switch(driver.ctx_) {
3648#line 852 "dhcp4_lexer.ll"
3650 switch(driver.ctx_) {
3662#line 863 "dhcp4_lexer.ll"
3664 switch(driver.ctx_) {
3676#line 874 "dhcp4_lexer.ll"
3678 switch(driver.ctx_) {
3690#line 885 "dhcp4_lexer.ll"
3695 std::string tmp(
yytext+1);
3696 tmp.resize(tmp.size() - 1);
3702#line 894 "dhcp4_lexer.ll"
3707 std::string tmp(
yytext+1);
3708 tmp.resize(tmp.size() - 1);
3714#line 903 "dhcp4_lexer.ll"
3719 std::string tmp(
yytext+1);
3720 tmp.resize(tmp.size() - 1);
3726#line 912 "dhcp4_lexer.ll"
3731 std::string tmp(
yytext+1);
3732 tmp.resize(tmp.size() - 1);
3738#line 922 "dhcp4_lexer.ll"
3740 switch(driver.ctx_) {
3752#line 933 "dhcp4_lexer.ll"
3754 switch(driver.ctx_) {
3765#line 943 "dhcp4_lexer.ll"
3767 switch(driver.ctx_) {
3779#line 954 "dhcp4_lexer.ll"
3781 switch (driver.ctx_) {
3791#line 963 "dhcp4_lexer.ll"
3793 switch(driver.ctx_) {
3804#line 973 "dhcp4_lexer.ll"
3806 switch(driver.ctx_) {
3821#line 987 "dhcp4_lexer.ll"
3823 switch(driver.ctx_) {
3840#line 1003 "dhcp4_lexer.ll"
3842 switch(driver.ctx_) {
3852#line 1012 "dhcp4_lexer.ll"
3854 switch(driver.ctx_) {
3864#line 1021 "dhcp4_lexer.ll"
3866 switch(driver.ctx_) {
3876#line 1030 "dhcp4_lexer.ll"
3878 switch(driver.ctx_) {
3888#line 1039 "dhcp4_lexer.ll"
3890 switch(driver.ctx_) {
3900#line 1048 "dhcp4_lexer.ll"
3902 switch(driver.ctx_) {
3912#line 1057 "dhcp4_lexer.ll"
3914 switch(driver.ctx_) {
3937#line 1079 "dhcp4_lexer.ll"
3939 switch(driver.ctx_) {
3962#line 1101 "dhcp4_lexer.ll"
3964 switch(driver.ctx_) {
3974#line 1110 "dhcp4_lexer.ll"
3976 switch(driver.ctx_) {
3987#line 1120 "dhcp4_lexer.ll"
3989 switch(driver.ctx_) {
3999#line 1129 "dhcp4_lexer.ll"
4001 switch(driver.ctx_) {
4013#line 1140 "dhcp4_lexer.ll"
4015 switch(driver.ctx_) {
4025#line 1149 "dhcp4_lexer.ll"
4027 switch(driver.ctx_) {
4037#line 1158 "dhcp4_lexer.ll"
4039 switch(driver.ctx_) {
4049#line 1167 "dhcp4_lexer.ll"
4051 switch(driver.ctx_) {
4061#line 1176 "dhcp4_lexer.ll"
4063 switch(driver.ctx_) {
4073#line 1185 "dhcp4_lexer.ll"
4075 switch(driver.ctx_) {
4087#line 1196 "dhcp4_lexer.ll"
4089 switch(driver.ctx_) {
4101#line 1207 "dhcp4_lexer.ll"
4103 switch(driver.ctx_) {
4115#line 1218 "dhcp4_lexer.ll"
4117 switch(driver.ctx_) {
4128#line 1228 "dhcp4_lexer.ll"
4130 switch(driver.ctx_) {
4140#line 1237 "dhcp4_lexer.ll"
4142 switch(driver.ctx_) {
4154#line 1248 "dhcp4_lexer.ll"
4156 switch(driver.ctx_) {
4168#line 1259 "dhcp4_lexer.ll"
4170 switch(driver.ctx_) {
4182#line 1270 "dhcp4_lexer.ll"
4184 switch(driver.ctx_) {
4196#line 1281 "dhcp4_lexer.ll"
4198 switch(driver.ctx_) {
4210#line 1293 "dhcp4_lexer.ll"
4212 switch(driver.ctx_) {
4222#line 1302 "dhcp4_lexer.ll"
4224 switch(driver.ctx_) {
4234#line 1311 "dhcp4_lexer.ll"
4236 switch(driver.ctx_) {
4246#line 1320 "dhcp4_lexer.ll"
4248 switch(driver.ctx_) {
4258#line 1329 "dhcp4_lexer.ll"
4260 switch(driver.ctx_) {
4270#line 1338 "dhcp4_lexer.ll"
4272 switch(driver.ctx_) {
4282#line 1347 "dhcp4_lexer.ll"
4284 switch(driver.ctx_) {
4294#line 1356 "dhcp4_lexer.ll"
4296 switch(driver.ctx_) {
4306#line 1365 "dhcp4_lexer.ll"
4308 switch(driver.ctx_) {
4318#line 1374 "dhcp4_lexer.ll"
4320 switch(driver.ctx_) {
4330#line 1383 "dhcp4_lexer.ll"
4332 switch(driver.ctx_) {
4343#line 1393 "dhcp4_lexer.ll"
4345 switch(driver.ctx_) {
4357#line 1404 "dhcp4_lexer.ll"
4359 switch(driver.ctx_) {
4372#line 1416 "dhcp4_lexer.ll"
4374 switch(driver.ctx_) {
4384#line 1425 "dhcp4_lexer.ll"
4386 switch(driver.ctx_) {
4396#line 1434 "dhcp4_lexer.ll"
4398 switch(driver.ctx_) {
4408#line 1443 "dhcp4_lexer.ll"
4410 switch(driver.ctx_) {
4421#line 1453 "dhcp4_lexer.ll"
4423 switch(driver.ctx_) {
4434#line 1463 "dhcp4_lexer.ll"
4436 switch(driver.ctx_) {
4447#line 1473 "dhcp4_lexer.ll"
4449 switch(driver.ctx_) {
4460#line 1483 "dhcp4_lexer.ll"
4462 switch(driver.ctx_) {
4473#line 1493 "dhcp4_lexer.ll"
4475 switch(driver.ctx_) {
4486#line 1503 "dhcp4_lexer.ll"
4488 switch(driver.ctx_) {
4498#line 1512 "dhcp4_lexer.ll"
4500 switch(driver.ctx_) {
4511#line 1522 "dhcp4_lexer.ll"
4513 switch(driver.ctx_) {
4523#line 1531 "dhcp4_lexer.ll"
4525 switch(driver.ctx_) {
4535#line 1540 "dhcp4_lexer.ll"
4537 switch(driver.ctx_) {
4547#line 1549 "dhcp4_lexer.ll"
4549 switch(driver.ctx_) {
4559#line 1558 "dhcp4_lexer.ll"
4561 switch(driver.ctx_) {
4572#line 1568 "dhcp4_lexer.ll"
4574 switch(driver.ctx_) {
4585#line 1578 "dhcp4_lexer.ll"
4587 switch(driver.ctx_) {
4597#line 1587 "dhcp4_lexer.ll"
4599 switch(driver.ctx_) {
4609#line 1597 "dhcp4_lexer.ll"
4611 switch(driver.ctx_) {
4621#line 1606 "dhcp4_lexer.ll"
4623 switch(driver.ctx_) {
4633#line 1615 "dhcp4_lexer.ll"
4635 switch(driver.ctx_) {
4645#line 1624 "dhcp4_lexer.ll"
4647 switch(driver.ctx_) {
4657#line 1633 "dhcp4_lexer.ll"
4659 switch(driver.ctx_) {
4669#line 1642 "dhcp4_lexer.ll"
4671 switch(driver.ctx_) {
4681#line 1651 "dhcp4_lexer.ll"
4683 switch(driver.ctx_) {
4693#line 1660 "dhcp4_lexer.ll"
4695 switch(driver.ctx_) {
4705#line 1669 "dhcp4_lexer.ll"
4707 switch(driver.ctx_) {
4717#line 1678 "dhcp4_lexer.ll"
4719 switch(driver.ctx_) {
4729#line 1687 "dhcp4_lexer.ll"
4731 switch(driver.ctx_) {
4741#line 1696 "dhcp4_lexer.ll"
4743 switch(driver.ctx_) {
4753#line 1705 "dhcp4_lexer.ll"
4755 switch(driver.ctx_) {
4765#line 1714 "dhcp4_lexer.ll"
4767 switch(driver.ctx_) {
4777#line 1723 "dhcp4_lexer.ll"
4779 switch(driver.ctx_) {
4789#line 1732 "dhcp4_lexer.ll"
4791 switch(driver.ctx_) {
4801#line 1741 "dhcp4_lexer.ll"
4803 switch(driver.ctx_) {
4813#line 1750 "dhcp4_lexer.ll"
4815 switch(driver.ctx_) {
4825#line 1759 "dhcp4_lexer.ll"
4827 switch(driver.ctx_) {
4837#line 1768 "dhcp4_lexer.ll"
4839 switch(driver.ctx_) {
4849#line 1777 "dhcp4_lexer.ll"
4851 switch(driver.ctx_) {
4861#line 1786 "dhcp4_lexer.ll"
4863 switch(driver.ctx_) {
4873#line 1795 "dhcp4_lexer.ll"
4875 switch(driver.ctx_) {
4885#line 1804 "dhcp4_lexer.ll"
4887 switch(driver.ctx_) {
4897#line 1813 "dhcp4_lexer.ll"
4899 switch(driver.ctx_) {
4909#line 1822 "dhcp4_lexer.ll"
4911 switch(driver.ctx_) {
4921#line 1831 "dhcp4_lexer.ll"
4923 switch(driver.ctx_) {
4933#line 1840 "dhcp4_lexer.ll"
4935 switch(driver.ctx_) {
4945#line 1849 "dhcp4_lexer.ll"
4947 switch(driver.ctx_) {
4957#line 1858 "dhcp4_lexer.ll"
4959 switch(driver.ctx_) {
4969#line 1867 "dhcp4_lexer.ll"
4971 switch(driver.ctx_) {
4981#line 1876 "dhcp4_lexer.ll"
4983 switch(driver.ctx_) {
4993#line 1885 "dhcp4_lexer.ll"
4995 switch(driver.ctx_) {
5005#line 1894 "dhcp4_lexer.ll"
5007 switch(driver.ctx_) {
5017#line 1903 "dhcp4_lexer.ll"
5019 switch(driver.ctx_) {
5029#line 1912 "dhcp4_lexer.ll"
5031 switch(driver.ctx_) {
5044#line 1924 "dhcp4_lexer.ll"
5046 switch(driver.ctx_) {
5059#line 1936 "dhcp4_lexer.ll"
5065 std::string tmp(
yytext+1);
5066 tmp.resize(tmp.size() - 1);
5072#line 1946 "dhcp4_lexer.ll"
5078 std::string tmp(
yytext+1);
5079 tmp.resize(tmp.size() - 1);
5085#line 1956 "dhcp4_lexer.ll"
5091 std::string tmp(
yytext+1);
5092 tmp.resize(tmp.size() - 1);
5098#line 1966 "dhcp4_lexer.ll"
5104 std::string tmp(
yytext+1);
5105 tmp.resize(tmp.size() - 1);
5111#line 1976 "dhcp4_lexer.ll"
5117 std::string tmp(
yytext+1);
5118 tmp.resize(tmp.size() - 1);
5124#line 1986 "dhcp4_lexer.ll"
5130 std::string tmp(
yytext+1);
5131 tmp.resize(tmp.size() - 1);
5137#line 1996 "dhcp4_lexer.ll"
5143 std::string tmp(
yytext+1);
5144 tmp.resize(tmp.size() - 1);
5150#line 2006 "dhcp4_lexer.ll"
5156 std::string tmp(
yytext+1);
5157 tmp.resize(tmp.size() - 1);
5163#line 2016 "dhcp4_lexer.ll"
5169 std::string tmp(
yytext+1);
5170 tmp.resize(tmp.size() - 1);
5176#line 2026 "dhcp4_lexer.ll"
5178 switch(driver.ctx_) {
5188#line 2035 "dhcp4_lexer.ll"
5190 switch(driver.ctx_) {
5200#line 2044 "dhcp4_lexer.ll"
5202 switch(driver.ctx_) {
5212#line 2053 "dhcp4_lexer.ll"
5214 switch(driver.ctx_) {
5224#line 2062 "dhcp4_lexer.ll"
5226 switch(driver.ctx_) {
5238#line 2073 "dhcp4_lexer.ll"
5240 switch(driver.ctx_) {
5252#line 2084 "dhcp4_lexer.ll"
5254 switch(driver.ctx_) {
5268#line 2097 "dhcp4_lexer.ll"
5270 switch(driver.ctx_) {
5284#line 2110 "dhcp4_lexer.ll"
5286 switch(driver.ctx_) {
5300#line 2123 "dhcp4_lexer.ll"
5302 switch(driver.ctx_) {
5312#line 2132 "dhcp4_lexer.ll"
5314 switch(driver.ctx_) {
5324#line 2141 "dhcp4_lexer.ll"
5326 switch(driver.ctx_) {
5336#line 2150 "dhcp4_lexer.ll"
5338 switch(driver.ctx_) {
5348#line 2159 "dhcp4_lexer.ll"
5350 switch(driver.ctx_) {
5360#line 2168 "dhcp4_lexer.ll"
5362 switch(driver.ctx_) {
5372#line 2177 "dhcp4_lexer.ll"
5374 switch(driver.ctx_) {
5384#line 2186 "dhcp4_lexer.ll"
5386 switch(driver.ctx_) {
5396#line 2195 "dhcp4_lexer.ll"
5398 switch(driver.ctx_) {
5411#line 2207 "dhcp4_lexer.ll"
5416 std::string raw(
yytext+1);
5417 size_t len = raw.size() - 1;
5419 std::string decoded;
5420 decoded.reserve(len);
5421 for (
size_t pos = 0; pos < len; ++pos) {
5427 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5433 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5440 decoded.push_back(c);
5443 decoded.push_back(
'\b');
5446 decoded.push_back(
'\f');
5449 decoded.push_back(
'\n');
5452 decoded.push_back(
'\r');
5455 decoded.push_back(
'\t');
5460 if (pos + 4 > len) {
5462 driver.error(driver.loc_,
5463 "Overflow unicode escape in \"" + raw +
"\"");
5465 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5466 driver.error(driver.loc_,
5467 "Unsupported unicode escape in \"" + raw +
"\"",
5472 if ((c >=
'0') && (c <=
'9')) {
5474 }
else if ((c >=
'A') && (c <=
'F')) {
5475 b = (c -
'A' + 10) << 4;
5476 }
else if ((c >=
'a') && (c <=
'f')) {
5477 b = (c -
'a' + 10) << 4;
5480 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5484 if ((c >=
'0') && (c <=
'9')) {
5486 }
else if ((c >=
'A') && (c <=
'F')) {
5488 }
else if ((c >=
'a') && (c <=
'f')) {
5492 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5494 decoded.push_back(
static_cast<char>(b & 0xff));
5498 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5502 if ((c >= 0) && (c < 0x20)) {
5504 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5506 decoded.push_back(c);
5516#line 2308 "dhcp4_lexer.ll"
5519 std::string raw(
yytext+1);
5520 size_t len = raw.size() - 1;
5522 for (; pos < len; ++pos) {
5524 if ((c >= 0) && (c < 0x20)) {
5528 driver.error(driver.loc_,
5529 "Invalid control in " + std::string(
yytext),
5536#line 2324 "dhcp4_lexer.ll"
5539 std::string raw(
yytext+1);
5540 size_t len = raw.size() - 1;
5543 for (; pos < len; ++pos) {
5562 if ((pos + 4 > len) ||
5563 !std::isxdigit(raw[pos + 1]) ||
5564 !std::isxdigit(raw[pos + 2]) ||
5565 !std::isxdigit(raw[pos + 3]) ||
5566 !std::isxdigit(raw[pos + 4])) {
5577 std::string trailer =
"";
5578 if (raw[len - 1] ==
'\\') {
5581 driver.error(driver.loc_,
5582 "Bad escape in " + std::string(
yytext) + trailer,
5588#line 2373 "dhcp4_lexer.ll"
5591 std::string raw(
yytext+1);
5592 driver.error(driver.loc_,
5593 "Overflow escape in " + std::string(
yytext),
5599#line 2381 "dhcp4_lexer.ll"
5602 std::string raw(
yytext+1);
5603 size_t pos = raw.size() - 1;
5604 for (; pos > 0; --pos) {
5610 driver.error(driver.loc_,
5611 "Overflow unicode escape in " + std::string(
yytext),
5617#line 2396 "dhcp4_lexer.ll"
5622#line 2397 "dhcp4_lexer.ll"
5627#line 2398 "dhcp4_lexer.ll"
5632#line 2399 "dhcp4_lexer.ll"
5637#line 2400 "dhcp4_lexer.ll"
5642#line 2401 "dhcp4_lexer.ll"
5647#line 2403 "dhcp4_lexer.ll"
5651 int64_t integer = 0;
5657 integer = boost::lexical_cast<int64_t>(tmp);
5658 }
catch (
const boost::bad_lexical_cast &) {
5659 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5668#line 2421 "dhcp4_lexer.ll"
5674 fp = boost::lexical_cast<double>(tmp);
5675 }
catch (
const boost::bad_lexical_cast &) {
5676 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5684#line 2434 "dhcp4_lexer.ll"
5692#line 2439 "dhcp4_lexer.ll"
5699#line 2443 "dhcp4_lexer.ll"
5700driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5704#line 2445 "dhcp4_lexer.ll"
5705driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5709#line 2447 "dhcp4_lexer.ll"
5710driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5714#line 2449 "dhcp4_lexer.ll"
5715driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5718#line 2451 "dhcp4_lexer.ll"
5720 if (driver.states_.empty()) {
5723 driver.loc_ = driver.locs_.back();
5724 driver.locs_.pop_back();
5725 driver.file_ = driver.files_.back();
5726 driver.files_.pop_back();
5727 if (driver.sfile_) {
5728 fclose(driver.sfile_);
5731 if (!driver.sfiles_.empty()) {
5732 driver.sfile_ = driver.sfiles_.back();
5733 driver.sfiles_.pop_back();
5736 parser4__switch_to_buffer(driver.states_.back());
5737 driver.states_.pop_back();
5744#line 2474 "dhcp4_lexer.ll"
5747#line 5747 "dhcp4_lexer.cc"
5755 *
yy_cp = (yy_hold_char);
5789 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5791 yy_current_state = yy_get_previous_state( );
5802 yy_next_state = yy_try_NUL_trans( yy_current_state );
5806 if ( yy_next_state )
5809 yy_cp = ++(yy_c_buf_p);
5810 yy_current_state = yy_next_state;
5817 yy_cp = (yy_last_accepting_cpos);
5818 yy_current_state = (yy_last_accepting_state);
5819 goto yy_find_action;
5823 else switch ( yy_get_next_buffer( ) )
5827 (yy_did_buffer_switch_on_eof) = 0;
5848 if ( ! (yy_did_buffer_switch_on_eof) )
5858 yy_current_state = yy_get_previous_state( );
5860 yy_cp = (yy_c_buf_p);
5868 yy_current_state = yy_get_previous_state( );
5870 yy_cp = (yy_c_buf_p);
5872 goto yy_find_action;
5879 "fatal flex scanner internal error--no action found" );
5900static int yy_get_next_buffer (
void)
5907 int number_to_move, i;
5912 "fatal flex scanner internal error--end of buffer missed" );
5936 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5938 for ( i = 0; i < number_to_move; ++i )
5939 *(dest++) = *(source++);
5952 while ( num_to_read <= 0 )
5958 int yy_c_buf_p_offset =
5965 if ( new_size <= 0 )
5981 "fatal error - scanner input buffer overflow" );
5983 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
5995 (yy_n_chars), num_to_read );
6000 if ( (yy_n_chars) == 0 )
6021 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6025 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
6030 (yy_n_chars) += number_to_move;
6052 yy_current_state = (yy_start);
6058 if ( yy_accept[yy_current_state] )
6060 (yy_last_accepting_state) = yy_current_state;
6061 (yy_last_accepting_cpos) =
yy_cp;
6063 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6065 yy_current_state = (int) yy_def[yy_current_state];
6066 if ( yy_current_state >= 2356 )
6067 yy_c = yy_meta[yy_c];
6069 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6072 return yy_current_state;
6088 char *
yy_cp = (yy_c_buf_p);
6091 if ( yy_accept[yy_current_state] )
6093 (yy_last_accepting_state) = yy_current_state;
6094 (yy_last_accepting_cpos) =
yy_cp;
6096 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6098 yy_current_state = (int) yy_def[yy_current_state];
6099 if ( yy_current_state >= 2356 )
6100 yy_c = yy_meta[yy_c];
6102 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6103 yy_is_jam = (yy_current_state == 2355);
6105 return yy_is_jam ? 0 : yy_current_state;
6117 static int yyinput (
void)
6119 static int input (
void)
6128 *(yy_c_buf_p) = (yy_hold_char);
6138 *(yy_c_buf_p) =
'\0';
6142 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
6145 switch ( yy_get_next_buffer( ) )
6168 if ( ! (yy_did_buffer_switch_on_eof) )
6184 c = *(
unsigned char *) (yy_c_buf_p);
6185 *(yy_c_buf_p) =
'\0';
6186 (yy_hold_char) = *++(yy_c_buf_p);
6244 *(yy_c_buf_p) = (yy_hold_char);
6257 (yy_did_buffer_switch_on_eof) = 1;
6273 (yy_hold_char) = *(yy_c_buf_p);
6421 if (new_buffer == NULL)
6430 *(yy_c_buf_p) = (yy_hold_char);
6437 (yy_buffer_stack_top)++;
6442 (yy_did_buffer_switch_on_eof) = 1;
6462 if ((yy_buffer_stack_top) > 0)
6463 --(yy_buffer_stack_top);
6467 (yy_did_buffer_switch_on_eof) = 1;
6484 if (!(yy_buffer_stack)) {
6494 if ( ! (yy_buffer_stack) )
6495 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6497 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6499 (yy_buffer_stack_max) = num_to_alloc;
6500 (yy_buffer_stack_top) = 0;
6504 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6509 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6514 if ( ! (yy_buffer_stack) )
6515 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6518 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6519 (yy_buffer_stack_max) = num_to_alloc;
6598 for ( i = 0; i < _yybytes_len; ++i )
6599 buf[i] = yybytes[i];
6616#ifndef YY_EXIT_FAILURE
6617#define YY_EXIT_FAILURE 2
6621static void yynoreturn yy_fatal_error (
const char* msg )
6623 fprintf( stderr,
"%s\n", msg );
6637 int yyless_macro_arg = (n); \
6638 YY_LESS_LINENO(yyless_macro_arg);\
6639 yytext[yyleng] = (yy_hold_char); \
6640 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6641 (yy_hold_char) = *(yy_c_buf_p); \
6642 *(yy_c_buf_p) = '\0'; \
6643 yyleng = yyless_macro_arg; \
6742static int yy_init_globals (
void)
6748 (yy_buffer_stack) = NULL;
6749 (yy_buffer_stack_top) = 0;
6750 (yy_buffer_stack_max) = 0;
6751 (yy_c_buf_p) = NULL;
6784 yyfree((yy_buffer_stack) );
6785 (yy_buffer_stack) = NULL;
6802static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6806 for ( i = 0; i < n; ++i )
6811#ifdef YY_NEED_STRLEN
6812static int yy_flex_strlen (
const char * s )
6815 for ( n = 0; s[n]; ++n )
6824 return malloc(size);
6837 return realloc(ptr, size);
6842 free( (
char *) ptr );
6847#define YYTABLES_NAME "yytables"
6852#line 2474 "dhcp4_lexer.ll"
6860 start_token_flag =
true;
6861 start_token_value = parser_type;
6868 buffer = parser4__scan_bytes(str.c_str(), str.size());
6870 fatal(
"cannot scan string");
6877 const std::string& filename,
6880 start_token_flag =
true;
6881 start_token_value = parser_type;
6890 buffer = parser4__create_buffer(f, 65536 );
6892 fatal(
"cannot scan file " + filename);
6894 parser4__switch_to_buffer(buffer);
6902 static_cast<void>(parser4_lex_destroy());
6913 parser4__delete_buffer(
states_.back());
6921 fatal(
"Too many nested include.");
6924 FILE* f = fopen(filename.c_str(),
"r");
6926 fatal(
"Can't open include file " + filename);
6934 buffer = parser4__create_buffer(f, 65536 );
6936 fatal(
"Can't scan include file " + filename);
6938 parser4__switch_to_buffer(buffer);
6951 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
static symbol_type make_SAME_AS_INBOUND(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_RETRY_ON_STARTUP(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(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_MEMFILE(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_ALL(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_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_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_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_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(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_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_POSTGRESQL(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_MYSQL(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_GLOBAL(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_OUT_OF_POOL(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_READ_TIMEOUT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_EXTENDED_INFO_CHECKS(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_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_RESERVATION_MODE(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_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_REPLACE_CLIENT_NAME(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_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_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(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_DISABLED(const location_type &l)
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_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_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.
@ DATABASE_TYPE
Used while parsing Dhcp4/*-database/type.
@ 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.
@ RESERVATION_MODE
Used while parsing Dhcp4/reservation-mode.
@ 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...
@ 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.
@ 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.
@ 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.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ DHCP_SOCKET_TYPE
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
ParserType
Defines currently supported scopes.
@ PARSER_INTERFACES
This will parse the input as interfaces content.
@ PARSER_CONFIG_CONTROL
This will parse the input as config-control.
@ PARSER_DHCP_DDNS
This will parse the input as dhcp-ddns.
@ PARSER_DHCP4
This parser will parse the content as Dhcp4 config wrapped in a map (that's the regular config file)
@ PARSER_OPTION_DEFS
This will parse the input option definitions (for tests).
@ PARSER_HOST_RESERVATION
This will parse the input as host-reservation.
@ PARSER_OPTION_DATA
This will parse the input as option data.
@ PARSER_OPTION_DEF
This will parse the input as option definition.
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_POOL4
This will parse the input as pool4 content.
@ SUBPARSER_DHCP4
This parser will parse the content of Dhcp4 (without outer { } and without "Dhcp4").
@ PARSER_HOOKS_LIBRARY
This will parse the input as hooks-library.
@ PARSER_SUBNET4
This will parse the input as Subnet4 content.
FILE * sfile_
sFile (aka FILE)
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
isc::dhcp::location loc_
Location of the current token.
void includeFile(const std::string &filename)
Divert input to an include file.
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
std::vector< isc::dhcp::location > locs_
Location stack.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.