1 #line 1 "agent_lexer.cc"
3 #line 3 "agent_lexer.cc"
5 #define YY_INT_ALIGNED short int
12 #define yy_create_buffer agent__create_buffer
13 #define yy_delete_buffer agent__delete_buffer
14 #define yy_scan_buffer agent__scan_buffer
15 #define yy_scan_string agent__scan_string
16 #define yy_scan_bytes agent__scan_bytes
17 #define yy_init_buffer agent__init_buffer
18 #define yy_flush_buffer agent__flush_buffer
19 #define yy_load_buffer_state agent__load_buffer_state
20 #define yy_switch_to_buffer agent__switch_to_buffer
21 #define yypush_buffer_state agent_push_buffer_state
22 #define yypop_buffer_state agent_pop_buffer_state
23 #define yyensure_buffer_stack agent_ensure_buffer_stack
24 #define yy_flex_debug agent__flex_debug
26 #define yyleng agent_leng
27 #define yylex agent_lex
28 #define yylineno agent_lineno
29 #define yyout agent_out
30 #define yyrestart agent_restart
31 #define yytext agent_text
32 #define yywrap agent_wrap
33 #define yyalloc agent_alloc
34 #define yyrealloc agent_realloc
35 #define yyfree agent_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 agent__create_buffer_ALREADY_DEFINED
56 #define yy_create_buffer agent__create_buffer
59 #ifdef yy_delete_buffer
60 #define agent__delete_buffer_ALREADY_DEFINED
62 #define yy_delete_buffer agent__delete_buffer
66 #define agent__scan_buffer_ALREADY_DEFINED
68 #define yy_scan_buffer agent__scan_buffer
72 #define agent__scan_string_ALREADY_DEFINED
74 #define yy_scan_string agent__scan_string
78 #define agent__scan_bytes_ALREADY_DEFINED
80 #define yy_scan_bytes agent__scan_bytes
84 #define agent__init_buffer_ALREADY_DEFINED
86 #define yy_init_buffer agent__init_buffer
89 #ifdef yy_flush_buffer
90 #define agent__flush_buffer_ALREADY_DEFINED
92 #define yy_flush_buffer agent__flush_buffer
95 #ifdef yy_load_buffer_state
96 #define agent__load_buffer_state_ALREADY_DEFINED
98 #define yy_load_buffer_state agent__load_buffer_state
101 #ifdef yy_switch_to_buffer
102 #define agent__switch_to_buffer_ALREADY_DEFINED
104 #define yy_switch_to_buffer agent__switch_to_buffer
107 #ifdef yypush_buffer_state
108 #define agent_push_buffer_state_ALREADY_DEFINED
110 #define yypush_buffer_state agent_push_buffer_state
113 #ifdef yypop_buffer_state
114 #define agent_pop_buffer_state_ALREADY_DEFINED
116 #define yypop_buffer_state agent_pop_buffer_state
119 #ifdef yyensure_buffer_stack
120 #define agent_ensure_buffer_stack_ALREADY_DEFINED
122 #define yyensure_buffer_stack agent_ensure_buffer_stack
126 #define agent_lex_ALREADY_DEFINED
128 #define yylex agent_lex
132 #define agent_restart_ALREADY_DEFINED
134 #define yyrestart agent_restart
138 #define agent_lex_init_ALREADY_DEFINED
140 #define yylex_init agent_lex_init
143 #ifdef yylex_init_extra
144 #define agent_lex_init_extra_ALREADY_DEFINED
146 #define yylex_init_extra agent_lex_init_extra
150 #define agent_lex_destroy_ALREADY_DEFINED
152 #define yylex_destroy agent_lex_destroy
156 #define agent_get_debug_ALREADY_DEFINED
158 #define yyget_debug agent_get_debug
162 #define agent_set_debug_ALREADY_DEFINED
164 #define yyset_debug agent_set_debug
168 #define agent_get_extra_ALREADY_DEFINED
170 #define yyget_extra agent_get_extra
174 #define agent_set_extra_ALREADY_DEFINED
176 #define yyset_extra agent_set_extra
180 #define agent_get_in_ALREADY_DEFINED
182 #define yyget_in agent_get_in
186 #define agent_set_in_ALREADY_DEFINED
188 #define yyset_in agent_set_in
192 #define agent_get_out_ALREADY_DEFINED
194 #define yyget_out agent_get_out
198 #define agent_set_out_ALREADY_DEFINED
200 #define yyset_out agent_set_out
204 #define agent_get_leng_ALREADY_DEFINED
206 #define yyget_leng agent_get_leng
210 #define agent_get_text_ALREADY_DEFINED
212 #define yyget_text agent_get_text
216 #define agent_get_lineno_ALREADY_DEFINED
218 #define yyget_lineno agent_get_lineno
222 #define agent_set_lineno_ALREADY_DEFINED
224 #define yyset_lineno agent_set_lineno
228 #define agent_wrap_ALREADY_DEFINED
230 #define yywrap agent_wrap
236 #define agent_alloc_ALREADY_DEFINED
238 #define yyalloc agent_alloc
242 #define agent_realloc_ALREADY_DEFINED
244 #define yyrealloc agent_realloc
248 #define agent_free_ALREADY_DEFINED
250 #define yyfree agent_free
256 #define agent_text_ALREADY_DEFINED
258 #define yytext agent_text
262 #define agent_leng_ALREADY_DEFINED
264 #define yyleng agent_leng
268 #define agent_in_ALREADY_DEFINED
270 #define yyin agent_in
274 #define agent_out_ALREADY_DEFINED
276 #define yyout agent_out
280 #define agent__flex_debug_ALREADY_DEFINED
282 #define yy_flex_debug agent__flex_debug
286 #define agent_lineno_ALREADY_DEFINED
288 #define yylineno agent_lineno
315 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320 #ifndef __STDC_LIMIT_MACROS
321 #define __STDC_LIMIT_MACROS 1
324 #include <inttypes.h>
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)
383 #define yyconst const
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
561 static size_t yy_buffer_stack_top = 0;
562 static 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)]
588 static char yy_hold_char;
589 static int yy_n_chars;
593 static char *yy_c_buf_p = NULL;
594 static int yy_init = 0;
595 static int yy_start = 0;
600 static 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 agent_wrap() (1)
653 #define YY_SKIP_YYWRAP
669 #define yytext_ptr yytext
677 static int yy_get_next_buffer (
void );
678 static 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 58
695 #define YY_END_OF_BUFFER 59
705 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
706 59, 57, 10, 11, 57, 1, 51, 48, 51, 51,
707 57, 50, 49, 57, 57, 57, 57, 57, 44, 45,
708 57, 57, 57, 46, 47, 5, 5, 5, 57, 57,
709 57, 10, 11, 0, 0, 40, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 1, 51, 51, 0, 50, 51, 3, 2, 6,
712 0, 51, 0, 0, 0, 0, 0, 0, 4, 0,
713 0, 9, 0, 41, 0, 0, 0, 0, 0, 43,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
717 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
718 0, 0, 42, 0, 0, 0, 20, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 56, 54, 0, 53, 52, 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, 55, 52, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 0, 0, 0, 0, 29, 0, 0, 0, 0, 23,
727 0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
728 0, 18, 19, 32, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
731 31, 0, 0, 0, 0, 0, 0, 0, 27, 16,
732 0, 0, 0, 0, 0, 25, 28, 33, 0, 0,
733 0, 0, 0, 0, 0, 39, 0, 0, 0, 0,
734 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
735 0, 13, 14, 0, 0, 0, 0, 0, 0, 0,
736 35, 0, 0, 26, 0, 0, 0, 0, 0, 0,
738 0, 21, 22, 0, 0, 0, 0, 0, 15, 12,
739 0, 0, 0, 0, 0, 30, 17, 24, 0
742 static const YY_CHAR yy_ec[256] =
744 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
745 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
748 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
749 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
750 5, 20, 21, 5, 22, 23, 24, 25, 26, 27,
751 5, 5, 5, 5, 5, 28, 5, 29, 5, 5,
752 5, 30, 31, 32, 33, 5, 5, 5, 5, 5,
753 34, 35, 36, 5, 37, 5, 38, 39, 40, 41,
755 42, 43, 44, 45, 46, 5, 47, 48, 49, 50,
756 51, 52, 5, 53, 54, 55, 56, 57, 5, 58,
757 59, 60, 61, 5, 62, 5, 5, 5, 5, 5,
758 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
759 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
760 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
761 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
762 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
763 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
764 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
766 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
767 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
768 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
769 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
770 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
774 static const YY_CHAR yy_meta[63] =
776 1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
777 3, 3, 3, 5, 5, 5, 5, 3, 3, 3,
778 3, 5, 5, 5, 5, 5, 5, 3, 3, 3,
779 3, 3, 3, 3, 3, 3, 3, 5, 5, 5,
780 5, 5, 5, 3, 3, 3, 3, 3, 3, 3,
781 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
787 0, 0, 61, 64, 67, 0, 65, 69, 49, 66,
788 277, 2102, 86, 269, 129, 0, 124, 2102, 172, 129,
789 84, 178, 2102, 250, 91, 76, 71, 89, 2102, 2102,
790 96, 91, 95, 2102, 2102, 2102, 87, 250, 196, 0,
791 222, 119, 236, 114, 199, 2102, 205, 215, 222, 209,
792 235, 252, 273, 279, 287, 297, 304, 310, 317, 323,
793 345, 0, 345, 367, 361, 374, 387, 2102, 0, 2102,
794 144, 215, 128, 134, 119, 171, 185, 135, 2102, 172,
795 204, 2102, 161, 2102, 392, 405, 416, 422, 203, 435,
796 457, 457, 484, 502, 508, 514, 520, 526, 533, 544,
798 550, 556, 563, 572, 581, 591, 598, 608, 0, 172,
799 199, 209, 212, 221, 219, 149, 2102, 0, 618, 626,
800 633, 167, 2102, 665, 661, 639, 2102, 696, 710, 716,
801 722, 731, 737, 747, 753, 762, 773, 783, 792, 800,
802 810, 827, 242, 2102, 2102, 275, 2102, 2102, 109, 0,
803 835, 847, 854, 887, 873, 884, 915, 930, 937, 950,
804 960, 967, 973, 985, 991, 997, 1008, 1016, 1022, 1034,
805 1043, 1052, 2102, 2102, 122, 0, 1065, 1071, 1078, 1087,
806 1095, 1132, 1101, 1109, 1117, 1131, 1161, 1175, 1181, 1187,
807 1196, 1202, 1211, 1217, 2102, 1223, 1232, 1241, 1258, 2102,
809 1279, 109, 0, 1288, 2102, 2102, 1294, 1302, 1314, 1324,
810 1332, 2102, 2102, 2102, 1349, 1355, 1374, 1380, 1386, 1392,
811 1398, 1410, 1416, 1429, 1435, 1447, 2102, 1454, 1460, 1466,
812 1472, 1485, 1491, 1503, 1509, 1515, 1521, 1527, 1534, 2102,
813 2102, 1540, 1551, 1564, 1570, 1576, 1586, 1594, 2102, 2102,
814 1600, 1606, 1612, 1630, 1636, 2102, 2102, 2102, 1643, 1654,
815 1661, 1667, 1673, 1680, 1698, 2102, 1708, 1691, 1715, 1721,
816 1728, 1735, 1743, 2102, 1751, 1759, 1770, 1778, 1786, 1800,
817 1813, 2102, 2102, 1821, 1827, 1835, 1841, 1851, 1857, 1863,
818 2102, 1878, 1887, 2102, 1893, 1899, 1913, 1923, 1934, 1940,
820 1948, 2102, 2102, 1954, 1960, 1971, 1978, 1990, 2102, 2102,
821 1998, 2006, 2013, 2021, 2028, 2102, 2102, 2102, 2102, 2063,
822 2068, 2073, 2078, 2083, 2088, 2093, 2096, 132, 128, 121,
828 319, 1, 320, 320, 1, 5, 5, 5, 5, 5,
829 319, 319, 319, 319, 321, 322, 319, 319, 319, 319,
830 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
831 319, 319, 319, 319, 319, 319, 319, 319, 319, 323,
832 319, 319, 319, 324, 321, 319, 321, 321, 321, 325,
833 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
834 321, 322, 319, 319, 319, 319, 319, 319, 326, 319,
835 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
836 323, 319, 324, 319, 319, 321, 321, 321, 327, 321,
837 325, 321, 321, 321, 321, 321, 321, 321, 321, 321,
839 321, 321, 321, 321, 321, 321, 321, 321, 326, 319,
840 319, 319, 319, 319, 319, 319, 319, 328, 321, 321,
841 321, 327, 319, 325, 321, 321, 319, 321, 321, 321,
842 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
843 321, 321, 319, 319, 319, 319, 319, 319, 319, 329,
844 321, 321, 321, 325, 321, 321, 321, 321, 321, 321,
845 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
846 321, 321, 319, 319, 319, 330, 321, 321, 321, 321,
847 321, 325, 321, 321, 321, 321, 321, 321, 321, 321,
848 321, 321, 321, 321, 319, 321, 321, 321, 321, 319,
850 321, 319, 331, 321, 319, 319, 321, 321, 321, 321,
851 321, 319, 319, 319, 321, 321, 321, 321, 321, 321,
852 321, 321, 321, 321, 321, 321, 319, 321, 321, 321,
853 321, 321, 321, 321, 321, 321, 321, 321, 321, 319,
854 319, 321, 321, 321, 321, 321, 321, 321, 319, 319,
855 321, 321, 321, 321, 321, 319, 319, 319, 321, 321,
856 321, 321, 321, 321, 321, 319, 321, 321, 321, 321,
857 321, 321, 321, 319, 321, 321, 321, 321, 321, 321,
858 321, 319, 319, 321, 321, 321, 321, 321, 321, 321,
859 319, 321, 321, 319, 321, 321, 321, 321, 321, 321,
861 321, 319, 319, 321, 321, 321, 321, 321, 319, 319,
862 321, 321, 321, 321, 321, 319, 319, 319, 0, 319,
863 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
869 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
870 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
871 12, 12, 12, 12, 12, 25, 26, 12, 27, 12,
872 12, 28, 12, 29, 12, 30, 12, 12, 12, 12,
873 12, 25, 31, 12, 12, 12, 12, 12, 12, 32,
874 12, 12, 12, 12, 33, 12, 12, 12, 12, 12,
875 34, 35, 37, 14, 37, 37, 14, 37, 38, 41,
876 40, 38, 12, 12, 40, 12, 12, 12, 12, 12,
877 12, 12, 12, 12, 12, 12, 41, 42, 42, 42,
878 42, 68, 12, 12, 12, 12, 69, 73, 12, 71,
880 12, 71, 12, 74, 72, 72, 72, 72, 12, 12,
881 12, 12, 39, 73, 12, 83, 12, 73, 75, 84,
882 42, 12, 42, 74, 75, 203, 74, 12, 12, 44,
883 44, 44, 176, 76, 46, 63, 150, 64, 64, 64,
884 64, 75, 67, 67, 67, 67, 77, 78, 85, 65,
885 227, 112, 47, 48, 65, 110, 49, 72, 72, 72,
886 72, 111, 202, 50, 175, 65, 84, 112, 51, 52,
887 65, 53, 123, 54, 112, 110, 55, 56, 57, 58,
888 59, 111, 60, 63, 61, 66, 66, 66, 66, 63,
889 115, 66, 66, 66, 66, 85, 149, 65, 110, 44,
891 44, 44, 143, 65, 46, 44, 44, 44, 123, 117,
892 46, 116, 111, 65, 90, 44, 44, 44, 113, 65,
893 46, 45, 44, 44, 44, 143, 144, 46, 72, 72,
894 72, 72, 114, 50, 145, 44, 44, 44, 43, 50,
895 46, 82, 143, 45, 145, 80, 144, 45, 144, 50,
896 145, 45, 44, 44, 44, 86, 50, 46, 45, 87,
897 148, 45, 79, 45, 91, 146, 93, 173, 147, 50,
898 70, 43, 88, 44, 44, 44, 319, 319, 46, 44,
899 44, 44, 319, 173, 46, 92, 50, 44, 44, 44,
900 319, 319, 46, 94, 319, 319, 95, 44, 44, 44,
902 173, 319, 46, 319, 44, 44, 44, 50, 319, 46,
903 44, 44, 44, 50, 319, 46, 174, 44, 44, 44,
904 96, 50, 46, 44, 44, 44, 319, 319, 46, 97,
905 319, 50, 99, 98, 101, 319, 319, 100, 50, 319,
906 319, 102, 319, 319, 50, 44, 44, 44, 319, 319,
907 46, 50, 319, 319, 104, 319, 319, 50, 67, 67,
908 67, 67, 319, 319, 105, 103, 319, 319, 319, 71,
909 65, 71, 319, 106, 72, 72, 72, 72, 63, 50,
910 64, 64, 64, 64, 319, 63, 65, 66, 66, 66,
911 66, 319, 65, 319, 107, 319, 319, 83, 108, 65,
913 67, 67, 67, 67, 83, 44, 44, 44, 65, 319,
914 46, 319, 65, 319, 319, 65, 44, 44, 44, 319,
915 319, 46, 44, 44, 44, 319, 83, 46, 65, 319,
916 83, 319, 319, 319, 83, 44, 44, 44, 319, 50,
917 46, 83, 319, 319, 83, 319, 83, 118, 319, 319,
918 50, 319, 319, 319, 119, 120, 50, 44, 44, 44,
919 319, 319, 46, 319, 319, 121, 319, 319, 319, 50,
920 124, 124, 124, 124, 319, 319, 319, 319, 124, 124,
921 124, 124, 124, 124, 44, 44, 44, 319, 319, 127,
922 319, 50, 319, 319, 124, 124, 124, 124, 124, 124,
924 319, 319, 44, 44, 44, 125, 126, 46, 44, 44,
925 44, 319, 319, 46, 44, 44, 44, 319, 50, 46,
926 44, 44, 44, 319, 319, 46, 44, 44, 44, 319,
927 319, 46, 319, 44, 44, 44, 50, 319, 46, 319,
928 128, 319, 50, 319, 44, 44, 44, 129, 50, 46,
929 44, 44, 44, 319, 50, 46, 44, 44, 44, 319,
930 50, 46, 319, 44, 44, 44, 319, 50, 46, 130,
931 131, 133, 44, 44, 44, 319, 319, 46, 50, 319,
932 132, 44, 44, 44, 50, 319, 46, 134, 319, 319,
933 50, 44, 44, 44, 319, 319, 46, 50, 44, 44,
935 44, 319, 319, 46, 136, 319, 50, 135, 44, 44,
936 44, 319, 319, 46, 319, 50, 319, 137, 44, 44,
937 44, 319, 319, 46, 138, 50, 44, 44, 44, 319,
938 140, 46, 50, 44, 44, 44, 319, 139, 46, 44,
939 44, 44, 50, 141, 46, 319, 319, 319, 319, 142,
940 319, 319, 50, 319, 319, 319, 319, 319, 319, 319,
941 50, 44, 44, 44, 319, 319, 46, 50, 319, 319,
942 319, 319, 151, 50, 319, 319, 153, 152, 154, 154,
943 154, 154, 319, 319, 319, 319, 154, 154, 154, 154,
944 154, 154, 319, 156, 319, 50, 44, 44, 44, 319,
946 319, 46, 154, 154, 154, 154, 154, 154, 319, 155,
947 44, 44, 44, 319, 319, 46, 44, 44, 44, 319,
948 319, 46, 44, 44, 44, 319, 319, 46, 319, 319,
949 50, 44, 44, 44, 319, 319, 46, 44, 44, 44,
950 319, 319, 46, 319, 50, 319, 319, 44, 44, 44,
951 50, 157, 46, 44, 44, 44, 50, 319, 46, 319,
952 319, 158, 44, 44, 44, 50, 319, 46, 160, 159,
953 319, 50, 319, 44, 44, 44, 319, 319, 46, 319,
954 319, 50, 161, 44, 44, 44, 319, 50, 46, 162,
955 163, 319, 44, 44, 44, 319, 50, 46, 319, 319,
957 44, 44, 44, 166, 319, 46, 164, 50, 319, 165,
958 44, 44, 44, 319, 319, 46, 319, 50, 319, 319,
959 168, 319, 319, 319, 167, 319, 50, 44, 44, 44,
960 319, 319, 46, 169, 50, 44, 44, 44, 319, 319,
961 46, 319, 319, 319, 50, 319, 170, 44, 44, 44,
962 319, 319, 46, 319, 44, 44, 44, 319, 319, 46,
963 319, 50, 178, 179, 319, 319, 319, 171, 319, 50,
964 319, 180, 319, 44, 44, 44, 319, 319, 46, 172,
965 319, 50, 319, 319, 44, 44, 44, 177, 50, 46,
966 319, 319, 319, 319, 319, 319, 319, 319, 319, 181,
968 182, 182, 182, 182, 319, 319, 319, 50, 182, 182,
969 182, 182, 182, 182, 183, 44, 44, 44, 50, 319,
970 46, 319, 319, 319, 182, 182, 182, 182, 182, 182,
971 44, 44, 44, 319, 319, 46, 184, 44, 44, 44,
972 319, 319, 46, 319, 319, 186, 187, 319, 319, 50,
973 44, 44, 44, 319, 319, 46, 319, 319, 185, 319,
974 44, 44, 44, 319, 50, 46, 319, 44, 44, 44,
975 190, 50, 46, 44, 44, 44, 319, 319, 46, 319,
976 319, 188, 319, 319, 50, 44, 44, 44, 319, 319,
977 46, 44, 44, 44, 50, 319, 46, 44, 44, 44,
979 319, 50, 195, 189, 191, 319, 319, 50, 44, 44,
980 44, 319, 319, 46, 192, 319, 44, 44, 44, 50,
981 319, 46, 44, 44, 44, 50, 319, 46, 319, 319,
982 193, 50, 194, 319, 44, 44, 44, 319, 319, 46,
983 319, 319, 50, 44, 44, 44, 319, 319, 200, 319,
984 50, 319, 44, 44, 44, 319, 50, 46, 319, 319,
985 319, 319, 201, 196, 197, 44, 44, 44, 50, 319,
986 46, 44, 44, 44, 198, 199, 205, 50, 44, 44,
987 44, 319, 319, 206, 319, 319, 50, 44, 44, 44,
988 319, 319, 46, 319, 319, 44, 44, 44, 319, 50,
990 46, 44, 44, 44, 319, 50, 46, 319, 319, 44,
991 44, 44, 50, 319, 46, 204, 319, 44, 44, 44,
992 319, 50, 46, 319, 319, 319, 319, 207, 319, 50,
993 319, 44, 44, 44, 319, 50, 212, 319, 319, 319,
994 319, 319, 319, 50, 208, 45, 45, 45, 45, 319,
995 209, 50, 319, 45, 45, 45, 45, 45, 45, 210,
996 319, 44, 44, 44, 211, 50, 213, 319, 319, 45,
997 45, 45, 45, 45, 45, 44, 44, 44, 319, 319,
998 214, 44, 44, 44, 319, 319, 46, 44, 44, 44,
999 319, 215, 46, 319, 319, 50, 44, 44, 44, 319,
1001 319, 46, 44, 44, 44, 319, 319, 46, 319, 50,
1002 319, 44, 44, 44, 319, 50, 46, 44, 44, 44,
1003 319, 50, 46, 44, 44, 44, 319, 319, 46, 319,
1004 50, 216, 44, 44, 44, 319, 50, 46, 217, 319,
1005 319, 44, 44, 44, 319, 50, 46, 319, 218, 319,
1006 319, 50, 319, 319, 219, 319, 319, 50, 44, 44,
1007 44, 319, 319, 46, 319, 319, 50, 319, 319, 221,
1008 220, 319, 319, 223, 319, 50, 319, 222, 319, 44,
1009 44, 44, 319, 319, 46, 319, 224, 319, 44, 44,
1010 44, 319, 50, 46, 44, 44, 44, 319, 319, 46,
1012 319, 319, 44, 44, 44, 319, 319, 46, 319, 319,
1013 319, 319, 225, 50, 44, 44, 44, 319, 226, 46,
1014 319, 319, 50, 319, 44, 44, 44, 319, 50, 46,
1015 319, 319, 44, 44, 44, 228, 50, 46, 319, 319,
1016 319, 319, 319, 229, 319, 230, 319, 319, 50, 44,
1017 44, 44, 319, 319, 46, 44, 44, 44, 50, 319,
1018 46, 319, 319, 319, 319, 319, 50, 319, 231, 319,
1019 319, 232, 319, 233, 44, 44, 44, 319, 319, 46,
1020 44, 44, 44, 50, 319, 46, 44, 44, 44, 50,
1021 319, 46, 44, 44, 44, 319, 234, 46, 44, 44,
1023 44, 319, 319, 240, 319, 235, 319, 319, 50, 319,
1024 44, 44, 44, 319, 50, 241, 44, 44, 44, 319,
1025 50, 46, 319, 319, 236, 319, 50, 319, 319, 44,
1026 44, 44, 50, 239, 46, 44, 44, 44, 237, 238,
1027 46, 319, 319, 319, 50, 245, 242, 44, 44, 44,
1028 50, 319, 46, 319, 44, 44, 44, 319, 319, 46,
1029 44, 44, 44, 50, 247, 46, 44, 44, 44, 50,
1030 243, 249, 44, 44, 44, 319, 319, 250, 319, 319,
1031 319, 50, 319, 244, 319, 44, 44, 44, 50, 319,
1032 46, 44, 44, 44, 50, 251, 46, 246, 319, 319,
1034 50, 319, 319, 44, 44, 44, 50, 319, 46, 44,
1035 44, 44, 319, 248, 46, 44, 44, 44, 319, 50,
1036 46, 44, 44, 44, 319, 50, 256, 44, 44, 44,
1037 319, 319, 257, 319, 44, 44, 44, 50, 319, 258,
1038 44, 44, 44, 50, 319, 46, 319, 252, 253, 50,
1039 319, 44, 44, 44, 319, 50, 46, 319, 319, 319,
1040 319, 50, 254, 319, 44, 44, 44, 255, 50, 46,
1041 44, 44, 44, 319, 50, 46, 44, 44, 44, 319,
1042 319, 46, 319, 319, 319, 50, 44, 44, 44, 319,
1043 259, 46, 260, 319, 44, 44, 44, 319, 50, 266,
1045 44, 44, 44, 319, 50, 46, 44, 44, 44, 319,
1046 50, 46, 44, 44, 44, 319, 319, 46, 319, 262,
1047 50, 319, 261, 265, 263, 264, 319, 319, 50, 319,
1048 44, 44, 44, 319, 50, 46, 44, 44, 44, 319,
1049 50, 46, 319, 44, 44, 44, 50, 268, 46, 319,
1050 269, 319, 319, 267, 44, 44, 44, 319, 319, 46,
1051 319, 44, 44, 44, 50, 319, 274, 44, 44, 44,
1052 50, 319, 46, 44, 44, 44, 319, 50, 46, 319,
1053 44, 44, 44, 319, 270, 46, 319, 319, 50, 319,
1054 271, 44, 44, 44, 272, 50, 46, 319, 44, 44,
1056 44, 50, 319, 46, 275, 319, 273, 50, 44, 44,
1057 44, 319, 319, 46, 50, 44, 44, 44, 319, 319,
1058 46, 44, 44, 44, 319, 50, 282, 319, 44, 44,
1059 44, 276, 50, 283, 277, 44, 44, 44, 280, 319,
1060 46, 278, 50, 44, 44, 44, 319, 319, 46, 50,
1061 319, 44, 44, 44, 319, 50, 46, 319, 279, 44,
1062 44, 44, 50, 319, 46, 319, 319, 281, 319, 50,
1063 44, 44, 44, 319, 319, 46, 319, 50, 44, 44,
1064 44, 319, 319, 46, 319, 50, 44, 44, 44, 284,
1065 319, 46, 319, 50, 319, 319, 285, 319, 319, 286,
1067 44, 44, 44, 319, 50, 291, 319, 319, 319, 319,
1068 287, 288, 50, 44, 44, 44, 319, 319, 46, 289,
1069 50, 44, 44, 44, 319, 290, 46, 44, 44, 44,
1070 319, 319, 294, 319, 50, 44, 44, 44, 319, 319,
1071 46, 44, 44, 44, 319, 319, 46, 50, 319, 319,
1072 292, 44, 44, 44, 319, 50, 46, 44, 44, 44,
1073 319, 50, 46, 44, 44, 44, 293, 319, 46, 50,
1074 319, 319, 319, 319, 319, 50, 295, 319, 44, 44,
1075 44, 319, 296, 46, 319, 50, 319, 44, 44, 44,
1076 319, 50, 46, 44, 44, 44, 319, 50, 302, 44,
1078 44, 44, 319, 319, 303, 319, 298, 319, 297, 299,
1079 319, 319, 50, 44, 44, 44, 319, 319, 46, 319,
1080 319, 50, 319, 44, 44, 44, 319, 50, 46, 319,
1081 300, 319, 319, 50, 44, 44, 44, 301, 319, 46,
1082 44, 44, 44, 319, 319, 46, 319, 50, 44, 44,
1083 44, 319, 319, 46, 44, 44, 44, 50, 319, 309,
1084 44, 44, 44, 319, 319, 310, 319, 304, 50, 319,
1085 319, 44, 44, 44, 50, 306, 46, 305, 44, 44,
1086 44, 319, 50, 46, 319, 307, 319, 319, 50, 319,
1087 44, 44, 44, 319, 50, 46, 319, 308, 44, 44,
1089 44, 319, 319, 46, 319, 50, 44, 44, 44, 319,
1090 319, 46, 50, 44, 44, 44, 319, 319, 316, 312,
1091 319, 44, 44, 44, 50, 311, 317, 319, 44, 44,
1092 44, 319, 50, 318, 319, 319, 319, 319, 319, 319,
1093 50, 319, 319, 313, 319, 319, 319, 50, 319, 319,
1094 319, 314, 319, 319, 319, 50, 319, 319, 319, 315,
1095 319, 319, 50, 36, 36, 36, 36, 36, 45, 45,
1096 45, 45, 45, 62, 319, 62, 62, 62, 81, 319,
1097 81, 319, 81, 83, 83, 83, 83, 83, 89, 89,
1098 89, 89, 89, 109, 319, 109, 109, 109, 122, 122,
1100 122, 11, 319, 319, 319, 319, 319, 319, 319, 319,
1101 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1102 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1103 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1104 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1105 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1112 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1113 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1114 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1115 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1116 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1117 1, 1, 3, 3, 3, 4, 4, 4, 3, 9,
1118 7, 4, 5, 5, 8, 5, 5, 5, 5, 5,
1119 5, 5, 5, 5, 5, 5, 10, 13, 37, 13,
1120 37, 21, 5, 5, 9, 5, 21, 26, 5, 25,
1122 5, 25, 5, 27, 25, 25, 25, 25, 5, 5,
1123 7, 10, 5, 26, 8, 331, 5, 31, 28, 44,
1124 42, 5, 42, 32, 33, 330, 27, 5, 5, 15,
1125 15, 15, 329, 31, 15, 17, 328, 17, 17, 17,
1126 17, 28, 20, 20, 20, 20, 32, 33, 44, 17,
1127 202, 75, 15, 15, 20, 73, 15, 71, 71, 71,
1128 71, 74, 175, 15, 149, 17, 83, 78, 15, 15,
1129 20, 15, 122, 15, 75, 73, 15, 15, 15, 15,
1130 15, 74, 15, 19, 15, 19, 19, 19, 19, 22,
1131 78, 22, 22, 22, 22, 83, 116, 19, 76, 45,
1133 45, 45, 110, 22, 45, 47, 47, 47, 89, 81,
1134 47, 80, 77, 19, 50, 48, 48, 48, 76, 22,
1135 48, 50, 49, 49, 49, 110, 111, 49, 72, 72,
1136 72, 72, 77, 45, 112, 51, 51, 51, 43, 47,
1137 51, 41, 113, 50, 115, 39, 111, 50, 114, 48,
1138 112, 50, 52, 52, 52, 47, 49, 52, 50, 48,
1139 115, 50, 38, 50, 50, 113, 52, 143, 114, 51,
1140 24, 14, 49, 53, 53, 53, 11, 0, 53, 54,
1141 54, 54, 0, 143, 54, 51, 52, 55, 55, 55,
1142 0, 0, 55, 52, 0, 0, 52, 56, 56, 56,
1144 146, 0, 56, 0, 57, 57, 57, 53, 0, 57,
1145 58, 58, 58, 54, 0, 58, 146, 59, 59, 59,
1146 53, 55, 59, 60, 60, 60, 0, 0, 60, 54,
1147 0, 56, 55, 54, 56, 0, 0, 55, 57, 0,
1148 0, 57, 0, 0, 58, 61, 61, 61, 0, 0,
1149 61, 59, 0, 0, 59, 0, 0, 60, 63, 63,
1150 63, 63, 0, 0, 60, 58, 0, 0, 0, 65,
1151 63, 65, 0, 60, 65, 65, 65, 65, 64, 61,
1152 64, 64, 64, 64, 0, 66, 63, 66, 66, 66,
1153 66, 0, 64, 0, 61, 0, 0, 85, 61, 66,
1155 67, 67, 67, 67, 85, 86, 86, 86, 64, 0,
1156 86, 0, 67, 0, 0, 66, 87, 87, 87, 0,
1157 0, 87, 88, 88, 88, 0, 85, 88, 67, 0,
1158 85, 0, 0, 0, 85, 90, 90, 90, 0, 86,
1159 90, 85, 0, 0, 85, 0, 85, 85, 0, 0,
1160 87, 0, 0, 0, 86, 87, 88, 92, 92, 92,
1161 0, 0, 92, 0, 0, 88, 0, 0, 0, 90,
1162 91, 91, 91, 91, 0, 0, 0, 0, 91, 91,
1163 91, 91, 91, 91, 93, 93, 93, 0, 0, 93,
1164 0, 92, 0, 0, 91, 91, 91, 91, 91, 91,
1166 0, 0, 94, 94, 94, 92, 92, 94, 95, 95,
1167 95, 0, 0, 95, 96, 96, 96, 0, 93, 96,
1168 97, 97, 97, 0, 0, 97, 98, 98, 98, 0,
1169 0, 98, 0, 99, 99, 99, 94, 0, 99, 0,
1170 94, 0, 95, 0, 100, 100, 100, 95, 96, 100,
1171 101, 101, 101, 0, 97, 101, 102, 102, 102, 0,
1172 98, 102, 0, 103, 103, 103, 0, 99, 103, 96,
1173 97, 99, 104, 104, 104, 0, 0, 104, 100, 0,
1174 98, 105, 105, 105, 101, 0, 105, 100, 0, 0,
1175 102, 106, 106, 106, 0, 0, 106, 103, 107, 107,
1177 107, 0, 0, 107, 102, 0, 104, 101, 108, 108,
1178 108, 0, 0, 108, 0, 105, 0, 103, 119, 119,
1179 119, 0, 0, 119, 104, 106, 120, 120, 120, 0,
1180 106, 120, 107, 121, 121, 121, 0, 105, 121, 126,
1181 126, 126, 108, 107, 126, 0, 0, 0, 0, 108,
1182 0, 0, 119, 0, 0, 0, 0, 0, 0, 0,
1183 120, 125, 125, 125, 0, 0, 125, 121, 0, 0,
1184 0, 0, 119, 126, 0, 0, 121, 120, 124, 124,
1185 124, 124, 0, 0, 0, 0, 124, 124, 124, 124,
1186 124, 124, 0, 126, 0, 125, 128, 128, 128, 0,
1188 0, 128, 124, 124, 124, 124, 124, 124, 0, 125,
1189 129, 129, 129, 0, 0, 129, 130, 130, 130, 0,
1190 0, 130, 131, 131, 131, 0, 0, 131, 0, 0,
1191 128, 132, 132, 132, 0, 0, 132, 133, 133, 133,
1192 0, 0, 133, 0, 129, 0, 0, 134, 134, 134,
1193 130, 128, 134, 135, 135, 135, 131, 0, 135, 0,
1194 0, 129, 136, 136, 136, 132, 0, 136, 131, 130,
1195 0, 133, 0, 137, 137, 137, 0, 0, 137, 0,
1196 0, 134, 132, 138, 138, 138, 0, 135, 138, 133,
1197 134, 0, 139, 139, 139, 0, 136, 139, 0, 0,
1199 140, 140, 140, 136, 0, 140, 135, 137, 0, 135,
1200 141, 141, 141, 0, 0, 141, 0, 138, 0, 0,
1201 138, 0, 0, 0, 137, 0, 139, 142, 142, 142,
1202 0, 0, 142, 139, 140, 151, 151, 151, 0, 0,
1203 151, 0, 0, 0, 141, 0, 140, 152, 152, 152,
1204 0, 0, 152, 0, 153, 153, 153, 0, 0, 153,
1205 0, 142, 152, 152, 0, 0, 0, 141, 0, 151,
1206 0, 152, 0, 155, 155, 155, 0, 0, 155, 142,
1207 0, 152, 0, 0, 156, 156, 156, 151, 153, 156,
1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
1210 154, 154, 154, 154, 0, 0, 0, 155, 154, 154,
1211 154, 154, 154, 154, 155, 157, 157, 157, 156, 0,
1212 157, 0, 0, 0, 154, 154, 154, 154, 154, 154,
1213 158, 158, 158, 0, 0, 158, 156, 159, 159, 159,
1214 0, 0, 159, 0, 0, 158, 158, 0, 0, 157,
1215 160, 160, 160, 0, 0, 160, 0, 0, 157, 0,
1216 161, 161, 161, 0, 158, 161, 0, 162, 162, 162,
1217 161, 159, 162, 163, 163, 163, 0, 0, 163, 0,
1218 0, 159, 0, 0, 160, 164, 164, 164, 0, 0,
1219 164, 165, 165, 165, 161, 0, 165, 166, 166, 166,
1221 0, 162, 166, 160, 162, 0, 0, 163, 167, 167,
1222 167, 0, 0, 167, 163, 0, 168, 168, 168, 164,
1223 0, 168, 169, 169, 169, 165, 0, 169, 0, 0,
1224 164, 166, 165, 0, 170, 170, 170, 0, 0, 170,
1225 0, 0, 167, 171, 171, 171, 0, 0, 171, 0,
1226 168, 0, 172, 172, 172, 0, 169, 172, 0, 0,
1227 0, 0, 172, 167, 168, 177, 177, 177, 170, 0,
1228 177, 178, 178, 178, 169, 170, 178, 171, 179, 179,
1229 179, 0, 0, 179, 0, 0, 172, 180, 180, 180,
1230 0, 0, 180, 0, 0, 181, 181, 181, 0, 177,
1232 181, 183, 183, 183, 0, 178, 183, 0, 0, 184,
1233 184, 184, 179, 0, 184, 177, 0, 185, 185, 185,
1234 0, 180, 185, 0, 0, 0, 0, 180, 0, 181,
1235 0, 186, 186, 186, 0, 183, 186, 0, 0, 0,
1236 0, 0, 0, 184, 181, 182, 182, 182, 182, 0,
1237 183, 185, 0, 182, 182, 182, 182, 182, 182, 184,
1238 0, 187, 187, 187, 185, 186, 187, 0, 0, 182,
1239 182, 182, 182, 182, 182, 188, 188, 188, 0, 0,
1240 188, 189, 189, 189, 0, 0, 189, 190, 190, 190,
1241 0, 189, 190, 0, 0, 187, 191, 191, 191, 0,
1243 0, 191, 192, 192, 192, 0, 0, 192, 0, 188,
1244 0, 193, 193, 193, 0, 189, 193, 194, 194, 194,
1245 0, 190, 194, 196, 196, 196, 0, 0, 196, 0,
1246 191, 190, 197, 197, 197, 0, 192, 197, 190, 0,
1247 0, 198, 198, 198, 0, 193, 198, 0, 191, 0,
1248 0, 194, 0, 0, 192, 0, 0, 196, 199, 199,
1249 199, 0, 0, 199, 0, 0, 197, 0, 0, 194,
1250 193, 0, 0, 197, 0, 198, 0, 196, 0, 201,
1251 201, 201, 0, 0, 201, 0, 198, 0, 204, 204,
1252 204, 0, 199, 204, 207, 207, 207, 0, 0, 207,
1254 0, 0, 208, 208, 208, 0, 0, 208, 0, 0,
1255 0, 0, 199, 201, 209, 209, 209, 0, 201, 209,
1256 0, 0, 204, 0, 210, 210, 210, 0, 207, 210,
1257 0, 0, 211, 211, 211, 204, 208, 211, 0, 0,
1258 0, 0, 0, 207, 0, 208, 0, 0, 209, 215,
1259 215, 215, 0, 0, 215, 216, 216, 216, 210, 0,
1260 216, 0, 0, 0, 0, 0, 211, 0, 209, 0,
1261 0, 210, 0, 211, 217, 217, 217, 0, 0, 217,
1262 218, 218, 218, 215, 0, 218, 219, 219, 219, 216,
1263 0, 219, 220, 220, 220, 0, 215, 220, 221, 221,
1265 221, 0, 0, 221, 0, 216, 0, 0, 217, 0,
1266 222, 222, 222, 0, 218, 222, 223, 223, 223, 0,
1267 219, 223, 0, 0, 217, 0, 220, 0, 0, 224,
1268 224, 224, 221, 220, 224, 225, 225, 225, 218, 219,
1269 225, 0, 0, 0, 222, 225, 222, 226, 226, 226,
1270 223, 0, 226, 0, 228, 228, 228, 0, 0, 228,
1271 229, 229, 229, 224, 228, 229, 230, 230, 230, 225,
1272 223, 230, 231, 231, 231, 0, 0, 231, 0, 0,
1273 0, 226, 0, 224, 0, 232, 232, 232, 228, 0,
1274 232, 233, 233, 233, 229, 232, 233, 226, 0, 0,
1276 230, 0, 0, 234, 234, 234, 231, 0, 234, 235,
1277 235, 235, 0, 229, 235, 236, 236, 236, 0, 232,
1278 236, 237, 237, 237, 0, 233, 237, 238, 238, 238,
1279 0, 0, 238, 0, 239, 239, 239, 234, 0, 239,
1280 242, 242, 242, 235, 0, 242, 0, 233, 234, 236,
1281 0, 243, 243, 243, 0, 237, 243, 0, 0, 0,
1282 0, 238, 235, 0, 244, 244, 244, 236, 239, 244,
1283 245, 245, 245, 0, 242, 245, 246, 246, 246, 0,
1284 0, 246, 0, 0, 0, 243, 247, 247, 247, 0,
1285 242, 247, 243, 0, 248, 248, 248, 0, 244, 248,
1287 251, 251, 251, 0, 245, 251, 252, 252, 252, 0,
1288 246, 252, 253, 253, 253, 0, 0, 253, 0, 245,
1289 247, 0, 244, 247, 245, 246, 0, 0, 248, 0,
1290 254, 254, 254, 0, 251, 254, 255, 255, 255, 0,
1291 252, 255, 0, 259, 259, 259, 253, 252, 259, 0,
1292 253, 0, 0, 251, 260, 260, 260, 0, 0, 260,
1293 0, 261, 261, 261, 254, 0, 261, 262, 262, 262,
1294 255, 0, 262, 263, 263, 263, 0, 259, 263, 0,
1295 264, 264, 264, 0, 254, 264, 0, 0, 260, 0,
1296 255, 268, 268, 268, 259, 261, 268, 0, 265, 265,
1298 265, 262, 0, 265, 262, 0, 260, 263, 267, 267,
1299 267, 0, 0, 267, 264, 269, 269, 269, 0, 0,
1300 269, 270, 270, 270, 0, 268, 270, 0, 271, 271,
1301 271, 263, 265, 271, 264, 272, 272, 272, 268, 0,
1302 272, 265, 267, 273, 273, 273, 0, 0, 273, 269,
1303 0, 275, 275, 275, 0, 270, 275, 0, 267, 276,
1304 276, 276, 271, 0, 276, 0, 0, 269, 0, 272,
1305 277, 277, 277, 0, 0, 277, 0, 273, 278, 278,
1306 278, 0, 0, 278, 0, 275, 279, 279, 279, 272,
1307 0, 279, 0, 276, 0, 0, 273, 0, 0, 275,
1309 280, 280, 280, 0, 277, 280, 0, 0, 0, 0,
1310 276, 277, 278, 281, 281, 281, 0, 0, 281, 278,
1311 279, 284, 284, 284, 0, 279, 284, 285, 285, 285,
1312 0, 0, 285, 0, 280, 286, 286, 286, 0, 0,
1313 286, 287, 287, 287, 0, 0, 287, 281, 0, 0,
1314 281, 288, 288, 288, 0, 284, 288, 289, 289, 289,
1315 0, 285, 289, 290, 290, 290, 284, 0, 290, 286,
1316 0, 0, 0, 0, 0, 287, 286, 0, 292, 292,
1317 292, 0, 287, 292, 0, 288, 0, 293, 293, 293,
1318 0, 289, 293, 295, 295, 295, 0, 290, 295, 296,
1320 296, 296, 0, 0, 296, 0, 289, 0, 288, 290,
1321 0, 0, 292, 297, 297, 297, 0, 0, 297, 0,
1322 0, 293, 0, 298, 298, 298, 0, 295, 298, 0,
1323 292, 0, 0, 296, 299, 299, 299, 293, 0, 299,
1324 300, 300, 300, 0, 0, 300, 0, 297, 301, 301,
1325 301, 0, 0, 301, 304, 304, 304, 298, 0, 304,
1326 305, 305, 305, 0, 0, 305, 0, 297, 299, 0,
1327 0, 306, 306, 306, 300, 299, 306, 298, 307, 307,
1328 307, 0, 301, 307, 0, 300, 0, 0, 304, 0,
1329 308, 308, 308, 0, 305, 308, 0, 301, 311, 311,
1331 311, 0, 0, 311, 0, 306, 312, 312, 312, 0,
1332 0, 312, 307, 313, 313, 313, 0, 0, 313, 307,
1333 0, 314, 314, 314, 308, 306, 314, 0, 315, 315,
1334 315, 0, 311, 315, 0, 0, 0, 0, 0, 0,
1335 312, 0, 0, 308, 0, 0, 0, 313, 0, 0,
1336 0, 311, 0, 0, 0, 314, 0, 0, 0, 312,
1337 0, 0, 315, 320, 320, 320, 320, 320, 321, 321,
1338 321, 321, 321, 322, 0, 322, 322, 322, 323, 0,
1339 323, 0, 323, 324, 324, 324, 324, 324, 325, 325,
1340 325, 325, 325, 326, 0, 326, 326, 326, 327, 327,
1342 327, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1343 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1344 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1345 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1346 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1347 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1352 static char *yy_last_accepting_cpos;
1359 133, 135, 137, 142, 143, 148, 149, 150, 162, 165,
1360 170, 177, 186, 195, 204, 215, 226, 235, 244, 253,
1361 262, 271, 280, 289, 298, 307, 316, 325, 334, 343,
1362 352, 361, 370, 379, 388, 397, 406, 415, 424, 433,
1363 532, 537, 542, 547, 548, 549, 550, 551, 552, 554,
1364 572, 585, 590, 594, 596, 598, 600
1370 #define REJECT reject_used_but_not_detected
1371 #define yymore() yymore_used_but_not_detected
1372 #define YY_MORE_ADJ 0
1373 #define YY_RESTORE_YY_MORE_OFFSET
1375 #line 1 "agent_lexer.ll"
1381 #line 8 "agent_lexer.ll"
1384 #ifndef __clang_analyzer__
1392 #include <boost/lexical_cast.hpp>
1407 bool start_token_flag =
false;
1410 unsigned int comment_start_line = 0;
1412 using namespace isc;
1418 #define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg)
1419 #line 1419 "agent_lexer.cc"
1434 #define YY_NO_INPUT 1
1440 #line 96 "agent_lexer.ll"
1444 #define YY_USER_ACTION driver.loc_.columns(yyleng);
1445 #line 1445 "agent_lexer.cc"
1446 #line 1446 "agent_lexer.cc"
1451 #define DIR_INCLUDE 3
1454 #ifndef YY_NO_UNISTD_H
1466 #ifndef YY_EXTRA_TYPE
1467 #define YY_EXTRA_TYPE void *
1474 static int yy_init_globals (
void );
1517 #ifndef YY_SKIP_YYWRAP
1519 extern "C" int yywrap (
void );
1521 extern int yywrap (
void );
1534 static void yy_flex_strncpy (
char *,
const char *,
int );
1537 #ifdef YY_NEED_STRLEN
1538 static int yy_flex_strlen (
const char * );
1545 static int yyinput (
void );
1547 static int input (
void );
1559 #ifndef YY_READ_BUF_SIZE
1562 #define YY_READ_BUF_SIZE 16384
1564 #define YY_READ_BUF_SIZE 8192
1574 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1584 #define YY_INPUT(buf,result,max_size) \
1586 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1590 for ( n = 0; n < max_size && \
1591 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1592 buf[n] = (char) c; \
1594 buf[n++] = (char) c; \
1595 if ( c == EOF && ferror( yyin ) ) \
1596 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1602 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1604 if( errno != EINTR) \
1606 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1624 #define yyterminate() return YY_NULL
1628 #ifndef YY_START_STACK_INCR
1629 #define YY_START_STACK_INCR 25
1633 #ifndef YY_FATAL_ERROR
1635 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1656 #define YY_DECL_IS_OURS 1
1659 extern int yylex (
void);
1661 #define YY_DECL int yylex (void)
1670 #ifndef YY_USER_ACTION
1671 #define YY_USER_ACTION
1676 #define YY_BREAK break;
1680 #define YY_RULE_SETUP \
1728 #line 102 "agent_lexer.ll"
1732 #line 106 "agent_lexer.ll"
1746 if (start_token_flag) {
1747 start_token_flag =
false;
1748 switch (start_token_value) {
1749 case ParserContext::PARSER_JSON:
1752 case ParserContext::PARSER_AGENT:
1754 case ParserContext::PARSER_SUB_AGENT:
1760 #line 1760 "agent_lexer.cc"
1765 yy_cp = (yy_c_buf_p);
1768 *
yy_cp = (yy_hold_char);
1776 yy_current_state = (yy_start);
1781 if ( yy_accept[yy_current_state] )
1783 (yy_last_accepting_state) = yy_current_state;
1784 (yy_last_accepting_cpos) =
yy_cp;
1786 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1788 yy_current_state = (int) yy_def[yy_current_state];
1789 if ( yy_current_state >= 320 )
1790 yy_c = yy_meta[yy_c];
1792 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1795 while ( yy_current_state != 319 );
1796 yy_cp = (yy_last_accepting_cpos);
1797 yy_current_state = (yy_last_accepting_state);
1801 yy_act = yy_accept[yy_current_state];
1813 fprintf( stderr,
"--scanner backing up\n" );
1815 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1818 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1821 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1823 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1831 *
yy_cp = (yy_hold_char);
1832 yy_cp = (yy_last_accepting_cpos);
1833 yy_current_state = (yy_last_accepting_state);
1834 goto yy_find_action;
1838 #line 133 "agent_lexer.ll"
1843 #line 135 "agent_lexer.ll"
1848 #line 137 "agent_lexer.ll"
1851 comment_start_line = driver.loc_.end.line;;
1856 #line 142 "agent_lexer.ll"
1861 #line 143 "agent_lexer.ll"
1865 #line 144 "agent_lexer.ll"
1872 #line 148 "agent_lexer.ll"
1877 #line 149 "agent_lexer.ll"
1882 #line 150 "agent_lexer.ll"
1887 std::string tmp(
yytext+1);
1888 tmp.resize(tmp.size() - 1);
1890 driver.includeFile(tmp);
1896 #line 159 "agent_lexer.ll"
1903 #line 162 "agent_lexer.ll"
1908 #line 165 "agent_lexer.ll"
1917 #line 170 "agent_lexer.ll"
1920 driver.loc_.lines(
yyleng);
1926 #line 177 "agent_lexer.ll"
1928 switch(driver.ctx_) {
1929 case ParserContext::CONFIG:
1930 return AgentParser::make_CONTROL_AGENT(driver.loc_);
1932 return AgentParser::make_STRING(
"Control-agent", driver.loc_);
1938 #line 186 "agent_lexer.ll"
1940 switch(driver.ctx_) {
1941 case ParserContext::AGENT:
1942 return AgentParser::make_HTTP_HOST(driver.loc_);
1944 return AgentParser::make_STRING(
"http-host", driver.loc_);
1950 #line 195 "agent_lexer.ll"
1952 switch(driver.ctx_) {
1953 case ParserContext::AGENT:
1954 return AgentParser::make_HTTP_PORT(driver.loc_);
1956 return AgentParser::make_STRING(
"http-port", driver.loc_);
1962 #line 204 "agent_lexer.ll"
1964 switch(driver.ctx_) {
1965 case ParserContext::AGENT:
1966 case ParserContext::SERVER:
1967 case ParserContext::LOGGERS:
1968 return AgentParser::make_USER_CONTEXT(driver.loc_);
1970 return AgentParser::make_STRING(
"user-context", driver.loc_);
1976 #line 215 "agent_lexer.ll"
1978 switch(driver.ctx_) {
1979 case ParserContext::AGENT:
1980 case ParserContext::SERVER:
1981 case ParserContext::LOGGERS:
1982 return AgentParser::make_COMMENT(driver.loc_);
1984 return AgentParser::make_STRING(
"comment", driver.loc_);
1990 #line 226 "agent_lexer.ll"
1992 switch(driver.ctx_) {
1993 case ParserContext::AGENT:
1994 return AgentParser::make_CONTROL_SOCKETS(driver.loc_);
1996 return AgentParser::make_STRING(
"control-sockets", driver.loc_);
2002 #line 235 "agent_lexer.ll"
2004 switch(driver.ctx_) {
2005 case ParserContext::CONTROL_SOCKETS:
2006 return AgentParser::make_DHCP4_SERVER(driver.loc_);
2008 return AgentParser::make_STRING(
"dhcp4", driver.loc_);
2014 #line 244 "agent_lexer.ll"
2016 switch(driver.ctx_) {
2017 case ParserContext::CONTROL_SOCKETS:
2018 return AgentParser::make_DHCP6_SERVER(driver.loc_);
2020 return AgentParser::make_STRING(
"dhcp6", driver.loc_);
2026 #line 253 "agent_lexer.ll"
2028 switch(driver.ctx_) {
2029 case ParserContext::CONTROL_SOCKETS:
2030 return AgentParser::make_D2_SERVER(driver.loc_);
2032 return AgentParser::make_STRING(
"d2", driver.loc_);
2038 #line 262 "agent_lexer.ll"
2040 switch(driver.ctx_) {
2041 case ParserContext::SERVER:
2042 return AgentParser::make_SOCKET_NAME(driver.loc_);
2044 return AgentParser::make_STRING(
"socket-name", driver.loc_);
2050 #line 271 "agent_lexer.ll"
2052 switch(driver.ctx_) {
2053 case ParserContext::SERVER:
2054 return AgentParser::make_SOCKET_TYPE(driver.loc_);
2056 return AgentParser::make_STRING(
"socket-type", driver.loc_);
2062 #line 280 "agent_lexer.ll"
2064 switch(driver.ctx_) {
2065 case ParserContext::SOCKET_TYPE:
2066 return AgentParser::make_UNIX(driver.loc_);
2068 return AgentParser::make_STRING(
"unix", driver.loc_);
2074 #line 289 "agent_lexer.ll"
2076 switch(driver.ctx_) {
2077 case ParserContext::AGENT:
2078 return AgentParser::make_HOOKS_LIBRARIES(driver.loc_);
2080 return AgentParser::make_STRING(
"hooks-libraries", driver.loc_);
2086 #line 298 "agent_lexer.ll"
2088 switch(driver.ctx_) {
2089 case ParserContext::HOOKS_LIBRARIES:
2090 return AgentParser::make_LIBRARY(driver.loc_);
2092 return AgentParser::make_STRING(
"library", driver.loc_);
2098 #line 307 "agent_lexer.ll"
2100 switch(driver.ctx_) {
2101 case ParserContext::HOOKS_LIBRARIES:
2102 return AgentParser::make_PARAMETERS(driver.loc_);
2104 return AgentParser::make_STRING(
"parameters", driver.loc_);
2110 #line 316 "agent_lexer.ll"
2112 switch(driver.ctx_) {
2113 case ParserContext::CONFIG:
2114 return AgentParser::make_LOGGING(driver.loc_);
2116 return AgentParser::make_STRING(
"Logging", driver.loc_);
2122 #line 325 "agent_lexer.ll"
2124 switch(driver.ctx_) {
2125 case ParserContext::LOGGING:
2126 return AgentParser::make_LOGGERS(driver.loc_);
2128 return AgentParser::make_STRING(
"loggers", driver.loc_);
2134 #line 334 "agent_lexer.ll"
2136 switch(driver.ctx_) {
2137 case ParserContext::LOGGERS:
2138 return AgentParser::make_NAME(driver.loc_);
2140 return AgentParser::make_STRING(
"name", driver.loc_);
2146 #line 343 "agent_lexer.ll"
2148 switch(driver.ctx_) {
2149 case ParserContext::LOGGERS:
2150 return AgentParser::make_OUTPUT_OPTIONS(driver.loc_);
2152 return AgentParser::make_STRING(
"output_options", driver.loc_);
2158 #line 352 "agent_lexer.ll"
2160 switch(driver.ctx_) {
2161 case ParserContext::OUTPUT_OPTIONS:
2162 return AgentParser::make_OUTPUT(driver.loc_);
2164 return AgentParser::make_STRING(
"output", driver.loc_);
2170 #line 361 "agent_lexer.ll"
2172 switch(driver.ctx_) {
2173 case ParserContext::OUTPUT_OPTIONS:
2174 return AgentParser::make_FLUSH(driver.loc_);
2176 return AgentParser::make_STRING(
"flush", driver.loc_);
2182 #line 370 "agent_lexer.ll"
2184 switch(driver.ctx_) {
2185 case ParserContext::OUTPUT_OPTIONS:
2186 return AgentParser::make_MAXSIZE(driver.loc_);
2188 return AgentParser::make_STRING(
"maxsize", driver.loc_);
2194 #line 379 "agent_lexer.ll"
2196 switch(driver.ctx_) {
2197 case ParserContext::OUTPUT_OPTIONS:
2198 return AgentParser::make_MAXVER(driver.loc_);
2200 return AgentParser::make_STRING(
"maxver", driver.loc_);
2206 #line 388 "agent_lexer.ll"
2208 switch(driver.ctx_) {
2209 case ParserContext::LOGGERS:
2210 return AgentParser::make_DEBUGLEVEL(driver.loc_);
2212 return AgentParser::make_STRING(
"debuglevel", driver.loc_);
2218 #line 397 "agent_lexer.ll"
2220 switch(driver.ctx_) {
2221 case ParserContext::LOGGERS:
2222 return AgentParser::make_SEVERITY(driver.loc_);
2224 return AgentParser::make_STRING(
"severity", driver.loc_);
2230 #line 406 "agent_lexer.ll"
2232 switch(driver.ctx_) {
2233 case ParserContext::CONFIG:
2234 return AgentParser::make_DHCP4(driver.loc_);
2236 return AgentParser::make_STRING(
"Dhcp4", driver.loc_);
2242 #line 415 "agent_lexer.ll"
2244 switch(driver.ctx_) {
2245 case ParserContext::CONFIG:
2246 return AgentParser::make_DHCP6(driver.loc_);
2248 return AgentParser::make_STRING(
"Dhcp6", driver.loc_);
2254 #line 424 "agent_lexer.ll"
2256 switch(driver.ctx_) {
2257 case ParserContext::CONFIG:
2258 return AgentParser::make_DHCPDDNS(driver.loc_);
2260 return AgentParser::make_STRING(
"DhcpDdns", driver.loc_);
2266 #line 433 "agent_lexer.ll"
2271 std::string raw(
yytext+1);
2272 size_t len = raw.size() - 1;
2274 std::string decoded;
2275 decoded.reserve(len);
2276 for (
size_t pos = 0; pos < len; ++pos) {
2282 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2288 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2295 decoded.push_back(c);
2298 decoded.push_back(
'\b');
2301 decoded.push_back(
'\f');
2304 decoded.push_back(
'\n');
2307 decoded.push_back(
'\r');
2310 decoded.push_back(
'\t');
2315 if (pos + 4 > len) {
2317 driver.error(driver.loc_,
2318 "Overflow unicode escape in \"" + raw +
"\"");
2320 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2321 driver.error(driver.loc_,
"Unsupported unicode escape in \"" + raw +
"\"");
2325 if ((c >=
'0') && (c <=
'9')) {
2327 }
else if ((c >=
'A') && (c <=
'F')) {
2328 b = (c -
'A' + 10) << 4;
2329 }
else if ((c >=
'a') && (c <=
'f')) {
2330 b = (c -
'a' + 10) << 4;
2333 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2337 if ((c >=
'0') && (c <=
'9')) {
2339 }
else if ((c >=
'A') && (c <=
'F')) {
2341 }
else if ((c >=
'a') && (c <=
'f')) {
2345 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2347 decoded.push_back(
static_cast<char>(b & 0xff));
2351 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2355 if ((c >= 0) && (c < 0x20)) {
2357 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2359 decoded.push_back(c);
2363 return AgentParser::make_STRING(decoded, driver.loc_);
2369 #line 532 "agent_lexer.ll"
2372 driver.error(driver.loc_,
"Invalid control in " + std::string(
yytext));
2378 #line 537 "agent_lexer.ll"
2381 driver.error(driver.loc_,
"Bad escape in " + std::string(
yytext));
2386 #line 542 "agent_lexer.ll"
2389 driver.error(driver.loc_,
"Overflow escape in " + std::string(
yytext));
2394 #line 547 "agent_lexer.ll"
2395 {
return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
2399 #line 548 "agent_lexer.ll"
2400 {
return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
2404 #line 549 "agent_lexer.ll"
2405 {
return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
2409 #line 550 "agent_lexer.ll"
2410 {
return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
2414 #line 551 "agent_lexer.ll"
2415 {
return AgentParser::make_COMMA(driver.loc_); }
2419 #line 552 "agent_lexer.ll"
2420 {
return AgentParser::make_COLON(driver.loc_); }
2424 #line 554 "agent_lexer.ll"
2428 int64_t integer = 0;
2434 integer = boost::lexical_cast<int64_t>(tmp);
2435 }
catch (
const boost::bad_lexical_cast &) {
2436 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2440 return AgentParser::make_INTEGER(integer, driver.loc_);
2445 #line 572 "agent_lexer.ll"
2451 fp = boost::lexical_cast<double>(tmp);
2452 }
catch (
const boost::bad_lexical_cast &) {
2453 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2456 return AgentParser::make_FLOAT(fp, driver.loc_);
2461 #line 585 "agent_lexer.ll"
2464 return AgentParser::make_BOOLEAN(tmp ==
"true", driver.loc_);
2469 #line 590 "agent_lexer.ll"
2471 return AgentParser::make_NULL_TYPE(driver.loc_);
2476 #line 594 "agent_lexer.ll"
2477 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2481 #line 596 "agent_lexer.ll"
2482 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2486 #line 598 "agent_lexer.ll"
2487 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2491 #line 600 "agent_lexer.ll"
2492 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2495 #line 602 "agent_lexer.ll"
2497 if (driver.states_.empty()) {
2498 return AgentParser::make_END(driver.loc_);
2500 driver.loc_ = driver.locs_.back();
2501 driver.locs_.pop_back();
2502 driver.file_ = driver.files_.back();
2503 driver.files_.pop_back();
2504 if (driver.sfile_) {
2505 fclose(driver.sfile_);
2508 if (!driver.sfiles_.empty()) {
2509 driver.sfile_ = driver.sfiles_.back();
2510 driver.sfiles_.pop_back();
2513 agent__switch_to_buffer(driver.states_.back());
2514 driver.states_.pop_back();
2521 #line 625 "agent_lexer.ll"
2524 #line 2524 "agent_lexer.cc"
2532 *
yy_cp = (yy_hold_char);
2566 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2568 yy_current_state = yy_get_previous_state( );
2579 yy_next_state = yy_try_NUL_trans( yy_current_state );
2583 if ( yy_next_state )
2586 yy_cp = ++(yy_c_buf_p);
2587 yy_current_state = yy_next_state;
2594 yy_cp = (yy_last_accepting_cpos);
2595 yy_current_state = (yy_last_accepting_state);
2596 goto yy_find_action;
2600 else switch ( yy_get_next_buffer( ) )
2604 (yy_did_buffer_switch_on_eof) = 0;
2625 if ( ! (yy_did_buffer_switch_on_eof) )
2635 yy_current_state = yy_get_previous_state( );
2637 yy_cp = (yy_c_buf_p);
2645 yy_current_state = yy_get_previous_state( );
2647 yy_cp = (yy_c_buf_p);
2649 goto yy_find_action;
2656 "fatal flex scanner internal error--no action found" );
2677 static int yy_get_next_buffer (
void)
2684 int number_to_move, i;
2689 "fatal flex scanner internal error--end of buffer missed" );
2713 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2715 for ( i = 0; i < number_to_move; ++i )
2716 *(dest++) = *(source++);
2729 while ( num_to_read <= 0 )
2735 int yy_c_buf_p_offset =
2742 if ( new_size <= 0 )
2758 "fatal error - scanner input buffer overflow" );
2760 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
2772 (yy_n_chars), num_to_read );
2777 if ( (yy_n_chars) == 0 )
2798 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2802 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
2807 (yy_n_chars) += number_to_move;
2829 yy_current_state = (yy_start);
2835 if ( yy_accept[yy_current_state] )
2837 (yy_last_accepting_state) = yy_current_state;
2838 (yy_last_accepting_cpos) =
yy_cp;
2840 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2842 yy_current_state = (int) yy_def[yy_current_state];
2843 if ( yy_current_state >= 320 )
2844 yy_c = yy_meta[yy_c];
2846 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2849 return yy_current_state;
2865 char *
yy_cp = (yy_c_buf_p);
2868 if ( yy_accept[yy_current_state] )
2870 (yy_last_accepting_state) = yy_current_state;
2871 (yy_last_accepting_cpos) =
yy_cp;
2873 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2875 yy_current_state = (int) yy_def[yy_current_state];
2876 if ( yy_current_state >= 320 )
2877 yy_c = yy_meta[yy_c];
2879 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2880 yy_is_jam = (yy_current_state == 319);
2882 return yy_is_jam ? 0 : yy_current_state;
2894 static int yyinput (
void)
2896 static int input (
void)
2905 *(yy_c_buf_p) = (yy_hold_char);
2915 *(yy_c_buf_p) =
'\0';
2919 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
2922 switch ( yy_get_next_buffer( ) )
2945 if ( ! (yy_did_buffer_switch_on_eof) )
2961 c = *(
unsigned char *) (yy_c_buf_p);
2962 *(yy_c_buf_p) =
'\0';
2963 (yy_hold_char) = *++(yy_c_buf_p);
3021 *(yy_c_buf_p) = (yy_hold_char);
3034 (yy_did_buffer_switch_on_eof) = 1;
3050 (yy_hold_char) = *(yy_c_buf_p);
3198 if (new_buffer == NULL)
3207 *(yy_c_buf_p) = (yy_hold_char);
3214 (yy_buffer_stack_top)++;
3219 (yy_did_buffer_switch_on_eof) = 1;
3239 if ((yy_buffer_stack_top) > 0)
3240 --(yy_buffer_stack_top);
3244 (yy_did_buffer_switch_on_eof) = 1;
3261 if (!(yy_buffer_stack)) {
3271 if ( ! (yy_buffer_stack) )
3272 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3274 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3276 (yy_buffer_stack_max) = num_to_alloc;
3277 (yy_buffer_stack_top) = 0;
3281 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3286 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3291 if ( ! (yy_buffer_stack) )
3292 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3295 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3296 (yy_buffer_stack_max) = num_to_alloc;
3375 for ( i = 0; i < _yybytes_len; ++i )
3376 buf[i] = yybytes[i];
3393 #ifndef YY_EXIT_FAILURE
3394 #define YY_EXIT_FAILURE 2
3398 static void yynoreturn yy_fatal_error (
const char* msg )
3400 fprintf( stderr,
"%s\n", msg );
3414 int yyless_macro_arg = (n); \
3415 YY_LESS_LINENO(yyless_macro_arg);\
3416 yytext[yyleng] = (yy_hold_char); \
3417 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3418 (yy_hold_char) = *(yy_c_buf_p); \
3419 *(yy_c_buf_p) = '\0'; \
3420 yyleng = yyless_macro_arg; \
3519 static int yy_init_globals (
void)
3525 (yy_buffer_stack) = NULL;
3526 (yy_buffer_stack_top) = 0;
3527 (yy_buffer_stack_max) = 0;
3528 (yy_c_buf_p) = NULL;
3561 yyfree((yy_buffer_stack) );
3562 (yy_buffer_stack) = NULL;
3579 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3583 for ( i = 0; i < n; ++i )
3588 #ifdef YY_NEED_STRLEN
3589 static int yy_flex_strlen (
const char * s )
3592 for ( n = 0; s[n]; ++n )
3601 return malloc(size);
3614 return realloc(ptr, size);
3619 free( (
char *) ptr );
3624 #define YYTABLES_NAME "yytables"
3629 #line 625 "agent_lexer.ll"
3635 ParserContext::scanStringBegin(
const std::string& str,
ParserType parser_type)
3637 start_token_flag =
true;
3638 start_token_value = parser_type;
3642 loc_.initialize(&file_);
3645 buffer = agent__scan_bytes(str.c_str(), str.size());
3647 fatal(
"cannot scan string");
3653 ParserContext::scanFileBegin(FILE * f,
3654 const std::string& filename,
3657 start_token_flag =
true;
3658 start_token_value = parser_type;
3662 loc_.initialize(&file_);
3667 buffer = agent__create_buffer(f, 65536 );
3669 fatal(
"cannot scan file " + filename);
3671 agent__switch_to_buffer(buffer);
3675 ParserContext::scanEnd() {
3679 static_cast<void>(agent_lex_destroy());
3681 while (!sfiles_.empty()) {
3682 FILE* f = sfiles_.back();
3689 while (!states_.empty()) {
3690 agent__delete_buffer(states_.back());
3696 ParserContext::includeFile(
const std::string& filename) {
3697 if (states_.size() > 10) {
3698 fatal(
"Too many nested include.");
3701 FILE* f = fopen(filename.c_str(),
"r");
3703 fatal(
"Can't open include file " + filename);
3706 sfiles_.push_back(sfile_);
3711 buffer = agent__create_buffer(f, 65536 );
3713 fatal(
"Can't scan include file " + filename);
3715 agent__switch_to_buffer(buffer);
3716 files_.push_back(file_);
3718 locs_.push_back(loc_);
3719 loc_.initialize(&file_);
3728 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }