From: Francis Dupont Date: Thu, 7 Aug 2025 10:18:06 +0000 (+0200) Subject: [#226] Added adaptive-lease-time-threshold X-Git-Tag: Kea-3.1.1~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f34f80f9eb940984367b1ae703408b8641727cf;p=thirdparty%2Fkea.git [#226] Added adaptive-lease-time-threshold --- diff --git a/doc/examples/kea4/all-keys.json b/doc/examples/kea4/all-keys.json index 5d4b48529c..14bc800074 100644 --- a/doc/examples/kea4/all-keys.json +++ b/doc/examples/kea4/all-keys.json @@ -989,6 +989,9 @@ // lease is returned as it was "cached". "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // Specify whether the server should look up global reservations. "reservations-global": false, @@ -1277,6 +1280,9 @@ // Subnet-level cache maximum. "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // List of static IPv4 reservations assigned to clients belonging // to this subnet. For a detailed example, see reservations.json. "reservations": [ @@ -1419,6 +1425,9 @@ // Global cache maximum. "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // String of zero or more characters with which to replace each // invalid character in the hostname or Client FQDN. The default // value is an empty string, which will cause invalid characters diff --git a/doc/examples/kea6/all-keys.json b/doc/examples/kea6/all-keys.json index cc4e1a943f..5987798de2 100644 --- a/doc/examples/kea6/all-keys.json +++ b/doc/examples/kea6/all-keys.json @@ -939,6 +939,9 @@ // lease is returned as it was "cached". "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // Specify whether the server should look up global reservations. "reservations-global": false, @@ -1270,6 +1273,9 @@ // Subnet-level cache maximum. "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // List of static IPv6 reservations assigned to clients belonging // to this subnet. For a detailed example, see reservations.json. "reservations": [ @@ -1408,6 +1414,9 @@ // Global cache maximum. "cache-max-age": 1000, + // Adaptive lease time threshold = 1. (disabled). + "adaptive-lease-time-threshold": 1., + // String of zero or more characters with which to replace each // invalid character in the Client FQDN. The default // value is an empty string, which will cause invalid characters diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 4a63e63b68..eee75ebbde 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -328,6 +328,7 @@ typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; @@ -452,7 +453,7 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int yyleng; +extern yy_size_t yyleng; /* %endif */ /* %if-c-only */ @@ -505,7 +506,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -586,8 +587,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* %not-for-header */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = NULL; @@ -617,7 +618,7 @@ static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len ); /* %endif */ @@ -685,14 +686,14 @@ static void yynoreturn yy_fatal_error ( const char* msg ); #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ /* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ - yyleng = (int) (yy_cp - yy_bp); \ + yyleng = (yy_size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 248 -#define YY_END_OF_BUFFER 249 +#define YY_NUM_RULES 249 +#define YY_END_OF_BUFFER 250 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +701,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2412] = +static const flex_int16_t yy_accept[2441] = { 0, - 241, 241, 0, 0, 0, 0, 0, 0, 0, 0, - 249, 247, 10, 11, 247, 1, 241, 238, 241, 241, - 247, 240, 239, 247, 247, 247, 247, 247, 234, 235, - 247, 247, 247, 236, 237, 5, 5, 5, 247, 247, - 247, 10, 11, 0, 0, 229, 0, 0, 0, 0, + 242, 242, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 248, 10, 11, 248, 1, 242, 239, 242, 242, + 248, 241, 240, 248, 248, 248, 248, 248, 235, 236, + 248, 248, 248, 237, 238, 5, 5, 5, 248, 248, + 248, 10, 11, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 241, - 241, 0, 240, 241, 3, 2, 6, 0, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 242, + 242, 0, 241, 242, 3, 2, 6, 0, 242, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -722,14 +723,14 @@ static const flex_int16_t yy_accept[2412] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 231, 233, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 232, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -737,9 +738,9 @@ static const flex_int16_t yy_accept[2412] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 246, 244, 0, 243, 242, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, - 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 245, 0, + 244, 243, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 203, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -748,45 +749,45 @@ static const flex_int16_t yy_accept[2412] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 242, 0, 0, - 0, 0, 0, 0, 0, 203, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, - - 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 0, 0, 0, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 246, + 243, 0, 0, 0, 0, 0, 0, 0, 204, 0, + 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, + + 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, + 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 39, + 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 133, 0, 0, 35, 170, 0, - 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 12, 207, 206, 0, 0, 0, 0, 0, - 148, 0, 0, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, + 0, 35, 171, 0, 0, 36, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12, 208, 207, 0, + 0, 0, 0, 0, 0, 149, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 178, 0, 0, 0, - 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 7, 0, 0, 208, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 179, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, + 0, 7, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -794,180 +795,182 @@ static const flex_int16_t yy_accept[2412] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, + 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 180, 105, 0, 0, 0, 0, + 0, 181, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 119, 0, 0, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 0, 0, 0, 0, 155, 120, 0, 0, - 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 40, 103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, + 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 128, 40, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 57, 0, 0, 0, - + 0, 0, 0, 0, 37, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, + + 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, - 55, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 190, 0, 0, 0, 179, + 0, 72, 0, 0, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 194, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 181, 0, 61, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, + 182, 0, 61, 0, 0, 0, 213, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, + 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 139, 0, 0, 23, 0, 150, + 0, 0, 0, 0, 140, 0, 0, 23, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 198, 0, 100, 0, 0, 0, - 0, 0, 95, 0, 0, 0, 0, 153, 0, 0, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 199, 0, 100, 0, 0, 0, + 0, 0, 95, 0, 0, 0, 0, 154, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, - 0, 0, 0, 195, 0, 0, 193, 0, 0, 0, - 173, 175, 169, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 22, 0, 0, 62, 0, 0, 0, 0, - 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 91, 90, 0, 0, 0, 0, - 0, 0, 162, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, - 0, 0, 151, 0, 15, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 68, 0, - 0, 146, 0, 137, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 0, 0, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, + 0, 0, 0, 0, 196, 0, 0, 194, 0, 0, + + 0, 174, 176, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 0, 0, 62, 0, 0, 0, + 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 91, 90, 0, 0, + 0, 0, 0, 0, 163, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 0, 0, 0, 152, 0, 15, 0, 0, 41, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, + 68, 0, 0, 147, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 0, 104, 0, 0, 210, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 118, 0, 0, 183, - 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 104, 0, 0, 211, 0, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 118, + 0, 0, 184, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, - 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 176, - 218, 0, 0, 129, 31, 0, 0, 0, 167, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 213, 0, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 28, 0, 0, 196, 0, 0, 0, - 53, 0, 0, 0, 227, 0, 0, 0, 121, 120, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, + 0, 135, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 177, 219, 0, 0, 130, 31, 0, + 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 28, 0, 0, + 197, 0, 0, 0, 53, 0, 0, 0, 228, 0, + 0, 0, 122, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 117, 0, 0, 0, 42, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, - 0, 0, 30, 0, 0, 0, 0, 0, 214, 0, - 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, - 0, 217, 0, 94, 0, 0, 48, 0, 0, 0, - 0, 211, 0, 84, 0, 0, 209, 0, 32, 0, - 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, - - 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, + 42, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 135, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 0, 49, 0, - 0, 0, 0, 0, 45, 165, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, + 0, 0, 0, 153, 0, 0, 0, 30, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 21, 0, 0, 218, 0, 94, 0, + 0, 48, 0, 0, 0, 0, 212, 0, 84, 0, + + 0, 210, 0, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 88, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 199, 0, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, + 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 0, 49, 0, 0, 0, 0, 0, + 45, 166, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 200, 0, 0, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 159, 0, 66, 65, 0, 20, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, + 66, 65, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 114, 0, 0, 0, 0, + 0, 85, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, - 52, 0, 71, 0, 46, 0, 109, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 93, 0, 0, 0, + 0, 0, 159, 0, 0, 0, 0, 0, 0, 52, + 0, 71, 0, 46, 0, 109, 0, 0, 0, 0, + 0, 0, 0, 229, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 33, 0, 0, 0, 80, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 220, 223, - 0, 0, 130, 110, 0, 0, 0, 0, 0, 0, - - 0, 86, 0, 0, 76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 136, 156, 0, 0, - 0, 0, 0, 0, 161, 0, 0, 78, 0, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, - 0, 0, 200, 0, 225, 221, 0, 0, 0, 0, + 0, 87, 0, 33, 0, 0, 0, 80, 0, 0, + + 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, + 221, 224, 0, 0, 131, 110, 0, 0, 0, 0, + 0, 0, 0, 86, 0, 0, 0, 76, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 157, 0, 0, 0, 0, 0, 0, 162, 0, 0, + 0, 78, 0, 69, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 156, 0, 0, 201, 0, 226, + 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 77, 0, 0, 131, 0, - 0, 0, 27, 25, 0, 0, 0, 0, 82, 0, - 0, 113, 0, 0, 74, 0, 83, 0, 0, 224, - 0, 0, 0, 0, 0, 73, 0, 157, 26, 219, - 0 + 0, 0, 77, 0, 0, 132, 0, 0, 0, 27, + 25, 0, 0, 0, 0, 0, 82, 0, 0, 113, + 0, 0, 74, 0, 119, 83, 0, 0, 225, 0, + 0, 0, 0, 0, 73, 0, 158, 26, 220, 0 } ; static const YY_CHAR yy_ec[256] = @@ -1014,291 +1017,294 @@ static const YY_CHAR yy_meta[77] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[2420] = +static const flex_int16_t yy_base[2449] = { 0, 0, 75, 21, 28, 39, 47, 53, 61, 95, 103, - 2861, 2862, 31, 2857, 151, 0, 216, 2862, 223, 230, - 13, 237, 2862, 2837, 124, 17, 4, 34, 2862, 2862, - 23, 43, 64, 2862, 2862, 2862, 56, 2845, 2795, 0, - 2835, 106, 2852, 2, 274, 2862, 2791, 85, 90, 2797, + 2891, 2892, 31, 2887, 151, 0, 216, 2892, 223, 230, + 13, 237, 2892, 2867, 124, 17, 4, 34, 2892, 2892, + 23, 43, 64, 2892, 2892, 2892, 56, 2875, 2825, 0, + 2865, 106, 2882, 2, 274, 2892, 2821, 85, 90, 2827, 98, 77, 231, 235, 97, 200, 304, 229, 64, 300, - 218, 313, 219, 63, 257, 2799, 298, 67, 341, 242, - 316, 2782, 21, 342, 362, 322, 210, 330, 0, 405, - 422, 436, 445, 450, 2862, 0, 2862, 464, 469, 228, - 232, 238, 260, 347, 278, 2862, 2799, 2843, 2862, 276, - - 2862, 442, 2830, 329, 250, 2796, 348, 17, 347, 2835, - 361, 361, 367, 389, 2839, 0, 506, 429, 2778, 2775, - 2775, 2778, 442, 2774, 348, 2782, 453, 2768, 2769, 2774, - 230, 2784, 360, 2777, 2767, 2776, 392, 2782, 405, 79, - 434, 2762, 2818, 2822, 2765, 2758, 2814, 2751, 384, 2772, - 2772, 2766, 402, 2758, 2759, 2757, 2751, 466, 2762, 225, - 2747, 2746, 474, 2747, 450, 2759, 2758, 2739, 515, 429, - 473, 2760, 2757, 2758, 2746, 446, 2755, 2793, 2792, 463, - 483, 2736, 477, 2737, 483, 480, 2747, 2739, 2732, 2740, - 0, 507, 369, 501, 511, 519, 534, 2736, 2862, 2784, - - 539, 538, 2730, 529, 514, 541, 544, 2787, 544, 2786, - 519, 2785, 2862, 2862, 584, 2727, 567, 2740, 2732, 2730, - 2718, 2729, 2733, 2734, 2714, 2725, 2729, 2726, 2725, 509, - 551, 2766, 2727, 2708, 2705, 2713, 2708, 2718, 2721, 2717, - 2708, 2704, 2716, 2716, 2704, 2703, 2705, 2708, 2688, 2692, - 2706, 2698, 2688, 2691, 2705, 2862, 2690, 2699, 537, 2740, - 2683, 2692, 2737, 2681, 2691, 2694, 561, 2733, 2675, 2689, - 2730, 564, 2672, 2686, 2684, 2664, 2679, 542, 2676, 555, - 2667, 2665, 2665, 2671, 2662, 2675, 2659, 2721, 2674, 9, - 2668, 555, 2675, 2670, 2653, 2668, 2654, 2666, 2661, 2665, - - 2646, 2662, 2648, 2654, 2661, 2700, 517, 556, 2648, 2645, - 2644, 615, 2643, 2638, 2652, 596, 2651, 2697, 2630, 2652, - 582, 570, 2643, 2631, 597, 2862, 2862, 598, 2862, 2862, - 2629, 573, 585, 600, 2680, 614, 2690, 605, 614, 2862, - 2689, 2862, 2683, 658, 2642, 616, 2619, 591, 2640, 2679, - 2636, 2619, 2636, 2675, 2632, 2615, 2621, 2676, 2628, 2631, - 2622, 2625, 2611, 2622, 2669, 2663, 2618, 2615, 635, 2620, - 2620, 2663, 2595, 2656, 2606, 2601, 2595, 2594, 2596, 2599, - 2649, 2603, 2647, 2590, 651, 650, 2604, 2589, 2588, 2601, - 2599, 2597, 2597, 2596, 2591, 2598, 2593, 2589, 599, 2587, - - 2590, 2572, 2584, 2634, 591, 629, 2628, 2572, 2588, 2625, - 2572, 2571, 2564, 2579, 2570, 2577, 2558, 2575, 2570, 681, - 2620, 2572, 2571, 2862, 2570, 413, 2561, 2559, 2571, 628, - 2546, 2547, 2560, 2550, 2542, 2603, 2545, 2559, 640, 2545, - 2557, 2556, 2555, 2546, 2550, 2548, 2593, 2550, 2549, 2548, - 2547, 2530, 2538, 2591, 2547, 2527, 2588, 2862, 2587, 2526, - 2525, 685, 2538, 2536, 2534, 2534, 2862, 2862, 2534, 2523, - 2515, 639, 2572, 2576, 2575, 2862, 2574, 626, 2862, 664, - 735, 2530, 663, 2572, 2515, 2510, 2569, 2520, 2562, 2512, - 2514, 614, 2504, 2512, 2500, 2862, 2505, 2498, 2510, 2513, - - 2500, 2499, 2862, 668, 2501, 2498, 662, 2496, 2490, 2497, - 2862, 2545, 2504, 2501, 2486, 2503, 2499, 2497, 2497, 2491, - 693, 2481, 2535, 2862, 2479, 2495, 2532, 2862, 2486, 2535, - 2488, 2486, 2484, 2485, 2469, 2478, 2523, 2471, 2470, 2465, - 2464, 2518, 2459, 625, 2478, 2452, 2459, 2475, 2512, 2862, - 2459, 2455, 709, 2453, 2508, 2461, 2460, 2454, 2446, 2446, - 2445, 2459, 2459, 2447, 2443, 2441, 2862, 2450, 2500, 2862, - 2439, 2493, 2435, 2434, 2439, 2494, 2447, 2441, 2435, 2444, - 2489, 2483, 2427, 2422, 2480, 2441, 2416, 2422, 636, 2436, - 2429, 2433, 2416, 2477, 2419, 2470, 2413, 2413, 2467, 2409, - - 2410, 2409, 2407, 2424, 2862, 2420, 2460, 2862, 2862, 2408, - 2406, 2862, 670, 2457, 2461, 2393, 2454, 2411, 2395, 2412, - 2455, 712, 2862, 2862, 2862, 691, 703, 666, 2392, 734, - 2862, 2391, 2401, 2862, 2400, 696, 2407, 2387, 2397, 2400, - 2441, 2383, 711, 2382, 2392, 2437, 2379, 2386, 2379, 2381, - 2390, 2372, 2372, 2387, 2386, 2370, 677, 2384, 2383, 2383, - 2365, 2370, 2414, 2368, 2377, 2374, 2368, 2416, 2357, 2357, - 2371, 2371, 2369, 2369, 2862, 2354, 2366, 2358, 2364, 2355, - 2363, 2361, 2862, 2347, 2401, 2362, 2344, 2356, 2348, 695, - 2339, 2338, 2332, 2337, 2352, 2349, 2350, 2329, 2339, 2345, - - 2391, 2336, 2327, 2328, 2330, 2325, 2338, 2330, 2329, 713, - 2377, 2325, 762, 2375, 2317, 2373, 2317, 2320, 2313, 2328, - 2862, 2373, 2310, 2324, 2319, 2315, 2862, 2363, 2312, 2319, - 2360, 2862, 2302, 2316, 2319, 2304, 2299, 2354, 2353, 2293, - 11, 58, 205, 304, 335, 2862, 341, 395, 450, 652, - 672, 763, 692, 704, 703, 702, 760, 723, 721, 707, - 714, 722, 721, 2862, 771, 722, 2862, 738, 730, 2862, - 750, 764, 764, 756, 772, 734, 731, 743, 733, 742, - 754, 748, 737, 733, 747, 743, 749, 800, 761, 807, - 808, 765, 765, 809, 815, 766, 766, 767, 777, 782, - - 768, 771, 774, 783, 783, 767, 827, 777, 787, 790, - 831, 777, 838, 785, 789, 786, 788, 796, 839, 841, - 801, 848, 803, 806, 801, 792, 807, 812, 813, 810, - 812, 814, 813, 801, 815, 813, 821, 860, 819, 867, - 868, 815, 807, 817, 868, 824, 876, 2862, 826, 828, - 824, 818, 834, 822, 832, 884, 880, 881, 841, 842, - 2862, 832, 833, 832, 845, 835, 848, 895, 896, 897, - 2862, 831, 854, 845, 834, 840, 898, 859, 843, 855, - 907, 846, 853, 905, 866, 862, 867, 865, 912, 851, - 863, 878, 875, 875, 874, 864, 862, 2862, 929, 883, - - 884, 872, 886, 877, 881, 892, 877, 885, 888, 892, - 899, 894, 886, 901, 925, 917, 946, 947, 921, 894, - 908, 911, 914, 911, 893, 900, 914, 962, 916, 901, - 914, 915, 913, 922, 2862, 2862, 918, 913, 928, 925, - 911, 913, 932, 929, 931, 920, 927, 929, 938, 985, - 943, 982, 941, 931, 930, 929, 940, 936, 928, 2862, - 939, 950, 935, 936, 942, 958, 997, 955, 950, 1000, - 2862, 961, 953, 964, 962, 1010, 949, 966, 952, 964, - 973, 970, 957, 955, 1020, 974, 960, 966, 964, 2862, - 2862, 974, 979, 984, 972, 982, 984, 2862, 985, 972, - - 990, 977, 979, 972, 989, 2862, 978, 996, 997, 1036, - 984, 985, 982, 986, 1004, 1048, 2862, 2862, 2862, 991, - 988, 1004, 1052, 1003, 993, 994, 990, 1003, 2862, 1014, - 1009, 1056, 1011, 1013, 1006, 1008, 1004, 1010, 1010, 1012, - 1027, 1010, 1072, 1026, 1028, 1032, 1019, 1010, 1078, 1032, - 1035, 1021, 1020, 2862, 1027, 1028, 1080, 1081, 1030, 1043, - 1084, 1039, 1029, 1045, 1045, 1051, 1032, 1041, 1049, 1036, - 1067, 1077, 1065, 1073, 1085, 1102, 1048, 1062, 1045, 1103, - 1104, 1063, 1106, 2862, 1112, 1062, 1053, 1069, 1073, 1117, - 1064, 1063, 1058, 1059, 1071, 1066, 1062, 1071, 1066, 1069, - - 1082, 1091, 1130, 2862, 1081, 1075, 1093, 1086, 1081, 1142, - 1096, 1097, 1088, 1146, 1103, 1092, 1095, 1103, 1105, 1090, - 1110, 1103, 1108, 1105, 1103, 1115, 1099, 1100, 2862, 1116, - 1119, 1116, 1103, 1120, 1115, 1167, 1107, 1126, 2862, 1125, - 1128, 1114, 1109, 1127, 1170, 1125, 1121, 1118, 1174, 1175, - 1134, 1120, 1138, 1138, 1138, 1139, 1140, 1142, 1127, 1142, - 1140, 1130, 1131, 1147, 1134, 1151, 2862, 1149, 1151, 1199, - 1143, 2862, 1146, 1151, 1198, 1146, 1158, 1152, 1150, 1147, - 1153, 1163, 1211, 1152, 1153, 1153, 1215, 1156, 1168, 1161, - 2862, 1157, 1174, 1166, 1162, 1165, 2862, 1168, 1220, 1159, - - 1180, 1167, 1168, 1169, 1170, 1176, 1184, 1175, 1180, 1190, - 1238, 1192, 1240, 1187, 1195, 1200, 1244, 1212, 1241, 1224, - 1216, 1221, 2862, 1204, 1189, 1201, 1197, 1211, 1194, 1194, - 2862, 1197, 1196, 1259, 1199, 2862, 1210, 1200, 1220, 1219, - 1210, 1221, 1267, 1217, 1226, 1219, 1223, 1227, 1210, 1235, - 1232, 1233, 1224, 1282, 1226, 2862, 1279, 1223, 1227, 2862, - 1245, 1227, 1228, 1228, 1249, 1246, 1248, 1235, 1253, 1241, - 1255, 1248, 1257, 1237, 1252, 1259, 1244, 1305, 1248, 1302, - 2862, 1308, 1309, 1248, 1258, 1268, 1252, 1272, 1260, 1256, - 1263, 1272, 1260, 1267, 1268, 1280, 1324, 1268, 1326, 1267, - - 1266, 1270, 1284, 1288, 1332, 1277, 1283, 1284, 1273, 1337, - 1285, 1288, 1340, 2862, 1278, 1295, 1288, 1279, 1298, 1286, - 1296, 1292, 1287, 1306, 1306, 2862, 1290, 1286, 1292, 2862, - 1293, 1357, 1313, 1294, 1300, 1314, 1300, 1316, 1302, 1319, - 1361, 1311, 1368, 1369, 1319, 1324, 1318, 1316, 1327, 1326, - 1310, 2862, 1315, 2862, 1324, 1322, 1335, 2862, 1349, 1362, - 1350, 1364, 1351, 1386, 1336, 1324, 1346, 1341, 1341, 1345, - 1346, 1394, 2862, 1334, 1334, 1337, 1354, 1349, 1353, 1348, - 2862, 1357, 1341, 1358, 1338, 1359, 1349, 1343, 1358, 1355, - 1411, 1361, 2862, 1374, 1374, 1415, 1359, 1368, 1418, 1373, - - 1378, 1364, 1427, 1382, 1368, 1369, 1383, 1381, 1378, 1374, - 1392, 1393, 1394, 1377, 2862, 1434, 1386, 2862, 1396, 2862, - 1381, 1392, 1383, 1402, 1395, 1393, 1386, 1398, 1445, 1406, - 1395, 1402, 1403, 1409, 2862, 1402, 2862, 1457, 1407, 1396, - 1409, 1461, 2862, 1400, 1406, 1407, 1418, 2862, 1419, 1413, - 2862, 1406, 1409, 1423, 1428, 1411, 1473, 1427, 1414, 1433, - 1420, 1425, 1479, 1475, 1425, 1482, 2862, 1430, 1427, 1438, - 1486, 1487, 1488, 1484, 1443, 1444, 1446, 2862, 2862, 1438, - 1433, 1490, 1436, 1452, 1498, 1437, 1449, 1501, 1439, 1456, - 1499, 1482, 1483, 1475, 1508, 2862, 1452, 1463, 1456, 1465, - - 1456, 1467, 1469, 2862, 1516, 1450, 1461, 1476, 1515, 1464, - 1475, 1461, 1477, 1478, 1475, 1522, 1482, 1529, 1530, 1486, - 1477, 1487, 1494, 1481, 1477, 1540, 1536, 1491, 1538, 1544, - 1498, 2862, 1495, 1485, 1501, 1492, 1495, 1504, 1501, 1491, - 1494, 1494, 1556, 1496, 1507, 1502, 1560, 1504, 1562, 1503, - 1508, 1566, 1562, 1500, 1515, 1508, 1511, 1524, 1525, 1523, - 1575, 2862, 1521, 1527, 1517, 2862, 1533, 1525, 1526, 1578, - 1522, 1538, 1586, 1587, 1528, 1538, 1590, 2862, 1535, 1592, - 1533, 1531, 1534, 2862, 1551, 1556, 2862, 1553, 1541, 1541, - 2862, 2862, 2862, 1546, 1556, 1539, 1559, 1560, 1546, 1548, - - 1610, 1557, 2862, 1612, 1558, 2862, 1552, 1615, 1580, 1598, - 1613, 1600, 2862, 1563, 1622, 1576, 1624, 1571, 1621, 1627, - 2862, 1567, 1629, 1576, 1570, 1567, 1570, 1572, 1630, 1590, - 1632, 1582, 1594, 1597, 2862, 2862, 1594, 1588, 1592, 1586, - 1593, 1583, 2862, 1591, 1606, 1591, 2862, 1593, 1593, 1651, - 1596, 1653, 1612, 1614, 1614, 1611, 1658, 1617, 2862, 1618, - 1610, 1611, 2862, 1612, 2862, 1622, 1615, 2862, 1621, 1626, - 1627, 1624, 1671, 1616, 1631, 1632, 1624, 2862, 1634, 1622, - 1632, 1624, 1624, 1625, 1626, 1683, 1689, 2862, 2862, 1685, - 1629, 2862, 1630, 2862, 1644, 1632, 1640, 1697, 1642, 1634, - - 1647, 1641, 1651, 1644, 1648, 1664, 1657, 1663, 1653, 1711, - 1661, 2862, 1670, 2862, 1667, 1715, 2862, 1665, 1693, 1694, - 1700, 1685, 1693, 1722, 2862, 1723, 2862, 1678, 1663, 2862, - 1726, 2862, 1727, 1681, 1686, 1668, 1731, 1672, 1728, 1691, - 1685, 1681, 1675, 1682, 1734, 1689, 1690, 1680, 1685, 1703, - 1751, 1702, 1753, 1703, 1701, 1751, 1712, 1712, 1754, 1699, - 1704, 1702, 1764, 1705, 1713, 1719, 1707, 1769, 1765, 1725, - 1772, 1730, 1719, 1713, 1776, 1715, 1716, 1730, 1780, 1734, - 1725, 1735, 1784, 1785, 1735, 1733, 2862, 1723, 1784, 1785, - 1737, 1737, 1737, 1732, 1733, 1751, 2862, 1742, 1748, 1753, - - 1740, 1741, 1803, 1742, 1742, 1744, 1802, 1745, 2862, 1741, - 1759, 1811, 2862, 1766, 1780, 1794, 1793, 1782, 1784, 2862, - 2862, 1818, 1768, 2862, 2862, 1759, 1770, 1822, 2862, 1823, - 1777, 1768, 1773, 1771, 1824, 1779, 1784, 1770, 1773, 1789, - 1778, 1776, 1790, 1777, 2862, 1779, 2862, 1784, 1802, 1789, - 1798, 1844, 1788, 1851, 1796, 1806, 1807, 2862, 1855, 1792, - 1852, 1807, 1854, 2862, 1802, 1861, 2862, 1801, 1816, 1804, - 2862, 1814, 1815, 1867, 2862, 1822, 1813, 1827, 2862, 2862, - 1803, 1821, 1830, 1812, 1830, 1819, 1872, 1821, 1817, 1822, - 1881, 1820, 1821, 1884, 1880, 1886, 2862, 1836, 1834, 1889, - - 1839, 1829, 1845, 1838, 2862, 1894, 1872, 1896, 1878, 1893, - 1899, 2862, 1845, 1901, 1840, 2862, 2862, 1842, 1844, 1854, - 1901, 1846, 1861, 1848, 1910, 1864, 1850, 1857, 1857, 1915, - 1869, 1870, 1862, 1858, 1860, 1874, 1862, 1874, 2862, 1921, - 1869, 1866, 2862, 1882, 1869, 1882, 1869, 1890, 2862, 1887, - 1935, 1885, 1882, 1883, 2862, 1939, 1897, 1896, 1895, 1888, - 1893, 1894, 1892, 1903, 1887, 1896, 1945, 1951, 2862, 1901, - 1953, 2862, 1899, 2862, 1898, 1894, 2862, 1901, 1958, 1960, - 1956, 2862, 1957, 2862, 1939, 1945, 2862, 1917, 2862, 1961, - 1910, 1921, 1922, 1907, 1908, 1916, 1973, 2862, 1918, 1970, - - 1971, 1923, 2862, 1918, 1936, 1937, 1919, 1925, 1938, 1933, - 1930, 1935, 1933, 1988, 1929, 1945, 1993, 1938, 1935, 1935, - 2862, 1950, 1951, 1952, 2862, 1946, 1954, 2002, 1952, 1942, - 1950, 1963, 1964, 1945, 1946, 1953, 2862, 1955, 2862, 1969, - 1966, 1958, 2010, 1968, 2862, 2862, 1972, 1998, 1999, 1997, - 1960, 1960, 1969, 1976, 1969, 1968, 1979, 1966, 2862, 1982, - 1970, 1973, 2032, 1969, 1988, 1981, 2031, 1992, 1985, 1984, - 1993, 1995, 1999, 2862, 2038, 1992, 2862, 1997, 1988, 2050, - 1990, 2052, 2053, 2049, 2055, 2862, 1994, 2052, 2011, 1998, - 2006, 2017, 2004, 2015, 2001, 1999, 2007, 2006, 2007, 2013, - - 2004, 2049, 2073, 2055, 2075, 2025, 2014, 2027, 2017, 2034, - 2033, 2077, 2018, 2037, 2038, 2862, 2043, 2036, 2083, 2079, - 2043, 2030, 2045, 2093, 2047, 2050, 2045, 2050, 2039, 2050, - 2862, 2102, 2862, 2862, 2049, 2862, 2104, 2043, 2106, 2046, - 2108, 2053, 2105, 2106, 2065, 2108, 2051, 2055, 2116, 2074, - 2118, 2074, 2101, 2862, 2097, 2862, 2067, 2061, 2058, 2120, - 2083, 2076, 2072, 2129, 2069, 2071, 2070, 2077, 2089, 2124, - 2075, 2137, 2078, 2862, 2083, 2093, 2095, 2097, 2080, 2088, - 2862, 2094, 2862, 2096, 2862, 2102, 2862, 2103, 2103, 2094, - 2153, 2094, 2104, 2089, 2862, 2102, 2862, 2104, 2135, 2141, - - 2113, 2111, 2163, 2101, 2103, 2100, 2124, 2862, 2111, 2118, - 2119, 2122, 2118, 2173, 2113, 2862, 2170, 2114, 2122, 2131, - 2117, 2133, 2132, 2121, 2128, 2123, 2123, 2137, 2132, 2862, - 2143, 2131, 2187, 2135, 2147, 2175, 2196, 2197, 2141, 2862, - 2141, 2153, 2201, 2147, 2149, 2147, 2148, 2206, 2164, 2862, - 2157, 2144, 2159, 2164, 2156, 2162, 2214, 2215, 2154, 2170, - 2218, 2219, 2160, 2165, 2161, 2177, 2160, 2172, 2166, 2228, - 2862, 2862, 2173, 2184, 2231, 2862, 2185, 2170, 2188, 2179, - 2862, 2175, 2181, 2195, 2191, 2184, 2179, 2185, 2862, 2862, - 2243, 2244, 2862, 2862, 2184, 2192, 2187, 2243, 2206, 2203, - - 2251, 2862, 2247, 2210, 2862, 2254, 2193, 2256, 2196, 2197, - 2210, 2209, 2210, 2200, 2212, 2208, 2862, 2862, 2203, 2266, - 2216, 2225, 2218, 2265, 2862, 2216, 2210, 2862, 2222, 2862, - 2269, 2228, 2276, 2215, 2231, 2279, 2232, 2281, 2282, 2862, - 2236, 2230, 2223, 2243, 2230, 2242, 2233, 2237, 2231, 2862, - 2288, 2234, 2862, 2244, 2862, 2862, 2235, 2243, 2293, 2250, - 2243, 2255, 2302, 2247, 2247, 2305, 2244, 2246, 2261, 2309, - 2310, 2249, 2265, 2250, 2267, 2862, 2315, 2259, 2862, 2266, - 2318, 2259, 2862, 2862, 2269, 2321, 2266, 2323, 2862, 2271, - 2270, 2862, 2326, 2272, 2862, 2266, 2862, 2266, 2283, 2862, - - 2284, 2332, 2275, 2334, 2335, 2862, 2336, 2862, 2862, 2862, - 2862, 2342, 2345, 2348, 2349, 2351, 2354, 2357, 2360 + 218, 313, 219, 63, 257, 2829, 298, 67, 341, 242, + 316, 2812, 21, 342, 362, 322, 210, 330, 0, 405, + 422, 436, 445, 450, 2892, 0, 2892, 464, 469, 228, + 232, 238, 260, 347, 278, 2892, 2829, 2873, 2892, 276, + + 2892, 442, 2860, 329, 250, 2826, 348, 17, 347, 2865, + 361, 361, 367, 389, 2869, 0, 506, 2825, 429, 2807, + 2804, 2804, 2807, 442, 2803, 348, 2811, 453, 2797, 2798, + 2803, 376, 2813, 377, 2806, 2796, 2805, 425, 2811, 405, + 79, 434, 2791, 2847, 2851, 2794, 2787, 2843, 2780, 384, + 2801, 2801, 2795, 423, 2787, 2788, 2786, 2780, 466, 2791, + 225, 2776, 2775, 474, 2776, 450, 2788, 2787, 2768, 515, + 456, 473, 2789, 2786, 2787, 2775, 488, 2784, 2822, 2821, + 463, 483, 2765, 401, 2766, 483, 491, 2776, 2768, 2761, + 2769, 0, 507, 369, 501, 511, 513, 526, 2765, 2892, + + 2813, 538, 538, 2759, 514, 533, 541, 545, 2816, 544, + 2815, 538, 2814, 2892, 2892, 587, 2755, 2755, 567, 2768, + 2760, 2758, 2746, 2757, 2761, 2762, 2742, 2753, 2757, 2754, + 2753, 524, 530, 2794, 2755, 2736, 2733, 2741, 2736, 2746, + 2749, 2745, 2736, 2732, 2744, 2744, 2732, 2731, 2733, 2736, + 2716, 2720, 2734, 2726, 2716, 2719, 2733, 2892, 2718, 2727, + 520, 2768, 2711, 2720, 2765, 2709, 2719, 2722, 565, 2761, + 2703, 2717, 2758, 564, 2700, 2714, 2712, 2692, 2707, 543, + 2704, 550, 2695, 2693, 2693, 2699, 2690, 2703, 2687, 2749, + 2702, 9, 2696, 558, 2703, 2698, 2681, 2696, 2682, 2694, + + 2689, 2693, 2674, 2690, 2676, 2682, 2689, 2728, 552, 542, + 2676, 2673, 2672, 616, 2671, 2666, 2680, 596, 2679, 2725, + 2658, 2680, 613, 573, 2671, 2659, 598, 2892, 2892, 599, + 2892, 2892, 2657, 576, 584, 597, 2708, 607, 2718, 607, + 602, 2892, 2717, 2892, 2711, 666, 2653, 2669, 601, 2646, + 601, 2667, 2706, 2663, 2646, 2663, 2702, 2659, 2642, 2648, + 2703, 2655, 2658, 2649, 2652, 2638, 2649, 2696, 2690, 2645, + 2642, 636, 2647, 2647, 2690, 2622, 2683, 2633, 2628, 2622, + 2621, 2623, 2626, 2676, 2630, 2674, 2617, 644, 655, 2631, + 2616, 2615, 2628, 2626, 2624, 2624, 2623, 2618, 2625, 2620, + + 2616, 602, 2614, 2617, 2599, 2611, 2661, 605, 609, 2655, + 2599, 2615, 2652, 2599, 2598, 2591, 2606, 2597, 2604, 2585, + 2602, 2597, 659, 2647, 2599, 2598, 2892, 2597, 637, 2588, + 2586, 2598, 633, 2573, 2574, 2587, 2577, 2569, 2630, 2572, + 2586, 644, 2572, 2584, 2583, 2582, 2573, 2577, 2575, 2620, + 2577, 2576, 2575, 2574, 2557, 2565, 2618, 2574, 2554, 2615, + 2892, 2614, 2553, 2552, 665, 2565, 2563, 2561, 2561, 2892, + 2892, 2561, 2550, 2542, 640, 2599, 2603, 2602, 2892, 2601, + 635, 2892, 668, 719, 2549, 2556, 647, 2598, 2541, 2536, + 2595, 2546, 2588, 2538, 2540, 632, 2530, 2538, 2526, 2892, + + 2531, 2524, 2536, 2539, 2526, 2525, 2892, 697, 2527, 2524, + 656, 2522, 2516, 2523, 2892, 2571, 2530, 2527, 2512, 2529, + 2525, 2523, 2523, 2517, 699, 2507, 2561, 2892, 2505, 2521, + 2558, 2892, 2512, 2561, 2514, 2512, 2510, 2511, 2495, 2504, + 2549, 2497, 2496, 2491, 2490, 2544, 2485, 624, 2504, 2478, + 2485, 2501, 2538, 2892, 2485, 2481, 718, 2479, 2534, 2487, + 2486, 2480, 2472, 2472, 2471, 2485, 2485, 2473, 2469, 2467, + 2892, 2476, 2526, 2892, 2465, 2519, 2461, 2460, 2465, 2520, + 2473, 2467, 2461, 2470, 2515, 2509, 2453, 2448, 2506, 2467, + 2442, 2448, 685, 2462, 2455, 2459, 2442, 2503, 2445, 2496, + + 2439, 2439, 2493, 2435, 2436, 2435, 2433, 2450, 2892, 2446, + 2486, 2892, 2892, 2434, 2432, 2892, 658, 2483, 2487, 2419, + 2480, 2437, 2421, 2438, 2481, 686, 2892, 2892, 2892, 702, + 668, 688, 2416, 2417, 744, 2892, 2416, 2426, 2892, 2425, + 212, 2432, 2412, 2422, 2425, 2466, 2408, 727, 2407, 2417, + 2462, 2404, 2411, 2404, 2406, 2415, 2397, 2397, 2412, 2411, + 2395, 692, 2409, 2408, 2408, 2390, 2395, 2439, 2393, 2402, + 2399, 2393, 2441, 2382, 2382, 2396, 2396, 2394, 2394, 2892, + 2379, 2391, 2383, 2389, 2380, 2388, 2386, 2892, 2372, 2426, + 2387, 2369, 2381, 2373, 689, 2364, 2363, 2357, 2362, 2377, + + 2374, 2375, 2354, 2364, 2370, 2416, 2361, 2352, 2353, 2355, + 2350, 2363, 2355, 2354, 713, 2402, 2350, 768, 2400, 2342, + 2398, 2342, 2345, 2338, 2353, 2892, 2398, 2335, 2349, 2344, + 2340, 2892, 2388, 2337, 2344, 2385, 2892, 2327, 2341, 2340, + 48, 248, 335, 382, 358, 479, 456, 681, 747, 750, + 2892, 724, 728, 710, 727, 728, 776, 732, 733, 732, + 718, 776, 739, 736, 721, 728, 735, 735, 2892, 785, + 729, 2892, 745, 737, 2892, 757, 771, 771, 763, 779, + 751, 742, 740, 751, 741, 750, 762, 756, 745, 741, + 755, 752, 758, 808, 769, 815, 816, 773, 773, 822, + + 823, 774, 774, 775, 785, 790, 776, 779, 782, 791, + 791, 775, 835, 785, 795, 798, 839, 785, 846, 793, + 797, 794, 796, 804, 847, 849, 809, 856, 811, 814, + 809, 800, 815, 820, 821, 818, 820, 822, 821, 809, + 823, 821, 829, 868, 827, 875, 876, 823, 815, 825, + 876, 832, 884, 2892, 834, 836, 832, 826, 842, 830, + 840, 892, 888, 889, 849, 850, 2892, 840, 841, 840, + 853, 843, 856, 903, 904, 905, 2892, 839, 862, 853, + 842, 848, 906, 867, 851, 863, 915, 854, 861, 913, + 874, 870, 875, 873, 920, 859, 871, 886, 883, 883, + + 882, 872, 870, 2892, 937, 891, 892, 880, 894, 885, + 889, 900, 885, 893, 896, 900, 907, 902, 894, 909, + 933, 925, 954, 955, 929, 957, 903, 917, 920, 923, + 920, 902, 909, 923, 971, 925, 910, 923, 924, 922, + 931, 2892, 2892, 927, 922, 937, 934, 920, 922, 942, + 938, 941, 929, 937, 938, 947, 994, 952, 991, 950, + 940, 939, 938, 949, 945, 937, 2892, 948, 959, 944, + 945, 951, 967, 1006, 964, 959, 1009, 2892, 970, 962, + 973, 971, 1019, 958, 975, 961, 973, 982, 979, 966, + 964, 1029, 983, 969, 975, 973, 2892, 2892, 983, 988, + + 993, 981, 991, 993, 2892, 994, 981, 999, 986, 988, + 981, 998, 2892, 987, 1005, 1006, 1045, 993, 994, 991, + 995, 1013, 1057, 2892, 2892, 2892, 1000, 997, 1013, 1061, + 1012, 1002, 1003, 999, 1012, 2892, 1023, 1018, 1065, 1020, + 1022, 1015, 1017, 1013, 1019, 1019, 1021, 1036, 1019, 1081, + 1035, 1037, 1041, 1028, 1019, 1087, 1041, 1044, 1030, 1029, + 2892, 1036, 1037, 1089, 1090, 1039, 1052, 1093, 1048, 1038, + 1054, 1054, 1060, 1041, 1050, 1058, 1045, 1076, 1086, 1074, + 1082, 1094, 1057, 1113, 1058, 1073, 1055, 1113, 1114, 1073, + 1116, 2892, 1122, 1072, 1063, 1079, 1083, 1127, 1074, 1073, + + 1068, 1069, 1081, 1076, 1072, 1081, 1078, 1082, 1092, 1101, + 1140, 2892, 1091, 1085, 1103, 1096, 1091, 1152, 1106, 1107, + 1098, 1156, 1113, 1102, 1105, 1113, 1115, 1100, 1120, 1113, + 1118, 1115, 1113, 1125, 1109, 1110, 2892, 1126, 1129, 1126, + 1113, 1130, 1125, 1177, 1117, 1136, 2892, 1135, 1138, 1124, + 1119, 1137, 1180, 1135, 1131, 1128, 1184, 1185, 1144, 1130, + 1148, 1148, 1148, 1149, 1150, 1152, 1137, 1152, 1150, 1140, + 1141, 1157, 1144, 1161, 2892, 1159, 1161, 1209, 1153, 2892, + 1156, 1161, 1208, 1156, 1168, 1162, 1160, 1157, 1163, 1173, + 1221, 1162, 1163, 1163, 1225, 1166, 1178, 1171, 2892, 1167, + + 1184, 1176, 1172, 1175, 2892, 1178, 1230, 1169, 1190, 1177, + 1178, 1179, 1180, 1186, 1194, 1185, 1190, 1200, 1248, 1202, + 1250, 1197, 1205, 1210, 1254, 1222, 1251, 1234, 1226, 1231, + 1213, 2892, 1215, 1200, 1212, 1208, 1222, 1205, 1205, 2892, + 1208, 1207, 1270, 1210, 2892, 1221, 1211, 1231, 1230, 1221, + 1232, 1278, 1228, 1237, 1230, 1234, 1238, 1225, 1246, 1243, + 1244, 1235, 1293, 1237, 2892, 1290, 1234, 1238, 2892, 1256, + 1238, 1239, 1239, 1260, 1257, 1259, 1246, 1264, 1252, 1266, + 1259, 1268, 1248, 1263, 1270, 1255, 1316, 1259, 1313, 2892, + 1319, 1320, 1259, 1269, 1279, 1263, 1283, 1271, 1267, 1274, + + 1283, 1271, 1278, 1279, 1291, 1335, 1279, 1337, 1278, 1277, + 1281, 1295, 1299, 1343, 1288, 1294, 1295, 1284, 1348, 1296, + 1299, 1351, 2892, 1289, 1306, 1299, 1290, 1309, 1297, 1307, + 1303, 1298, 1317, 1317, 2892, 1301, 1297, 1303, 2892, 1304, + 1368, 1324, 1305, 1311, 1325, 1311, 1327, 1313, 1330, 1372, + 1322, 1379, 1380, 1330, 1335, 1329, 1327, 1338, 1337, 1321, + 2892, 1326, 2892, 1335, 1333, 1346, 2892, 1360, 1373, 1361, + 1375, 1362, 1354, 1398, 1348, 1336, 1358, 1353, 1353, 1357, + 1358, 1406, 2892, 1346, 1346, 1349, 1366, 1361, 1365, 1360, + 2892, 1369, 1353, 1370, 1350, 1371, 1362, 1359, 1370, 1367, + + 1423, 1373, 2892, 1386, 1386, 1427, 1371, 1380, 1430, 1385, + 1390, 1376, 1439, 1394, 1380, 1381, 1395, 1393, 1390, 1386, + 1404, 1405, 1406, 1389, 2892, 1446, 1398, 2892, 1408, 2892, + 1393, 1404, 1395, 1414, 1407, 1405, 1398, 1410, 1457, 1418, + 1407, 1414, 1415, 1421, 2892, 1414, 2892, 1469, 1419, 1408, + 1421, 1473, 2892, 1412, 1418, 1419, 1430, 2892, 1431, 1425, + 2892, 1418, 1421, 1435, 1440, 1423, 1485, 1439, 1426, 1445, + 1432, 1437, 1491, 1487, 1437, 1494, 2892, 1442, 1439, 1450, + 1498, 1499, 1500, 1496, 1455, 1456, 1458, 2892, 2892, 1450, + 1445, 1502, 1448, 1464, 1510, 1449, 1461, 1513, 1451, 1468, + + 1511, 1494, 1495, 1487, 1520, 1460, 2892, 1465, 1476, 1469, + 1478, 1469, 1480, 1482, 2892, 1529, 1463, 1474, 1489, 1528, + 1477, 1488, 1474, 1490, 1491, 1488, 1535, 1495, 1542, 1543, + 1501, 1490, 1501, 1507, 1494, 1490, 1553, 1549, 1504, 1551, + 1557, 1511, 2892, 1508, 1498, 1514, 1505, 1508, 1517, 1514, + 1504, 1507, 1507, 1569, 1509, 1520, 1515, 1573, 1517, 1575, + 1516, 1521, 1579, 1575, 1513, 1528, 1521, 1524, 1537, 1538, + 1536, 1588, 2892, 1534, 1540, 1530, 2892, 1546, 1538, 1539, + 1591, 1535, 1551, 1599, 1600, 1541, 1551, 1603, 2892, 1548, + 1605, 1546, 1544, 1547, 2892, 1564, 1569, 2892, 1566, 1554, + + 1554, 2892, 2892, 2892, 1559, 1569, 1552, 1572, 1573, 1559, + 1561, 1623, 1570, 2892, 1625, 1571, 2892, 1565, 1628, 1593, + 1611, 1626, 1613, 2892, 1585, 1579, 1636, 1590, 1638, 1585, + 1635, 1641, 2892, 1581, 1643, 1590, 1584, 1581, 1584, 1586, + 1644, 1604, 1646, 1596, 1608, 1611, 2892, 2892, 1610, 1603, + 1607, 1600, 1607, 1597, 2892, 1605, 1620, 1605, 2892, 1607, + 1607, 1665, 1610, 1667, 1626, 1628, 1628, 1625, 1672, 1631, + 2892, 1632, 1624, 1625, 2892, 1626, 2892, 1637, 1629, 2892, + 1635, 1640, 1641, 1638, 1685, 1630, 1645, 1646, 1638, 2892, + 1648, 1636, 1646, 1638, 1638, 1639, 1640, 1697, 1703, 2892, + + 2892, 1699, 1643, 2892, 1644, 2892, 1658, 1646, 1654, 1711, + 1656, 1648, 1661, 1655, 1665, 1658, 1662, 1678, 1671, 1677, + 1667, 1725, 1675, 2892, 1684, 2892, 1681, 1729, 2892, 1679, + 1707, 1708, 1714, 1699, 1707, 1731, 1737, 2892, 1738, 2892, + 1693, 1678, 2892, 1741, 2892, 1742, 1696, 1701, 1683, 1746, + 1687, 1743, 1705, 1700, 1697, 1690, 1697, 1749, 1704, 1705, + 1695, 1706, 1718, 1766, 1717, 1768, 1718, 1716, 1766, 1727, + 1727, 1769, 1714, 1719, 1717, 1779, 1720, 1728, 1734, 1722, + 1784, 1780, 1740, 1787, 1745, 1734, 1728, 1791, 1730, 1731, + 1745, 1795, 1749, 1740, 1750, 1799, 1800, 1750, 1748, 2892, + + 1738, 1799, 1800, 1752, 1752, 1752, 1747, 1748, 1766, 2892, + 1757, 1763, 1768, 1755, 1756, 1818, 1757, 1757, 1759, 1817, + 1760, 2892, 1756, 1774, 1826, 2892, 1781, 1795, 1809, 1808, + 1797, 1799, 1771, 2892, 2892, 1834, 1784, 2892, 2892, 1775, + 1786, 1838, 2892, 1839, 1794, 1784, 1789, 1787, 1840, 1795, + 1800, 1786, 1789, 1805, 1794, 1792, 1806, 1793, 2892, 1796, + 2892, 1803, 1819, 1805, 1814, 1860, 1804, 1867, 1812, 1822, + 1823, 2892, 1871, 1808, 1868, 1823, 1870, 2892, 1818, 1877, + 2892, 1817, 1832, 1820, 2892, 1830, 1831, 1883, 2892, 1838, + 1829, 1843, 2892, 2892, 1819, 1837, 1846, 1828, 1846, 1835, + + 1888, 1837, 1833, 1838, 1897, 1836, 1837, 1900, 1896, 1902, + 2892, 1852, 1850, 1905, 1855, 1845, 1861, 1854, 2892, 1910, + 1888, 1912, 1894, 1909, 1915, 1865, 2892, 1862, 1918, 1857, + 2892, 2892, 1859, 1861, 1871, 1918, 1863, 1878, 1865, 1927, + 1881, 1867, 1874, 1874, 1932, 1886, 1887, 1879, 1875, 1877, + 1893, 1879, 1891, 2892, 1938, 1886, 1883, 2892, 1899, 1886, + 1899, 1886, 1907, 2892, 1904, 1952, 1902, 1899, 1900, 2892, + 1956, 1914, 1913, 1912, 1905, 1910, 1911, 1909, 1920, 1904, + 1913, 1962, 1968, 2892, 1918, 1970, 2892, 1916, 2892, 1915, + 1911, 2892, 1918, 1975, 1977, 1973, 2892, 1974, 2892, 1956, + + 1962, 2892, 1926, 1936, 2892, 1979, 1928, 1939, 1940, 1925, + 1926, 1934, 1991, 2892, 1936, 1988, 1989, 1941, 2892, 1936, + 1954, 1955, 1937, 1943, 1956, 1951, 1948, 1953, 1951, 2006, + 1949, 1963, 2011, 1956, 1953, 1953, 2892, 1968, 1969, 1970, + 2892, 1964, 1972, 2020, 1970, 1960, 1968, 1981, 1982, 1963, + 1964, 1971, 2892, 1973, 2892, 1987, 1984, 1976, 2028, 1986, + 2892, 2892, 1990, 2016, 2017, 2015, 1992, 1979, 1979, 1988, + 1995, 1988, 1987, 1998, 1985, 2892, 2001, 1989, 1992, 2051, + 1988, 2007, 2000, 2050, 2011, 2004, 2003, 2012, 2014, 2018, + 2892, 2059, 2012, 2892, 2016, 2007, 2069, 2009, 2071, 2072, + + 2068, 2074, 2892, 2013, 2071, 2030, 2017, 2025, 2036, 2023, + 2034, 2020, 2018, 2026, 2025, 2026, 2032, 2023, 2068, 2092, + 2074, 2089, 2095, 2045, 2034, 2047, 2037, 2054, 2053, 2097, + 2038, 2057, 2058, 2892, 2063, 2056, 2103, 2099, 2063, 2050, + 2065, 2113, 2067, 2070, 2065, 2070, 2061, 2070, 2892, 2122, + 2892, 2892, 2069, 2892, 2124, 2063, 2126, 2066, 2128, 2073, + 2125, 2126, 2085, 2128, 2071, 2075, 2136, 2094, 2138, 2094, + 2121, 2892, 2117, 2080, 2892, 2088, 2082, 2079, 2141, 2104, + 2097, 2093, 2150, 2090, 2092, 2091, 2098, 2110, 2145, 2096, + 2158, 2099, 2892, 2104, 2114, 2116, 2118, 2101, 2109, 2892, + + 2116, 2892, 2118, 2892, 2123, 2892, 2124, 2124, 2115, 2174, + 2115, 2125, 2110, 2892, 2123, 2892, 2125, 2156, 2162, 2131, + 2136, 2133, 2185, 2123, 2125, 2122, 2146, 2892, 2133, 2140, + 2141, 2144, 2140, 2195, 2135, 2892, 2192, 2136, 2144, 2153, + 2139, 2155, 2154, 2143, 2150, 2145, 2147, 2159, 2154, 2892, + 2165, 2153, 2209, 2157, 2169, 2197, 2218, 2159, 2220, 2164, + 2892, 2164, 2176, 2224, 2170, 2172, 2170, 2171, 2229, 2187, + 2892, 2180, 2167, 2182, 2187, 2179, 2185, 2237, 2238, 2177, + 2193, 2241, 2242, 2184, 2188, 2184, 2200, 2183, 2195, 2189, + 2251, 2892, 2205, 2892, 2197, 2208, 2255, 2892, 2209, 2194, + + 2212, 2203, 2892, 2199, 2205, 2219, 2215, 2208, 2203, 2209, + 2892, 2892, 2267, 2268, 2892, 2892, 2208, 2216, 2211, 2267, + 2230, 2227, 2275, 2892, 2215, 2272, 2235, 2892, 2279, 2218, + 2281, 2221, 2222, 2235, 2234, 2235, 2225, 2237, 2233, 2892, + 2892, 2228, 2291, 2241, 2250, 2243, 2290, 2892, 2246, 2242, + 2236, 2892, 2248, 2892, 2295, 2254, 2302, 2241, 2257, 2305, + 2258, 2307, 2308, 2892, 2262, 2256, 2249, 2269, 2256, 2258, + 2269, 2260, 2264, 2258, 2892, 2315, 2261, 2892, 2271, 2892, + 2892, 2262, 2270, 2320, 2277, 2270, 2274, 2283, 2330, 2275, + 2275, 2333, 2272, 2274, 2289, 2337, 2338, 2277, 2293, 2278, + + 2296, 2296, 2892, 2344, 2288, 2892, 2295, 2347, 2288, 2892, + 2892, 2298, 2350, 2295, 2352, 2353, 2892, 2301, 2300, 2892, + 2356, 2302, 2892, 2296, 2892, 2892, 2296, 2313, 2892, 2314, + 2362, 2305, 2364, 2365, 2892, 2366, 2892, 2892, 2892, 2892, + 2372, 2375, 2378, 2379, 2381, 2384, 2387, 2390 } ; -static const flex_int16_t yy_def[2420] = +static const flex_int16_t yy_def[2449] = { 0, - 2412, 2412, 2413, 2413, 2412, 2412, 2412, 2412, 2412, 2412, - 2411, 2411, 2411, 2411, 2411, 2414, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2415, - 2411, 2411, 2411, 2416, 15, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2417, 45, 45, 45, + 2441, 2441, 2442, 2442, 2441, 2441, 2441, 2441, 2441, 2441, + 2440, 2440, 2440, 2440, 2440, 2443, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2444, + 2440, 2440, 2440, 2445, 15, 2440, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2446, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2414, 2411, - 2411, 2411, 2411, 2411, 2411, 2418, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2415, 2411, 2416, + 45, 45, 45, 45, 45, 45, 45, 45, 2443, 2440, + 2440, 2440, 2440, 2440, 2440, 2447, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2444, 2440, 2445, - 2411, 2411, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2419, 45, 2417, 45, 45, 45, + 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2448, 45, 2446, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1306,14 +1312,14 @@ static const flex_int16_t yy_def[2420] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2418, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 45, + 45, 2447, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2419, 2411, 2411, 117, 45, 45, 45, 45, 45, + 45, 45, 2448, 2440, 2440, 117, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1321,9 +1327,9 @@ static const flex_int16_t yy_def[2420] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 45, 2411, 45, 117, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 45, 45, 45, 45, 45, 45, 45, + 45, 2440, 45, 2440, 45, 117, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1332,45 +1338,45 @@ static const flex_int16_t yy_def[2420] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 2411, 2411, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 2411, 45, - 117, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, - - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + 2440, 2440, 45, 45, 45, 45, 45, 45, 2440, 45, + 45, 2440, 45, 117, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, + 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 2411, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 45, 2411, 2411, 45, - 45, 2411, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 2411, 2411, 2411, 45, 45, 45, 45, 45, - 2411, 45, 45, 2411, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 45, 2440, 2440, 45, 45, 2440, 45, 45, 45, 45, + 45, 2440, 45, 45, 45, 45, 2440, 2440, 2440, 45, + 45, 45, 45, 45, 45, 2440, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 2411, 45, 45, 45, - 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 2411, 45, 45, 2411, + 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, + 45, 2440, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 45, 2440, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1378,200 +1384,203 @@ static const flex_int16_t yy_def[2420] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 2411, 45, 45, 45, 45, + 45, 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 2411, 45, 45, 45, 45, 45, 45, 2411, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 2440, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 2411, 2411, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 2440, 2440, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, + 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, - 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 2411, 45, 45, 45, - + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 2411, + 45, 2440, 45, 45, 45, 45, 45, 45, 45, 2440, + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2411, 45, 2411, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 2440, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 45, 2411, 45, 2411, + 45, 45, 45, 45, 2440, 45, 45, 2440, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 2411, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 2411, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 2411, 45, + 45, 45, 45, 45, 2440, 45, 2440, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 2440, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 45, 45, 45, 45, 2440, 45, 45, 2440, 45, 45, + + 45, 2440, 2440, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 2440, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 2440, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2411, 45, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 45, 2411, 45, 45, 2411, 45, 45, 45, - 2411, 2411, 2411, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 2411, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 2411, 45, 45, 45, 45, - 45, 45, 2411, 45, 45, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 2411, 45, 2411, 45, 45, 2411, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 2411, 45, - 45, 2411, 45, 2411, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 2440, 45, 2440, 45, 45, 2440, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + 2440, 45, 45, 2440, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2411, 45, 2411, 45, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 2411, 45, 45, 2411, - 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 2440, 45, 45, 2440, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 2440, + 45, 45, 2440, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 2411, - 2411, 45, 45, 2411, 2411, 45, 45, 45, 2411, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 45, 2411, 45, 45, 2411, 45, 45, 45, - 2411, 45, 45, 45, 2411, 45, 45, 45, 2411, 2411, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 45, 45, + 45, 2440, 45, 45, 45, 2440, 45, 45, 45, 45, + 45, 45, 45, 2440, 2440, 45, 45, 2440, 2440, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2440, 45, 45, 45, 45, 45, 2440, 45, 45, + 2440, 45, 45, 45, 2440, 45, 45, 45, 2440, 45, + 45, 45, 2440, 2440, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, - 45, 2411, 45, 45, 45, 2411, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 2411, 45, 45, 45, 45, 45, 2411, 45, - 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, - 45, 2411, 45, 2411, 45, 45, 2411, 45, 45, 45, - 45, 2411, 45, 2411, 45, 45, 2411, 45, 2411, 45, - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - - 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 45, 45, 2411, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 45, 2411, 45, - 45, 45, 45, 45, 2411, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2411, 45, + 45, 45, 45, 2440, 45, 45, 45, 2440, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 2440, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 2440, 45, 2440, 45, + 45, 2440, 45, 45, 45, 45, 2440, 45, 2440, 45, + + 45, 2440, 45, 45, 2440, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 2440, 45, 45, 45, 45, 45, + 2440, 2440, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 45, 2411, 2411, 45, 2411, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, + 2440, 2440, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 2411, 45, 45, 45, 45, + 45, 2440, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2411, 45, 45, 45, 45, 45, 45, - 2411, 45, 2411, 45, 2411, 45, 2411, 45, 45, 45, - 45, 45, 45, 45, 2411, 45, 2411, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 2411, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 2440, + + 45, 2440, 45, 2440, 45, 2440, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 2440, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, + 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2411, 2411, 45, 45, 45, 2411, 45, 45, 45, 45, - 2411, 45, 45, 45, 45, 45, 45, 45, 2411, 2411, - 45, 45, 2411, 2411, 45, 45, 45, 45, 45, 45, - - 45, 2411, 45, 45, 2411, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2411, 2411, 45, 45, - 45, 45, 45, 45, 2411, 45, 45, 2411, 45, 2411, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2411, - 45, 45, 2411, 45, 2411, 2411, 45, 45, 45, 45, + 45, 2440, 45, 2440, 45, 45, 45, 2440, 45, 45, + + 45, 45, 2440, 45, 45, 45, 45, 45, 45, 45, + 2440, 2440, 45, 45, 2440, 2440, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 2440, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2440, + 2440, 45, 45, 45, 45, 45, 45, 2440, 45, 45, + 45, 2440, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2440, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2440, 45, 45, 2440, 45, 2440, + 2440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2411, 45, 45, 2411, 45, - 45, 45, 2411, 2411, 45, 45, 45, 45, 2411, 45, - 45, 2411, 45, 45, 2411, 45, 2411, 45, 45, 2411, - 45, 45, 45, 45, 45, 2411, 45, 2411, 2411, 2411, - 0, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411 + 45, 45, 2440, 45, 45, 2440, 45, 45, 45, 2440, + 2440, 45, 45, 45, 45, 45, 2440, 45, 45, 2440, + 45, 45, 2440, 45, 2440, 2440, 45, 45, 2440, 45, + 45, 45, 45, 45, 2440, 45, 2440, 2440, 2440, 0, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440 } ; -static const flex_int16_t yy_nxt[2939] = +static const flex_int16_t yy_nxt[2969] = { 0, - 2411, 13, 14, 13, 2411, 15, 16, 101, 17, 18, + 2440, 13, 14, 13, 2440, 15, 16, 101, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 85, 888, 37, 14, 37, 86, 25, 26, 38, 37, - 14, 37, 42, 27, 42, 38, 2411, 2411, 28, 90, + 85, 2440, 37, 14, 37, 86, 25, 26, 38, 37, + 14, 37, 42, 27, 42, 38, 2440, 2440, 28, 90, 13, 14, 13, 91, 29, 90, 30, 102, 13, 14, - 13, 205, 25, 31, 13, 14, 13, 42, 40, 42, - 426, 32, 13, 14, 13, 90, 40, 33, 427, 168, - 92, 93, 91, 169, 34, 35, 13, 14, 13, 205, + 13, 206, 25, 31, 13, 14, 13, 42, 40, 42, + 429, 32, 13, 14, 13, 90, 40, 33, 430, 169, + 92, 93, 91, 170, 34, 35, 13, 14, 13, 206, 15, 16, 91, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 39, 13, 14, 13, 92, 92, 25, 26, 39, 13, 14, 13, 42, 27, 42, - 889, 94, 121, 28, 108, 153, 41, 104, 105, 29, - 107, 30, 113, 154, 41, 141, 122, 25, 31, 95, - 142, 249, 88, 143, 88, 155, 32, 89, 89, 89, - 89, 89, 33, 108, 104, 105, 107, 250, 113, 34, + 889, 94, 122, 28, 108, 154, 41, 104, 105, 29, + 107, 30, 113, 155, 41, 142, 123, 25, 31, 95, + 143, 251, 88, 144, 88, 156, 32, 89, 89, 89, + 89, 89, 33, 108, 104, 105, 107, 252, 113, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 45, 45, 45, 48, 45, 49, 50, 45, 51, 45, @@ -1581,324 +1590,327 @@ static const flex_int16_t yy_nxt[2939] = 59, 60, 61, 62, 63, 45, 64, 65, 52, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 45, 45, 45, 45, 45, 80, 114, 81, - 81, 81, 81, 81, 80, 275, 83, 83, 83, 83, + 81, 81, 81, 81, 80, 277, 83, 83, 83, 83, 83, 107, 82, 84, 84, 84, 84, 84, 80, 82, - 83, 83, 83, 83, 83, 114, 82, 109, 188, 111, - 192, 104, 189, 82, 193, 110, 129, 107, 82, 130, - 131, 112, 890, 132, 133, 82, 202, 194, 140, 235, - 236, 101, 82, 109, 276, 111, 134, 192, 118, 82, - 45, 193, 192, 110, 119, 159, 45, 120, 45, 45, - - 112, 45, 202, 160, 45, 161, 194, 45, 144, 116, - 162, 145, 45, 45, 891, 45, 45, 194, 146, 195, - 147, 102, 45, 45, 45, 45, 45, 45, 105, 45, + 83, 83, 83, 83, 83, 114, 82, 109, 189, 111, + 193, 104, 190, 82, 194, 110, 130, 107, 82, 131, + 132, 112, 787, 133, 134, 82, 203, 195, 141, 788, + 118, 101, 82, 109, 278, 111, 135, 193, 119, 82, + 45, 194, 193, 110, 120, 160, 45, 121, 45, 45, + + 112, 45, 203, 161, 45, 162, 195, 45, 145, 116, + 163, 146, 45, 45, 890, 45, 45, 195, 147, 196, + 148, 102, 45, 45, 45, 45, 45, 45, 105, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 892, 197, 113, 123, 45, - 149, 150, 124, 45, 151, 105, 125, 45, 114, 126, - 152, 135, 127, 136, 163, 45, 128, 109, 164, 45, - 201, 45, 117, 185, 137, 110, 178, 179, 165, 193, - 204, 166, 138, 186, 139, 114, 111, 206, 187, 156, - 170, 157, 893, 158, 171, 190, 208, 172, 112, 201, - - 209, 326, 210, 110, 173, 174, 196, 204, 175, 176, - 177, 226, 180, 227, 181, 211, 206, 182, 84, 84, - 84, 84, 84, 574, 208, 238, 239, 183, 326, 209, - 210, 82, 261, 80, 184, 81, 81, 81, 81, 81, - 243, 211, 244, 894, 88, 262, 88, 100, 82, 89, - 89, 89, 89, 89, 100, 246, 80, 82, 83, 83, - 83, 83, 83, 84, 84, 84, 84, 84, 247, 266, - 201, 82, 248, 267, 82, 575, 82, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 100, 216, 298, - 299, 100, 222, 251, 307, 100, 252, 82, 208, 217, - - 253, 223, 82, 100, 229, 224, 206, 100, 308, 100, - 100, 214, 284, 230, 231, 285, 209, 895, 210, 215, - 215, 215, 215, 215, 279, 289, 312, 327, 215, 215, - 215, 215, 215, 215, 300, 272, 319, 273, 301, 280, - 281, 282, 302, 313, 325, 316, 318, 337, 325, 314, - 320, 326, 343, 327, 215, 215, 215, 215, 215, 215, - 327, 333, 334, 290, 291, 292, 336, 338, 339, 359, - 341, 399, 360, 325, 293, 337, 294, 328, 329, 295, - 343, 296, 297, 445, 446, 390, 330, 333, 334, 333, - 338, 412, 461, 338, 339, 336, 341, 344, 344, 344, - - 344, 344, 391, 415, 361, 413, 344, 344, 344, 344, - 344, 344, 362, 416, 429, 346, 406, 430, 363, 447, - 340, 448, 341, 467, 467, 452, 463, 400, 472, 470, - 401, 473, 344, 344, 344, 344, 344, 344, 464, 471, - 475, 477, 478, 485, 551, 507, 740, 462, 341, 467, - 468, 508, 626, 486, 552, 528, 524, 472, 473, 472, - 529, 525, 456, 543, 544, 477, 475, 639, 545, 478, - 477, 481, 481, 481, 481, 481, 621, 697, 626, 640, - 481, 481, 481, 481, 481, 481, 567, 698, 483, 579, - 612, 568, 589, 580, 553, 613, 590, 627, 675, 628, - - 621, 741, 775, 676, 896, 621, 481, 481, 481, 481, - 481, 481, 526, 660, 625, 773, 530, 527, 650, 706, - 761, 789, 651, 762, 897, 627, 661, 628, 662, 630, - 652, 775, 653, 654, 655, 656, 657, 774, 771, 770, - 804, 773, 900, 805, 777, 836, 837, 569, 45, 45, - 45, 45, 45, 772, 901, 902, 781, 45, 45, 45, - 45, 45, 45, 782, 771, 774, 857, 861, 898, 903, - 904, 905, 862, 906, 858, 907, 908, 790, 909, 899, - 910, 911, 772, 45, 45, 45, 45, 45, 45, 912, - 913, 914, 915, 916, 918, 917, 920, 921, 919, 922, - - 923, 924, 925, 926, 927, 928, 929, 930, 931, 863, - 932, 933, 935, 936, 937, 938, 939, 934, 940, 941, - 916, 915, 917, 918, 919, 942, 943, 944, 945, 946, - 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, - 957, 958, 959, 960, 961, 962, 963, 966, 967, 968, - 964, 969, 970, 971, 965, 972, 973, 974, 975, 976, - 977, 978, 979, 980, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 981, 996, 995, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - - 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, - 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1030, 1035, 1037, - 1038, 1039, 1042, 1043, 1044, 1036, 1045, 1049, 1040, 1050, - 1051, 1052, 1041, 1053, 1054, 1055, 1056, 1057, 1058, 1046, - 1059, 1047, 1060, 1061, 1062, 1048, 1063, 1064, 1065, 1066, - 1068, 1069, 1067, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, - 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, - 1097, 1071, 1098, 1099, 1072, 1100, 1101, 1075, 1102, 1103, - 1104, 1106, 1107, 1108, 1109, 1105, 1110, 1111, 1112, 1113, - - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1131, 1132, 1133, 1134, - 1130, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1160, - 1164, 1165, 1166, 1167, 1169, 1170, 1171, 1172, 1168, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1223, 1221, 1224, - 1225, 1222, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, - 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, - 1244, 1245, 1219, 1218, 1246, 1220, 1221, 1222, 1247, 1248, - 1249, 1250, 1252, 1253, 1251, 1254, 1255, 1256, 1257, 1258, - 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, - 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, - - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1342, 1282, 1343, 1344, 1345, 1346, 1347, 1348, - 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1359, 1360, 1362, 1361, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, - 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1359, - 1361, 1362, 1363, 1388, 1390, 1391, 1392, 1393, 1394, 1395, - 1396, 1389, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, - - 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, 1416, 1417, 1418, 1420, 1422, 1423, 1424, 1419, 1425, - 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, - 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, - 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, - 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, - 1466, 1421, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, - 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1495, - 1494, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, - - 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, 1516, 1517, 1492, 1518, 1491, 1494, 1493, 1495, 1519, - 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, - 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, - 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, - 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, - 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, - - 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, - 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, - 1620, 1621, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, - 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1610, 1611, 1638, - 1639, 1612, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1622, 1666, - 1667, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1672, 1680, 1681, 1682, 1683, 1684, 1685, 1686, - 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1696, 1697, - - 1698, 1699, 1695, 1700, 1701, 1702, 1703, 1704, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, - 1717, 1719, 1720, 1721, 1724, 1718, 1723, 1725, 1726, 1727, - 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, - 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1722, 1720, 1745, - 1719, 1746, 1723, 1747, 1748, 1749, 1750, 1751, 1752, 1753, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1765, 1766, 1767, 1768, 1722, 1769, 1770, 1771, 1772, - 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, - 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1795, - - 1792, 1796, 1797, 1793, 1798, 1799, 1794, 1800, 1801, 1802, - 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, - 1813, 1814, 1815, 1816, 1818, 1817, 1819, 1820, 1821, 1822, - 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1832, 1835, - 1836, 1833, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1815, - 1816, 1817, 1834, 1818, 1819, 1844, 1845, 1846, 1847, 1848, - 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, - 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, - 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, - 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1830, 1887, 1888, + 45, 45, 45, 45, 45, 891, 198, 113, 124, 45, + 150, 151, 125, 45, 152, 105, 126, 45, 114, 127, + 153, 136, 128, 137, 164, 45, 129, 109, 165, 45, + 202, 45, 117, 186, 138, 110, 179, 180, 166, 194, + 205, 167, 139, 187, 140, 114, 111, 207, 188, 157, + 171, 158, 892, 159, 172, 191, 209, 173, 112, 202, + + 210, 328, 211, 110, 174, 175, 197, 205, 176, 177, + 178, 228, 181, 229, 182, 212, 207, 183, 84, 84, + 84, 84, 84, 893, 209, 237, 238, 184, 328, 210, + 211, 82, 263, 80, 185, 81, 81, 81, 81, 81, + 210, 212, 240, 241, 88, 264, 88, 100, 82, 89, + 89, 89, 89, 89, 100, 248, 80, 82, 83, 83, + 83, 83, 83, 84, 84, 84, 84, 84, 249, 318, + 202, 82, 250, 245, 82, 246, 82, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 100, 218, 894, + 268, 100, 224, 253, 269, 100, 254, 82, 209, 219, + + 255, 225, 82, 100, 231, 226, 207, 100, 895, 100, + 100, 215, 286, 232, 233, 287, 300, 301, 211, 216, + 216, 216, 216, 216, 281, 291, 314, 329, 216, 216, + 216, 216, 216, 216, 302, 274, 309, 275, 303, 282, + 283, 284, 304, 315, 327, 328, 320, 321, 327, 316, + 310, 338, 329, 329, 216, 216, 216, 216, 216, 216, + 335, 322, 336, 292, 293, 294, 339, 340, 393, 341, + 343, 345, 331, 327, 295, 402, 296, 330, 332, 297, + 338, 298, 299, 364, 362, 394, 335, 363, 336, 335, + 340, 365, 415, 340, 339, 341, 343, 366, 418, 345, + + 346, 346, 346, 346, 346, 450, 416, 451, 419, 346, + 346, 346, 346, 346, 346, 349, 409, 432, 448, 449, + 433, 342, 343, 464, 470, 470, 455, 475, 476, 466, + 481, 403, 473, 478, 404, 346, 346, 346, 346, 346, + 346, 467, 474, 480, 475, 480, 511, 578, 343, 528, + 470, 471, 512, 489, 529, 476, 475, 481, 555, 478, + 532, 630, 459, 490, 571, 533, 547, 548, 556, 572, + 616, 549, 480, 487, 557, 617, 702, 625, 465, 484, + 484, 484, 484, 484, 625, 644, 703, 630, 484, 484, + 484, 484, 484, 484, 583, 745, 593, 645, 584, 579, + + 594, 631, 779, 632, 680, 530, 625, 665, 766, 681, + 531, 767, 776, 635, 484, 484, 484, 484, 484, 484, + 666, 534, 667, 629, 780, 573, 778, 777, 711, 631, + 779, 632, 45, 45, 45, 45, 45, 795, 776, 842, + 843, 45, 45, 45, 45, 45, 45, 655, 896, 775, + 746, 656, 778, 780, 783, 810, 777, 897, 811, 657, + 898, 658, 659, 660, 661, 662, 863, 45, 45, 45, + 45, 45, 45, 867, 864, 899, 900, 901, 868, 902, + 903, 904, 906, 907, 908, 909, 910, 911, 912, 913, + 914, 915, 905, 796, 916, 917, 918, 919, 920, 921, + + 922, 924, 923, 926, 927, 925, 928, 929, 930, 931, + 932, 933, 934, 935, 936, 869, 937, 938, 939, 940, + 942, 943, 944, 945, 946, 941, 947, 922, 921, 923, + 924, 925, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 970, 973, 974, 975, 971, 976, + 977, 978, 972, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1001, 988, 1003, 1002, 1004, 1005, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, + + 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, + 1036, 1038, 1039, 1040, 1041, 1037, 1042, 1044, 1045, 1046, + 1049, 1050, 1051, 1043, 1052, 1056, 1047, 1057, 1058, 1059, + 1048, 1060, 1061, 1062, 1063, 1064, 1065, 1053, 1066, 1054, + 1067, 1068, 1069, 1055, 1070, 1071, 1072, 1073, 1075, 1076, + 1074, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1078, + 1105, 1106, 1079, 1107, 1108, 1082, 1109, 1110, 1111, 1112, + + 1114, 1115, 1116, 1117, 1113, 1118, 1119, 1120, 1121, 1122, + 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1141, 1142, 1138, + 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, + 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, + 1163, 1164, 1165, 1166, 1167, 1169, 1170, 1171, 1168, 1172, + 1173, 1174, 1175, 1177, 1178, 1179, 1180, 1176, 1181, 1182, + 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, + 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, + 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, + + 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 1231, 1229, 1232, 1233, + 1230, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, + 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, + 1253, 1227, 1226, 1254, 1228, 1229, 1230, 1255, 1256, 1257, + 1258, 1259, 1261, 1262, 1260, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + + 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, + 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1349, 1350, 1351, 1291, 1352, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, + 1368, 1369, 1371, 1370, 1372, 1373, 1374, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1368, + 1370, 1371, 1372, 1397, 1398, 1400, 1401, 1402, 1403, 1404, + + 1405, 1406, 1399, 1407, 1408, 1409, 1410, 1411, 1412, 1413, + 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, + 1424, 1425, 1426, 1427, 1428, 1430, 1432, 1433, 1434, 1429, + 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, + 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, + 1475, 1476, 1431, 1477, 1478, 1479, 1480, 1481, 1482, 1483, + 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, + + 1505, 1504, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, + 1524, 1525, 1526, 1527, 1502, 1528, 1501, 1504, 1503, 1505, + 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, + 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, + 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, + 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, + 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, + 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, + 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, + + 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, + 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, + 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, + 1629, 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1621, + 1622, 1649, 1650, 1623, 1651, 1652, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, + 1677, 1634, 1678, 1679, 1680, 1681, 1682, 1683, 1685, 1686, + 1687, 1688, 1689, 1690, 1691, 1684, 1692, 1693, 1694, 1695, + + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, + 1706, 1708, 1709, 1710, 1711, 1707, 1712, 1713, 1714, 1715, + 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1731, 1732, 1733, 1736, 1730, 1735, + 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, + 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, + 1734, 1732, 1757, 1731, 1758, 1735, 1759, 1760, 1761, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1734, 1781, + 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, + + 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, + 1802, 1803, 1804, 1808, 1805, 1809, 1810, 1806, 1811, 1812, + 1807, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, + 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1830, + 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, + 1842, 1843, 1845, 1846, 1849, 1847, 1850, 1851, 1852, 1853, + 1854, 1855, 1856, 1828, 1829, 1830, 1848, 1831, 1832, 1857, + 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, + 1868, 1869, 1870, 1871, 1872, 1874, 1875, 1876, 1877, 1878, + 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, - 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, - 1910, 1909, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, - 1859, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, - 1928, 1929, 1930, 1931, 1932, 1908, 1933, 1907, 1909, 1910, - 1934, 1911, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, - 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, - 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, - 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, - 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, - - 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, - 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 1983, 1985, 2010, - 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, - 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, - 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, - 2042, 2043, 2044, 2045, 2041, 2046, 2047, 2048, 2049, 2051, - 2050, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, - 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, - 2071, 2072, 2073, 2074, 2075, 2049, 2050, 2076, 2077, 2078, - - 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, - 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, - 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, - 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2102, - 2103, 2128, 2104, 2129, 2130, 2131, 2132, 2133, 2134, 2135, - 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, - 2146, 2147, 2149, 2150, 2148, 2151, 2152, 2153, 2154, 2155, - 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, - 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, - - 2176, 2177, 2178, 2179, 2153, 2155, 2180, 2181, 2182, 2183, - 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, - 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, - 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, - 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, - 2224, 2199, 2225, 2200, 2226, 2227, 2228, 2229, 2230, 2231, - 2232, 2233, 2234, 2235, 2236, 2238, 2237, 2239, 2240, 2241, - 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, - 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, - 2262, 2236, 2237, 2263, 2264, 2265, 2266, 2267, 2268, 2269, - - 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, - 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, - 2290, 2291, 2292, 2293, 2294, 2295, 2270, 2296, 2297, 2298, + 1899, 1900, 1844, 1901, 1902, 1903, 1904, 1905, 1906, 1907, + 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, + 1918, 1919, 1920, 1921, 1922, 1924, 1923, 1925, 1926, 1927, + 1928, 1929, 1930, 1931, 1932, 1873, 1933, 1934, 1935, 1936, + 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, + 1922, 1947, 1921, 1923, 1924, 1948, 1925, 1949, 1950, 1951, + 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, + 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, + 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, + + 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, + 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, + 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, + 2022, 2023, 2024, 1998, 2000, 2025, 2026, 2027, 2028, 2029, + 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, + 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, + 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2058, 2059, 2060, + 2061, 2057, 2062, 2063, 2064, 2065, 2067, 2066, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, + + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, + 2090, 2091, 2065, 2066, 2092, 2093, 2094, 2095, 2096, 2097, + 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, + 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, + 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, + 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, + 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2119, 2120, 2145, + 2121, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, + 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, + 2165, 2167, 2168, 2166, 2169, 2170, 2171, 2172, 2173, 2174, + + 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, + 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, + 2195, 2196, 2197, 2171, 2173, 2198, 2199, 2200, 2201, 2202, + 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, + 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, + 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, + 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, + 2243, 2218, 2244, 2219, 2245, 2246, 2247, 2248, 2249, 2250, + 2251, 2252, 2253, 2254, 2255, 2256, 2258, 2257, 2259, 2260, + 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, + + 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, + 2281, 2282, 2256, 2257, 2283, 2284, 2285, 2286, 2287, 2288, + 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, - 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, - 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, - 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, - 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, - 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, - 2359, 2360, 2362, 2361, 2363, 2364, 2365, 2366, 2367, 2368, - - 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, - 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, - 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, - 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, - 2409, 2410, 12, 12, 12, 36, 36, 36, 79, 98, - 79, 100, 100, 100, 115, 115, 115, 191, 887, 191, - 212, 212, 212, 886, 885, 884, 883, 882, 881, 880, - 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, - 869, 868, 867, 866, 865, 864, 860, 859, 856, 855, - 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, - - 844, 843, 842, 841, 840, 839, 838, 835, 834, 833, - 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, - 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, - 812, 811, 810, 809, 808, 807, 806, 803, 802, 801, - 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, - 788, 787, 786, 785, 784, 783, 780, 779, 778, 776, - 770, 769, 768, 767, 766, 765, 764, 763, 760, 759, - 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, - 748, 747, 746, 745, 744, 743, 742, 739, 738, 737, - 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, - - 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, - 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, - 705, 704, 703, 702, 701, 700, 699, 696, 695, 694, - 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, - 683, 682, 681, 680, 679, 678, 677, 674, 673, 672, - 671, 670, 669, 668, 667, 666, 665, 664, 663, 659, - 658, 649, 648, 647, 646, 645, 644, 643, 642, 641, - 638, 637, 636, 635, 634, 633, 632, 631, 629, 625, - 624, 623, 622, 620, 619, 618, 617, 616, 615, 614, - 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, - - 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, - 591, 588, 587, 586, 585, 584, 583, 582, 581, 578, - 577, 576, 573, 572, 571, 570, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 550, - 549, 548, 547, 546, 542, 541, 540, 539, 538, 537, - 536, 535, 534, 533, 532, 531, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, - 509, 506, 505, 504, 503, 502, 501, 500, 499, 498, - 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, - 487, 484, 482, 480, 479, 476, 474, 469, 466, 465, - - 460, 459, 458, 457, 455, 454, 453, 451, 450, 449, - 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, - 434, 433, 432, 431, 428, 425, 424, 423, 422, 421, - 420, 419, 418, 417, 414, 411, 410, 409, 408, 407, - 405, 404, 403, 402, 398, 397, 396, 395, 394, 393, - 392, 389, 388, 387, 386, 385, 384, 383, 382, 381, - 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, - 370, 369, 368, 367, 366, 365, 364, 358, 357, 356, - 355, 354, 353, 352, 351, 350, 349, 348, 347, 345, - 213, 342, 340, 335, 332, 331, 324, 323, 322, 321, - - 317, 315, 311, 310, 309, 306, 305, 304, 303, 288, - 287, 286, 283, 278, 277, 274, 271, 270, 269, 268, - 265, 264, 263, 260, 259, 258, 257, 256, 255, 254, - 245, 242, 241, 240, 237, 234, 233, 232, 228, 225, - 221, 220, 219, 218, 213, 207, 203, 200, 199, 198, - 167, 148, 106, 103, 43, 99, 97, 96, 87, 43, - 2411, 11, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411 + 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2291, 2317, + 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, + 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, + 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, + 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, + 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, + + 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, + 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2387, 2386, + 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, + 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, + 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, + 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, + 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, + 2438, 2439, 12, 12, 12, 36, 36, 36, 79, 98, + 79, 100, 100, 100, 115, 115, 115, 192, 888, 192, + 213, 213, 213, 887, 886, 885, 884, 883, 882, 881, + + 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, + 870, 866, 865, 862, 861, 860, 859, 858, 857, 856, + 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, + 845, 844, 841, 840, 839, 838, 837, 836, 835, 834, + 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, + 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, + 813, 812, 809, 808, 807, 806, 805, 804, 803, 802, + 801, 800, 799, 798, 797, 794, 793, 792, 791, 790, + 789, 786, 785, 784, 782, 781, 775, 774, 773, 772, + 771, 770, 769, 768, 765, 764, 763, 762, 761, 760, + + 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, + 749, 748, 747, 744, 743, 742, 741, 740, 739, 738, + 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, + 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, + 717, 716, 715, 714, 713, 712, 710, 709, 708, 707, + 706, 705, 704, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, + 684, 683, 682, 679, 678, 677, 676, 675, 674, 673, + 672, 671, 670, 669, 668, 664, 663, 654, 653, 652, + 651, 650, 649, 648, 647, 646, 643, 642, 641, 640, + + 639, 638, 637, 636, 634, 633, 629, 628, 627, 626, + 624, 623, 622, 621, 620, 619, 618, 615, 614, 613, + 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, + 602, 601, 600, 599, 598, 597, 596, 595, 592, 591, + 590, 589, 588, 587, 586, 585, 582, 581, 580, 577, + 576, 575, 574, 570, 569, 568, 567, 566, 565, 564, + 563, 562, 561, 560, 559, 558, 554, 553, 552, 551, + 550, 546, 545, 544, 543, 542, 541, 540, 539, 538, + 537, 536, 535, 527, 526, 525, 524, 523, 522, 521, + 520, 519, 518, 517, 516, 515, 514, 513, 510, 509, + + 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, + 498, 497, 496, 495, 494, 493, 492, 491, 488, 486, + 485, 483, 482, 479, 477, 472, 469, 468, 463, 462, + 461, 460, 458, 457, 456, 454, 453, 452, 447, 446, + 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, + 435, 434, 431, 428, 427, 426, 425, 424, 423, 422, + 421, 420, 417, 414, 413, 412, 411, 410, 408, 407, + 406, 405, 401, 400, 399, 398, 397, 396, 395, 392, + 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, + + 371, 370, 369, 368, 367, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 348, 347, 214, + 344, 342, 337, 334, 333, 326, 325, 324, 323, 319, + 317, 313, 312, 311, 308, 307, 306, 305, 290, 289, + 288, 285, 280, 279, 276, 273, 272, 271, 270, 267, + 266, 265, 262, 261, 260, 259, 258, 257, 256, 247, + 244, 243, 242, 239, 236, 235, 234, 230, 227, 223, + 222, 221, 220, 217, 214, 208, 204, 201, 200, 199, + 168, 149, 106, 103, 43, 99, 97, 96, 87, 43, + 2440, 11, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440 } ; -static const flex_int16_t yy_chk[2939] = +static const flex_int16_t yy_chk[2969] = { 0, 0, 1, 1, 1, 0, 1, 1, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 741, 3, 3, 3, 21, 1, 1, 3, 4, + 21, 0, 3, 3, 3, 21, 1, 1, 3, 4, 4, 4, 13, 1, 13, 4, 0, 0, 1, 26, 5, 5, 5, 27, 1, 31, 1, 44, 6, 6, 6, 108, 1, 1, 7, 7, 7, 37, 7, 37, - 290, 1, 8, 8, 8, 26, 8, 1, 290, 73, + 292, 1, 8, 8, 8, 26, 8, 1, 292, 73, 28, 31, 27, 73, 1, 1, 2, 2, 2, 108, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 9, 9, 9, 28, 33, 2, 2, 6, 10, 10, 10, 42, 2, 42, - 742, 32, 59, 2, 52, 68, 9, 48, 49, 2, + 741, 32, 59, 2, 52, 68, 9, 48, 49, 2, 51, 2, 55, 68, 10, 64, 59, 2, 2, 33, - 64, 140, 25, 64, 25, 68, 2, 25, 25, 25, - 25, 25, 2, 52, 48, 49, 51, 140, 55, 2, + 64, 141, 25, 64, 25, 68, 2, 25, 25, 25, + 25, 25, 2, 52, 48, 49, 51, 141, 55, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1908,304 +1920,307 @@ static const flex_int16_t yy_chk[2939] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 56, 17, - 17, 17, 17, 17, 19, 160, 19, 19, 19, 19, + 17, 17, 17, 17, 19, 161, 19, 19, 19, 19, 19, 63, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 56, 20, 53, 77, 54, 90, 58, 77, 22, 91, 53, 61, 63, 17, 61, - 61, 54, 743, 61, 61, 19, 105, 92, 63, 131, - 131, 100, 20, 53, 160, 54, 61, 90, 58, 22, + 61, 54, 641, 61, 61, 19, 105, 92, 63, 641, + 58, 100, 20, 53, 161, 54, 61, 90, 58, 22, 45, 91, 93, 53, 58, 70, 45, 58, 45, 45, 54, 45, 105, 70, 45, 70, 92, 45, 65, 57, - 70, 65, 45, 45, 744, 45, 57, 95, 65, 93, + 70, 65, 45, 45, 742, 45, 57, 95, 65, 93, 65, 100, 45, 45, 45, 45, 45, 45, 60, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 745, 95, 76, 60, 57, + 45, 45, 45, 45, 45, 743, 95, 76, 60, 57, 67, 67, 60, 57, 67, 60, 60, 57, 78, 60, 67, 62, 60, 62, 71, 57, 60, 69, 71, 57, 104, 57, 57, 76, 62, 69, 75, 75, 71, 94, 107, 71, 62, 76, 62, 78, 75, 109, 76, 69, - 74, 69, 747, 69, 74, 78, 111, 74, 75, 104, - - 112, 193, 113, 69, 74, 74, 94, 107, 74, 74, - 74, 125, 75, 125, 75, 114, 109, 75, 80, 80, - 80, 80, 80, 426, 111, 133, 133, 75, 193, 112, - 113, 80, 149, 81, 75, 81, 81, 81, 81, 81, - 137, 114, 137, 748, 82, 149, 82, 102, 81, 82, - 82, 82, 82, 82, 102, 139, 83, 80, 83, 83, - 83, 83, 83, 84, 84, 84, 84, 84, 139, 153, - 118, 83, 139, 153, 81, 426, 84, 88, 88, 88, - 88, 88, 89, 89, 89, 89, 89, 102, 118, 170, - 170, 102, 123, 141, 176, 102, 141, 83, 180, 118, - - 141, 123, 84, 102, 127, 123, 158, 102, 176, 102, - 102, 117, 165, 127, 127, 165, 183, 749, 185, 117, - 117, 117, 117, 117, 163, 169, 180, 194, 117, 117, - 117, 117, 117, 117, 171, 158, 186, 158, 171, 163, - 163, 163, 171, 181, 192, 183, 185, 205, 195, 181, - 186, 196, 211, 194, 117, 117, 117, 117, 117, 117, - 197, 201, 202, 169, 169, 169, 204, 206, 207, 230, - 209, 267, 230, 192, 169, 205, 169, 195, 196, 169, - 211, 169, 169, 307, 307, 259, 197, 201, 202, 217, - 272, 278, 321, 206, 207, 204, 209, 215, 215, 215, - - 215, 215, 259, 280, 231, 278, 215, 215, 215, 215, - 215, 215, 231, 280, 292, 217, 272, 292, 231, 308, - 312, 308, 316, 325, 328, 312, 322, 267, 333, 332, - 267, 334, 215, 215, 215, 215, 215, 215, 322, 332, - 336, 338, 339, 348, 405, 369, 589, 321, 316, 325, - 328, 369, 478, 348, 405, 386, 385, 333, 334, 346, - 386, 385, 316, 399, 399, 406, 336, 492, 399, 339, - 338, 344, 344, 344, 344, 344, 472, 544, 478, 492, - 344, 344, 344, 344, 344, 344, 420, 544, 346, 430, - 462, 420, 439, 430, 406, 462, 439, 480, 521, 480, - - 483, 589, 628, 521, 750, 472, 344, 344, 344, 344, - 344, 344, 385, 507, 553, 626, 386, 385, 504, 553, - 613, 643, 504, 613, 751, 480, 507, 480, 507, 483, - 504, 628, 504, 504, 504, 504, 504, 627, 622, 630, - 657, 626, 753, 657, 630, 690, 690, 420, 481, 481, - 481, 481, 481, 622, 754, 755, 636, 481, 481, 481, - 481, 481, 481, 636, 622, 627, 710, 713, 752, 756, - 757, 758, 713, 759, 710, 760, 761, 643, 762, 752, - 763, 765, 622, 481, 481, 481, 481, 481, 481, 766, - 768, 769, 771, 772, 774, 773, 776, 777, 775, 778, - - 779, 780, 781, 782, 783, 784, 785, 786, 787, 713, - 788, 789, 790, 791, 792, 793, 793, 789, 793, 794, - 772, 771, 773, 774, 775, 795, 796, 797, 798, 799, - 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, - 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, - 816, 820, 821, 822, 816, 823, 824, 825, 826, 827, - 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, - 838, 839, 840, 841, 842, 843, 844, 831, 845, 844, - 846, 847, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 862, 863, 864, 865, 866, 867, - - 868, 869, 870, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 881, 886, 887, - 888, 888, 889, 890, 891, 886, 892, 893, 888, 894, - 895, 896, 888, 897, 899, 900, 901, 902, 903, 892, - 904, 892, 905, 906, 907, 892, 908, 909, 910, 911, - 912, 913, 911, 914, 915, 916, 917, 918, 919, 920, - 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, - 931, 932, 933, 934, 937, 938, 939, 940, 941, 942, - 943, 915, 944, 945, 916, 946, 947, 919, 948, 949, - 950, 951, 952, 953, 954, 950, 955, 956, 957, 958, - - 959, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 972, 973, 974, 975, 976, 977, 978, 979, 980, - 976, 981, 982, 983, 984, 985, 986, 987, 988, 989, - 992, 993, 994, 995, 996, 997, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 1007, 1008, 1009, 1010, 1011, 1012, 1009, - 1013, 1014, 1015, 1016, 1020, 1021, 1022, 1023, 1016, 1024, - 1025, 1026, 1027, 1028, 1030, 1031, 1032, 1033, 1034, 1035, - 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1055, 1056, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1076, 1074, 1077, - 1078, 1075, 1079, 1080, 1081, 1082, 1083, 1085, 1086, 1087, - 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, - 1098, 1099, 1072, 1071, 1100, 1073, 1074, 1075, 1101, 1102, - 1103, 1105, 1106, 1107, 1105, 1108, 1109, 1110, 1111, 1112, - 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, - 1123, 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1132, 1133, - 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1144, - 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, - 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, - - 1165, 1166, 1168, 1169, 1170, 1171, 1173, 1174, 1175, 1176, - 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, - 1187, 1188, 1189, 1190, 1192, 1193, 1194, 1195, 1196, 1198, - 1199, 1200, 1201, 1136, 1202, 1203, 1204, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1221, 1220, 1222, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1232, 1233, 1234, 1235, 1237, 1238, 1239, 1240, - 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1218, - 1220, 1221, 1222, 1250, 1251, 1252, 1253, 1254, 1255, 1257, - 1258, 1250, 1259, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - - 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1282, 1283, 1284, 1285, 1286, 1282, 1287, - 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, - 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, - 1308, 1309, 1310, 1311, 1312, 1313, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1329, - 1331, 1283, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 1351, 1353, 1355, 1356, 1357, 1359, 1360, 1361, 1363, - 1362, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, - - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1382, 1383, 1384, - 1385, 1386, 1387, 1360, 1388, 1359, 1362, 1361, 1363, 1389, - 1390, 1391, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1416, 1417, 1419, 1421, 1422, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, - 1434, 1436, 1438, 1439, 1440, 1441, 1442, 1444, 1445, 1446, - 1447, 1449, 1450, 1452, 1453, 1454, 1455, 1456, 1457, 1458, - 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1468, 1469, - 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, - - 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, - 1492, 1493, 1494, 1495, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1492, 1493, 1521, - 1522, 1494, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, - 1531, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, - 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1505, 1550, - 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, - 1561, 1563, 1555, 1564, 1565, 1567, 1568, 1569, 1570, 1571, - 1572, 1573, 1574, 1575, 1576, 1577, 1579, 1580, 1581, 1582, - - 1583, 1585, 1580, 1585, 1586, 1588, 1589, 1590, 1594, 1595, - 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1604, 1605, 1607, - 1608, 1609, 1610, 1611, 1614, 1608, 1612, 1615, 1616, 1617, - 1618, 1619, 1620, 1622, 1623, 1624, 1625, 1626, 1627, 1628, - 1629, 1630, 1631, 1632, 1633, 1634, 1637, 1611, 1610, 1638, - 1609, 1639, 1612, 1640, 1641, 1642, 1644, 1645, 1646, 1648, - 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, - 1660, 1661, 1662, 1664, 1666, 1611, 1667, 1669, 1670, 1671, - 1672, 1673, 1674, 1675, 1676, 1677, 1679, 1680, 1681, 1682, - 1683, 1684, 1685, 1686, 1687, 1690, 1691, 1693, 1695, 1696, - - 1695, 1697, 1698, 1695, 1699, 1700, 1695, 1701, 1702, 1703, - 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1713, 1715, - 1716, 1718, 1719, 1720, 1722, 1721, 1723, 1724, 1726, 1728, - 1729, 1731, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1741, - 1742, 1740, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1719, - 1720, 1721, 1740, 1722, 1723, 1750, 1751, 1752, 1753, 1754, - 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1762, 1763, - 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, - 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, - 1784, 1785, 1786, 1788, 1789, 1790, 1791, 1737, 1792, 1793, - - 1794, 1795, 1796, 1798, 1799, 1800, 1801, 1802, 1803, 1804, - 1805, 1806, 1807, 1808, 1810, 1811, 1812, 1814, 1815, 1816, - 1818, 1817, 1819, 1822, 1823, 1826, 1827, 1828, 1830, 1831, - 1763, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, - 1841, 1842, 1843, 1844, 1846, 1816, 1848, 1815, 1817, 1818, - 1849, 1819, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, - 1859, 1860, 1861, 1862, 1863, 1865, 1866, 1868, 1869, 1870, - 1872, 1873, 1874, 1876, 1877, 1878, 1881, 1882, 1883, 1884, - 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, - 1895, 1896, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1906, - - 1907, 1908, 1909, 1910, 1911, 1913, 1914, 1915, 1918, 1919, - 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, - 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1907, 1909, 1937, - 1938, 1940, 1941, 1942, 1944, 1945, 1946, 1947, 1948, 1950, - 1951, 1952, 1953, 1954, 1956, 1957, 1958, 1959, 1960, 1961, - 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1970, 1971, 1973, - 1975, 1976, 1978, 1979, 1973, 1980, 1981, 1983, 1985, 1988, - 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, - 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, - 2011, 2012, 2013, 2014, 2015, 1985, 1986, 2016, 2017, 2018, - - 2019, 2020, 2022, 2023, 2024, 2026, 2027, 2028, 2029, 2030, - 2031, 2032, 2033, 2034, 2035, 2036, 2038, 2040, 2041, 2042, - 2043, 2044, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, - 2055, 2056, 2057, 2058, 2060, 2061, 2062, 2063, 2064, 2065, - 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2075, 2048, - 2049, 2076, 2050, 2078, 2079, 2080, 2081, 2082, 2083, 2084, - 2085, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 2099, 2097, 2100, 2101, 2102, 2103, 2104, - 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, - 2115, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, - - 2126, 2127, 2128, 2129, 2102, 2104, 2130, 2132, 2135, 2137, - 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, - 2148, 2149, 2150, 2151, 2152, 2153, 2155, 2157, 2158, 2159, - 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, - 2170, 2171, 2172, 2173, 2175, 2176, 2177, 2178, 2179, 2180, - 2182, 2153, 2184, 2155, 2186, 2188, 2189, 2190, 2191, 2192, - 2193, 2194, 2196, 2198, 2199, 2201, 2200, 2202, 2203, 2204, - 2205, 2206, 2207, 2209, 2210, 2211, 2212, 2213, 2214, 2215, - 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, - 2227, 2199, 2200, 2228, 2229, 2231, 2232, 2233, 2234, 2235, - - 2236, 2237, 2238, 2239, 2241, 2242, 2243, 2244, 2245, 2246, - 2247, 2248, 2249, 2251, 2252, 2253, 2254, 2255, 2256, 2257, - 2258, 2259, 2260, 2261, 2262, 2263, 2236, 2264, 2265, 2266, - 2267, 2268, 2269, 2270, 2273, 2274, 2275, 2277, 2278, 2279, - 2280, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2291, 2292, - 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2303, 2304, 2306, - 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, - 2319, 2320, 2321, 2322, 2323, 2324, 2326, 2327, 2329, 2331, - 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2341, 2342, - 2343, 2344, 2345, 2344, 2346, 2347, 2348, 2349, 2351, 2352, - - 2354, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, - 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, - 2377, 2378, 2380, 2381, 2382, 2385, 2386, 2387, 2388, 2390, - 2391, 2393, 2394, 2396, 2398, 2399, 2401, 2402, 2403, 2404, - 2405, 2407, 2412, 2412, 2412, 2413, 2413, 2413, 2414, 2415, - 2414, 2416, 2416, 2416, 2417, 2417, 2417, 2418, 740, 2418, - 2419, 2419, 2419, 739, 738, 737, 736, 735, 734, 733, - 731, 730, 729, 728, 726, 725, 724, 723, 722, 720, - 719, 718, 717, 716, 715, 714, 712, 711, 709, 708, + 74, 69, 744, 69, 74, 78, 111, 74, 75, 104, + + 112, 194, 113, 69, 74, 74, 94, 107, 74, 74, + 74, 126, 75, 126, 75, 114, 109, 75, 80, 80, + 80, 80, 80, 745, 111, 132, 132, 75, 194, 112, + 113, 80, 150, 81, 75, 81, 81, 81, 81, 81, + 184, 114, 134, 134, 82, 150, 82, 102, 81, 82, + 82, 82, 82, 82, 102, 140, 83, 80, 83, 83, + 83, 83, 83, 84, 84, 84, 84, 84, 140, 184, + 119, 83, 140, 138, 81, 138, 84, 88, 88, 88, + 88, 88, 89, 89, 89, 89, 89, 102, 119, 746, + 154, 102, 124, 142, 154, 102, 142, 83, 181, 119, + + 142, 124, 84, 102, 128, 124, 159, 102, 747, 102, + 102, 117, 166, 128, 128, 166, 171, 171, 186, 117, + 117, 117, 117, 117, 164, 170, 181, 195, 117, 117, + 117, 117, 117, 117, 172, 159, 177, 159, 172, 164, + 164, 164, 172, 182, 193, 197, 186, 187, 196, 182, + 177, 205, 198, 195, 117, 117, 117, 117, 117, 117, + 202, 187, 203, 170, 170, 170, 206, 207, 261, 208, + 210, 212, 197, 193, 170, 269, 170, 196, 198, 170, + 205, 170, 170, 233, 232, 261, 202, 232, 203, 219, + 274, 233, 280, 207, 206, 208, 210, 233, 282, 212, + + 216, 216, 216, 216, 216, 310, 280, 310, 282, 216, + 216, 216, 216, 216, 216, 219, 274, 294, 309, 309, + 294, 314, 318, 323, 327, 330, 314, 335, 336, 324, + 341, 269, 334, 338, 269, 216, 216, 216, 216, 216, + 216, 324, 334, 340, 349, 409, 372, 429, 318, 388, + 327, 330, 372, 351, 388, 336, 335, 341, 408, 338, + 389, 481, 318, 351, 423, 389, 402, 402, 408, 423, + 465, 402, 340, 349, 409, 465, 548, 475, 323, 346, + 346, 346, 346, 346, 487, 496, 548, 481, 346, 346, + 346, 346, 346, 346, 433, 593, 442, 496, 433, 429, + + 442, 483, 631, 483, 525, 388, 475, 511, 617, 525, + 388, 617, 626, 487, 346, 346, 346, 346, 346, 346, + 511, 389, 511, 557, 632, 423, 630, 626, 557, 483, + 631, 483, 484, 484, 484, 484, 484, 648, 626, 695, + 695, 484, 484, 484, 484, 484, 484, 508, 748, 635, + 593, 508, 630, 632, 635, 662, 626, 749, 662, 508, + 750, 508, 508, 508, 508, 508, 715, 484, 484, 484, + 484, 484, 484, 718, 715, 752, 753, 754, 718, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 757, 648, 768, 770, 771, 773, 774, 776, + + 777, 779, 778, 781, 782, 780, 783, 784, 785, 786, + 787, 788, 789, 790, 791, 718, 792, 793, 794, 795, + 796, 797, 798, 799, 799, 795, 799, 777, 776, 778, + 779, 780, 800, 801, 802, 803, 804, 805, 806, 807, + 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, + 818, 819, 820, 821, 822, 823, 824, 825, 822, 826, + 827, 828, 822, 829, 830, 831, 832, 833, 834, 835, + 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, + 846, 847, 848, 849, 850, 837, 851, 850, 852, 853, + 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, + + 865, 866, 868, 869, 870, 871, 872, 873, 874, 875, + 876, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 891, 887, 892, 893, 894, 894, + 895, 896, 897, 892, 898, 899, 894, 900, 901, 902, + 894, 903, 905, 906, 907, 908, 909, 898, 910, 898, + 911, 912, 913, 898, 914, 915, 916, 917, 918, 919, + 917, 920, 921, 922, 923, 924, 925, 926, 927, 928, + 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, + 939, 940, 941, 944, 945, 946, 947, 948, 949, 921, + 950, 951, 922, 952, 953, 925, 954, 955, 956, 957, + + 958, 959, 960, 961, 957, 962, 963, 964, 965, 966, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 983, + 988, 989, 990, 991, 992, 993, 994, 995, 996, 999, + 1000, 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1009, 1010, + 1011, 1012, 1014, 1015, 1016, 1017, 1018, 1019, 1016, 1020, + 1021, 1022, 1023, 1027, 1028, 1029, 1030, 1023, 1031, 1032, + 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1062, 1063, 1064, + + 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + 1075, 1076, 1077, 1078, 1079, 1080, 1083, 1081, 1084, 1085, + 1082, 1086, 1087, 1088, 1089, 1090, 1091, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1079, 1078, 1107, 1080, 1081, 1082, 1108, 1109, 1110, + 1111, 1113, 1114, 1115, 1113, 1116, 1117, 1118, 1119, 1120, + 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, + 1131, 1132, 1133, 1134, 1135, 1136, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 1145, 1146, 1148, 1149, 1150, 1151, 1152, + 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, + + 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, + 1173, 1174, 1176, 1177, 1178, 1179, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, + 1195, 1196, 1197, 1198, 1200, 1201, 1202, 1203, 1204, 1206, + 1207, 1208, 1209, 1144, 1210, 1211, 1212, 1213, 1214, 1215, + 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, + 1226, 1227, 1229, 1228, 1230, 1231, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1241, 1242, 1243, 1244, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1226, + 1228, 1229, 1230, 1258, 1259, 1260, 1261, 1262, 1263, 1264, + + 1266, 1267, 1259, 1268, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 1291, 1292, 1293, 1294, 1295, 1291, + 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1324, 1325, 1326, + 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1336, 1337, + 1338, 1340, 1292, 1341, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1360, 1362, 1364, 1365, 1366, 1368, 1369, 1370, + + 1372, 1371, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, + 1381, 1382, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1392, + 1393, 1394, 1395, 1396, 1369, 1397, 1368, 1371, 1370, 1372, + 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, + 1419, 1420, 1421, 1422, 1423, 1424, 1426, 1427, 1429, 1431, + 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, + 1442, 1443, 1444, 1446, 1448, 1449, 1450, 1451, 1452, 1454, + 1455, 1456, 1457, 1459, 1460, 1462, 1463, 1464, 1465, 1466, + 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, + + 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509, 1510, + 1511, 1512, 1513, 1514, 1516, 1517, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1502, + 1503, 1531, 1532, 1504, 1533, 1534, 1535, 1536, 1537, 1538, + 1539, 1540, 1541, 1542, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, + 1560, 1516, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, + 1569, 1570, 1571, 1572, 1574, 1566, 1575, 1576, 1578, 1579, + + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1590, + 1591, 1592, 1593, 1594, 1596, 1591, 1596, 1597, 1599, 1600, + 1601, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, + 1615, 1616, 1618, 1619, 1620, 1621, 1622, 1625, 1619, 1623, + 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1634, 1635, 1636, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, + 1622, 1621, 1649, 1620, 1650, 1623, 1651, 1652, 1653, 1654, + 1656, 1657, 1658, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1672, 1673, 1674, 1676, 1622, 1678, + 1679, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + + 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1702, + 1703, 1705, 1707, 1708, 1707, 1709, 1710, 1707, 1711, 1712, + 1707, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, + 1722, 1723, 1725, 1727, 1728, 1730, 1731, 1732, 1734, 1733, + 1735, 1736, 1737, 1739, 1741, 1742, 1744, 1746, 1747, 1748, + 1749, 1750, 1751, 1752, 1754, 1753, 1755, 1756, 1757, 1758, + 1759, 1760, 1761, 1731, 1732, 1733, 1753, 1734, 1735, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1774, 1775, 1775, 1776, 1777, 1778, 1779, 1780, 1781, + 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, + + 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801, 1802, + 1803, 1804, 1750, 1805, 1806, 1807, 1808, 1809, 1811, 1812, + 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1823, + 1824, 1825, 1827, 1828, 1829, 1831, 1830, 1832, 1833, 1836, + 1837, 1840, 1841, 1842, 1844, 1776, 1845, 1846, 1847, 1848, + 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, + 1829, 1860, 1828, 1830, 1831, 1862, 1832, 1863, 1864, 1865, + 1866, 1867, 1868, 1869, 1870, 1871, 1873, 1874, 1875, 1876, + 1877, 1879, 1880, 1882, 1883, 1884, 1886, 1887, 1888, 1890, + 1891, 1892, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, + + 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1912, 1913, + 1914, 1915, 1916, 1917, 1918, 1920, 1921, 1922, 1923, 1924, + 1925, 1926, 1928, 1929, 1930, 1933, 1934, 1935, 1936, 1937, + 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, + 1948, 1949, 1950, 1921, 1923, 1951, 1952, 1953, 1955, 1956, + 1957, 1959, 1960, 1961, 1962, 1963, 1965, 1966, 1967, 1968, + 1969, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1982, 1983, 1985, 1986, 1988, 1990, 1991, 1993, + 1994, 1988, 1995, 1996, 1998, 2000, 2003, 2001, 2004, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, + + 2018, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, + 2029, 2030, 2000, 2001, 2031, 2032, 2033, 2034, 2035, 2036, + 2038, 2039, 2040, 2042, 2043, 2044, 2045, 2046, 2047, 2048, + 2049, 2050, 2051, 2052, 2054, 2056, 2057, 2058, 2059, 2060, + 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, + 2073, 2074, 2075, 2077, 2078, 2079, 2080, 2081, 2082, 2083, + 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2064, 2065, 2092, + 2066, 2093, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, + 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, + 2114, 2115, 2116, 2114, 2117, 2118, 2119, 2120, 2121, 2122, + + 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, + 2133, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, + 2144, 2145, 2146, 2119, 2121, 2147, 2148, 2150, 2153, 2155, + 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, + 2166, 2167, 2168, 2169, 2170, 2171, 2173, 2174, 2176, 2177, + 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, + 2188, 2189, 2190, 2191, 2192, 2194, 2195, 2196, 2197, 2198, + 2199, 2171, 2201, 2173, 2203, 2205, 2207, 2208, 2209, 2210, + 2211, 2212, 2213, 2215, 2217, 2218, 2220, 2219, 2221, 2222, + 2223, 2224, 2225, 2226, 2227, 2229, 2230, 2231, 2232, 2233, + + 2234, 2235, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, + 2245, 2246, 2218, 2219, 2247, 2248, 2249, 2251, 2252, 2253, + 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2262, 2263, 2264, + 2265, 2266, 2267, 2268, 2269, 2270, 2272, 2273, 2274, 2275, + 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2256, 2284, + 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2293, 2295, 2296, + 2297, 2299, 2300, 2301, 2302, 2304, 2305, 2306, 2307, 2308, + 2309, 2310, 2313, 2314, 2317, 2318, 2319, 2320, 2321, 2322, + 2323, 2325, 2326, 2327, 2329, 2330, 2331, 2332, 2333, 2334, + 2335, 2336, 2337, 2338, 2339, 2342, 2343, 2344, 2345, 2346, + + 2347, 2349, 2350, 2351, 2353, 2355, 2356, 2357, 2358, 2359, + 2360, 2361, 2362, 2363, 2365, 2366, 2367, 2368, 2369, 2368, + 2370, 2371, 2372, 2373, 2374, 2376, 2377, 2379, 2382, 2383, + 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, + 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2404, + 2405, 2407, 2408, 2409, 2412, 2413, 2414, 2415, 2416, 2418, + 2419, 2421, 2422, 2424, 2427, 2428, 2430, 2431, 2432, 2433, + 2434, 2436, 2441, 2441, 2441, 2442, 2442, 2442, 2443, 2444, + 2443, 2445, 2445, 2445, 2446, 2446, 2446, 2447, 740, 2447, + 2448, 2448, 2448, 739, 738, 736, 735, 734, 733, 731, + + 730, 729, 728, 727, 725, 724, 723, 722, 721, 720, + 719, 717, 716, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, - - 697, 696, 695, 694, 693, 692, 691, 689, 688, 687, - 686, 685, 684, 682, 681, 680, 679, 678, 677, 676, + 697, 696, 694, 693, 692, 691, 690, 689, 687, 686, + 685, 684, 683, 682, 681, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, - 664, 663, 662, 661, 660, 659, 658, 656, 655, 654, - 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, - 642, 641, 640, 639, 638, 637, 635, 633, 632, 629, - 621, 620, 619, 618, 617, 616, 615, 614, 611, 610, - 607, 606, 604, 603, 602, 601, 600, 599, 598, 597, - 596, 595, 594, 593, 592, 591, 590, 588, 587, 586, - 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, + 664, 663, 661, 660, 659, 658, 657, 656, 655, 654, + 653, 652, 651, 650, 649, 647, 646, 645, 644, 643, + 642, 640, 638, 637, 634, 633, 625, 624, 623, 622, + 621, 620, 619, 618, 615, 614, 611, 610, 608, 607, - 575, 574, 573, 572, 571, 569, 568, 566, 565, 564, - 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, - 552, 551, 549, 548, 547, 546, 545, 543, 542, 541, - 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, - 530, 529, 527, 526, 525, 523, 522, 520, 519, 518, - 517, 516, 515, 514, 513, 512, 510, 509, 508, 506, - 505, 502, 501, 500, 499, 498, 497, 495, 494, 493, - 491, 490, 489, 488, 487, 486, 485, 484, 482, 477, - 475, 474, 473, 471, 470, 469, 466, 465, 464, 463, - 461, 460, 459, 457, 456, 455, 454, 453, 452, 451, - - 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, - 440, 438, 437, 436, 435, 434, 433, 432, 431, 429, - 428, 427, 425, 423, 422, 421, 419, 418, 417, 416, - 415, 414, 413, 412, 411, 410, 409, 408, 407, 404, - 403, 402, 401, 400, 398, 397, 396, 395, 394, 393, - 392, 391, 390, 389, 388, 387, 384, 383, 382, 381, - 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, - 370, 368, 367, 366, 365, 364, 363, 362, 361, 360, - 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 347, 345, 343, 341, 337, 335, 331, 324, 323, - - 320, 319, 318, 317, 315, 314, 313, 311, 310, 309, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, + 596, 595, 594, 592, 591, 590, 589, 588, 587, 586, + 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, + 575, 573, 572, 570, 569, 568, 567, 566, 565, 564, + 563, 562, 561, 560, 559, 558, 556, 555, 553, 552, + 551, 550, 549, 547, 546, 545, 544, 543, 542, 541, + 540, 539, 538, 537, 536, 535, 534, 533, 531, 530, + 529, 527, 526, 524, 523, 522, 521, 520, 519, 518, + 517, 516, 514, 513, 512, 510, 509, 506, 505, 504, + 503, 502, 501, 499, 498, 497, 495, 494, 493, 492, + + 491, 490, 489, 488, 486, 485, 480, 478, 477, 476, + 474, 473, 472, 469, 468, 467, 466, 464, 463, 462, + 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, + 450, 449, 448, 447, 446, 445, 444, 443, 441, 440, + 439, 438, 437, 436, 435, 434, 432, 431, 430, 428, + 426, 425, 424, 422, 421, 420, 419, 418, 417, 416, + 415, 414, 413, 412, 411, 410, 407, 406, 405, 404, + 403, 401, 400, 399, 398, 397, 396, 395, 394, 393, + 392, 391, 390, 387, 386, 385, 384, 383, 382, 381, + 380, 379, 378, 377, 376, 375, 374, 373, 371, 370, + + 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, + 359, 358, 357, 356, 355, 354, 353, 352, 350, 348, + 347, 345, 343, 339, 337, 333, 326, 325, 322, 321, + 320, 319, 317, 316, 315, 313, 312, 311, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, - 296, 295, 294, 293, 291, 289, 288, 287, 286, 285, - 284, 283, 282, 281, 279, 277, 276, 275, 274, 273, - 271, 270, 269, 268, 266, 265, 264, 263, 262, 261, - 260, 258, 257, 255, 254, 253, 252, 251, 250, 249, + 296, 295, 293, 291, 290, 289, 288, 287, 286, 285, + 284, 283, 281, 279, 278, 277, 276, 275, 273, 272, + 271, 270, 268, 267, 266, 265, 264, 263, 262, 260, + 259, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, - 238, 237, 236, 235, 234, 233, 232, 229, 228, 227, - 226, 225, 224, 223, 222, 221, 220, 219, 218, 216, - 212, 210, 208, 203, 200, 198, 190, 189, 188, 187, - - 184, 182, 179, 178, 177, 175, 174, 173, 172, 168, - 167, 166, 164, 162, 161, 159, 157, 156, 155, 154, - 152, 151, 150, 148, 147, 146, 145, 144, 143, 142, - 138, 136, 135, 134, 132, 130, 129, 128, 126, 124, - 122, 121, 120, 119, 115, 110, 106, 103, 98, 97, + + 238, 237, 236, 235, 234, 231, 230, 229, 228, 227, + 226, 225, 224, 223, 222, 221, 220, 218, 217, 213, + 211, 209, 204, 201, 199, 191, 190, 189, 188, 185, + 183, 180, 179, 178, 176, 175, 174, 173, 169, 168, + 167, 165, 163, 162, 160, 158, 157, 156, 155, 153, + 152, 151, 149, 148, 147, 146, 145, 144, 143, 139, + 137, 136, 135, 133, 131, 130, 129, 127, 125, 123, + 122, 121, 120, 118, 115, 110, 106, 103, 98, 97, 72, 66, 50, 47, 43, 41, 39, 38, 24, 14, - 11, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411, - 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411 + 11, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, + 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440 } ; static yy_state_type yy_last_accepting_state; @@ -2214,7 +2229,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[248] = +static const flex_int16_t yy_rule_linenum[249] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 178, 183, 189, 198, 207, 216, 225, 234, 243, 252, 262, @@ -2228,21 +2243,21 @@ static const flex_int16_t yy_rule_linenum[248] = 998, 1010, 1020, 1031, 1040, 1050, 1064, 1081, 1090, 1099, 1108, 1117, 1126, 1135, 1160, 1185, 1194, 1204, 1213, 1224, - 1235, 1246, 1256, 1265, 1276, 1287, 1298, 1309, 1320, 1329, - 1338, 1347, 1356, 1365, 1374, 1383, 1392, 1401, 1410, 1424, - 1435, 1446, 1458, 1467, 1476, 1485, 1494, 1504, 1514, 1524, - 1534, 1544, 1554, 1563, 1573, 1582, 1591, 1600, 1609, 1619, - 1628, 1637, 1646, 1655, 1664, 1673, 1682, 1691, 1700, 1709, - 1718, 1727, 1736, 1745, 1754, 1763, 1772, 1781, 1790, 1799, - 1808, 1817, 1826, 1835, 1844, 1853, 1862, 1871, 1880, 1889, - 1898, 1907, 1916, 1925, 1934, 1943, 1952, 1961, 1970, 1979, - 1988, 1997, 2006, 2015, 2024, 2033, 2042, 2051, 2060, 2072, - - 2084, 2094, 2104, 2114, 2124, 2134, 2144, 2154, 2164, 2174, - 2183, 2192, 2201, 2210, 2221, 2232, 2245, 2258, 2271, 2280, - 2289, 2298, 2307, 2316, 2325, 2334, 2343, 2355, 2364, 2465, - 2481, 2530, 2538, 2553, 2554, 2555, 2556, 2557, 2558, 2560, - 2578, 2591, 2596, 2600, 2602, 2604, 2606 + 1235, 1246, 1256, 1265, 1276, 1287, 1298, 1309, 1320, 1331, + 1340, 1349, 1358, 1367, 1376, 1385, 1394, 1403, 1412, 1421, + 1435, 1446, 1457, 1469, 1478, 1487, 1496, 1505, 1515, 1525, + 1535, 1545, 1555, 1565, 1574, 1584, 1593, 1602, 1611, 1620, + 1630, 1639, 1648, 1657, 1666, 1675, 1684, 1693, 1702, 1711, + 1720, 1729, 1738, 1747, 1756, 1765, 1774, 1783, 1792, 1801, + 1810, 1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891, + 1900, 1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981, + 1990, 1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071, + + 2083, 2095, 2105, 2115, 2125, 2135, 2145, 2155, 2165, 2175, + 2185, 2194, 2203, 2212, 2221, 2232, 2243, 2256, 2269, 2282, + 2291, 2300, 2309, 2318, 2327, 2336, 2345, 2354, 2366, 2375, + 2476, 2492, 2541, 2549, 2564, 2565, 2566, 2567, 2568, 2569, + 2571, 2589, 2602, 2607, 2611, 2613, 2615, 2617 } ; /* The intent behind this definition is that it'll catch @@ -2297,7 +2312,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2300 "dhcp4_lexer.cc" +#line 2315 "dhcp4_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And using yywrap requires linking with -lfl, which provides the default yywrap @@ -2323,8 +2338,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2326 "dhcp4_lexer.cc" -#line 2327 "dhcp4_lexer.cc" +#line 2341 "dhcp4_lexer.cc" +#line 2342 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2380,7 +2395,7 @@ FILE *yyget_out ( void ); void yyset_out ( FILE * _out_str ); - int yyget_leng ( void ); + yy_size_t yyget_leng ( void ); char *yyget_text ( void ); @@ -2467,7 +2482,7 @@ static int input ( void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -2652,7 +2667,7 @@ YY_DECL } -#line 2655 "dhcp4_lexer.cc" +#line 2670 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2681,13 +2696,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2412 ) + if ( yy_current_state >= 2441 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2411 ); + while ( yy_current_state != 2440 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2706,13 +2721,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 248 ) + else if ( yy_act < 249 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 248 ) + else if ( yy_act == 249 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 249 ) + else if ( yy_act == 250 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -4271,6 +4286,20 @@ YY_RULE_SETUP case 119: YY_RULE_SETUP #line 1320 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_ADAPTIVE_LEASE_TIME_THRESHOLD(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("adaptive-lease-time-threshold", driver.loc_); + } +} + YY_BREAK +case 120: +YY_RULE_SETUP +#line 1331 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4280,9 +4309,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 1329 "dhcp4_lexer.ll" +#line 1340 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4292,9 +4321,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 122: YY_RULE_SETUP -#line 1338 "dhcp4_lexer.ll" +#line 1349 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4304,9 +4333,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 123: YY_RULE_SETUP -#line 1347 "dhcp4_lexer.ll" +#line 1358 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4316,9 +4345,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 124: YY_RULE_SETUP -#line 1356 "dhcp4_lexer.ll" +#line 1367 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4328,9 +4357,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 125: YY_RULE_SETUP -#line 1365 "dhcp4_lexer.ll" +#line 1376 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4340,9 +4369,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 126: YY_RULE_SETUP -#line 1374 "dhcp4_lexer.ll" +#line 1385 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4352,9 +4381,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 1383 "dhcp4_lexer.ll" +#line 1394 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4364,9 +4393,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 128: YY_RULE_SETUP -#line 1392 "dhcp4_lexer.ll" +#line 1403 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4376,9 +4405,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 1401 "dhcp4_lexer.ll" +#line 1412 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4388,9 +4417,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 1410 "dhcp4_lexer.ll" +#line 1421 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4405,9 +4434,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 1424 "dhcp4_lexer.ll" +#line 1435 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4419,9 +4448,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 1435 "dhcp4_lexer.ll" +#line 1446 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4433,9 +4462,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1446 "dhcp4_lexer.ll" +#line 1457 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4448,9 +4477,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 1458 "dhcp4_lexer.ll" +#line 1469 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4460,9 +4489,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 1467 "dhcp4_lexer.ll" +#line 1478 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4472,9 +4501,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 136: YY_RULE_SETUP -#line 1476 "dhcp4_lexer.ll" +#line 1487 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4484,9 +4513,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 137: YY_RULE_SETUP -#line 1485 "dhcp4_lexer.ll" +#line 1496 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4496,9 +4525,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 138: YY_RULE_SETUP -#line 1494 "dhcp4_lexer.ll" +#line 1505 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4509,9 +4538,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 139: YY_RULE_SETUP -#line 1504 "dhcp4_lexer.ll" +#line 1515 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4522,9 +4551,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 140: YY_RULE_SETUP -#line 1514 "dhcp4_lexer.ll" +#line 1525 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4535,9 +4564,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 141: YY_RULE_SETUP -#line 1524 "dhcp4_lexer.ll" +#line 1535 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4548,9 +4577,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 142: YY_RULE_SETUP -#line 1534 "dhcp4_lexer.ll" +#line 1545 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4561,9 +4590,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 143: YY_RULE_SETUP -#line 1544 "dhcp4_lexer.ll" +#line 1555 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4574,9 +4603,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 1554 "dhcp4_lexer.ll" +#line 1565 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -4586,9 +4615,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 1563 "dhcp4_lexer.ll" +#line 1574 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4599,9 +4628,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 1573 "dhcp4_lexer.ll" +#line 1584 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -4611,9 +4640,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 147: YY_RULE_SETUP -#line 1582 "dhcp4_lexer.ll" +#line 1593 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4623,9 +4652,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 148: YY_RULE_SETUP -#line 1591 "dhcp4_lexer.ll" +#line 1602 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4635,9 +4664,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 149: YY_RULE_SETUP -#line 1600 "dhcp4_lexer.ll" +#line 1611 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4647,9 +4676,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1609 "dhcp4_lexer.ll" +#line 1620 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4660,9 +4689,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1619 "dhcp4_lexer.ll" +#line 1630 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -4672,9 +4701,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1628 "dhcp4_lexer.ll" +#line 1639 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4684,9 +4713,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 1637 "dhcp4_lexer.ll" +#line 1648 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4696,9 +4725,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 1646 "dhcp4_lexer.ll" +#line 1657 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4708,9 +4737,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1655 "dhcp4_lexer.ll" +#line 1666 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4720,9 +4749,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1664 "dhcp4_lexer.ll" +#line 1675 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4732,9 +4761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 157: YY_RULE_SETUP -#line 1673 "dhcp4_lexer.ll" +#line 1684 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4744,9 +4773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 158: YY_RULE_SETUP -#line 1682 "dhcp4_lexer.ll" +#line 1693 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4756,9 +4785,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 159: YY_RULE_SETUP -#line 1691 "dhcp4_lexer.ll" +#line 1702 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4768,9 +4797,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 160: YY_RULE_SETUP -#line 1700 "dhcp4_lexer.ll" +#line 1711 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4780,9 +4809,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1709 "dhcp4_lexer.ll" +#line 1720 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4792,9 +4821,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1718 "dhcp4_lexer.ll" +#line 1729 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4804,9 +4833,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1727 "dhcp4_lexer.ll" +#line 1738 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4816,9 +4845,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1736 "dhcp4_lexer.ll" +#line 1747 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4828,9 +4857,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 165: YY_RULE_SETUP -#line 1745 "dhcp4_lexer.ll" +#line 1756 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4840,9 +4869,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 166: YY_RULE_SETUP -#line 1754 "dhcp4_lexer.ll" +#line 1765 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4852,9 +4881,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1763 "dhcp4_lexer.ll" +#line 1774 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4864,9 +4893,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1772 "dhcp4_lexer.ll" +#line 1783 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4876,9 +4905,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1781 "dhcp4_lexer.ll" +#line 1792 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4888,9 +4917,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 170: YY_RULE_SETUP -#line 1790 "dhcp4_lexer.ll" +#line 1801 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4900,9 +4929,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 171: YY_RULE_SETUP -#line 1799 "dhcp4_lexer.ll" +#line 1810 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET_TYPE: @@ -4912,9 +4941,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 172: YY_RULE_SETUP -#line 1808 "dhcp4_lexer.ll" +#line 1819 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET_TYPE: @@ -4924,9 +4953,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 173: YY_RULE_SETUP -#line 1817 "dhcp4_lexer.ll" +#line 1828 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET_TYPE: @@ -4936,9 +4965,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 174: YY_RULE_SETUP -#line 1826 "dhcp4_lexer.ll" +#line 1837 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4948,9 +4977,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 175: YY_RULE_SETUP -#line 1835 "dhcp4_lexer.ll" +#line 1846 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4960,9 +4989,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 176: YY_RULE_SETUP -#line 1844 "dhcp4_lexer.ll" +#line 1855 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4972,9 +5001,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 177: YY_RULE_SETUP -#line 1853 "dhcp4_lexer.ll" +#line 1864 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4984,9 +5013,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 178: YY_RULE_SETUP -#line 1862 "dhcp4_lexer.ll" +#line 1873 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::AUTH_TYPE: @@ -4996,9 +5025,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 179: YY_RULE_SETUP -#line 1871 "dhcp4_lexer.ll" +#line 1882 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::AUTHENTICATION: @@ -5008,9 +5037,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 180: YY_RULE_SETUP -#line 1880 "dhcp4_lexer.ll" +#line 1891 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::AUTHENTICATION: @@ -5020,9 +5049,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 181: YY_RULE_SETUP -#line 1889 "dhcp4_lexer.ll" +#line 1900 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::AUTHENTICATION: @@ -5032,9 +5061,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 182: YY_RULE_SETUP -#line 1898 "dhcp4_lexer.ll" +#line 1909 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENTS: @@ -5044,9 +5073,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 183: YY_RULE_SETUP -#line 1907 "dhcp4_lexer.ll" +#line 1918 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENTS: @@ -5056,9 +5085,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 184: YY_RULE_SETUP -#line 1916 "dhcp4_lexer.ll" +#line 1927 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -5068,9 +5097,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 185: YY_RULE_SETUP -#line 1925 "dhcp4_lexer.ll" +#line 1936 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -5080,9 +5109,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 186: YY_RULE_SETUP -#line 1934 "dhcp4_lexer.ll" +#line 1945 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HTTP_HEADERS: @@ -5092,9 +5121,9 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 187: YY_RULE_SETUP -#line 1943 "dhcp4_lexer.ll" +#line 1954 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5104,9 +5133,9 @@ YY_RULE_SETUP } } YY_BREAK -case 187: +case 188: YY_RULE_SETUP -#line 1952 "dhcp4_lexer.ll" +#line 1963 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -5116,9 +5145,9 @@ YY_RULE_SETUP } } YY_BREAK -case 188: +case 189: YY_RULE_SETUP -#line 1961 "dhcp4_lexer.ll" +#line 1972 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -5128,9 +5157,9 @@ YY_RULE_SETUP } } YY_BREAK -case 189: +case 190: YY_RULE_SETUP -#line 1970 "dhcp4_lexer.ll" +#line 1981 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -5140,9 +5169,9 @@ YY_RULE_SETUP } } YY_BREAK -case 190: +case 191: YY_RULE_SETUP -#line 1979 "dhcp4_lexer.ll" +#line 1990 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5152,9 +5181,9 @@ YY_RULE_SETUP } } YY_BREAK -case 191: +case 192: YY_RULE_SETUP -#line 1988 "dhcp4_lexer.ll" +#line 1999 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5164,9 +5193,9 @@ YY_RULE_SETUP } } YY_BREAK -case 192: +case 193: YY_RULE_SETUP -#line 1997 "dhcp4_lexer.ll" +#line 2008 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5176,9 +5205,9 @@ YY_RULE_SETUP } } YY_BREAK -case 193: +case 194: YY_RULE_SETUP -#line 2006 "dhcp4_lexer.ll" +#line 2017 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5188,9 +5217,9 @@ YY_RULE_SETUP } } YY_BREAK -case 194: +case 195: YY_RULE_SETUP -#line 2015 "dhcp4_lexer.ll" +#line 2026 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5200,9 +5229,9 @@ YY_RULE_SETUP } } YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 2024 "dhcp4_lexer.ll" +#line 2035 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5212,9 +5241,9 @@ YY_RULE_SETUP } } YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 2033 "dhcp4_lexer.ll" +#line 2044 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5224,9 +5253,9 @@ YY_RULE_SETUP } } YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 2042 "dhcp4_lexer.ll" +#line 2053 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5236,9 +5265,9 @@ YY_RULE_SETUP } } YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 2051 "dhcp4_lexer.ll" +#line 2062 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -5248,9 +5277,9 @@ YY_RULE_SETUP } } YY_BREAK -case 199: +case 200: YY_RULE_SETUP -#line 2060 "dhcp4_lexer.ll" +#line 2071 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5263,9 +5292,9 @@ YY_RULE_SETUP } } YY_BREAK -case 200: +case 201: YY_RULE_SETUP -#line 2072 "dhcp4_lexer.ll" +#line 2083 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5278,9 +5307,9 @@ YY_RULE_SETUP } } YY_BREAK -case 201: +case 202: YY_RULE_SETUP -#line 2084 "dhcp4_lexer.ll" +#line 2095 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -5291,9 +5320,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 202: +case 203: YY_RULE_SETUP -#line 2094 "dhcp4_lexer.ll" +#line 2105 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -5304,9 +5333,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 2104 "dhcp4_lexer.ll" +#line 2115 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -5317,9 +5346,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 2114 "dhcp4_lexer.ll" +#line 2125 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5330,9 +5359,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 2124 "dhcp4_lexer.ll" +#line 2135 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5343,9 +5372,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2134 "dhcp4_lexer.ll" +#line 2145 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5356,9 +5385,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 2144 "dhcp4_lexer.ll" +#line 2155 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5369,9 +5398,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 2154 "dhcp4_lexer.ll" +#line 2165 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5382,9 +5411,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2164 "dhcp4_lexer.ll" +#line 2175 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5395,9 +5424,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2174 "dhcp4_lexer.ll" +#line 2185 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5407,9 +5436,9 @@ YY_RULE_SETUP } } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2183 "dhcp4_lexer.ll" +#line 2194 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5419,9 +5448,9 @@ YY_RULE_SETUP } } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2192 "dhcp4_lexer.ll" +#line 2203 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5431,9 +5460,9 @@ YY_RULE_SETUP } } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2201 "dhcp4_lexer.ll" +#line 2212 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5443,9 +5472,9 @@ YY_RULE_SETUP } } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2210 "dhcp4_lexer.ll" +#line 2221 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5457,9 +5486,9 @@ YY_RULE_SETUP } } YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2221 "dhcp4_lexer.ll" +#line 2232 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5471,9 +5500,9 @@ YY_RULE_SETUP } } YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2232 "dhcp4_lexer.ll" +#line 2243 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5487,9 +5516,9 @@ YY_RULE_SETUP } } YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2245 "dhcp4_lexer.ll" +#line 2256 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5503,9 +5532,9 @@ YY_RULE_SETUP } } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2258 "dhcp4_lexer.ll" +#line 2269 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5519,9 +5548,9 @@ YY_RULE_SETUP } } YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2271 "dhcp4_lexer.ll" +#line 2282 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5531,9 +5560,9 @@ YY_RULE_SETUP } } YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2280 "dhcp4_lexer.ll" +#line 2291 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5543,9 +5572,9 @@ YY_RULE_SETUP } } YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2289 "dhcp4_lexer.ll" +#line 2300 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5555,9 +5584,9 @@ YY_RULE_SETUP } } YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 2298 "dhcp4_lexer.ll" +#line 2309 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5567,9 +5596,9 @@ YY_RULE_SETUP } } YY_BREAK -case 223: +case 224: YY_RULE_SETUP -#line 2307 "dhcp4_lexer.ll" +#line 2318 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5579,9 +5608,9 @@ YY_RULE_SETUP } } YY_BREAK -case 224: +case 225: YY_RULE_SETUP -#line 2316 "dhcp4_lexer.ll" +#line 2327 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5591,9 +5620,9 @@ YY_RULE_SETUP } } YY_BREAK -case 225: +case 226: YY_RULE_SETUP -#line 2325 "dhcp4_lexer.ll" +#line 2336 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5603,9 +5632,9 @@ YY_RULE_SETUP } } YY_BREAK -case 226: +case 227: YY_RULE_SETUP -#line 2334 "dhcp4_lexer.ll" +#line 2345 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5615,9 +5644,9 @@ YY_RULE_SETUP } } YY_BREAK -case 227: +case 228: YY_RULE_SETUP -#line 2343 "dhcp4_lexer.ll" +#line 2354 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5630,9 +5659,9 @@ YY_RULE_SETUP } } YY_BREAK -case 228: +case 229: YY_RULE_SETUP -#line 2355 "dhcp4_lexer.ll" +#line 2366 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5642,9 +5671,9 @@ YY_RULE_SETUP } } YY_BREAK -case 229: +case 230: YY_RULE_SETUP -#line 2364 "dhcp4_lexer.ll" +#line 2375 "dhcp4_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. @@ -5746,10 +5775,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 230: -/* rule 230 can match eol */ +case 231: +/* rule 231 can match eol */ YY_RULE_SETUP -#line 2465 "dhcp4_lexer.ll" +#line 2476 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5766,10 +5795,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 231: -/* rule 231 can match eol */ +case 232: +/* rule 232 can match eol */ YY_RULE_SETUP -#line 2481 "dhcp4_lexer.ll" +#line 2492 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5819,9 +5848,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 232: +case 233: YY_RULE_SETUP -#line 2530 "dhcp4_lexer.ll" +#line 2541 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5830,9 +5859,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 233: +case 234: YY_RULE_SETUP -#line 2538 "dhcp4_lexer.ll" +#line 2549 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5848,39 +5877,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 234: +case 235: YY_RULE_SETUP -#line 2553 "dhcp4_lexer.ll" +#line 2564 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 235: +case 236: YY_RULE_SETUP -#line 2554 "dhcp4_lexer.ll" +#line 2565 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 236: +case 237: YY_RULE_SETUP -#line 2555 "dhcp4_lexer.ll" +#line 2566 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 237: +case 238: YY_RULE_SETUP -#line 2556 "dhcp4_lexer.ll" +#line 2567 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 238: +case 239: YY_RULE_SETUP -#line 2557 "dhcp4_lexer.ll" +#line 2568 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 239: +case 240: YY_RULE_SETUP -#line 2558 "dhcp4_lexer.ll" +#line 2569 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 240: +case 241: YY_RULE_SETUP -#line 2560 "dhcp4_lexer.ll" +#line 2571 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5899,9 +5928,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 241: +case 242: YY_RULE_SETUP -#line 2578 "dhcp4_lexer.ll" +#line 2589 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5915,43 +5944,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 242: +case 243: YY_RULE_SETUP -#line 2591 "dhcp4_lexer.ll" +#line 2602 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 243: +case 244: YY_RULE_SETUP -#line 2596 "dhcp4_lexer.ll" +#line 2607 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 244: +case 245: YY_RULE_SETUP -#line 2600 "dhcp4_lexer.ll" +#line 2611 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 245: +case 246: YY_RULE_SETUP -#line 2602 "dhcp4_lexer.ll" +#line 2613 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 246: +case 247: YY_RULE_SETUP -#line 2604 "dhcp4_lexer.ll" +#line 2615 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 247: +case 248: YY_RULE_SETUP -#line 2606 "dhcp4_lexer.ll" +#line 2617 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2608 "dhcp4_lexer.ll" +#line 2619 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5975,12 +6004,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 248: +case 249: YY_RULE_SETUP -#line 2631 "dhcp4_lexer.ll" +#line 2642 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5983 "dhcp4_lexer.cc" +#line 6012 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -6182,7 +6211,7 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -6196,7 +6225,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -6254,7 +6283,7 @@ static int yy_get_next_buffer (void) if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -6299,7 +6328,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2412 ) + if ( yy_current_state >= 2441 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6332,11 +6361,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2412 ) + if ( yy_current_state >= 2441 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2411); + yy_is_jam = (yy_current_state == 2440); return yy_is_jam ? 0 : yy_current_state; } @@ -6375,7 +6404,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -6818,12 +6847,12 @@ YY_BUFFER_STATE yy_scan_string (const char * yystr ) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = (yy_size_t) (_yybytes_len + 2); @@ -6870,7 +6899,7 @@ static void yynoreturn yy_fatal_error (const char* msg ) do \ { \ /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ + yy_size_t yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ @@ -6914,7 +6943,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -int yyget_leng (void) +yy_size_t yyget_leng (void) { return yyleng; } @@ -7085,7 +7114,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2631 "dhcp4_lexer.ll" +#line 2642 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index 863e1b0d7f..4bca5ecf97 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -1316,6 +1316,17 @@ ControlCharacterFill [^"\\]|\\["\\/bfnrtu] } } +\"adaptive-lease-time-threshold\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_ADAPTIVE_LEASE_TIME_THRESHOLD(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("adaptive-lease-time-threshold", driver.loc_); + } +} + \"loggers\" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 84f8221b88..0236f62a9a 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -415,91 +415,91 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 421 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 427 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 433 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 439 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 445 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 451 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 457 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 463 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 469 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 475 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 481 "dhcp4_parser.cc" break; case symbol_kind::S_ssl_mode: // ssl_mode -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 487 "dhcp4_parser.cc" break; case symbol_kind::S_control_socket_type_value: // control_socket_type_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 493 "dhcp4_parser.cc" break; case symbol_kind::S_auth_type_value: // auth_type_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 499 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 327 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 505 "dhcp4_parser.cc" break; @@ -782,127 +782,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 336 "dhcp4_parser.yy" +#line 337 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 788 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 337 "dhcp4_parser.yy" +#line 338 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 794 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 338 "dhcp4_parser.yy" +#line 339 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 800 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 339 "dhcp4_parser.yy" +#line 340 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 806 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 340 "dhcp4_parser.yy" +#line 341 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 812 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 341 "dhcp4_parser.yy" +#line 342 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 818 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 342 "dhcp4_parser.yy" +#line 343 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 824 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 343 "dhcp4_parser.yy" +#line 344 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 830 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 344 "dhcp4_parser.yy" +#line 345 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 836 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 345 "dhcp4_parser.yy" +#line 346 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 842 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 346 "dhcp4_parser.yy" +#line 347 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 848 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 347 "dhcp4_parser.yy" +#line 348 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 854 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 348 "dhcp4_parser.yy" +#line 349 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 860 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 356 "dhcp4_parser.yy" +#line 357 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 866 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 357 "dhcp4_parser.yy" +#line 358 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 872 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 358 "dhcp4_parser.yy" +#line 359 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 878 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 359 "dhcp4_parser.yy" +#line 360 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 884 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 360 "dhcp4_parser.yy" +#line 361 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 890 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 361 "dhcp4_parser.yy" +#line 362 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 896 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 362 "dhcp4_parser.yy" +#line 363 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 902 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 365 "dhcp4_parser.yy" +#line 366 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -911,7 +911,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 370 "dhcp4_parser.yy" +#line 371 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -922,7 +922,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 375 "dhcp4_parser.yy" +#line 376 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -932,13 +932,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 381 "dhcp4_parser.yy" +#line 382 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 938 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 388 "dhcp4_parser.yy" +#line 389 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -948,7 +948,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 393 "dhcp4_parser.yy" +#line 394 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -959,7 +959,7 @@ namespace isc { namespace dhcp { break; case 43: // not_empty_map: not_empty_map "," -#line 399 "dhcp4_parser.yy" +#line 400 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -967,7 +967,7 @@ namespace isc { namespace dhcp { break; case 44: // $@15: %empty -#line 404 "dhcp4_parser.yy" +#line 405 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -976,7 +976,7 @@ namespace isc { namespace dhcp { break; case 45: // list_generic: "[" $@15 list_content "]" -#line 407 "dhcp4_parser.yy" +#line 408 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -984,7 +984,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: value -#line 415 "dhcp4_parser.yy" +#line 416 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -993,7 +993,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: not_empty_list "," value -#line 419 "dhcp4_parser.yy" +#line 420 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -1002,7 +1002,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," -#line 423 "dhcp4_parser.yy" +#line 424 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1010,7 +1010,7 @@ namespace isc { namespace dhcp { break; case 51: // $@16: %empty -#line 429 "dhcp4_parser.yy" +#line 430 "dhcp4_parser.yy" { // List parsing about to start } @@ -1018,7 +1018,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 431 "dhcp4_parser.yy" +#line 432 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1027,7 +1027,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 440 "dhcp4_parser.yy" +#line 441 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1036,7 +1036,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 444 "dhcp4_parser.yy" +#line 445 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1045,7 +1045,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 448 "dhcp4_parser.yy" +#line 449 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1053,7 +1053,7 @@ namespace isc { namespace dhcp { break; case 58: // unknown_map_entry: "constant string" ":" -#line 458 "dhcp4_parser.yy" +#line 459 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1064,7 +1064,7 @@ namespace isc { namespace dhcp { break; case 59: // $@17: %empty -#line 467 "dhcp4_parser.yy" +#line 468 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1075,7 +1075,7 @@ namespace isc { namespace dhcp { break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 472 "dhcp4_parser.yy" +#line 473 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1088,7 +1088,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 482 "dhcp4_parser.yy" +#line 483 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1103,7 +1103,7 @@ namespace isc { namespace dhcp { break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 491 "dhcp4_parser.yy" +#line 492 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1113,7 +1113,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object_comma: global_object "," -#line 499 "dhcp4_parser.yy" +#line 500 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1121,7 +1121,7 @@ namespace isc { namespace dhcp { break; case 65: // $@19: %empty -#line 505 "dhcp4_parser.yy" +#line 506 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1131,7 +1131,7 @@ namespace isc { namespace dhcp { break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 509 "dhcp4_parser.yy" +#line 510 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1140,15 +1140,15 @@ namespace isc { namespace dhcp { break; case 69: // global_params: global_params "," -#line 516 "dhcp4_parser.yy" +#line 517 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 1148 "dhcp4_parser.cc" break; - case 142: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 597 "dhcp4_parser.yy" + case 143: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 599 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1157,8 +1157,8 @@ namespace isc { namespace dhcp { #line 1158 "dhcp4_parser.cc" break; - case 143: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 603 "dhcp4_parser.yy" + case 144: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 605 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1167,8 +1167,8 @@ namespace isc { namespace dhcp { #line 1168 "dhcp4_parser.cc" break; - case 144: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 609 "dhcp4_parser.yy" + case 145: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 611 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1177,8 +1177,8 @@ namespace isc { namespace dhcp { #line 1178 "dhcp4_parser.cc" break; - case 145: // renew_timer: "renew-timer" ":" "integer" -#line 615 "dhcp4_parser.yy" + case 146: // renew_timer: "renew-timer" ":" "integer" +#line 617 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1187,8 +1187,8 @@ namespace isc { namespace dhcp { #line 1188 "dhcp4_parser.cc" break; - case 146: // rebind_timer: "rebind-timer" ":" "integer" -#line 621 "dhcp4_parser.yy" + case 147: // rebind_timer: "rebind-timer" ":" "integer" +#line 623 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1197,8 +1197,8 @@ namespace isc { namespace dhcp { #line 1198 "dhcp4_parser.cc" break; - case 147: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 627 "dhcp4_parser.yy" + case 148: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 629 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1207,8 +1207,8 @@ namespace isc { namespace dhcp { #line 1208 "dhcp4_parser.cc" break; - case 148: // t1_percent: "t1-percent" ":" "floating point" -#line 633 "dhcp4_parser.yy" + case 149: // t1_percent: "t1-percent" ":" "floating point" +#line 635 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1217,8 +1217,8 @@ namespace isc { namespace dhcp { #line 1218 "dhcp4_parser.cc" break; - case 149: // t2_percent: "t2-percent" ":" "floating point" -#line 639 "dhcp4_parser.yy" + case 150: // t2_percent: "t2-percent" ":" "floating point" +#line 641 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1227,8 +1227,8 @@ namespace isc { namespace dhcp { #line 1228 "dhcp4_parser.cc" break; - case 150: // cache_threshold: "cache-threshold" ":" "floating point" -#line 645 "dhcp4_parser.yy" + case 151: // cache_threshold: "cache-threshold" ":" "floating point" +#line 647 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1237,8 +1237,8 @@ namespace isc { namespace dhcp { #line 1238 "dhcp4_parser.cc" break; - case 151: // cache_max_age: "cache-max-age" ":" "integer" -#line 651 "dhcp4_parser.yy" + case 152: // cache_max_age: "cache-max-age" ":" "integer" +#line 653 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1247,233 +1247,243 @@ namespace isc { namespace dhcp { #line 1248 "dhcp4_parser.cc" break; - case 152: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 657 "dhcp4_parser.yy" + case 153: // adaptive_lease_time_threshold: "adaptive-lease-time-threshold" ":" "floating point" +#line 659 "dhcp4_parser.yy" + { + ctx.unique("adaptive-lease-time-threshold", ctx.loc2pos(yystack_[2].location)); + ElementPtr altt(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("adaptive-lease-time-threshold", altt); +} +#line 1258 "dhcp4_parser.cc" + break; + + case 154: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 665 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1258 "dhcp4_parser.cc" +#line 1268 "dhcp4_parser.cc" break; - case 153: // $@20: %empty -#line 663 "dhcp4_parser.yy" + case 155: // $@20: %empty +#line 671 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1267 "dhcp4_parser.cc" +#line 1277 "dhcp4_parser.cc" break; - case 154: // server_tag: "server-tag" $@20 ":" "constant string" -#line 666 "dhcp4_parser.yy" + case 156: // server_tag: "server-tag" $@20 ":" "constant string" +#line 674 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1277 "dhcp4_parser.cc" +#line 1287 "dhcp4_parser.cc" break; - case 155: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 672 "dhcp4_parser.yy" + case 157: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 680 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("parked-packet-limit", ppl); } -#line 1287 "dhcp4_parser.cc" +#line 1297 "dhcp4_parser.cc" break; - case 156: // $@21: %empty -#line 678 "dhcp4_parser.yy" + case 158: // $@21: %empty +#line 686 "dhcp4_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1296 "dhcp4_parser.cc" +#line 1306 "dhcp4_parser.cc" break; - case 157: // allocator: "allocator" $@21 ":" "constant string" -#line 681 "dhcp4_parser.yy" + case 159: // allocator: "allocator" $@21 ":" "constant string" +#line 689 "dhcp4_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); ctx.leave(); } -#line 1306 "dhcp4_parser.cc" +#line 1316 "dhcp4_parser.cc" break; - case 158: // echo_client_id: "echo-client-id" ":" "boolean" -#line 687 "dhcp4_parser.yy" + case 160: // echo_client_id: "echo-client-id" ":" "boolean" +#line 695 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); } -#line 1316 "dhcp4_parser.cc" +#line 1326 "dhcp4_parser.cc" break; - case 159: // match_client_id: "match-client-id" ":" "boolean" -#line 693 "dhcp4_parser.yy" + case 161: // match_client_id: "match-client-id" ":" "boolean" +#line 701 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); } -#line 1326 "dhcp4_parser.cc" +#line 1336 "dhcp4_parser.cc" break; - case 160: // authoritative: "authoritative" ":" "boolean" -#line 699 "dhcp4_parser.yy" + case 162: // authoritative: "authoritative" ":" "boolean" +#line 707 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("authoritative", prf); } -#line 1336 "dhcp4_parser.cc" +#line 1346 "dhcp4_parser.cc" break; - case 161: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 705 "dhcp4_parser.yy" + case 163: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 713 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); } -#line 1346 "dhcp4_parser.cc" +#line 1356 "dhcp4_parser.cc" break; - case 162: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 711 "dhcp4_parser.yy" + case 164: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 719 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); } -#line 1356 "dhcp4_parser.cc" +#line 1366 "dhcp4_parser.cc" break; - case 163: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 717 "dhcp4_parser.yy" + case 165: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 725 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); } -#line 1366 "dhcp4_parser.cc" +#line 1376 "dhcp4_parser.cc" break; - case 164: // $@22: %empty -#line 723 "dhcp4_parser.yy" + case 166: // $@22: %empty +#line 731 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); } -#line 1375 "dhcp4_parser.cc" +#line 1385 "dhcp4_parser.cc" break; - case 165: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 726 "dhcp4_parser.yy" + case 167: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 734 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1384 "dhcp4_parser.cc" +#line 1394 "dhcp4_parser.cc" break; - case 166: // ddns_replace_client_name_value: "when-present" -#line 732 "dhcp4_parser.yy" + case 168: // ddns_replace_client_name_value: "when-present" +#line 740 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 1392 "dhcp4_parser.cc" +#line 1402 "dhcp4_parser.cc" break; - case 167: // ddns_replace_client_name_value: "never" -#line 735 "dhcp4_parser.yy" + case 169: // ddns_replace_client_name_value: "never" +#line 743 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 1400 "dhcp4_parser.cc" +#line 1410 "dhcp4_parser.cc" break; - case 168: // ddns_replace_client_name_value: "always" -#line 738 "dhcp4_parser.yy" + case 170: // ddns_replace_client_name_value: "always" +#line 746 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 1408 "dhcp4_parser.cc" +#line 1418 "dhcp4_parser.cc" break; - case 169: // ddns_replace_client_name_value: "when-not-present" -#line 741 "dhcp4_parser.yy" + case 171: // ddns_replace_client_name_value: "when-not-present" +#line 749 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 1416 "dhcp4_parser.cc" +#line 1426 "dhcp4_parser.cc" break; - case 170: // ddns_replace_client_name_value: "boolean" -#line 744 "dhcp4_parser.yy" + case 172: // ddns_replace_client_name_value: "boolean" +#line 752 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the ddns-replace-client-name are " "no longer supported"); } -#line 1425 "dhcp4_parser.cc" +#line 1435 "dhcp4_parser.cc" break; - case 171: // $@23: %empty -#line 750 "dhcp4_parser.yy" + case 173: // $@23: %empty +#line 758 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1434 "dhcp4_parser.cc" +#line 1444 "dhcp4_parser.cc" break; - case 172: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 753 "dhcp4_parser.yy" + case 174: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 761 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); ctx.leave(); } -#line 1444 "dhcp4_parser.cc" +#line 1454 "dhcp4_parser.cc" break; - case 173: // $@24: %empty -#line 759 "dhcp4_parser.yy" + case 175: // $@24: %empty +#line 767 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1453 "dhcp4_parser.cc" +#line 1463 "dhcp4_parser.cc" break; - case 174: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 762 "dhcp4_parser.yy" + case 176: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 770 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); ctx.leave(); } -#line 1463 "dhcp4_parser.cc" +#line 1473 "dhcp4_parser.cc" break; - case 175: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 768 "dhcp4_parser.yy" + case 177: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 776 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-update-on-renew", b); } -#line 1473 "dhcp4_parser.cc" +#line 1483 "dhcp4_parser.cc" break; - case 176: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 777 "dhcp4_parser.yy" + case 178: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 785 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1483,219 +1493,219 @@ namespace isc { namespace dhcp { : "no-check-with-dhcid")); ctx.stack_.back()->set("ddns-conflict-resolution-mode", mode); } -#line 1487 "dhcp4_parser.cc" +#line 1497 "dhcp4_parser.cc" break; - case 177: // $@25: %empty -#line 787 "dhcp4_parser.yy" + case 179: // $@25: %empty +#line 795 "dhcp4_parser.yy" { ctx.unique("ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE); } -#line 1496 "dhcp4_parser.cc" +#line 1506 "dhcp4_parser.cc" break; - case 178: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value -#line 790 "dhcp4_parser.yy" + case 180: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value +#line 798 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-conflict-resolution-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1505 "dhcp4_parser.cc" +#line 1515 "dhcp4_parser.cc" break; - case 179: // ddns_conflict_resolution_mode_value: "check-with-dhcid" -#line 796 "dhcp4_parser.yy" + case 181: // ddns_conflict_resolution_mode_value: "check-with-dhcid" +#line 804 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1513 "dhcp4_parser.cc" +#line 1523 "dhcp4_parser.cc" break; - case 180: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" -#line 799 "dhcp4_parser.yy" + case 182: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" +#line 807 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1521 "dhcp4_parser.cc" +#line 1531 "dhcp4_parser.cc" break; - case 181: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" -#line 802 "dhcp4_parser.yy" + case 183: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" +#line 810 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-exists-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1529 "dhcp4_parser.cc" +#line 1539 "dhcp4_parser.cc" break; - case 182: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" -#line 805 "dhcp4_parser.yy" + case 184: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" +#line 813 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-without-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1537 "dhcp4_parser.cc" +#line 1547 "dhcp4_parser.cc" break; - case 183: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" -#line 810 "dhcp4_parser.yy" + case 185: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" +#line 818 "dhcp4_parser.yy" { ctx.unique("ddns-ttl-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-percent", ttl); } -#line 1547 "dhcp4_parser.cc" +#line 1557 "dhcp4_parser.cc" break; - case 184: // ddns_ttl: "ddns-ttl" ":" "integer" -#line 816 "dhcp4_parser.yy" + case 186: // ddns_ttl: "ddns-ttl" ":" "integer" +#line 824 "dhcp4_parser.yy" { ctx.unique("ddns-ttl", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl", ttl); } -#line 1557 "dhcp4_parser.cc" +#line 1567 "dhcp4_parser.cc" break; - case 185: // ddns_ttl_min: "ddns-ttl-min" ":" "integer" -#line 822 "dhcp4_parser.yy" + case 187: // ddns_ttl_min: "ddns-ttl-min" ":" "integer" +#line 830 "dhcp4_parser.yy" { ctx.unique("ddns-ttl-min", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-min", ttl); } -#line 1567 "dhcp4_parser.cc" +#line 1577 "dhcp4_parser.cc" break; - case 186: // ddns_ttl_max: "ddns-ttl-mix" ":" "integer" -#line 828 "dhcp4_parser.yy" + case 188: // ddns_ttl_max: "ddns-ttl-mix" ":" "integer" +#line 836 "dhcp4_parser.yy" { ctx.unique("ddns-ttl-max", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-max", ttl); } -#line 1577 "dhcp4_parser.cc" +#line 1587 "dhcp4_parser.cc" break; - case 187: // $@26: %empty -#line 834 "dhcp4_parser.yy" + case 189: // $@26: %empty +#line 842 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1586 "dhcp4_parser.cc" +#line 1596 "dhcp4_parser.cc" break; - case 188: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" -#line 837 "dhcp4_parser.yy" + case 190: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" +#line 845 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1596 "dhcp4_parser.cc" +#line 1606 "dhcp4_parser.cc" break; - case 189: // $@27: %empty -#line 843 "dhcp4_parser.yy" + case 191: // $@27: %empty +#line 851 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1605 "dhcp4_parser.cc" +#line 1615 "dhcp4_parser.cc" break; - case 190: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" -#line 846 "dhcp4_parser.yy" + case 192: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" +#line 854 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1615 "dhcp4_parser.cc" +#line 1625 "dhcp4_parser.cc" break; - case 191: // store_extended_info: "store-extended-info" ":" "boolean" -#line 852 "dhcp4_parser.yy" + case 193: // store_extended_info: "store-extended-info" ":" "boolean" +#line 860 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1625 "dhcp4_parser.cc" +#line 1635 "dhcp4_parser.cc" break; - case 192: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 858 "dhcp4_parser.yy" + case 194: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 866 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1635 "dhcp4_parser.cc" +#line 1645 "dhcp4_parser.cc" break; - case 193: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 864 "dhcp4_parser.yy" + case 195: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 872 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1645 "dhcp4_parser.cc" +#line 1655 "dhcp4_parser.cc" break; - case 194: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 870 "dhcp4_parser.yy" + case 196: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 878 "dhcp4_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("early-global-reservations-lookup", early); } -#line 1655 "dhcp4_parser.cc" +#line 1665 "dhcp4_parser.cc" break; - case 195: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 876 "dhcp4_parser.yy" + case 197: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 884 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1665 "dhcp4_parser.cc" +#line 1675 "dhcp4_parser.cc" break; - case 196: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 882 "dhcp4_parser.yy" + case 198: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 890 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1675 "dhcp4_parser.cc" +#line 1685 "dhcp4_parser.cc" break; - case 197: // offer_lifetime: "offer-lifetime" ":" "integer" -#line 888 "dhcp4_parser.yy" + case 199: // offer_lifetime: "offer-lifetime" ":" "integer" +#line 896 "dhcp4_parser.yy" { ctx.unique("offer-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr offer_lifetime(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("offer-lifetime", offer_lifetime); } -#line 1685 "dhcp4_parser.cc" +#line 1695 "dhcp4_parser.cc" break; - case 198: // stash_agent_options: "stash-agent-options" ":" "boolean" -#line 894 "dhcp4_parser.yy" + case 200: // stash_agent_options: "stash-agent-options" ":" "boolean" +#line 902 "dhcp4_parser.yy" { ctx.unique("stash-agent-options", ctx.loc2pos(yystack_[2].location)); ElementPtr stash(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("stash-agent-options", stash); } -#line 1695 "dhcp4_parser.cc" +#line 1705 "dhcp4_parser.cc" break; - case 199: // $@28: %empty -#line 900 "dhcp4_parser.yy" + case 201: // $@28: %empty +#line 908 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1703,48 +1713,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1707 "dhcp4_parser.cc" +#line 1717 "dhcp4_parser.cc" break; - case 200: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 906 "dhcp4_parser.yy" + case 202: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 914 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1717 "dhcp4_parser.cc" +#line 1727 "dhcp4_parser.cc" break; - case 203: // interfaces_config_params: interfaces_config_params "," -#line 914 "dhcp4_parser.yy" + case 205: // interfaces_config_params: interfaces_config_params "," +#line 922 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1725 "dhcp4_parser.cc" +#line 1735 "dhcp4_parser.cc" break; - case 214: // $@29: %empty -#line 931 "dhcp4_parser.yy" + case 216: // $@29: %empty +#line 939 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1735 "dhcp4_parser.cc" +#line 1745 "dhcp4_parser.cc" break; - case 215: // sub_interfaces4: "{" $@29 interfaces_config_params "}" -#line 935 "dhcp4_parser.yy" + case 217: // sub_interfaces4: "{" $@29 interfaces_config_params "}" +#line 943 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1744 "dhcp4_parser.cc" +#line 1754 "dhcp4_parser.cc" break; - case 216: // $@30: %empty -#line 940 "dhcp4_parser.yy" + case 218: // $@30: %empty +#line 948 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1752,124 +1762,124 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1756 "dhcp4_parser.cc" +#line 1766 "dhcp4_parser.cc" break; - case 217: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 946 "dhcp4_parser.yy" + case 219: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 954 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1765 "dhcp4_parser.cc" +#line 1775 "dhcp4_parser.cc" break; - case 218: // $@31: %empty -#line 951 "dhcp4_parser.yy" + case 220: // $@31: %empty +#line 959 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1774 "dhcp4_parser.cc" +#line 1784 "dhcp4_parser.cc" break; - case 219: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type -#line 954 "dhcp4_parser.yy" + case 221: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type +#line 962 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1783 "dhcp4_parser.cc" +#line 1793 "dhcp4_parser.cc" break; - case 220: // socket_type: "raw" -#line 959 "dhcp4_parser.yy" + case 222: // socket_type: "raw" +#line 967 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1789 "dhcp4_parser.cc" +#line 1799 "dhcp4_parser.cc" break; - case 221: // socket_type: "udp" -#line 960 "dhcp4_parser.yy" + case 223: // socket_type: "udp" +#line 968 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1795 "dhcp4_parser.cc" +#line 1805 "dhcp4_parser.cc" break; - case 222: // $@32: %empty -#line 963 "dhcp4_parser.yy" + case 224: // $@32: %empty +#line 971 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1804 "dhcp4_parser.cc" +#line 1814 "dhcp4_parser.cc" break; - case 223: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value -#line 966 "dhcp4_parser.yy" + case 225: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value +#line 974 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1813 "dhcp4_parser.cc" +#line 1823 "dhcp4_parser.cc" break; - case 224: // outbound_interface_value: "same-as-inbound" -#line 971 "dhcp4_parser.yy" + case 226: // outbound_interface_value: "same-as-inbound" +#line 979 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1821 "dhcp4_parser.cc" +#line 1831 "dhcp4_parser.cc" break; - case 225: // outbound_interface_value: "use-routing" -#line 973 "dhcp4_parser.yy" + case 227: // outbound_interface_value: "use-routing" +#line 981 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1829 "dhcp4_parser.cc" +#line 1839 "dhcp4_parser.cc" break; - case 226: // re_detect: "re-detect" ":" "boolean" -#line 977 "dhcp4_parser.yy" + case 228: // re_detect: "re-detect" ":" "boolean" +#line 985 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1839 "dhcp4_parser.cc" +#line 1849 "dhcp4_parser.cc" break; - case 227: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 983 "dhcp4_parser.yy" + case 229: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" +#line 991 "dhcp4_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-require-all", b); } -#line 1849 "dhcp4_parser.cc" +#line 1859 "dhcp4_parser.cc" break; - case 228: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 989 "dhcp4_parser.yy" + case 230: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" +#line 997 "dhcp4_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-retry-wait-time", n); } -#line 1859 "dhcp4_parser.cc" +#line 1869 "dhcp4_parser.cc" break; - case 229: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 995 "dhcp4_parser.yy" + case 231: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" +#line 1003 "dhcp4_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-max-retries", n); } -#line 1869 "dhcp4_parser.cc" +#line 1879 "dhcp4_parser.cc" break; - case 230: // $@33: %empty -#line 1001 "dhcp4_parser.yy" + case 232: // $@33: %empty +#line 1009 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1877,22 +1887,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1881 "dhcp4_parser.cc" +#line 1891 "dhcp4_parser.cc" break; - case 231: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" -#line 1007 "dhcp4_parser.yy" + case 233: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" +#line 1015 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1892 "dhcp4_parser.cc" +#line 1902 "dhcp4_parser.cc" break; - case 232: // $@34: %empty -#line 1014 "dhcp4_parser.yy" + case 234: // $@34: %empty +#line 1022 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1900,37 +1910,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1904 "dhcp4_parser.cc" +#line 1914 "dhcp4_parser.cc" break; - case 233: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" -#line 1020 "dhcp4_parser.yy" + case 235: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" +#line 1028 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1913 "dhcp4_parser.cc" +#line 1923 "dhcp4_parser.cc" break; - case 236: // sanity_checks_params: sanity_checks_params "," -#line 1027 "dhcp4_parser.yy" + case 238: // sanity_checks_params: sanity_checks_params "," +#line 1035 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1921 "dhcp4_parser.cc" +#line 1931 "dhcp4_parser.cc" break; - case 239: // $@35: %empty -#line 1036 "dhcp4_parser.yy" + case 241: // $@35: %empty +#line 1044 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1930 "dhcp4_parser.cc" +#line 1940 "dhcp4_parser.cc" break; - case 240: // lease_checks: "lease-checks" $@35 ":" "constant string" -#line 1039 "dhcp4_parser.yy" + case 242: // lease_checks: "lease-checks" $@35 ":" "constant string" +#line 1047 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1946,20 +1956,20 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1950 "dhcp4_parser.cc" +#line 1960 "dhcp4_parser.cc" break; - case 241: // $@36: %empty -#line 1055 "dhcp4_parser.yy" + case 243: // $@36: %empty +#line 1063 "dhcp4_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1959 "dhcp4_parser.cc" +#line 1969 "dhcp4_parser.cc" break; - case 242: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" -#line 1058 "dhcp4_parser.yy" + case 244: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" +#line 1066 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1974,11 +1984,11 @@ namespace isc { namespace dhcp { ", supported values are: none, fix, strict, pedantic"); } } -#line 1978 "dhcp4_parser.cc" +#line 1988 "dhcp4_parser.cc" break; - case 243: // $@37: %empty -#line 1073 "dhcp4_parser.yy" + case 245: // $@37: %empty +#line 1081 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1986,22 +1996,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1990 "dhcp4_parser.cc" +#line 2000 "dhcp4_parser.cc" break; - case 244: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" -#line 1079 "dhcp4_parser.yy" + case 246: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" +#line 1087 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2001 "dhcp4_parser.cc" +#line 2011 "dhcp4_parser.cc" break; - case 245: // $@38: %empty -#line 1086 "dhcp4_parser.yy" + case 247: // $@38: %empty +#line 1094 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2009,441 +2019,441 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 2013 "dhcp4_parser.cc" +#line 2023 "dhcp4_parser.cc" break; - case 246: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" -#line 1092 "dhcp4_parser.yy" + case 248: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" +#line 1100 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2022 "dhcp4_parser.cc" +#line 2032 "dhcp4_parser.cc" break; - case 251: // not_empty_database_list: not_empty_database_list "," -#line 1103 "dhcp4_parser.yy" + case 253: // not_empty_database_list: not_empty_database_list "," +#line 1111 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2030 "dhcp4_parser.cc" +#line 2040 "dhcp4_parser.cc" break; - case 252: // $@39: %empty -#line 1108 "dhcp4_parser.yy" + case 254: // $@39: %empty +#line 1116 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2040 "dhcp4_parser.cc" +#line 2050 "dhcp4_parser.cc" break; - case 253: // database: "{" $@39 database_map_params "}" -#line 1112 "dhcp4_parser.yy" + case 255: // database: "{" $@39 database_map_params "}" +#line 1120 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2050 "dhcp4_parser.cc" +#line 2060 "dhcp4_parser.cc" break; - case 256: // database_map_params: database_map_params "," -#line 1120 "dhcp4_parser.yy" + case 258: // database_map_params: database_map_params "," +#line 1128 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2058 "dhcp4_parser.cc" +#line 2068 "dhcp4_parser.cc" break; - case 281: // $@40: %empty -#line 1151 "dhcp4_parser.yy" + case 283: // $@40: %empty +#line 1159 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2067 "dhcp4_parser.cc" +#line 2077 "dhcp4_parser.cc" break; - case 282: // database_type: "type" $@40 ":" "constant string" -#line 1154 "dhcp4_parser.yy" + case 284: // database_type: "type" $@40 ":" "constant string" +#line 1162 "dhcp4_parser.yy" { ElementPtr db_type(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", db_type); ctx.leave(); } -#line 2077 "dhcp4_parser.cc" +#line 2087 "dhcp4_parser.cc" break; - case 283: // $@41: %empty -#line 1160 "dhcp4_parser.yy" + case 285: // $@41: %empty +#line 1168 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2086 "dhcp4_parser.cc" +#line 2096 "dhcp4_parser.cc" break; - case 284: // user: "user" $@41 ":" "constant string" -#line 1163 "dhcp4_parser.yy" + case 286: // user: "user" $@41 ":" "constant string" +#line 1171 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 2096 "dhcp4_parser.cc" +#line 2106 "dhcp4_parser.cc" break; - case 285: // $@42: %empty -#line 1169 "dhcp4_parser.yy" + case 287: // $@42: %empty +#line 1177 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2105 "dhcp4_parser.cc" +#line 2115 "dhcp4_parser.cc" break; - case 286: // password: "password" $@42 ":" "constant string" -#line 1172 "dhcp4_parser.yy" + case 288: // password: "password" $@42 ":" "constant string" +#line 1180 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 2115 "dhcp4_parser.cc" +#line 2125 "dhcp4_parser.cc" break; - case 287: // $@43: %empty -#line 1178 "dhcp4_parser.yy" + case 289: // $@43: %empty +#line 1186 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2124 "dhcp4_parser.cc" +#line 2134 "dhcp4_parser.cc" break; - case 288: // host: "host" $@43 ":" "constant string" -#line 1181 "dhcp4_parser.yy" + case 290: // host: "host" $@43 ":" "constant string" +#line 1189 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 2134 "dhcp4_parser.cc" +#line 2144 "dhcp4_parser.cc" break; - case 289: // port: "port" ":" "integer" -#line 1187 "dhcp4_parser.yy" + case 291: // port: "port" ":" "integer" +#line 1195 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 2144 "dhcp4_parser.cc" +#line 2154 "dhcp4_parser.cc" break; - case 290: // $@44: %empty -#line 1193 "dhcp4_parser.yy" + case 292: // $@44: %empty +#line 1201 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2153 "dhcp4_parser.cc" +#line 2163 "dhcp4_parser.cc" break; - case 291: // name: "name" $@44 ":" "constant string" -#line 1196 "dhcp4_parser.yy" + case 293: // name: "name" $@44 ":" "constant string" +#line 1204 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 2163 "dhcp4_parser.cc" +#line 2173 "dhcp4_parser.cc" break; - case 292: // persist: "persist" ":" "boolean" -#line 1202 "dhcp4_parser.yy" + case 294: // persist: "persist" ":" "boolean" +#line 1210 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 2173 "dhcp4_parser.cc" +#line 2183 "dhcp4_parser.cc" break; - case 293: // lfc_interval: "lfc-interval" ":" "integer" -#line 1208 "dhcp4_parser.yy" + case 295: // lfc_interval: "lfc-interval" ":" "integer" +#line 1216 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 2183 "dhcp4_parser.cc" +#line 2193 "dhcp4_parser.cc" break; - case 294: // readonly: "readonly" ":" "boolean" -#line 1214 "dhcp4_parser.yy" + case 296: // readonly: "readonly" ":" "boolean" +#line 1222 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 2193 "dhcp4_parser.cc" +#line 2203 "dhcp4_parser.cc" break; - case 295: // connect_timeout: "connect-timeout" ":" "integer" -#line 1220 "dhcp4_parser.yy" + case 297: // connect_timeout: "connect-timeout" ":" "integer" +#line 1228 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 2203 "dhcp4_parser.cc" +#line 2213 "dhcp4_parser.cc" break; - case 296: // read_timeout: "read-timeout" ":" "integer" -#line 1226 "dhcp4_parser.yy" + case 298: // read_timeout: "read-timeout" ":" "integer" +#line 1234 "dhcp4_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("read-timeout", n); } -#line 2213 "dhcp4_parser.cc" +#line 2223 "dhcp4_parser.cc" break; - case 297: // write_timeout: "write-timeout" ":" "integer" -#line 1232 "dhcp4_parser.yy" + case 299: // write_timeout: "write-timeout" ":" "integer" +#line 1240 "dhcp4_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("write-timeout", n); } -#line 2223 "dhcp4_parser.cc" +#line 2233 "dhcp4_parser.cc" break; - case 298: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1238 "dhcp4_parser.yy" + case 300: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" +#line 1246 "dhcp4_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-user-timeout", n); } -#line 2233 "dhcp4_parser.cc" +#line 2243 "dhcp4_parser.cc" break; - case 299: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1244 "dhcp4_parser.yy" + case 301: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1252 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2243 "dhcp4_parser.cc" +#line 2253 "dhcp4_parser.cc" break; - case 300: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1250 "dhcp4_parser.yy" + case 302: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1258 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2253 "dhcp4_parser.cc" +#line 2263 "dhcp4_parser.cc" break; - case 301: // $@45: %empty -#line 1256 "dhcp4_parser.yy" + case 303: // $@45: %empty +#line 1264 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2262 "dhcp4_parser.cc" +#line 2272 "dhcp4_parser.cc" break; - case 302: // on_fail: "on-fail" $@45 ":" on_fail_mode -#line 1259 "dhcp4_parser.yy" + case 304: // on_fail: "on-fail" $@45 ":" on_fail_mode +#line 1267 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2271 "dhcp4_parser.cc" +#line 2281 "dhcp4_parser.cc" break; - case 303: // on_fail_mode: "stop-retry-exit" -#line 1264 "dhcp4_parser.yy" + case 305: // on_fail_mode: "stop-retry-exit" +#line 1272 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2277 "dhcp4_parser.cc" +#line 2287 "dhcp4_parser.cc" break; - case 304: // on_fail_mode: "serve-retry-exit" -#line 1265 "dhcp4_parser.yy" + case 306: // on_fail_mode: "serve-retry-exit" +#line 1273 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2283 "dhcp4_parser.cc" +#line 2293 "dhcp4_parser.cc" break; - case 305: // on_fail_mode: "serve-retry-continue" -#line 1266 "dhcp4_parser.yy" + case 307: // on_fail_mode: "serve-retry-continue" +#line 1274 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2289 "dhcp4_parser.cc" +#line 2299 "dhcp4_parser.cc" break; - case 306: // retry_on_startup: "retry-on-startup" ":" "boolean" -#line 1269 "dhcp4_parser.yy" + case 308: // retry_on_startup: "retry-on-startup" ":" "boolean" +#line 1277 "dhcp4_parser.yy" { ctx.unique("retry-on-startup", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("retry-on-startup", n); } -#line 2299 "dhcp4_parser.cc" +#line 2309 "dhcp4_parser.cc" break; - case 307: // max_row_errors: "max-row-errors" ":" "integer" -#line 1275 "dhcp4_parser.yy" + case 309: // max_row_errors: "max-row-errors" ":" "integer" +#line 1283 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2309 "dhcp4_parser.cc" +#line 2319 "dhcp4_parser.cc" break; - case 308: // $@46: %empty -#line 1281 "dhcp4_parser.yy" + case 310: // $@46: %empty +#line 1289 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2318 "dhcp4_parser.cc" +#line 2328 "dhcp4_parser.cc" break; - case 309: // trust_anchor: "trust-anchor" $@46 ":" "constant string" -#line 1284 "dhcp4_parser.yy" + case 311: // trust_anchor: "trust-anchor" $@46 ":" "constant string" +#line 1292 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2328 "dhcp4_parser.cc" +#line 2338 "dhcp4_parser.cc" break; - case 310: // $@47: %empty -#line 1290 "dhcp4_parser.yy" + case 312: // $@47: %empty +#line 1298 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2337 "dhcp4_parser.cc" +#line 2347 "dhcp4_parser.cc" break; - case 311: // cert_file: "cert-file" $@47 ":" "constant string" -#line 1293 "dhcp4_parser.yy" + case 313: // cert_file: "cert-file" $@47 ":" "constant string" +#line 1301 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2347 "dhcp4_parser.cc" +#line 2357 "dhcp4_parser.cc" break; - case 312: // $@48: %empty -#line 1299 "dhcp4_parser.yy" + case 314: // $@48: %empty +#line 1307 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2356 "dhcp4_parser.cc" +#line 2366 "dhcp4_parser.cc" break; - case 313: // key_file: "key-file" $@48 ":" "constant string" -#line 1302 "dhcp4_parser.yy" + case 315: // key_file: "key-file" $@48 ":" "constant string" +#line 1310 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2366 "dhcp4_parser.cc" +#line 2376 "dhcp4_parser.cc" break; - case 314: // $@49: %empty -#line 1308 "dhcp4_parser.yy" + case 316: // $@49: %empty +#line 1316 "dhcp4_parser.yy" { ctx.unique("ssl-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.SSL_MODE); } -#line 2375 "dhcp4_parser.cc" +#line 2385 "dhcp4_parser.cc" break; - case 315: // ssl_mode: "ssl-mode" $@49 ":" ssl_mode -#line 1311 "dhcp4_parser.yy" + case 317: // ssl_mode: "ssl-mode" $@49 ":" ssl_mode +#line 1319 "dhcp4_parser.yy" { ctx.stack_.back()->set("ssl-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2384 "dhcp4_parser.cc" +#line 2394 "dhcp4_parser.cc" break; - case 316: // ssl_mode: "disable" -#line 1316 "dhcp4_parser.yy" + case 318: // ssl_mode: "disable" +#line 1324 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disable", ctx.loc2pos(yystack_[0].location))); } -#line 2392 "dhcp4_parser.cc" +#line 2402 "dhcp4_parser.cc" break; - case 317: // ssl_mode: "prefer" -#line 1319 "dhcp4_parser.yy" + case 319: // ssl_mode: "prefer" +#line 1327 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("prefer", ctx.loc2pos(yystack_[0].location))); } -#line 2400 "dhcp4_parser.cc" +#line 2410 "dhcp4_parser.cc" break; - case 318: // ssl_mode: "require" -#line 1322 "dhcp4_parser.yy" + case 320: // ssl_mode: "require" +#line 1330 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("require", ctx.loc2pos(yystack_[0].location))); } -#line 2408 "dhcp4_parser.cc" +#line 2418 "dhcp4_parser.cc" break; - case 319: // ssl_mode: "verify-ca" -#line 1325 "dhcp4_parser.yy" + case 321: // ssl_mode: "verify-ca" +#line 1333 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("verify-ca", ctx.loc2pos(yystack_[0].location))); } -#line 2416 "dhcp4_parser.cc" +#line 2426 "dhcp4_parser.cc" break; - case 320: // ssl_mode: "verify-full" -#line 1328 "dhcp4_parser.yy" + case 322: // ssl_mode: "verify-full" +#line 1336 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("verify-full", ctx.loc2pos(yystack_[0].location))); } -#line 2424 "dhcp4_parser.cc" +#line 2434 "dhcp4_parser.cc" break; - case 321: // $@50: %empty -#line 1333 "dhcp4_parser.yy" + case 323: // $@50: %empty +#line 1341 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2433 "dhcp4_parser.cc" +#line 2443 "dhcp4_parser.cc" break; - case 322: // cipher_list: "cipher-list" $@50 ":" "constant string" -#line 1336 "dhcp4_parser.yy" + case 324: // cipher_list: "cipher-list" $@50 ":" "constant string" +#line 1344 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2443 "dhcp4_parser.cc" +#line 2453 "dhcp4_parser.cc" break; - case 323: // $@51: %empty -#line 1342 "dhcp4_parser.yy" + case 325: // $@51: %empty +#line 1350 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2451,73 +2461,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2455 "dhcp4_parser.cc" +#line 2465 "dhcp4_parser.cc" break; - case 324: // host_reservation_identifiers: "host-reservation-identifiers" $@51 ":" "[" host_reservation_identifiers_list "]" -#line 1348 "dhcp4_parser.yy" + case 326: // host_reservation_identifiers: "host-reservation-identifiers" $@51 ":" "[" host_reservation_identifiers_list "]" +#line 1356 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2464 "dhcp4_parser.cc" +#line 2474 "dhcp4_parser.cc" break; - case 327: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1355 "dhcp4_parser.yy" + case 329: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1363 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2472 "dhcp4_parser.cc" +#line 2482 "dhcp4_parser.cc" break; - case 333: // duid_id: "duid" -#line 1367 "dhcp4_parser.yy" + case 335: // duid_id: "duid" +#line 1375 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2481 "dhcp4_parser.cc" +#line 2491 "dhcp4_parser.cc" break; - case 334: // hw_address_id: "hw-address" -#line 1372 "dhcp4_parser.yy" + case 336: // hw_address_id: "hw-address" +#line 1380 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2490 "dhcp4_parser.cc" +#line 2500 "dhcp4_parser.cc" break; - case 335: // circuit_id: "circuit-id" -#line 1377 "dhcp4_parser.yy" + case 337: // circuit_id: "circuit-id" +#line 1385 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2499 "dhcp4_parser.cc" +#line 2509 "dhcp4_parser.cc" break; - case 336: // client_id: "client-id" -#line 1382 "dhcp4_parser.yy" + case 338: // client_id: "client-id" +#line 1390 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2508 "dhcp4_parser.cc" +#line 2518 "dhcp4_parser.cc" break; - case 337: // flex_id: "flex-id" -#line 1387 "dhcp4_parser.yy" + case 339: // flex_id: "flex-id" +#line 1395 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2517 "dhcp4_parser.cc" +#line 2527 "dhcp4_parser.cc" break; - case 338: // $@52: %empty -#line 1394 "dhcp4_parser.yy" + case 340: // $@52: %empty +#line 1402 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2525,60 +2535,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2529 "dhcp4_parser.cc" +#line 2539 "dhcp4_parser.cc" break; - case 339: // dhcp_multi_threading: "multi-threading" $@52 ":" "{" multi_threading_params "}" -#line 1400 "dhcp4_parser.yy" + case 341: // dhcp_multi_threading: "multi-threading" $@52 ":" "{" multi_threading_params "}" +#line 1408 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2540 "dhcp4_parser.cc" +#line 2550 "dhcp4_parser.cc" break; - case 342: // multi_threading_params: multi_threading_params "," -#line 1409 "dhcp4_parser.yy" + case 344: // multi_threading_params: multi_threading_params "," +#line 1417 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2548 "dhcp4_parser.cc" +#line 2558 "dhcp4_parser.cc" break; - case 349: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1422 "dhcp4_parser.yy" + case 351: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1430 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2558 "dhcp4_parser.cc" +#line 2568 "dhcp4_parser.cc" break; - case 350: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1428 "dhcp4_parser.yy" + case 352: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1436 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2568 "dhcp4_parser.cc" +#line 2578 "dhcp4_parser.cc" break; - case 351: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1434 "dhcp4_parser.yy" + case 353: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1442 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2578 "dhcp4_parser.cc" +#line 2588 "dhcp4_parser.cc" break; - case 352: // $@53: %empty -#line 1440 "dhcp4_parser.yy" + case 354: // $@53: %empty +#line 1448 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2586,113 +2596,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2590 "dhcp4_parser.cc" +#line 2600 "dhcp4_parser.cc" break; - case 353: // hooks_libraries: "hooks-libraries" $@53 ":" "[" hooks_libraries_list "]" -#line 1446 "dhcp4_parser.yy" + case 355: // hooks_libraries: "hooks-libraries" $@53 ":" "[" hooks_libraries_list "]" +#line 1454 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2599 "dhcp4_parser.cc" +#line 2609 "dhcp4_parser.cc" break; - case 358: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1457 "dhcp4_parser.yy" + case 360: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1465 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2607 "dhcp4_parser.cc" +#line 2617 "dhcp4_parser.cc" break; - case 359: // $@54: %empty -#line 1462 "dhcp4_parser.yy" + case 361: // $@54: %empty +#line 1470 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2617 "dhcp4_parser.cc" +#line 2627 "dhcp4_parser.cc" break; - case 360: // hooks_library: "{" $@54 hooks_params "}" -#line 1466 "dhcp4_parser.yy" + case 362: // hooks_library: "{" $@54 hooks_params "}" +#line 1474 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2627 "dhcp4_parser.cc" +#line 2637 "dhcp4_parser.cc" break; - case 361: // $@55: %empty -#line 1472 "dhcp4_parser.yy" + case 363: // $@55: %empty +#line 1480 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2637 "dhcp4_parser.cc" +#line 2647 "dhcp4_parser.cc" break; - case 362: // sub_hooks_library: "{" $@55 hooks_params "}" -#line 1476 "dhcp4_parser.yy" + case 364: // sub_hooks_library: "{" $@55 hooks_params "}" +#line 1484 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2647 "dhcp4_parser.cc" +#line 2657 "dhcp4_parser.cc" break; - case 365: // hooks_params: hooks_params "," -#line 1484 "dhcp4_parser.yy" + case 367: // hooks_params: hooks_params "," +#line 1492 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2655 "dhcp4_parser.cc" +#line 2665 "dhcp4_parser.cc" break; - case 369: // $@56: %empty -#line 1494 "dhcp4_parser.yy" + case 371: // $@56: %empty +#line 1502 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2664 "dhcp4_parser.cc" +#line 2674 "dhcp4_parser.cc" break; - case 370: // library: "library" $@56 ":" "constant string" -#line 1497 "dhcp4_parser.yy" + case 372: // library: "library" $@56 ":" "constant string" +#line 1505 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2674 "dhcp4_parser.cc" +#line 2684 "dhcp4_parser.cc" break; - case 371: // $@57: %empty -#line 1503 "dhcp4_parser.yy" + case 373: // $@57: %empty +#line 1511 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2683 "dhcp4_parser.cc" +#line 2693 "dhcp4_parser.cc" break; - case 372: // parameters: "parameters" $@57 ":" map_value -#line 1506 "dhcp4_parser.yy" + case 374: // parameters: "parameters" $@57 ":" map_value +#line 1514 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2692 "dhcp4_parser.cc" +#line 2702 "dhcp4_parser.cc" break; - case 373: // $@58: %empty -#line 1512 "dhcp4_parser.yy" + case 375: // $@58: %empty +#line 1520 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2700,89 +2710,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2704 "dhcp4_parser.cc" +#line 2714 "dhcp4_parser.cc" break; - case 374: // expired_leases_processing: "expired-leases-processing" $@58 ":" "{" expired_leases_params "}" -#line 1518 "dhcp4_parser.yy" + case 376: // expired_leases_processing: "expired-leases-processing" $@58 ":" "{" expired_leases_params "}" +#line 1526 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2714 "dhcp4_parser.cc" +#line 2724 "dhcp4_parser.cc" break; - case 377: // expired_leases_params: expired_leases_params "," -#line 1526 "dhcp4_parser.yy" + case 379: // expired_leases_params: expired_leases_params "," +#line 1534 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2722 "dhcp4_parser.cc" +#line 2732 "dhcp4_parser.cc" break; - case 384: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1539 "dhcp4_parser.yy" + case 386: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1547 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2732 "dhcp4_parser.cc" +#line 2742 "dhcp4_parser.cc" break; - case 385: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1545 "dhcp4_parser.yy" + case 387: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1553 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2742 "dhcp4_parser.cc" +#line 2752 "dhcp4_parser.cc" break; - case 386: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1551 "dhcp4_parser.yy" + case 388: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1559 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2752 "dhcp4_parser.cc" +#line 2762 "dhcp4_parser.cc" break; - case 387: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1557 "dhcp4_parser.yy" + case 389: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1565 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2762 "dhcp4_parser.cc" +#line 2772 "dhcp4_parser.cc" break; - case 388: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1563 "dhcp4_parser.yy" + case 390: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1571 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2772 "dhcp4_parser.cc" +#line 2782 "dhcp4_parser.cc" break; - case 389: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1569 "dhcp4_parser.yy" + case 391: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1577 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2782 "dhcp4_parser.cc" +#line 2792 "dhcp4_parser.cc" break; - case 390: // $@59: %empty -#line 1578 "dhcp4_parser.yy" + case 392: // $@59: %empty +#line 1586 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2790,38 +2800,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2794 "dhcp4_parser.cc" +#line 2804 "dhcp4_parser.cc" break; - case 391: // subnet4_list: "subnet4" $@59 ":" "[" subnet4_list_content "]" -#line 1584 "dhcp4_parser.yy" + case 393: // subnet4_list: "subnet4" $@59 ":" "[" subnet4_list_content "]" +#line 1592 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2803 "dhcp4_parser.cc" +#line 2813 "dhcp4_parser.cc" break; - case 396: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1598 "dhcp4_parser.yy" + case 398: // not_empty_subnet4_list: not_empty_subnet4_list "," +#line 1606 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2811 "dhcp4_parser.cc" +#line 2821 "dhcp4_parser.cc" break; - case 397: // $@60: %empty -#line 1607 "dhcp4_parser.yy" + case 399: // $@60: %empty +#line 1615 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2821 "dhcp4_parser.cc" +#line 2831 "dhcp4_parser.cc" break; - case 398: // subnet4: "{" $@60 subnet4_params "}" -#line 1611 "dhcp4_parser.yy" + case 400: // subnet4: "{" $@60 subnet4_params "}" +#line 1619 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2843,153 +2853,153 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2847 "dhcp4_parser.cc" +#line 2857 "dhcp4_parser.cc" break; - case 399: // $@61: %empty -#line 1633 "dhcp4_parser.yy" + case 401: // $@61: %empty +#line 1641 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2857 "dhcp4_parser.cc" +#line 2867 "dhcp4_parser.cc" break; - case 400: // sub_subnet4: "{" $@61 subnet4_params "}" -#line 1637 "dhcp4_parser.yy" + case 402: // sub_subnet4: "{" $@61 subnet4_params "}" +#line 1645 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2867 "dhcp4_parser.cc" +#line 2877 "dhcp4_parser.cc" break; - case 403: // subnet4_params: subnet4_params "," -#line 1646 "dhcp4_parser.yy" + case 405: // subnet4_params: subnet4_params "," +#line 1654 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2875 "dhcp4_parser.cc" +#line 2885 "dhcp4_parser.cc" break; - case 457: // $@62: %empty -#line 1707 "dhcp4_parser.yy" + case 460: // $@62: %empty +#line 1716 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2884 "dhcp4_parser.cc" +#line 2894 "dhcp4_parser.cc" break; - case 458: // subnet: "subnet" $@62 ":" "constant string" -#line 1710 "dhcp4_parser.yy" + case 461: // subnet: "subnet" $@62 ":" "constant string" +#line 1719 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2894 "dhcp4_parser.cc" +#line 2904 "dhcp4_parser.cc" break; - case 459: // $@63: %empty -#line 1716 "dhcp4_parser.yy" + case 462: // $@63: %empty +#line 1725 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2903 "dhcp4_parser.cc" +#line 2913 "dhcp4_parser.cc" break; - case 460: // subnet_4o6_interface: "4o6-interface" $@63 ":" "constant string" -#line 1719 "dhcp4_parser.yy" + case 463: // subnet_4o6_interface: "4o6-interface" $@63 ":" "constant string" +#line 1728 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); ctx.leave(); } -#line 2913 "dhcp4_parser.cc" +#line 2923 "dhcp4_parser.cc" break; - case 461: // $@64: %empty -#line 1725 "dhcp4_parser.yy" + case 464: // $@64: %empty +#line 1734 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2922 "dhcp4_parser.cc" +#line 2932 "dhcp4_parser.cc" break; - case 462: // subnet_4o6_interface_id: "4o6-interface-id" $@64 ":" "constant string" -#line 1728 "dhcp4_parser.yy" + case 465: // subnet_4o6_interface_id: "4o6-interface-id" $@64 ":" "constant string" +#line 1737 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); ctx.leave(); } -#line 2932 "dhcp4_parser.cc" +#line 2942 "dhcp4_parser.cc" break; - case 463: // $@65: %empty -#line 1734 "dhcp4_parser.yy" + case 466: // $@65: %empty +#line 1743 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2941 "dhcp4_parser.cc" +#line 2951 "dhcp4_parser.cc" break; - case 464: // subnet_4o6_subnet: "4o6-subnet" $@65 ":" "constant string" -#line 1737 "dhcp4_parser.yy" + case 467: // subnet_4o6_subnet: "4o6-subnet" $@65 ":" "constant string" +#line 1746 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); ctx.leave(); } -#line 2951 "dhcp4_parser.cc" +#line 2961 "dhcp4_parser.cc" break; - case 465: // $@66: %empty -#line 1743 "dhcp4_parser.yy" + case 468: // $@66: %empty +#line 1752 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2960 "dhcp4_parser.cc" +#line 2970 "dhcp4_parser.cc" break; - case 466: // interface: "interface" $@66 ":" "constant string" -#line 1746 "dhcp4_parser.yy" + case 469: // interface: "interface" $@66 ":" "constant string" +#line 1755 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2970 "dhcp4_parser.cc" +#line 2980 "dhcp4_parser.cc" break; - case 467: // $@67: %empty -#line 1752 "dhcp4_parser.yy" + case 470: // $@67: %empty +#line 1761 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2979 "dhcp4_parser.cc" +#line 2989 "dhcp4_parser.cc" break; - case 468: // client_class: "client-class" $@67 ":" "constant string" -#line 1755 "dhcp4_parser.yy" + case 471: // client_class: "client-class" $@67 ":" "constant string" +#line 1764 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2989 "dhcp4_parser.cc" +#line 2999 "dhcp4_parser.cc" break; - case 469: // $@68: %empty -#line 1762 "dhcp4_parser.yy" + case 472: // $@68: %empty +#line 1771 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2997,20 +3007,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3001 "dhcp4_parser.cc" +#line 3011 "dhcp4_parser.cc" break; - case 470: // network_client_classes: "client-classes" $@68 ":" list_strings -#line 1768 "dhcp4_parser.yy" + case 473: // network_client_classes: "client-classes" $@68 ":" list_strings +#line 1777 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3010 "dhcp4_parser.cc" +#line 3020 "dhcp4_parser.cc" break; - case 471: // $@69: %empty -#line 1774 "dhcp4_parser.yy" + case 474: // $@69: %empty +#line 1783 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3018,20 +3028,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3022 "dhcp4_parser.cc" +#line 3032 "dhcp4_parser.cc" break; - case 472: // require_client_classes: "require-client-classes" $@69 ":" list_strings -#line 1780 "dhcp4_parser.yy" + case 475: // require_client_classes: "require-client-classes" $@69 ":" list_strings +#line 1789 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3031 "dhcp4_parser.cc" +#line 3041 "dhcp4_parser.cc" break; - case 473: // $@70: %empty -#line 1785 "dhcp4_parser.yy" + case 476: // $@70: %empty +#line 1794 "dhcp4_parser.yy" { ctx.unique("evaluate-additional-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3039,60 +3049,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3043 "dhcp4_parser.cc" +#line 3053 "dhcp4_parser.cc" break; - case 474: // evaluate_additional_classes: "evaluate-additional-classes" $@70 ":" list_strings -#line 1791 "dhcp4_parser.yy" + case 477: // evaluate_additional_classes: "evaluate-additional-classes" $@70 ":" list_strings +#line 1800 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3052 "dhcp4_parser.cc" +#line 3062 "dhcp4_parser.cc" break; - case 475: // reservations_global: "reservations-global" ":" "boolean" -#line 1796 "dhcp4_parser.yy" + case 478: // reservations_global: "reservations-global" ":" "boolean" +#line 1805 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 3062 "dhcp4_parser.cc" +#line 3072 "dhcp4_parser.cc" break; - case 476: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1802 "dhcp4_parser.yy" + case 479: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1811 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 3072 "dhcp4_parser.cc" +#line 3082 "dhcp4_parser.cc" break; - case 477: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1808 "dhcp4_parser.yy" + case 480: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1817 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 3082 "dhcp4_parser.cc" +#line 3092 "dhcp4_parser.cc" break; - case 478: // id: "id" ":" "integer" -#line 1814 "dhcp4_parser.yy" + case 481: // id: "id" ":" "integer" +#line 1823 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 3092 "dhcp4_parser.cc" +#line 3102 "dhcp4_parser.cc" break; - case 479: // $@71: %empty -#line 1822 "dhcp4_parser.yy" + case 482: // $@71: %empty +#line 1831 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3100,54 +3110,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 3104 "dhcp4_parser.cc" +#line 3114 "dhcp4_parser.cc" break; - case 480: // shared_networks: "shared-networks" $@71 ":" "[" shared_networks_content "]" -#line 1828 "dhcp4_parser.yy" + case 483: // shared_networks: "shared-networks" $@71 ":" "[" shared_networks_content "]" +#line 1837 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3113 "dhcp4_parser.cc" +#line 3123 "dhcp4_parser.cc" break; - case 485: // shared_networks_list: shared_networks_list "," -#line 1841 "dhcp4_parser.yy" + case 488: // shared_networks_list: shared_networks_list "," +#line 1850 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3121 "dhcp4_parser.cc" +#line 3131 "dhcp4_parser.cc" break; - case 486: // $@72: %empty -#line 1846 "dhcp4_parser.yy" + case 489: // $@72: %empty +#line 1855 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3131 "dhcp4_parser.cc" +#line 3141 "dhcp4_parser.cc" break; - case 487: // shared_network: "{" $@72 shared_network_params "}" -#line 1850 "dhcp4_parser.yy" + case 490: // shared_network: "{" $@72 shared_network_params "}" +#line 1859 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3139 "dhcp4_parser.cc" +#line 3149 "dhcp4_parser.cc" break; - case 490: // shared_network_params: shared_network_params "," -#line 1856 "dhcp4_parser.yy" + case 493: // shared_network_params: shared_network_params "," +#line 1865 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3147 "dhcp4_parser.cc" +#line 3157 "dhcp4_parser.cc" break; - case 539: // $@73: %empty -#line 1915 "dhcp4_parser.yy" + case 543: // $@73: %empty +#line 1925 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3155,55 +3165,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 3159 "dhcp4_parser.cc" +#line 3169 "dhcp4_parser.cc" break; - case 540: // option_def_list: "option-def" $@73 ":" "[" option_def_list_content "]" -#line 1921 "dhcp4_parser.yy" + case 544: // option_def_list: "option-def" $@73 ":" "[" option_def_list_content "]" +#line 1931 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3168 "dhcp4_parser.cc" +#line 3178 "dhcp4_parser.cc" break; - case 541: // $@74: %empty -#line 1929 "dhcp4_parser.yy" + case 545: // $@74: %empty +#line 1939 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3177 "dhcp4_parser.cc" +#line 3187 "dhcp4_parser.cc" break; - case 542: // sub_option_def_list: "{" $@74 option_def_list "}" -#line 1932 "dhcp4_parser.yy" + case 546: // sub_option_def_list: "{" $@74 option_def_list "}" +#line 1942 "dhcp4_parser.yy" { // parsing completed } -#line 3185 "dhcp4_parser.cc" +#line 3195 "dhcp4_parser.cc" break; - case 547: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1944 "dhcp4_parser.yy" + case 551: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1954 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3193 "dhcp4_parser.cc" +#line 3203 "dhcp4_parser.cc" break; - case 548: // $@75: %empty -#line 1951 "dhcp4_parser.yy" + case 552: // $@75: %empty +#line 1961 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3203 "dhcp4_parser.cc" +#line 3213 "dhcp4_parser.cc" break; - case 549: // option_def_entry: "{" $@75 option_def_params "}" -#line 1955 "dhcp4_parser.yy" + case 553: // option_def_entry: "{" $@75 option_def_params "}" +#line 1965 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3211,21 +3221,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3215 "dhcp4_parser.cc" +#line 3225 "dhcp4_parser.cc" break; - case 550: // $@76: %empty -#line 1966 "dhcp4_parser.yy" + case 554: // $@76: %empty +#line 1976 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3225 "dhcp4_parser.cc" +#line 3235 "dhcp4_parser.cc" break; - case 551: // sub_option_def: "{" $@76 option_def_params "}" -#line 1970 "dhcp4_parser.yy" + case 555: // sub_option_def: "{" $@76 option_def_params "}" +#line 1980 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3233,115 +3243,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3237 "dhcp4_parser.cc" +#line 3247 "dhcp4_parser.cc" break; - case 556: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1986 "dhcp4_parser.yy" + case 560: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1996 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3245 "dhcp4_parser.cc" +#line 3255 "dhcp4_parser.cc" break; - case 568: // code: "code" ":" "integer" -#line 2005 "dhcp4_parser.yy" + case 572: // code: "code" ":" "integer" +#line 2015 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3255 "dhcp4_parser.cc" +#line 3265 "dhcp4_parser.cc" break; - case 570: // $@77: %empty -#line 2013 "dhcp4_parser.yy" + case 574: // $@77: %empty +#line 2023 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3264 "dhcp4_parser.cc" +#line 3274 "dhcp4_parser.cc" break; - case 571: // option_def_type: "type" $@77 ":" "constant string" -#line 2016 "dhcp4_parser.yy" + case 575: // option_def_type: "type" $@77 ":" "constant string" +#line 2026 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3274 "dhcp4_parser.cc" +#line 3284 "dhcp4_parser.cc" break; - case 572: // $@78: %empty -#line 2022 "dhcp4_parser.yy" + case 576: // $@78: %empty +#line 2032 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3283 "dhcp4_parser.cc" +#line 3293 "dhcp4_parser.cc" break; - case 573: // option_def_record_types: "record-types" $@78 ":" "constant string" -#line 2025 "dhcp4_parser.yy" + case 577: // option_def_record_types: "record-types" $@78 ":" "constant string" +#line 2035 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 3293 "dhcp4_parser.cc" +#line 3303 "dhcp4_parser.cc" break; - case 574: // $@79: %empty -#line 2031 "dhcp4_parser.yy" + case 578: // $@79: %empty +#line 2041 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3302 "dhcp4_parser.cc" +#line 3312 "dhcp4_parser.cc" break; - case 575: // space: "space" $@79 ":" "constant string" -#line 2034 "dhcp4_parser.yy" + case 579: // space: "space" $@79 ":" "constant string" +#line 2044 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3312 "dhcp4_parser.cc" +#line 3322 "dhcp4_parser.cc" break; - case 577: // $@80: %empty -#line 2042 "dhcp4_parser.yy" + case 581: // $@80: %empty +#line 2052 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3321 "dhcp4_parser.cc" +#line 3331 "dhcp4_parser.cc" break; - case 578: // option_def_encapsulate: "encapsulate" $@80 ":" "constant string" -#line 2045 "dhcp4_parser.yy" + case 582: // option_def_encapsulate: "encapsulate" $@80 ":" "constant string" +#line 2055 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3331 "dhcp4_parser.cc" +#line 3341 "dhcp4_parser.cc" break; - case 579: // option_def_array: "array" ":" "boolean" -#line 2051 "dhcp4_parser.yy" + case 583: // option_def_array: "array" ":" "boolean" +#line 2061 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3341 "dhcp4_parser.cc" +#line 3351 "dhcp4_parser.cc" break; - case 580: // $@81: %empty -#line 2061 "dhcp4_parser.yy" + case 584: // $@81: %empty +#line 2071 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3349,123 +3359,123 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3353 "dhcp4_parser.cc" +#line 3363 "dhcp4_parser.cc" break; - case 581: // option_data_list: "option-data" $@81 ":" "[" option_data_list_content "]" -#line 2067 "dhcp4_parser.yy" + case 585: // option_data_list: "option-data" $@81 ":" "[" option_data_list_content "]" +#line 2077 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3362 "dhcp4_parser.cc" +#line 3372 "dhcp4_parser.cc" break; - case 586: // not_empty_option_data_list: not_empty_option_data_list "," -#line 2082 "dhcp4_parser.yy" + case 590: // not_empty_option_data_list: not_empty_option_data_list "," +#line 2092 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3370 "dhcp4_parser.cc" +#line 3380 "dhcp4_parser.cc" break; - case 587: // $@82: %empty -#line 2089 "dhcp4_parser.yy" + case 591: // $@82: %empty +#line 2099 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3380 "dhcp4_parser.cc" +#line 3390 "dhcp4_parser.cc" break; - case 588: // option_data_entry: "{" $@82 option_data_params "}" -#line 2093 "dhcp4_parser.yy" + case 592: // option_data_entry: "{" $@82 option_data_params "}" +#line 2103 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3389 "dhcp4_parser.cc" +#line 3399 "dhcp4_parser.cc" break; - case 589: // $@83: %empty -#line 2101 "dhcp4_parser.yy" + case 593: // $@83: %empty +#line 2111 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3399 "dhcp4_parser.cc" +#line 3409 "dhcp4_parser.cc" break; - case 590: // sub_option_data: "{" $@83 option_data_params "}" -#line 2105 "dhcp4_parser.yy" + case 594: // sub_option_data: "{" $@83 option_data_params "}" +#line 2115 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3408 "dhcp4_parser.cc" +#line 3418 "dhcp4_parser.cc" break; - case 595: // not_empty_option_data_params: not_empty_option_data_params "," -#line 2121 "dhcp4_parser.yy" + case 599: // not_empty_option_data_params: not_empty_option_data_params "," +#line 2131 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3416 "dhcp4_parser.cc" +#line 3426 "dhcp4_parser.cc" break; - case 608: // $@84: %empty -#line 2143 "dhcp4_parser.yy" + case 612: // $@84: %empty +#line 2153 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3425 "dhcp4_parser.cc" +#line 3435 "dhcp4_parser.cc" break; - case 609: // option_data_data: "data" $@84 ":" "constant string" -#line 2146 "dhcp4_parser.yy" + case 613: // option_data_data: "data" $@84 ":" "constant string" +#line 2156 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3435 "dhcp4_parser.cc" +#line 3445 "dhcp4_parser.cc" break; - case 612: // option_data_csv_format: "csv-format" ":" "boolean" -#line 2156 "dhcp4_parser.yy" + case 616: // option_data_csv_format: "csv-format" ":" "boolean" +#line 2166 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", csv); } -#line 3445 "dhcp4_parser.cc" +#line 3455 "dhcp4_parser.cc" break; - case 613: // option_data_always_send: "always-send" ":" "boolean" -#line 2162 "dhcp4_parser.yy" + case 617: // option_data_always_send: "always-send" ":" "boolean" +#line 2172 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3455 "dhcp4_parser.cc" +#line 3465 "dhcp4_parser.cc" break; - case 614: // option_data_never_send: "never-send" ":" "boolean" -#line 2168 "dhcp4_parser.yy" + case 618: // option_data_never_send: "never-send" ":" "boolean" +#line 2178 "dhcp4_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("never-send", cancel); } -#line 3465 "dhcp4_parser.cc" +#line 3475 "dhcp4_parser.cc" break; - case 615: // $@85: %empty -#line 2174 "dhcp4_parser.yy" + case 619: // $@85: %empty +#line 2184 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3473,20 +3483,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3477 "dhcp4_parser.cc" +#line 3487 "dhcp4_parser.cc" break; - case 616: // option_data_client_classes: "client-classes" $@85 ":" list_strings -#line 2180 "dhcp4_parser.yy" + case 620: // option_data_client_classes: "client-classes" $@85 ":" list_strings +#line 2190 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3486 "dhcp4_parser.cc" +#line 3496 "dhcp4_parser.cc" break; - case 617: // $@86: %empty -#line 2188 "dhcp4_parser.yy" + case 621: // $@86: %empty +#line 2198 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3494,113 +3504,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3498 "dhcp4_parser.cc" +#line 3508 "dhcp4_parser.cc" break; - case 618: // pools_list: "pools" $@86 ":" "[" pools_list_content "]" -#line 2194 "dhcp4_parser.yy" + case 622: // pools_list: "pools" $@86 ":" "[" pools_list_content "]" +#line 2204 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3507 "dhcp4_parser.cc" +#line 3517 "dhcp4_parser.cc" break; - case 623: // not_empty_pools_list: not_empty_pools_list "," -#line 2207 "dhcp4_parser.yy" + case 627: // not_empty_pools_list: not_empty_pools_list "," +#line 2217 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3515 "dhcp4_parser.cc" +#line 3525 "dhcp4_parser.cc" break; - case 624: // $@87: %empty -#line 2212 "dhcp4_parser.yy" + case 628: // $@87: %empty +#line 2222 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3525 "dhcp4_parser.cc" +#line 3535 "dhcp4_parser.cc" break; - case 625: // pool_list_entry: "{" $@87 pool_params "}" -#line 2216 "dhcp4_parser.yy" + case 629: // pool_list_entry: "{" $@87 pool_params "}" +#line 2226 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3535 "dhcp4_parser.cc" +#line 3545 "dhcp4_parser.cc" break; - case 626: // $@88: %empty -#line 2222 "dhcp4_parser.yy" + case 630: // $@88: %empty +#line 2232 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3545 "dhcp4_parser.cc" +#line 3555 "dhcp4_parser.cc" break; - case 627: // sub_pool4: "{" $@88 pool_params "}" -#line 2226 "dhcp4_parser.yy" + case 631: // sub_pool4: "{" $@88 pool_params "}" +#line 2236 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3555 "dhcp4_parser.cc" +#line 3565 "dhcp4_parser.cc" break; - case 630: // pool_params: pool_params "," -#line 2234 "dhcp4_parser.yy" + case 634: // pool_params: pool_params "," +#line 2244 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3563 "dhcp4_parser.cc" +#line 3573 "dhcp4_parser.cc" break; - case 655: // $@89: %empty -#line 2265 "dhcp4_parser.yy" + case 659: // $@89: %empty +#line 2275 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3572 "dhcp4_parser.cc" +#line 3582 "dhcp4_parser.cc" break; - case 656: // pool_entry: "pool" $@89 ":" "constant string" -#line 2268 "dhcp4_parser.yy" + case 660: // pool_entry: "pool" $@89 ":" "constant string" +#line 2278 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3582 "dhcp4_parser.cc" +#line 3592 "dhcp4_parser.cc" break; - case 657: // pool_id: "pool-id" ":" "integer" -#line 2274 "dhcp4_parser.yy" + case 661: // pool_id: "pool-id" ":" "integer" +#line 2284 "dhcp4_parser.yy" { ctx.unique("pool-id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool-id", id); } -#line 3592 "dhcp4_parser.cc" +#line 3602 "dhcp4_parser.cc" break; - case 658: // $@90: %empty -#line 2280 "dhcp4_parser.yy" + case 662: // $@90: %empty +#line 2290 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3600 "dhcp4_parser.cc" +#line 3610 "dhcp4_parser.cc" break; - case 659: // user_context: "user-context" $@90 ":" map_value -#line 2282 "dhcp4_parser.yy" + case 663: // user_context: "user-context" $@90 ":" map_value +#line 2292 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3623,19 +3633,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3627 "dhcp4_parser.cc" +#line 3637 "dhcp4_parser.cc" break; - case 660: // $@91: %empty -#line 2305 "dhcp4_parser.yy" + case 664: // $@91: %empty +#line 2315 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3635 "dhcp4_parser.cc" +#line 3645 "dhcp4_parser.cc" break; - case 661: // comment: "comment" $@91 ":" "constant string" -#line 2307 "dhcp4_parser.yy" + case 665: // comment: "comment" $@91 ":" "constant string" +#line 2317 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3660,11 +3670,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3664 "dhcp4_parser.cc" +#line 3674 "dhcp4_parser.cc" break; - case 662: // $@92: %empty -#line 2335 "dhcp4_parser.yy" + case 666: // $@92: %empty +#line 2345 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3672,264 +3682,264 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3676 "dhcp4_parser.cc" +#line 3686 "dhcp4_parser.cc" break; - case 663: // reservations: "reservations" $@92 ":" "[" reservations_list "]" -#line 2341 "dhcp4_parser.yy" + case 667: // reservations: "reservations" $@92 ":" "[" reservations_list "]" +#line 2351 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3685 "dhcp4_parser.cc" +#line 3695 "dhcp4_parser.cc" break; - case 668: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2352 "dhcp4_parser.yy" + case 672: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2362 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3693 "dhcp4_parser.cc" +#line 3703 "dhcp4_parser.cc" break; - case 669: // $@93: %empty -#line 2357 "dhcp4_parser.yy" + case 673: // $@93: %empty +#line 2367 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3703 "dhcp4_parser.cc" +#line 3713 "dhcp4_parser.cc" break; - case 670: // reservation: "{" $@93 reservation_params "}" -#line 2361 "dhcp4_parser.yy" + case 674: // reservation: "{" $@93 reservation_params "}" +#line 2371 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3712 "dhcp4_parser.cc" +#line 3722 "dhcp4_parser.cc" break; - case 671: // $@94: %empty -#line 2366 "dhcp4_parser.yy" + case 675: // $@94: %empty +#line 2376 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3722 "dhcp4_parser.cc" +#line 3732 "dhcp4_parser.cc" break; - case 672: // sub_reservation: "{" $@94 reservation_params "}" -#line 2370 "dhcp4_parser.yy" + case 676: // sub_reservation: "{" $@94 reservation_params "}" +#line 2380 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3731 "dhcp4_parser.cc" +#line 3741 "dhcp4_parser.cc" break; - case 677: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2381 "dhcp4_parser.yy" + case 681: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2391 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3739 "dhcp4_parser.cc" +#line 3749 "dhcp4_parser.cc" break; - case 693: // $@95: %empty -#line 2404 "dhcp4_parser.yy" + case 697: // $@95: %empty +#line 2414 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3748 "dhcp4_parser.cc" +#line 3758 "dhcp4_parser.cc" break; - case 694: // next_server: "next-server" $@95 ":" "constant string" -#line 2407 "dhcp4_parser.yy" + case 698: // next_server: "next-server" $@95 ":" "constant string" +#line 2417 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 3758 "dhcp4_parser.cc" +#line 3768 "dhcp4_parser.cc" break; - case 695: // $@96: %empty -#line 2413 "dhcp4_parser.yy" + case 699: // $@96: %empty +#line 2423 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3767 "dhcp4_parser.cc" +#line 3777 "dhcp4_parser.cc" break; - case 696: // server_hostname: "server-hostname" $@96 ":" "constant string" -#line 2416 "dhcp4_parser.yy" + case 700: // server_hostname: "server-hostname" $@96 ":" "constant string" +#line 2426 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 3777 "dhcp4_parser.cc" +#line 3787 "dhcp4_parser.cc" break; - case 697: // $@97: %empty -#line 2422 "dhcp4_parser.yy" + case 701: // $@97: %empty +#line 2432 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3786 "dhcp4_parser.cc" +#line 3796 "dhcp4_parser.cc" break; - case 698: // boot_file_name: "boot-file-name" $@97 ":" "constant string" -#line 2425 "dhcp4_parser.yy" + case 702: // boot_file_name: "boot-file-name" $@97 ":" "constant string" +#line 2435 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 3796 "dhcp4_parser.cc" +#line 3806 "dhcp4_parser.cc" break; - case 699: // $@98: %empty -#line 2431 "dhcp4_parser.yy" + case 703: // $@98: %empty +#line 2441 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3805 "dhcp4_parser.cc" +#line 3815 "dhcp4_parser.cc" break; - case 700: // ip_address: "ip-address" $@98 ":" "constant string" -#line 2434 "dhcp4_parser.yy" + case 704: // ip_address: "ip-address" $@98 ":" "constant string" +#line 2444 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3815 "dhcp4_parser.cc" +#line 3825 "dhcp4_parser.cc" break; - case 701: // $@99: %empty -#line 2440 "dhcp4_parser.yy" + case 705: // $@99: %empty +#line 2450 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3824 "dhcp4_parser.cc" +#line 3834 "dhcp4_parser.cc" break; - case 702: // duid: "duid" $@99 ":" "constant string" -#line 2443 "dhcp4_parser.yy" + case 706: // duid: "duid" $@99 ":" "constant string" +#line 2453 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3834 "dhcp4_parser.cc" +#line 3844 "dhcp4_parser.cc" break; - case 703: // $@100: %empty -#line 2449 "dhcp4_parser.yy" + case 707: // $@100: %empty +#line 2459 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3843 "dhcp4_parser.cc" +#line 3853 "dhcp4_parser.cc" break; - case 704: // hw_address: "hw-address" $@100 ":" "constant string" -#line 2452 "dhcp4_parser.yy" + case 708: // hw_address: "hw-address" $@100 ":" "constant string" +#line 2462 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3853 "dhcp4_parser.cc" +#line 3863 "dhcp4_parser.cc" break; - case 705: // $@101: %empty -#line 2458 "dhcp4_parser.yy" + case 709: // $@101: %empty +#line 2468 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3862 "dhcp4_parser.cc" +#line 3872 "dhcp4_parser.cc" break; - case 706: // client_id_value: "client-id" $@101 ":" "constant string" -#line 2461 "dhcp4_parser.yy" + case 710: // client_id_value: "client-id" $@101 ":" "constant string" +#line 2471 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 3872 "dhcp4_parser.cc" +#line 3882 "dhcp4_parser.cc" break; - case 707: // $@102: %empty -#line 2467 "dhcp4_parser.yy" + case 711: // $@102: %empty +#line 2477 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3881 "dhcp4_parser.cc" +#line 3891 "dhcp4_parser.cc" break; - case 708: // circuit_id_value: "circuit-id" $@102 ":" "constant string" -#line 2470 "dhcp4_parser.yy" + case 712: // circuit_id_value: "circuit-id" $@102 ":" "constant string" +#line 2480 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 3891 "dhcp4_parser.cc" +#line 3901 "dhcp4_parser.cc" break; - case 709: // $@103: %empty -#line 2476 "dhcp4_parser.yy" + case 713: // $@103: %empty +#line 2486 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3900 "dhcp4_parser.cc" +#line 3910 "dhcp4_parser.cc" break; - case 710: // flex_id_value: "flex-id" $@103 ":" "constant string" -#line 2479 "dhcp4_parser.yy" + case 714: // flex_id_value: "flex-id" $@103 ":" "constant string" +#line 2489 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3910 "dhcp4_parser.cc" +#line 3920 "dhcp4_parser.cc" break; - case 711: // $@104: %empty -#line 2485 "dhcp4_parser.yy" + case 715: // $@104: %empty +#line 2495 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3919 "dhcp4_parser.cc" +#line 3929 "dhcp4_parser.cc" break; - case 712: // hostname: "hostname" $@104 ":" "constant string" -#line 2488 "dhcp4_parser.yy" + case 716: // hostname: "hostname" $@104 ":" "constant string" +#line 2498 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3929 "dhcp4_parser.cc" +#line 3939 "dhcp4_parser.cc" break; - case 713: // $@105: %empty -#line 2494 "dhcp4_parser.yy" + case 717: // $@105: %empty +#line 2504 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3937,20 +3947,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3941 "dhcp4_parser.cc" +#line 3951 "dhcp4_parser.cc" break; - case 714: // reservation_client_classes: "client-classes" $@105 ":" list_strings -#line 2500 "dhcp4_parser.yy" + case 718: // reservation_client_classes: "client-classes" $@105 ":" list_strings +#line 2510 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3950 "dhcp4_parser.cc" +#line 3960 "dhcp4_parser.cc" break; - case 715: // $@106: %empty -#line 2508 "dhcp4_parser.yy" + case 719: // $@106: %empty +#line 2518 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3958,20 +3968,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3962 "dhcp4_parser.cc" +#line 3972 "dhcp4_parser.cc" break; - case 716: // relay: "relay" $@106 ":" "{" relay_map "}" -#line 2514 "dhcp4_parser.yy" + case 720: // relay: "relay" $@106 ":" "{" relay_map "}" +#line 2524 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3971 "dhcp4_parser.cc" +#line 3981 "dhcp4_parser.cc" break; - case 718: // $@107: %empty -#line 2522 "dhcp4_parser.yy" + case 722: // $@107: %empty +#line 2532 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3979,20 +3989,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3983 "dhcp4_parser.cc" +#line 3993 "dhcp4_parser.cc" break; - case 719: // ip_addresses: "ip-addresses" $@107 ":" list_strings -#line 2528 "dhcp4_parser.yy" + case 723: // ip_addresses: "ip-addresses" $@107 ":" list_strings +#line 2538 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3992 "dhcp4_parser.cc" +#line 4002 "dhcp4_parser.cc" break; - case 720: // $@108: %empty -#line 2536 "dhcp4_parser.yy" + case 724: // $@108: %empty +#line 2546 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4000,124 +4010,124 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 4004 "dhcp4_parser.cc" +#line 4014 "dhcp4_parser.cc" break; - case 721: // client_classes: "client-classes" $@108 ":" "[" client_classes_list "]" -#line 2542 "dhcp4_parser.yy" + case 725: // client_classes: "client-classes" $@108 ":" "[" client_classes_list "]" +#line 2552 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4013 "dhcp4_parser.cc" +#line 4023 "dhcp4_parser.cc" break; - case 724: // client_classes_list: client_classes_list "," -#line 2549 "dhcp4_parser.yy" + case 728: // client_classes_list: client_classes_list "," +#line 2559 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4021 "dhcp4_parser.cc" +#line 4031 "dhcp4_parser.cc" break; - case 725: // $@109: %empty -#line 2554 "dhcp4_parser.yy" + case 729: // $@109: %empty +#line 2564 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4031 "dhcp4_parser.cc" +#line 4041 "dhcp4_parser.cc" break; - case 726: // client_class_entry: "{" $@109 client_class_params "}" -#line 2558 "dhcp4_parser.yy" + case 730: // client_class_entry: "{" $@109 client_class_params "}" +#line 2568 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 4041 "dhcp4_parser.cc" +#line 4051 "dhcp4_parser.cc" break; - case 731: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2570 "dhcp4_parser.yy" + case 735: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2580 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4049 "dhcp4_parser.cc" +#line 4059 "dhcp4_parser.cc" break; - case 750: // $@110: %empty -#line 2596 "dhcp4_parser.yy" + case 754: // $@110: %empty +#line 2606 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4058 "dhcp4_parser.cc" +#line 4068 "dhcp4_parser.cc" break; - case 751: // client_class_test: "test" $@110 ":" "constant string" -#line 2599 "dhcp4_parser.yy" + case 755: // client_class_test: "test" $@110 ":" "constant string" +#line 2609 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 4068 "dhcp4_parser.cc" +#line 4078 "dhcp4_parser.cc" break; - case 752: // $@111: %empty -#line 2605 "dhcp4_parser.yy" + case 756: // $@111: %empty +#line 2615 "dhcp4_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4077 "dhcp4_parser.cc" +#line 4087 "dhcp4_parser.cc" break; - case 753: // client_class_template_test: "template-test" $@111 ":" "constant string" -#line 2608 "dhcp4_parser.yy" + case 757: // client_class_template_test: "template-test" $@111 ":" "constant string" +#line 2618 "dhcp4_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); ctx.leave(); } -#line 4087 "dhcp4_parser.cc" +#line 4097 "dhcp4_parser.cc" break; - case 754: // only_if_required: "only-if-required" ":" "boolean" -#line 2615 "dhcp4_parser.yy" + case 758: // only_if_required: "only-if-required" ":" "boolean" +#line 2625 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 4097 "dhcp4_parser.cc" +#line 4107 "dhcp4_parser.cc" break; - case 755: // only_in_additional_list: "only-in-additional-list" ":" "boolean" -#line 2621 "dhcp4_parser.yy" + case 759: // only_in_additional_list: "only-in-additional-list" ":" "boolean" +#line 2631 "dhcp4_parser.yy" { ctx.unique("only-in-additional-list", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-in-additional-list", b); } -#line 4107 "dhcp4_parser.cc" +#line 4117 "dhcp4_parser.cc" break; - case 756: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2629 "dhcp4_parser.yy" + case 760: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2639 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 4117 "dhcp4_parser.cc" +#line 4127 "dhcp4_parser.cc" break; - case 757: // $@112: %empty -#line 2637 "dhcp4_parser.yy" + case 761: // $@112: %empty +#line 2647 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ctx.unique("control-sockets", ctx.loc2pos(yystack_[0].location)); @@ -4126,20 +4136,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4130 "dhcp4_parser.cc" +#line 4140 "dhcp4_parser.cc" break; - case 758: // control_socket: "control-socket" $@112 ":" "{" control_socket_params "}" -#line 2644 "dhcp4_parser.yy" + case 762: // control_socket: "control-socket" $@112 ":" "{" control_socket_params "}" +#line 2654 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4139 "dhcp4_parser.cc" +#line 4149 "dhcp4_parser.cc" break; - case 759: // $@113: %empty -#line 2649 "dhcp4_parser.yy" + case 763: // $@113: %empty +#line 2659 "dhcp4_parser.yy" { ctx.unique("control-sockets", ctx.loc2pos(yystack_[0].location)); ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); @@ -4148,150 +4158,150 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4152 "dhcp4_parser.cc" +#line 4162 "dhcp4_parser.cc" break; - case 760: // control_sockets: "control-sockets" $@113 ":" "[" control_socket_list "]" -#line 2656 "dhcp4_parser.yy" + case 764: // control_sockets: "control-sockets" $@113 ":" "[" control_socket_list "]" +#line 2666 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4161 "dhcp4_parser.cc" +#line 4171 "dhcp4_parser.cc" break; - case 765: // not_empty_control_socket_list: not_empty_control_socket_list "," -#line 2667 "dhcp4_parser.yy" + case 769: // not_empty_control_socket_list: not_empty_control_socket_list "," +#line 2677 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4169 "dhcp4_parser.cc" +#line 4179 "dhcp4_parser.cc" break; - case 766: // $@114: %empty -#line 2672 "dhcp4_parser.yy" + case 770: // $@114: %empty +#line 2682 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4179 "dhcp4_parser.cc" +#line 4189 "dhcp4_parser.cc" break; - case 767: // control_socket_entry: "{" $@114 control_socket_params "}" -#line 2676 "dhcp4_parser.yy" + case 771: // control_socket_entry: "{" $@114 control_socket_params "}" +#line 2686 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4187 "dhcp4_parser.cc" +#line 4197 "dhcp4_parser.cc" break; - case 770: // control_socket_params: control_socket_params "," -#line 2682 "dhcp4_parser.yy" + case 774: // control_socket_params: control_socket_params "," +#line 2692 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4195 "dhcp4_parser.cc" +#line 4205 "dhcp4_parser.cc" break; - case 784: // $@115: %empty -#line 2702 "dhcp4_parser.yy" + case 788: // $@115: %empty +#line 2712 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.CONTROL_SOCKET_TYPE); } -#line 4204 "dhcp4_parser.cc" +#line 4214 "dhcp4_parser.cc" break; - case 785: // control_socket_type: "socket-type" $@115 ":" control_socket_type_value -#line 2705 "dhcp4_parser.yy" + case 789: // control_socket_type: "socket-type" $@115 ":" control_socket_type_value +#line 2715 "dhcp4_parser.yy" { ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4213 "dhcp4_parser.cc" +#line 4223 "dhcp4_parser.cc" break; - case 786: // control_socket_type_value: "unix" -#line 2711 "dhcp4_parser.yy" + case 790: // control_socket_type_value: "unix" +#line 2721 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } -#line 4219 "dhcp4_parser.cc" +#line 4229 "dhcp4_parser.cc" break; - case 787: // control_socket_type_value: "http" -#line 2712 "dhcp4_parser.yy" + case 791: // control_socket_type_value: "http" +#line 2722 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); } -#line 4225 "dhcp4_parser.cc" +#line 4235 "dhcp4_parser.cc" break; - case 788: // control_socket_type_value: "https" -#line 2713 "dhcp4_parser.yy" + case 792: // control_socket_type_value: "https" +#line 2723 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("https", ctx.loc2pos(yystack_[0].location))); } -#line 4231 "dhcp4_parser.cc" +#line 4241 "dhcp4_parser.cc" break; - case 789: // $@116: %empty -#line 2716 "dhcp4_parser.yy" + case 793: // $@116: %empty +#line 2726 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.unique("socket-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4241 "dhcp4_parser.cc" +#line 4251 "dhcp4_parser.cc" break; - case 790: // control_socket_name: "socket-name" $@116 ":" "constant string" -#line 2720 "dhcp4_parser.yy" + case 794: // control_socket_name: "socket-name" $@116 ":" "constant string" +#line 2730 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 4251 "dhcp4_parser.cc" +#line 4261 "dhcp4_parser.cc" break; - case 791: // $@117: %empty -#line 2726 "dhcp4_parser.yy" + case 795: // $@117: %empty +#line 2736 "dhcp4_parser.yy" { ctx.unique("socket-address", ctx.loc2pos(yystack_[0].location)); ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4261 "dhcp4_parser.cc" +#line 4271 "dhcp4_parser.cc" break; - case 792: // control_socket_address: "socket-address" $@117 ":" "constant string" -#line 2730 "dhcp4_parser.yy" + case 796: // control_socket_address: "socket-address" $@117 ":" "constant string" +#line 2740 "dhcp4_parser.yy" { ElementPtr address(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-address", address); ctx.leave(); } -#line 4271 "dhcp4_parser.cc" +#line 4281 "dhcp4_parser.cc" break; - case 793: // control_socket_port: "socket-port" ":" "integer" -#line 2736 "dhcp4_parser.yy" + case 797: // control_socket_port: "socket-port" ":" "integer" +#line 2746 "dhcp4_parser.yy" { ctx.unique("socket-port", ctx.loc2pos(yystack_[2].location)); ElementPtr port(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-port", port); } -#line 4281 "dhcp4_parser.cc" +#line 4291 "dhcp4_parser.cc" break; - case 794: // cert_required: "cert-required" ":" "boolean" -#line 2742 "dhcp4_parser.yy" + case 798: // cert_required: "cert-required" ":" "boolean" +#line 2752 "dhcp4_parser.yy" { ctx.unique("cert-required", ctx.loc2pos(yystack_[2].location)); ElementPtr req(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-required", req); } -#line 4291 "dhcp4_parser.cc" +#line 4301 "dhcp4_parser.cc" break; - case 795: // $@118: %empty -#line 2748 "dhcp4_parser.yy" + case 799: // $@118: %empty +#line 2758 "dhcp4_parser.yy" { ctx.unique("http-headers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4299,73 +4309,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HTTP_HEADERS); } -#line 4303 "dhcp4_parser.cc" +#line 4313 "dhcp4_parser.cc" break; - case 796: // http_headers: "http-headers" $@118 ":" "[" http_header_list "]" -#line 2754 "dhcp4_parser.yy" + case 800: // http_headers: "http-headers" $@118 ":" "[" http_header_list "]" +#line 2764 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4312 "dhcp4_parser.cc" +#line 4322 "dhcp4_parser.cc" break; - case 801: // not_empty_http_header_list: not_empty_http_header_list "," -#line 2765 "dhcp4_parser.yy" + case 805: // not_empty_http_header_list: not_empty_http_header_list "," +#line 2775 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4320 "dhcp4_parser.cc" +#line 4330 "dhcp4_parser.cc" break; - case 802: // $@119: %empty -#line 2770 "dhcp4_parser.yy" + case 806: // $@119: %empty +#line 2780 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4330 "dhcp4_parser.cc" +#line 4340 "dhcp4_parser.cc" break; - case 803: // http_header: "{" $@119 http_header_params "}" -#line 2774 "dhcp4_parser.yy" + case 807: // http_header: "{" $@119 http_header_params "}" +#line 2784 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4338 "dhcp4_parser.cc" +#line 4348 "dhcp4_parser.cc" break; - case 806: // http_header_params: http_header_params "," -#line 2780 "dhcp4_parser.yy" + case 810: // http_header_params: http_header_params "," +#line 2790 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4346 "dhcp4_parser.cc" +#line 4356 "dhcp4_parser.cc" break; - case 812: // $@120: %empty -#line 2792 "dhcp4_parser.yy" + case 816: // $@120: %empty +#line 2802 "dhcp4_parser.yy" { ctx.unique("value", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4355 "dhcp4_parser.cc" +#line 4365 "dhcp4_parser.cc" break; - case 813: // header_value: "value" $@120 ":" "constant string" -#line 2795 "dhcp4_parser.yy" + case 817: // header_value: "value" $@120 ":" "constant string" +#line 2805 "dhcp4_parser.yy" { ElementPtr value(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("value", value); ctx.leave(); } -#line 4365 "dhcp4_parser.cc" +#line 4375 "dhcp4_parser.cc" break; - case 814: // $@121: %empty -#line 2803 "dhcp4_parser.yy" + case 818: // $@121: %empty +#line 2813 "dhcp4_parser.yy" { ctx.unique("authentication", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4373,92 +4383,92 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.AUTHENTICATION); } -#line 4377 "dhcp4_parser.cc" +#line 4387 "dhcp4_parser.cc" break; - case 815: // authentication: "authentication" $@121 ":" "{" auth_params "}" -#line 2809 "dhcp4_parser.yy" + case 819: // authentication: "authentication" $@121 ":" "{" auth_params "}" +#line 2819 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4388 "dhcp4_parser.cc" +#line 4398 "dhcp4_parser.cc" break; - case 818: // auth_params: auth_params "," -#line 2818 "dhcp4_parser.yy" + case 822: // auth_params: auth_params "," +#line 2828 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4396 "dhcp4_parser.cc" +#line 4406 "dhcp4_parser.cc" break; - case 826: // $@122: %empty -#line 2832 "dhcp4_parser.yy" + case 830: // $@122: %empty +#line 2842 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.AUTH_TYPE); } -#line 4405 "dhcp4_parser.cc" +#line 4415 "dhcp4_parser.cc" break; - case 827: // auth_type: "type" $@122 ":" auth_type_value -#line 2835 "dhcp4_parser.yy" + case 831: // auth_type: "type" $@122 ":" auth_type_value +#line 2845 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4414 "dhcp4_parser.cc" +#line 4424 "dhcp4_parser.cc" break; - case 828: // auth_type_value: "basic" -#line 2840 "dhcp4_parser.yy" + case 832: // auth_type_value: "basic" +#line 2850 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("basic", ctx.loc2pos(yystack_[0].location))); } -#line 4420 "dhcp4_parser.cc" +#line 4430 "dhcp4_parser.cc" break; - case 829: // $@123: %empty -#line 2843 "dhcp4_parser.yy" + case 833: // $@123: %empty +#line 2853 "dhcp4_parser.yy" { ctx.unique("realm", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4429 "dhcp4_parser.cc" +#line 4439 "dhcp4_parser.cc" break; - case 830: // realm: "realm" $@123 ":" "constant string" -#line 2846 "dhcp4_parser.yy" + case 834: // realm: "realm" $@123 ":" "constant string" +#line 2856 "dhcp4_parser.yy" { ElementPtr realm(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("realm", realm); ctx.leave(); } -#line 4439 "dhcp4_parser.cc" +#line 4449 "dhcp4_parser.cc" break; - case 831: // $@124: %empty -#line 2852 "dhcp4_parser.yy" + case 835: // $@124: %empty +#line 2862 "dhcp4_parser.yy" { ctx.unique("directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4448 "dhcp4_parser.cc" +#line 4458 "dhcp4_parser.cc" break; - case 832: // directory: "directory" $@124 ":" "constant string" -#line 2855 "dhcp4_parser.yy" + case 836: // directory: "directory" $@124 ":" "constant string" +#line 2865 "dhcp4_parser.yy" { ElementPtr directory(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("directory", directory); ctx.leave(); } -#line 4458 "dhcp4_parser.cc" +#line 4468 "dhcp4_parser.cc" break; - case 833: // $@125: %empty -#line 2861 "dhcp4_parser.yy" + case 837: // $@125: %empty +#line 2871 "dhcp4_parser.yy" { ctx.unique("clients", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4466,92 +4476,92 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENTS); } -#line 4470 "dhcp4_parser.cc" +#line 4480 "dhcp4_parser.cc" break; - case 834: // clients: "clients" $@125 ":" "[" clients_list "]" -#line 2867 "dhcp4_parser.yy" + case 838: // clients: "clients" $@125 ":" "[" clients_list "]" +#line 2877 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4479 "dhcp4_parser.cc" +#line 4489 "dhcp4_parser.cc" break; - case 839: // not_empty_clients_list: not_empty_clients_list "," -#line 2878 "dhcp4_parser.yy" + case 843: // not_empty_clients_list: not_empty_clients_list "," +#line 2888 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4487 "dhcp4_parser.cc" +#line 4497 "dhcp4_parser.cc" break; - case 840: // $@126: %empty -#line 2883 "dhcp4_parser.yy" + case 844: // $@126: %empty +#line 2893 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4497 "dhcp4_parser.cc" +#line 4507 "dhcp4_parser.cc" break; - case 841: // basic_auth: "{" $@126 clients_params "}" -#line 2887 "dhcp4_parser.yy" + case 845: // basic_auth: "{" $@126 clients_params "}" +#line 2897 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4505 "dhcp4_parser.cc" +#line 4515 "dhcp4_parser.cc" break; - case 844: // clients_params: clients_params "," -#line 2893 "dhcp4_parser.yy" + case 848: // clients_params: clients_params "," +#line 2903 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4513 "dhcp4_parser.cc" +#line 4523 "dhcp4_parser.cc" break; - case 852: // $@127: %empty -#line 2907 "dhcp4_parser.yy" + case 856: // $@127: %empty +#line 2917 "dhcp4_parser.yy" { ctx.unique("user-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4522 "dhcp4_parser.cc" +#line 4532 "dhcp4_parser.cc" break; - case 853: // user_file: "user-file" $@127 ":" "constant string" -#line 2910 "dhcp4_parser.yy" + case 857: // user_file: "user-file" $@127 ":" "constant string" +#line 2920 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user-file", user); ctx.leave(); } -#line 4532 "dhcp4_parser.cc" +#line 4542 "dhcp4_parser.cc" break; - case 854: // $@128: %empty -#line 2916 "dhcp4_parser.yy" + case 858: // $@128: %empty +#line 2926 "dhcp4_parser.yy" { ctx.unique("password-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4541 "dhcp4_parser.cc" +#line 4551 "dhcp4_parser.cc" break; - case 855: // password_file: "password-file" $@128 ":" "constant string" -#line 2919 "dhcp4_parser.yy" + case 859: // password_file: "password-file" $@128 ":" "constant string" +#line 2929 "dhcp4_parser.yy" { ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password-file", password); ctx.leave(); } -#line 4551 "dhcp4_parser.cc" +#line 4561 "dhcp4_parser.cc" break; - case 856: // $@129: %empty -#line 2927 "dhcp4_parser.yy" + case 860: // $@129: %empty +#line 2937 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4559,87 +4569,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4563 "dhcp4_parser.cc" +#line 4573 "dhcp4_parser.cc" break; - case 857: // dhcp_queue_control: "dhcp-queue-control" $@129 ":" "{" queue_control_params "}" -#line 2933 "dhcp4_parser.yy" + case 861: // dhcp_queue_control: "dhcp-queue-control" $@129 ":" "{" queue_control_params "}" +#line 2943 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4574 "dhcp4_parser.cc" +#line 4584 "dhcp4_parser.cc" break; - case 860: // queue_control_params: queue_control_params "," -#line 2942 "dhcp4_parser.yy" + case 864: // queue_control_params: queue_control_params "," +#line 2952 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4582 "dhcp4_parser.cc" +#line 4592 "dhcp4_parser.cc" break; - case 867: // enable_queue: "enable-queue" ":" "boolean" -#line 2955 "dhcp4_parser.yy" + case 871: // enable_queue: "enable-queue" ":" "boolean" +#line 2965 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4592 "dhcp4_parser.cc" +#line 4602 "dhcp4_parser.cc" break; - case 868: // $@130: %empty -#line 2961 "dhcp4_parser.yy" + case 872: // $@130: %empty +#line 2971 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4601 "dhcp4_parser.cc" +#line 4611 "dhcp4_parser.cc" break; - case 869: // queue_type: "queue-type" $@130 ":" "constant string" -#line 2964 "dhcp4_parser.yy" + case 873: // queue_type: "queue-type" $@130 ":" "constant string" +#line 2974 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 4611 "dhcp4_parser.cc" +#line 4621 "dhcp4_parser.cc" break; - case 870: // capacity: "capacity" ":" "integer" -#line 2970 "dhcp4_parser.yy" + case 874: // capacity: "capacity" ":" "integer" +#line 2980 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4621 "dhcp4_parser.cc" +#line 4631 "dhcp4_parser.cc" break; - case 871: // $@131: %empty -#line 2976 "dhcp4_parser.yy" + case 875: // $@131: %empty +#line 2986 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4630 "dhcp4_parser.cc" +#line 4640 "dhcp4_parser.cc" break; - case 872: // arbitrary_map_entry: "constant string" $@131 ":" value -#line 2979 "dhcp4_parser.yy" + case 876: // arbitrary_map_entry: "constant string" $@131 ":" value +#line 2989 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4639 "dhcp4_parser.cc" +#line 4649 "dhcp4_parser.cc" break; - case 873: // $@132: %empty -#line 2986 "dhcp4_parser.yy" + case 877: // $@132: %empty +#line 2996 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4647,177 +4657,177 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4651 "dhcp4_parser.cc" +#line 4661 "dhcp4_parser.cc" break; - case 874: // dhcp_ddns: "dhcp-ddns" $@132 ":" "{" dhcp_ddns_params "}" -#line 2992 "dhcp4_parser.yy" + case 878: // dhcp_ddns: "dhcp-ddns" $@132 ":" "{" dhcp_ddns_params "}" +#line 3002 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4662 "dhcp4_parser.cc" +#line 4672 "dhcp4_parser.cc" break; - case 875: // $@133: %empty -#line 2999 "dhcp4_parser.yy" + case 879: // $@133: %empty +#line 3009 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4672 "dhcp4_parser.cc" +#line 4682 "dhcp4_parser.cc" break; - case 876: // sub_dhcp_ddns: "{" $@133 dhcp_ddns_params "}" -#line 3003 "dhcp4_parser.yy" + case 880: // sub_dhcp_ddns: "{" $@133 dhcp_ddns_params "}" +#line 3013 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 4682 "dhcp4_parser.cc" +#line 4692 "dhcp4_parser.cc" break; - case 879: // dhcp_ddns_params: dhcp_ddns_params "," -#line 3011 "dhcp4_parser.yy" + case 883: // dhcp_ddns_params: dhcp_ddns_params "," +#line 3021 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4690 "dhcp4_parser.cc" +#line 4700 "dhcp4_parser.cc" break; - case 891: // enable_updates: "enable-updates" ":" "boolean" -#line 3029 "dhcp4_parser.yy" + case 895: // enable_updates: "enable-updates" ":" "boolean" +#line 3039 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4700 "dhcp4_parser.cc" +#line 4710 "dhcp4_parser.cc" break; - case 892: // $@134: %empty -#line 3035 "dhcp4_parser.yy" + case 896: // $@134: %empty +#line 3045 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4709 "dhcp4_parser.cc" +#line 4719 "dhcp4_parser.cc" break; - case 893: // server_ip: "server-ip" $@134 ":" "constant string" -#line 3038 "dhcp4_parser.yy" + case 897: // server_ip: "server-ip" $@134 ":" "constant string" +#line 3048 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 4719 "dhcp4_parser.cc" +#line 4729 "dhcp4_parser.cc" break; - case 894: // server_port: "server-port" ":" "integer" -#line 3044 "dhcp4_parser.yy" + case 898: // server_port: "server-port" ":" "integer" +#line 3054 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4729 "dhcp4_parser.cc" +#line 4739 "dhcp4_parser.cc" break; - case 895: // $@135: %empty -#line 3050 "dhcp4_parser.yy" + case 899: // $@135: %empty +#line 3060 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4738 "dhcp4_parser.cc" +#line 4748 "dhcp4_parser.cc" break; - case 896: // sender_ip: "sender-ip" $@135 ":" "constant string" -#line 3053 "dhcp4_parser.yy" + case 900: // sender_ip: "sender-ip" $@135 ":" "constant string" +#line 3063 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 4748 "dhcp4_parser.cc" +#line 4758 "dhcp4_parser.cc" break; - case 897: // sender_port: "sender-port" ":" "integer" -#line 3059 "dhcp4_parser.yy" + case 901: // sender_port: "sender-port" ":" "integer" +#line 3069 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4758 "dhcp4_parser.cc" +#line 4768 "dhcp4_parser.cc" break; - case 898: // max_queue_size: "max-queue-size" ":" "integer" -#line 3065 "dhcp4_parser.yy" + case 902: // max_queue_size: "max-queue-size" ":" "integer" +#line 3075 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4768 "dhcp4_parser.cc" +#line 4778 "dhcp4_parser.cc" break; - case 899: // $@136: %empty -#line 3071 "dhcp4_parser.yy" + case 903: // $@136: %empty +#line 3081 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4777 "dhcp4_parser.cc" +#line 4787 "dhcp4_parser.cc" break; - case 900: // ncr_protocol: "ncr-protocol" $@136 ":" ncr_protocol_value -#line 3074 "dhcp4_parser.yy" + case 904: // ncr_protocol: "ncr-protocol" $@136 ":" ncr_protocol_value +#line 3084 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4786 "dhcp4_parser.cc" +#line 4796 "dhcp4_parser.cc" break; - case 901: // ncr_protocol_value: "udp" -#line 3080 "dhcp4_parser.yy" + case 905: // ncr_protocol_value: "udp" +#line 3090 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4792 "dhcp4_parser.cc" +#line 4802 "dhcp4_parser.cc" break; - case 902: // ncr_protocol_value: "tcp" -#line 3081 "dhcp4_parser.yy" + case 906: // ncr_protocol_value: "tcp" +#line 3091 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4798 "dhcp4_parser.cc" +#line 4808 "dhcp4_parser.cc" break; - case 903: // $@137: %empty -#line 3084 "dhcp4_parser.yy" + case 907: // $@137: %empty +#line 3094 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4807 "dhcp4_parser.cc" +#line 4817 "dhcp4_parser.cc" break; - case 904: // ncr_format: "ncr-format" $@137 ":" "JSON" -#line 3087 "dhcp4_parser.yy" + case 908: // ncr_format: "ncr-format" $@137 ":" "JSON" +#line 3097 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4817 "dhcp4_parser.cc" +#line 4827 "dhcp4_parser.cc" break; - case 905: // $@138: %empty -#line 3095 "dhcp4_parser.yy" + case 909: // $@138: %empty +#line 3105 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4825,48 +4835,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4829 "dhcp4_parser.cc" +#line 4839 "dhcp4_parser.cc" break; - case 906: // config_control: "config-control" $@138 ":" "{" config_control_params "}" -#line 3101 "dhcp4_parser.yy" + case 910: // config_control: "config-control" $@138 ":" "{" config_control_params "}" +#line 3111 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4839 "dhcp4_parser.cc" +#line 4849 "dhcp4_parser.cc" break; - case 907: // $@139: %empty -#line 3107 "dhcp4_parser.yy" + case 911: // $@139: %empty +#line 3117 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4849 "dhcp4_parser.cc" +#line 4859 "dhcp4_parser.cc" break; - case 908: // sub_config_control: "{" $@139 config_control_params "}" -#line 3111 "dhcp4_parser.yy" + case 912: // sub_config_control: "{" $@139 config_control_params "}" +#line 3121 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 4858 "dhcp4_parser.cc" +#line 4868 "dhcp4_parser.cc" break; - case 911: // config_control_params: config_control_params "," -#line 3119 "dhcp4_parser.yy" + case 915: // config_control_params: config_control_params "," +#line 3129 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4866 "dhcp4_parser.cc" +#line 4876 "dhcp4_parser.cc" break; - case 914: // $@140: %empty -#line 3129 "dhcp4_parser.yy" + case 918: // $@140: %empty +#line 3139 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4874,30 +4884,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4878 "dhcp4_parser.cc" +#line 4888 "dhcp4_parser.cc" break; - case 915: // config_databases: "config-databases" $@140 ":" "[" database_list "]" -#line 3135 "dhcp4_parser.yy" + case 919: // config_databases: "config-databases" $@140 ":" "[" database_list "]" +#line 3145 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4887 "dhcp4_parser.cc" +#line 4897 "dhcp4_parser.cc" break; - case 916: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 3140 "dhcp4_parser.yy" + case 920: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 3150 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4897 "dhcp4_parser.cc" +#line 4907 "dhcp4_parser.cc" break; - case 917: // $@141: %empty -#line 3148 "dhcp4_parser.yy" + case 921: // $@141: %empty +#line 3158 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4905,83 +4915,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4909 "dhcp4_parser.cc" +#line 4919 "dhcp4_parser.cc" break; - case 918: // loggers: "loggers" $@141 ":" "[" loggers_entries "]" -#line 3154 "dhcp4_parser.yy" + case 922: // loggers: "loggers" $@141 ":" "[" loggers_entries "]" +#line 3164 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4918 "dhcp4_parser.cc" +#line 4928 "dhcp4_parser.cc" break; - case 921: // loggers_entries: loggers_entries "," -#line 3163 "dhcp4_parser.yy" + case 925: // loggers_entries: loggers_entries "," +#line 3173 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4926 "dhcp4_parser.cc" +#line 4936 "dhcp4_parser.cc" break; - case 922: // $@142: %empty -#line 3169 "dhcp4_parser.yy" + case 926: // $@142: %empty +#line 3179 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4936 "dhcp4_parser.cc" +#line 4946 "dhcp4_parser.cc" break; - case 923: // logger_entry: "{" $@142 logger_params "}" -#line 3173 "dhcp4_parser.yy" + case 927: // logger_entry: "{" $@142 logger_params "}" +#line 3183 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4944 "dhcp4_parser.cc" +#line 4954 "dhcp4_parser.cc" break; - case 926: // logger_params: logger_params "," -#line 3179 "dhcp4_parser.yy" + case 930: // logger_params: logger_params "," +#line 3189 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4952 "dhcp4_parser.cc" +#line 4962 "dhcp4_parser.cc" break; - case 934: // debuglevel: "debuglevel" ":" "integer" -#line 3193 "dhcp4_parser.yy" + case 938: // debuglevel: "debuglevel" ":" "integer" +#line 3203 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4962 "dhcp4_parser.cc" +#line 4972 "dhcp4_parser.cc" break; - case 935: // $@143: %empty -#line 3199 "dhcp4_parser.yy" + case 939: // $@143: %empty +#line 3209 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4971 "dhcp4_parser.cc" +#line 4981 "dhcp4_parser.cc" break; - case 936: // severity: "severity" $@143 ":" "constant string" -#line 3202 "dhcp4_parser.yy" + case 940: // severity: "severity" $@143 ":" "constant string" +#line 3212 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4981 "dhcp4_parser.cc" +#line 4991 "dhcp4_parser.cc" break; - case 937: // $@144: %empty -#line 3208 "dhcp4_parser.yy" + case 941: // $@144: %empty +#line 3218 "dhcp4_parser.yy" { ctx.unique("output-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4989,122 +4999,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4993 "dhcp4_parser.cc" +#line 5003 "dhcp4_parser.cc" break; - case 938: // output_options_list: "output-options" $@144 ":" "[" output_options_list_content "]" -#line 3214 "dhcp4_parser.yy" + case 942: // output_options_list: "output-options" $@144 ":" "[" output_options_list_content "]" +#line 3224 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5002 "dhcp4_parser.cc" +#line 5012 "dhcp4_parser.cc" break; - case 941: // output_options_list_content: output_options_list_content "," -#line 3221 "dhcp4_parser.yy" + case 945: // output_options_list_content: output_options_list_content "," +#line 3231 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5010 "dhcp4_parser.cc" +#line 5020 "dhcp4_parser.cc" break; - case 942: // $@145: %empty -#line 3226 "dhcp4_parser.yy" + case 946: // $@145: %empty +#line 3236 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 5020 "dhcp4_parser.cc" +#line 5030 "dhcp4_parser.cc" break; - case 943: // output_entry: "{" $@145 output_params_list "}" -#line 3230 "dhcp4_parser.yy" + case 947: // output_entry: "{" $@145 output_params_list "}" +#line 3240 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 5028 "dhcp4_parser.cc" +#line 5038 "dhcp4_parser.cc" break; - case 946: // output_params_list: output_params_list "," -#line 3236 "dhcp4_parser.yy" + case 950: // output_params_list: output_params_list "," +#line 3246 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5036 "dhcp4_parser.cc" +#line 5046 "dhcp4_parser.cc" break; - case 952: // $@146: %empty -#line 3248 "dhcp4_parser.yy" + case 956: // $@146: %empty +#line 3258 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 5045 "dhcp4_parser.cc" +#line 5055 "dhcp4_parser.cc" break; - case 953: // output: "output" $@146 ":" "constant string" -#line 3251 "dhcp4_parser.yy" + case 957: // output: "output" $@146 ":" "constant string" +#line 3261 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 5055 "dhcp4_parser.cc" +#line 5065 "dhcp4_parser.cc" break; - case 954: // flush: "flush" ":" "boolean" -#line 3257 "dhcp4_parser.yy" + case 958: // flush: "flush" ":" "boolean" +#line 3267 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 5065 "dhcp4_parser.cc" +#line 5075 "dhcp4_parser.cc" break; - case 955: // maxsize: "maxsize" ":" "integer" -#line 3263 "dhcp4_parser.yy" + case 959: // maxsize: "maxsize" ":" "integer" +#line 3273 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 5075 "dhcp4_parser.cc" +#line 5085 "dhcp4_parser.cc" break; - case 956: // maxver: "maxver" ":" "integer" -#line 3269 "dhcp4_parser.yy" + case 960: // maxver: "maxver" ":" "integer" +#line 3279 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 5085 "dhcp4_parser.cc" +#line 5095 "dhcp4_parser.cc" break; - case 957: // $@147: %empty -#line 3275 "dhcp4_parser.yy" + case 961: // $@147: %empty +#line 3285 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 5094 "dhcp4_parser.cc" +#line 5104 "dhcp4_parser.cc" break; - case 958: // pattern: "pattern" $@147 ":" "constant string" -#line 3278 "dhcp4_parser.yy" + case 962: // pattern: "pattern" $@147 ":" "constant string" +#line 3288 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 5104 "dhcp4_parser.cc" +#line 5114 "dhcp4_parser.cc" break; - case 959: // $@148: %empty -#line 3284 "dhcp4_parser.yy" + case 963: // $@148: %empty +#line 3294 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -5112,68 +5122,68 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 5116 "dhcp4_parser.cc" +#line 5126 "dhcp4_parser.cc" break; - case 960: // compatibility: "compatibility" $@148 ":" "{" compatibility_params "}" -#line 3290 "dhcp4_parser.yy" + case 964: // compatibility: "compatibility" $@148 ":" "{" compatibility_params "}" +#line 3300 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5125 "dhcp4_parser.cc" +#line 5135 "dhcp4_parser.cc" break; - case 963: // compatibility_params: compatibility_params "," -#line 3297 "dhcp4_parser.yy" + case 967: // compatibility_params: compatibility_params "," +#line 3307 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5133 "dhcp4_parser.cc" +#line 5143 "dhcp4_parser.cc" break; - case 969: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 3309 "dhcp4_parser.yy" + case 973: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 3319 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 5143 "dhcp4_parser.cc" +#line 5153 "dhcp4_parser.cc" break; - case 970: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" -#line 3315 "dhcp4_parser.yy" + case 974: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" +#line 3325 "dhcp4_parser.yy" { ctx.unique("ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-dhcp-server-identifier", b); } -#line 5153 "dhcp4_parser.cc" +#line 5163 "dhcp4_parser.cc" break; - case 971: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" -#line 3321 "dhcp4_parser.yy" + case 975: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" +#line 3331 "dhcp4_parser.yy" { ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-rai-link-selection", b); } -#line 5163 "dhcp4_parser.cc" +#line 5173 "dhcp4_parser.cc" break; - case 972: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" -#line 3327 "dhcp4_parser.yy" + case 976: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" +#line 3337 "dhcp4_parser.yy" { ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("exclude-first-last-24", b); } -#line 5173 "dhcp4_parser.cc" +#line 5183 "dhcp4_parser.cc" break; -#line 5177 "dhcp4_parser.cc" +#line 5187 "dhcp4_parser.cc" default: break; @@ -5525,161 +5535,162 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -1405; + const short Dhcp4Parser::yypact_ninf_ = -1384; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 464, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, 28, 37, 38, 44, 80, 90, - 106, 109, 140, 171, 175, 188, 196, 228, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, 37, -173, 60, 279, 168, 722, - 1463, 62, -8, 346, 154, -84, 479, 23, -1405, 124, - 225, 239, 248, 261, -1405, 45, -1405, -1405, -1405, -1405, - 262, 268, 283, -1405, -1405, -1405, 299, 300, -1405, -1405, - -1405, 303, 315, 327, 328, 329, 341, 342, 343, 381, - 383, 384, -1405, 385, 387, 393, 394, 402, -1405, -1405, - -1405, 424, 430, 440, 458, 459, 463, 467, -1405, -1405, - -1405, 468, -1405, -1405, -1405, -1405, -1405, 469, 470, 472, - -1405, -1405, -1405, -1405, -1405, 473, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 474, 475, 476, -1405, -1405, 477, -1405, - 134, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 478, 486, 487, 488, - -1405, 169, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 490, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 172, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - 491, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, 193, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 275, - 318, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 417, -1405, -1405, 492, -1405, -1405, -1405, - 495, -1405, -1405, 453, 498, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 499, 501, - 502, -1405, -1405, -1405, -1405, -1405, 494, 504, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, 209, -1405, -1405, -1405, 505, -1405, 506, -1405, - 507, 509, -1405, -1405, -1405, -1405, -1405, 221, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 513, 242, - -1405, -1405, -1405, -1405, 37, 37, -1405, 284, 515, -1405, - -1405, 518, 522, 525, 293, 294, 296, 532, 534, 536, - 304, 307, 544, 546, 547, 316, 321, 323, 325, 330, - 313, 332, 337, 338, 331, 344, 551, 348, 351, 339, - 353, 354, 562, 573, 575, 355, 356, 345, 359, 361, - 363, 366, 576, 586, 602, 371, 606, 610, 613, 614, - 617, 388, 389, 392, 619, 629, 634, 640, 642, 412, - 647, 648, 650, 655, 660, 661, 663, 438, 441, 443, - 674, 679, -1405, 279, -1405, 680, 681, 696, 462, 466, - 465, 471, 168, -1405, 699, 702, 703, 705, 706, 707, - 484, 708, 709, 710, 718, 719, 722, -1405, 721, 489, - 1463, -1405, 723, 724, 725, 726, 727, 728, 729, 730, - -1405, 62, -1405, 731, 732, 500, 734, 737, 740, 508, - -1405, 346, 741, 510, 511, 519, 742, -1405, 154, 744, - 755, -72, -1405, 521, 757, 527, 758, 528, 529, 767, - 768, 479, -1405, 769, 537, 23, -1405, -1405, -1405, 771, - 772, 773, 774, 775, -1405, -1405, -1405, 540, 548, 549, - -1405, -1405, 776, 781, 786, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 566, -1405, -1405, -1405, - -1405, -1405, -3, 567, 568, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, 800, 814, 818, -1405, 589, 136, 821, 820, - 592, -1405, -1405, -1405, 824, 825, 827, 828, 831, -1405, - 832, 834, 829, 835, 837, 599, 604, -1405, -1405, -1405, - 848, 850, -1405, 853, 123, 205, -1405, -1405, -1405, -1405, - -1405, 623, 624, 626, 859, 630, 631, -1405, 853, 853, - 853, 632, 858, -1405, 633, -1405, -1405, 853, 636, 652, - 653, 654, 667, 668, 669, -1405, 670, 671, -1405, 672, - 673, 675, -1405, -1405, 676, -1405, -1405, -1405, 853, -1405, - 677, 820, -1405, -1405, 678, -1405, 682, -1405, -1405, 4, - 711, -1405, 865, -1405, -1405, 37, 279, 23, 168, 254, - -1405, -1405, -1405, 833, 833, 908, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 909, 910, 912, -1405, -1405, - -1405, -1405, -1405, -1405, 913, -1405, -1405, -1405, 103, 914, - 915, 916, 63, 165, 595, 917, -69, 479, -1405, -1405, - 918, -6, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 921, -1405, -1405, -1405, -1405, -1405, -1405, - 779, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 908, -1405, 276, 277, 291, - -1405, -1405, 317, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - 926, 927, 928, 929, 930, 931, 933, 934, 935, 936, - -1405, 937, 938, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, 340, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 374, - -1405, 939, 940, -1405, -1405, 941, 943, -1405, -1405, 942, - 946, -1405, -1405, 944, 948, -1405, -1405, 947, 949, -1405, - -1405, -1405, -1405, -1405, -1405, 98, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 121, -1405, -1405, 950, 951, -1405, -1405, - 953, 952, -1405, 956, 957, 958, 959, 960, 961, 375, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, 962, 963, 964, - -1405, 376, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, 965, -1405, 966, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, 397, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, 967, 954, -1405, 968, -1405, 970, -1405, -1405, -1405, - 409, -1405, -1405, -1405, -1405, -1405, 411, -1405, 151, -1405, - 971, 972, 973, 974, -1405, 415, -1405, -1405, -1405, -1405, - -1405, 735, -1405, 975, 976, -1405, -1405, 977, -1405, 978, - -1405, -1405, -1405, 979, 982, 254, -1405, 983, 984, 985, - 986, 743, 752, 745, 753, 756, 759, 760, 762, 763, - 765, 990, 764, 777, 991, 1002, 1006, 1009, 1016, 833, - -1405, -1405, 833, -1405, 908, 722, -1405, 909, 346, -1405, - 910, 154, -1405, 912, 1405, -1405, 913, 103, -1405, 199, - 914, -1405, 62, -1405, 915, -84, -1405, 916, 785, 788, - 791, 792, 799, 803, 63, -1405, 784, 809, 812, 165, - -1405, 1047, 1050, 1055, 826, 1058, 844, 1080, 595, -1405, - 595, -1405, 917, 847, 1087, 855, 1089, -69, -1405, -1405, - 203, 918, -1405, 860, 862, 870, 887, -6, -1405, -1405, - 1098, 1129, 1463, -1405, 921, 1132, -1405, -1405, 906, 911, - -1405, 969, 980, 981, 987, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 34, -1405, -1405, 988, 989, - 992, 174, 993, -1405, 418, -1405, 419, -1405, 1156, -1405, - 1166, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 421, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 1176, 1178, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, 1179, 1186, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - 1182, -1405, 428, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 126, 994, 995, -1405, 1185, - -1405, 1188, -1405, 429, -1405, -1405, 996, -1405, 37, -1405, - -1405, 1190, -1405, -1405, -1405, -1405, -1405, 435, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 997, - 439, -1405, 853, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, 1405, -1405, 1191, 1193, 998, 999, -1405, 199, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -9, 1192, - -1405, -1405, -1405, 1196, 1003, 1198, 203, -1405, -1405, -1405, - -1405, -1405, 1000, 1005, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, 445, -1405, -1405, -1405, -1405, -1405, - -1405, 1197, 1201, -1405, 1202, -1405, 1007, -1405, -1405, -1405, - 1205, 1206, 1208, 1210, -9, -1405, -25, -1405, 1192, 1211, - -1405, 1039, 1008, 1010, 1215, -1405, -1405, -1405, -1405, -1405, - -1405, 447, -1405, -1405, -1405, -1405, 159, -1405, -1405, -1405, - -1405, -1405, 1214, 1218, -25, -1405, -108, 1211, -1405, -1405, - 1220, 1224, -1405, 1011, -1405, -1405, 1230, 1231, 1235, -1405, - 451, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 8, -1405, - 1214, -1405, 1238, 1012, 1013, 1015, 1241, -108, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 457, -1405, -1405, -1405, - -1405, 1017, -1405, -1405, -1405, 1018, -1405, 1244, 1245, 8, - -1405, -1405, -1405, 1020, 1021, -1405, -1405, -1405 + 468, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 80, 37, 44, 46, 109, 117, + 120, 150, 161, 168, 176, 195, 213, 223, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 37, -150, 85, 276, 82, 727, + 1476, 98, -3, 343, 88, -118, 544, 96, -1384, 180, + 254, 114, 256, 262, -1384, 25, -1384, -1384, -1384, -1384, + 275, 296, 299, -1384, -1384, -1384, 300, 330, -1384, -1384, + -1384, 332, 341, 376, 382, 408, 409, 430, 438, 442, + 444, 447, 448, -1384, 449, 453, 454, 455, 456, -1384, + -1384, -1384, 457, 459, 460, 461, 465, 467, 469, -1384, + -1384, -1384, 470, -1384, -1384, -1384, -1384, -1384, 471, 472, + 473, -1384, -1384, -1384, -1384, -1384, 474, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 476, 483, 484, -1384, -1384, 485, + -1384, 62, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 486, 487, + 488, 490, -1384, 134, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + 492, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 144, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, 494, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 151, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, 277, 294, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 325, -1384, -1384, 497, + -1384, -1384, -1384, 499, -1384, -1384, 335, 420, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, 501, 502, 503, -1384, -1384, -1384, -1384, -1384, 425, + 506, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, 169, -1384, -1384, -1384, 507, + -1384, 510, -1384, 511, 513, -1384, -1384, -1384, -1384, -1384, + 177, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, 515, 179, -1384, -1384, -1384, -1384, 37, 37, -1384, + -124, 517, -1384, -1384, 519, 520, 522, 270, 290, 297, + 529, 532, 535, 234, 302, 536, 540, 541, 312, 314, + 316, 317, 321, 322, 327, 331, 333, 326, 340, 336, + 567, 344, 345, 346, 347, 349, 577, 580, 581, 352, + 354, 357, 359, 360, 361, 362, 596, 600, 602, 369, + 605, 606, 610, 614, 617, 385, 387, 391, 618, 628, + 631, 633, 638, 410, 646, 649, 651, 652, 654, 662, + 667, 434, 436, 439, 669, 673, -1384, 276, -1384, 674, + 676, 677, 443, 445, 450, 451, 82, -1384, 678, 683, + 686, 701, 702, 703, 475, 704, 706, 707, 708, 710, + 727, -1384, 711, 478, 1476, -1384, 713, 714, 715, 716, + 722, 723, 724, 726, -1384, 98, -1384, 728, 729, 493, + 730, 739, 742, 509, -1384, 343, 746, 512, 514, 523, + 747, -1384, 88, 749, 751, -85, -1384, 524, 761, 528, + 763, 531, 533, 766, 772, 544, -1384, 773, 542, 96, + -1384, -1384, -1384, 774, 777, 778, 779, 780, -1384, -1384, + -1384, 551, 552, 553, -1384, -1384, 786, 789, 803, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, 572, -1384, -1384, -1384, -1384, -1384, 14, 573, 574, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, 820, 824, 826, + -1384, 595, 203, 828, 827, 598, -1384, -1384, -1384, 832, + 833, 834, 835, 837, -1384, 838, 839, 836, 840, 841, + 613, 622, -1384, -1384, -1384, 858, 857, -1384, 860, 123, + 228, -1384, -1384, -1384, -1384, -1384, 629, 634, 635, 863, + 636, 637, -1384, 860, 860, 860, 639, 868, -1384, 641, + -1384, -1384, 860, 642, 643, 644, 645, 647, 648, 650, + -1384, 653, 670, -1384, 671, 684, 685, -1384, -1384, 687, + -1384, -1384, -1384, 860, -1384, 688, 827, -1384, -1384, 689, + -1384, 690, -1384, -1384, 4, 579, -1384, 865, -1384, -1384, + 37, 276, 96, 82, 137, -1384, -1384, -1384, 851, 851, + 876, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + 879, 881, 882, -1384, -1384, -1384, -1384, -1384, -1384, 899, + -1384, -1384, -1384, 106, 916, 921, 922, 170, -75, 599, + 923, 45, 544, -1384, -1384, 924, -12, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 927, -1384, + -1384, -1384, -1384, -1384, -1384, 784, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + 876, -1384, 196, 197, 211, -1384, -1384, 221, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, 932, 933, 934, 935, 936, + 937, 938, 939, 940, 941, -1384, 942, 943, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 253, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 280, -1384, 944, 945, -1384, -1384, + 946, 948, -1384, -1384, 947, 951, -1384, -1384, 950, 954, + -1384, -1384, 952, 956, -1384, -1384, -1384, -1384, -1384, -1384, + 42, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 75, -1384, + -1384, 955, 957, -1384, -1384, 959, 960, -1384, 958, 962, + 963, 964, 965, 966, 281, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, 967, 968, 969, -1384, 283, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 970, -1384, 971, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 293, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 972, 973, -1384, 975, + -1384, 976, -1384, -1384, -1384, 329, -1384, -1384, -1384, -1384, + -1384, 373, -1384, 90, -1384, 977, 978, 979, 980, -1384, + 374, -1384, -1384, -1384, -1384, -1384, 712, -1384, 981, 974, + -1384, -1384, 982, -1384, 983, -1384, -1384, -1384, 984, 987, + 137, -1384, 988, 989, 990, 991, 748, 745, 758, 757, + 760, 762, 764, 767, 769, 770, 995, 771, 781, 997, + 1000, 1011, 1014, 1021, 851, -1384, -1384, 851, -1384, 876, + 727, -1384, 879, 343, -1384, 881, 88, -1384, 882, 1418, + -1384, 899, 106, -1384, 156, 916, -1384, 98, -1384, 921, + -118, -1384, 922, 790, 792, 795, 796, 807, 813, 170, + -1384, 787, 816, 818, -75, -1384, 1037, 1055, 1060, 829, + 1064, 849, 1070, 599, -1384, 599, -1384, 923, 856, 1087, + 859, 1094, 45, -1384, -1384, 174, 924, -1384, 864, 866, + 869, 874, -12, -1384, -1384, 1125, 1134, 1476, -1384, 927, + 1137, -1384, -1384, 910, 915, -1384, 961, 985, 986, 992, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + 339, -1384, -1384, 993, 994, 996, 172, 998, -1384, 381, + -1384, 407, -1384, 1161, -1384, 1171, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 411, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, 1183, 1188, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, 1187, 1194, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 1191, -1384, 417, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, 232, 999, 1001, -1384, 1193, -1384, 1197, -1384, 418, + -1384, -1384, 1002, -1384, 37, -1384, -1384, 1200, -1384, -1384, + -1384, -1384, -1384, 419, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, 1003, 421, -1384, 860, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 1418, -1384, + 1201, 1203, 1004, 1005, -1384, 156, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 138, 1202, -1384, -1384, -1384, 1204, + 1008, 1206, 174, -1384, -1384, -1384, -1384, -1384, 1006, 1010, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + 427, -1384, -1384, -1384, -1384, -1384, -1384, 1208, 1209, -1384, + 1210, -1384, 1012, -1384, -1384, -1384, 1213, 1215, 1216, 1217, + 138, -1384, -70, -1384, 1202, 1219, -1384, 1047, 1013, 1015, + 1222, -1384, -1384, -1384, -1384, -1384, -1384, 429, -1384, -1384, + -1384, -1384, 111, -1384, -1384, -1384, -1384, -1384, 1221, 1228, + -70, -1384, 55, 1219, -1384, -1384, 1231, 1238, -1384, 1016, + -1384, -1384, 1230, 1244, 1247, -1384, 433, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 375, -1384, 1221, -1384, 1250, 1017, + 1018, 1020, 1251, 55, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, 437, -1384, -1384, -1384, -1384, 1022, -1384, -1384, + -1384, 1023, -1384, 1258, 1259, 375, -1384, -1384, -1384, 1027, + 1029, -1384, -1384, -1384 }; const short @@ -5689,864 +5700,870 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 44, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 59, 5, 65, 7, 214, 9, 399, 11, 626, 13, - 671, 15, 541, 17, 550, 19, 589, 21, 361, 23, - 875, 25, 907, 27, 46, 39, 0, 0, 0, 0, - 0, 673, 0, 552, 591, 0, 0, 0, 48, 0, - 47, 0, 0, 40, 61, 0, 63, 905, 199, 232, - 0, 0, 0, 693, 695, 697, 0, 0, 230, 243, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 153, 0, 0, 0, 0, 0, 164, 171, - 173, 0, 0, 0, 0, 0, 0, 0, 390, 539, - 580, 0, 156, 177, 479, 658, 660, 0, 0, 0, - 323, 720, 662, 352, 373, 0, 338, 757, 759, 856, - 873, 187, 189, 0, 0, 0, 917, 959, 0, 141, - 0, 67, 70, 71, 72, 73, 74, 108, 109, 110, - 111, 112, 75, 104, 137, 138, 93, 94, 95, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 114, 115, 129, 130, 131, 133, 134, 135, - 139, 140, 78, 79, 101, 80, 81, 82, 132, 86, - 87, 76, 105, 106, 107, 77, 84, 85, 99, 100, - 102, 96, 97, 98, 83, 88, 89, 90, 91, 92, - 103, 113, 136, 216, 218, 222, 0, 0, 0, 0, - 213, 0, 201, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 459, 461, 463, 617, 457, 465, 0, 469, - 471, 473, 467, 715, 456, 404, 405, 406, 407, 408, - 433, 434, 435, 436, 437, 454, 423, 424, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 455, 0, 401, 411, 428, 429, - 430, 412, 414, 415, 416, 417, 419, 420, 421, 413, - 409, 410, 431, 432, 418, 425, 426, 427, 422, 655, - 0, 654, 638, 639, 640, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 634, 635, 636, 637, - 633, 0, 628, 631, 632, 652, 653, 713, 699, 701, - 703, 707, 705, 711, 709, 692, 686, 690, 691, 0, - 674, 675, 687, 688, 689, 683, 678, 684, 680, 681, - 682, 685, 679, 0, 570, 290, 0, 574, 572, 577, - 0, 566, 567, 0, 553, 554, 557, 569, 558, 559, - 560, 576, 561, 562, 563, 564, 565, 608, 0, 0, - 0, 615, 606, 607, 610, 611, 0, 592, 593, 596, - 597, 598, 599, 600, 601, 602, 605, 603, 604, 369, - 371, 366, 0, 363, 367, 368, 0, 892, 0, 895, - 0, 0, 899, 903, 890, 888, 889, 0, 877, 880, - 881, 882, 883, 884, 885, 886, 887, 914, 0, 0, - 909, 912, 913, 45, 50, 0, 37, 43, 0, 64, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 5, 65, 7, 216, 9, 401, 11, 630, 13, + 675, 15, 545, 17, 554, 19, 593, 21, 363, 23, + 879, 25, 911, 27, 46, 39, 0, 0, 0, 0, + 0, 677, 0, 556, 595, 0, 0, 0, 48, 0, + 47, 0, 0, 40, 61, 0, 63, 909, 201, 234, + 0, 0, 0, 697, 699, 701, 0, 0, 232, 245, + 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 155, 0, 0, 0, 0, 0, 166, + 173, 175, 0, 0, 0, 0, 0, 0, 0, 392, + 543, 584, 0, 158, 179, 482, 662, 664, 0, 0, + 0, 325, 724, 666, 354, 375, 0, 340, 761, 763, + 860, 877, 189, 191, 0, 0, 0, 921, 963, 0, + 142, 0, 67, 70, 71, 72, 73, 74, 108, 109, + 110, 111, 112, 113, 75, 104, 138, 139, 93, 94, + 95, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 115, 116, 130, 131, 132, 134, + 135, 136, 140, 141, 78, 79, 101, 80, 81, 82, + 133, 86, 87, 76, 105, 106, 107, 77, 84, 85, + 99, 100, 102, 96, 97, 98, 83, 88, 89, 90, + 91, 92, 103, 114, 137, 218, 220, 224, 0, 0, + 0, 0, 215, 0, 203, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 462, 464, 466, 621, 460, 468, + 0, 472, 474, 476, 470, 719, 459, 406, 407, 408, + 409, 410, 435, 436, 437, 438, 439, 440, 457, 425, + 426, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 458, 0, 403, + 413, 430, 431, 432, 414, 416, 417, 418, 419, 421, + 422, 423, 415, 411, 412, 433, 434, 420, 427, 428, + 429, 424, 659, 0, 658, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 638, + 639, 640, 641, 637, 0, 632, 635, 636, 656, 657, + 717, 703, 705, 707, 711, 709, 715, 713, 696, 690, + 694, 695, 0, 678, 679, 691, 692, 693, 687, 682, + 688, 684, 685, 686, 689, 683, 0, 574, 292, 0, + 578, 576, 581, 0, 570, 571, 0, 557, 558, 561, + 573, 562, 563, 564, 580, 565, 566, 567, 568, 569, + 612, 0, 0, 0, 619, 610, 611, 614, 615, 0, + 596, 597, 600, 601, 602, 603, 604, 605, 606, 609, + 607, 608, 371, 373, 368, 0, 365, 369, 370, 0, + 896, 0, 899, 0, 0, 903, 907, 894, 892, 893, + 0, 881, 884, 885, 886, 887, 888, 889, 890, 891, + 918, 0, 0, 913, 916, 917, 45, 50, 0, 37, + 43, 0, 64, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 58, 69, 66, 0, 0, 0, 0, 0, - 0, 0, 203, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 403, 400, 0, 0, - 630, 627, 0, 0, 0, 0, 0, 0, 0, 0, - 672, 677, 542, 0, 0, 0, 0, 0, 0, 0, - 551, 556, 0, 0, 0, 0, 0, 590, 595, 0, - 0, 365, 362, 0, 0, 0, 0, 0, 0, 0, - 0, 879, 876, 0, 0, 911, 908, 49, 41, 0, - 0, 0, 0, 0, 158, 159, 160, 0, 0, 0, - 197, 198, 0, 0, 0, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 0, 192, 193, 161, - 162, 163, 0, 0, 0, 175, 176, 183, 184, 185, - 186, 191, 0, 0, 0, 155, 0, 0, 0, 0, - 0, 475, 476, 477, 0, 0, 0, 0, 0, 756, - 0, 0, 0, 0, 0, 0, 0, 194, 195, 196, - 0, 0, 68, 0, 0, 0, 226, 227, 228, 229, - 202, 0, 0, 0, 0, 0, 0, 478, 0, 0, - 0, 0, 0, 402, 0, 657, 629, 0, 0, 0, - 0, 0, 0, 0, 0, 676, 0, 0, 568, 0, - 0, 0, 579, 555, 0, 612, 613, 614, 0, 594, - 0, 0, 364, 891, 0, 894, 0, 897, 898, 0, - 0, 878, 0, 916, 910, 0, 0, 0, 0, 0, - 694, 696, 698, 0, 0, 247, 154, 166, 167, 168, - 169, 170, 165, 172, 174, 392, 543, 582, 157, 179, - 180, 181, 182, 178, 481, 38, 659, 661, 0, 0, - 664, 354, 0, 0, 0, 761, 0, 0, 188, 190, - 0, 0, 51, 217, 220, 221, 219, 224, 225, 223, - 460, 462, 464, 619, 458, 466, 470, 472, 474, 468, - 0, 656, 714, 700, 702, 704, 708, 706, 712, 710, - 571, 291, 575, 573, 578, 609, 616, 370, 372, 893, - 896, 901, 902, 900, 904, 247, 42, 0, 0, 0, - 239, 241, 0, 234, 237, 238, 281, 283, 285, 287, + 0, 0, 0, 0, 0, 0, 58, 69, 66, 0, + 0, 0, 0, 0, 0, 0, 205, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 301, 0, 0, 308, 310, 312, 314, 316, 317, 318, - 319, 320, 321, 280, 0, 254, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 0, - 252, 0, 248, 249, 397, 0, 393, 394, 548, 0, - 544, 545, 587, 0, 583, 584, 486, 0, 482, 483, - 333, 334, 335, 336, 337, 0, 325, 328, 329, 330, - 331, 332, 725, 0, 722, 669, 0, 665, 666, 359, - 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, - 375, 378, 379, 380, 381, 382, 383, 0, 0, 0, - 348, 0, 340, 343, 344, 345, 346, 347, 784, 789, - 791, 0, 814, 0, 795, 783, 776, 777, 778, 781, - 782, 0, 768, 771, 772, 773, 774, 779, 780, 775, - 766, 0, 762, 763, 0, 868, 0, 871, 864, 865, - 0, 858, 861, 862, 863, 866, 0, 922, 0, 919, - 0, 0, 0, 0, 968, 0, 961, 964, 965, 966, - 967, 53, 624, 0, 620, 621, 718, 0, 717, 0, - 62, 906, 200, 0, 0, 236, 233, 0, 0, 0, + 405, 402, 0, 0, 634, 631, 0, 0, 0, 0, + 0, 0, 0, 0, 676, 681, 546, 0, 0, 0, + 0, 0, 0, 0, 555, 560, 0, 0, 0, 0, + 0, 594, 599, 0, 0, 367, 364, 0, 0, 0, + 0, 0, 0, 0, 0, 883, 880, 0, 0, 915, + 912, 49, 41, 0, 0, 0, 0, 0, 160, 161, + 162, 0, 0, 0, 199, 200, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 0, 194, 195, 163, 164, 165, 0, 0, 0, + 177, 178, 185, 186, 187, 188, 193, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 478, 479, 480, 0, + 0, 0, 0, 0, 760, 0, 0, 0, 0, 0, + 0, 0, 196, 197, 198, 0, 0, 68, 0, 0, + 0, 228, 229, 230, 231, 204, 0, 0, 0, 0, + 0, 0, 481, 0, 0, 0, 0, 0, 404, 0, + 661, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 680, 0, 0, 572, 0, 0, 0, 583, 559, 0, + 616, 617, 618, 0, 598, 0, 0, 366, 895, 0, + 898, 0, 901, 902, 0, 0, 882, 0, 920, 914, + 0, 0, 0, 0, 0, 698, 700, 702, 0, 0, + 249, 156, 168, 169, 170, 171, 172, 167, 174, 176, + 394, 547, 586, 159, 181, 182, 183, 184, 180, 484, + 38, 663, 665, 0, 0, 668, 356, 0, 0, 0, + 765, 0, 0, 190, 192, 0, 0, 51, 219, 222, + 223, 221, 226, 227, 225, 463, 465, 467, 623, 461, + 469, 473, 475, 477, 471, 0, 660, 718, 704, 706, + 708, 712, 710, 716, 714, 575, 293, 579, 577, 582, + 613, 620, 372, 374, 897, 900, 905, 906, 904, 908, + 249, 42, 0, 0, 0, 241, 243, 0, 236, 239, + 240, 283, 285, 287, 289, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 303, 0, 0, 310, 312, + 314, 316, 318, 319, 320, 321, 322, 323, 282, 0, + 256, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 0, 254, 0, 250, 251, 399, + 0, 395, 396, 552, 0, 548, 549, 591, 0, 587, + 588, 489, 0, 485, 486, 335, 336, 337, 338, 339, + 0, 327, 330, 331, 332, 333, 334, 729, 0, 726, + 673, 0, 669, 670, 361, 0, 357, 358, 0, 0, + 0, 0, 0, 0, 0, 377, 380, 381, 382, 383, + 384, 385, 0, 0, 0, 350, 0, 342, 345, 346, + 347, 348, 349, 788, 793, 795, 0, 818, 0, 799, + 787, 780, 781, 782, 785, 786, 0, 772, 775, 776, + 777, 778, 783, 784, 779, 770, 0, 766, 767, 0, + 872, 0, 875, 868, 869, 0, 862, 865, 866, 867, + 870, 0, 926, 0, 923, 0, 0, 0, 0, 972, + 0, 965, 968, 969, 970, 971, 53, 628, 0, 624, + 625, 722, 0, 721, 0, 62, 910, 202, 0, 0, + 238, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 231, 244, 0, 246, 251, 0, 391, 396, 552, 540, - 547, 591, 581, 586, 0, 480, 485, 327, 324, 727, - 724, 721, 673, 663, 668, 0, 353, 358, 0, 0, - 0, 0, 0, 0, 377, 374, 0, 0, 0, 342, - 339, 0, 0, 0, 0, 0, 0, 0, 770, 758, - 0, 760, 765, 0, 0, 0, 0, 860, 857, 874, - 0, 921, 918, 0, 0, 0, 0, 963, 960, 55, - 0, 54, 0, 618, 623, 0, 716, 915, 0, 0, - 235, 0, 0, 0, 0, 289, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 0, 306, 307, 0, 0, - 0, 0, 0, 255, 0, 250, 0, 395, 0, 546, - 0, 585, 538, 510, 511, 512, 494, 495, 515, 516, - 517, 518, 519, 536, 497, 498, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 537, 491, 492, 493, 506, 507, 508, 509, - 503, 504, 505, 0, 488, 496, 513, 514, 499, 500, - 501, 502, 484, 326, 750, 752, 0, 0, 744, 745, - 746, 747, 748, 749, 737, 738, 742, 743, 739, 740, - 741, 0, 728, 729, 732, 733, 734, 735, 736, 723, - 0, 667, 0, 357, 384, 385, 386, 387, 388, 389, - 376, 349, 350, 351, 341, 0, 0, 0, 793, 0, - 794, 0, 769, 0, 764, 867, 0, 870, 0, 859, - 937, 0, 935, 933, 927, 931, 932, 0, 924, 929, - 930, 928, 920, 969, 970, 971, 972, 962, 52, 57, - 0, 622, 0, 240, 242, 282, 284, 286, 288, 303, - 304, 305, 302, 309, 311, 313, 315, 322, 253, 398, - 549, 588, 490, 487, 0, 0, 0, 0, 726, 731, - 670, 360, 786, 787, 788, 785, 790, 792, 0, 797, - 767, 869, 872, 0, 0, 0, 926, 923, 56, 625, - 719, 489, 0, 0, 754, 755, 730, 826, 829, 831, - 833, 825, 824, 823, 0, 816, 819, 820, 821, 822, - 802, 0, 798, 799, 0, 934, 0, 925, 751, 753, - 0, 0, 0, 0, 818, 815, 0, 796, 801, 0, - 936, 0, 0, 0, 0, 817, 812, 811, 807, 809, - 810, 0, 804, 808, 800, 942, 0, 939, 828, 827, - 830, 832, 835, 0, 806, 803, 0, 941, 938, 840, - 0, 836, 837, 0, 805, 952, 0, 0, 0, 957, - 0, 944, 947, 948, 949, 950, 951, 940, 0, 834, - 839, 813, 0, 0, 0, 0, 0, 946, 943, 852, - 854, 851, 845, 847, 849, 850, 0, 842, 846, 848, - 838, 0, 954, 955, 956, 0, 945, 0, 0, 844, - 841, 953, 958, 0, 0, 843, 853, 855 + 0, 0, 0, 0, 258, 233, 246, 0, 248, 253, + 0, 393, 398, 556, 544, 551, 595, 585, 590, 0, + 483, 488, 329, 326, 731, 728, 725, 677, 667, 672, + 0, 355, 360, 0, 0, 0, 0, 0, 0, 379, + 376, 0, 0, 0, 344, 341, 0, 0, 0, 0, + 0, 0, 0, 774, 762, 0, 764, 769, 0, 0, + 0, 0, 864, 861, 878, 0, 925, 922, 0, 0, + 0, 0, 967, 964, 55, 0, 54, 0, 622, 627, + 0, 720, 919, 0, 0, 237, 0, 0, 0, 0, + 291, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 0, 308, 309, 0, 0, 0, 0, 0, 257, 0, + 252, 0, 397, 0, 550, 0, 589, 542, 513, 514, + 515, 497, 498, 518, 519, 520, 521, 522, 523, 540, + 500, 501, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 541, 494, + 495, 496, 509, 510, 511, 512, 506, 507, 508, 0, + 491, 499, 516, 517, 502, 503, 504, 505, 487, 328, + 754, 756, 0, 0, 748, 749, 750, 751, 752, 753, + 741, 742, 746, 747, 743, 744, 745, 0, 732, 733, + 736, 737, 738, 739, 740, 727, 0, 671, 0, 359, + 386, 387, 388, 389, 390, 391, 378, 351, 352, 353, + 343, 0, 0, 0, 797, 0, 798, 0, 773, 0, + 768, 871, 0, 874, 0, 863, 941, 0, 939, 937, + 931, 935, 936, 0, 928, 933, 934, 932, 924, 973, + 974, 975, 976, 966, 52, 57, 0, 626, 0, 242, + 244, 284, 286, 288, 290, 305, 306, 307, 304, 311, + 313, 315, 317, 324, 255, 400, 553, 592, 493, 490, + 0, 0, 0, 0, 730, 735, 674, 362, 790, 791, + 792, 789, 794, 796, 0, 801, 771, 873, 876, 0, + 0, 0, 930, 927, 56, 629, 723, 492, 0, 0, + 758, 759, 734, 830, 833, 835, 837, 829, 828, 827, + 0, 820, 823, 824, 825, 826, 806, 0, 802, 803, + 0, 938, 0, 929, 755, 757, 0, 0, 0, 0, + 822, 819, 0, 800, 805, 0, 940, 0, 0, 0, + 0, 821, 816, 815, 811, 813, 814, 0, 808, 812, + 804, 946, 0, 943, 832, 831, 834, 836, 839, 0, + 810, 807, 0, 945, 942, 844, 0, 840, 841, 0, + 809, 956, 0, 0, 0, 961, 0, 948, 951, 952, + 953, 954, 955, 944, 0, 838, 843, 817, 0, 0, + 0, 0, 0, 950, 947, 856, 858, 855, 849, 851, + 853, 854, 0, 846, 850, 852, 842, 0, 958, 959, + 960, 0, 949, 0, 0, 848, 845, 957, 962, 0, + 0, 847, 857, 859 }; const short Dhcp4Parser::yypgoto_[] = { - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -59, -1405, -626, -1405, 213, - -1405, -1405, -1405, -1405, -1405, -1405, -640, -1405, -1405, -1405, - -67, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 512, 739, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -59, -1384, -633, -1384, 534, + -1384, -1384, -1384, -1384, -1384, -1384, -645, -1384, -1384, -1384, + -67, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 491, 732, 16, 31, 33, -26, 84, 86, 87, 89, 91, 92, - -1405, -1405, -1405, -1405, 94, -1405, -1405, 97, 102, -13, - 13, 41, 51, -1405, -1405, 53, -1405, 56, -1405, 59, - 104, 64, -1405, -1405, 66, 69, 74, 76, 79, -1405, - 81, -1405, 105, -1405, -1405, -1405, -1405, -1405, 43, -1405, - -1405, -1405, 516, 733, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 226, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, 425, -1405, 201, -1405, -738, 204, -1405, -1405, - -1404, -1405, -1377, -1405, -1405, -1405, -1405, -63, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -770, -1405, -769, -1405, -766, -1405, 115, - -1405, -1405, -1405, -1405, -1405, -1405, 190, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, 178, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, 181, -1405, -1405, -1405, 185, 689, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 179, -1405, -1405, -1405, - -1405, -1405, -1405, -1057, -1405, -1405, -1405, 215, -1405, -1405, - -1405, 219, 736, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1055, -1405, -29, -1405, -18, -1405, -4, -1405, 5, - -1405, 107, 110, 112, -1405, -1405, -1405, -1405, -1405, 210, - -1405, -1405, -35, -60, -1405, -1405, -1405, -1405, -1405, 218, - -1405, -1405, -1405, 223, -1405, 714, -1405, -34, -1405, -1405, - -1405, -1405, -1405, -27, -1405, -1405, -1405, -1405, -1405, -32, - -1405, -1405, -1405, 216, -1405, -1405, -1405, 227, -1405, 712, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, 167, -1405, -1405, -1405, 173, 746, - -1405, -1405, -1405, -44, -1405, 3, -1405, -56, -1405, -1405, - -1405, 224, -1405, -1405, -1405, 217, -1405, 749, -48, -1405, - -7, -1405, 15, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1054, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 230, -1405, - -1405, -1405, -22, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, 191, -1405, 202, - 206, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -77, -1405, -1405, -101, -1405, -1405, - -1405, -1405, -1405, -68, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -119, -1405, -1405, -145, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 211, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, 539, 738, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, 582, 747, -1405, -1405, - -1405, -1405, -1405, -1405, 212, -1405, -1405, -16, -1405, -1405, - -1405, -1405, -1405, -1405, -86, -1405, -1405, -113, -1405, -1405, - -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 229, -1405, - -1405, -1405, -1405 + 94, -1384, -1384, -1384, -1384, 97, -1384, -1384, 102, 104, + -13, 13, 41, 51, -1384, -1384, 53, -1384, 56, -1384, + 59, 105, 64, -1384, -1384, 66, 69, 74, 76, 79, + -1384, 81, -1384, 107, -1384, -1384, -1384, -1384, -1384, 43, + -1384, -1384, -1384, 518, 721, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 233, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, 441, -1384, 205, -1384, -743, 212, -1384, + -1384, -1383, -1384, -1381, -1384, -1384, -1384, -1384, -63, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -775, -1384, -774, -1384, -771, -1384, + 113, -1384, -1384, -1384, -1384, -1384, -1384, 200, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, 182, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, 186, -1384, -1384, -1384, 193, 693, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, 191, -1384, -1384, + -1384, -1384, -1384, -1384, -1062, -1384, -1384, -1384, 220, -1384, + -1384, -1384, 224, 733, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1060, -1384, -29, -1384, -18, -1384, -4, -1384, + 5, -1384, 110, 112, 115, -1384, -1384, -1384, -1384, -1384, + 214, -1384, -1384, -31, -60, -1384, -1384, -1384, -1384, -1384, + 226, -1384, -1384, -1384, 225, -1384, 719, -1384, -34, -1384, + -1384, -1384, -1384, -1384, -27, -1384, -1384, -1384, -1384, -1384, + -32, -1384, -1384, -1384, 227, -1384, -1384, -1384, 230, -1384, + 717, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, 173, -1384, -1384, -1384, 181, + 743, -1384, -1384, -1384, -44, -1384, 3, -1384, -56, -1384, + -1384, -1384, 222, -1384, -1384, -1384, 229, -1384, 738, -48, + -1384, -7, -1384, 15, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1059, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 235, + -1384, -1384, -1384, -21, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 202, -1384, + 207, 204, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -68, -1384, -1384, -93, -1384, + -1384, -1384, -1384, -1384, -58, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -116, -1384, -1384, -141, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, 215, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 543, 731, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, 587, 736, -1384, + -1384, -1384, -1384, -1384, -1384, 216, -1384, -1384, 0, -1384, + -1384, -1384, -1384, -1384, -1384, -83, -1384, -1384, -104, -1384, + -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 231, + -1384, -1384, -1384, -1384 }; const short Dhcp4Parser::yydefgoto_[] = { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 776, - 82, 83, 39, 64, 79, 80, 793, 1021, 1130, 1131, - 873, 41, 66, 85, 458, 86, 43, 67, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 486, 174, 175, 506, 176, 177, 178, 179, - 180, 181, 182, 492, 762, 183, 493, 184, 494, 185, - 186, 187, 507, 773, 188, 189, 190, 191, 192, 525, - 193, 526, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 462, 241, 242, 45, 68, 243, 535, 244, 536, - 796, 245, 537, 799, 246, 247, 248, 249, 203, 472, - 204, 463, 842, 843, 844, 1033, 845, 1034, 205, 473, - 206, 474, 901, 902, 903, 1062, 874, 875, 876, 1037, - 877, 1038, 878, 1039, 879, 1040, 880, 881, 574, 882, - 883, 884, 885, 886, 887, 888, 889, 890, 891, 1051, - 1312, 892, 893, 894, 1054, 895, 1055, 896, 1056, 897, - 1057, 898, 1058, 207, 514, 925, 926, 927, 928, 929, - 930, 931, 208, 520, 961, 962, 963, 964, 965, 209, - 517, 940, 941, 942, 1085, 59, 75, 422, 423, 424, - 589, 425, 590, 210, 518, 949, 950, 951, 952, 953, - 954, 955, 956, 211, 502, 905, 906, 907, 1065, 47, - 69, 295, 296, 297, 548, 298, 544, 299, 545, 300, - 546, 301, 549, 302, 554, 303, 551, 304, 552, 305, - 553, 212, 213, 214, 309, 215, 508, 917, 918, 919, - 1074, 1213, 1214, 216, 503, 53, 72, 909, 910, 911, - 1068, 55, 73, 383, 384, 385, 386, 387, 388, 389, - 573, 390, 577, 391, 576, 392, 393, 578, 394, 217, - 504, 913, 914, 915, 1071, 57, 74, 406, 407, 408, - 409, 410, 582, 411, 412, 413, 414, 415, 416, 586, - 311, 547, 1023, 1024, 1025, 1132, 49, 70, 341, 342, - 343, 558, 344, 218, 509, 219, 510, 220, 516, 936, - 937, 938, 1082, 51, 71, 359, 360, 361, 221, 467, - 222, 468, 223, 469, 365, 563, 366, 564, 367, 565, - 368, 567, 369, 566, 370, 569, 371, 568, 372, 562, - 318, 555, 1027, 1028, 1135, 224, 515, 933, 934, 1079, - 1241, 1242, 1243, 1244, 1245, 1324, 1246, 1325, 1247, 1248, - 225, 226, 521, 227, 522, 991, 992, 993, 1110, 981, - 982, 983, 1101, 1335, 984, 1102, 985, 1103, 986, 987, - 988, 1107, 1371, 1372, 1373, 1386, 1401, 1402, 1403, 1413, - 989, 1105, 1364, 1365, 1366, 1380, 1409, 1367, 1381, 1368, - 1382, 1369, 1383, 1420, 1421, 1422, 1438, 1456, 1457, 1458, - 1467, 1459, 1468, 228, 523, 1000, 1001, 1002, 1003, 1114, - 1004, 1005, 1116, 229, 524, 61, 76, 437, 438, 439, - 440, 594, 441, 442, 596, 443, 444, 445, 599, 833, - 446, 600, 230, 461, 63, 77, 449, 450, 451, 603, - 452, 231, 530, 1008, 1009, 1120, 1287, 1288, 1289, 1290, - 1345, 1291, 1343, 1406, 1407, 1416, 1430, 1431, 1432, 1442, - 1433, 1434, 1435, 1436, 1446, 232, 531, 1015, 1016, 1017, - 1018, 1019, 1020 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 781, + 82, 83, 39, 64, 79, 80, 798, 1026, 1135, 1136, + 878, 41, 66, 85, 461, 86, 43, 67, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 490, 176, 177, 510, 178, 179, 180, + 181, 182, 183, 184, 496, 767, 185, 497, 186, 498, + 187, 188, 189, 511, 778, 190, 191, 192, 193, 194, + 529, 195, 530, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 465, 243, 244, 45, 68, 245, 539, 246, + 540, 801, 247, 541, 804, 248, 249, 250, 251, 205, + 475, 206, 466, 847, 848, 849, 1038, 850, 1039, 207, + 476, 208, 477, 906, 907, 908, 1067, 879, 880, 881, + 1042, 882, 1043, 883, 1044, 884, 1045, 885, 886, 578, + 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, + 1056, 1318, 897, 898, 899, 1059, 900, 1060, 901, 1061, + 902, 1062, 903, 1063, 209, 518, 930, 931, 932, 933, + 934, 935, 936, 210, 524, 966, 967, 968, 969, 970, + 211, 521, 945, 946, 947, 1090, 59, 75, 425, 426, + 427, 593, 428, 594, 212, 522, 954, 955, 956, 957, + 958, 959, 960, 961, 213, 506, 910, 911, 912, 1070, + 47, 69, 298, 299, 300, 552, 301, 548, 302, 549, + 303, 550, 304, 553, 305, 558, 306, 555, 307, 556, + 308, 557, 214, 215, 216, 312, 217, 512, 922, 923, + 924, 1079, 1219, 1220, 218, 507, 53, 72, 914, 915, + 916, 1073, 55, 73, 386, 387, 388, 389, 390, 391, + 392, 577, 393, 581, 394, 580, 395, 396, 582, 397, + 219, 508, 918, 919, 920, 1076, 57, 74, 409, 410, + 411, 412, 413, 586, 414, 415, 416, 417, 418, 419, + 590, 314, 551, 1028, 1029, 1030, 1137, 49, 70, 344, + 345, 346, 562, 347, 220, 513, 221, 514, 222, 520, + 941, 942, 943, 1087, 51, 71, 362, 363, 364, 223, + 470, 224, 471, 225, 472, 368, 567, 369, 568, 370, + 569, 371, 571, 372, 570, 373, 573, 374, 572, 375, + 566, 321, 559, 1032, 1033, 1140, 226, 519, 938, 939, + 1084, 1247, 1248, 1249, 1250, 1251, 1330, 1252, 1331, 1253, + 1254, 227, 228, 525, 229, 526, 996, 997, 998, 1115, + 986, 987, 988, 1106, 1341, 989, 1107, 990, 1108, 991, + 992, 993, 1112, 1377, 1378, 1379, 1392, 1407, 1408, 1409, + 1419, 994, 1110, 1370, 1371, 1372, 1386, 1415, 1373, 1387, + 1374, 1388, 1375, 1389, 1426, 1427, 1428, 1444, 1462, 1463, + 1464, 1473, 1465, 1474, 230, 527, 1005, 1006, 1007, 1008, + 1119, 1009, 1010, 1121, 231, 528, 61, 76, 440, 441, + 442, 443, 598, 444, 445, 600, 446, 447, 448, 603, + 838, 449, 604, 232, 464, 63, 77, 452, 453, 454, + 607, 455, 233, 534, 1013, 1014, 1125, 1293, 1294, 1295, + 1296, 1351, 1297, 1349, 1412, 1413, 1422, 1436, 1437, 1438, + 1448, 1439, 1440, 1441, 1442, 1452, 234, 535, 1020, 1021, + 1022, 1023, 1024, 1025 }; const short Dhcp4Parser::yytable_[] = { - 159, 240, 264, 321, 355, 78, 381, 402, 421, 434, - 382, 403, 373, 314, 976, 977, 899, 1204, 978, 1205, - 1221, 315, 831, 362, 250, 312, 345, 357, 28, 395, - 417, 1357, 435, 775, 1452, 447, 448, 310, 340, 356, - 404, 336, 29, 268, 30, 40, 31, 405, 459, 847, - 848, 42, 337, 460, 135, 136, 278, 322, 806, 807, - 808, 1453, 316, 81, 363, 1452, 338, 812, 419, 420, - 84, 251, 313, 346, 358, 339, 396, 418, 375, 436, - 419, 420, 279, 323, 317, 265, 364, 44, 826, 1309, - 1310, 1311, 1453, 129, 93, 94, 95, 46, 135, 136, - 266, 1077, 267, 1425, 1078, 775, 1426, 1427, 1428, 1429, - 280, 324, 294, 48, 135, 136, 50, 994, 995, 996, - 281, 325, 282, 326, 1080, 283, 327, 1081, 284, 328, - 453, 135, 136, 286, 329, 287, 330, 533, 288, 331, - 794, 795, 534, 289, 332, 290, 333, 52, 291, 334, - 292, 335, 158, 269, 1121, 270, 271, 1122, 272, 1396, - 273, 274, 1417, 275, 130, 1418, 276, 997, 1358, 1359, - 1360, 277, 542, 285, 293, 556, 306, 543, 54, 307, - 557, 308, 56, 233, 234, 135, 136, 235, 1449, 1450, - 236, 237, 238, 239, 347, 58, 560, 757, 758, 759, - 760, 561, 832, 60, 348, 349, 350, 351, 352, 353, - 354, 158, 591, 1010, 1011, 1012, 1013, 592, 943, 944, - 945, 946, 947, 948, 601, 797, 798, 158, 454, 602, - 158, 93, 94, 95, 96, 62, 761, 866, 867, 868, - 869, 870, 871, 455, 158, 605, 920, 921, 922, 923, - 606, 924, 769, 770, 771, 772, 456, 375, 397, 376, - 377, 398, 399, 400, 457, 1204, 464, 1205, 1221, 101, - 102, 103, 465, 32, 33, 34, 35, 135, 136, 533, - 605, 840, 841, 570, 1030, 1031, 401, 466, 135, 136, - 87, 135, 136, 88, 542, 1332, 1333, 1334, 158, 1032, - 129, 130, 375, 470, 471, 89, 375, 475, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 476, - 1035, 571, 135, 136, 1164, 1036, 135, 136, 957, 958, - 959, 477, 478, 479, 1224, 1225, 1226, 1227, 976, 977, - 976, 977, 978, 1059, 978, 480, 481, 482, 1060, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 1059, 1094, 1099, - 129, 130, 1061, 1095, 1100, 483, 374, 484, 485, 487, - 158, 488, 131, 132, 133, 607, 608, 489, 490, 134, - 1108, 158, 135, 136, 158, 1109, 491, 137, 138, 139, - 140, 141, 1117, 1280, 601, 1281, 1282, 1118, 1127, 1119, - 142, 1059, 556, 1128, 1322, 572, 1318, 1319, 495, 1323, - 143, 591, 1108, 144, 496, 158, 1331, 1340, 1346, 158, - 145, 146, 560, 1347, 497, 147, 148, 1349, 1384, 375, - 1414, 376, 377, 1385, 1447, 1415, 378, 379, 380, 1448, - 1469, 580, 498, 499, 149, 1470, 159, 500, 150, 135, - 136, 501, 505, 511, 512, 240, 513, 519, 527, 528, - 529, 532, 538, 151, 152, 153, 154, 155, 156, 264, - 539, 540, 541, 321, 550, 559, 575, 157, 250, 579, - 314, 581, 587, 583, 355, 584, 585, 588, 315, 593, - 595, 597, 312, 598, 381, 158, 345, 604, 382, 610, - 609, 402, 611, 362, 310, 403, 612, 357, 340, 613, - 268, 336, 614, 615, 434, 616, 617, 395, 618, 356, - 619, 620, 337, 278, 417, 251, 621, 322, 622, 316, - 623, 624, 630, 625, 404, 636, 338, 435, 626, 313, - 627, 405, 628, 346, 363, 339, 642, 629, 634, 279, - 631, 317, 265, 323, 358, 632, 633, 643, 639, 644, - 652, 635, 158, 647, 396, 637, 364, 266, 638, 267, - 653, 418, 640, 641, 645, 646, 648, 280, 649, 294, - 650, 324, 135, 136, 436, 651, 654, 281, 655, 282, - 656, 325, 283, 326, 657, 284, 327, 658, 659, 328, - 286, 660, 287, 664, 329, 288, 330, 661, 662, 331, - 289, 663, 290, 665, 332, 291, 333, 292, 666, 334, - 269, 335, 270, 271, 667, 272, 668, 273, 274, 669, - 275, 670, 671, 276, 672, 863, 864, 865, 277, 673, - 285, 293, 1350, 306, 674, 675, 307, 676, 308, 426, - 427, 428, 429, 430, 431, 432, 433, 677, 680, 159, - 678, 240, 679, 681, 683, 684, 836, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 685, 686, 688, 691, 250, 687, 692, 693, 689, 694, - 695, 696, 698, 699, 700, 158, 960, 975, 135, 136, - 434, 697, 701, 702, 1014, 704, 705, 707, 708, 709, - 710, 711, 712, 713, 714, 716, 717, 718, 719, 966, - 979, 720, 998, 435, 721, 724, 728, 722, 730, 725, - 726, 251, 91, 92, 93, 94, 95, 96, 727, 731, - 733, 734, 736, 968, 735, 737, 738, 969, 970, 971, - 972, 739, 740, 742, 743, 745, 750, 973, 974, 746, - 747, 748, 749, 753, 751, 752, 967, 980, 754, 999, - 436, 755, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 756, 763, 764, 765, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 766, - 252, 253, 254, 767, 130, 768, 774, 30, 777, 778, - 779, 158, 780, 781, 785, 788, 132, 133, 782, 783, - 789, 784, 786, 255, 787, 135, 136, 256, 257, 258, - 137, 138, 139, 790, 259, 260, 261, 791, 792, 800, - 801, 262, 802, 142, 803, 810, 804, 805, 809, 811, - 835, 263, 813, 846, 847, 848, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 814, 815, - 816, 861, 862, 863, 864, 865, 866, 867, 868, 869, - 870, 871, 872, 817, 818, 819, 820, 821, 822, 823, - 834, 824, 825, 827, 829, 900, 904, 908, 830, 912, - 916, 932, 935, 939, 990, 1007, 151, 152, 1022, 1026, - 1041, 1042, 1043, 1044, 1045, 1046, 375, 1047, 1048, 1049, - 1050, 1052, 1053, 1064, 828, 1063, 1067, 1066, 1069, 1070, - 1072, 1073, 1076, 1075, 1084, 1087, 1083, 1112, 158, 1086, - 1088, 1089, 1090, 1091, 1092, 1093, 1096, 1097, 1098, 1104, - 1106, 1129, 1113, 1111, 1115, 1123, 1124, 1125, 1126, 1134, - 1145, 1133, 1147, 1138, 1137, 1136, 1139, 1141, 1142, 1143, - 1144, 1146, 1148, 1149, 1155, 1158, 1150, 1151, 264, 1152, - 1153, 381, 1154, 1156, 402, 382, 1159, 1172, 403, 314, - 1160, 1203, 1228, 1161, 1157, 355, 1233, 315, 421, 1234, - 1162, 312, 1254, 1261, 395, 1255, 1218, 417, 1256, 1257, - 1216, 1238, 960, 310, 362, 1236, 1258, 404, 357, 268, - 1259, 975, 1215, 975, 405, 1206, 1262, 1235, 1176, 1263, - 356, 1265, 278, 1283, 1266, 966, 1207, 1284, 316, 1267, - 1014, 1186, 1269, 1268, 979, 321, 979, 1219, 313, 158, - 1208, 396, 1239, 998, 418, 363, 1285, 1217, 279, 1209, - 317, 265, 1237, 1270, 1271, 358, 1275, 1187, 345, 1220, - 1173, 1276, 1277, 1278, 1240, 1229, 266, 364, 267, 1293, - 340, 1294, 967, 336, 1298, 1174, 280, 1175, 294, 1295, - 1230, 980, 1231, 980, 337, 1188, 281, 1202, 282, 322, - 999, 283, 1232, 1286, 284, 1189, 1296, 1190, 338, 286, - 1191, 287, 1299, 1192, 288, 346, 1302, 339, 1194, 289, - 1195, 290, 1303, 1196, 291, 323, 292, 1304, 1197, 269, - 1198, 270, 271, 1199, 272, 1200, 273, 274, 1177, 275, - 1178, 1179, 276, 1180, 1320, 1181, 1182, 277, 1183, 285, - 293, 1184, 306, 324, 1321, 307, 1185, 308, 1193, 1201, - 1326, 1210, 1327, 325, 1211, 326, 1212, 1328, 327, 1329, - 1330, 328, 1338, 1339, 1344, 1352, 329, 1353, 330, 1370, - 1374, 331, 1376, 1387, 1388, 1305, 332, 1389, 333, 1391, - 1392, 334, 1393, 335, 1394, 1408, 1306, 1307, 1405, 1342, - 1412, 1419, 1423, 1308, 1313, 1314, 1439, 1440, 1315, 1317, - 1336, 1337, 1341, 1348, 1443, 1444, 1378, 1354, 1355, 1445, - 1375, 1379, 1461, 1390, 1410, 1465, 1411, 1441, 1473, 1474, - 1463, 1462, 1464, 1471, 1472, 1172, 1476, 1477, 837, 1203, - 1029, 1140, 1228, 1163, 839, 1165, 1233, 1223, 1253, 1234, - 1252, 1361, 682, 1260, 1218, 690, 1316, 1264, 1216, 1283, - 732, 1238, 1167, 1284, 1166, 1236, 1222, 1351, 1169, 1171, - 1215, 1168, 703, 1206, 1362, 723, 1176, 1235, 1170, 1250, - 729, 1301, 1285, 1274, 1207, 1300, 706, 1356, 1251, 1186, - 1249, 1404, 1273, 1424, 1272, 1219, 1395, 1361, 1208, 1397, - 715, 1460, 1239, 1398, 1475, 1217, 1006, 1209, 1279, 838, - 1377, 1437, 1237, 1292, 1466, 1187, 0, 1220, 1173, 741, - 1362, 1363, 1399, 0, 1240, 1229, 0, 1397, 0, 1286, - 0, 1398, 744, 1174, 0, 1175, 1297, 0, 0, 0, - 1230, 0, 1231, 1188, 0, 1202, 0, 0, 0, 0, - 1399, 1451, 1232, 1189, 0, 1190, 0, 0, 1191, 0, - 0, 1192, 0, 0, 0, 0, 1194, 1363, 1195, 1400, - 0, 1196, 0, 0, 1454, 0, 1197, 0, 1198, 0, - 0, 1199, 1451, 1200, 0, 0, 1177, 0, 1178, 1179, - 0, 1180, 0, 1181, 1182, 0, 1183, 1400, 0, 1184, - 0, 0, 0, 0, 1185, 1454, 1193, 1201, 0, 1210, - 0, 0, 1211, 0, 1212, 91, 92, 93, 94, 95, - 96, 1455, 0, 0, 0, 0, 0, 0, 0, 0, + 160, 242, 266, 324, 358, 78, 384, 405, 424, 437, + 385, 406, 376, 317, 981, 982, 904, 1210, 983, 1211, + 1227, 318, 836, 365, 252, 315, 348, 360, 462, 398, + 420, 780, 438, 463, 378, 422, 423, 313, 343, 359, + 407, 339, 29, 270, 30, 1082, 31, 408, 1083, 136, + 137, 40, 340, 42, 136, 137, 281, 325, 811, 812, + 813, 1458, 319, 1459, 366, 537, 341, 817, 422, 423, + 538, 253, 316, 349, 361, 342, 399, 421, 1085, 439, + 28, 1086, 282, 326, 320, 267, 367, 81, 831, 962, + 963, 964, 1458, 1126, 1459, 84, 1127, 235, 236, 130, + 268, 237, 269, 780, 238, 239, 240, 241, 450, 451, + 283, 327, 297, 613, 1423, 1402, 44, 1424, 458, 159, + 284, 328, 285, 329, 46, 286, 330, 48, 287, 331, + 93, 94, 95, 289, 332, 290, 333, 546, 291, 334, + 799, 800, 547, 292, 335, 293, 336, 560, 294, 337, + 295, 338, 561, 271, 564, 272, 273, 50, 274, 565, + 275, 276, 159, 277, 845, 846, 278, 159, 52, 136, + 137, 279, 595, 280, 288, 54, 296, 596, 1363, 309, + 605, 310, 609, 56, 311, 606, 456, 610, 93, 94, + 95, 96, 378, 400, 379, 380, 401, 402, 403, 537, + 609, 131, 58, 837, 1035, 1036, 136, 137, 1015, 1016, + 1017, 1018, 136, 137, 546, 762, 763, 764, 765, 1037, + 60, 404, 136, 137, 1040, 159, 101, 102, 103, 1041, + 62, 350, 999, 1000, 1001, 871, 872, 873, 874, 875, + 876, 351, 352, 353, 354, 355, 356, 357, 802, 803, + 925, 926, 927, 928, 766, 929, 1064, 457, 130, 131, + 378, 1065, 136, 137, 459, 460, 1210, 1431, 1211, 1227, + 1432, 1433, 1434, 1435, 32, 33, 34, 35, 378, 467, + 136, 137, 1002, 1064, 1099, 574, 1104, 87, 1066, 1100, + 88, 1105, 1230, 1231, 1232, 1233, 1113, 575, 136, 137, + 468, 1114, 89, 469, 473, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 1364, 1365, 1366, 159, + 774, 775, 776, 777, 1169, 159, 948, 949, 950, 951, + 952, 953, 1122, 576, 474, 159, 478, 1123, 981, 982, + 981, 982, 983, 584, 983, 479, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 159, 605, 1132, 130, 131, + 480, 1124, 1133, 377, 1064, 1286, 481, 1287, 1288, 1324, + 132, 133, 134, 159, 1315, 1316, 1317, 135, 611, 612, + 136, 137, 1338, 1339, 1340, 138, 139, 140, 141, 142, + 560, 159, 482, 483, 1328, 1325, 852, 853, 143, 1329, + 595, 1113, 1352, 585, 564, 1337, 1346, 1353, 144, 1355, + 1390, 145, 1420, 591, 484, 1391, 1453, 1421, 146, 147, + 1475, 1454, 485, 148, 149, 1476, 486, 378, 487, 379, + 380, 488, 489, 491, 381, 382, 383, 492, 493, 494, + 495, 499, 150, 500, 501, 502, 151, 136, 137, 503, + 160, 504, 624, 505, 509, 515, 516, 517, 523, 242, + 531, 152, 153, 154, 155, 156, 157, 532, 533, 536, + 542, 543, 544, 266, 545, 158, 554, 324, 563, 136, + 137, 579, 252, 583, 317, 587, 588, 589, 358, 592, + 618, 597, 318, 159, 599, 601, 315, 602, 384, 608, + 348, 614, 385, 615, 616, 405, 617, 365, 313, 406, + 619, 360, 343, 621, 270, 339, 622, 620, 437, 623, + 626, 398, 625, 359, 627, 628, 340, 281, 420, 253, + 629, 325, 630, 319, 631, 632, 1455, 1456, 407, 633, + 341, 438, 634, 316, 638, 408, 635, 349, 366, 342, + 636, 641, 637, 282, 640, 320, 267, 326, 361, 639, + 159, 647, 642, 643, 648, 649, 644, 645, 399, 646, + 367, 268, 650, 269, 651, 421, 652, 653, 654, 655, + 657, 283, 656, 297, 658, 327, 659, 660, 439, 661, + 662, 284, 159, 285, 663, 328, 286, 329, 664, 287, + 330, 665, 669, 331, 289, 666, 290, 667, 332, 291, + 333, 668, 670, 334, 292, 671, 293, 672, 335, 294, + 336, 295, 673, 337, 271, 338, 272, 273, 674, 274, + 675, 275, 276, 676, 277, 677, 678, 278, 679, 868, + 869, 870, 279, 1356, 280, 288, 680, 296, 136, 137, + 309, 681, 310, 685, 682, 311, 683, 686, 688, 684, + 689, 690, 696, 691, 160, 692, 242, 697, 693, 694, + 698, 841, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 699, 700, 701, 703, 252, + 704, 705, 706, 702, 707, 709, 710, 712, 713, 714, + 715, 965, 980, 136, 137, 437, 716, 717, 718, 1019, + 719, 723, 721, 722, 724, 429, 430, 431, 432, 433, + 434, 435, 436, 725, 971, 984, 726, 1003, 438, 727, + 729, 733, 730, 735, 731, 736, 253, 91, 92, 93, + 94, 95, 96, 732, 738, 739, 740, 741, 973, 742, + 744, 743, 974, 975, 976, 977, 745, 747, 750, 839, + 748, 159, 978, 979, 751, 752, 753, 754, 755, 756, + 757, 972, 985, 758, 1004, 439, 759, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 760, 761, + 768, 769, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 770, 254, 255, 256, 771, + 131, 772, 773, 779, 30, 782, 159, 783, 784, 785, + 786, 790, 133, 134, 787, 788, 789, 791, 792, 257, + 793, 136, 137, 258, 259, 260, 138, 139, 140, 794, + 261, 262, 263, 795, 796, 797, 805, 264, 808, 143, + 840, 806, 807, 809, 810, 815, 814, 265, 816, 818, + 819, 820, 821, 905, 822, 823, 909, 824, 913, 917, + 825, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 921, 826, 827, 866, + 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, + 877, 828, 829, 937, 830, 832, 834, 835, 940, 944, + 995, 1012, 152, 153, 1027, 1031, 1046, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1057, 1058, 1069, 1134, + 1068, 1072, 1071, 1074, 1075, 378, 1077, 1078, 1080, 1081, + 1089, 1088, 1093, 1092, 159, 1091, 1094, 1095, 1096, 1097, + 1098, 1101, 1102, 1103, 1109, 1111, 1117, 1139, 1116, 1118, + 1120, 1128, 1129, 1130, 1131, 1151, 1150, 1138, 1143, 1142, + 1141, 1144, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1160, + 1155, 1163, 1156, 266, 1164, 1157, 384, 1158, 1159, 405, + 385, 1161, 1177, 406, 317, 1165, 1209, 1234, 1166, 1162, + 358, 1239, 318, 424, 1240, 1167, 315, 1267, 1260, 398, + 1261, 1224, 420, 1262, 1263, 1222, 1244, 965, 313, 365, + 1242, 1271, 407, 360, 270, 1264, 980, 1221, 980, 408, + 1212, 1265, 1241, 1181, 1268, 359, 1269, 281, 1289, 1272, + 971, 1213, 1290, 319, 1273, 1019, 1192, 1274, 1275, 984, + 324, 984, 1225, 316, 1277, 1214, 399, 1245, 1003, 421, + 366, 1291, 1223, 282, 1215, 320, 267, 1243, 159, 1276, + 361, 1282, 1193, 348, 1226, 1178, 1281, 1283, 1284, 1246, + 1235, 268, 367, 269, 1299, 343, 1300, 972, 339, 1301, + 1179, 283, 1180, 297, 1302, 1236, 985, 1237, 985, 340, + 1194, 284, 1208, 285, 325, 1004, 286, 1238, 1292, 287, + 1195, 1304, 1196, 341, 289, 1197, 290, 1305, 1198, 291, + 349, 1308, 342, 1200, 292, 1201, 293, 1309, 1202, 294, + 326, 295, 1310, 1203, 271, 1204, 272, 273, 1205, 274, + 1206, 275, 276, 1182, 277, 1183, 1184, 278, 1185, 1326, + 1186, 1187, 279, 1188, 280, 288, 1189, 296, 327, 1327, + 309, 1190, 310, 1191, 1199, 311, 1207, 1332, 328, 1216, + 329, 1217, 1333, 330, 1218, 1334, 331, 1335, 1311, 1336, + 1344, 332, 1345, 333, 1350, 1358, 334, 1359, 1380, 1376, + 1382, 335, 1394, 336, 1393, 1395, 337, 1397, 338, 1398, + 1399, 1400, 1312, 1313, 1414, 1348, 1411, 1418, 1425, 1314, + 1319, 1320, 1429, 1321, 1449, 1323, 1342, 1445, 1343, 1347, + 1354, 1446, 842, 1384, 1360, 1361, 1381, 1385, 1450, 1396, + 1416, 1451, 1417, 1447, 1467, 1471, 1469, 1468, 1470, 1477, + 1478, 1177, 1479, 1480, 1482, 1209, 1483, 695, 1234, 687, + 833, 844, 1239, 1145, 1170, 1240, 1168, 1367, 1259, 1322, + 1224, 1034, 1229, 1258, 1222, 1289, 1270, 1244, 737, 1290, + 1266, 1242, 1172, 708, 1171, 1228, 1221, 1357, 1173, 1212, + 1368, 1174, 1181, 1241, 728, 1176, 1175, 711, 1291, 734, + 1213, 1257, 1307, 720, 1362, 1192, 1256, 1278, 1306, 1280, + 1255, 1225, 1279, 1367, 1214, 1403, 1410, 1430, 1245, 1404, + 1466, 1223, 1401, 1215, 1481, 1011, 746, 1285, 1243, 843, + 1443, 1193, 1298, 1226, 1178, 749, 1368, 1369, 1405, 1472, + 1246, 1235, 1383, 1403, 0, 1292, 0, 1404, 0, 1179, + 0, 1180, 0, 1303, 0, 0, 1236, 0, 1237, 1194, + 0, 1208, 0, 0, 0, 0, 1405, 1457, 1238, 1195, + 0, 1196, 0, 0, 1197, 0, 0, 1198, 0, 0, + 0, 0, 1200, 1369, 1201, 1406, 0, 1202, 0, 0, + 1460, 0, 1203, 0, 1204, 0, 0, 1205, 1457, 1206, + 0, 0, 1182, 0, 1183, 1184, 0, 1185, 0, 1186, + 1187, 0, 1188, 1406, 0, 1189, 0, 0, 0, 0, + 1190, 1460, 1191, 1199, 0, 1207, 0, 0, 1216, 0, + 1217, 0, 0, 1218, 0, 0, 0, 1461, 91, 92, + 93, 94, 95, 96, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, + 0, 0, 0, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 0, 0, 0, + 0, 131, 378, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 136, 137, 0, 259, 0, 138, 139, 140, + 0, 261, 262, 263, 0, 0, 0, 0, 264, 0, + 0, 116, 117, 118, 119, 120, 121, 122, 265, 124, + 125, 126, 127, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 322, + 136, 137, 0, 0, 0, 0, 0, 0, 0, 261, + 262, 263, 0, 0, 0, 0, 264, 323, 0, 0, + 0, 0, 0, 152, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1455, 0, 0, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 0, 0, 0, 0, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 0, 0, 0, 0, 130, 375, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 133, 0, 0, 0, 0, 0, 0, 0, 135, 136, - 0, 257, 0, 137, 138, 139, 0, 259, 260, 261, - 0, 0, 0, 0, 262, 0, 0, 115, 116, 117, - 118, 119, 120, 121, 263, 123, 124, 125, 126, 0, - 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, - 0, 0, 0, 0, 0, 319, 135, 136, 0, 0, - 0, 0, 0, 0, 0, 259, 260, 261, 0, 0, - 0, 0, 262, 320, 0, 0, 0, 0, 0, 151, - 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 151, 152, 0, + 0, 152, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 158 + 0, 0, 0, 159 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 64, 73, 74, 75, 76, - 73, 74, 72, 69, 784, 784, 754, 1074, 784, 1074, - 1074, 69, 18, 71, 68, 69, 70, 71, 0, 73, - 74, 40, 76, 659, 1438, 12, 13, 69, 70, 71, - 74, 70, 5, 69, 7, 7, 9, 74, 3, 41, - 42, 7, 70, 8, 123, 124, 69, 70, 698, 699, - 700, 1438, 69, 236, 71, 1469, 70, 707, 152, 153, - 10, 68, 69, 70, 71, 70, 73, 74, 103, 76, - 152, 153, 69, 70, 69, 69, 71, 7, 728, 55, - 56, 57, 1469, 101, 32, 33, 34, 7, 123, 124, - 69, 3, 69, 211, 6, 731, 214, 215, 216, 217, - 69, 70, 69, 7, 123, 124, 7, 186, 187, 188, - 69, 70, 69, 70, 3, 69, 70, 6, 69, 70, - 6, 123, 124, 69, 70, 69, 70, 3, 69, 70, - 17, 18, 8, 69, 70, 69, 70, 7, 69, 70, - 69, 70, 236, 69, 3, 69, 69, 6, 69, 184, - 69, 69, 3, 69, 102, 6, 69, 236, 177, 178, - 179, 69, 3, 69, 69, 3, 69, 8, 7, 69, - 8, 69, 7, 15, 16, 123, 124, 19, 180, 181, - 22, 23, 24, 25, 132, 7, 3, 200, 201, 202, - 203, 8, 198, 7, 142, 143, 144, 145, 146, 147, - 148, 236, 3, 219, 220, 221, 222, 8, 155, 156, - 157, 158, 159, 160, 3, 20, 21, 236, 3, 8, - 236, 32, 33, 34, 35, 7, 239, 63, 64, 65, - 66, 67, 68, 4, 236, 3, 143, 144, 145, 146, - 8, 148, 116, 117, 118, 119, 8, 103, 104, 105, - 106, 107, 108, 109, 3, 1322, 4, 1322, 1322, 70, - 71, 72, 4, 236, 237, 238, 239, 123, 124, 3, - 3, 27, 28, 8, 8, 8, 132, 4, 123, 124, - 11, 123, 124, 14, 3, 169, 170, 171, 236, 8, - 101, 102, 103, 4, 4, 26, 103, 4, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, - 3, 3, 123, 124, 1062, 8, 123, 124, 163, 164, - 165, 4, 4, 4, 135, 136, 137, 138, 1108, 1108, - 1110, 1110, 1108, 3, 1110, 4, 4, 4, 8, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 3, 3, 3, - 101, 102, 8, 8, 8, 4, 40, 4, 4, 4, - 236, 4, 113, 114, 115, 454, 455, 4, 4, 120, - 3, 236, 123, 124, 236, 8, 4, 128, 129, 130, - 131, 132, 3, 210, 3, 212, 213, 8, 3, 8, - 141, 3, 3, 8, 3, 8, 8, 8, 4, 8, - 151, 3, 3, 154, 4, 236, 8, 8, 3, 236, - 161, 162, 3, 8, 4, 166, 167, 8, 3, 103, - 3, 105, 106, 8, 3, 8, 110, 111, 112, 8, - 3, 8, 4, 4, 185, 8, 533, 4, 189, 123, - 124, 4, 4, 4, 4, 542, 4, 4, 4, 4, - 4, 4, 4, 204, 205, 206, 207, 208, 209, 556, - 4, 4, 4, 560, 4, 4, 4, 218, 542, 4, - 556, 3, 8, 4, 571, 4, 4, 3, 556, 4, - 4, 4, 556, 4, 581, 236, 560, 4, 581, 4, - 236, 588, 4, 571, 556, 588, 4, 571, 560, 4, - 556, 560, 239, 239, 601, 239, 4, 581, 4, 571, - 4, 237, 560, 556, 588, 542, 239, 560, 4, 556, - 4, 4, 239, 237, 588, 4, 560, 601, 237, 556, - 237, 588, 237, 560, 571, 560, 4, 237, 237, 556, - 238, 556, 556, 560, 571, 238, 238, 4, 239, 4, - 4, 237, 236, 238, 581, 237, 571, 556, 237, 556, - 4, 588, 239, 239, 239, 239, 237, 556, 237, 556, - 237, 560, 123, 124, 601, 239, 4, 556, 237, 556, - 4, 560, 556, 560, 4, 556, 560, 4, 4, 560, - 556, 4, 556, 4, 560, 556, 560, 239, 239, 560, - 556, 239, 556, 4, 560, 556, 560, 556, 4, 560, - 556, 560, 556, 556, 4, 556, 4, 556, 556, 237, - 556, 4, 4, 556, 4, 60, 61, 62, 556, 4, - 556, 556, 1302, 556, 4, 4, 556, 4, 556, 190, - 191, 192, 193, 194, 195, 196, 197, 239, 4, 746, - 239, 748, 239, 4, 4, 4, 745, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 4, 239, 237, 4, 748, 239, 4, 4, 237, 4, - 4, 4, 4, 4, 4, 236, 783, 784, 123, 124, - 787, 237, 4, 4, 791, 4, 237, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 237, 4, 783, - 784, 4, 786, 787, 4, 4, 4, 239, 4, 239, - 239, 748, 30, 31, 32, 33, 34, 35, 239, 4, - 239, 4, 4, 168, 237, 237, 237, 172, 173, 174, - 175, 4, 4, 4, 237, 4, 236, 182, 183, 7, - 7, 7, 7, 7, 236, 236, 783, 784, 7, 786, - 787, 5, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 236, 236, 236, 5, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 5, - 98, 99, 100, 5, 102, 236, 5, 7, 236, 5, - 5, 236, 5, 5, 5, 236, 114, 115, 7, 7, - 236, 7, 7, 121, 7, 123, 124, 125, 126, 127, - 128, 129, 130, 5, 132, 133, 134, 7, 5, 236, - 236, 139, 236, 141, 5, 7, 236, 236, 236, 236, - 5, 149, 236, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 236, 236, - 236, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 236, 236, 236, 236, 236, 236, 236, - 199, 236, 236, 236, 236, 7, 7, 7, 236, 7, - 7, 7, 7, 7, 7, 7, 204, 205, 7, 150, - 4, 4, 4, 4, 4, 4, 103, 4, 4, 4, - 4, 4, 4, 3, 731, 6, 3, 6, 6, 3, - 6, 3, 3, 6, 3, 3, 6, 3, 236, 6, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 236, 4, 6, 4, 4, 4, 4, 4, 3, - 237, 6, 237, 4, 6, 8, 4, 4, 4, 4, - 4, 239, 239, 237, 4, 4, 237, 237, 1065, 237, - 237, 1068, 237, 239, 1071, 1068, 4, 1074, 1071, 1065, - 4, 1074, 1079, 4, 237, 1082, 1079, 1065, 1085, 1079, - 4, 1065, 237, 239, 1068, 237, 1074, 1071, 237, 237, - 1074, 1079, 1099, 1065, 1082, 1079, 237, 1071, 1082, 1065, - 237, 1108, 1074, 1110, 1071, 1074, 237, 1079, 1074, 237, - 1082, 4, 1065, 1120, 4, 1099, 1074, 1120, 1065, 4, - 1127, 1074, 4, 237, 1108, 1132, 1110, 1074, 1065, 236, - 1074, 1068, 1079, 1117, 1071, 1082, 1120, 1074, 1065, 1074, - 1065, 1065, 1079, 239, 4, 1082, 239, 1074, 1132, 1074, - 1074, 4, 237, 4, 1079, 1079, 1065, 1082, 1065, 239, - 1132, 239, 1099, 1132, 6, 1074, 1065, 1074, 1065, 239, - 1079, 1108, 1079, 1110, 1132, 1074, 1065, 1074, 1065, 1132, - 1117, 1065, 1079, 1120, 1065, 1074, 239, 1074, 1132, 1065, - 1074, 1065, 3, 1074, 1065, 1132, 4, 1132, 1074, 1065, - 1074, 1065, 236, 1074, 1065, 1132, 1065, 236, 1074, 1065, - 1074, 1065, 1065, 1074, 1065, 1074, 1065, 1065, 1074, 1065, - 1074, 1074, 1065, 1074, 8, 1074, 1074, 1065, 1074, 1065, - 1065, 1074, 1065, 1132, 8, 1065, 1074, 1065, 1074, 1074, - 4, 1074, 4, 1132, 1074, 1132, 1074, 8, 1132, 3, - 8, 1132, 7, 5, 4, 4, 1132, 4, 1132, 7, - 4, 1132, 4, 6, 3, 236, 1132, 5, 1132, 4, - 4, 1132, 4, 1132, 4, 176, 236, 236, 7, 1278, - 5, 7, 4, 236, 236, 236, 6, 3, 236, 236, - 236, 236, 236, 236, 4, 4, 236, 239, 239, 4, - 237, 236, 4, 236, 236, 4, 236, 236, 4, 4, - 237, 239, 237, 236, 236, 1322, 236, 236, 746, 1322, - 835, 1035, 1329, 1059, 748, 1064, 1329, 1077, 1087, 1329, - 1085, 1338, 533, 1094, 1322, 542, 1161, 1099, 1322, 1346, - 591, 1329, 1067, 1346, 1065, 1329, 1076, 1322, 1070, 1073, - 1322, 1068, 556, 1322, 1338, 581, 1322, 1329, 1071, 1082, - 588, 1134, 1346, 1112, 1322, 1132, 560, 1329, 1084, 1322, - 1080, 1388, 1110, 1414, 1108, 1322, 1384, 1384, 1322, 1386, - 571, 1440, 1329, 1386, 1469, 1322, 787, 1322, 1117, 747, - 1346, 1417, 1329, 1121, 1447, 1322, -1, 1322, 1322, 601, - 1384, 1338, 1386, -1, 1329, 1329, -1, 1414, -1, 1346, - -1, 1414, 605, 1322, -1, 1322, 1127, -1, -1, -1, - 1329, -1, 1329, 1322, -1, 1322, -1, -1, -1, -1, - 1414, 1438, 1329, 1322, -1, 1322, -1, -1, 1322, -1, - -1, 1322, -1, -1, -1, -1, 1322, 1384, 1322, 1386, - -1, 1322, -1, -1, 1438, -1, 1322, -1, 1322, -1, - -1, 1322, 1469, 1322, -1, -1, 1322, -1, 1322, 1322, - -1, 1322, -1, 1322, 1322, -1, 1322, 1414, -1, 1322, - -1, -1, -1, -1, 1322, 1469, 1322, 1322, -1, 1322, - -1, -1, 1322, -1, 1322, 30, 31, 32, 33, 34, - 35, 1438, -1, -1, -1, -1, -1, -1, -1, -1, + 73, 74, 72, 69, 789, 789, 759, 1079, 789, 1079, + 1079, 69, 18, 71, 68, 69, 70, 71, 3, 73, + 74, 664, 76, 8, 104, 153, 154, 69, 70, 71, + 74, 70, 5, 69, 7, 3, 9, 74, 6, 124, + 125, 7, 70, 7, 124, 125, 69, 70, 703, 704, + 705, 1444, 69, 1444, 71, 3, 70, 712, 153, 154, + 8, 68, 69, 70, 71, 70, 73, 74, 3, 76, + 0, 6, 69, 70, 69, 69, 71, 237, 733, 164, + 165, 166, 1475, 3, 1475, 10, 6, 15, 16, 102, + 69, 19, 69, 736, 22, 23, 24, 25, 12, 13, + 69, 70, 69, 237, 3, 185, 7, 6, 4, 237, + 69, 70, 69, 70, 7, 69, 70, 7, 69, 70, + 32, 33, 34, 69, 70, 69, 70, 3, 69, 70, + 17, 18, 8, 69, 70, 69, 70, 3, 69, 70, + 69, 70, 8, 69, 3, 69, 69, 7, 69, 8, + 69, 69, 237, 69, 27, 28, 69, 237, 7, 124, + 125, 69, 3, 69, 69, 7, 69, 8, 40, 69, + 3, 69, 3, 7, 69, 8, 6, 8, 32, 33, + 34, 35, 104, 105, 106, 107, 108, 109, 110, 3, + 3, 103, 7, 199, 8, 8, 124, 125, 220, 221, + 222, 223, 124, 125, 3, 201, 202, 203, 204, 8, + 7, 133, 124, 125, 3, 237, 70, 71, 72, 8, + 7, 133, 187, 188, 189, 63, 64, 65, 66, 67, + 68, 143, 144, 145, 146, 147, 148, 149, 20, 21, + 144, 145, 146, 147, 240, 149, 3, 3, 102, 103, + 104, 8, 124, 125, 8, 3, 1328, 212, 1328, 1328, + 215, 216, 217, 218, 237, 238, 239, 240, 104, 4, + 124, 125, 237, 3, 3, 8, 3, 11, 8, 8, + 14, 8, 136, 137, 138, 139, 3, 3, 124, 125, + 4, 8, 26, 4, 4, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 178, 179, 180, 237, + 117, 118, 119, 120, 1067, 237, 156, 157, 158, 159, + 160, 161, 3, 8, 4, 237, 4, 8, 1113, 1113, + 1115, 1115, 1113, 8, 1115, 4, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 237, 3, 3, 102, 103, + 4, 8, 8, 40, 3, 211, 4, 213, 214, 8, + 114, 115, 116, 237, 55, 56, 57, 121, 457, 458, + 124, 125, 170, 171, 172, 129, 130, 131, 132, 133, + 3, 237, 4, 4, 3, 8, 41, 42, 142, 8, + 3, 3, 3, 3, 3, 8, 8, 8, 152, 8, + 3, 155, 3, 8, 4, 8, 3, 8, 162, 163, + 3, 8, 4, 167, 168, 8, 4, 104, 4, 106, + 107, 4, 4, 4, 111, 112, 113, 4, 4, 4, + 4, 4, 186, 4, 4, 4, 190, 124, 125, 4, + 537, 4, 238, 4, 4, 4, 4, 4, 4, 546, + 4, 205, 206, 207, 208, 209, 210, 4, 4, 4, + 4, 4, 4, 560, 4, 219, 4, 564, 4, 124, + 125, 4, 546, 4, 560, 4, 4, 4, 575, 3, + 240, 4, 560, 237, 4, 4, 560, 4, 585, 4, + 564, 4, 585, 4, 4, 592, 4, 575, 560, 592, + 240, 575, 564, 4, 560, 564, 4, 240, 605, 4, + 4, 585, 240, 575, 4, 4, 564, 560, 592, 546, + 238, 564, 238, 560, 238, 238, 181, 182, 592, 238, + 564, 605, 240, 560, 238, 592, 239, 564, 575, 564, + 239, 4, 239, 560, 238, 560, 560, 564, 575, 239, + 237, 4, 238, 238, 4, 4, 240, 240, 585, 240, + 575, 560, 240, 560, 240, 592, 239, 238, 238, 238, + 4, 560, 240, 560, 4, 564, 4, 238, 605, 4, + 4, 560, 237, 560, 4, 564, 560, 564, 4, 560, + 564, 4, 4, 564, 560, 240, 560, 240, 564, 560, + 564, 240, 4, 564, 560, 4, 560, 4, 564, 560, + 564, 560, 4, 564, 560, 564, 560, 560, 238, 560, + 4, 560, 560, 4, 560, 4, 4, 560, 4, 60, + 61, 62, 560, 1308, 560, 560, 4, 560, 124, 125, + 560, 4, 560, 4, 240, 560, 240, 4, 4, 240, + 4, 4, 4, 240, 751, 240, 753, 4, 238, 238, + 4, 750, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 4, 4, 4, 4, 753, + 4, 4, 4, 238, 4, 4, 238, 4, 4, 4, + 4, 788, 789, 124, 125, 792, 4, 4, 4, 796, + 4, 238, 4, 4, 4, 191, 192, 193, 194, 195, + 196, 197, 198, 4, 788, 789, 4, 791, 792, 240, + 4, 4, 240, 4, 240, 4, 753, 30, 31, 32, + 33, 34, 35, 240, 240, 4, 238, 4, 169, 238, + 4, 238, 173, 174, 175, 176, 4, 4, 4, 200, + 238, 237, 183, 184, 7, 7, 7, 7, 237, 237, + 237, 788, 789, 7, 791, 792, 7, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 5, 237, + 237, 237, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 5, 99, 100, 101, 5, + 103, 5, 237, 5, 7, 237, 237, 5, 5, 5, + 5, 5, 115, 116, 7, 7, 7, 7, 7, 122, + 237, 124, 125, 126, 127, 128, 129, 130, 131, 237, + 133, 134, 135, 5, 7, 5, 237, 140, 5, 142, + 5, 237, 237, 237, 237, 7, 237, 150, 237, 237, + 237, 237, 237, 7, 237, 237, 7, 237, 7, 7, + 237, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 7, 237, 237, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 237, 237, 7, 237, 237, 237, 237, 7, 7, + 7, 7, 205, 206, 7, 151, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 3, 237, + 6, 3, 6, 6, 3, 104, 6, 3, 6, 3, + 3, 6, 4, 3, 237, 6, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 3, 3, 6, 4, + 4, 4, 4, 4, 4, 240, 238, 6, 4, 6, + 8, 4, 4, 4, 4, 4, 238, 240, 238, 4, + 238, 4, 238, 1070, 4, 238, 1073, 238, 238, 1076, + 1073, 240, 1079, 1076, 1070, 4, 1079, 1084, 4, 238, + 1087, 1084, 1070, 1090, 1084, 4, 1070, 240, 238, 1073, + 238, 1079, 1076, 238, 238, 1079, 1084, 1104, 1070, 1087, + 1084, 4, 1076, 1087, 1070, 238, 1113, 1079, 1115, 1076, + 1079, 238, 1084, 1079, 238, 1087, 238, 1070, 1125, 4, + 1104, 1079, 1125, 1070, 4, 1132, 1079, 238, 4, 1113, + 1137, 1115, 1079, 1070, 4, 1079, 1073, 1084, 1122, 1076, + 1087, 1125, 1079, 1070, 1079, 1070, 1070, 1084, 237, 240, + 1087, 4, 1079, 1137, 1079, 1079, 240, 238, 4, 1084, + 1084, 1070, 1087, 1070, 240, 1137, 240, 1104, 1137, 240, + 1079, 1070, 1079, 1070, 240, 1084, 1113, 1084, 1115, 1137, + 1079, 1070, 1079, 1070, 1137, 1122, 1070, 1084, 1125, 1070, + 1079, 6, 1079, 1137, 1070, 1079, 1070, 3, 1079, 1070, + 1137, 4, 1137, 1079, 1070, 1079, 1070, 237, 1079, 1070, + 1137, 1070, 237, 1079, 1070, 1079, 1070, 1070, 1079, 1070, + 1079, 1070, 1070, 1079, 1070, 1079, 1079, 1070, 1079, 8, + 1079, 1079, 1070, 1079, 1070, 1070, 1079, 1070, 1137, 8, + 1070, 1079, 1070, 1079, 1079, 1070, 1079, 4, 1137, 1079, + 1137, 1079, 4, 1137, 1079, 8, 1137, 3, 237, 8, + 7, 1137, 5, 1137, 4, 4, 1137, 4, 4, 7, + 4, 1137, 3, 1137, 6, 5, 1137, 4, 1137, 4, + 4, 4, 237, 237, 177, 1284, 7, 5, 7, 237, + 237, 237, 4, 237, 4, 237, 237, 6, 237, 237, + 237, 3, 751, 237, 240, 240, 238, 237, 4, 237, + 237, 4, 237, 237, 4, 4, 238, 240, 238, 237, + 237, 1328, 4, 4, 237, 1328, 237, 546, 1335, 537, + 736, 753, 1335, 1040, 1069, 1335, 1064, 1344, 1092, 1166, + 1328, 840, 1082, 1090, 1328, 1352, 1104, 1335, 595, 1352, + 1099, 1335, 1072, 560, 1070, 1081, 1328, 1328, 1073, 1328, + 1344, 1075, 1328, 1335, 585, 1078, 1076, 564, 1352, 592, + 1328, 1089, 1139, 575, 1335, 1328, 1087, 1113, 1137, 1117, + 1085, 1328, 1115, 1390, 1328, 1392, 1394, 1420, 1335, 1392, + 1446, 1328, 1390, 1328, 1475, 792, 605, 1122, 1335, 752, + 1423, 1328, 1126, 1328, 1328, 609, 1390, 1344, 1392, 1453, + 1335, 1335, 1352, 1420, -1, 1352, -1, 1420, -1, 1328, + -1, 1328, -1, 1132, -1, -1, 1335, -1, 1335, 1328, + -1, 1328, -1, -1, -1, -1, 1420, 1444, 1335, 1328, + -1, 1328, -1, -1, 1328, -1, -1, 1328, -1, -1, + -1, -1, 1328, 1390, 1328, 1392, -1, 1328, -1, -1, + 1444, -1, 1328, -1, 1328, -1, -1, 1328, 1475, 1328, + -1, -1, 1328, -1, 1328, 1328, -1, 1328, -1, 1328, + 1328, -1, 1328, 1420, -1, 1328, -1, -1, -1, -1, + 1328, 1475, 1328, 1328, -1, 1328, -1, -1, 1328, -1, + 1328, -1, -1, 1328, -1, -1, -1, 1444, 30, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1475, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, + -1, -1, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, + -1, 103, 104, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, 116, -1, -1, -1, -1, -1, + -1, -1, 124, 125, -1, 127, -1, 129, 130, 131, + -1, 133, 134, 135, -1, -1, -1, -1, 140, -1, + -1, 85, 86, 87, 88, 89, 90, 91, 150, 93, + 94, 95, 96, -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 116, -1, -1, -1, -1, -1, -1, 123, + 124, 125, -1, -1, -1, -1, -1, -1, -1, 133, + 134, 135, -1, -1, -1, -1, 140, 141, -1, -1, + -1, -1, -1, 205, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1469, -1, -1, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, -1, -1, -1, -1, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, -1, -1, -1, -1, 102, 103, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, - 115, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, 126, -1, 128, 129, 130, -1, 132, 133, 134, - -1, -1, -1, -1, 139, -1, -1, 84, 85, 86, - 87, 88, 89, 90, 149, 92, 93, 94, 95, -1, - -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - -1, -1, -1, -1, -1, 122, 123, 124, -1, -1, - -1, -1, -1, -1, -1, 132, 133, 134, -1, -1, - -1, -1, 139, 140, -1, -1, -1, -1, -1, 204, - 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 204, 205, -1, + -1, 205, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 236 + -1, -1, -1, 237 }; const short Dhcp4Parser::yystos_[] = { - 0, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 0, 5, - 7, 9, 236, 237, 238, 239, 255, 256, 257, 262, - 7, 271, 7, 276, 7, 334, 7, 449, 7, 536, - 7, 553, 7, 485, 7, 491, 7, 515, 7, 425, - 7, 665, 7, 684, 263, 258, 272, 277, 335, 450, - 537, 554, 486, 492, 516, 426, 666, 685, 255, 264, - 265, 236, 260, 261, 10, 273, 275, 11, 14, 26, + 0, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 0, 5, + 7, 9, 237, 238, 239, 240, 256, 257, 258, 263, + 7, 272, 7, 277, 7, 336, 7, 451, 7, 538, + 7, 555, 7, 487, 7, 493, 7, 517, 7, 427, + 7, 667, 7, 686, 264, 259, 273, 278, 337, 452, + 539, 556, 488, 494, 518, 428, 668, 687, 256, 265, + 266, 237, 261, 262, 10, 274, 276, 11, 14, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, - 102, 113, 114, 115, 120, 123, 124, 128, 129, 130, - 131, 132, 141, 151, 154, 161, 162, 166, 167, 185, - 189, 204, 205, 206, 207, 208, 209, 218, 236, 270, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 293, 294, 296, 297, 298, 299, - 300, 301, 302, 305, 307, 309, 310, 311, 314, 315, - 316, 317, 318, 320, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 348, 350, 358, 360, 403, 412, 419, - 433, 443, 471, 472, 473, 475, 483, 509, 543, 545, - 547, 558, 560, 562, 585, 600, 601, 603, 653, 663, - 682, 691, 715, 15, 16, 19, 22, 23, 24, 25, - 270, 332, 333, 336, 338, 341, 344, 345, 346, 347, - 543, 545, 98, 99, 100, 121, 125, 126, 127, 132, - 133, 134, 139, 149, 270, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 294, 297, 298, 299, 300, - 301, 302, 305, 307, 309, 310, 311, 314, 315, 316, - 317, 318, 320, 322, 328, 451, 452, 453, 455, 457, - 459, 461, 463, 465, 467, 469, 471, 472, 473, 474, - 509, 530, 543, 545, 547, 558, 560, 562, 580, 122, - 140, 270, 299, 300, 301, 302, 305, 307, 309, 311, - 314, 315, 316, 317, 318, 320, 463, 465, 467, 469, - 509, 538, 539, 540, 542, 543, 545, 132, 142, 143, - 144, 145, 146, 147, 148, 270, 509, 543, 545, 555, - 556, 557, 558, 560, 562, 564, 566, 568, 570, 572, - 574, 576, 578, 483, 40, 103, 105, 106, 110, 111, - 112, 270, 377, 493, 494, 495, 496, 497, 498, 499, - 501, 503, 505, 506, 508, 543, 545, 104, 107, 108, - 109, 132, 270, 377, 497, 503, 517, 518, 519, 520, - 521, 523, 524, 525, 526, 527, 528, 543, 545, 152, - 153, 270, 427, 428, 429, 431, 190, 191, 192, 193, - 194, 195, 196, 197, 270, 543, 545, 667, 668, 669, - 670, 672, 673, 675, 676, 677, 680, 12, 13, 686, - 687, 688, 690, 6, 3, 4, 8, 3, 274, 3, - 8, 683, 331, 351, 4, 4, 4, 559, 561, 563, - 4, 4, 349, 359, 361, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 292, 4, 4, 4, - 4, 4, 303, 306, 308, 4, 4, 4, 4, 4, - 4, 4, 444, 484, 510, 4, 295, 312, 476, 544, - 546, 4, 4, 4, 404, 586, 548, 420, 434, 4, - 413, 602, 604, 654, 664, 319, 321, 4, 4, 4, - 692, 716, 4, 3, 8, 337, 339, 342, 4, 4, - 4, 4, 3, 8, 456, 458, 460, 531, 454, 462, - 4, 466, 468, 470, 464, 581, 3, 8, 541, 4, - 3, 8, 579, 565, 567, 569, 573, 571, 577, 575, - 8, 3, 8, 500, 378, 4, 504, 502, 507, 4, - 8, 3, 522, 4, 4, 4, 529, 8, 3, 430, - 432, 3, 8, 4, 671, 4, 674, 4, 4, 678, - 681, 3, 8, 689, 4, 3, 8, 255, 255, 236, - 4, 4, 4, 4, 239, 239, 239, 4, 4, 4, - 237, 239, 4, 4, 4, 237, 237, 237, 237, 237, - 239, 238, 238, 238, 237, 237, 4, 237, 237, 239, - 239, 239, 4, 4, 4, 239, 239, 238, 237, 237, - 237, 239, 4, 4, 4, 237, 4, 4, 4, 4, - 4, 239, 239, 239, 4, 4, 4, 4, 4, 237, - 4, 4, 4, 4, 4, 4, 4, 239, 239, 239, - 4, 4, 279, 4, 4, 4, 239, 239, 237, 237, - 333, 4, 4, 4, 4, 4, 4, 237, 4, 4, - 4, 4, 4, 452, 4, 237, 539, 4, 4, 4, - 4, 4, 4, 4, 4, 557, 4, 4, 237, 4, - 4, 4, 239, 495, 4, 239, 239, 239, 4, 519, - 4, 4, 428, 239, 4, 237, 4, 237, 237, 4, - 4, 668, 4, 237, 687, 4, 7, 7, 7, 7, - 236, 236, 236, 7, 7, 5, 236, 200, 201, 202, - 203, 239, 304, 236, 236, 5, 5, 5, 236, 116, - 117, 118, 119, 313, 5, 257, 259, 236, 5, 5, - 5, 5, 7, 7, 7, 5, 7, 7, 236, 236, - 5, 7, 5, 266, 17, 18, 340, 20, 21, 343, - 236, 236, 236, 5, 236, 236, 266, 266, 266, 236, - 7, 236, 266, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 266, 236, 259, 236, - 236, 18, 198, 679, 199, 5, 255, 278, 686, 332, - 27, 28, 352, 353, 354, 356, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 270, 366, 367, 368, 370, 372, 374, - 376, 377, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 391, 392, 393, 395, 397, 399, 401, 366, - 7, 362, 363, 364, 7, 445, 446, 447, 7, 487, - 488, 489, 7, 511, 512, 513, 7, 477, 478, 479, - 143, 144, 145, 146, 148, 405, 406, 407, 408, 409, - 410, 411, 7, 587, 588, 7, 549, 550, 551, 7, - 421, 422, 423, 155, 156, 157, 158, 159, 160, 435, - 436, 437, 438, 439, 440, 441, 442, 163, 164, 165, - 270, 414, 415, 416, 417, 418, 543, 545, 168, 172, - 173, 174, 175, 182, 183, 270, 393, 395, 397, 543, - 545, 609, 610, 611, 614, 616, 618, 619, 620, 630, - 7, 605, 606, 607, 186, 187, 188, 236, 543, 545, - 655, 656, 657, 658, 660, 661, 667, 7, 693, 694, - 219, 220, 221, 222, 270, 717, 718, 719, 720, 721, - 722, 267, 7, 532, 533, 534, 150, 582, 583, 362, - 8, 8, 8, 355, 357, 3, 8, 369, 371, 373, - 375, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 389, 4, 4, 394, 396, 398, 400, 402, 3, - 8, 8, 365, 6, 3, 448, 6, 3, 490, 6, - 3, 514, 6, 3, 480, 6, 3, 3, 6, 589, - 3, 6, 552, 6, 3, 424, 6, 3, 4, 4, - 4, 4, 4, 4, 3, 8, 4, 4, 4, 3, - 8, 612, 615, 617, 4, 631, 4, 621, 3, 8, - 608, 6, 3, 4, 659, 4, 662, 3, 8, 8, - 695, 3, 6, 4, 4, 4, 4, 3, 8, 236, - 268, 269, 535, 6, 3, 584, 8, 6, 4, 4, - 353, 4, 4, 4, 4, 237, 239, 237, 239, 237, - 237, 237, 237, 237, 237, 4, 239, 237, 4, 4, - 4, 4, 4, 367, 366, 364, 451, 447, 493, 489, - 517, 513, 270, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 294, 297, 298, 299, 300, 301, 302, - 305, 307, 309, 310, 311, 314, 315, 316, 317, 318, - 320, 322, 328, 377, 443, 461, 463, 465, 467, 469, - 471, 472, 473, 481, 482, 509, 543, 545, 558, 560, - 562, 580, 479, 406, 135, 136, 137, 138, 270, 280, - 281, 282, 328, 377, 483, 509, 543, 545, 558, 560, - 562, 590, 591, 592, 593, 594, 596, 598, 599, 588, - 555, 551, 427, 423, 237, 237, 237, 237, 237, 237, - 436, 239, 237, 237, 415, 4, 4, 4, 237, 4, - 239, 4, 610, 609, 607, 239, 4, 237, 4, 656, - 210, 212, 213, 270, 377, 543, 545, 696, 697, 698, - 699, 701, 694, 239, 239, 239, 239, 718, 6, 3, - 538, 534, 4, 236, 236, 236, 236, 236, 236, 55, - 56, 57, 390, 236, 236, 236, 399, 236, 8, 8, - 8, 8, 3, 8, 595, 597, 4, 4, 8, 3, - 8, 8, 169, 170, 171, 613, 236, 236, 7, 5, - 8, 236, 255, 702, 4, 700, 3, 8, 236, 8, - 266, 482, 4, 4, 239, 239, 592, 40, 177, 178, - 179, 270, 543, 545, 632, 633, 634, 637, 639, 641, - 7, 622, 623, 624, 4, 237, 4, 697, 236, 236, - 635, 638, 640, 642, 3, 8, 625, 6, 3, 5, - 236, 4, 4, 4, 4, 633, 184, 270, 377, 543, - 545, 626, 627, 628, 624, 7, 703, 704, 176, 636, - 236, 236, 5, 629, 3, 8, 705, 3, 6, 7, - 643, 644, 645, 4, 627, 211, 214, 215, 216, 217, - 706, 707, 708, 710, 711, 712, 713, 704, 646, 6, - 3, 236, 709, 4, 4, 4, 714, 3, 8, 180, - 181, 270, 370, 372, 543, 545, 647, 648, 649, 651, - 645, 4, 239, 237, 237, 4, 707, 650, 652, 3, - 8, 236, 236, 4, 4, 648, 236, 236 + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 102, 103, 114, 115, 116, 121, 124, 125, 129, 130, + 131, 132, 133, 142, 152, 155, 162, 163, 167, 168, + 186, 190, 205, 206, 207, 208, 209, 210, 219, 237, + 271, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 295, 296, 298, 299, + 300, 301, 302, 303, 304, 307, 309, 311, 312, 313, + 316, 317, 318, 319, 320, 322, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 350, 352, 360, 362, 405, + 414, 421, 435, 445, 473, 474, 475, 477, 485, 511, + 545, 547, 549, 560, 562, 564, 587, 602, 603, 605, + 655, 665, 684, 693, 717, 15, 16, 19, 22, 23, + 24, 25, 271, 334, 335, 338, 340, 343, 346, 347, + 348, 349, 545, 547, 99, 100, 101, 122, 126, 127, + 128, 133, 134, 135, 140, 150, 271, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 296, 299, + 300, 301, 302, 303, 304, 307, 309, 311, 312, 313, + 316, 317, 318, 319, 320, 322, 324, 330, 453, 454, + 455, 457, 459, 461, 463, 465, 467, 469, 471, 473, + 474, 475, 476, 511, 532, 545, 547, 549, 560, 562, + 564, 582, 123, 141, 271, 301, 302, 303, 304, 307, + 309, 311, 313, 316, 317, 318, 319, 320, 322, 465, + 467, 469, 471, 511, 540, 541, 542, 544, 545, 547, + 133, 143, 144, 145, 146, 147, 148, 149, 271, 511, + 545, 547, 557, 558, 559, 560, 562, 564, 566, 568, + 570, 572, 574, 576, 578, 580, 485, 40, 104, 106, + 107, 111, 112, 113, 271, 379, 495, 496, 497, 498, + 499, 500, 501, 503, 505, 507, 508, 510, 545, 547, + 105, 108, 109, 110, 133, 271, 379, 499, 505, 519, + 520, 521, 522, 523, 525, 526, 527, 528, 529, 530, + 545, 547, 153, 154, 271, 429, 430, 431, 433, 191, + 192, 193, 194, 195, 196, 197, 198, 271, 545, 547, + 669, 670, 671, 672, 674, 675, 677, 678, 679, 682, + 12, 13, 688, 689, 690, 692, 6, 3, 4, 8, + 3, 275, 3, 8, 685, 333, 353, 4, 4, 4, + 561, 563, 565, 4, 4, 351, 361, 363, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 294, 4, 4, 4, 4, 4, 305, 308, 310, 4, + 4, 4, 4, 4, 4, 4, 446, 486, 512, 4, + 297, 314, 478, 546, 548, 4, 4, 4, 406, 588, + 550, 422, 436, 4, 415, 604, 606, 656, 666, 321, + 323, 4, 4, 4, 694, 718, 4, 3, 8, 339, + 341, 344, 4, 4, 4, 4, 3, 8, 458, 460, + 462, 533, 456, 464, 4, 468, 470, 472, 466, 583, + 3, 8, 543, 4, 3, 8, 581, 567, 569, 571, + 575, 573, 579, 577, 8, 3, 8, 502, 380, 4, + 506, 504, 509, 4, 8, 3, 524, 4, 4, 4, + 531, 8, 3, 432, 434, 3, 8, 4, 673, 4, + 676, 4, 4, 680, 683, 3, 8, 691, 4, 3, + 8, 256, 256, 237, 4, 4, 4, 4, 240, 240, + 240, 4, 4, 4, 238, 240, 4, 4, 4, 238, + 238, 238, 238, 238, 240, 239, 239, 239, 238, 239, + 238, 4, 238, 238, 240, 240, 240, 4, 4, 4, + 240, 240, 239, 238, 238, 238, 240, 4, 4, 4, + 238, 4, 4, 4, 4, 4, 240, 240, 240, 4, + 4, 4, 4, 4, 238, 4, 4, 4, 4, 4, + 4, 4, 240, 240, 240, 4, 4, 280, 4, 4, + 4, 240, 240, 238, 238, 335, 4, 4, 4, 4, + 4, 4, 238, 4, 4, 4, 4, 4, 454, 4, + 238, 541, 4, 4, 4, 4, 4, 4, 4, 4, + 559, 4, 4, 238, 4, 4, 4, 240, 497, 4, + 240, 240, 240, 4, 521, 4, 4, 430, 240, 4, + 238, 4, 238, 238, 4, 4, 670, 4, 238, 689, + 4, 7, 7, 7, 7, 237, 237, 237, 7, 7, + 5, 237, 201, 202, 203, 204, 240, 306, 237, 237, + 5, 5, 5, 237, 117, 118, 119, 120, 315, 5, + 258, 260, 237, 5, 5, 5, 5, 7, 7, 7, + 5, 7, 7, 237, 237, 5, 7, 5, 267, 17, + 18, 342, 20, 21, 345, 237, 237, 237, 5, 237, + 237, 267, 267, 267, 237, 7, 237, 267, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 267, 237, 260, 237, 237, 18, 199, 681, 200, + 5, 256, 279, 688, 334, 27, 28, 354, 355, 356, + 358, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 271, 368, + 369, 370, 372, 374, 376, 378, 379, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 393, 394, 395, + 397, 399, 401, 403, 368, 7, 364, 365, 366, 7, + 447, 448, 449, 7, 489, 490, 491, 7, 513, 514, + 515, 7, 479, 480, 481, 144, 145, 146, 147, 149, + 407, 408, 409, 410, 411, 412, 413, 7, 589, 590, + 7, 551, 552, 553, 7, 423, 424, 425, 156, 157, + 158, 159, 160, 161, 437, 438, 439, 440, 441, 442, + 443, 444, 164, 165, 166, 271, 416, 417, 418, 419, + 420, 545, 547, 169, 173, 174, 175, 176, 183, 184, + 271, 395, 397, 399, 545, 547, 611, 612, 613, 616, + 618, 620, 621, 622, 632, 7, 607, 608, 609, 187, + 188, 189, 237, 545, 547, 657, 658, 659, 660, 662, + 663, 669, 7, 695, 696, 220, 221, 222, 223, 271, + 719, 720, 721, 722, 723, 724, 268, 7, 534, 535, + 536, 151, 584, 585, 364, 8, 8, 8, 357, 359, + 3, 8, 371, 373, 375, 377, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 391, 4, 4, 396, + 398, 400, 402, 404, 3, 8, 8, 367, 6, 3, + 450, 6, 3, 492, 6, 3, 516, 6, 3, 482, + 6, 3, 3, 6, 591, 3, 6, 554, 6, 3, + 426, 6, 3, 4, 4, 4, 4, 4, 4, 3, + 8, 4, 4, 4, 3, 8, 614, 617, 619, 4, + 633, 4, 623, 3, 8, 610, 6, 3, 4, 661, + 4, 664, 3, 8, 8, 697, 3, 6, 4, 4, + 4, 4, 3, 8, 237, 269, 270, 537, 6, 3, + 586, 8, 6, 4, 4, 355, 4, 4, 4, 4, + 238, 240, 238, 240, 238, 238, 238, 238, 238, 238, + 4, 240, 238, 4, 4, 4, 4, 4, 369, 368, + 366, 453, 449, 495, 491, 519, 515, 271, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 296, + 299, 300, 301, 302, 303, 304, 307, 309, 311, 312, + 313, 316, 317, 318, 319, 320, 322, 324, 330, 379, + 445, 463, 465, 467, 469, 471, 473, 474, 475, 483, + 484, 511, 545, 547, 560, 562, 564, 582, 481, 408, + 136, 137, 138, 139, 271, 281, 282, 283, 330, 379, + 485, 511, 545, 547, 560, 562, 564, 592, 593, 594, + 595, 596, 598, 600, 601, 590, 557, 553, 429, 425, + 238, 238, 238, 238, 238, 238, 438, 240, 238, 238, + 417, 4, 4, 4, 238, 4, 240, 4, 612, 611, + 609, 240, 4, 238, 4, 658, 211, 213, 214, 271, + 379, 545, 547, 698, 699, 700, 701, 703, 696, 240, + 240, 240, 240, 720, 6, 3, 540, 536, 4, 237, + 237, 237, 237, 237, 237, 55, 56, 57, 392, 237, + 237, 237, 401, 237, 8, 8, 8, 8, 3, 8, + 597, 599, 4, 4, 8, 3, 8, 8, 170, 171, + 172, 615, 237, 237, 7, 5, 8, 237, 256, 704, + 4, 702, 3, 8, 237, 8, 267, 484, 4, 4, + 240, 240, 594, 40, 178, 179, 180, 271, 545, 547, + 634, 635, 636, 639, 641, 643, 7, 624, 625, 626, + 4, 238, 4, 699, 237, 237, 637, 640, 642, 644, + 3, 8, 627, 6, 3, 5, 237, 4, 4, 4, + 4, 635, 185, 271, 379, 545, 547, 628, 629, 630, + 626, 7, 705, 706, 177, 638, 237, 237, 5, 631, + 3, 8, 707, 3, 6, 7, 645, 646, 647, 4, + 629, 212, 215, 216, 217, 218, 708, 709, 710, 712, + 713, 714, 715, 706, 648, 6, 3, 237, 711, 4, + 4, 4, 716, 3, 8, 181, 182, 271, 372, 374, + 545, 547, 649, 650, 651, 653, 647, 4, 240, 238, + 238, 4, 709, 652, 654, 3, 8, 237, 237, 4, + 4, 650, 237, 237 }; const short Dhcp4Parser::yyr1_[] = { - 0, 240, 242, 241, 243, 241, 244, 241, 245, 241, - 246, 241, 247, 241, 248, 241, 249, 241, 250, 241, - 251, 241, 252, 241, 253, 241, 254, 241, 255, 255, - 255, 255, 255, 255, 255, 256, 258, 257, 259, 260, - 260, 261, 261, 261, 263, 262, 264, 264, 265, 265, - 265, 267, 266, 268, 268, 269, 269, 269, 270, 272, - 271, 274, 273, 273, 275, 277, 276, 278, 278, 278, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 292, 291, 293, 295, 294, 296, 297, - 298, 299, 300, 301, 303, 302, 304, 304, 304, 304, - 304, 306, 305, 308, 307, 309, 310, 312, 311, 313, - 313, 313, 313, 314, 315, 316, 317, 319, 318, 321, - 320, 322, 323, 324, 325, 326, 327, 328, 329, 331, - 330, 332, 332, 332, 333, 333, 333, 333, 333, 333, - 333, 333, 333, 333, 335, 334, 337, 336, 339, 338, - 340, 340, 342, 341, 343, 343, 344, 345, 346, 347, - 349, 348, 351, 350, 352, 352, 352, 353, 353, 355, - 354, 357, 356, 359, 358, 361, 360, 362, 362, 363, - 363, 363, 365, 364, 366, 366, 366, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 369, 368, 371, 370, 373, 372, 375, 374, 376, - 378, 377, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 389, 388, 390, 390, 390, 391, 392, 394, 393, - 396, 395, 398, 397, 400, 399, 399, 399, 399, 399, - 399, 402, 401, 404, 403, 405, 405, 405, 406, 406, - 406, 406, 406, 407, 408, 409, 410, 411, 413, 412, - 414, 414, 414, 415, 415, 415, 415, 415, 415, 416, - 417, 418, 420, 419, 421, 421, 422, 422, 422, 424, - 423, 426, 425, 427, 427, 427, 427, 428, 428, 430, - 429, 432, 431, 434, 433, 435, 435, 435, 436, 436, - 436, 436, 436, 436, 437, 438, 439, 440, 441, 442, - 444, 443, 445, 445, 446, 446, 446, 448, 447, 450, - 449, 451, 451, 451, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 454, 453, 456, - 455, 458, 457, 460, 459, 462, 461, 464, 463, 466, - 465, 468, 467, 470, 469, 471, 472, 473, 474, 476, - 475, 477, 477, 478, 478, 478, 480, 479, 481, 481, - 481, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 482, 484, - 483, 486, 485, 487, 487, 488, 488, 488, 490, 489, - 492, 491, 493, 493, 494, 494, 494, 495, 495, 495, - 495, 495, 495, 495, 495, 495, 495, 496, 497, 498, - 500, 499, 502, 501, 504, 503, 505, 507, 506, 508, - 510, 509, 511, 511, 512, 512, 512, 514, 513, 516, - 515, 517, 517, 518, 518, 518, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 520, 522, 521, - 523, 524, 525, 526, 527, 529, 528, 531, 530, 532, - 532, 533, 533, 533, 535, 534, 537, 536, 538, 538, - 538, 539, 539, 539, 539, 539, 539, 539, 539, 539, - 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, - 539, 539, 539, 539, 539, 541, 540, 542, 544, 543, - 546, 545, 548, 547, 549, 549, 550, 550, 550, 552, - 551, 554, 553, 555, 555, 556, 556, 556, 557, 557, - 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 559, 558, 561, 560, 563, 562, 565, - 564, 567, 566, 569, 568, 571, 570, 573, 572, 575, - 574, 577, 576, 579, 578, 581, 580, 582, 584, 583, - 586, 585, 587, 587, 587, 589, 588, 590, 590, 591, - 591, 591, 592, 592, 592, 592, 592, 592, 592, 592, - 592, 592, 592, 592, 592, 592, 592, 592, 592, 593, - 595, 594, 597, 596, 598, 599, 600, 602, 601, 604, - 603, 605, 605, 606, 606, 606, 608, 607, 609, 609, - 609, 610, 610, 610, 610, 610, 610, 610, 610, 610, - 610, 610, 610, 610, 612, 611, 613, 613, 613, 615, - 614, 617, 616, 618, 619, 621, 620, 622, 622, 623, - 623, 623, 625, 624, 626, 626, 626, 627, 627, 627, - 627, 627, 629, 628, 631, 630, 632, 632, 632, 633, - 633, 633, 633, 633, 633, 633, 635, 634, 636, 638, - 637, 640, 639, 642, 641, 643, 643, 644, 644, 644, - 646, 645, 647, 647, 647, 648, 648, 648, 648, 648, - 648, 648, 650, 649, 652, 651, 654, 653, 655, 655, - 655, 656, 656, 656, 656, 656, 656, 657, 659, 658, - 660, 662, 661, 664, 663, 666, 665, 667, 667, 667, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 669, 671, 670, 672, 674, 673, 675, 676, 678, - 677, 679, 679, 681, 680, 683, 682, 685, 684, 686, - 686, 686, 687, 687, 689, 688, 690, 692, 691, 693, - 693, 693, 695, 694, 696, 696, 696, 697, 697, 697, - 697, 697, 697, 697, 698, 700, 699, 702, 701, 703, - 703, 703, 705, 704, 706, 706, 706, 707, 707, 707, - 707, 707, 709, 708, 710, 711, 712, 714, 713, 716, - 715, 717, 717, 717, 718, 718, 718, 718, 718, 719, - 720, 721, 722 + 0, 241, 243, 242, 244, 242, 245, 242, 246, 242, + 247, 242, 248, 242, 249, 242, 250, 242, 251, 242, + 252, 242, 253, 242, 254, 242, 255, 242, 256, 256, + 256, 256, 256, 256, 256, 257, 259, 258, 260, 261, + 261, 262, 262, 262, 264, 263, 265, 265, 266, 266, + 266, 268, 267, 269, 269, 270, 270, 270, 271, 273, + 272, 275, 274, 274, 276, 278, 277, 279, 279, 279, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 294, 293, 295, 297, 296, + 298, 299, 300, 301, 302, 303, 305, 304, 306, 306, + 306, 306, 306, 308, 307, 310, 309, 311, 312, 314, + 313, 315, 315, 315, 315, 316, 317, 318, 319, 321, + 320, 323, 322, 324, 325, 326, 327, 328, 329, 330, + 331, 333, 332, 334, 334, 334, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 337, 336, 339, 338, + 341, 340, 342, 342, 344, 343, 345, 345, 346, 347, + 348, 349, 351, 350, 353, 352, 354, 354, 354, 355, + 355, 357, 356, 359, 358, 361, 360, 363, 362, 364, + 364, 365, 365, 365, 367, 366, 368, 368, 368, 369, + 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, + 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, + 369, 369, 369, 371, 370, 373, 372, 375, 374, 377, + 376, 378, 380, 379, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 391, 390, 392, 392, 392, 393, 394, + 396, 395, 398, 397, 400, 399, 402, 401, 401, 401, + 401, 401, 401, 404, 403, 406, 405, 407, 407, 407, + 408, 408, 408, 408, 408, 409, 410, 411, 412, 413, + 415, 414, 416, 416, 416, 417, 417, 417, 417, 417, + 417, 418, 419, 420, 422, 421, 423, 423, 424, 424, + 424, 426, 425, 428, 427, 429, 429, 429, 429, 430, + 430, 432, 431, 434, 433, 436, 435, 437, 437, 437, + 438, 438, 438, 438, 438, 438, 439, 440, 441, 442, + 443, 444, 446, 445, 447, 447, 448, 448, 448, 450, + 449, 452, 451, 453, 453, 453, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 456, 455, 458, 457, 460, 459, 462, 461, 464, 463, + 466, 465, 468, 467, 470, 469, 472, 471, 473, 474, + 475, 476, 478, 477, 479, 479, 480, 480, 480, 482, + 481, 483, 483, 483, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 486, 485, 488, 487, 489, 489, 490, + 490, 490, 492, 491, 494, 493, 495, 495, 496, 496, + 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 498, 499, 500, 502, 501, 504, 503, 506, 505, + 507, 509, 508, 510, 512, 511, 513, 513, 514, 514, + 514, 516, 515, 518, 517, 519, 519, 520, 520, 520, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 522, 524, 523, 525, 526, 527, 528, 529, 531, + 530, 533, 532, 534, 534, 535, 535, 535, 537, 536, + 539, 538, 540, 540, 540, 541, 541, 541, 541, 541, + 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, + 541, 541, 541, 541, 541, 541, 541, 541, 541, 543, + 542, 544, 546, 545, 548, 547, 550, 549, 551, 551, + 552, 552, 552, 554, 553, 556, 555, 557, 557, 558, + 558, 558, 559, 559, 559, 559, 559, 559, 559, 559, + 559, 559, 559, 559, 559, 559, 559, 561, 560, 563, + 562, 565, 564, 567, 566, 569, 568, 571, 570, 573, + 572, 575, 574, 577, 576, 579, 578, 581, 580, 583, + 582, 584, 586, 585, 588, 587, 589, 589, 589, 591, + 590, 592, 592, 593, 593, 593, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 595, 597, 596, 599, 598, 600, 601, + 602, 604, 603, 606, 605, 607, 607, 608, 608, 608, + 610, 609, 611, 611, 611, 612, 612, 612, 612, 612, + 612, 612, 612, 612, 612, 612, 612, 612, 614, 613, + 615, 615, 615, 617, 616, 619, 618, 620, 621, 623, + 622, 624, 624, 625, 625, 625, 627, 626, 628, 628, + 628, 629, 629, 629, 629, 629, 631, 630, 633, 632, + 634, 634, 634, 635, 635, 635, 635, 635, 635, 635, + 637, 636, 638, 640, 639, 642, 641, 644, 643, 645, + 645, 646, 646, 646, 648, 647, 649, 649, 649, 650, + 650, 650, 650, 650, 650, 650, 652, 651, 654, 653, + 656, 655, 657, 657, 657, 658, 658, 658, 658, 658, + 658, 659, 661, 660, 662, 664, 663, 666, 665, 668, + 667, 669, 669, 669, 670, 670, 670, 670, 670, 670, + 670, 670, 670, 670, 670, 671, 673, 672, 674, 676, + 675, 677, 678, 680, 679, 681, 681, 683, 682, 685, + 684, 687, 686, 688, 688, 688, 689, 689, 691, 690, + 692, 694, 693, 695, 695, 695, 697, 696, 698, 698, + 698, 699, 699, 699, 699, 699, 699, 699, 700, 702, + 701, 704, 703, 705, 705, 705, 707, 706, 708, 708, + 708, 709, 709, 709, 709, 709, 711, 710, 712, 713, + 714, 716, 715, 718, 717, 719, 719, 719, 720, 720, + 720, 720, 720, 721, 722, 723, 724 }; const signed char @@ -6566,90 +6583,90 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 3, 0, 4, 3, 3, - 3, 3, 3, 3, 0, 4, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 3, 3, 0, 4, 1, - 1, 1, 1, 3, 3, 3, 3, 0, 4, 0, - 4, 3, 3, 3, 3, 3, 3, 3, 3, 0, - 6, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, - 1, 1, 0, 4, 1, 1, 3, 3, 3, 3, - 0, 6, 0, 6, 1, 3, 2, 1, 1, 0, - 4, 0, 4, 0, 6, 0, 6, 0, 1, 1, - 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 4, 3, 0, 4, + 3, 3, 3, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, + 4, 1, 1, 1, 1, 3, 3, 3, 3, 0, + 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, + 3, 0, 6, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 4, 1, 1, 0, 4, 1, 1, 3, 3, + 3, 3, 0, 6, 0, 6, 1, 3, 2, 1, + 1, 0, 4, 0, 4, 0, 6, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 0, 4, 3, - 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 0, 4, 1, 1, 1, 3, 3, 0, 4, - 0, 4, 0, 4, 0, 4, 1, 1, 1, 1, - 1, 0, 4, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, - 1, 3, 2, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, + 4, 3, 0, 4, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 0, 4, 1, 1, 1, 3, 3, + 0, 4, 0, 4, 0, 4, 0, 4, 1, 1, + 1, 1, 1, 0, 4, 0, 6, 1, 3, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 0, 6, 0, 1, 1, 3, + 2, 0, 4, 0, 4, 1, 3, 2, 1, 1, + 1, 0, 4, 0, 4, 0, 6, 1, 3, 2, + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 1, 3, 2, 1, 1, 1, 0, - 4, 0, 4, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 3, 3, 3, 3, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, + 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 6, 0, 4, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 0, 4, 0, 4, 0, 4, 1, 0, 4, 3, - 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, - 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 1, 1, 3, 3, 3, 0, 4, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 6, 0, 4, 0, 1, 1, + 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 0, 4, 0, 4, 0, 4, + 1, 0, 4, 3, 0, 6, 0, 1, 1, 3, + 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 3, 0, 4, - 0, 4, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, + 1, 1, 0, 4, 1, 1, 3, 3, 3, 0, + 4, 0, 6, 0, 1, 1, 3, 2, 0, 4, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 6, 1, 0, 4, - 0, 6, 1, 3, 2, 0, 4, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 3, 0, 4, 0, 4, 0, 6, 0, 1, + 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 6, 1, 0, 4, 0, 6, 1, 3, 2, 0, + 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 3, 3, 3, 0, 6, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 1, 1, 1, 0, - 4, 0, 4, 3, 3, 0, 6, 0, 1, 1, - 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, - 1, 1, 0, 4, 0, 6, 1, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 1, 0, - 4, 0, 4, 0, 6, 0, 1, 1, 3, 2, + 1, 1, 1, 1, 0, 4, 0, 4, 3, 3, + 3, 0, 6, 0, 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 3, 0, 4, - 3, 0, 4, 0, 6, 0, 4, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 0, 4, 3, 0, 4, 3, 3, 0, - 4, 1, 1, 0, 4, 0, 6, 0, 4, 1, - 3, 2, 1, 1, 0, 6, 3, 0, 6, 1, - 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, - 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, - 1, 1, 0, 4, 3, 3, 3, 0, 4, 0, - 6, 1, 3, 2, 1, 1, 1, 1, 1, 3, - 3, 3, 3 + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, + 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 0, 4, 0, 6, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 0, 4, 0, 4, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 3, 0, 4, 3, 0, 4, 0, 6, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 0, 4, 3, 0, + 4, 3, 3, 0, 4, 1, 1, 0, 4, 0, + 6, 0, 4, 1, 3, 2, 1, 1, 0, 6, + 3, 0, 6, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 3, 0, + 4, 0, 6, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 3, 0, 4, 0, 6, 1, 3, 2, 1, 1, + 1, 1, 1, 3, 3, 3, 3 }; @@ -6684,17 +6701,18 @@ namespace isc { namespace dhcp { "\"max-valid-lifetime\"", "\"renew-timer\"", "\"rebind-timer\"", "\"calculate-tee-times\"", "\"t1-percent\"", "\"t2-percent\"", "\"cache-threshold\"", "\"cache-max-age\"", - "\"decline-probation-period\"", "\"server-tag\"", - "\"statistic-default-sample-count\"", "\"statistic-default-sample-age\"", - "\"ddns-send-updates\"", "\"ddns-override-no-update\"", - "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", - "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", - "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"", - "\"ddns-ttl-percent\"", "\"ddns-ttl\"", "\"ddns-ttl-min\"", - "\"ddns-ttl-mix\"", "\"store-extended-info\"", "\"subnet4\"", - "\"4o6-interface\"", "\"4o6-interface-id\"", "\"4o6-subnet\"", - "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", - "\"space\"", "\"csv-format\"", "\"always-send\"", "\"never-send\"", + "\"adaptive-lease-time-threshold\"", "\"decline-probation-period\"", + "\"server-tag\"", "\"statistic-default-sample-count\"", + "\"statistic-default-sample-age\"", "\"ddns-send-updates\"", + "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", + "\"ddns-replace-client-name\"", "\"ddns-generated-prefix\"", + "\"ddns-qualifying-suffix\"", "\"ddns-update-on-renew\"", + "\"ddns-use-conflict-resolution\"", "\"ddns-ttl-percent\"", + "\"ddns-ttl\"", "\"ddns-ttl-min\"", "\"ddns-ttl-mix\"", + "\"store-extended-info\"", "\"subnet4\"", "\"4o6-interface\"", + "\"4o6-interface-id\"", "\"4o6-subnet\"", "\"option-def\"", + "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"", + "\"csv-format\"", "\"always-send\"", "\"never-send\"", "\"record-types\"", "\"encapsulate\"", "\"array\"", "\"parked-packet-limit\"", "\"allocator\"", "\"ddns-conflict-resolution-mode\"", "\"check-with-dhcid\"", @@ -6747,14 +6765,14 @@ namespace isc { namespace dhcp { "global_params", "global_param", "valid_lifetime", "min_valid_lifetime", "max_valid_lifetime", "renew_timer", "rebind_timer", "calculate_tee_times", "t1_percent", "t2_percent", "cache_threshold", - "cache_max_age", "decline_probation_period", "server_tag", "$@20", - "parked_packet_limit", "allocator", "$@21", "echo_client_id", - "match_client_id", "authoritative", "ddns_send_updates", - "ddns_override_no_update", "ddns_override_client_update", - "ddns_replace_client_name", "$@22", "ddns_replace_client_name_value", - "ddns_generated_prefix", "$@23", "ddns_qualifying_suffix", "$@24", - "ddns_update_on_renew", "ddns_use_conflict_resolution", - "ddns_conflict_resolution_mode", "$@25", + "cache_max_age", "adaptive_lease_time_threshold", + "decline_probation_period", "server_tag", "$@20", "parked_packet_limit", + "allocator", "$@21", "echo_client_id", "match_client_id", + "authoritative", "ddns_send_updates", "ddns_override_no_update", + "ddns_override_client_update", "ddns_replace_client_name", "$@22", + "ddns_replace_client_name_value", "ddns_generated_prefix", "$@23", + "ddns_qualifying_suffix", "$@24", "ddns_update_on_renew", + "ddns_use_conflict_resolution", "ddns_conflict_resolution_mode", "$@25", "ddns_conflict_resolution_mode_value", "ddns_ttl_percent", "ddns_ttl", "ddns_ttl_min", "ddns_ttl_max", "hostname_char_set", "$@26", "hostname_char_replacement", "$@27", "store_extended_info", @@ -6868,104 +6886,104 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 336, 336, 336, 337, 337, 338, 338, 339, 339, - 340, 340, 341, 341, 342, 342, 343, 343, 344, 344, - 345, 345, 346, 346, 347, 347, 348, 348, 356, 357, - 358, 359, 360, 361, 362, 365, 370, 370, 381, 384, - 385, 388, 393, 399, 404, 404, 411, 412, 415, 419, - 423, 429, 429, 436, 437, 440, 444, 448, 458, 467, - 467, 482, 482, 496, 499, 505, 505, 514, 515, 516, - 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, - 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, - 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, - 593, 594, 597, 603, 609, 615, 621, 627, 633, 639, - 645, 651, 657, 663, 663, 672, 678, 678, 687, 693, - 699, 705, 711, 717, 723, 723, 732, 735, 738, 741, - 744, 750, 750, 759, 759, 768, 777, 787, 787, 796, - 799, 802, 805, 810, 816, 822, 828, 834, 834, 843, - 843, 852, 858, 864, 870, 876, 882, 888, 894, 900, - 900, 912, 913, 914, 919, 920, 921, 922, 923, 924, - 925, 926, 927, 928, 931, 931, 940, 940, 951, 951, - 959, 960, 963, 963, 971, 973, 977, 983, 989, 995, - 1001, 1001, 1014, 1014, 1025, 1026, 1027, 1032, 1033, 1036, - 1036, 1055, 1055, 1073, 1073, 1086, 1086, 1097, 1098, 1101, - 1102, 1103, 1108, 1108, 1118, 1119, 1120, 1125, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, - 1148, 1151, 1151, 1160, 1160, 1169, 1169, 1178, 1178, 1187, - 1193, 1193, 1202, 1208, 1214, 1220, 1226, 1232, 1238, 1244, - 1250, 1256, 1256, 1264, 1265, 1266, 1269, 1275, 1281, 1281, - 1290, 1290, 1299, 1299, 1308, 1308, 1316, 1319, 1322, 1325, - 1328, 1333, 1333, 1342, 1342, 1353, 1354, 1355, 1360, 1361, - 1362, 1363, 1364, 1367, 1372, 1377, 1382, 1387, 1394, 1394, - 1407, 1408, 1409, 1414, 1415, 1416, 1417, 1418, 1419, 1422, - 1428, 1434, 1440, 1440, 1451, 1452, 1455, 1456, 1457, 1462, - 1462, 1472, 1472, 1482, 1483, 1484, 1487, 1490, 1491, 1494, - 1494, 1503, 1503, 1512, 1512, 1524, 1525, 1526, 1531, 1532, - 1533, 1534, 1535, 1536, 1539, 1545, 1551, 1557, 1563, 1569, - 1578, 1578, 1592, 1593, 1596, 1597, 1598, 1607, 1607, 1633, - 1633, 1644, 1645, 1646, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, - 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, - 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1707, 1707, 1716, - 1716, 1725, 1725, 1734, 1734, 1743, 1743, 1752, 1752, 1762, - 1762, 1774, 1774, 1785, 1785, 1796, 1802, 1808, 1814, 1822, - 1822, 1834, 1835, 1839, 1840, 1841, 1846, 1846, 1854, 1855, - 1856, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, - 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, - 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, - 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, - 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1915, - 1915, 1929, 1929, 1938, 1939, 1942, 1943, 1944, 1951, 1951, - 1966, 1966, 1980, 1981, 1984, 1985, 1986, 1991, 1992, 1993, - 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2005, 2011, - 2013, 2013, 2022, 2022, 2031, 2031, 2040, 2042, 2042, 2051, - 2061, 2061, 2074, 2075, 2080, 2081, 2082, 2089, 2089, 2101, - 2101, 2113, 2114, 2119, 2120, 2121, 2128, 2129, 2130, 2131, - 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2141, 2143, 2143, - 2152, 2154, 2156, 2162, 2168, 2174, 2174, 2188, 2188, 2201, - 2202, 2205, 2206, 2207, 2212, 2212, 2222, 2222, 2232, 2233, - 2234, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, - 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, - 2258, 2259, 2260, 2261, 2262, 2265, 2265, 2274, 2280, 2280, - 2305, 2305, 2335, 2335, 2346, 2347, 2350, 2351, 2352, 2357, - 2357, 2366, 2366, 2375, 2376, 2379, 2380, 2381, 2387, 2388, - 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, - 2399, 2400, 2401, 2404, 2404, 2413, 2413, 2422, 2422, 2431, - 2431, 2440, 2440, 2449, 2449, 2458, 2458, 2467, 2467, 2476, - 2476, 2485, 2485, 2494, 2494, 2508, 2508, 2519, 2522, 2522, - 2536, 2536, 2547, 2548, 2549, 2554, 2554, 2564, 2565, 2568, - 2569, 2570, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, - 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2594, - 2596, 2596, 2605, 2605, 2615, 2621, 2629, 2637, 2637, 2649, - 2649, 2661, 2662, 2665, 2666, 2667, 2672, 2672, 2680, 2681, - 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, - 2696, 2697, 2698, 2699, 2702, 2702, 2711, 2712, 2713, 2716, - 2716, 2726, 2726, 2736, 2742, 2748, 2748, 2759, 2760, 2763, - 2764, 2765, 2770, 2770, 2778, 2779, 2780, 2785, 2786, 2787, - 2788, 2789, 2792, 2792, 2803, 2803, 2816, 2817, 2818, 2823, - 2824, 2825, 2826, 2827, 2828, 2829, 2832, 2832, 2840, 2843, - 2843, 2852, 2852, 2861, 2861, 2872, 2873, 2876, 2877, 2878, - 2883, 2883, 2891, 2892, 2893, 2898, 2899, 2900, 2901, 2902, - 2903, 2904, 2907, 2907, 2916, 2916, 2927, 2927, 2940, 2941, - 2942, 2947, 2948, 2949, 2950, 2951, 2952, 2955, 2961, 2961, - 2970, 2976, 2976, 2986, 2986, 2999, 2999, 3009, 3010, 3011, - 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, - 3026, 3029, 3035, 3035, 3044, 3050, 3050, 3059, 3065, 3071, - 3071, 3080, 3081, 3084, 3084, 3095, 3095, 3107, 3107, 3117, - 3118, 3119, 3125, 3126, 3129, 3129, 3140, 3148, 3148, 3161, - 3162, 3163, 3169, 3169, 3177, 3178, 3179, 3184, 3185, 3186, - 3187, 3188, 3189, 3190, 3193, 3199, 3199, 3208, 3208, 3219, - 3220, 3221, 3226, 3226, 3234, 3235, 3236, 3241, 3242, 3243, - 3244, 3245, 3248, 3248, 3257, 3263, 3269, 3275, 3275, 3284, - 3284, 3295, 3296, 3297, 3302, 3303, 3304, 3305, 3306, 3309, - 3315, 3321, 3327 + 0, 337, 337, 337, 338, 338, 339, 339, 340, 340, + 341, 341, 342, 342, 343, 343, 344, 344, 345, 345, + 346, 346, 347, 347, 348, 348, 349, 349, 357, 358, + 359, 360, 361, 362, 363, 366, 371, 371, 382, 385, + 386, 389, 394, 400, 405, 405, 412, 413, 416, 420, + 424, 430, 430, 437, 438, 441, 445, 449, 459, 468, + 468, 483, 483, 497, 500, 506, 506, 515, 516, 517, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 599, 605, 611, 617, 623, 629, 635, + 641, 647, 653, 659, 665, 671, 671, 680, 686, 686, + 695, 701, 707, 713, 719, 725, 731, 731, 740, 743, + 746, 749, 752, 758, 758, 767, 767, 776, 785, 795, + 795, 804, 807, 810, 813, 818, 824, 830, 836, 842, + 842, 851, 851, 860, 866, 872, 878, 884, 890, 896, + 902, 908, 908, 920, 921, 922, 927, 928, 929, 930, + 931, 932, 933, 934, 935, 936, 939, 939, 948, 948, + 959, 959, 967, 968, 971, 971, 979, 981, 985, 991, + 997, 1003, 1009, 1009, 1022, 1022, 1033, 1034, 1035, 1040, + 1041, 1044, 1044, 1063, 1063, 1081, 1081, 1094, 1094, 1105, + 1106, 1109, 1110, 1111, 1116, 1116, 1126, 1127, 1128, 1133, + 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1159, 1159, 1168, 1168, 1177, 1177, 1186, + 1186, 1195, 1201, 1201, 1210, 1216, 1222, 1228, 1234, 1240, + 1246, 1252, 1258, 1264, 1264, 1272, 1273, 1274, 1277, 1283, + 1289, 1289, 1298, 1298, 1307, 1307, 1316, 1316, 1324, 1327, + 1330, 1333, 1336, 1341, 1341, 1350, 1350, 1361, 1362, 1363, + 1368, 1369, 1370, 1371, 1372, 1375, 1380, 1385, 1390, 1395, + 1402, 1402, 1415, 1416, 1417, 1422, 1423, 1424, 1425, 1426, + 1427, 1430, 1436, 1442, 1448, 1448, 1459, 1460, 1463, 1464, + 1465, 1470, 1470, 1480, 1480, 1490, 1491, 1492, 1495, 1498, + 1499, 1502, 1502, 1511, 1511, 1520, 1520, 1532, 1533, 1534, + 1539, 1540, 1541, 1542, 1543, 1544, 1547, 1553, 1559, 1565, + 1571, 1577, 1586, 1586, 1600, 1601, 1604, 1605, 1606, 1615, + 1615, 1641, 1641, 1652, 1653, 1654, 1660, 1661, 1662, 1663, + 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, + 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, + 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, + 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, + 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, + 1716, 1716, 1725, 1725, 1734, 1734, 1743, 1743, 1752, 1752, + 1761, 1761, 1771, 1771, 1783, 1783, 1794, 1794, 1805, 1811, + 1817, 1823, 1831, 1831, 1843, 1844, 1848, 1849, 1850, 1855, + 1855, 1863, 1864, 1865, 1870, 1871, 1872, 1873, 1874, 1875, + 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, + 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, + 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, + 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, + 1916, 1917, 1918, 1925, 1925, 1939, 1939, 1948, 1949, 1952, + 1953, 1954, 1961, 1961, 1976, 1976, 1990, 1991, 1994, 1995, + 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010, 2013, 2015, 2021, 2023, 2023, 2032, 2032, 2041, 2041, + 2050, 2052, 2052, 2061, 2071, 2071, 2084, 2085, 2090, 2091, + 2092, 2099, 2099, 2111, 2111, 2123, 2124, 2129, 2130, 2131, + 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, + 2148, 2151, 2153, 2153, 2162, 2164, 2166, 2172, 2178, 2184, + 2184, 2198, 2198, 2211, 2212, 2215, 2216, 2217, 2222, 2222, + 2232, 2232, 2242, 2243, 2244, 2249, 2250, 2251, 2252, 2253, + 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, + 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2275, + 2275, 2284, 2290, 2290, 2315, 2315, 2345, 2345, 2356, 2357, + 2360, 2361, 2362, 2367, 2367, 2376, 2376, 2385, 2386, 2389, + 2390, 2391, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, + 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2414, 2414, 2423, + 2423, 2432, 2432, 2441, 2441, 2450, 2450, 2459, 2459, 2468, + 2468, 2477, 2477, 2486, 2486, 2495, 2495, 2504, 2504, 2518, + 2518, 2529, 2532, 2532, 2546, 2546, 2557, 2558, 2559, 2564, + 2564, 2574, 2575, 2578, 2579, 2580, 2585, 2586, 2587, 2588, + 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, + 2599, 2600, 2601, 2604, 2606, 2606, 2615, 2615, 2625, 2631, + 2639, 2647, 2647, 2659, 2659, 2671, 2672, 2675, 2676, 2677, + 2682, 2682, 2690, 2691, 2692, 2697, 2698, 2699, 2700, 2701, + 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2712, 2712, + 2721, 2722, 2723, 2726, 2726, 2736, 2736, 2746, 2752, 2758, + 2758, 2769, 2770, 2773, 2774, 2775, 2780, 2780, 2788, 2789, + 2790, 2795, 2796, 2797, 2798, 2799, 2802, 2802, 2813, 2813, + 2826, 2827, 2828, 2833, 2834, 2835, 2836, 2837, 2838, 2839, + 2842, 2842, 2850, 2853, 2853, 2862, 2862, 2871, 2871, 2882, + 2883, 2886, 2887, 2888, 2893, 2893, 2901, 2902, 2903, 2908, + 2909, 2910, 2911, 2912, 2913, 2914, 2917, 2917, 2926, 2926, + 2937, 2937, 2950, 2951, 2952, 2957, 2958, 2959, 2960, 2961, + 2962, 2965, 2971, 2971, 2980, 2986, 2986, 2996, 2996, 3009, + 3009, 3019, 3020, 3021, 3026, 3027, 3028, 3029, 3030, 3031, + 3032, 3033, 3034, 3035, 3036, 3039, 3045, 3045, 3054, 3060, + 3060, 3069, 3075, 3081, 3081, 3090, 3091, 3094, 3094, 3105, + 3105, 3117, 3117, 3127, 3128, 3129, 3135, 3136, 3139, 3139, + 3150, 3158, 3158, 3171, 3172, 3173, 3179, 3179, 3187, 3188, + 3189, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3203, 3209, + 3209, 3218, 3218, 3229, 3230, 3231, 3236, 3236, 3244, 3245, + 3246, 3251, 3252, 3253, 3254, 3255, 3258, 3258, 3267, 3273, + 3279, 3285, 3285, 3294, 3294, 3305, 3306, 3307, 3312, 3313, + 3314, 3315, 3316, 3319, 3325, 3331, 3337 }; void @@ -6998,9 +7016,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 7002 "dhcp4_parser.cc" +#line 7020 "dhcp4_parser.cc" -#line 3333 "dhcp4_parser.yy" +#line 3343 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index df3f962253..aaf488d9ed 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -578,166 +578,167 @@ namespace isc { namespace dhcp { TOKEN_T2_PERCENT = 332, // "t2-percent" TOKEN_CACHE_THRESHOLD = 333, // "cache-threshold" TOKEN_CACHE_MAX_AGE = 334, // "cache-max-age" - TOKEN_DECLINE_PROBATION_PERIOD = 335, // "decline-probation-period" - TOKEN_SERVER_TAG = 336, // "server-tag" - TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 337, // "statistic-default-sample-count" - TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 338, // "statistic-default-sample-age" - TOKEN_DDNS_SEND_UPDATES = 339, // "ddns-send-updates" - TOKEN_DDNS_OVERRIDE_NO_UPDATE = 340, // "ddns-override-no-update" - TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 341, // "ddns-override-client-update" - TOKEN_DDNS_REPLACE_CLIENT_NAME = 342, // "ddns-replace-client-name" - TOKEN_DDNS_GENERATED_PREFIX = 343, // "ddns-generated-prefix" - TOKEN_DDNS_QUALIFYING_SUFFIX = 344, // "ddns-qualifying-suffix" - TOKEN_DDNS_UPDATE_ON_RENEW = 345, // "ddns-update-on-renew" - TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 346, // "ddns-use-conflict-resolution" - TOKEN_DDNS_TTL_PERCENT = 347, // "ddns-ttl-percent" - TOKEN_DDNS_TTL = 348, // "ddns-ttl" - TOKEN_DDNS_TTL_MIN = 349, // "ddns-ttl-min" - TOKEN_DDNS_TTL_MAX = 350, // "ddns-ttl-mix" - TOKEN_STORE_EXTENDED_INFO = 351, // "store-extended-info" - TOKEN_SUBNET4 = 352, // "subnet4" - TOKEN_SUBNET_4O6_INTERFACE = 353, // "4o6-interface" - TOKEN_SUBNET_4O6_INTERFACE_ID = 354, // "4o6-interface-id" - TOKEN_SUBNET_4O6_SUBNET = 355, // "4o6-subnet" - TOKEN_OPTION_DEF = 356, // "option-def" - TOKEN_OPTION_DATA = 357, // "option-data" - TOKEN_NAME = 358, // "name" - TOKEN_DATA = 359, // "data" - TOKEN_CODE = 360, // "code" - TOKEN_SPACE = 361, // "space" - TOKEN_CSV_FORMAT = 362, // "csv-format" - TOKEN_ALWAYS_SEND = 363, // "always-send" - TOKEN_NEVER_SEND = 364, // "never-send" - TOKEN_RECORD_TYPES = 365, // "record-types" - TOKEN_ENCAPSULATE = 366, // "encapsulate" - TOKEN_ARRAY = 367, // "array" - TOKEN_PARKED_PACKET_LIMIT = 368, // "parked-packet-limit" - TOKEN_ALLOCATOR = 369, // "allocator" - TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 370, // "ddns-conflict-resolution-mode" - TOKEN_CHECK_WITH_DHCID = 371, // "check-with-dhcid" - TOKEN_NO_CHECK_WITH_DHCID = 372, // "no-check-with-dhcid" - TOKEN_CHECK_EXISTS_WITH_DHCID = 373, // "check-exists-with-dhcid" - TOKEN_NO_CHECK_WITHOUT_DHCID = 374, // "no-check-without-dhcid" - TOKEN_SHARED_NETWORKS = 375, // "shared-networks" - TOKEN_POOLS = 376, // "pools" - TOKEN_POOL = 377, // "pool" - TOKEN_USER_CONTEXT = 378, // "user-context" - TOKEN_COMMENT = 379, // "comment" - TOKEN_SUBNET = 380, // "subnet" - TOKEN_INTERFACE = 381, // "interface" - TOKEN_ID = 382, // "id" - TOKEN_RESERVATIONS_GLOBAL = 383, // "reservations-global" - TOKEN_RESERVATIONS_IN_SUBNET = 384, // "reservations-in-subnet" - TOKEN_RESERVATIONS_OUT_OF_POOL = 385, // "reservations-out-of-pool" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 386, // "host-reservation-identifiers" - TOKEN_CLIENT_CLASSES = 387, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 388, // "require-client-classes" - TOKEN_EVALUATE_ADDITIONAL_CLASSES = 389, // "evaluate-additional-classes" - TOKEN_TEST = 390, // "test" - TOKEN_TEMPLATE_TEST = 391, // "template-test" - TOKEN_ONLY_IF_REQUIRED = 392, // "only-if-required" - TOKEN_ONLY_IN_ADDITIONAL_LIST = 393, // "only-in-additional-list" - TOKEN_CLIENT_CLASS = 394, // "client-class" - TOKEN_POOL_ID = 395, // "pool-id" - TOKEN_RESERVATIONS = 396, // "reservations" - TOKEN_IP_ADDRESS = 397, // "ip-address" - TOKEN_DUID = 398, // "duid" - TOKEN_HW_ADDRESS = 399, // "hw-address" - TOKEN_CIRCUIT_ID = 400, // "circuit-id" - TOKEN_CLIENT_ID = 401, // "client-id" - TOKEN_HOSTNAME = 402, // "hostname" - TOKEN_FLEX_ID = 403, // "flex-id" - TOKEN_RELAY = 404, // "relay" - TOKEN_IP_ADDRESSES = 405, // "ip-addresses" - TOKEN_HOOKS_LIBRARIES = 406, // "hooks-libraries" - TOKEN_LIBRARY = 407, // "library" - TOKEN_PARAMETERS = 408, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 409, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 410, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 411, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 412, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 413, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 414, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 415, // "unwarned-reclaim-cycles" - TOKEN_DHCP4O6_PORT = 416, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 417, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 418, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 419, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 420, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 421, // "control-socket" - TOKEN_CONTROL_SOCKETS = 422, // "control-sockets" - TOKEN_SOCKET_TYPE = 423, // "socket-type" - TOKEN_UNIX = 424, // "unix" - TOKEN_HTTP = 425, // "http" - TOKEN_HTTPS = 426, // "https" - TOKEN_SOCKET_NAME = 427, // "socket-name" - TOKEN_SOCKET_ADDRESS = 428, // "socket-address" - TOKEN_SOCKET_PORT = 429, // "socket-port" - TOKEN_AUTHENTICATION = 430, // "authentication" - TOKEN_BASIC = 431, // "basic" - TOKEN_REALM = 432, // "realm" - TOKEN_DIRECTORY = 433, // "directory" - TOKEN_CLIENTS = 434, // "clients" - TOKEN_USER_FILE = 435, // "user-file" - TOKEN_PASSWORD_FILE = 436, // "password-file" - TOKEN_CERT_REQUIRED = 437, // "cert-required" - TOKEN_HTTP_HEADERS = 438, // "http-headers" - TOKEN_VALUE = 439, // "value" - TOKEN_DHCP_QUEUE_CONTROL = 440, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 441, // "enable-queue" - TOKEN_QUEUE_TYPE = 442, // "queue-type" - TOKEN_CAPACITY = 443, // "capacity" - TOKEN_DHCP_DDNS = 444, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 445, // "enable-updates" - TOKEN_SERVER_IP = 446, // "server-ip" - TOKEN_SERVER_PORT = 447, // "server-port" - TOKEN_SENDER_IP = 448, // "sender-ip" - TOKEN_SENDER_PORT = 449, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 450, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 451, // "ncr-protocol" - TOKEN_NCR_FORMAT = 452, // "ncr-format" - TOKEN_TCP = 453, // "tcp" - TOKEN_JSON = 454, // "JSON" - TOKEN_WHEN_PRESENT = 455, // "when-present" - TOKEN_NEVER = 456, // "never" - TOKEN_ALWAYS = 457, // "always" - TOKEN_WHEN_NOT_PRESENT = 458, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 459, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 460, // "hostname-char-replacement" - TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 461, // "early-global-reservations-lookup" - TOKEN_IP_RESERVATIONS_UNIQUE = 462, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 463, // "reservations-lookup-first" - TOKEN_LOGGERS = 464, // "loggers" - TOKEN_OUTPUT_OPTIONS = 465, // "output-options" - TOKEN_OUTPUT = 466, // "output" - TOKEN_DEBUGLEVEL = 467, // "debuglevel" - TOKEN_SEVERITY = 468, // "severity" - TOKEN_FLUSH = 469, // "flush" - TOKEN_MAXSIZE = 470, // "maxsize" - TOKEN_MAXVER = 471, // "maxver" - TOKEN_PATTERN = 472, // "pattern" - TOKEN_COMPATIBILITY = 473, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 474, // "lenient-option-parsing" - TOKEN_IGNORE_DHCP_SERVER_ID = 475, // "ignore-dhcp-server-identifier" - TOKEN_IGNORE_RAI_LINK_SEL = 476, // "ignore-rai-link-selection" - TOKEN_EXCLUDE_FIRST_LAST_24 = 477, // "exclude-first-last-24" - TOKEN_TOPLEVEL_JSON = 478, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 479, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 480, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 481, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 482, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 483, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 484, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 485, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 486, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 487, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 488, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 489, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 490, // SUB_CONFIG_CONTROL - TOKEN_STRING = 491, // "constant string" - TOKEN_INTEGER = 492, // "integer" - TOKEN_FLOAT = 493, // "floating point" - TOKEN_BOOLEAN = 494 // "boolean" + TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD = 335, // "adaptive-lease-time-threshold" + TOKEN_DECLINE_PROBATION_PERIOD = 336, // "decline-probation-period" + TOKEN_SERVER_TAG = 337, // "server-tag" + TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 338, // "statistic-default-sample-count" + TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 339, // "statistic-default-sample-age" + TOKEN_DDNS_SEND_UPDATES = 340, // "ddns-send-updates" + TOKEN_DDNS_OVERRIDE_NO_UPDATE = 341, // "ddns-override-no-update" + TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 342, // "ddns-override-client-update" + TOKEN_DDNS_REPLACE_CLIENT_NAME = 343, // "ddns-replace-client-name" + TOKEN_DDNS_GENERATED_PREFIX = 344, // "ddns-generated-prefix" + TOKEN_DDNS_QUALIFYING_SUFFIX = 345, // "ddns-qualifying-suffix" + TOKEN_DDNS_UPDATE_ON_RENEW = 346, // "ddns-update-on-renew" + TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 347, // "ddns-use-conflict-resolution" + TOKEN_DDNS_TTL_PERCENT = 348, // "ddns-ttl-percent" + TOKEN_DDNS_TTL = 349, // "ddns-ttl" + TOKEN_DDNS_TTL_MIN = 350, // "ddns-ttl-min" + TOKEN_DDNS_TTL_MAX = 351, // "ddns-ttl-mix" + TOKEN_STORE_EXTENDED_INFO = 352, // "store-extended-info" + TOKEN_SUBNET4 = 353, // "subnet4" + TOKEN_SUBNET_4O6_INTERFACE = 354, // "4o6-interface" + TOKEN_SUBNET_4O6_INTERFACE_ID = 355, // "4o6-interface-id" + TOKEN_SUBNET_4O6_SUBNET = 356, // "4o6-subnet" + TOKEN_OPTION_DEF = 357, // "option-def" + TOKEN_OPTION_DATA = 358, // "option-data" + TOKEN_NAME = 359, // "name" + TOKEN_DATA = 360, // "data" + TOKEN_CODE = 361, // "code" + TOKEN_SPACE = 362, // "space" + TOKEN_CSV_FORMAT = 363, // "csv-format" + TOKEN_ALWAYS_SEND = 364, // "always-send" + TOKEN_NEVER_SEND = 365, // "never-send" + TOKEN_RECORD_TYPES = 366, // "record-types" + TOKEN_ENCAPSULATE = 367, // "encapsulate" + TOKEN_ARRAY = 368, // "array" + TOKEN_PARKED_PACKET_LIMIT = 369, // "parked-packet-limit" + TOKEN_ALLOCATOR = 370, // "allocator" + TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 371, // "ddns-conflict-resolution-mode" + TOKEN_CHECK_WITH_DHCID = 372, // "check-with-dhcid" + TOKEN_NO_CHECK_WITH_DHCID = 373, // "no-check-with-dhcid" + TOKEN_CHECK_EXISTS_WITH_DHCID = 374, // "check-exists-with-dhcid" + TOKEN_NO_CHECK_WITHOUT_DHCID = 375, // "no-check-without-dhcid" + TOKEN_SHARED_NETWORKS = 376, // "shared-networks" + TOKEN_POOLS = 377, // "pools" + TOKEN_POOL = 378, // "pool" + TOKEN_USER_CONTEXT = 379, // "user-context" + TOKEN_COMMENT = 380, // "comment" + TOKEN_SUBNET = 381, // "subnet" + TOKEN_INTERFACE = 382, // "interface" + TOKEN_ID = 383, // "id" + TOKEN_RESERVATIONS_GLOBAL = 384, // "reservations-global" + TOKEN_RESERVATIONS_IN_SUBNET = 385, // "reservations-in-subnet" + TOKEN_RESERVATIONS_OUT_OF_POOL = 386, // "reservations-out-of-pool" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 387, // "host-reservation-identifiers" + TOKEN_CLIENT_CLASSES = 388, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 389, // "require-client-classes" + TOKEN_EVALUATE_ADDITIONAL_CLASSES = 390, // "evaluate-additional-classes" + TOKEN_TEST = 391, // "test" + TOKEN_TEMPLATE_TEST = 392, // "template-test" + TOKEN_ONLY_IF_REQUIRED = 393, // "only-if-required" + TOKEN_ONLY_IN_ADDITIONAL_LIST = 394, // "only-in-additional-list" + TOKEN_CLIENT_CLASS = 395, // "client-class" + TOKEN_POOL_ID = 396, // "pool-id" + TOKEN_RESERVATIONS = 397, // "reservations" + TOKEN_IP_ADDRESS = 398, // "ip-address" + TOKEN_DUID = 399, // "duid" + TOKEN_HW_ADDRESS = 400, // "hw-address" + TOKEN_CIRCUIT_ID = 401, // "circuit-id" + TOKEN_CLIENT_ID = 402, // "client-id" + TOKEN_HOSTNAME = 403, // "hostname" + TOKEN_FLEX_ID = 404, // "flex-id" + TOKEN_RELAY = 405, // "relay" + TOKEN_IP_ADDRESSES = 406, // "ip-addresses" + TOKEN_HOOKS_LIBRARIES = 407, // "hooks-libraries" + TOKEN_LIBRARY = 408, // "library" + TOKEN_PARAMETERS = 409, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 410, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 411, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 412, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 413, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 414, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 415, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 416, // "unwarned-reclaim-cycles" + TOKEN_DHCP4O6_PORT = 417, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 418, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 419, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 420, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 421, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 422, // "control-socket" + TOKEN_CONTROL_SOCKETS = 423, // "control-sockets" + TOKEN_SOCKET_TYPE = 424, // "socket-type" + TOKEN_UNIX = 425, // "unix" + TOKEN_HTTP = 426, // "http" + TOKEN_HTTPS = 427, // "https" + TOKEN_SOCKET_NAME = 428, // "socket-name" + TOKEN_SOCKET_ADDRESS = 429, // "socket-address" + TOKEN_SOCKET_PORT = 430, // "socket-port" + TOKEN_AUTHENTICATION = 431, // "authentication" + TOKEN_BASIC = 432, // "basic" + TOKEN_REALM = 433, // "realm" + TOKEN_DIRECTORY = 434, // "directory" + TOKEN_CLIENTS = 435, // "clients" + TOKEN_USER_FILE = 436, // "user-file" + TOKEN_PASSWORD_FILE = 437, // "password-file" + TOKEN_CERT_REQUIRED = 438, // "cert-required" + TOKEN_HTTP_HEADERS = 439, // "http-headers" + TOKEN_VALUE = 440, // "value" + TOKEN_DHCP_QUEUE_CONTROL = 441, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 442, // "enable-queue" + TOKEN_QUEUE_TYPE = 443, // "queue-type" + TOKEN_CAPACITY = 444, // "capacity" + TOKEN_DHCP_DDNS = 445, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 446, // "enable-updates" + TOKEN_SERVER_IP = 447, // "server-ip" + TOKEN_SERVER_PORT = 448, // "server-port" + TOKEN_SENDER_IP = 449, // "sender-ip" + TOKEN_SENDER_PORT = 450, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 451, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 452, // "ncr-protocol" + TOKEN_NCR_FORMAT = 453, // "ncr-format" + TOKEN_TCP = 454, // "tcp" + TOKEN_JSON = 455, // "JSON" + TOKEN_WHEN_PRESENT = 456, // "when-present" + TOKEN_NEVER = 457, // "never" + TOKEN_ALWAYS = 458, // "always" + TOKEN_WHEN_NOT_PRESENT = 459, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 460, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 461, // "hostname-char-replacement" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 462, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 463, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 464, // "reservations-lookup-first" + TOKEN_LOGGERS = 465, // "loggers" + TOKEN_OUTPUT_OPTIONS = 466, // "output-options" + TOKEN_OUTPUT = 467, // "output" + TOKEN_DEBUGLEVEL = 468, // "debuglevel" + TOKEN_SEVERITY = 469, // "severity" + TOKEN_FLUSH = 470, // "flush" + TOKEN_MAXSIZE = 471, // "maxsize" + TOKEN_MAXVER = 472, // "maxver" + TOKEN_PATTERN = 473, // "pattern" + TOKEN_COMPATIBILITY = 474, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 475, // "lenient-option-parsing" + TOKEN_IGNORE_DHCP_SERVER_ID = 476, // "ignore-dhcp-server-identifier" + TOKEN_IGNORE_RAI_LINK_SEL = 477, // "ignore-rai-link-selection" + TOKEN_EXCLUDE_FIRST_LAST_24 = 478, // "exclude-first-last-24" + TOKEN_TOPLEVEL_JSON = 479, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 480, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 481, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 482, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 483, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 484, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 485, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 486, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 487, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 488, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 489, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 490, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 491, // SUB_CONFIG_CONTROL + TOKEN_STRING = 492, // "constant string" + TOKEN_INTEGER = 493, // "integer" + TOKEN_FLOAT = 494, // "floating point" + TOKEN_BOOLEAN = 495 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -754,7 +755,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 240, ///< Number of tokens. + YYNTOKENS = 241, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -836,649 +837,651 @@ namespace isc { namespace dhcp { S_T2_PERCENT = 77, // "t2-percent" S_CACHE_THRESHOLD = 78, // "cache-threshold" S_CACHE_MAX_AGE = 79, // "cache-max-age" - S_DECLINE_PROBATION_PERIOD = 80, // "decline-probation-period" - S_SERVER_TAG = 81, // "server-tag" - S_STATISTIC_DEFAULT_SAMPLE_COUNT = 82, // "statistic-default-sample-count" - S_STATISTIC_DEFAULT_SAMPLE_AGE = 83, // "statistic-default-sample-age" - S_DDNS_SEND_UPDATES = 84, // "ddns-send-updates" - S_DDNS_OVERRIDE_NO_UPDATE = 85, // "ddns-override-no-update" - S_DDNS_OVERRIDE_CLIENT_UPDATE = 86, // "ddns-override-client-update" - S_DDNS_REPLACE_CLIENT_NAME = 87, // "ddns-replace-client-name" - S_DDNS_GENERATED_PREFIX = 88, // "ddns-generated-prefix" - S_DDNS_QUALIFYING_SUFFIX = 89, // "ddns-qualifying-suffix" - S_DDNS_UPDATE_ON_RENEW = 90, // "ddns-update-on-renew" - S_DDNS_USE_CONFLICT_RESOLUTION = 91, // "ddns-use-conflict-resolution" - S_DDNS_TTL_PERCENT = 92, // "ddns-ttl-percent" - S_DDNS_TTL = 93, // "ddns-ttl" - S_DDNS_TTL_MIN = 94, // "ddns-ttl-min" - S_DDNS_TTL_MAX = 95, // "ddns-ttl-mix" - S_STORE_EXTENDED_INFO = 96, // "store-extended-info" - S_SUBNET4 = 97, // "subnet4" - S_SUBNET_4O6_INTERFACE = 98, // "4o6-interface" - S_SUBNET_4O6_INTERFACE_ID = 99, // "4o6-interface-id" - S_SUBNET_4O6_SUBNET = 100, // "4o6-subnet" - S_OPTION_DEF = 101, // "option-def" - S_OPTION_DATA = 102, // "option-data" - S_NAME = 103, // "name" - S_DATA = 104, // "data" - S_CODE = 105, // "code" - S_SPACE = 106, // "space" - S_CSV_FORMAT = 107, // "csv-format" - S_ALWAYS_SEND = 108, // "always-send" - S_NEVER_SEND = 109, // "never-send" - S_RECORD_TYPES = 110, // "record-types" - S_ENCAPSULATE = 111, // "encapsulate" - S_ARRAY = 112, // "array" - S_PARKED_PACKET_LIMIT = 113, // "parked-packet-limit" - S_ALLOCATOR = 114, // "allocator" - S_DDNS_CONFLICT_RESOLUTION_MODE = 115, // "ddns-conflict-resolution-mode" - S_CHECK_WITH_DHCID = 116, // "check-with-dhcid" - S_NO_CHECK_WITH_DHCID = 117, // "no-check-with-dhcid" - S_CHECK_EXISTS_WITH_DHCID = 118, // "check-exists-with-dhcid" - S_NO_CHECK_WITHOUT_DHCID = 119, // "no-check-without-dhcid" - S_SHARED_NETWORKS = 120, // "shared-networks" - S_POOLS = 121, // "pools" - S_POOL = 122, // "pool" - S_USER_CONTEXT = 123, // "user-context" - S_COMMENT = 124, // "comment" - S_SUBNET = 125, // "subnet" - S_INTERFACE = 126, // "interface" - S_ID = 127, // "id" - S_RESERVATIONS_GLOBAL = 128, // "reservations-global" - S_RESERVATIONS_IN_SUBNET = 129, // "reservations-in-subnet" - S_RESERVATIONS_OUT_OF_POOL = 130, // "reservations-out-of-pool" - S_HOST_RESERVATION_IDENTIFIERS = 131, // "host-reservation-identifiers" - S_CLIENT_CLASSES = 132, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 133, // "require-client-classes" - S_EVALUATE_ADDITIONAL_CLASSES = 134, // "evaluate-additional-classes" - S_TEST = 135, // "test" - S_TEMPLATE_TEST = 136, // "template-test" - S_ONLY_IF_REQUIRED = 137, // "only-if-required" - S_ONLY_IN_ADDITIONAL_LIST = 138, // "only-in-additional-list" - S_CLIENT_CLASS = 139, // "client-class" - S_POOL_ID = 140, // "pool-id" - S_RESERVATIONS = 141, // "reservations" - S_IP_ADDRESS = 142, // "ip-address" - S_DUID = 143, // "duid" - S_HW_ADDRESS = 144, // "hw-address" - S_CIRCUIT_ID = 145, // "circuit-id" - S_CLIENT_ID = 146, // "client-id" - S_HOSTNAME = 147, // "hostname" - S_FLEX_ID = 148, // "flex-id" - S_RELAY = 149, // "relay" - S_IP_ADDRESSES = 150, // "ip-addresses" - S_HOOKS_LIBRARIES = 151, // "hooks-libraries" - S_LIBRARY = 152, // "library" - S_PARAMETERS = 153, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 154, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 155, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 156, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 157, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 158, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 159, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 160, // "unwarned-reclaim-cycles" - S_DHCP4O6_PORT = 161, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 162, // "multi-threading" - S_ENABLE_MULTI_THREADING = 163, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 164, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 165, // "packet-queue-size" - S_CONTROL_SOCKET = 166, // "control-socket" - S_CONTROL_SOCKETS = 167, // "control-sockets" - S_SOCKET_TYPE = 168, // "socket-type" - S_UNIX = 169, // "unix" - S_HTTP = 170, // "http" - S_HTTPS = 171, // "https" - S_SOCKET_NAME = 172, // "socket-name" - S_SOCKET_ADDRESS = 173, // "socket-address" - S_SOCKET_PORT = 174, // "socket-port" - S_AUTHENTICATION = 175, // "authentication" - S_BASIC = 176, // "basic" - S_REALM = 177, // "realm" - S_DIRECTORY = 178, // "directory" - S_CLIENTS = 179, // "clients" - S_USER_FILE = 180, // "user-file" - S_PASSWORD_FILE = 181, // "password-file" - S_CERT_REQUIRED = 182, // "cert-required" - S_HTTP_HEADERS = 183, // "http-headers" - S_VALUE = 184, // "value" - S_DHCP_QUEUE_CONTROL = 185, // "dhcp-queue-control" - S_ENABLE_QUEUE = 186, // "enable-queue" - S_QUEUE_TYPE = 187, // "queue-type" - S_CAPACITY = 188, // "capacity" - S_DHCP_DDNS = 189, // "dhcp-ddns" - S_ENABLE_UPDATES = 190, // "enable-updates" - S_SERVER_IP = 191, // "server-ip" - S_SERVER_PORT = 192, // "server-port" - S_SENDER_IP = 193, // "sender-ip" - S_SENDER_PORT = 194, // "sender-port" - S_MAX_QUEUE_SIZE = 195, // "max-queue-size" - S_NCR_PROTOCOL = 196, // "ncr-protocol" - S_NCR_FORMAT = 197, // "ncr-format" - S_TCP = 198, // "tcp" - S_JSON = 199, // "JSON" - S_WHEN_PRESENT = 200, // "when-present" - S_NEVER = 201, // "never" - S_ALWAYS = 202, // "always" - S_WHEN_NOT_PRESENT = 203, // "when-not-present" - S_HOSTNAME_CHAR_SET = 204, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 205, // "hostname-char-replacement" - S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 206, // "early-global-reservations-lookup" - S_IP_RESERVATIONS_UNIQUE = 207, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 208, // "reservations-lookup-first" - S_LOGGERS = 209, // "loggers" - S_OUTPUT_OPTIONS = 210, // "output-options" - S_OUTPUT = 211, // "output" - S_DEBUGLEVEL = 212, // "debuglevel" - S_SEVERITY = 213, // "severity" - S_FLUSH = 214, // "flush" - S_MAXSIZE = 215, // "maxsize" - S_MAXVER = 216, // "maxver" - S_PATTERN = 217, // "pattern" - S_COMPATIBILITY = 218, // "compatibility" - S_LENIENT_OPTION_PARSING = 219, // "lenient-option-parsing" - S_IGNORE_DHCP_SERVER_ID = 220, // "ignore-dhcp-server-identifier" - S_IGNORE_RAI_LINK_SEL = 221, // "ignore-rai-link-selection" - S_EXCLUDE_FIRST_LAST_24 = 222, // "exclude-first-last-24" - S_TOPLEVEL_JSON = 223, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 224, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 225, // SUB_DHCP4 - S_SUB_INTERFACES4 = 226, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 227, // SUB_SUBNET4 - S_SUB_POOL4 = 228, // SUB_POOL4 - S_SUB_RESERVATION = 229, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 230, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 231, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 232, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 233, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 234, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 235, // SUB_CONFIG_CONTROL - S_STRING = 236, // "constant string" - S_INTEGER = 237, // "integer" - S_FLOAT = 238, // "floating point" - S_BOOLEAN = 239, // "boolean" - S_YYACCEPT = 240, // $accept - S_start = 241, // start - S_242_1 = 242, // $@1 - S_243_2 = 243, // $@2 - S_244_3 = 244, // $@3 - S_245_4 = 245, // $@4 - S_246_5 = 246, // $@5 - S_247_6 = 247, // $@6 - S_248_7 = 248, // $@7 - S_249_8 = 249, // $@8 - S_250_9 = 250, // $@9 - S_251_10 = 251, // $@10 - S_252_11 = 252, // $@11 - S_253_12 = 253, // $@12 - S_254_13 = 254, // $@13 - S_value = 255, // value - S_sub_json = 256, // sub_json - S_map2 = 257, // map2 - S_258_14 = 258, // $@14 - S_map_value = 259, // map_value - S_map_content = 260, // map_content - S_not_empty_map = 261, // not_empty_map - S_list_generic = 262, // list_generic - S_263_15 = 263, // $@15 - S_list_content = 264, // list_content - S_not_empty_list = 265, // not_empty_list - S_list_strings = 266, // list_strings - S_267_16 = 267, // $@16 - S_list_strings_content = 268, // list_strings_content - S_not_empty_list_strings = 269, // not_empty_list_strings - S_unknown_map_entry = 270, // unknown_map_entry - S_syntax_map = 271, // syntax_map - S_272_17 = 272, // $@17 - S_global_object = 273, // global_object - S_274_18 = 274, // $@18 - S_global_object_comma = 275, // global_object_comma - S_sub_dhcp4 = 276, // sub_dhcp4 - S_277_19 = 277, // $@19 - S_global_params = 278, // global_params - S_global_param = 279, // global_param - S_valid_lifetime = 280, // valid_lifetime - S_min_valid_lifetime = 281, // min_valid_lifetime - S_max_valid_lifetime = 282, // max_valid_lifetime - S_renew_timer = 283, // renew_timer - S_rebind_timer = 284, // rebind_timer - S_calculate_tee_times = 285, // calculate_tee_times - S_t1_percent = 286, // t1_percent - S_t2_percent = 287, // t2_percent - S_cache_threshold = 288, // cache_threshold - S_cache_max_age = 289, // cache_max_age - S_decline_probation_period = 290, // decline_probation_period - S_server_tag = 291, // server_tag - S_292_20 = 292, // $@20 - S_parked_packet_limit = 293, // parked_packet_limit - S_allocator = 294, // allocator - S_295_21 = 295, // $@21 - S_echo_client_id = 296, // echo_client_id - S_match_client_id = 297, // match_client_id - S_authoritative = 298, // authoritative - S_ddns_send_updates = 299, // ddns_send_updates - S_ddns_override_no_update = 300, // ddns_override_no_update - S_ddns_override_client_update = 301, // ddns_override_client_update - S_ddns_replace_client_name = 302, // ddns_replace_client_name - S_303_22 = 303, // $@22 - S_ddns_replace_client_name_value = 304, // ddns_replace_client_name_value - S_ddns_generated_prefix = 305, // ddns_generated_prefix - S_306_23 = 306, // $@23 - S_ddns_qualifying_suffix = 307, // ddns_qualifying_suffix - S_308_24 = 308, // $@24 - S_ddns_update_on_renew = 309, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 310, // ddns_use_conflict_resolution - S_ddns_conflict_resolution_mode = 311, // ddns_conflict_resolution_mode - S_312_25 = 312, // $@25 - S_ddns_conflict_resolution_mode_value = 313, // ddns_conflict_resolution_mode_value - S_ddns_ttl_percent = 314, // ddns_ttl_percent - S_ddns_ttl = 315, // ddns_ttl - S_ddns_ttl_min = 316, // ddns_ttl_min - S_ddns_ttl_max = 317, // ddns_ttl_max - S_hostname_char_set = 318, // hostname_char_set - S_319_26 = 319, // $@26 - S_hostname_char_replacement = 320, // hostname_char_replacement - S_321_27 = 321, // $@27 - S_store_extended_info = 322, // store_extended_info - S_statistic_default_sample_count = 323, // statistic_default_sample_count - S_statistic_default_sample_age = 324, // statistic_default_sample_age - S_early_global_reservations_lookup = 325, // early_global_reservations_lookup - S_ip_reservations_unique = 326, // ip_reservations_unique - S_reservations_lookup_first = 327, // reservations_lookup_first - S_offer_lifetime = 328, // offer_lifetime - S_stash_agent_options = 329, // stash_agent_options - S_interfaces_config = 330, // interfaces_config - S_331_28 = 331, // $@28 - S_interfaces_config_params = 332, // interfaces_config_params - S_interfaces_config_param = 333, // interfaces_config_param - S_sub_interfaces4 = 334, // sub_interfaces4 - S_335_29 = 335, // $@29 - S_interfaces_list = 336, // interfaces_list - S_337_30 = 337, // $@30 - S_dhcp_socket_type = 338, // dhcp_socket_type - S_339_31 = 339, // $@31 - S_socket_type = 340, // socket_type - S_outbound_interface = 341, // outbound_interface - S_342_32 = 342, // $@32 - S_outbound_interface_value = 343, // outbound_interface_value - S_re_detect = 344, // re_detect - S_service_sockets_require_all = 345, // service_sockets_require_all - S_service_sockets_retry_wait_time = 346, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 347, // service_sockets_max_retries - S_lease_database = 348, // lease_database - S_349_33 = 349, // $@33 - S_sanity_checks = 350, // sanity_checks - S_351_34 = 351, // $@34 - S_sanity_checks_params = 352, // sanity_checks_params - S_sanity_checks_param = 353, // sanity_checks_param - S_lease_checks = 354, // lease_checks - S_355_35 = 355, // $@35 - S_extended_info_checks = 356, // extended_info_checks - S_357_36 = 357, // $@36 - S_hosts_database = 358, // hosts_database - S_359_37 = 359, // $@37 - S_hosts_databases = 360, // hosts_databases - S_361_38 = 361, // $@38 - S_database_list = 362, // database_list - S_not_empty_database_list = 363, // not_empty_database_list - S_database = 364, // database - S_365_39 = 365, // $@39 - S_database_map_params = 366, // database_map_params - S_database_map_param = 367, // database_map_param - S_database_type = 368, // database_type - S_369_40 = 369, // $@40 - S_user = 370, // user - S_371_41 = 371, // $@41 - S_password = 372, // password - S_373_42 = 373, // $@42 - S_host = 374, // host - S_375_43 = 375, // $@43 - S_port = 376, // port - S_name = 377, // name - S_378_44 = 378, // $@44 - S_persist = 379, // persist - S_lfc_interval = 380, // lfc_interval - S_readonly = 381, // readonly - S_connect_timeout = 382, // connect_timeout - S_read_timeout = 383, // read_timeout - S_write_timeout = 384, // write_timeout - S_tcp_user_timeout = 385, // tcp_user_timeout - S_max_reconnect_tries = 386, // max_reconnect_tries - S_reconnect_wait_time = 387, // reconnect_wait_time - S_on_fail = 388, // on_fail - S_389_45 = 389, // $@45 - S_on_fail_mode = 390, // on_fail_mode - S_retry_on_startup = 391, // retry_on_startup - S_max_row_errors = 392, // max_row_errors - S_trust_anchor = 393, // trust_anchor - S_394_46 = 394, // $@46 - S_cert_file = 395, // cert_file - S_396_47 = 396, // $@47 - S_key_file = 397, // key_file - S_398_48 = 398, // $@48 - S_ssl_mode = 399, // ssl_mode - S_400_49 = 400, // $@49 - S_cipher_list = 401, // cipher_list - S_402_50 = 402, // $@50 - S_host_reservation_identifiers = 403, // host_reservation_identifiers - S_404_51 = 404, // $@51 - S_host_reservation_identifiers_list = 405, // host_reservation_identifiers_list - S_host_reservation_identifier = 406, // host_reservation_identifier - S_duid_id = 407, // duid_id - S_hw_address_id = 408, // hw_address_id - S_circuit_id = 409, // circuit_id - S_client_id = 410, // client_id - S_flex_id = 411, // flex_id - S_dhcp_multi_threading = 412, // dhcp_multi_threading - S_413_52 = 413, // $@52 - S_multi_threading_params = 414, // multi_threading_params - S_multi_threading_param = 415, // multi_threading_param - S_enable_multi_threading = 416, // enable_multi_threading - S_thread_pool_size = 417, // thread_pool_size - S_packet_queue_size = 418, // packet_queue_size - S_hooks_libraries = 419, // hooks_libraries - S_420_53 = 420, // $@53 - S_hooks_libraries_list = 421, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 422, // not_empty_hooks_libraries_list - S_hooks_library = 423, // hooks_library - S_424_54 = 424, // $@54 - S_sub_hooks_library = 425, // sub_hooks_library - S_426_55 = 426, // $@55 - S_hooks_params = 427, // hooks_params - S_hooks_param = 428, // hooks_param - S_library = 429, // library - S_430_56 = 430, // $@56 - S_parameters = 431, // parameters - S_432_57 = 432, // $@57 - S_expired_leases_processing = 433, // expired_leases_processing - S_434_58 = 434, // $@58 - S_expired_leases_params = 435, // expired_leases_params - S_expired_leases_param = 436, // expired_leases_param - S_reclaim_timer_wait_time = 437, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 438, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 439, // hold_reclaimed_time - S_max_reclaim_leases = 440, // max_reclaim_leases - S_max_reclaim_time = 441, // max_reclaim_time - S_unwarned_reclaim_cycles = 442, // unwarned_reclaim_cycles - S_subnet4_list = 443, // subnet4_list - S_444_59 = 444, // $@59 - S_subnet4_list_content = 445, // subnet4_list_content - S_not_empty_subnet4_list = 446, // not_empty_subnet4_list - S_subnet4 = 447, // subnet4 - S_448_60 = 448, // $@60 - S_sub_subnet4 = 449, // sub_subnet4 - S_450_61 = 450, // $@61 - S_subnet4_params = 451, // subnet4_params - S_subnet4_param = 452, // subnet4_param - S_subnet = 453, // subnet - S_454_62 = 454, // $@62 - S_subnet_4o6_interface = 455, // subnet_4o6_interface - S_456_63 = 456, // $@63 - S_subnet_4o6_interface_id = 457, // subnet_4o6_interface_id - S_458_64 = 458, // $@64 - S_subnet_4o6_subnet = 459, // subnet_4o6_subnet - S_460_65 = 460, // $@65 - S_interface = 461, // interface - S_462_66 = 462, // $@66 - S_client_class = 463, // client_class - S_464_67 = 464, // $@67 - S_network_client_classes = 465, // network_client_classes - S_466_68 = 466, // $@68 - S_require_client_classes = 467, // require_client_classes - S_468_69 = 468, // $@69 - S_evaluate_additional_classes = 469, // evaluate_additional_classes - S_470_70 = 470, // $@70 - S_reservations_global = 471, // reservations_global - S_reservations_in_subnet = 472, // reservations_in_subnet - S_reservations_out_of_pool = 473, // reservations_out_of_pool - S_id = 474, // id - S_shared_networks = 475, // shared_networks - S_476_71 = 476, // $@71 - S_shared_networks_content = 477, // shared_networks_content - S_shared_networks_list = 478, // shared_networks_list - S_shared_network = 479, // shared_network - S_480_72 = 480, // $@72 - S_shared_network_params = 481, // shared_network_params - S_shared_network_param = 482, // shared_network_param - S_option_def_list = 483, // option_def_list - S_484_73 = 484, // $@73 - S_sub_option_def_list = 485, // sub_option_def_list - S_486_74 = 486, // $@74 - S_option_def_list_content = 487, // option_def_list_content - S_not_empty_option_def_list = 488, // not_empty_option_def_list - S_option_def_entry = 489, // option_def_entry - S_490_75 = 490, // $@75 - S_sub_option_def = 491, // sub_option_def - S_492_76 = 492, // $@76 - S_option_def_params = 493, // option_def_params - S_not_empty_option_def_params = 494, // not_empty_option_def_params - S_option_def_param = 495, // option_def_param - S_option_def_name = 496, // option_def_name - S_code = 497, // code - S_option_def_code = 498, // option_def_code - S_option_def_type = 499, // option_def_type - S_500_77 = 500, // $@77 - S_option_def_record_types = 501, // option_def_record_types - S_502_78 = 502, // $@78 - S_space = 503, // space - S_504_79 = 504, // $@79 - S_option_def_space = 505, // option_def_space - S_option_def_encapsulate = 506, // option_def_encapsulate - S_507_80 = 507, // $@80 - S_option_def_array = 508, // option_def_array - S_option_data_list = 509, // option_data_list - S_510_81 = 510, // $@81 - S_option_data_list_content = 511, // option_data_list_content - S_not_empty_option_data_list = 512, // not_empty_option_data_list - S_option_data_entry = 513, // option_data_entry - S_514_82 = 514, // $@82 - S_sub_option_data = 515, // sub_option_data - S_516_83 = 516, // $@83 - S_option_data_params = 517, // option_data_params - S_not_empty_option_data_params = 518, // not_empty_option_data_params - S_option_data_param = 519, // option_data_param - S_option_data_name = 520, // option_data_name - S_option_data_data = 521, // option_data_data - S_522_84 = 522, // $@84 - S_option_data_code = 523, // option_data_code - S_option_data_space = 524, // option_data_space - S_option_data_csv_format = 525, // option_data_csv_format - S_option_data_always_send = 526, // option_data_always_send - S_option_data_never_send = 527, // option_data_never_send - S_option_data_client_classes = 528, // option_data_client_classes - S_529_85 = 529, // $@85 - S_pools_list = 530, // pools_list - S_531_86 = 531, // $@86 - S_pools_list_content = 532, // pools_list_content - S_not_empty_pools_list = 533, // not_empty_pools_list - S_pool_list_entry = 534, // pool_list_entry - S_535_87 = 535, // $@87 - S_sub_pool4 = 536, // sub_pool4 - S_537_88 = 537, // $@88 - S_pool_params = 538, // pool_params - S_pool_param = 539, // pool_param - S_pool_entry = 540, // pool_entry - S_541_89 = 541, // $@89 - S_pool_id = 542, // pool_id - S_user_context = 543, // user_context - S_544_90 = 544, // $@90 - S_comment = 545, // comment - S_546_91 = 546, // $@91 - S_reservations = 547, // reservations - S_548_92 = 548, // $@92 - S_reservations_list = 549, // reservations_list - S_not_empty_reservations_list = 550, // not_empty_reservations_list - S_reservation = 551, // reservation - S_552_93 = 552, // $@93 - S_sub_reservation = 553, // sub_reservation - S_554_94 = 554, // $@94 - S_reservation_params = 555, // reservation_params - S_not_empty_reservation_params = 556, // not_empty_reservation_params - S_reservation_param = 557, // reservation_param - S_next_server = 558, // next_server - S_559_95 = 559, // $@95 - S_server_hostname = 560, // server_hostname - S_561_96 = 561, // $@96 - S_boot_file_name = 562, // boot_file_name - S_563_97 = 563, // $@97 - S_ip_address = 564, // ip_address - S_565_98 = 565, // $@98 - S_duid = 566, // duid - S_567_99 = 567, // $@99 - S_hw_address = 568, // hw_address - S_569_100 = 569, // $@100 - S_client_id_value = 570, // client_id_value - S_571_101 = 571, // $@101 - S_circuit_id_value = 572, // circuit_id_value - S_573_102 = 573, // $@102 - S_flex_id_value = 574, // flex_id_value - S_575_103 = 575, // $@103 - S_hostname = 576, // hostname - S_577_104 = 577, // $@104 - S_reservation_client_classes = 578, // reservation_client_classes - S_579_105 = 579, // $@105 - S_relay = 580, // relay - S_581_106 = 581, // $@106 - S_relay_map = 582, // relay_map - S_ip_addresses = 583, // ip_addresses - S_584_107 = 584, // $@107 - S_client_classes = 585, // client_classes - S_586_108 = 586, // $@108 - S_client_classes_list = 587, // client_classes_list - S_client_class_entry = 588, // client_class_entry - S_589_109 = 589, // $@109 - S_client_class_params = 590, // client_class_params - S_not_empty_client_class_params = 591, // not_empty_client_class_params - S_client_class_param = 592, // client_class_param - S_client_class_name = 593, // client_class_name - S_client_class_test = 594, // client_class_test - S_595_110 = 595, // $@110 - S_client_class_template_test = 596, // client_class_template_test - S_597_111 = 597, // $@111 - S_only_if_required = 598, // only_if_required - S_only_in_additional_list = 599, // only_in_additional_list - S_dhcp4o6_port = 600, // dhcp4o6_port - S_control_socket = 601, // control_socket - S_602_112 = 602, // $@112 - S_control_sockets = 603, // control_sockets - S_604_113 = 604, // $@113 - S_control_socket_list = 605, // control_socket_list - S_not_empty_control_socket_list = 606, // not_empty_control_socket_list - S_control_socket_entry = 607, // control_socket_entry - S_608_114 = 608, // $@114 - S_control_socket_params = 609, // control_socket_params - S_control_socket_param = 610, // control_socket_param - S_control_socket_type = 611, // control_socket_type - S_612_115 = 612, // $@115 - S_control_socket_type_value = 613, // control_socket_type_value - S_control_socket_name = 614, // control_socket_name - S_615_116 = 615, // $@116 - S_control_socket_address = 616, // control_socket_address - S_617_117 = 617, // $@117 - S_control_socket_port = 618, // control_socket_port - S_cert_required = 619, // cert_required - S_http_headers = 620, // http_headers - S_621_118 = 621, // $@118 - S_http_header_list = 622, // http_header_list - S_not_empty_http_header_list = 623, // not_empty_http_header_list - S_http_header = 624, // http_header - S_625_119 = 625, // $@119 - S_http_header_params = 626, // http_header_params - S_http_header_param = 627, // http_header_param - S_header_value = 628, // header_value - S_629_120 = 629, // $@120 - S_authentication = 630, // authentication - S_631_121 = 631, // $@121 - S_auth_params = 632, // auth_params - S_auth_param = 633, // auth_param - S_auth_type = 634, // auth_type - S_635_122 = 635, // $@122 - S_auth_type_value = 636, // auth_type_value - S_realm = 637, // realm - S_638_123 = 638, // $@123 - S_directory = 639, // directory - S_640_124 = 640, // $@124 - S_clients = 641, // clients - S_642_125 = 642, // $@125 - S_clients_list = 643, // clients_list - S_not_empty_clients_list = 644, // not_empty_clients_list - S_basic_auth = 645, // basic_auth - S_646_126 = 646, // $@126 - S_clients_params = 647, // clients_params - S_clients_param = 648, // clients_param - S_user_file = 649, // user_file - S_650_127 = 650, // $@127 - S_password_file = 651, // password_file - S_652_128 = 652, // $@128 - S_dhcp_queue_control = 653, // dhcp_queue_control - S_654_129 = 654, // $@129 - S_queue_control_params = 655, // queue_control_params - S_queue_control_param = 656, // queue_control_param - S_enable_queue = 657, // enable_queue - S_queue_type = 658, // queue_type - S_659_130 = 659, // $@130 - S_capacity = 660, // capacity - S_arbitrary_map_entry = 661, // arbitrary_map_entry - S_662_131 = 662, // $@131 - S_dhcp_ddns = 663, // dhcp_ddns - S_664_132 = 664, // $@132 - S_sub_dhcp_ddns = 665, // sub_dhcp_ddns - S_666_133 = 666, // $@133 - S_dhcp_ddns_params = 667, // dhcp_ddns_params - S_dhcp_ddns_param = 668, // dhcp_ddns_param - S_enable_updates = 669, // enable_updates - S_server_ip = 670, // server_ip - S_671_134 = 671, // $@134 - S_server_port = 672, // server_port - S_sender_ip = 673, // sender_ip - S_674_135 = 674, // $@135 - S_sender_port = 675, // sender_port - S_max_queue_size = 676, // max_queue_size - S_ncr_protocol = 677, // ncr_protocol - S_678_136 = 678, // $@136 - S_ncr_protocol_value = 679, // ncr_protocol_value - S_ncr_format = 680, // ncr_format - S_681_137 = 681, // $@137 - S_config_control = 682, // config_control - S_683_138 = 683, // $@138 - S_sub_config_control = 684, // sub_config_control - S_685_139 = 685, // $@139 - S_config_control_params = 686, // config_control_params - S_config_control_param = 687, // config_control_param - S_config_databases = 688, // config_databases - S_689_140 = 689, // $@140 - S_config_fetch_wait_time = 690, // config_fetch_wait_time - S_loggers = 691, // loggers - S_692_141 = 692, // $@141 - S_loggers_entries = 693, // loggers_entries - S_logger_entry = 694, // logger_entry - S_695_142 = 695, // $@142 - S_logger_params = 696, // logger_params - S_logger_param = 697, // logger_param - S_debuglevel = 698, // debuglevel - S_severity = 699, // severity - S_700_143 = 700, // $@143 - S_output_options_list = 701, // output_options_list - S_702_144 = 702, // $@144 - S_output_options_list_content = 703, // output_options_list_content - S_output_entry = 704, // output_entry - S_705_145 = 705, // $@145 - S_output_params_list = 706, // output_params_list - S_output_params = 707, // output_params - S_output = 708, // output - S_709_146 = 709, // $@146 - S_flush = 710, // flush - S_maxsize = 711, // maxsize - S_maxver = 712, // maxver - S_pattern = 713, // pattern - S_714_147 = 714, // $@147 - S_compatibility = 715, // compatibility - S_716_148 = 716, // $@148 - S_compatibility_params = 717, // compatibility_params - S_compatibility_param = 718, // compatibility_param - S_lenient_option_parsing = 719, // lenient_option_parsing - S_ignore_dhcp_server_identifier = 720, // ignore_dhcp_server_identifier - S_ignore_rai_link_selection = 721, // ignore_rai_link_selection - S_exclude_first_last_24 = 722 // exclude_first_last_24 + S_ADAPTIVE_LEASE_TIME_THRESHOLD = 80, // "adaptive-lease-time-threshold" + S_DECLINE_PROBATION_PERIOD = 81, // "decline-probation-period" + S_SERVER_TAG = 82, // "server-tag" + S_STATISTIC_DEFAULT_SAMPLE_COUNT = 83, // "statistic-default-sample-count" + S_STATISTIC_DEFAULT_SAMPLE_AGE = 84, // "statistic-default-sample-age" + S_DDNS_SEND_UPDATES = 85, // "ddns-send-updates" + S_DDNS_OVERRIDE_NO_UPDATE = 86, // "ddns-override-no-update" + S_DDNS_OVERRIDE_CLIENT_UPDATE = 87, // "ddns-override-client-update" + S_DDNS_REPLACE_CLIENT_NAME = 88, // "ddns-replace-client-name" + S_DDNS_GENERATED_PREFIX = 89, // "ddns-generated-prefix" + S_DDNS_QUALIFYING_SUFFIX = 90, // "ddns-qualifying-suffix" + S_DDNS_UPDATE_ON_RENEW = 91, // "ddns-update-on-renew" + S_DDNS_USE_CONFLICT_RESOLUTION = 92, // "ddns-use-conflict-resolution" + S_DDNS_TTL_PERCENT = 93, // "ddns-ttl-percent" + S_DDNS_TTL = 94, // "ddns-ttl" + S_DDNS_TTL_MIN = 95, // "ddns-ttl-min" + S_DDNS_TTL_MAX = 96, // "ddns-ttl-mix" + S_STORE_EXTENDED_INFO = 97, // "store-extended-info" + S_SUBNET4 = 98, // "subnet4" + S_SUBNET_4O6_INTERFACE = 99, // "4o6-interface" + S_SUBNET_4O6_INTERFACE_ID = 100, // "4o6-interface-id" + S_SUBNET_4O6_SUBNET = 101, // "4o6-subnet" + S_OPTION_DEF = 102, // "option-def" + S_OPTION_DATA = 103, // "option-data" + S_NAME = 104, // "name" + S_DATA = 105, // "data" + S_CODE = 106, // "code" + S_SPACE = 107, // "space" + S_CSV_FORMAT = 108, // "csv-format" + S_ALWAYS_SEND = 109, // "always-send" + S_NEVER_SEND = 110, // "never-send" + S_RECORD_TYPES = 111, // "record-types" + S_ENCAPSULATE = 112, // "encapsulate" + S_ARRAY = 113, // "array" + S_PARKED_PACKET_LIMIT = 114, // "parked-packet-limit" + S_ALLOCATOR = 115, // "allocator" + S_DDNS_CONFLICT_RESOLUTION_MODE = 116, // "ddns-conflict-resolution-mode" + S_CHECK_WITH_DHCID = 117, // "check-with-dhcid" + S_NO_CHECK_WITH_DHCID = 118, // "no-check-with-dhcid" + S_CHECK_EXISTS_WITH_DHCID = 119, // "check-exists-with-dhcid" + S_NO_CHECK_WITHOUT_DHCID = 120, // "no-check-without-dhcid" + S_SHARED_NETWORKS = 121, // "shared-networks" + S_POOLS = 122, // "pools" + S_POOL = 123, // "pool" + S_USER_CONTEXT = 124, // "user-context" + S_COMMENT = 125, // "comment" + S_SUBNET = 126, // "subnet" + S_INTERFACE = 127, // "interface" + S_ID = 128, // "id" + S_RESERVATIONS_GLOBAL = 129, // "reservations-global" + S_RESERVATIONS_IN_SUBNET = 130, // "reservations-in-subnet" + S_RESERVATIONS_OUT_OF_POOL = 131, // "reservations-out-of-pool" + S_HOST_RESERVATION_IDENTIFIERS = 132, // "host-reservation-identifiers" + S_CLIENT_CLASSES = 133, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 134, // "require-client-classes" + S_EVALUATE_ADDITIONAL_CLASSES = 135, // "evaluate-additional-classes" + S_TEST = 136, // "test" + S_TEMPLATE_TEST = 137, // "template-test" + S_ONLY_IF_REQUIRED = 138, // "only-if-required" + S_ONLY_IN_ADDITIONAL_LIST = 139, // "only-in-additional-list" + S_CLIENT_CLASS = 140, // "client-class" + S_POOL_ID = 141, // "pool-id" + S_RESERVATIONS = 142, // "reservations" + S_IP_ADDRESS = 143, // "ip-address" + S_DUID = 144, // "duid" + S_HW_ADDRESS = 145, // "hw-address" + S_CIRCUIT_ID = 146, // "circuit-id" + S_CLIENT_ID = 147, // "client-id" + S_HOSTNAME = 148, // "hostname" + S_FLEX_ID = 149, // "flex-id" + S_RELAY = 150, // "relay" + S_IP_ADDRESSES = 151, // "ip-addresses" + S_HOOKS_LIBRARIES = 152, // "hooks-libraries" + S_LIBRARY = 153, // "library" + S_PARAMETERS = 154, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 155, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 156, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 157, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 158, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 159, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 160, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 161, // "unwarned-reclaim-cycles" + S_DHCP4O6_PORT = 162, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 163, // "multi-threading" + S_ENABLE_MULTI_THREADING = 164, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 165, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 166, // "packet-queue-size" + S_CONTROL_SOCKET = 167, // "control-socket" + S_CONTROL_SOCKETS = 168, // "control-sockets" + S_SOCKET_TYPE = 169, // "socket-type" + S_UNIX = 170, // "unix" + S_HTTP = 171, // "http" + S_HTTPS = 172, // "https" + S_SOCKET_NAME = 173, // "socket-name" + S_SOCKET_ADDRESS = 174, // "socket-address" + S_SOCKET_PORT = 175, // "socket-port" + S_AUTHENTICATION = 176, // "authentication" + S_BASIC = 177, // "basic" + S_REALM = 178, // "realm" + S_DIRECTORY = 179, // "directory" + S_CLIENTS = 180, // "clients" + S_USER_FILE = 181, // "user-file" + S_PASSWORD_FILE = 182, // "password-file" + S_CERT_REQUIRED = 183, // "cert-required" + S_HTTP_HEADERS = 184, // "http-headers" + S_VALUE = 185, // "value" + S_DHCP_QUEUE_CONTROL = 186, // "dhcp-queue-control" + S_ENABLE_QUEUE = 187, // "enable-queue" + S_QUEUE_TYPE = 188, // "queue-type" + S_CAPACITY = 189, // "capacity" + S_DHCP_DDNS = 190, // "dhcp-ddns" + S_ENABLE_UPDATES = 191, // "enable-updates" + S_SERVER_IP = 192, // "server-ip" + S_SERVER_PORT = 193, // "server-port" + S_SENDER_IP = 194, // "sender-ip" + S_SENDER_PORT = 195, // "sender-port" + S_MAX_QUEUE_SIZE = 196, // "max-queue-size" + S_NCR_PROTOCOL = 197, // "ncr-protocol" + S_NCR_FORMAT = 198, // "ncr-format" + S_TCP = 199, // "tcp" + S_JSON = 200, // "JSON" + S_WHEN_PRESENT = 201, // "when-present" + S_NEVER = 202, // "never" + S_ALWAYS = 203, // "always" + S_WHEN_NOT_PRESENT = 204, // "when-not-present" + S_HOSTNAME_CHAR_SET = 205, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 206, // "hostname-char-replacement" + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 207, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 208, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 209, // "reservations-lookup-first" + S_LOGGERS = 210, // "loggers" + S_OUTPUT_OPTIONS = 211, // "output-options" + S_OUTPUT = 212, // "output" + S_DEBUGLEVEL = 213, // "debuglevel" + S_SEVERITY = 214, // "severity" + S_FLUSH = 215, // "flush" + S_MAXSIZE = 216, // "maxsize" + S_MAXVER = 217, // "maxver" + S_PATTERN = 218, // "pattern" + S_COMPATIBILITY = 219, // "compatibility" + S_LENIENT_OPTION_PARSING = 220, // "lenient-option-parsing" + S_IGNORE_DHCP_SERVER_ID = 221, // "ignore-dhcp-server-identifier" + S_IGNORE_RAI_LINK_SEL = 222, // "ignore-rai-link-selection" + S_EXCLUDE_FIRST_LAST_24 = 223, // "exclude-first-last-24" + S_TOPLEVEL_JSON = 224, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 225, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 226, // SUB_DHCP4 + S_SUB_INTERFACES4 = 227, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 228, // SUB_SUBNET4 + S_SUB_POOL4 = 229, // SUB_POOL4 + S_SUB_RESERVATION = 230, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 231, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 232, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 233, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 234, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 235, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 236, // SUB_CONFIG_CONTROL + S_STRING = 237, // "constant string" + S_INTEGER = 238, // "integer" + S_FLOAT = 239, // "floating point" + S_BOOLEAN = 240, // "boolean" + S_YYACCEPT = 241, // $accept + S_start = 242, // start + S_243_1 = 243, // $@1 + S_244_2 = 244, // $@2 + S_245_3 = 245, // $@3 + S_246_4 = 246, // $@4 + S_247_5 = 247, // $@5 + S_248_6 = 248, // $@6 + S_249_7 = 249, // $@7 + S_250_8 = 250, // $@8 + S_251_9 = 251, // $@9 + S_252_10 = 252, // $@10 + S_253_11 = 253, // $@11 + S_254_12 = 254, // $@12 + S_255_13 = 255, // $@13 + S_value = 256, // value + S_sub_json = 257, // sub_json + S_map2 = 258, // map2 + S_259_14 = 259, // $@14 + S_map_value = 260, // map_value + S_map_content = 261, // map_content + S_not_empty_map = 262, // not_empty_map + S_list_generic = 263, // list_generic + S_264_15 = 264, // $@15 + S_list_content = 265, // list_content + S_not_empty_list = 266, // not_empty_list + S_list_strings = 267, // list_strings + S_268_16 = 268, // $@16 + S_list_strings_content = 269, // list_strings_content + S_not_empty_list_strings = 270, // not_empty_list_strings + S_unknown_map_entry = 271, // unknown_map_entry + S_syntax_map = 272, // syntax_map + S_273_17 = 273, // $@17 + S_global_object = 274, // global_object + S_275_18 = 275, // $@18 + S_global_object_comma = 276, // global_object_comma + S_sub_dhcp4 = 277, // sub_dhcp4 + S_278_19 = 278, // $@19 + S_global_params = 279, // global_params + S_global_param = 280, // global_param + S_valid_lifetime = 281, // valid_lifetime + S_min_valid_lifetime = 282, // min_valid_lifetime + S_max_valid_lifetime = 283, // max_valid_lifetime + S_renew_timer = 284, // renew_timer + S_rebind_timer = 285, // rebind_timer + S_calculate_tee_times = 286, // calculate_tee_times + S_t1_percent = 287, // t1_percent + S_t2_percent = 288, // t2_percent + S_cache_threshold = 289, // cache_threshold + S_cache_max_age = 290, // cache_max_age + S_adaptive_lease_time_threshold = 291, // adaptive_lease_time_threshold + S_decline_probation_period = 292, // decline_probation_period + S_server_tag = 293, // server_tag + S_294_20 = 294, // $@20 + S_parked_packet_limit = 295, // parked_packet_limit + S_allocator = 296, // allocator + S_297_21 = 297, // $@21 + S_echo_client_id = 298, // echo_client_id + S_match_client_id = 299, // match_client_id + S_authoritative = 300, // authoritative + S_ddns_send_updates = 301, // ddns_send_updates + S_ddns_override_no_update = 302, // ddns_override_no_update + S_ddns_override_client_update = 303, // ddns_override_client_update + S_ddns_replace_client_name = 304, // ddns_replace_client_name + S_305_22 = 305, // $@22 + S_ddns_replace_client_name_value = 306, // ddns_replace_client_name_value + S_ddns_generated_prefix = 307, // ddns_generated_prefix + S_308_23 = 308, // $@23 + S_ddns_qualifying_suffix = 309, // ddns_qualifying_suffix + S_310_24 = 310, // $@24 + S_ddns_update_on_renew = 311, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 312, // ddns_use_conflict_resolution + S_ddns_conflict_resolution_mode = 313, // ddns_conflict_resolution_mode + S_314_25 = 314, // $@25 + S_ddns_conflict_resolution_mode_value = 315, // ddns_conflict_resolution_mode_value + S_ddns_ttl_percent = 316, // ddns_ttl_percent + S_ddns_ttl = 317, // ddns_ttl + S_ddns_ttl_min = 318, // ddns_ttl_min + S_ddns_ttl_max = 319, // ddns_ttl_max + S_hostname_char_set = 320, // hostname_char_set + S_321_26 = 321, // $@26 + S_hostname_char_replacement = 322, // hostname_char_replacement + S_323_27 = 323, // $@27 + S_store_extended_info = 324, // store_extended_info + S_statistic_default_sample_count = 325, // statistic_default_sample_count + S_statistic_default_sample_age = 326, // statistic_default_sample_age + S_early_global_reservations_lookup = 327, // early_global_reservations_lookup + S_ip_reservations_unique = 328, // ip_reservations_unique + S_reservations_lookup_first = 329, // reservations_lookup_first + S_offer_lifetime = 330, // offer_lifetime + S_stash_agent_options = 331, // stash_agent_options + S_interfaces_config = 332, // interfaces_config + S_333_28 = 333, // $@28 + S_interfaces_config_params = 334, // interfaces_config_params + S_interfaces_config_param = 335, // interfaces_config_param + S_sub_interfaces4 = 336, // sub_interfaces4 + S_337_29 = 337, // $@29 + S_interfaces_list = 338, // interfaces_list + S_339_30 = 339, // $@30 + S_dhcp_socket_type = 340, // dhcp_socket_type + S_341_31 = 341, // $@31 + S_socket_type = 342, // socket_type + S_outbound_interface = 343, // outbound_interface + S_344_32 = 344, // $@32 + S_outbound_interface_value = 345, // outbound_interface_value + S_re_detect = 346, // re_detect + S_service_sockets_require_all = 347, // service_sockets_require_all + S_service_sockets_retry_wait_time = 348, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 349, // service_sockets_max_retries + S_lease_database = 350, // lease_database + S_351_33 = 351, // $@33 + S_sanity_checks = 352, // sanity_checks + S_353_34 = 353, // $@34 + S_sanity_checks_params = 354, // sanity_checks_params + S_sanity_checks_param = 355, // sanity_checks_param + S_lease_checks = 356, // lease_checks + S_357_35 = 357, // $@35 + S_extended_info_checks = 358, // extended_info_checks + S_359_36 = 359, // $@36 + S_hosts_database = 360, // hosts_database + S_361_37 = 361, // $@37 + S_hosts_databases = 362, // hosts_databases + S_363_38 = 363, // $@38 + S_database_list = 364, // database_list + S_not_empty_database_list = 365, // not_empty_database_list + S_database = 366, // database + S_367_39 = 367, // $@39 + S_database_map_params = 368, // database_map_params + S_database_map_param = 369, // database_map_param + S_database_type = 370, // database_type + S_371_40 = 371, // $@40 + S_user = 372, // user + S_373_41 = 373, // $@41 + S_password = 374, // password + S_375_42 = 375, // $@42 + S_host = 376, // host + S_377_43 = 377, // $@43 + S_port = 378, // port + S_name = 379, // name + S_380_44 = 380, // $@44 + S_persist = 381, // persist + S_lfc_interval = 382, // lfc_interval + S_readonly = 383, // readonly + S_connect_timeout = 384, // connect_timeout + S_read_timeout = 385, // read_timeout + S_write_timeout = 386, // write_timeout + S_tcp_user_timeout = 387, // tcp_user_timeout + S_max_reconnect_tries = 388, // max_reconnect_tries + S_reconnect_wait_time = 389, // reconnect_wait_time + S_on_fail = 390, // on_fail + S_391_45 = 391, // $@45 + S_on_fail_mode = 392, // on_fail_mode + S_retry_on_startup = 393, // retry_on_startup + S_max_row_errors = 394, // max_row_errors + S_trust_anchor = 395, // trust_anchor + S_396_46 = 396, // $@46 + S_cert_file = 397, // cert_file + S_398_47 = 398, // $@47 + S_key_file = 399, // key_file + S_400_48 = 400, // $@48 + S_ssl_mode = 401, // ssl_mode + S_402_49 = 402, // $@49 + S_cipher_list = 403, // cipher_list + S_404_50 = 404, // $@50 + S_host_reservation_identifiers = 405, // host_reservation_identifiers + S_406_51 = 406, // $@51 + S_host_reservation_identifiers_list = 407, // host_reservation_identifiers_list + S_host_reservation_identifier = 408, // host_reservation_identifier + S_duid_id = 409, // duid_id + S_hw_address_id = 410, // hw_address_id + S_circuit_id = 411, // circuit_id + S_client_id = 412, // client_id + S_flex_id = 413, // flex_id + S_dhcp_multi_threading = 414, // dhcp_multi_threading + S_415_52 = 415, // $@52 + S_multi_threading_params = 416, // multi_threading_params + S_multi_threading_param = 417, // multi_threading_param + S_enable_multi_threading = 418, // enable_multi_threading + S_thread_pool_size = 419, // thread_pool_size + S_packet_queue_size = 420, // packet_queue_size + S_hooks_libraries = 421, // hooks_libraries + S_422_53 = 422, // $@53 + S_hooks_libraries_list = 423, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 424, // not_empty_hooks_libraries_list + S_hooks_library = 425, // hooks_library + S_426_54 = 426, // $@54 + S_sub_hooks_library = 427, // sub_hooks_library + S_428_55 = 428, // $@55 + S_hooks_params = 429, // hooks_params + S_hooks_param = 430, // hooks_param + S_library = 431, // library + S_432_56 = 432, // $@56 + S_parameters = 433, // parameters + S_434_57 = 434, // $@57 + S_expired_leases_processing = 435, // expired_leases_processing + S_436_58 = 436, // $@58 + S_expired_leases_params = 437, // expired_leases_params + S_expired_leases_param = 438, // expired_leases_param + S_reclaim_timer_wait_time = 439, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 440, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 441, // hold_reclaimed_time + S_max_reclaim_leases = 442, // max_reclaim_leases + S_max_reclaim_time = 443, // max_reclaim_time + S_unwarned_reclaim_cycles = 444, // unwarned_reclaim_cycles + S_subnet4_list = 445, // subnet4_list + S_446_59 = 446, // $@59 + S_subnet4_list_content = 447, // subnet4_list_content + S_not_empty_subnet4_list = 448, // not_empty_subnet4_list + S_subnet4 = 449, // subnet4 + S_450_60 = 450, // $@60 + S_sub_subnet4 = 451, // sub_subnet4 + S_452_61 = 452, // $@61 + S_subnet4_params = 453, // subnet4_params + S_subnet4_param = 454, // subnet4_param + S_subnet = 455, // subnet + S_456_62 = 456, // $@62 + S_subnet_4o6_interface = 457, // subnet_4o6_interface + S_458_63 = 458, // $@63 + S_subnet_4o6_interface_id = 459, // subnet_4o6_interface_id + S_460_64 = 460, // $@64 + S_subnet_4o6_subnet = 461, // subnet_4o6_subnet + S_462_65 = 462, // $@65 + S_interface = 463, // interface + S_464_66 = 464, // $@66 + S_client_class = 465, // client_class + S_466_67 = 466, // $@67 + S_network_client_classes = 467, // network_client_classes + S_468_68 = 468, // $@68 + S_require_client_classes = 469, // require_client_classes + S_470_69 = 470, // $@69 + S_evaluate_additional_classes = 471, // evaluate_additional_classes + S_472_70 = 472, // $@70 + S_reservations_global = 473, // reservations_global + S_reservations_in_subnet = 474, // reservations_in_subnet + S_reservations_out_of_pool = 475, // reservations_out_of_pool + S_id = 476, // id + S_shared_networks = 477, // shared_networks + S_478_71 = 478, // $@71 + S_shared_networks_content = 479, // shared_networks_content + S_shared_networks_list = 480, // shared_networks_list + S_shared_network = 481, // shared_network + S_482_72 = 482, // $@72 + S_shared_network_params = 483, // shared_network_params + S_shared_network_param = 484, // shared_network_param + S_option_def_list = 485, // option_def_list + S_486_73 = 486, // $@73 + S_sub_option_def_list = 487, // sub_option_def_list + S_488_74 = 488, // $@74 + S_option_def_list_content = 489, // option_def_list_content + S_not_empty_option_def_list = 490, // not_empty_option_def_list + S_option_def_entry = 491, // option_def_entry + S_492_75 = 492, // $@75 + S_sub_option_def = 493, // sub_option_def + S_494_76 = 494, // $@76 + S_option_def_params = 495, // option_def_params + S_not_empty_option_def_params = 496, // not_empty_option_def_params + S_option_def_param = 497, // option_def_param + S_option_def_name = 498, // option_def_name + S_code = 499, // code + S_option_def_code = 500, // option_def_code + S_option_def_type = 501, // option_def_type + S_502_77 = 502, // $@77 + S_option_def_record_types = 503, // option_def_record_types + S_504_78 = 504, // $@78 + S_space = 505, // space + S_506_79 = 506, // $@79 + S_option_def_space = 507, // option_def_space + S_option_def_encapsulate = 508, // option_def_encapsulate + S_509_80 = 509, // $@80 + S_option_def_array = 510, // option_def_array + S_option_data_list = 511, // option_data_list + S_512_81 = 512, // $@81 + S_option_data_list_content = 513, // option_data_list_content + S_not_empty_option_data_list = 514, // not_empty_option_data_list + S_option_data_entry = 515, // option_data_entry + S_516_82 = 516, // $@82 + S_sub_option_data = 517, // sub_option_data + S_518_83 = 518, // $@83 + S_option_data_params = 519, // option_data_params + S_not_empty_option_data_params = 520, // not_empty_option_data_params + S_option_data_param = 521, // option_data_param + S_option_data_name = 522, // option_data_name + S_option_data_data = 523, // option_data_data + S_524_84 = 524, // $@84 + S_option_data_code = 525, // option_data_code + S_option_data_space = 526, // option_data_space + S_option_data_csv_format = 527, // option_data_csv_format + S_option_data_always_send = 528, // option_data_always_send + S_option_data_never_send = 529, // option_data_never_send + S_option_data_client_classes = 530, // option_data_client_classes + S_531_85 = 531, // $@85 + S_pools_list = 532, // pools_list + S_533_86 = 533, // $@86 + S_pools_list_content = 534, // pools_list_content + S_not_empty_pools_list = 535, // not_empty_pools_list + S_pool_list_entry = 536, // pool_list_entry + S_537_87 = 537, // $@87 + S_sub_pool4 = 538, // sub_pool4 + S_539_88 = 539, // $@88 + S_pool_params = 540, // pool_params + S_pool_param = 541, // pool_param + S_pool_entry = 542, // pool_entry + S_543_89 = 543, // $@89 + S_pool_id = 544, // pool_id + S_user_context = 545, // user_context + S_546_90 = 546, // $@90 + S_comment = 547, // comment + S_548_91 = 548, // $@91 + S_reservations = 549, // reservations + S_550_92 = 550, // $@92 + S_reservations_list = 551, // reservations_list + S_not_empty_reservations_list = 552, // not_empty_reservations_list + S_reservation = 553, // reservation + S_554_93 = 554, // $@93 + S_sub_reservation = 555, // sub_reservation + S_556_94 = 556, // $@94 + S_reservation_params = 557, // reservation_params + S_not_empty_reservation_params = 558, // not_empty_reservation_params + S_reservation_param = 559, // reservation_param + S_next_server = 560, // next_server + S_561_95 = 561, // $@95 + S_server_hostname = 562, // server_hostname + S_563_96 = 563, // $@96 + S_boot_file_name = 564, // boot_file_name + S_565_97 = 565, // $@97 + S_ip_address = 566, // ip_address + S_567_98 = 567, // $@98 + S_duid = 568, // duid + S_569_99 = 569, // $@99 + S_hw_address = 570, // hw_address + S_571_100 = 571, // $@100 + S_client_id_value = 572, // client_id_value + S_573_101 = 573, // $@101 + S_circuit_id_value = 574, // circuit_id_value + S_575_102 = 575, // $@102 + S_flex_id_value = 576, // flex_id_value + S_577_103 = 577, // $@103 + S_hostname = 578, // hostname + S_579_104 = 579, // $@104 + S_reservation_client_classes = 580, // reservation_client_classes + S_581_105 = 581, // $@105 + S_relay = 582, // relay + S_583_106 = 583, // $@106 + S_relay_map = 584, // relay_map + S_ip_addresses = 585, // ip_addresses + S_586_107 = 586, // $@107 + S_client_classes = 587, // client_classes + S_588_108 = 588, // $@108 + S_client_classes_list = 589, // client_classes_list + S_client_class_entry = 590, // client_class_entry + S_591_109 = 591, // $@109 + S_client_class_params = 592, // client_class_params + S_not_empty_client_class_params = 593, // not_empty_client_class_params + S_client_class_param = 594, // client_class_param + S_client_class_name = 595, // client_class_name + S_client_class_test = 596, // client_class_test + S_597_110 = 597, // $@110 + S_client_class_template_test = 598, // client_class_template_test + S_599_111 = 599, // $@111 + S_only_if_required = 600, // only_if_required + S_only_in_additional_list = 601, // only_in_additional_list + S_dhcp4o6_port = 602, // dhcp4o6_port + S_control_socket = 603, // control_socket + S_604_112 = 604, // $@112 + S_control_sockets = 605, // control_sockets + S_606_113 = 606, // $@113 + S_control_socket_list = 607, // control_socket_list + S_not_empty_control_socket_list = 608, // not_empty_control_socket_list + S_control_socket_entry = 609, // control_socket_entry + S_610_114 = 610, // $@114 + S_control_socket_params = 611, // control_socket_params + S_control_socket_param = 612, // control_socket_param + S_control_socket_type = 613, // control_socket_type + S_614_115 = 614, // $@115 + S_control_socket_type_value = 615, // control_socket_type_value + S_control_socket_name = 616, // control_socket_name + S_617_116 = 617, // $@116 + S_control_socket_address = 618, // control_socket_address + S_619_117 = 619, // $@117 + S_control_socket_port = 620, // control_socket_port + S_cert_required = 621, // cert_required + S_http_headers = 622, // http_headers + S_623_118 = 623, // $@118 + S_http_header_list = 624, // http_header_list + S_not_empty_http_header_list = 625, // not_empty_http_header_list + S_http_header = 626, // http_header + S_627_119 = 627, // $@119 + S_http_header_params = 628, // http_header_params + S_http_header_param = 629, // http_header_param + S_header_value = 630, // header_value + S_631_120 = 631, // $@120 + S_authentication = 632, // authentication + S_633_121 = 633, // $@121 + S_auth_params = 634, // auth_params + S_auth_param = 635, // auth_param + S_auth_type = 636, // auth_type + S_637_122 = 637, // $@122 + S_auth_type_value = 638, // auth_type_value + S_realm = 639, // realm + S_640_123 = 640, // $@123 + S_directory = 641, // directory + S_642_124 = 642, // $@124 + S_clients = 643, // clients + S_644_125 = 644, // $@125 + S_clients_list = 645, // clients_list + S_not_empty_clients_list = 646, // not_empty_clients_list + S_basic_auth = 647, // basic_auth + S_648_126 = 648, // $@126 + S_clients_params = 649, // clients_params + S_clients_param = 650, // clients_param + S_user_file = 651, // user_file + S_652_127 = 652, // $@127 + S_password_file = 653, // password_file + S_654_128 = 654, // $@128 + S_dhcp_queue_control = 655, // dhcp_queue_control + S_656_129 = 656, // $@129 + S_queue_control_params = 657, // queue_control_params + S_queue_control_param = 658, // queue_control_param + S_enable_queue = 659, // enable_queue + S_queue_type = 660, // queue_type + S_661_130 = 661, // $@130 + S_capacity = 662, // capacity + S_arbitrary_map_entry = 663, // arbitrary_map_entry + S_664_131 = 664, // $@131 + S_dhcp_ddns = 665, // dhcp_ddns + S_666_132 = 666, // $@132 + S_sub_dhcp_ddns = 667, // sub_dhcp_ddns + S_668_133 = 668, // $@133 + S_dhcp_ddns_params = 669, // dhcp_ddns_params + S_dhcp_ddns_param = 670, // dhcp_ddns_param + S_enable_updates = 671, // enable_updates + S_server_ip = 672, // server_ip + S_673_134 = 673, // $@134 + S_server_port = 674, // server_port + S_sender_ip = 675, // sender_ip + S_676_135 = 676, // $@135 + S_sender_port = 677, // sender_port + S_max_queue_size = 678, // max_queue_size + S_ncr_protocol = 679, // ncr_protocol + S_680_136 = 680, // $@136 + S_ncr_protocol_value = 681, // ncr_protocol_value + S_ncr_format = 682, // ncr_format + S_683_137 = 683, // $@137 + S_config_control = 684, // config_control + S_685_138 = 685, // $@138 + S_sub_config_control = 686, // sub_config_control + S_687_139 = 687, // $@139 + S_config_control_params = 688, // config_control_params + S_config_control_param = 689, // config_control_param + S_config_databases = 690, // config_databases + S_691_140 = 691, // $@140 + S_config_fetch_wait_time = 692, // config_fetch_wait_time + S_loggers = 693, // loggers + S_694_141 = 694, // $@141 + S_loggers_entries = 695, // loggers_entries + S_logger_entry = 696, // logger_entry + S_697_142 = 697, // $@142 + S_logger_params = 698, // logger_params + S_logger_param = 699, // logger_param + S_debuglevel = 700, // debuglevel + S_severity = 701, // severity + S_702_143 = 702, // $@143 + S_output_options_list = 703, // output_options_list + S_704_144 = 704, // $@144 + S_output_options_list_content = 705, // output_options_list_content + S_output_entry = 706, // output_entry + S_707_145 = 707, // $@145 + S_output_params_list = 708, // output_params_list + S_output_params = 709, // output_params + S_output = 710, // output + S_711_146 = 711, // $@146 + S_flush = 712, // flush + S_maxsize = 713, // maxsize + S_maxver = 714, // maxver + S_pattern = 715, // pattern + S_716_147 = 716, // $@147 + S_compatibility = 717, // compatibility + S_718_148 = 718, // $@148 + S_compatibility_params = 719, // compatibility_params + S_compatibility_param = 720, // compatibility_param + S_lenient_option_parsing = 721, // lenient_option_parsing + S_ignore_dhcp_server_identifier = 722, // ignore_dhcp_server_identifier + S_ignore_rai_link_selection = 723, // ignore_rai_link_selection + S_exclude_first_last_24 = 724 // exclude_first_last_24 }; }; @@ -3089,6 +3092,21 @@ switch (yykind) return symbol_type (token::TOKEN_CACHE_MAX_AGE, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_ADAPTIVE_LEASE_TIME_THRESHOLD (location_type l) + { + return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, std::move (l)); + } +#else + static + symbol_type + make_ADAPTIVE_LEASE_TIME_THRESHOLD (const location_type& l) + { + return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5819,8 +5837,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1699, ///< Last index in yytable_. - yynnts_ = 483, ///< Number of nonterminal symbols. + yylast_ = 1713, ///< Last index in yytable_. + yynnts_ = 484, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5889,10 +5907,10 @@ switch (yykind) 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239 + 235, 236, 237, 238, 239, 240 }; // Last valid token kind. - const int code_max = 494; + const int code_max = 495; if (t <= 0) return symbol_kind::S_YYEOF; @@ -6069,7 +6087,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6073 "dhcp4_parser.h" +#line 6091 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index f9eebd517d..90e592c385 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -130,6 +130,7 @@ using namespace std; T2_PERCENT "t2-percent" CACHE_THRESHOLD "cache-threshold" CACHE_MAX_AGE "cache-max-age" + ADAPTIVE_LEASE_TIME_THRESHOLD "adaptive-lease-time-threshold" DECLINE_PROBATION_PERIOD "decline-probation-period" SERVER_TAG "server-tag" STATISTIC_DEFAULT_SAMPLE_COUNT "statistic-default-sample-count" @@ -563,6 +564,7 @@ global_param: valid_lifetime | t2_percent | cache_threshold | cache_max_age + | adaptive_lease_time_threshold | loggers | hostname_char_set | hostname_char_replacement @@ -654,6 +656,12 @@ cache_max_age: CACHE_MAX_AGE COLON INTEGER { ctx.stack_.back()->set("cache-max-age", cm); }; +adaptive_lease_time_threshold: ADAPTIVE_LEASE_TIME_THRESHOLD COLON FLOAT { + ctx.unique("adaptive-lease-time-threshold", ctx.loc2pos(@1)); + ElementPtr altt(new DoubleElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("adaptive-lease-time-threshold", altt); +}; + decline_probation_period: DECLINE_PROBATION_PERIOD COLON INTEGER { ctx.unique("decline-probation-period", ctx.loc2pos(@1)); ElementPtr dpp(new IntElement($3, ctx.loc2pos(@3))); @@ -1683,6 +1691,7 @@ subnet4_param: valid_lifetime | t2_percent | cache_threshold | cache_max_age + | adaptive_lease_time_threshold | ddns_send_updates | ddns_override_no_update | ddns_override_client_update @@ -1887,6 +1896,7 @@ shared_network_param: name | t2_percent | cache_threshold | cache_max_age + | adaptive_lease_time_threshold | ddns_send_updates | ddns_override_no_update | ddns_override_client_update diff --git a/src/bin/dhcp4/json_config_parser.cc b/src/bin/dhcp4/json_config_parser.cc index 8bee0e3585..c819e71aa8 100644 --- a/src/bin/dhcp4/json_config_parser.cc +++ b/src/bin/dhcp4/json_config_parser.cc @@ -662,6 +662,7 @@ processDhcp4Config(isc::data::ConstElementPtr config_set) { (config_pair.first == "t2-percent") || (config_pair.first == "cache-threshold") || (config_pair.first == "cache-max-age") || + (config_pair.first == "adaptive-lease-time-threshold") || (config_pair.first == "hostname-char-set") || (config_pair.first == "hostname-char-replacement") || (config_pair.first == "ddns-send-updates") || diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 159c11bdf6..43e22d17c6 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -328,6 +328,7 @@ typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; @@ -452,7 +453,7 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int yyleng; +extern yy_size_t yyleng; /* %endif */ /* %if-c-only */ @@ -505,7 +506,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -586,8 +587,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* %not-for-header */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = NULL; @@ -617,7 +618,7 @@ static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len ); /* %endif */ @@ -685,14 +686,14 @@ static void yynoreturn yy_fatal_error ( const char* msg ); #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ /* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ - yyleng = (int) (yy_cp - yy_bp); \ + yyleng = (yy_size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 251 -#define YY_END_OF_BUFFER 252 +#define YY_NUM_RULES 252 +#define YY_END_OF_BUFFER 253 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,36 +701,36 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2356] = +static const flex_int16_t yy_accept[2385] = { 0, - 244, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 250, 10, 11, 250, 1, 244, 241, 244, 244, - 250, 243, 242, 250, 250, 250, 250, 250, 237, 238, - 250, 250, 250, 239, 240, 5, 5, 5, 250, 250, - 250, 10, 11, 0, 0, 232, 0, 0, 0, 0, + 245, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 251, 10, 11, 251, 1, 245, 242, 245, 245, + 251, 244, 243, 251, 251, 251, 251, 251, 238, 239, + 251, 251, 251, 240, 241, 5, 5, 5, 251, 251, + 251, 10, 11, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 244, 244, 0, 243, 244, 3, 2, 6, 0, 244, + 245, 245, 0, 244, 245, 3, 2, 6, 0, 245, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, - 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, - 0, 185, 0, 0, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 234, 236, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 235, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -737,9 +738,9 @@ static const flex_int16_t yy_accept[2356] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 247, 0, 246, 245, 0, - 0, 0, 0, 0, 0, 184, 0, 0, 23, 0, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 248, 0, 247, + 246, 0, 0, 0, 0, 0, 0, 185, 0, 0, + 23, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -752,40 +753,40 @@ static const flex_int16_t yy_accept[2356] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 248, 245, 0, 0, 0, 0, 0, 24, 0, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 0, 0, 0, 207, + 0, 0, 0, 0, 249, 246, 0, 0, 0, 0, + 0, 24, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, + 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, - 189, 0, 50, 206, 0, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 32, 29, 28, 0, 0, 0, - 0, 0, 178, 0, 213, 0, 0, 0, 0, 0, + 0, 0, 163, 0, 190, 0, 50, 207, 0, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 32, 29, + 28, 0, 0, 0, 0, 0, 0, 179, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, - 0, 0, 208, 188, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 0, 0, 0, 209, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, - 0, 214, 0, 0, 0, 0, 179, 0, 0, 0, + + 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 0, 7, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 222, 0, 0, 7, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -793,174 +794,177 @@ static const flex_int16_t yy_accept[2356] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 0, 122, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 74, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 182, 148, 0, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 155, 0, 0, 55, 128, 0, 0, 0, + 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 183, 149, 0, 0, 0, 0, 0, + 0, 0, 154, 0, 0, 0, 0, 0, 0, 62, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 55, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, + 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, - 0, 121, 0, 0, 168, 0, 0, 0, 0, 49, + 173, 0, 0, 0, 0, 0, 0, 0, 0, 71, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, - 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 0, 0, 121, + 0, 0, 169, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, - 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 227, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, - 0, 0, 183, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, + 0, 184, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 76, 0, 0, 0, 0, + 0, 0, 218, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 187, 0, 35, 0, 0, 0, 0, + 0, 0, 172, 188, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 119, 0, 0, 0, 114, - 0, 0, 0, 181, 0, 0, 0, 0, 123, 224, + 0, 0, 0, 182, 0, 0, 0, 0, 123, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 118, 0, 0, 0, 0, 0, 78, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 118, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, + 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 0, 0, 0, 16, - 0, 14, 0, 0, 0, 209, 211, 205, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 110, 109, 0, 0, 0, - 0, 0, 0, 198, 0, 0, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, - 133, 0, 167, 0, 41, 0, 0, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, - 0, 0, 0, 0, 0, 0, 91, 0, 135, 58, - 86, 0, 0, 176, 0, 0, 166, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 69, 0, 129, 0, 0, 0, 0, 0, 0, - 0, 0, 147, 0, 0, 219, 0, 230, 0, 0, - + 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 16, 0, 14, 0, 0, 0, 210, 212, 206, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, + 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, + + 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 110, 109, 0, + 0, 0, 0, 0, 0, 199, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 190, + 0, 221, 133, 0, 168, 0, 41, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 0, 0, 91, 0, + 135, 58, 86, 0, 0, 177, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 69, 0, 129, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 147, 0, 0, 220, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 0, 0, 59, 0, 0, 0, 0, - 0, 212, 0, 0, 158, 46, 0, 0, 0, 203, - 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 43, 0, 0, 17, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 0, 150, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, - 82, 0, 0, 0, 0, 0, 146, 0, 0, 0, - 57, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 0, 180, 0, 0, 0, 45, 0, + 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 59, 0, + 0, 0, 0, 0, 0, 213, 0, 0, 159, 46, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 0, 63, - 0, 0, 0, 0, 0, 103, 0, 0, 31, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 107, + 0, 0, 0, 204, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 43, 0, 0, 17, 0, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 151, + 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, + 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, + 0, 146, 0, 0, 0, 57, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 196, 0, 0, 0, 0, 164, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, - 0, 64, 0, 0, 0, 0, 60, 201, 0, 0, + 0, 0, 124, 0, 0, 0, 0, 0, 0, 181, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 169, - 0, 0, 0, 0, 0, 0, 20, 34, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, + 0, 0, 113, 0, 63, 0, 0, 0, 0, 0, + 103, 0, 0, 31, 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, + 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 66, 0, 64, 0, 0, + 0, 0, 60, 202, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, + 0, 0, 0, 20, 34, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 84, 0, 83, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 104, 0, 143, 0, + 196, 0, 84, 0, 83, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 194, 0, 0, 0, - 0, 0, 67, 0, 0, 89, 0, 61, 0, 0, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 112, + 0, 0, 0, 0, 104, 0, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 0, 0, 0, 195, 0, 0, 0, 0, + 0, 67, 0, 0, 89, 0, 61, 0, 0, 136, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 106, 48, 0, 0, 0, 99, 0, - 0, 0, 0, 200, 0, 0, 0, 0, 0, 228, - 231, 81, 80, 0, 0, 141, 159, 137, 0, 0, - 0, 0, 0, 0, 0, 105, 0, 0, 95, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 165, 192, - 0, 0, 0, 0, 0, 0, 197, 0, 0, 97, - 0, 87, 0, 0, 0, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - - 0, 0, 21, 229, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 0, 48, 0, 0, 0, + 99, 0, 0, 0, 0, 201, 0, 0, 0, 0, + 0, 229, 232, 81, 80, 0, 0, 141, 160, 137, + 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 193, 0, 0, 0, 0, 0, 0, 198, + + 0, 0, 0, 97, 0, 87, 0, 0, 0, 0, + 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 0, 0, 21, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 160, 0, 0, 39, 37, - 0, 0, 0, 0, 101, 0, 0, 142, 0, 93, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 92, - 0, 193, 38, 227, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, + 0, 0, 161, 0, 0, 39, 37, 0, 0, 0, + 0, 0, 101, 0, 0, 142, 0, 93, 0, 148, + 102, 0, 0, 0, 0, 0, 0, 0, 92, 0, + 194, 38, 228, 0 } ; static const YY_CHAR yy_ec[256] = @@ -1007,300 +1011,304 @@ static const YY_CHAR yy_meta[77] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[2364] = +static const flex_int16_t yy_base[2393] = { 0, 0, 75, 21, 28, 39, 47, 53, 61, 95, 103, - 2804, 2805, 31, 2800, 151, 0, 216, 2805, 223, 230, - 13, 237, 2805, 2780, 124, 17, 4, 34, 2805, 2805, - 23, 43, 64, 2805, 2805, 2805, 56, 2788, 2738, 0, - 2778, 106, 2795, 2, 268, 2805, 85, 90, 2741, 2762, - 98, 77, 2762, 235, 231, 97, 207, 298, 240, 2745, - 294, 306, 62, 243, 204, 222, 2740, 224, 296, 341, - 196, 320, 2723, 21, 332, 382, 351, 78, 349, 0, - 394, 410, 435, 442, 450, 2805, 0, 2805, 298, 456, - 346, 354, 202, 356, 360, 301, 2805, 2740, 2784, 2805, - - 334, 2805, 430, 300, 232, 2738, 2782, 369, 17, 343, - 391, 2776, 225, 422, 310, 252, 2780, 0, 498, 437, - 2719, 2716, 2716, 430, 2716, 2717, 2723, 379, 2709, 2710, - 2715, 450, 2725, 416, 2718, 2708, 437, 2724, 366, 440, - 467, 434, 2761, 16, 2703, 2759, 2696, 64, 2717, 2717, - 2711, 434, 2703, 2704, 2702, 2696, 448, 476, 2693, 2692, - 477, 2748, 2692, 379, 2704, 2703, 2691, 506, 2692, 467, - 2704, 2701, 2702, 2690, 483, 2699, 2737, 2736, 320, 474, - 2680, 2684, 471, 2680, 482, 2690, 2682, 2675, 2683, 0, - 493, 505, 527, 520, 509, 532, 2679, 2805, 539, 538, - - 2674, 2805, 523, 530, 2805, 2731, 540, 545, 2730, 545, - 2729, 541, 2728, 2805, 2805, 590, 2670, 553, 2683, 2675, - 2673, 2673, 2677, 2678, 2658, 2669, 2671, 2670, 414, 529, - 2711, 2672, 2653, 2650, 2658, 2664, 2652, 2662, 2665, 2661, - 2652, 2661, 2661, 2656, 2648, 2647, 2649, 2652, 2632, 2636, - 2650, 2642, 2632, 2635, 2634, 2648, 2805, 2634, 2642, 528, - 2683, 2626, 2635, 2680, 2624, 2634, 2677, 567, 2676, 2618, - 2632, 2673, 557, 2629, 2609, 2624, 2616, 2620, 550, 2611, - 2609, 537, 2609, 2615, 2606, 2619, 2603, 2614, 2618, 559, - 2612, 519, 2619, 2614, 2597, 2612, 2598, 2606, 2610, 2591, - - 2607, 2593, 2599, 2606, 2645, 2587, 556, 2592, 2589, 2588, - 589, 2587, 2582, 2596, 2595, 585, 2594, 2574, 2596, 2578, - 79, 2586, 2574, 594, 2805, 2805, 596, 2805, 2805, 2572, - 580, 595, 2622, 598, 2633, 2805, 589, 600, 2805, 2632, - 2805, 2626, 643, 2585, 589, 2562, 2581, 2582, 2579, 2562, - 2579, 2618, 2575, 2565, 2620, 2572, 2575, 2566, 2569, 2555, - 2566, 624, 2608, 2563, 2560, 2561, 661, 2564, 2564, 2607, - 2539, 2551, 2546, 2543, 2539, 2538, 2540, 2543, 2593, 2547, - 2591, 2534, 639, 668, 2547, 2547, 2530, 2531, 2544, 2542, - 2540, 2540, 2539, 2534, 2541, 2536, 2521, 611, 2530, 2533, - - 616, 2528, 2578, 582, 636, 2534, 2571, 2518, 2511, 2526, - 2517, 2524, 2505, 2522, 2514, 2510, 2515, 676, 2565, 575, - 2517, 2517, 2515, 620, 2506, 2504, 2516, 622, 2491, 2492, - 2505, 2495, 2487, 2491, 2505, 632, 2491, 2503, 2502, 2501, - 2492, 2495, 2540, 2497, 2496, 2495, 2494, 2477, 2485, 2538, - 2494, 2536, 2473, 2534, 2533, 2472, 692, 2485, 2483, 2481, - 2481, 2805, 2805, 2481, 652, 2521, 2525, 2524, 2805, 2523, - 638, 2805, 674, 730, 2479, 661, 2521, 2464, 2519, 2513, - 2463, 2465, 646, 2455, 2452, 2805, 2457, 2450, 2462, 2465, - 2452, 2451, 2805, 2461, 658, 2452, 2449, 2461, 652, 2446, - - 2440, 2447, 2805, 2495, 2452, 2437, 2439, 2453, 2449, 2447, - 2447, 2441, 705, 2431, 2485, 2805, 2429, 2445, 2482, 2805, - 2436, 2485, 2484, 2437, 2431, 2433, 2434, 2418, 2427, 2472, - 2420, 2419, 2414, 2413, 2415, 2411, 2407, 652, 2426, 2400, - 2407, 2406, 2422, 2459, 2805, 2406, 2402, 723, 2410, 2409, - 2403, 2396, 2395, 2409, 2409, 2397, 2393, 2398, 2394, 2389, - 2805, 2398, 2448, 2805, 2387, 2380, 2440, 2439, 2381, 2380, - 2385, 2440, 2393, 2387, 2381, 2390, 726, 2430, 2374, 2369, - 2427, 2364, 2370, 50, 2384, 2377, 2381, 2364, 2425, 2367, - 2362, 2362, 2416, 2358, 2359, 2358, 2356, 2373, 2805, 2369, - - 2805, 2409, 2805, 2805, 2357, 2805, 679, 2407, 2411, 2343, - 2404, 2361, 2407, 722, 2805, 2805, 2805, 689, 687, 694, - 2344, 755, 2805, 2343, 2805, 691, 2361, 2341, 2351, 2354, - 2395, 653, 2337, 2347, 2392, 2334, 2341, 2334, 2342, 2335, - 2344, 2326, 2326, 2341, 2340, 2324, 675, 2338, 2337, 2321, - 2336, 2318, 2368, 2322, 2331, 2328, 2371, 2312, 2314, 2311, - 2325, 2325, 2323, 2323, 2805, 2308, 2320, 2312, 2318, 2309, - 2317, 2315, 2805, 2805, 2301, 2312, 2316, 2298, 2310, 2302, - 468, 2293, 2292, 2286, 2291, 2288, 2303, 2302, 2303, 2282, - 2292, 2298, 2344, 2296, 2288, 2279, 2280, 2282, 2805, 2277, - - 2283, 708, 2331, 757, 2330, 2272, 2328, 2272, 2275, 2273, - 2275, 2266, 2281, 2805, 701, 763, 2264, 2280, 2277, 2272, - 2268, 2805, 2316, 2265, 2272, 2313, 2805, 2256, 2254, 2268, - 2271, 2256, 2307, 2306, 2250, 2304, 2261, 2245, 2301, 2300, - 2805, 2258, 2241, 2255, 2254, 759, 2251, 178, 227, 323, - 412, 532, 595, 600, 661, 681, 2805, 740, 703, 2805, - 2805, 729, 743, 744, 739, 758, 723, 720, 731, 740, - 734, 723, 719, 734, 730, 736, 746, 792, 793, 752, - 758, 793, 795, 747, 747, 752, 753, 764, 769, 755, - 758, 761, 770, 770, 754, 814, 773, 765, 775, 818, - - 764, 825, 772, 772, 774, 778, 783, 786, 828, 788, - 836, 790, 793, 788, 779, 794, 799, 800, 797, 794, - 801, 800, 788, 802, 800, 808, 847, 806, 854, 855, - 796, 809, 795, 805, 855, 810, 863, 2805, 816, 814, - 816, 812, 806, 822, 870, 866, 867, 827, 2805, 817, - 818, 817, 830, 820, 833, 880, 836, 821, 883, 884, - 2805, 838, 2805, 832, 826, 821, 832, 845, 836, 825, - 831, 889, 850, 834, 834, 847, 899, 838, 845, 857, - 852, 858, 855, 902, 841, 853, 868, 865, 863, 853, - 850, 2805, 918, 872, 873, 861, 875, 865, 869, 881, - - 872, 875, 880, 887, 882, 910, 903, 932, 933, 907, - 880, 894, 897, 877, 884, 898, 946, 900, 885, 898, - 896, 2805, 2805, 900, 895, 910, 907, 893, 895, 914, - 911, 911, 913, 902, 909, 910, 920, 967, 926, 965, - 924, 915, 928, 914, 913, 919, 911, 2805, 922, 917, - 918, 924, 940, 923, 980, 981, 933, 983, 2805, 944, - 936, 947, 945, 993, 932, 949, 935, 950, 952, 939, - 937, 1002, 956, 942, 948, 946, 2805, 2805, 962, 961, - 962, 967, 955, 965, 967, 2805, 967, 969, 956, 974, - 961, 963, 2805, 960, 978, 979, 965, 966, 962, 967, - - 985, 1029, 2805, 987, 1031, 2805, 2805, 986, 986, 1035, - 978, 982, 976, 992, 1040, 990, 980, 981, 977, 987, - 991, 2805, 1002, 997, 1044, 1000, 993, 995, 991, 1008, - 998, 1013, 996, 1058, 1012, 1014, 1018, 1005, 996, 1064, - 1020, 1007, 1006, 2805, 1013, 1014, 1066, 1067, 1016, 1029, - 1070, 1014, 1030, 1030, 1036, 1017, 1026, 1050, 1060, 1048, - 1056, 1068, 1085, 1031, 1045, 1085, 1044, 1087, 2805, 1093, - 1043, 1034, 1053, 1043, 1042, 1037, 1038, 1050, 1045, 1041, - 1059, 1051, 1046, 1047, 1057, 1066, 1107, 2805, 1061, 1055, - 1073, 1066, 1061, 1117, 1123, 1077, 1068, 1126, 1083, 1074, - - 1082, 1084, 1069, 1085, 1090, 1076, 1088, 1085, 1083, 1095, - 1079, 1080, 2805, 1096, 1099, 1096, 1083, 1085, 1146, 1086, - 1105, 2805, 1104, 1107, 1094, 1089, 1107, 1095, 1151, 1106, - 1102, 1099, 1155, 1101, 1157, 1116, 1102, 1120, 1120, 1120, - 1122, 1107, 1122, 1109, 1110, 1126, 1113, 1130, 2805, 1128, - 1115, 2805, 1173, 1123, 2805, 1133, 1126, 1182, 1126, 2805, - 1129, 1134, 1181, 1129, 1130, 1142, 1136, 1134, 1131, 1146, - 1194, 1135, 1136, 1197, 1198, 1139, 1151, 1144, 2805, 1140, - 1157, 1149, 1145, 1148, 2805, 1203, 1142, 1163, 1149, 1150, - 1151, 1152, 1158, 1166, 1157, 1171, 1219, 1173, 1221, 1168, - - 1176, 1191, 1220, 1203, 1195, 1200, 2805, 1183, 1168, 1188, - 1171, 1171, 2805, 1174, 1173, 1175, 1186, 1176, 1196, 1195, - 1186, 1197, 1243, 1182, 1194, 1203, 1196, 1200, 1204, 1187, - 1208, 1205, 1210, 1201, 1260, 1204, 1208, 2805, 1258, 1204, - 2805, 1222, 1204, 1204, 1225, 1222, 1265, 1225, 1212, 1230, - 1218, 1232, 1225, 1234, 1214, 1229, 1236, 1221, 1282, 1283, - 2805, 1233, 1285, 1239, 1225, 1235, 1245, 1229, 1249, 1232, - 1234, 1234, 1241, 1250, 1238, 1245, 1240, 1247, 1259, 1303, - 1247, 1305, 1247, 1261, 1265, 1309, 1259, 1260, 1249, 1313, - 1261, 1264, 1259, 1263, 1318, 1319, 1269, 2805, 1258, 1275, - - 1268, 1259, 1278, 1272, 1267, 1277, 1273, 1268, 1286, 2805, - 1270, 1266, 2805, 2805, 1272, 1335, 1291, 1272, 1278, 1292, - 1278, 1294, 1296, 1338, 1288, 1345, 1346, 1296, 1301, 1295, - 1293, 1304, 1286, 2805, 1291, 2805, 1300, 1298, 1324, 1337, - 1325, 1339, 1326, 1361, 1311, 1314, 1314, 1318, 1319, 1367, - 1307, 1307, 1310, 1327, 1322, 1326, 1321, 2805, 1318, 1331, - 1315, 1332, 1312, 1333, 1323, 1316, 1328, 1329, 1385, 1335, - 2805, 1348, 1346, 1349, 1333, 1342, 1346, 1351, 1337, 1400, - 1350, 1356, 1356, 1343, 1357, 1355, 1352, 1348, 1366, 1367, - 1368, 1351, 2805, 2805, 1367, 2805, 1369, 1354, 1365, 1356, - - 1375, 1368, 1366, 1421, 1375, 1372, 1419, 1380, 1369, 1376, - 1381, 1378, 1384, 2805, 1377, 2805, 1369, 1382, 1434, 2805, - 1378, 1379, 1390, 2805, 1391, 1385, 1380, 1390, 2805, 2805, - 1380, 1381, 1384, 1398, 1403, 1386, 1397, 1449, 1403, 1390, - 1409, 1400, 1454, 1450, 1456, 2805, 1404, 1401, 1412, 1460, - 1461, 1462, 1416, 1417, 1419, 2805, 2805, 1411, 1406, 1463, - 1409, 1425, 1409, 1421, 1473, 1411, 1470, 1453, 1454, 1446, - 1479, 2805, 1423, 1434, 1425, 1436, 1438, 2805, 1485, 1419, - 1430, 1445, 1484, 1433, 1444, 1432, 1431, 1447, 1448, 1445, - 1492, 1452, 1499, 1500, 1456, 1445, 1457, 1463, 1452, 1452, - - 1510, 1506, 1507, 1513, 1467, 2805, 1469, 1465, 1469, 1471, - 1462, 1465, 1474, 1471, 1461, 1464, 1464, 1526, 1527, 1471, - 1529, 1473, 1531, 1472, 1477, 1535, 2805, 1490, 1469, 1484, - 1477, 1480, 1493, 1496, 1495, 1493, 1545, 1496, 1486, 2805, - 1493, 1494, 1546, 1490, 1506, 1554, 1507, 1556, 1557, 1558, - 1499, 1509, 1561, 1515, 2805, 1507, 1564, 1505, 1505, 2805, - 1523, 2805, 1520, 1511, 1511, 2805, 2805, 2805, 1525, 1508, - 1528, 1529, 1515, 1517, 1579, 1526, 1581, 1527, 2805, 1521, - 1548, 1566, 1581, 1567, 2805, 1531, 1589, 1536, 1586, 1592, - 2805, 1532, 1594, 1541, 1535, 1532, 1535, 1537, 1533, 1596, - - 1556, 1598, 1548, 1560, 1563, 2805, 2805, 1560, 1552, 1555, - 1550, 1615, 1560, 2805, 1557, 1556, 2805, 1558, 1620, 1559, - 1571, 1562, 1619, 1578, 1580, 1580, 1577, 1624, 1583, 2805, - 2805, 1575, 2805, 1576, 2805, 1586, 1578, 2805, 1630, 1589, - 1590, 1588, 1635, 1580, 1595, 1638, 1597, 1589, 2805, 1586, - 1596, 1587, 1588, 1589, 1646, 1652, 2805, 1606, 2805, 2805, - 2805, 1649, 1593, 2805, 1610, 1595, 2805, 1609, 1597, 1661, - 1605, 1598, 1603, 1614, 1607, 1626, 1619, 1625, 1615, 1673, - 1623, 2805, 1632, 2805, 1629, 1677, 1654, 1655, 1661, 1646, - 1654, 1683, 2805, 1638, 1623, 2805, 1686, 2805, 1687, 1641, - - 1646, 1628, 1691, 1692, 1633, 1689, 1652, 1646, 1642, 1636, - 1643, 1695, 1650, 1651, 2805, 1641, 1657, 1661, 1712, 2805, - 1662, 1648, 1710, 1671, 1671, 1713, 1658, 1663, 1661, 1723, - 1676, 1664, 1726, 1722, 1674, 1729, 1687, 1676, 1670, 1733, - 1672, 1681, 1674, 1688, 1691, 1682, 1740, 1741, 1691, 1689, - 2805, 1682, 1680, 1741, 1742, 1743, 1695, 1694, 1694, 1690, - 1691, 2805, 1699, 1705, 1696, 1697, 1759, 1697, 1699, 1757, - 1700, 2805, 1696, 1714, 1766, 2805, 1734, 1748, 1747, 1736, - 1738, 2805, 1772, 1722, 2805, 2805, 1713, 1724, 1776, 2805, - 1777, 2805, 1731, 1721, 1726, 1724, 1777, 1732, 1738, 1724, - - 1727, 1743, 1732, 1730, 1730, 1732, 2805, 1736, 1799, 1737, - 1751, 1797, 1741, 1805, 1750, 1760, 1761, 2805, 1809, 1759, - 1806, 2805, 1754, 1762, 2805, 1753, 1768, 1756, 2805, 1766, - 1767, 1768, 1820, 1775, 1766, 2805, 2805, 1755, 1773, 1774, - 1783, 1765, 1771, 1784, 1773, 1826, 1775, 1771, 1776, 1773, - 1774, 1832, 1838, 2805, 1785, 1840, 1790, 1780, 1796, 1789, - 2805, 1822, 1847, 1829, 1844, 1850, 2805, 1796, 1852, 1791, - 2805, 2805, 1793, 1795, 1805, 1852, 1797, 1812, 1799, 1861, - 1815, 1801, 1808, 1808, 1819, 1820, 1812, 2805, 1815, 1809, - 1811, 1826, 1813, 1825, 2805, 1872, 1820, 1817, 2805, 1831, - - 1818, 1839, 1835, 1837, 1885, 1835, 1832, 1840, 1834, 2805, - 1890, 1848, 1845, 1838, 1839, 1844, 1845, 1839, 1844, 1855, - 1839, 1848, 1897, 1903, 1853, 1905, 1851, 2805, 1845, 2805, - 1852, 1909, 1910, 1907, 1908, 2805, 1890, 1896, 2805, 1868, - 2805, 1912, 1861, 1872, 1873, 1858, 1859, 1867, 1924, 2805, - 1869, 1921, 1922, 1874, 1869, 1887, 1888, 1885, 1933, 1877, - 1890, 1885, 1882, 1887, 1885, 1940, 1943, 1888, 1885, 1899, - 1886, 2805, 1901, 1902, 1903, 1904, 2805, 1898, 1953, 1903, - 1908, 1894, 1902, 1896, 1916, 1917, 1898, 1899, 1906, 2805, - 1908, 2805, 1922, 1919, 1962, 1920, 2805, 2805, 1924, 1950, - - 1951, 1949, 1912, 1912, 1921, 1928, 1921, 1920, 1931, 1918, - 2805, 1934, 1922, 1925, 1984, 1921, 1940, 1933, 1932, 2805, - 1944, 1937, 1936, 1945, 1947, 1951, 2805, 2805, 1944, 1937, - 1938, 2001, 1941, 2003, 1942, 2005, 2001, 2805, 1945, 2008, - 2004, 1963, 1960, 1951, 1959, 1970, 1957, 1968, 1954, 1952, - 1960, 1959, 1964, 1956, 2001, 2025, 2007, 2027, 1977, 1966, - 1979, 1969, 1986, 1985, 2029, 1970, 1989, 1990, 2805, 1995, - 1988, 2035, 2041, 1995, 1982, 1997, 2045, 1999, 2002, 1989, - 1998, 1999, 2805, 2053, 2805, 2003, 2805, 2001, 2056, 2805, - 1995, 2058, 2002, 1999, 2061, 2006, 2058, 2059, 2018, 2061, - - 2004, 2008, 2026, 2070, 2026, 2053, 2805, 2049, 2805, 2019, - 2013, 2010, 2072, 2035, 2028, 2024, 2081, 2021, 2023, 2022, - 2029, 2041, 2805, 2026, 2088, 2029, 2805, 2034, 2044, 2029, - 2037, 2039, 2805, 2040, 2045, 2805, 2046, 2805, 2043, 2054, - 2805, 2055, 2055, 2046, 2105, 2046, 2056, 2041, 2054, 2805, - 2056, 2087, 2093, 2065, 2063, 2115, 2053, 2055, 2052, 2076, - 2805, 2063, 2070, 2071, 2074, 2070, 2064, 2805, 2121, 2065, - 2073, 2082, 2081, 2084, 2085, 2072, 2079, 2074, 2075, 2075, - 2089, 2084, 2805, 2095, 2083, 2139, 2087, 2099, 2127, 2148, - 2149, 2093, 2805, 2093, 2105, 2153, 2099, 2101, 2099, 2100, - - 2158, 2116, 2109, 2096, 2111, 2116, 2164, 2165, 2166, 2167, - 2106, 2122, 2170, 2171, 2172, 2114, 2118, 2114, 2130, 2113, - 2125, 2119, 2181, 2805, 2805, 2126, 2137, 2184, 2805, 2138, - 2123, 2141, 2132, 2805, 2128, 2134, 2148, 2144, 2137, 2805, - 2805, 2805, 2805, 2194, 2195, 2805, 2805, 2805, 2135, 2143, - 2138, 2194, 2157, 2154, 2202, 2805, 2198, 2161, 2805, 2205, - 2144, 2207, 2147, 2148, 2161, 2160, 2161, 2151, 2805, 2805, - 2152, 2215, 2165, 2174, 2167, 2214, 2805, 2165, 2159, 2805, - 2171, 2805, 2218, 2177, 2225, 2164, 2180, 2228, 2229, 2805, - 2183, 2177, 2170, 2190, 2177, 2189, 2180, 2184, 2178, 2805, - - 2235, 2181, 2805, 2805, 2181, 2189, 2239, 2196, 2189, 2201, - 2248, 2193, 2193, 2251, 2190, 2192, 2254, 2255, 2194, 2210, - 2195, 2212, 2805, 2260, 2204, 2805, 2211, 2263, 2805, 2805, - 2213, 2265, 2210, 2267, 2805, 2215, 2214, 2805, 2215, 2805, - 2209, 2805, 2209, 2226, 2227, 2275, 2218, 2277, 2278, 2805, - 2279, 2805, 2805, 2805, 2805, 2285, 2288, 2291, 2292, 2294, - 2297, 2300, 2303 + 2833, 2834, 31, 2829, 151, 0, 216, 2834, 223, 230, + 13, 237, 2834, 2809, 124, 17, 4, 34, 2834, 2834, + 23, 43, 64, 2834, 2834, 2834, 56, 2817, 2767, 0, + 2807, 106, 2824, 2, 268, 2834, 85, 90, 2770, 2791, + 98, 77, 2791, 235, 231, 97, 207, 298, 240, 2774, + 294, 306, 62, 254, 203, 223, 2769, 315, 210, 338, + 196, 327, 2752, 21, 339, 384, 319, 78, 249, 0, + 396, 412, 437, 444, 452, 2834, 0, 2834, 401, 458, + 253, 256, 272, 323, 337, 313, 2834, 2769, 2813, 2834, + + 379, 2834, 432, 362, 367, 2767, 2811, 372, 17, 392, + 393, 2805, 310, 424, 313, 369, 2809, 0, 500, 2765, + 439, 2747, 2744, 2744, 432, 2744, 2745, 2751, 428, 2737, + 2738, 2743, 452, 2753, 214, 2746, 2736, 436, 2752, 468, + 438, 470, 374, 2789, 16, 2731, 2787, 2724, 64, 2745, + 2745, 2739, 437, 2731, 2732, 2730, 2724, 443, 484, 2721, + 2720, 480, 2776, 2720, 445, 2732, 2731, 2719, 509, 2720, + 472, 2732, 2729, 2730, 2718, 472, 2727, 2765, 2764, 493, + 478, 2708, 2712, 501, 2708, 504, 2718, 2710, 2703, 2711, + 0, 505, 507, 528, 518, 529, 537, 2707, 2834, 542, + + 541, 2702, 2834, 530, 539, 2834, 2759, 551, 554, 2758, + 553, 2757, 548, 2756, 2834, 2834, 597, 2697, 2697, 560, + 2710, 2702, 2700, 2700, 2704, 2705, 2685, 2696, 2698, 2697, + 523, 532, 2738, 2699, 2680, 2677, 2685, 2691, 2679, 2689, + 2692, 2688, 2679, 2688, 2688, 2683, 2675, 2674, 2676, 2679, + 2659, 2663, 2677, 2669, 2659, 2662, 2661, 2675, 2834, 2661, + 2669, 550, 2710, 2653, 2662, 2707, 2651, 2661, 2704, 585, + 2703, 2645, 2659, 2700, 566, 2656, 2636, 2651, 2643, 2647, + 539, 2638, 2636, 553, 2636, 2642, 2633, 2646, 2630, 2641, + 2645, 384, 2639, 566, 2646, 2641, 2624, 2639, 2625, 2633, + + 2637, 2618, 2634, 2620, 2626, 2633, 2672, 2614, 276, 2619, + 2616, 2615, 597, 2614, 2609, 2623, 2622, 591, 2621, 2601, + 2623, 2605, 79, 2613, 2601, 580, 2834, 2834, 600, 2834, + 2834, 2599, 584, 600, 2649, 603, 2660, 2834, 594, 605, + 2834, 2659, 2834, 2653, 648, 2595, 2611, 594, 2588, 2607, + 2608, 2605, 2588, 2605, 2644, 2601, 2591, 2646, 2598, 2601, + 2592, 2595, 2581, 2592, 629, 2634, 2589, 2586, 2587, 625, + 2590, 2590, 2633, 2565, 2577, 2572, 2569, 2565, 2564, 2566, + 2569, 2619, 2573, 2617, 2560, 671, 672, 2573, 2573, 2556, + 2557, 2570, 2568, 2566, 2566, 2565, 2560, 2567, 2562, 2547, + + 615, 2556, 2559, 573, 2554, 2604, 630, 602, 2560, 2597, + 2544, 2537, 2552, 2543, 2550, 2531, 2548, 2540, 2536, 2541, + 680, 2591, 588, 2543, 2543, 2541, 643, 2532, 2530, 2542, + 626, 2517, 2518, 2531, 2521, 2513, 2517, 2531, 636, 2517, + 2529, 2528, 2527, 2518, 2521, 2566, 2523, 2522, 2521, 2520, + 2503, 2511, 2564, 2520, 2562, 2499, 2560, 2559, 2498, 684, + 2511, 2509, 2507, 2507, 2834, 2834, 2507, 649, 2547, 2551, + 2550, 2834, 2549, 643, 2834, 673, 734, 2497, 2504, 665, + 2546, 2489, 2544, 2538, 2488, 2490, 218, 2480, 2477, 2834, + 2482, 2475, 2487, 2490, 2477, 2476, 2834, 2486, 657, 2477, + + 2474, 2486, 177, 2471, 2465, 2472, 2834, 2520, 2477, 2462, + 2464, 2478, 2474, 2472, 2472, 2466, 699, 2456, 2510, 2834, + 2454, 2470, 2507, 2834, 2461, 2510, 2509, 2462, 2456, 2458, + 2459, 2443, 2452, 2497, 2445, 2444, 2439, 2438, 2440, 2436, + 2432, 651, 2451, 2425, 2432, 2431, 2447, 2484, 2834, 2431, + 2427, 707, 2435, 2434, 2428, 2421, 2420, 2434, 2434, 2422, + 2418, 2423, 2419, 2414, 2834, 2423, 2473, 2834, 2412, 2405, + 2465, 2464, 2406, 2405, 2410, 2465, 2418, 2412, 2406, 2415, + 723, 2455, 2399, 2394, 2452, 2389, 2395, 50, 2409, 2402, + 2406, 2389, 2450, 2392, 2387, 2387, 2441, 2383, 2384, 2383, + + 2381, 2398, 2834, 2394, 2834, 2434, 2834, 2834, 2382, 2834, + 676, 2432, 2436, 2368, 2429, 2386, 2432, 701, 2834, 2834, + 2834, 690, 682, 674, 2367, 2368, 725, 2834, 2367, 2834, + 685, 2385, 2365, 2375, 2378, 2419, 708, 2361, 2371, 2416, + 2358, 2365, 2358, 2366, 2359, 2368, 2350, 2350, 2365, 2364, + 2348, 699, 2362, 2361, 2345, 2360, 2342, 2392, 2346, 2355, + 2352, 2395, 2336, 2338, 2335, 2349, 2349, 2347, 2347, 2834, + 2332, 2344, 2336, 2342, 2333, 2341, 2339, 2834, 2834, 2325, + 2336, 2340, 2322, 2334, 2326, 704, 2317, 2316, 2310, 2315, + 2312, 2327, 2326, 2327, 2306, 2316, 2322, 2368, 2320, 2312, + + 2303, 2304, 2306, 2834, 2301, 2307, 711, 2355, 758, 2354, + 2296, 2352, 2296, 2299, 2297, 2299, 2290, 2305, 2834, 715, + 765, 2288, 2304, 2301, 2296, 2292, 2834, 2340, 2289, 2296, + 2337, 2834, 2280, 2278, 2292, 2295, 2280, 2331, 2330, 2274, + 2328, 2285, 2269, 2325, 2320, 2834, 209, 316, 390, 424, + 761, 471, 512, 542, 601, 731, 695, 715, 707, 717, + 717, 2834, 767, 712, 2834, 2834, 739, 759, 758, 752, + 766, 739, 731, 728, 739, 748, 742, 731, 727, 741, + 737, 743, 753, 799, 801, 758, 758, 802, 803, 754, + 755, 760, 761, 771, 776, 762, 765, 768, 777, 777, + + 761, 821, 780, 772, 782, 825, 771, 832, 779, 779, + 781, 785, 790, 793, 835, 795, 843, 797, 800, 795, + 786, 801, 806, 807, 804, 801, 808, 807, 795, 809, + 807, 815, 854, 813, 861, 862, 803, 816, 802, 812, + 862, 817, 870, 2834, 823, 821, 823, 819, 813, 829, + 877, 873, 874, 834, 2834, 824, 825, 824, 837, 827, + 840, 887, 843, 828, 890, 891, 2834, 845, 2834, 839, + 833, 828, 839, 852, 843, 832, 838, 896, 857, 841, + 841, 854, 906, 845, 852, 864, 859, 865, 862, 909, + 848, 860, 875, 872, 870, 860, 857, 2834, 925, 879, + + 880, 868, 882, 872, 876, 888, 879, 882, 887, 894, + 889, 917, 910, 939, 940, 914, 942, 888, 902, 905, + 885, 892, 906, 954, 908, 893, 906, 904, 2834, 2834, + 908, 903, 918, 915, 901, 903, 922, 919, 919, 922, + 910, 917, 919, 928, 976, 934, 973, 932, 922, 936, + 922, 921, 927, 919, 2834, 930, 925, 926, 932, 948, + 931, 988, 989, 941, 991, 2834, 952, 944, 955, 953, + 1001, 940, 957, 943, 958, 960, 947, 945, 1010, 964, + 950, 956, 954, 2834, 2834, 970, 969, 970, 975, 963, + 973, 975, 2834, 975, 977, 964, 982, 969, 971, 2834, + + 968, 986, 987, 973, 974, 970, 975, 993, 1037, 2834, + 995, 1039, 2834, 2834, 994, 994, 1043, 986, 990, 984, + 1000, 1048, 998, 988, 989, 985, 995, 999, 2834, 1010, + 1005, 1052, 1008, 1001, 1003, 999, 1016, 1006, 1021, 1004, + 1066, 1020, 1022, 1026, 1013, 1004, 1072, 1028, 1015, 1014, + 2834, 1021, 1022, 1074, 1075, 1024, 1037, 1078, 1022, 1038, + 1038, 1044, 1025, 1034, 1058, 1068, 1056, 1064, 1076, 1039, + 1095, 1040, 1055, 1094, 1053, 1096, 2834, 1102, 1052, 1043, + 1062, 1052, 1051, 1046, 1047, 1059, 1054, 1050, 1068, 1060, + 1055, 1056, 1066, 1077, 1119, 2834, 1070, 1064, 1082, 1075, + + 1070, 1126, 1132, 1086, 1077, 1135, 1092, 1083, 1091, 1093, + 1078, 1094, 1099, 1085, 1097, 1094, 1092, 1104, 1088, 1089, + 2834, 1105, 1108, 1105, 1092, 1094, 1155, 1095, 1114, 2834, + 1113, 1116, 1103, 1098, 1116, 1104, 1160, 1115, 1111, 1108, + 1164, 1110, 1166, 1125, 1111, 1129, 1129, 1129, 1131, 1116, + 1131, 1118, 1119, 1135, 1122, 1139, 2834, 1137, 1124, 2834, + 1182, 1132, 2834, 1142, 1135, 1191, 1135, 2834, 1138, 1143, + 1190, 1138, 1139, 1151, 1145, 1143, 1140, 1155, 1203, 1144, + 1145, 1206, 1207, 1148, 1160, 1153, 2834, 1149, 1166, 1158, + 1154, 1157, 2834, 1212, 1151, 1172, 1158, 1159, 1160, 1161, + + 1167, 1175, 1166, 1180, 1228, 1182, 1230, 1177, 1185, 1200, + 1229, 1212, 1204, 1209, 1191, 2834, 1193, 1178, 1198, 1181, + 1181, 2834, 1184, 1183, 1185, 1196, 1186, 1206, 1205, 1196, + 1207, 1253, 1192, 1204, 1213, 1206, 1210, 1214, 1197, 1218, + 1219, 1220, 1211, 1270, 1214, 1218, 2834, 1268, 1214, 2834, + 1232, 1214, 1214, 1235, 1232, 1275, 1235, 1222, 1240, 1228, + 1242, 1235, 1244, 1224, 1239, 1246, 1231, 1292, 1293, 2834, + 1243, 1295, 1249, 1235, 1245, 1255, 1239, 1259, 1242, 1244, + 1244, 1251, 1260, 1248, 1255, 1250, 1257, 1269, 1313, 1257, + 1315, 1257, 1271, 1275, 1319, 1269, 1270, 1259, 1323, 1271, + + 1274, 1269, 1273, 1328, 1329, 1279, 2834, 1268, 1285, 1278, + 1269, 1288, 1282, 1277, 1287, 1283, 1278, 1296, 2834, 1280, + 1276, 2834, 2834, 1282, 1345, 1301, 1282, 1288, 1302, 1288, + 1304, 1306, 1348, 1298, 1355, 1356, 1306, 1311, 1305, 1303, + 1314, 1296, 2834, 1301, 2834, 1310, 1308, 1334, 1347, 1335, + 1349, 1336, 1328, 1372, 1322, 1325, 1325, 1329, 1330, 1378, + 1318, 1318, 1321, 1338, 1333, 1337, 1332, 2834, 1329, 1342, + 1326, 1343, 1323, 1344, 1334, 1328, 1343, 1340, 1396, 1346, + 2834, 1359, 1357, 1360, 1344, 1353, 1357, 1362, 1348, 1411, + 1361, 1367, 1367, 1354, 1368, 1366, 1363, 1359, 1377, 1378, + + 1379, 1362, 2834, 2834, 1378, 2834, 1380, 1365, 1376, 1367, + 1386, 1379, 1377, 1432, 1386, 1383, 1430, 1391, 1380, 1387, + 1392, 1389, 1395, 2834, 1388, 2834, 1380, 1393, 1445, 2834, + 1389, 1390, 1401, 2834, 1402, 1396, 1391, 1401, 2834, 2834, + 1391, 1392, 1395, 1409, 1414, 1397, 1408, 1460, 1414, 1401, + 1420, 1411, 1465, 1461, 1467, 2834, 1415, 1412, 1423, 1471, + 1472, 1473, 1427, 1428, 1430, 2834, 2834, 1422, 1417, 1474, + 1420, 1436, 1420, 1432, 1484, 1422, 1481, 1464, 1465, 1457, + 1490, 1430, 2834, 1435, 1446, 1437, 1448, 1450, 2834, 1497, + 1431, 1442, 1457, 1496, 1445, 1456, 1444, 1443, 1459, 1460, + + 1457, 1504, 1464, 1511, 1512, 1468, 1459, 1469, 1476, 1464, + 1464, 1522, 1518, 1519, 1525, 1479, 2834, 1481, 1477, 1481, + 1483, 1474, 1477, 1486, 1483, 1473, 1476, 1476, 1538, 1539, + 1483, 1541, 1485, 1543, 1484, 1489, 1547, 2834, 1502, 1481, + 1496, 1489, 1492, 1505, 1508, 1507, 1505, 1557, 1508, 1498, + 2834, 1505, 1506, 1558, 1502, 1518, 1566, 1519, 1568, 1569, + 1570, 1511, 1521, 1573, 1527, 2834, 1519, 1576, 1517, 1517, + 2834, 1535, 2834, 1532, 1523, 1523, 2834, 2834, 2834, 1537, + 1520, 1540, 1541, 1527, 1529, 1591, 1538, 1593, 1539, 2834, + 1533, 1560, 1578, 1593, 1579, 2834, 1552, 1545, 1602, 1549, + + 1599, 1605, 2834, 1545, 1607, 1554, 1548, 1545, 1548, 1550, + 1546, 1609, 1569, 1611, 1561, 1573, 1576, 2834, 2834, 1573, + 1565, 1570, 1565, 1628, 1573, 2834, 1570, 1569, 2834, 1571, + 1633, 1572, 1584, 1575, 1632, 1591, 1593, 1593, 1590, 1637, + 1596, 2834, 2834, 1588, 2834, 1589, 2834, 1599, 1591, 2834, + 1643, 1602, 1604, 1601, 1648, 1593, 1608, 1651, 1610, 1602, + 2834, 1599, 1609, 1600, 1601, 1602, 1659, 1665, 2834, 1619, + 2834, 2834, 2834, 1662, 1606, 2834, 1623, 1608, 2834, 1622, + 1610, 1674, 1618, 1611, 1616, 1627, 1620, 1639, 1632, 1638, + 1628, 1686, 1636, 2834, 1645, 2834, 1642, 1690, 1667, 1668, + + 1674, 1659, 1667, 1691, 1697, 2834, 1652, 1637, 2834, 1700, + 2834, 1701, 1655, 1660, 1642, 1705, 1706, 1647, 1703, 1665, + 1660, 1657, 1650, 1657, 1709, 1664, 1665, 2834, 1655, 1677, + 1675, 1726, 2834, 1676, 1662, 1724, 1685, 1685, 1727, 1672, + 1677, 1675, 1737, 1690, 1678, 1740, 1736, 1688, 1743, 1701, + 1690, 1684, 1747, 1686, 1695, 1688, 1702, 1705, 1696, 1754, + 1755, 1705, 1703, 2834, 1696, 1694, 1755, 1756, 1757, 1709, + 1708, 1708, 1704, 1705, 2834, 1713, 1719, 1710, 1711, 1773, + 1711, 1713, 1771, 1714, 2834, 1710, 1728, 1780, 2834, 1748, + 1762, 1761, 1750, 1752, 1724, 2834, 1787, 1737, 2834, 2834, + + 1728, 1739, 1791, 2834, 1792, 2834, 1746, 1736, 1741, 1739, + 1792, 1748, 1753, 1739, 1742, 1758, 1747, 1745, 1745, 1747, + 2834, 1752, 1813, 1757, 1766, 1812, 1757, 1820, 1765, 1775, + 1776, 2834, 1824, 1774, 1821, 2834, 1769, 1777, 2834, 1768, + 1783, 1771, 2834, 1781, 1782, 1783, 1835, 1790, 1781, 2834, + 2834, 1770, 1788, 1789, 1798, 1780, 1786, 1799, 1788, 1841, + 1790, 1786, 1791, 1788, 1789, 1847, 1853, 2834, 1800, 1855, + 1805, 1795, 1811, 1804, 2834, 1838, 1862, 1844, 1859, 1865, + 1815, 2834, 1812, 1868, 1807, 2834, 2834, 1809, 1811, 1821, + 1868, 1813, 1828, 1815, 1877, 1831, 1817, 1824, 1824, 1835, + + 1836, 1828, 2834, 1831, 1825, 1827, 1843, 1829, 1841, 2834, + 1888, 1836, 1833, 2834, 1847, 1834, 1855, 1851, 1853, 1901, + 1851, 1848, 1856, 1850, 2834, 1906, 1864, 1861, 1854, 1855, + 1860, 1861, 1855, 1860, 1871, 1855, 1864, 1913, 1919, 1869, + 1921, 1867, 2834, 1861, 2834, 1868, 1925, 1926, 1923, 1924, + 2834, 1906, 1912, 2834, 1876, 1886, 2834, 1929, 1878, 1889, + 1890, 1875, 1876, 1884, 1941, 2834, 1886, 1938, 1939, 1891, + 1886, 1904, 1905, 1902, 1950, 1894, 1907, 1902, 1899, 1904, + 1902, 1959, 1960, 1905, 1902, 1916, 1903, 2834, 1918, 1919, + 1920, 1921, 2834, 1915, 1970, 1920, 1925, 1911, 1919, 1913, + + 1933, 1934, 1915, 1916, 1923, 2834, 1925, 2834, 1939, 1936, + 1979, 1937, 2834, 2834, 1941, 1967, 1968, 1966, 1943, 1930, + 1930, 1939, 1946, 1939, 1938, 1949, 1936, 2834, 1952, 1940, + 1943, 2002, 1939, 1958, 1951, 1950, 2834, 1962, 1955, 1954, + 1963, 1965, 1969, 2834, 2834, 1964, 1956, 1956, 2019, 1959, + 2021, 1960, 2023, 2019, 2834, 1963, 2026, 2022, 1981, 1978, + 1969, 1977, 1988, 1975, 1986, 1972, 1970, 1978, 1977, 1982, + 1974, 2019, 2043, 2025, 2040, 2046, 1996, 1985, 1998, 1988, + 2005, 2004, 2048, 1989, 2008, 2009, 2834, 2014, 2007, 2054, + 2060, 2014, 2001, 2016, 2064, 2018, 2021, 2008, 2017, 2020, + + 2834, 2072, 2834, 2022, 2834, 2020, 2075, 2834, 2014, 2077, + 2021, 2018, 2080, 2025, 2077, 2078, 2037, 2080, 2023, 2027, + 2045, 2089, 2045, 2072, 2834, 2068, 2031, 2834, 2039, 2033, + 2030, 2092, 2055, 2048, 2044, 2101, 2041, 2043, 2042, 2049, + 2061, 2834, 2046, 2108, 2049, 2834, 2054, 2064, 2049, 2057, + 2059, 2834, 2060, 2065, 2834, 2067, 2834, 2064, 2074, 2834, + 2075, 2075, 2066, 2125, 2066, 2076, 2061, 2074, 2834, 2076, + 2107, 2113, 2082, 2087, 2084, 2136, 2074, 2076, 2073, 2097, + 2834, 2084, 2091, 2092, 2095, 2091, 2085, 2834, 2142, 2086, + 2094, 2103, 2102, 2105, 2106, 2093, 2100, 2095, 2096, 2098, + + 2110, 2105, 2834, 2116, 2104, 2160, 2108, 2120, 2148, 2169, + 2110, 2171, 2115, 2834, 2115, 2127, 2175, 2121, 2123, 2121, + 2122, 2180, 2138, 2131, 2118, 2133, 2138, 2186, 2187, 2188, + 2189, 2128, 2144, 2192, 2193, 2195, 2136, 2140, 2136, 2152, + 2135, 2147, 2141, 2203, 2834, 2157, 2834, 2149, 2160, 2207, + 2834, 2161, 2146, 2164, 2155, 2834, 2151, 2157, 2171, 2167, + 2160, 2834, 2834, 2834, 2834, 2217, 2218, 2834, 2834, 2834, + 2158, 2166, 2161, 2217, 2180, 2177, 2225, 2834, 2165, 2222, + 2185, 2834, 2229, 2168, 2231, 2171, 2172, 2185, 2184, 2185, + 2175, 2834, 2834, 2176, 2239, 2189, 2198, 2191, 2238, 2834, + + 2194, 2190, 2184, 2834, 2196, 2834, 2243, 2202, 2250, 2189, + 2205, 2253, 2254, 2834, 2208, 2202, 2195, 2215, 2202, 2204, + 2215, 2206, 2210, 2204, 2834, 2261, 2207, 2834, 2834, 2207, + 2215, 2265, 2222, 2215, 2219, 2228, 2275, 2220, 2220, 2278, + 2217, 2219, 2281, 2282, 2221, 2237, 2222, 2240, 2240, 2834, + 2288, 2232, 2834, 2239, 2291, 2834, 2834, 2241, 2293, 2238, + 2295, 2296, 2834, 2244, 2243, 2834, 2244, 2834, 2238, 2834, + 2834, 2238, 2255, 2256, 2304, 2247, 2306, 2307, 2834, 2308, + 2834, 2834, 2834, 2834, 2314, 2317, 2320, 2321, 2323, 2326, + 2329, 2332 + } ; -static const flex_int16_t yy_def[2364] = +static const flex_int16_t yy_def[2393] = { 0, - 2356, 2356, 2357, 2357, 2356, 2356, 2356, 2356, 2356, 2356, - 2355, 2355, 2355, 2355, 2355, 2358, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359, - 2355, 2355, 2355, 2360, 15, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2361, 45, 45, + 2385, 2385, 2386, 2386, 2385, 2385, 2385, 2385, 2385, 2385, + 2384, 2384, 2384, 2384, 2384, 2387, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2388, + 2384, 2384, 2384, 2389, 15, 2384, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2390, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2358, - 2355, 2355, 2355, 2355, 2355, 2355, 2362, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2359, 2355, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2387, + 2384, 2384, 2384, 2384, 2384, 2384, 2391, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2388, 2384, - 2360, 2355, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2363, 45, 2361, 45, + 2389, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2392, 45, 2390, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2362, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 45, 45, + 2391, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 45, - 45, 2355, 45, 45, 2355, 45, 45, 45, 45, 45, - 45, 45, 2363, 2355, 2355, 119, 45, 45, 45, 45, + 45, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, + 45, 45, 45, 2392, 2384, 2384, 119, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1308,9 +1316,9 @@ static const flex_int16_t yy_def[2364] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - 2355, 45, 119, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 45, 45, 45, 45, 45, 2384, 45, 45, + 2384, 45, 2384, 45, 119, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1323,40 +1331,40 @@ static const flex_int16_t yy_def[2364] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 2355, 2355, 45, 45, 45, 45, 2355, 45, - 45, 2355, 45, 119, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 2355, + 45, 45, 45, 45, 2384, 2384, 2384, 45, 45, 45, + 45, 2384, 45, 45, 2384, 45, 119, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 2355, 45, 2355, 2355, 45, 2355, 45, 45, 45, 45, - 45, 2355, 45, 45, 2355, 2355, 2355, 45, 45, 45, - 45, 45, 2355, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 2384, 45, 2384, 45, 2384, 2384, 45, 2384, + 45, 45, 45, 45, 45, 2384, 45, 45, 2384, 2384, + 2384, 45, 45, 45, 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, - 45, 45, 2355, 2355, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 45, 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 2355, 45, 45, 45, + + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 2355, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2384, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1364,195 +1372,199 @@ static const flex_int16_t yy_def[2364] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 2355, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 2355, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 2355, 45, 45, 2355, 2355, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 2384, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 2355, 45, 45, 2355, 45, 45, 45, 45, 2355, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 2384, + 45, 45, 2384, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, + 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 2384, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 2355, 2355, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, + 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 2355, 45, 45, 45, 45, + 45, 45, 2384, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 2355, 45, 2355, 45, 45, 45, 45, + 45, 45, 2384, 2384, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 2355, 45, 45, 45, 2355, - 45, 45, 45, 2355, 45, 45, 45, 45, 2355, 2355, + 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 2384, + 45, 45, 45, 2384, 45, 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 2355, - 45, 2355, 45, 45, 45, 2355, 2355, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 2355, 2355, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 2355, 45, 2355, 45, 2355, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 2355, 2355, - 2355, 45, 45, 2355, 45, 45, 2355, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 2355, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45, - + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, + 2384, 45, 2384, 45, 45, 45, 2384, 2384, 2384, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, + + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 2384, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 45, 2355, + 45, 2384, 2384, 45, 2384, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2384, 45, 45, 45, 45, 45, 45, 45, 2384, 45, + 2384, 2384, 2384, 45, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 2384, 45, 45, 2384, 45, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 2355, 45, 45, 45, 45, - 45, 2355, 45, 45, 2355, 2355, 45, 45, 45, 2355, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 2355, 45, 45, 2355, 45, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 2355, 45, 45, 45, - 2355, 2355, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, - 45, 45, 45, 45, 2355, 45, 45, 45, 2355, 45, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 2384, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 2384, 2384, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 2355, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2384, 45, 45, 45, 2384, 45, 45, 2384, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 2384, + 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, + 45, 2384, 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2355, 45, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 2355, 45, 45, 45, 45, 2355, 2355, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 45, 45, 45, 45, 2355, 2355, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 45, 2384, 45, 2384, 45, 45, 45, 45, 45, + 2384, 45, 45, 2384, 45, 45, 2384, 45, 45, 45, + 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 2384, 45, 2384, 45, 45, + 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, + 45, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 2355, 45, 2355, 45, 45, 2355, + 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2355, 45, 2355, 45, + 2384, 45, 2384, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 2355, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 2355, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 45, 45, 2355, + 45, 45, 45, 45, 2384, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2355, 45, 45, 45, 45, 45, 45, 2355, 45, 45, + 45, 2384, 45, 45, 45, 2384, 45, 45, 45, 45, + 45, 2384, 45, 45, 2384, 45, 2384, 45, 45, 2384, + 45, 45, 45, 45, 45, 45, 45, 45, 2384, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2384, 45, 45, 45, 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2355, 2355, 45, 45, 45, 2355, 45, - 45, 45, 45, 2355, 45, 45, 45, 45, 45, 2355, - 2355, 2355, 2355, 45, 45, 2355, 2355, 2355, 45, 45, - 45, 45, 45, 45, 45, 2355, 45, 45, 2355, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2355, 2355, - 45, 45, 45, 45, 45, 45, 2355, 45, 45, 2355, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2355, - - 45, 45, 2355, 2355, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 2384, 45, 45, 45, + 2384, 45, 45, 45, 45, 2384, 45, 45, 45, 45, + 45, 2384, 2384, 2384, 2384, 45, 45, 2384, 2384, 2384, + 45, 45, 45, 45, 45, 45, 45, 2384, 45, 45, + 45, 2384, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 2384, + + 45, 45, 45, 2384, 45, 2384, 45, 45, 45, 45, + 45, 45, 45, 2384, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2384, 45, 45, 2384, 2384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2355, 45, 45, 2355, 45, 45, 2355, 2355, - 45, 45, 45, 45, 2355, 45, 45, 2355, 45, 2355, - 45, 2355, 45, 45, 45, 45, 45, 45, 45, 2355, - 45, 2355, 2355, 2355, 0, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2384, + 45, 45, 2384, 45, 45, 2384, 2384, 45, 45, 45, + 45, 45, 2384, 45, 45, 2384, 45, 2384, 45, 2384, + 2384, 45, 45, 45, 45, 45, 45, 45, 2384, 45, + 2384, 2384, 2384, 0, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384 + } ; -static const flex_int16_t yy_nxt[2882] = +static const flex_int16_t yy_nxt[2911] = { 0, - 2355, 13, 14, 13, 2355, 15, 16, 102, 17, 18, + 2384, 13, 14, 13, 2384, 15, 16, 102, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 86, 257, 37, 14, 37, 87, 25, 26, 38, 37, - 14, 37, 42, 27, 42, 38, 2355, 2355, 28, 91, + 86, 259, 37, 14, 37, 87, 25, 26, 38, 37, + 14, 37, 42, 27, 42, 38, 2384, 2384, 28, 91, 13, 14, 13, 92, 29, 91, 30, 103, 13, 14, - 13, 204, 25, 31, 13, 14, 13, 42, 40, 42, - 735, 32, 13, 14, 13, 91, 40, 33, 258, 167, - 93, 94, 92, 168, 34, 35, 13, 14, 13, 204, + 13, 205, 25, 31, 13, 14, 13, 42, 40, 42, + 740, 32, 13, 14, 13, 91, 40, 33, 260, 168, + 93, 94, 92, 169, 34, 35, 13, 14, 13, 205, 15, 16, 92, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 39, 13, 14, 13, 93, 93, 25, 26, 39, 13, 14, 13, 42, 27, 42, - 136, 95, 262, 28, 109, 736, 41, 104, 105, 29, - 108, 30, 115, 137, 41, 263, 187, 25, 31, 96, - 188, 138, 89, 139, 89, 458, 32, 90, 90, 90, - 90, 90, 33, 109, 104, 105, 108, 459, 115, 34, + 137, 95, 264, 28, 109, 741, 41, 104, 105, 29, + 108, 30, 115, 138, 41, 265, 188, 25, 31, 96, + 189, 139, 89, 140, 89, 461, 32, 90, 90, 90, + 90, 90, 33, 109, 104, 105, 108, 462, 115, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 48, 49, 50, 51, 45, @@ -1561,137 +1573,137 @@ static const flex_int16_t yy_nxt[2882] = 60, 61, 62, 63, 64, 45, 65, 66, 52, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 45, 45, 45, 45, 45, 81, 895, 82, + 78, 79, 45, 45, 45, 45, 45, 81, 656, 82, 82, 82, 82, 82, 81, 116, 84, 84, 84, 84, - 84, 193, 83, 85, 85, 85, 85, 85, 81, 83, - 84, 84, 84, 84, 84, 113, 83, 158, 200, 159, - 209, 111, 116, 83, 160, 108, 141, 114, 83, 112, - 193, 142, 104, 144, 143, 83, 148, 149, 212, 896, - 150, 113, 83, 145, 200, 146, 151, 111, 209, 83, - 45, 108, 45, 45, 45, 45, 114, 112, 45, 120, - - 45, 45, 140, 118, 212, 121, 45, 45, 122, 45, - 45, 90, 90, 90, 90, 90, 45, 45, 45, 45, + 84, 657, 83, 85, 85, 85, 85, 85, 81, 83, + 84, 84, 84, 84, 84, 113, 83, 159, 153, 160, + 894, 111, 116, 83, 161, 142, 154, 114, 83, 112, + 143, 634, 104, 144, 145, 83, 108, 116, 155, 240, + 241, 113, 83, 635, 146, 192, 147, 111, 193, 83, + 45, 120, 45, 45, 45, 45, 114, 112, 45, 121, + + 45, 45, 108, 118, 116, 122, 45, 45, 123, 45, + 45, 194, 192, 141, 190, 193, 45, 45, 45, 45, 45, 45, 105, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 102, - 193, 199, 124, 45, 152, 211, 125, 45, 205, 105, - 126, 45, 153, 127, 130, 209, 128, 131, 132, 45, - 129, 133, 134, 45, 154, 45, 119, 111, 161, 196, - 199, 162, 163, 211, 135, 112, 115, 116, 191, 103, - 169, 206, 164, 311, 170, 165, 192, 171, 191, 155, - 897, 156, 192, 157, 172, 173, 177, 178, 174, 175, - - 176, 203, 115, 112, 116, 191, 113, 85, 85, 85, - 85, 85, 185, 192, 189, 194, 246, 186, 114, 195, - 83, 81, 898, 82, 82, 82, 82, 82, 203, 247, - 228, 207, 179, 248, 180, 101, 83, 181, 182, 229, - 230, 284, 101, 89, 285, 89, 83, 183, 90, 90, - 90, 90, 90, 81, 184, 84, 84, 84, 84, 84, - 207, 210, 83, 85, 85, 85, 85, 85, 83, 90, - 90, 90, 90, 90, 356, 101, 83, 357, 199, 101, - 222, 238, 239, 101, 267, 242, 274, 243, 207, 223, - 210, 101, 249, 224, 83, 101, 217, 101, 101, 234, - - 235, 254, 83, 215, 244, 268, 255, 218, 250, 236, - 210, 216, 216, 216, 216, 216, 289, 273, 825, 826, - 216, 216, 216, 216, 216, 216, 251, 278, 299, 252, - 324, 306, 300, 253, 312, 275, 301, 325, 318, 316, - 313, 325, 279, 280, 281, 307, 216, 216, 216, 216, - 216, 216, 319, 326, 290, 291, 292, 324, 326, 324, - 334, 331, 332, 335, 325, 293, 337, 294, 328, 338, - 295, 340, 296, 297, 342, 331, 389, 398, 427, 326, - 899, 428, 358, 337, 329, 415, 327, 331, 332, 334, - 359, 335, 337, 390, 339, 338, 360, 340, 411, 448, - - 416, 345, 342, 343, 343, 343, 343, 343, 412, 405, - 424, 340, 343, 343, 343, 343, 343, 343, 425, 443, - 462, 444, 462, 465, 468, 470, 466, 565, 471, 493, - 570, 566, 465, 399, 494, 546, 400, 340, 343, 343, - 343, 343, 343, 343, 516, 547, 462, 900, 463, 517, - 468, 453, 465, 466, 470, 471, 474, 474, 474, 474, - 474, 476, 901, 777, 618, 474, 474, 474, 474, 474, - 474, 499, 470, 520, 536, 537, 538, 500, 521, 542, - 539, 561, 571, 575, 584, 543, 562, 576, 585, 613, - 618, 474, 474, 474, 474, 474, 474, 606, 613, 629, - - 518, 548, 607, 651, 689, 519, 861, 619, 640, 620, - 665, 630, 641, 764, 690, 666, 652, 902, 613, 778, - 642, 765, 643, 644, 645, 646, 647, 622, 699, 754, - 766, 727, 755, 700, 522, 619, 728, 620, 793, 764, - 903, 794, 563, 45, 45, 45, 45, 45, 762, 765, - 904, 770, 45, 45, 45, 45, 45, 45, 771, 766, - 761, 846, 849, 763, 892, 768, 862, 850, 863, 847, - 905, 906, 907, 864, 762, 908, 893, 909, 45, 45, - 45, 45, 45, 45, 910, 911, 912, 913, 914, 915, - 916, 917, 763, 918, 919, 920, 921, 922, 923, 907, - - 906, 924, 908, 928, 851, 929, 909, 930, 925, 926, - 910, 927, 931, 932, 933, 865, 934, 935, 936, 937, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 446, + 194, 447, 125, 45, 115, 210, 126, 45, 212, 105, + 127, 45, 194, 128, 131, 192, 129, 132, 133, 45, + 130, 134, 135, 45, 111, 45, 119, 149, 150, 193, + 115, 151, 112, 210, 136, 162, 212, 152, 163, 164, + 186, 197, 195, 895, 102, 187, 156, 170, 157, 165, + 158, 171, 166, 201, 172, 213, 196, 206, 178, 179, + + 112, 173, 174, 200, 204, 175, 176, 177, 113, 85, + 85, 85, 85, 85, 90, 90, 90, 90, 90, 201, + 114, 213, 83, 81, 103, 82, 82, 82, 82, 82, + 207, 204, 200, 208, 180, 427, 181, 101, 83, 182, + 183, 256, 896, 428, 101, 89, 257, 89, 83, 184, + 90, 90, 90, 90, 90, 81, 185, 84, 84, 84, + 84, 84, 208, 211, 83, 85, 85, 85, 85, 85, + 83, 90, 90, 90, 90, 90, 897, 101, 83, 230, + 200, 101, 224, 208, 244, 101, 245, 269, 231, 232, + 251, 225, 211, 101, 276, 226, 83, 101, 219, 101, + + 101, 236, 237, 246, 83, 216, 252, 286, 270, 220, + 287, 238, 275, 217, 217, 217, 217, 217, 248, 291, + 308, 900, 217, 217, 217, 217, 217, 217, 210, 253, + 280, 249, 254, 301, 309, 250, 255, 302, 314, 327, + 211, 303, 326, 277, 315, 281, 282, 283, 217, 217, + 217, 217, 217, 217, 328, 326, 313, 292, 293, 294, + 320, 327, 901, 328, 333, 334, 327, 336, 295, 318, + 296, 326, 337, 297, 321, 298, 299, 339, 340, 342, + 328, 344, 333, 359, 329, 361, 360, 414, 330, 331, + 333, 334, 339, 362, 902, 401, 336, 415, 392, 363, + + 337, 418, 341, 339, 340, 342, 465, 451, 348, 344, + 345, 345, 345, 345, 345, 393, 419, 342, 408, 345, + 345, 345, 345, 345, 345, 430, 465, 468, 431, 471, + 473, 469, 465, 474, 497, 503, 546, 468, 473, 498, + 569, 504, 547, 342, 570, 345, 345, 345, 345, 345, + 345, 402, 466, 574, 403, 471, 468, 456, 469, 473, + 474, 477, 477, 477, 477, 477, 480, 552, 903, 622, + 477, 477, 477, 477, 477, 477, 520, 524, 540, 541, + 542, 521, 525, 550, 543, 565, 617, 579, 588, 610, + 566, 580, 589, 551, 611, 622, 477, 477, 477, 477, + + 477, 477, 617, 694, 670, 575, 623, 645, 624, 671, + 771, 646, 704, 695, 769, 617, 770, 705, 783, 647, + 867, 648, 649, 650, 651, 652, 759, 767, 732, 760, + 766, 627, 522, 733, 623, 774, 624, 523, 526, 771, + 769, 904, 768, 905, 770, 776, 567, 45, 45, 45, + 45, 45, 777, 767, 831, 832, 45, 45, 45, 45, + 45, 45, 799, 855, 852, 800, 898, 906, 856, 907, + 869, 768, 853, 908, 784, 870, 909, 910, 899, 911, + 868, 912, 45, 45, 45, 45, 45, 45, 913, 914, + 915, 917, 916, 918, 919, 920, 921, 922, 923, 924, + + 925, 926, 927, 928, 929, 857, 930, 931, 932, 933, + 912, 934, 935, 936, 937, 913, 914, 871, 916, 915, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, - 948, 949, 950, 953, 954, 955, 951, 956, 957, 958, - 952, 959, 960, 961, 962, 963, 964, 965, 966, 967, + 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, + 960, 961, 962, 958, 963, 964, 965, 959, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 984, 985, 983, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, + 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, + 988, 989, 991, 992, 990, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1024, 1025, 1026, 1027, 1023, - 1029, 1030, 1033, 1034, 1035, 1028, 1036, 1040, 1031, 1041, - 1042, 1043, 1032, 1044, 1045, 1046, 1047, 1048, 1049, 1037, - 1050, 1038, 1051, 1052, 1053, 1039, 1054, 1055, 1057, 1058, - 1056, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, + 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, + 1028, 1029, 1031, 1032, 1033, 1034, 1030, 1036, 1037, 1040, + 1041, 1042, 1035, 1043, 1047, 1038, 1048, 1049, 1050, 1039, + 1051, 1052, 1053, 1054, 1055, 1056, 1044, 1057, 1045, 1058, + 1059, 1060, 1046, 1061, 1062, 1064, 1065, 1063, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1058, 1084, 1085, 1086, - 1059, 1087, 1088, 1062, 1090, 1091, 1092, 1089, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115, - - 1116, 1117, 1118, 1114, 1119, 1120, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1144, 1145, - 1146, 1143, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1150, - 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, + 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, + 1088, 1089, 1090, 1065, 1091, 1092, 1093, 1066, 1094, 1095, + 1069, 1096, 1098, 1099, 1100, 1101, 1097, 1102, 1103, 1104, + 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, + + 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1123, 1124, 1125, + 1126, 1122, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, + 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, + 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1151, + 1155, 1156, 1157, 1159, 1160, 1161, 1162, 1158, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, - 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, - 1186, 1175, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1184, 1185, + 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1183, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1207, 1205, 1208, 1209, 1206, 1210, 1211, 1212, 1213, 1214, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1215, 1213, - 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, - 1225, 1226, 1227, 1228, 1229, 1203, 1202, 1230, 1204, 1205, - 1206, 1231, 1233, 1234, 1232, 1235, 1236, 1237, 1238, 1239, - 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, + 1216, 1217, 1214, 1218, 1219, 1220, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, + 1235, 1236, 1237, 1211, 1210, 1238, 1212, 1213, 1214, 1239, + 1240, 1242, 1243, 1241, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, - 1260, 1261, 1264, 1265, 1266, 1267, 1262, 1268, 1269, 1270, - 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, + 1270, 1273, 1274, 1275, 1276, 1271, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, - 1321, 1322, 1263, 1323, 1324, 1325, 1326, 1327, 1328, 1329, - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1342, 1341, 1343, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368, 1339, 1341, - 1342, 1343, 1369, 1370, 1367, 1371, 1372, 1373, 1374, 1375, - 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, + 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, + 1331, 1272, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, + 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, + 1351, 1350, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, + 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1348, 1350, 1351, + 1352, 1378, 1379, 1380, 1377, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, - 1396, 1398, 1399, 1400, 1401, 1397, 1402, 1403, 1404, 1405, + 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, - 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, + 1406, 1408, 1409, 1410, 1411, 1407, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, - 1466, 1467, 1468, 1469, 1471, 1470, 1472, 1473, 1474, 1475, - 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, - 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1468, 1494, - 1467, 1470, 1469, 1471, 1495, 1496, 1497, 1498, 1499, 1500, + 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, + 1476, 1477, 1478, 1479, 1481, 1480, 1482, 1483, 1484, 1485, + 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, + 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1478, 1504, - 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, + 1477, 1480, 1479, 1481, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, @@ -1700,180 +1712,183 @@ static const flex_int16_t yy_nxt[2882] = 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, - 1591, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, - - 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1582, 1583, - 1610, 1611, 1584, 1612, 1613, 1614, 1615, 1616, 1617, 1618, - 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, - 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1592, 1636, 1637, - 1638, 1639, 1640, 1641, 1643, 1644, 1645, 1646, 1647, 1648, - 1649, 1642, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, - 1669, 1670, 1673, 1671, 1668, 1672, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1692, 1691, 1693, 1694, 1695, 1696, 1697, 1698, - - 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1713, 1690, 1688, 1714, 1687, 1691, - 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, - 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, - 1735, 1736, 1737, 1690, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, - 1754, 1755, 1756, 1757, 1761, 1758, 1762, 1763, 1759, 1764, - 1765, 1760, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, - 1774, 1775, 1776, 1777, 1778, 1780, 1779, 1781, 1782, 1783, - 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1792, 1793, 1794, - - 1797, 1798, 1795, 1799, 1800, 1801, 1802, 1803, 1804, 1805, - 1777, 1778, 1779, 1796, 1780, 1781, 1806, 1807, 1808, 1809, - 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1820, - 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, - 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, - 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1791, 1848, 1849, - 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, - 1860, 1861, 1862, 1863, 1865, 1864, 1866, 1867, 1868, 1869, - 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1819, - 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1863, - - 1891, 1862, 1864, 1865, 1888, 1866, 1892, 1893, 1894, 1889, - 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, - 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, + 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, + + 1601, 1602, 1603, 1605, 1606, 1607, 1608, 1609, 1610, 1611, + 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1593, + 1594, 1621, 1622, 1595, 1623, 1624, 1625, 1626, 1627, 1628, + 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, + 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1604, + 1648, 1649, 1650, 1651, 1652, 1653, 1655, 1656, 1657, 1658, + 1659, 1660, 1661, 1654, 1662, 1663, 1664, 1665, 1666, 1667, + 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, + 1678, 1679, 1681, 1682, 1685, 1683, 1680, 1684, 1686, 1687, + 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, + + 1698, 1699, 1700, 1701, 1704, 1703, 1705, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, + 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1702, 1700, 1726, + 1699, 1703, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1702, 1750, 1751, 1752, 1753, + 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, + 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1774, 1771, 1775, + 1776, 1772, 1777, 1778, 1773, 1779, 1780, 1781, 1782, 1783, + 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793, 1792, + + 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, + 1804, 1806, 1807, 1808, 1811, 1809, 1812, 1813, 1814, 1815, + 1816, 1817, 1818, 1790, 1791, 1792, 1810, 1793, 1794, 1819, + 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, + 1830, 1831, 1832, 1834, 1835, 1836, 1837, 1838, 1839, 1840, + 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, + 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, + 1861, 1805, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, + 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1879, 1878, + 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, + + 1890, 1891, 1892, 1833, 1893, 1894, 1895, 1896, 1897, 1898, + 1899, 1900, 1901, 1877, 1902, 1876, 1878, 1879, 1903, 1880, + 1906, 1907, 1908, 1904, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, - 1935, 1890, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, - 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, - 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1935, 1961, 1937, - 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, - 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, + 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, + 1945, 1946, 1947, 1948, 1949, 1905, 1950, 1951, 1952, 1953, + 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, + 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, + 1974, 1975, 1976, 1950, 1952, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, - 1992, 1993, 1995, 1996, 1997, 1998, 1994, 1999, 2000, 2001, - 2003, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, - 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, - 2022, 2023, 2024, 2025, 2026, 2027, 2001, 2002, 2028, 2029, - 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, - 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, + 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012, + 2013, 2014, 2010, 2015, 2016, 2017, 2019, 2018, 2020, 2021, + 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, + 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, + 2042, 2043, 2017, 2018, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, - 2080, 2055, 2056, 2081, 2057, 2082, 2083, 2084, 2085, 2086, - 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, - 2097, 2098, 2099, 2100, 2101, 2103, 2104, 2102, 2105, 2106, + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, + 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2072, 2073, + 2098, 2074, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, - 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, - 2127, 2128, 2129, 2130, 2131, 2132, 2106, 2108, 2133, 2134, - 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, - 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, + 2117, 2118, 2119, 2121, 2122, 2120, 2123, 2124, 2125, 2126, + 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, + 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, + 2147, 2148, 2149, 2150, 2124, 2126, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, - 2175, 2176, 2177, 2152, 2178, 2153, 2179, 2180, 2181, 2182, - 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2191, 2190, 2192, - 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, - 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, - 2213, 2214, 2215, 2189, 2190, 2216, 2217, 2218, 2219, 2220, - 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, - 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, - 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2223, 2249, - 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, - 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, + 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, + 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, + 2195, 2196, 2171, 2197, 2172, 2198, 2199, 2200, 2201, 2202, + 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2211, 2210, 2212, + 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, + 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, + 2233, 2234, 2235, 2209, 2210, 2236, 2237, 2238, 2239, 2240, + 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, + 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, + 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2244, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, - 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2310, - 2309, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, + 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, + 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, - 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, + 2330, 2331, 2332, 2333, 2335, 2334, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, - 2350, 2351, 2352, 2353, 2354, 12, 12, 12, 36, 36, - 36, 80, 99, 80, 101, 101, 101, 117, 117, 117, + 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, + 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, - 190, 894, 190, 213, 213, 213, 891, 890, 889, 888, + 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, + 2380, 2381, 2382, 2383, 12, 12, 12, 36, 36, 36, + 80, 99, 80, 101, 101, 101, 117, 117, 117, 191, + 893, 191, 214, 214, 214, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, - 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, - 867, 866, 860, 859, 858, 857, 856, 855, 854, 853, - 852, 848, 845, 844, 843, 842, 841, 840, 839, 838, - 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, - 827, 824, 823, 822, 821, 820, 819, 818, 817, 816, - 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, - 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, - 795, 792, 791, 790, 789, 788, 787, 786, 785, 784, + 877, 876, 875, 874, 873, 872, 866, 865, 864, 863, + 862, 861, 860, 859, 858, 854, 851, 850, 849, 848, + 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, + 837, 836, 835, 834, 833, 830, 829, 828, 827, 826, + 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, - 783, 782, 781, 780, 779, 776, 775, 774, 773, 772, - 769, 767, 761, 760, 759, 758, 757, 756, 753, 752, + 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, + 805, 804, 803, 802, 801, 798, 797, 796, 795, 794, + 793, 792, 791, 790, 789, 788, 787, 786, 785, 782, + 781, 780, 779, 778, 775, 773, 772, 766, 765, 764, + 763, 762, 761, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, - 741, 740, 739, 738, 737, 734, 733, 732, 731, 730, - 729, 726, 725, 724, 723, 722, 721, 720, 719, 718, + 739, 738, 737, 736, 735, 734, 731, 730, 729, 728, + 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, - 707, 706, 705, 704, 703, 702, 701, 698, 697, 696, - 695, 694, 693, 692, 691, 688, 687, 686, 685, 684, - 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 669, 668, 667, 664, 663, 662, + 707, 706, 703, 702, 701, 700, 699, 698, 697, 696, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 650, - 649, 648, 639, 638, 637, 636, 635, 634, 633, 632, - 631, 628, 627, 626, 625, 624, 623, 621, 617, 616, - 615, 614, 612, 611, 610, 609, 608, 605, 604, 603, + 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, + 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, + 673, 672, 669, 668, 667, 666, 665, 664, 663, 662, + 661, 660, 659, 658, 655, 654, 653, 644, 643, 642, + 641, 640, 639, 638, 637, 636, 633, 632, 631, 630, + 629, 628, 626, 625, 621, 620, 619, 618, 616, 615, + 614, 613, 612, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, - 592, 591, 590, 589, 588, 587, 586, 583, 582, 581, - 580, 579, 578, 577, 574, 573, 572, 569, 568, 567, - 564, 560, 559, 558, 557, 556, 555, 554, 553, 552, - 551, 550, 549, 545, 544, 541, 540, 535, 534, 533, - 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, + 592, 591, 590, 587, 586, 585, 584, 583, 582, 581, + 578, 577, 576, 573, 572, 571, 568, 564, 563, 562, + 561, 560, 559, 558, 557, 556, 555, 554, 553, 549, + 548, 545, 544, 539, 538, 537, 536, 535, 534, 533, + 532, 531, 530, 529, 528, 527, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, - 505, 504, 503, 502, 501, 498, 497, 496, 495, 492, + 505, 502, 501, 500, 499, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, - 481, 480, 479, 478, 477, 475, 473, 472, 469, 467, - 464, 461, 460, 457, 456, 455, 454, 452, 451, 450, - 449, 447, 446, 445, 442, 441, 440, 439, 438, 437, - 436, 435, 434, 433, 432, 431, 430, 429, 426, 423, - 422, 421, 420, 419, 418, 417, 414, 413, 410, 409, - 408, 407, 406, 404, 403, 402, 401, 397, 396, 395, - 394, 393, 392, 391, 388, 387, 386, 385, 384, 383, - + 481, 479, 478, 476, 475, 472, 470, 467, 464, 463, + 460, 459, 458, 457, 455, 454, 453, 452, 450, 449, + 448, 445, 444, 443, 442, 441, 440, 439, 438, 437, + 436, 435, 434, 433, 432, 429, 426, 425, 424, 423, + + 422, 421, 420, 417, 416, 413, 412, 411, 410, 409, + 407, 406, 405, 404, 400, 399, 398, 397, 396, 395, + 394, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, - 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, - 362, 361, 355, 354, 353, 352, 351, 350, 349, 348, - 347, 346, 344, 214, 341, 339, 336, 333, 330, 323, - 322, 321, 320, 317, 315, 314, 310, 309, 308, 305, - 304, 303, 302, 298, 288, 287, 286, 283, 282, 277, - 276, 272, 271, 270, 269, 266, 265, 264, 261, 260, - 259, 256, 245, 241, 240, 237, 233, 232, 231, 227, - 226, 225, 221, 220, 219, 214, 208, 202, 201, 198, - 197, 166, 147, 123, 110, 107, 106, 43, 100, 98, - - 97, 88, 43, 2355, 11, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355 + 372, 371, 370, 369, 368, 367, 366, 365, 364, 358, + 357, 356, 355, 354, 353, 352, 351, 350, 349, 347, + 346, 215, 343, 341, 338, 335, 332, 325, 324, 323, + 322, 319, 317, 316, 312, 311, 310, 307, 306, 305, + 304, 300, 290, 289, 288, 285, 284, 279, 278, 274, + 273, 272, 271, 268, 267, 266, 263, 262, 261, 258, + + 247, 243, 242, 239, 235, 234, 233, 229, 228, 227, + 223, 222, 221, 218, 215, 209, 203, 202, 199, 198, + 167, 148, 124, 110, 107, 106, 43, 100, 98, 97, + 88, 43, 2384, 11, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384 } ; -static const flex_int16_t yy_chk[2882] = +static const flex_int16_t yy_chk[2911] = { 0, 0, 1, 1, 1, 0, 1, 1, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 144, 3, 3, 3, 21, 1, 1, 3, 4, + 21, 145, 3, 3, 3, 21, 1, 1, 3, 4, 4, 4, 13, 1, 13, 4, 0, 0, 1, 26, 5, 5, 5, 27, 1, 31, 1, 44, 6, 6, 6, 109, 1, 1, 7, 7, 7, 37, 7, 37, - 584, 1, 8, 8, 8, 26, 8, 1, 144, 74, + 588, 1, 8, 8, 8, 26, 8, 1, 145, 74, 28, 31, 27, 74, 1, 1, 2, 2, 2, 109, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 9, 9, 9, 28, 33, 2, 2, 6, 10, 10, 10, 42, 2, 42, - 63, 32, 148, 2, 52, 584, 9, 47, 48, 2, - 51, 2, 56, 63, 10, 148, 78, 2, 2, 33, - 78, 63, 25, 63, 25, 321, 2, 25, 25, 25, - 25, 25, 2, 52, 47, 48, 51, 321, 56, 2, + 63, 32, 149, 2, 52, 588, 9, 47, 48, 2, + 51, 2, 56, 63, 10, 149, 78, 2, 2, 33, + 78, 63, 25, 63, 25, 323, 2, 25, 25, 25, + 25, 25, 2, 52, 47, 48, 51, 323, 56, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1882,299 +1897,302 @@ static const flex_int16_t yy_chk[2882] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 17, 748, 17, + 15, 15, 15, 15, 15, 15, 15, 17, 503, 17, 17, 17, 17, 17, 19, 57, 19, 19, 19, 19, - 19, 93, 17, 20, 20, 20, 20, 20, 22, 19, - 22, 22, 22, 22, 22, 55, 20, 71, 105, 71, - 113, 54, 57, 22, 71, 64, 65, 55, 17, 54, - 93, 65, 59, 66, 65, 19, 68, 68, 116, 749, - 68, 55, 20, 66, 105, 66, 68, 54, 113, 22, - 45, 64, 45, 45, 45, 45, 55, 54, 45, 59, - - 45, 45, 64, 58, 116, 59, 45, 45, 59, 45, - 58, 89, 89, 89, 89, 89, 45, 45, 45, 45, + 19, 503, 17, 20, 20, 20, 20, 20, 22, 19, + 22, 22, 22, 22, 22, 55, 20, 71, 69, 71, + 747, 54, 57, 22, 71, 65, 69, 55, 17, 54, + 65, 487, 59, 65, 66, 19, 64, 79, 69, 135, + 135, 55, 20, 487, 66, 91, 66, 54, 92, 22, + 45, 59, 45, 45, 45, 45, 55, 54, 45, 59, + + 45, 45, 64, 58, 79, 59, 45, 45, 59, 45, + 58, 93, 91, 64, 79, 92, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 101, - 96, 104, 61, 58, 69, 115, 61, 58, 110, 61, - 61, 58, 69, 61, 62, 179, 61, 62, 62, 58, - 61, 62, 62, 58, 69, 58, 58, 70, 72, 96, - 104, 72, 72, 115, 62, 70, 77, 79, 91, 101, - 75, 110, 72, 179, 75, 72, 92, 75, 94, 70, - 750, 70, 95, 70, 75, 75, 76, 76, 75, 75, - - 75, 108, 77, 70, 79, 91, 76, 81, 81, 81, - 81, 81, 77, 92, 79, 94, 139, 77, 76, 95, - 81, 82, 751, 82, 82, 82, 82, 82, 108, 139, - 128, 111, 76, 139, 76, 103, 82, 76, 76, 128, - 128, 164, 103, 83, 164, 83, 81, 76, 83, 83, - 83, 83, 83, 84, 76, 84, 84, 84, 84, 84, - 111, 114, 82, 85, 85, 85, 85, 85, 84, 90, - 90, 90, 90, 90, 229, 103, 85, 229, 120, 103, - 124, 134, 134, 103, 152, 137, 158, 137, 157, 124, - 114, 103, 140, 124, 84, 103, 120, 103, 103, 132, - - 132, 142, 85, 119, 137, 152, 142, 120, 140, 132, - 183, 119, 119, 119, 119, 119, 168, 157, 681, 681, - 119, 119, 119, 119, 119, 119, 141, 161, 170, 141, - 191, 175, 170, 141, 180, 158, 170, 192, 185, 183, - 180, 195, 161, 161, 161, 175, 119, 119, 119, 119, - 119, 119, 185, 193, 168, 168, 168, 194, 196, 191, - 203, 199, 200, 204, 192, 168, 207, 168, 195, 208, - 168, 210, 168, 168, 212, 218, 260, 268, 292, 193, - 752, 292, 230, 273, 196, 282, 194, 199, 200, 203, - 230, 204, 207, 260, 311, 208, 230, 210, 279, 311, - - 282, 218, 212, 216, 216, 216, 216, 216, 279, 273, - 290, 316, 216, 216, 216, 216, 216, 216, 290, 307, - 324, 307, 327, 331, 334, 337, 332, 420, 338, 362, - 424, 420, 345, 268, 362, 404, 268, 316, 216, 216, - 216, 216, 216, 216, 383, 404, 324, 753, 327, 383, - 334, 316, 331, 332, 337, 338, 343, 343, 343, 343, - 343, 345, 754, 632, 471, 343, 343, 343, 343, 343, - 343, 367, 405, 384, 398, 398, 398, 367, 384, 401, - 398, 418, 424, 428, 436, 401, 418, 428, 436, 465, - 471, 343, 343, 343, 343, 343, 343, 457, 476, 483, - - 383, 405, 457, 499, 538, 383, 715, 473, 495, 473, - 513, 483, 495, 618, 538, 513, 499, 755, 465, 632, - 495, 619, 495, 495, 495, 495, 495, 476, 548, 607, - 620, 577, 607, 548, 384, 473, 577, 473, 647, 618, - 756, 647, 418, 474, 474, 474, 474, 474, 614, 619, - 758, 626, 474, 474, 474, 474, 474, 474, 626, 620, - 622, 702, 704, 614, 746, 622, 715, 704, 716, 702, - 759, 762, 763, 716, 614, 764, 746, 765, 474, 474, - 474, 474, 474, 474, 766, 767, 768, 769, 770, 771, - 772, 773, 614, 774, 775, 776, 777, 778, 779, 763, - - 762, 780, 764, 782, 704, 783, 765, 784, 781, 781, - 766, 781, 785, 786, 787, 716, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 804, 808, 809, 810, - 804, 811, 812, 813, 814, 815, 816, 817, 818, 819, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 830, 831, 832, 833, 834, 835, 836, 834, 837, 839, - 840, 841, 842, 843, 844, 845, 846, 847, 848, 850, - 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 862, 864, 865, 866, 867, 868, 869, 870, 871, 872, - - 873, 874, 875, 876, 877, 878, 879, 880, 881, 877, - 882, 883, 884, 885, 886, 881, 887, 888, 883, 889, - 890, 891, 883, 893, 894, 895, 896, 897, 898, 887, - 899, 887, 900, 901, 902, 887, 903, 904, 905, 906, - 904, 907, 908, 909, 910, 911, 912, 913, 914, 915, - 916, 917, 918, 919, 920, 921, 924, 925, 926, 927, - 928, 929, 930, 931, 932, 933, 906, 934, 935, 936, - 907, 937, 938, 910, 939, 940, 941, 938, 942, 943, - 944, 945, 946, 947, 949, 950, 951, 952, 953, 954, - 955, 956, 957, 958, 960, 961, 962, 963, 964, 965, - - 966, 967, 968, 964, 969, 970, 971, 972, 973, 974, - 975, 976, 979, 980, 981, 982, 983, 984, 985, 987, - 988, 989, 990, 991, 992, 994, 995, 996, 997, 998, - 999, 996, 1000, 1001, 1002, 1004, 1005, 1008, 1009, 1002, - 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - 1041, 1030, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1063, 1061, 1064, 1065, 1062, 1066, 1067, 1068, 1070, 1071, - - 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, - 1082, 1083, 1084, 1085, 1086, 1059, 1058, 1087, 1060, 1061, - 1062, 1089, 1090, 1091, 1089, 1092, 1093, 1094, 1095, 1096, - 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1114, 1115, 1116, 1117, - 1118, 1119, 1120, 1121, 1123, 1124, 1119, 1125, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, - 1148, 1150, 1151, 1153, 1154, 1156, 1157, 1158, 1159, 1161, - 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, - - 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1180, 1181, 1182, - 1183, 1184, 1119, 1186, 1187, 1188, 1189, 1190, 1191, 1192, - 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1205, 1204, 1206, 1208, 1209, 1210, 1211, 1212, 1214, - 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, - 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1202, 1204, - 1205, 1206, 1233, 1234, 1231, 1235, 1236, 1237, 1239, 1240, - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, - 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1262, - 1263, 1264, 1265, 1266, 1267, 1263, 1268, 1269, 1270, 1271, - - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1297, 1299, 1300, 1301, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1312, 1315, - 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1337, - 1338, 1339, 1340, 1341, 1343, 1342, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, - 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1340, 1367, - 1339, 1342, 1341, 1343, 1368, 1369, 1370, 1372, 1373, 1374, - - 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, - 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1395, 1397, - 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, - 1408, 1409, 1410, 1411, 1412, 1413, 1415, 1417, 1418, 1419, - 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, - 1444, 1445, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, - 1455, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1469, 1470, 1471, 1473, 1474, 1475, 1476, 1477, - 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, - - 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1468, 1469, - 1497, 1498, 1470, 1499, 1500, 1501, 1502, 1503, 1504, 1505, - 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, - 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1479, 1524, 1525, - 1526, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, - 1537, 1530, 1538, 1539, 1541, 1542, 1543, 1544, 1545, 1546, - 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1556, 1557, - 1558, 1559, 1563, 1561, 1557, 1561, 1564, 1565, 1569, 1570, - 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1580, 1581, - 1582, 1583, 1586, 1584, 1587, 1588, 1589, 1590, 1592, 1593, - - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, - 1604, 1605, 1608, 1609, 1610, 1583, 1582, 1611, 1581, 1584, - 1612, 1613, 1615, 1616, 1618, 1619, 1620, 1621, 1622, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1632, 1634, 1636, 1637, - 1639, 1640, 1641, 1583, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1658, 1662, - 1663, 1665, 1666, 1668, 1669, 1668, 1670, 1671, 1668, 1672, - 1673, 1668, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, - 1683, 1685, 1686, 1687, 1688, 1690, 1689, 1691, 1692, 1694, - 1695, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, - - 1708, 1709, 1707, 1710, 1711, 1712, 1713, 1714, 1716, 1717, - 1687, 1688, 1689, 1707, 1690, 1691, 1718, 1719, 1721, 1722, - 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1729, 1730, 1731, - 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, - 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1752, - 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1703, 1760, 1761, - 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1773, - 1774, 1775, 1777, 1778, 1780, 1779, 1781, 1783, 1784, 1787, - 1788, 1789, 1791, 1793, 1794, 1795, 1796, 1797, 1798, 1730, - 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1808, 1778, - - 1810, 1777, 1779, 1780, 1809, 1781, 1811, 1812, 1813, 1809, - 1814, 1815, 1816, 1817, 1819, 1820, 1821, 1823, 1824, 1826, - 1827, 1828, 1830, 1831, 1832, 1833, 1834, 1835, 1838, 1839, - 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, - 1850, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, - 1862, 1809, 1863, 1864, 1865, 1866, 1868, 1869, 1870, 1873, - 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, - 1884, 1885, 1886, 1887, 1889, 1890, 1891, 1862, 1892, 1864, - 1893, 1894, 1896, 1897, 1898, 1900, 1901, 1902, 1903, 1904, - 1905, 1906, 1907, 1908, 1909, 1911, 1912, 1913, 1914, 1915, - - 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, - 1926, 1927, 1929, 1931, 1932, 1933, 1927, 1934, 1935, 1937, - 1940, 1938, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, - 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1965, 1966, 1937, 1938, 1967, 1968, - 1969, 1970, 1971, 1973, 1974, 1975, 1976, 1978, 1979, 1980, - 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1991, - 1993, 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, - 2016, 2017, 2018, 2019, 2021, 2022, 2023, 2024, 2025, 2026, - - 2029, 2000, 2001, 2030, 2002, 2031, 2032, 2033, 2034, 2035, - 2036, 2037, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, - 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2051, 2054, 2055, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 309, + 93, 309, 61, 58, 77, 113, 61, 58, 115, 61, + 61, 58, 96, 61, 62, 94, 61, 62, 62, 58, + 61, 62, 62, 58, 70, 58, 58, 68, 68, 95, + 77, 68, 70, 113, 62, 72, 115, 68, 72, 72, + 77, 96, 94, 748, 101, 77, 70, 75, 70, 72, + 70, 75, 72, 105, 75, 116, 95, 110, 76, 76, + + 70, 75, 75, 104, 108, 75, 75, 75, 76, 81, + 81, 81, 81, 81, 89, 89, 89, 89, 89, 105, + 76, 116, 81, 82, 101, 82, 82, 82, 82, 82, + 110, 108, 104, 111, 76, 292, 76, 103, 82, 76, + 76, 143, 749, 292, 103, 83, 143, 83, 81, 76, + 83, 83, 83, 83, 83, 84, 76, 84, 84, 84, + 84, 84, 111, 114, 82, 85, 85, 85, 85, 85, + 84, 90, 90, 90, 90, 90, 750, 103, 85, 129, + 121, 103, 125, 158, 138, 103, 138, 153, 129, 129, + 141, 125, 114, 103, 159, 125, 84, 103, 121, 103, + + 103, 133, 133, 138, 85, 119, 141, 165, 153, 121, + 165, 133, 158, 119, 119, 119, 119, 119, 140, 169, + 176, 752, 119, 119, 119, 119, 119, 119, 180, 142, + 162, 140, 142, 171, 176, 140, 142, 171, 181, 193, + 184, 171, 192, 159, 181, 162, 162, 162, 119, 119, + 119, 119, 119, 119, 194, 195, 180, 169, 169, 169, + 186, 196, 753, 197, 200, 201, 193, 204, 169, 184, + 169, 192, 205, 169, 186, 169, 169, 208, 209, 211, + 194, 213, 220, 231, 195, 232, 231, 281, 196, 197, + 200, 201, 275, 232, 754, 270, 204, 281, 262, 232, + + 205, 284, 313, 208, 209, 211, 326, 313, 220, 213, + 217, 217, 217, 217, 217, 262, 284, 318, 275, 217, + 217, 217, 217, 217, 217, 294, 329, 333, 294, 336, + 339, 334, 326, 340, 365, 370, 404, 348, 408, 365, + 423, 370, 404, 318, 423, 217, 217, 217, 217, 217, + 217, 270, 329, 427, 270, 336, 333, 318, 334, 339, + 340, 345, 345, 345, 345, 345, 348, 408, 755, 474, + 345, 345, 345, 345, 345, 345, 386, 387, 401, 401, + 401, 386, 387, 407, 401, 421, 468, 431, 439, 460, + 421, 431, 439, 407, 460, 474, 345, 345, 345, 345, + + 345, 345, 480, 542, 517, 427, 476, 499, 476, 517, + 624, 499, 552, 542, 622, 468, 623, 552, 637, 499, + 720, 499, 499, 499, 499, 499, 611, 618, 581, 611, + 627, 480, 386, 581, 476, 627, 476, 386, 387, 624, + 622, 756, 618, 757, 623, 631, 421, 477, 477, 477, + 477, 477, 631, 618, 686, 686, 477, 477, 477, 477, + 477, 477, 652, 709, 707, 652, 751, 758, 709, 759, + 721, 618, 707, 760, 637, 721, 761, 763, 751, 764, + 720, 767, 477, 477, 477, 477, 477, 477, 768, 769, + 770, 772, 771, 773, 774, 775, 776, 777, 778, 779, + + 780, 781, 782, 783, 784, 709, 785, 786, 787, 787, + 767, 787, 788, 789, 790, 768, 769, 721, 771, 770, + 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, + 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 810, 814, 815, 816, 810, 817, 818, + 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, + 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 841, 842, 840, 843, 845, 846, 847, 848, + 849, 850, 851, 852, 853, 854, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 868, 870, 871, + + 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, + 882, 883, 884, 885, 886, 887, 883, 888, 889, 890, + 891, 892, 887, 893, 894, 889, 895, 896, 897, 889, + 899, 900, 901, 902, 903, 904, 893, 905, 893, 906, + 907, 908, 893, 909, 910, 911, 912, 910, 913, 914, + 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, + 925, 926, 927, 928, 931, 932, 933, 934, 935, 936, + 937, 938, 939, 912, 940, 941, 942, 913, 943, 944, + 916, 945, 946, 947, 948, 949, 945, 950, 951, 952, + 953, 954, 956, 957, 958, 959, 960, 961, 962, 963, + + 964, 965, 967, 968, 969, 970, 971, 972, 973, 974, + 975, 971, 976, 977, 978, 979, 980, 981, 982, 983, + 986, 987, 988, 989, 990, 991, 992, 994, 995, 996, + 997, 998, 999, 1001, 1002, 1003, 1004, 1005, 1006, 1003, + 1007, 1008, 1009, 1011, 1012, 1015, 1016, 1009, 1017, 1018, + 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, + 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1037, + 1049, 1050, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, + 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1070, 1068, + + 1071, 1072, 1069, 1073, 1074, 1075, 1076, 1078, 1079, 1080, + 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, + 1091, 1092, 1093, 1066, 1065, 1094, 1067, 1068, 1069, 1095, + 1097, 1098, 1099, 1097, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126, + 1127, 1128, 1129, 1131, 1132, 1127, 1133, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, + 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, + 1158, 1159, 1161, 1162, 1164, 1165, 1166, 1167, 1169, 1170, + + 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, + 1181, 1182, 1183, 1184, 1185, 1186, 1188, 1189, 1190, 1191, + 1192, 1127, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1213, 1212, 1214, 1215, 1217, 1218, 1219, 1220, 1221, 1223, + 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, + 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1210, 1212, 1213, + 1214, 1241, 1242, 1243, 1240, 1244, 1245, 1246, 1248, 1249, + 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, + 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1271, + + 1272, 1273, 1274, 1275, 1276, 1272, 1277, 1278, 1279, 1280, + 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, + 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, + 1301, 1302, 1303, 1304, 1305, 1306, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1320, 1321, 1324, + 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, + 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1344, 1346, + 1347, 1348, 1349, 1350, 1352, 1351, 1353, 1354, 1355, 1356, + 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, + 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1349, 1376, + + 1348, 1351, 1350, 1352, 1377, 1378, 1379, 1380, 1382, 1383, + 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, + 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1405, + 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, + 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1425, 1427, 1428, + 1429, 1431, 1432, 1433, 1435, 1436, 1437, 1438, 1441, 1442, + 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, + 1453, 1454, 1455, 1457, 1458, 1459, 1460, 1461, 1462, 1463, + 1464, 1465, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, + 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1484, 1485, 1486, + + 1487, 1488, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, + 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1478, + 1479, 1507, 1508, 1480, 1509, 1510, 1511, 1512, 1513, 1514, + 1515, 1516, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, + 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1490, + 1535, 1536, 1537, 1539, 1540, 1541, 1542, 1543, 1544, 1545, + 1546, 1547, 1548, 1541, 1549, 1550, 1552, 1553, 1554, 1555, + 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, + 1567, 1568, 1569, 1570, 1574, 1572, 1568, 1572, 1575, 1576, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + + 1591, 1592, 1593, 1594, 1597, 1595, 1598, 1599, 1600, 1601, + 1602, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 1615, 1616, 1617, 1620, 1621, 1594, 1593, 1622, + 1592, 1595, 1623, 1624, 1625, 1627, 1628, 1630, 1631, 1632, + 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1644, + 1646, 1648, 1649, 1651, 1652, 1594, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1662, 1663, 1664, 1665, 1666, 1667, + 1668, 1670, 1674, 1675, 1677, 1678, 1680, 1681, 1680, 1682, + 1683, 1680, 1684, 1685, 1680, 1686, 1687, 1688, 1689, 1690, + 1691, 1692, 1693, 1695, 1697, 1698, 1699, 1700, 1702, 1701, + + 1703, 1704, 1705, 1707, 1708, 1710, 1712, 1713, 1714, 1715, + 1716, 1717, 1718, 1719, 1721, 1720, 1722, 1723, 1724, 1725, + 1726, 1727, 1729, 1699, 1700, 1701, 1720, 1702, 1703, 1730, + 1731, 1732, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, + 1742, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1765, 1766, 1767, 1768, 1769, 1770, 1771, + 1772, 1716, 1773, 1774, 1776, 1777, 1778, 1779, 1780, 1781, + 1782, 1783, 1784, 1786, 1787, 1788, 1790, 1791, 1793, 1792, + 1794, 1795, 1797, 1798, 1801, 1802, 1803, 1805, 1807, 1808, + + 1809, 1810, 1811, 1743, 1812, 1813, 1814, 1815, 1816, 1817, + 1818, 1819, 1820, 1791, 1822, 1790, 1792, 1793, 1823, 1794, + 1824, 1825, 1826, 1823, 1827, 1828, 1829, 1830, 1831, 1833, + 1834, 1835, 1837, 1838, 1840, 1841, 1842, 1844, 1845, 1846, + 1847, 1848, 1849, 1852, 1853, 1854, 1855, 1856, 1857, 1858, + 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1869, + 1870, 1871, 1872, 1873, 1874, 1823, 1876, 1877, 1878, 1879, + 1880, 1881, 1883, 1884, 1885, 1888, 1889, 1890, 1891, 1892, + 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, + 1904, 1905, 1906, 1876, 1878, 1907, 1908, 1909, 1911, 1912, + + 1913, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, + 1924, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, + 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1944, 1946, + 1947, 1948, 1942, 1949, 1950, 1952, 1955, 1953, 1956, 1958, + 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1967, 1968, 1969, + 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1952, 1953, 1982, 1983, 1984, 1985, 1986, 1987, + 1989, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, + 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, + + 2024, 2025, 2026, 2027, 2029, 2030, 2031, 2032, 2033, 2034, + 2035, 2036, 2038, 2039, 2040, 2041, 2042, 2043, 2016, 2017, + 2046, 2018, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, - 2066, 2067, 2068, 2070, 2071, 2072, 2073, 2074, 2075, 2076, - 2077, 2078, 2079, 2080, 2081, 2082, 2055, 2057, 2084, 2086, - 2088, 2089, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2108, 2110, - 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, - 2121, 2122, 2124, 2125, 2126, 2128, 2129, 2130, 2131, 2132, - - 2134, 2135, 2137, 2106, 2139, 2108, 2140, 2142, 2143, 2144, - 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2154, 2153, 2155, - 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2164, 2165, 2166, - 2167, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, - 2178, 2179, 2180, 2152, 2153, 2181, 2182, 2184, 2185, 2186, - 2187, 2188, 2189, 2190, 2191, 2192, 2194, 2195, 2196, 2197, - 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, - 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2189, 2216, - 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2226, 2227, 2228, - 2230, 2231, 2232, 2233, 2235, 2236, 2237, 2238, 2239, 2244, - - 2245, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2257, 2258, - 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2271, - 2272, 2273, 2274, 2275, 2276, 2278, 2279, 2281, 2283, 2284, - 2285, 2286, 2287, 2288, 2289, 2291, 2292, 2293, 2294, 2295, - 2294, 2296, 2297, 2298, 2299, 2301, 2302, 2305, 2306, 2307, - 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, - 2318, 2319, 2320, 2321, 2322, 2324, 2325, 2327, 2328, 2331, - 2332, 2333, 2334, 2336, 2337, 2339, 2341, 2343, 2344, 2345, - 2346, 2347, 2348, 2349, 2351, 2356, 2356, 2356, 2357, 2357, - 2357, 2358, 2359, 2358, 2360, 2360, 2360, 2361, 2361, 2361, - - 2362, 747, 2362, 2363, 2363, 2363, 745, 744, 743, 742, - 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, - 730, 729, 728, 726, 725, 724, 723, 721, 720, 719, - 718, 717, 713, 712, 711, 710, 709, 708, 707, 706, - 705, 703, 701, 700, 698, 697, 696, 695, 694, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - 682, 680, 679, 678, 677, 676, 675, 672, 671, 670, - 669, 668, 667, 666, 664, 663, 662, 661, 660, 659, - 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, - 648, 646, 645, 644, 643, 642, 641, 640, 639, 638, - - 637, 636, 635, 634, 633, 631, 630, 629, 628, 627, - 624, 621, 613, 612, 611, 610, 609, 608, 605, 602, - 600, 598, 597, 596, 595, 594, 593, 592, 591, 590, - 589, 588, 587, 586, 585, 583, 582, 581, 580, 579, - 578, 576, 575, 574, 573, 572, 571, 570, 569, 568, - 567, 566, 565, 563, 562, 560, 559, 558, 557, 556, - 555, 554, 553, 552, 551, 550, 549, 547, 546, 544, - 543, 542, 541, 540, 539, 537, 536, 535, 534, 533, - 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, - 522, 521, 519, 518, 517, 515, 514, 512, 511, 510, - - 509, 508, 507, 506, 505, 504, 502, 501, 500, 498, - 497, 496, 494, 492, 491, 490, 489, 488, 487, 485, - 484, 482, 481, 480, 479, 478, 477, 475, 470, 468, - 467, 466, 464, 461, 460, 459, 458, 456, 455, 454, - 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, - 443, 442, 441, 440, 439, 438, 437, 435, 434, 433, - 432, 431, 430, 429, 427, 426, 425, 423, 422, 421, - 419, 417, 416, 415, 414, 413, 412, 411, 410, 409, - 408, 407, 406, 403, 402, 400, 399, 397, 396, 395, - 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, - - 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, - 372, 371, 370, 369, 368, 366, 365, 364, 363, 361, - 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 349, 348, 347, 346, 344, 342, 340, 335, 333, - 330, 323, 322, 320, 319, 318, 317, 315, 314, 313, - 312, 310, 309, 308, 306, 305, 304, 303, 302, 301, - 300, 299, 298, 297, 296, 295, 294, 293, 291, 289, - 288, 287, 286, 285, 284, 283, 281, 280, 278, 277, - 276, 275, 274, 272, 271, 270, 269, 267, 266, 265, - 264, 263, 262, 261, 259, 258, 256, 255, 254, 253, - - 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, - 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, - 232, 231, 228, 227, 226, 225, 224, 223, 222, 221, - 220, 219, 217, 213, 211, 209, 206, 201, 197, 189, - 188, 187, 186, 184, 182, 181, 178, 177, 176, 174, - 173, 172, 171, 169, 167, 166, 165, 163, 162, 160, - 159, 156, 155, 154, 153, 151, 150, 149, 147, 146, - 145, 143, 138, 136, 135, 133, 131, 130, 129, 127, - 126, 125, 123, 122, 121, 117, 112, 107, 106, 99, - 98, 73, 67, 60, 53, 50, 49, 43, 41, 39, - - 38, 24, 14, 11, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, - 2355 + 2066, 2067, 2068, 2069, 2070, 2068, 2071, 2072, 2073, 2074, + 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, + 2085, 2086, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, + 2096, 2097, 2098, 2099, 2072, 2074, 2100, 2102, 2104, 2106, + 2107, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, + 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2129, + + 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, + 2140, 2141, 2143, 2144, 2145, 2147, 2148, 2149, 2150, 2151, + 2153, 2154, 2124, 2156, 2126, 2158, 2159, 2161, 2162, 2163, + 2164, 2165, 2166, 2167, 2168, 2170, 2171, 2173, 2172, 2174, + 2175, 2176, 2177, 2178, 2179, 2180, 2182, 2183, 2184, 2185, + 2186, 2187, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, + 2197, 2198, 2199, 2171, 2172, 2200, 2201, 2202, 2204, 2205, + 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2215, 2216, + 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, + 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2209, + + 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2246, + 2248, 2249, 2250, 2252, 2253, 2254, 2255, 2257, 2258, 2259, + 2260, 2261, 2266, 2267, 2271, 2272, 2273, 2274, 2275, 2276, + 2277, 2279, 2280, 2281, 2283, 2284, 2285, 2286, 2287, 2288, + 2289, 2290, 2291, 2294, 2295, 2296, 2297, 2298, 2299, 2301, + 2302, 2303, 2305, 2307, 2308, 2309, 2310, 2311, 2312, 2313, + 2315, 2316, 2317, 2318, 2319, 2318, 2320, 2321, 2322, 2323, + 2324, 2326, 2327, 2330, 2331, 2332, 2333, 2334, 2335, 2336, + 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, + 2347, 2348, 2349, 2351, 2352, 2354, 2355, 2358, 2359, 2360, + + 2361, 2362, 2364, 2365, 2367, 2369, 2372, 2373, 2374, 2375, + 2376, 2377, 2378, 2380, 2385, 2385, 2385, 2386, 2386, 2386, + 2387, 2388, 2387, 2389, 2389, 2389, 2390, 2390, 2390, 2391, + 745, 2391, 2392, 2392, 2392, 744, 743, 742, 741, 740, + 739, 738, 737, 736, 735, 734, 733, 731, 730, 729, + 728, 726, 725, 724, 723, 722, 718, 717, 716, 715, + 714, 713, 712, 711, 710, 708, 706, 705, 703, 702, + 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, + 691, 690, 689, 688, 687, 685, 684, 683, 682, 681, + 680, 677, 676, 675, 674, 673, 672, 671, 669, 668, + + 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 657, 656, 655, 654, 653, 651, 650, 649, 648, 647, + 646, 645, 644, 643, 642, 641, 640, 639, 638, 636, + 635, 634, 633, 632, 629, 626, 625, 617, 616, 615, + 614, 613, 612, 609, 606, 604, 602, 601, 600, 599, + 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, + 587, 586, 585, 584, 583, 582, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 567, 566, + 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, + 554, 553, 551, 550, 548, 547, 546, 545, 544, 543, + + 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, + 531, 530, 529, 528, 527, 526, 525, 523, 522, 521, + 519, 518, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 506, 505, 504, 502, 501, 500, 498, 496, 495, + 494, 493, 492, 491, 489, 488, 486, 485, 484, 483, + 482, 481, 479, 478, 473, 471, 470, 469, 467, 464, + 463, 462, 461, 459, 458, 457, 456, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, + 442, 441, 440, 438, 437, 436, 435, 434, 433, 432, + 430, 429, 428, 426, 425, 424, 422, 420, 419, 418, + + 417, 416, 415, 414, 413, 412, 411, 410, 409, 406, + 405, 403, 402, 400, 399, 398, 397, 396, 395, 394, + 393, 392, 391, 390, 389, 388, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, + 371, 369, 368, 367, 366, 364, 363, 362, 361, 360, + 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, + 349, 347, 346, 344, 342, 337, 335, 332, 325, 324, + 322, 321, 320, 319, 317, 316, 315, 314, 312, 311, + 310, 308, 307, 306, 305, 304, 303, 302, 301, 300, + 299, 298, 297, 296, 295, 293, 291, 290, 289, 288, + + 287, 286, 285, 283, 282, 280, 279, 278, 277, 276, + 274, 273, 272, 271, 269, 268, 267, 266, 265, 264, + 263, 261, 260, 258, 257, 256, 255, 254, 253, 252, + 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, + 241, 240, 239, 238, 237, 236, 235, 234, 233, 230, + 229, 228, 227, 226, 225, 224, 223, 222, 221, 219, + 218, 214, 212, 210, 207, 202, 198, 190, 189, 188, + 187, 185, 183, 182, 179, 178, 177, 175, 174, 173, + 172, 170, 168, 167, 166, 164, 163, 161, 160, 157, + 156, 155, 154, 152, 151, 150, 148, 147, 146, 144, + + 139, 137, 136, 134, 132, 131, 130, 128, 127, 126, + 124, 123, 122, 120, 117, 112, 107, 106, 99, 98, + 73, 67, 60, 53, 50, 49, 43, 41, 39, 38, + 24, 14, 11, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, + + 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384 } ; static yy_state_type yy_last_accepting_state; @@ -2183,7 +2201,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[251] = +static const flex_int16_t yy_rule_linenum[252] = { 0, 149, 151, 153, 158, 159, 164, 165, 166, 178, 180, 185, 191, 200, 209, 218, 227, 236, 245, 254, 263, @@ -2200,18 +2218,19 @@ static const flex_int16_t yy_rule_linenum[251] = 1210, 1220, 1231, 1240, 1249, 1264, 1281, 1290, 1299, 1308, 1317, 1326, 1335, 1344, 1353, 1362, 1371, 1380, 1390, 1417, 1444, 1453, 1463, 1473, 1482, 1492, 1503, 1514, 1525, 1535, - 1544, 1553, 1562, 1573, 1584, 1595, 1606, 1617, 1626, 1635, - 1644, 1653, 1662, 1671, 1680, 1689, 1698, 1707, 1722, 1734, - 1746, 1759, 1768, 1777, 1786, 1795, 1805, 1815, 1824, 1833, - 1844, 1854, 1863, 1873, 1883, 1892, 1901, 1910, 1919, 1929, - 1938, 1947, 1956, 1965, 1974, 1983, 1992, 2001, 2010, 2019, - 2028, 2037, 2046, 2055, 2064, 2073, 2082, 2091, 2100, 2109, - - 2118, 2127, 2136, 2145, 2154, 2163, 2172, 2181, 2190, 2199, - 2208, 2217, 2226, 2235, 2244, 2253, 2262, 2271, 2280, 2289, - 2298, 2307, 2316, 2325, 2334, 2343, 2352, 2361, 2370, 2379, - 2388, 2397, 2498, 2514, 2563, 2571, 2586, 2587, 2588, 2589, - 2590, 2591, 2593, 2611, 2624, 2629, 2633, 2635, 2637, 2639 + 1544, 1553, 1562, 1573, 1584, 1595, 1606, 1617, 1628, 1637, + 1646, 1655, 1664, 1673, 1682, 1691, 1700, 1709, 1718, 1733, + 1745, 1757, 1770, 1779, 1788, 1797, 1806, 1816, 1826, 1835, + 1844, 1855, 1865, 1874, 1884, 1894, 1903, 1912, 1921, 1930, + 1940, 1949, 1958, 1967, 1976, 1985, 1994, 2003, 2012, 2021, + 2030, 2039, 2048, 2057, 2066, 2075, 2084, 2093, 2102, 2111, + + 2120, 2129, 2138, 2147, 2156, 2165, 2174, 2183, 2192, 2201, + 2210, 2219, 2228, 2237, 2246, 2255, 2264, 2273, 2282, 2291, + 2300, 2309, 2318, 2327, 2336, 2345, 2354, 2363, 2372, 2381, + 2390, 2399, 2408, 2509, 2525, 2574, 2582, 2597, 2598, 2599, + 2600, 2601, 2602, 2604, 2622, 2635, 2640, 2644, 2646, 2648, + 2650 } ; /* The intent behind this definition is that it'll catch @@ -2266,7 +2285,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 2269 "dhcp6_lexer.cc" +#line 2288 "dhcp6_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And using yywrap requires linking with -lfl, which provides the default yywrap @@ -2292,8 +2311,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2295 "dhcp6_lexer.cc" -#line 2296 "dhcp6_lexer.cc" +#line 2314 "dhcp6_lexer.cc" +#line 2315 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2349,7 +2368,7 @@ FILE *yyget_out ( void ); void yyset_out ( FILE * _out_str ); - int yyget_leng ( void ); + yy_size_t yyget_leng ( void ); char *yyget_text ( void ); @@ -2436,7 +2455,7 @@ static int input ( void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -2623,7 +2642,7 @@ YY_DECL } -#line 2626 "dhcp6_lexer.cc" +#line 2645 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2652,13 +2671,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2385 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2355 ); + while ( yy_current_state != 2384 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2677,13 +2696,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 251 ) + else if ( yy_act < 252 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 251 ) + else if ( yy_act == 252 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 252 ) + else if ( yy_act == 253 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -4624,6 +4643,20 @@ YY_RULE_SETUP case 148: YY_RULE_SETUP #line 1617 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_ADAPTIVE_LEASE_TIME_THRESHOLD(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("adaptive-lease-time-threshold", driver.loc_); + } +} + YY_BREAK +case 149: +YY_RULE_SETUP +#line 1628 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4633,9 +4666,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1626 "dhcp6_lexer.ll" +#line 1637 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4645,9 +4678,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1635 "dhcp6_lexer.ll" +#line 1646 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4657,9 +4690,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1644 "dhcp6_lexer.ll" +#line 1655 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4669,9 +4702,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 1653 "dhcp6_lexer.ll" +#line 1664 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4681,9 +4714,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 1662 "dhcp6_lexer.ll" +#line 1673 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4693,9 +4726,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1671 "dhcp6_lexer.ll" +#line 1682 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4705,9 +4738,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1680 "dhcp6_lexer.ll" +#line 1691 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4717,9 +4750,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 157: YY_RULE_SETUP -#line 1689 "dhcp6_lexer.ll" +#line 1700 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4729,9 +4762,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 158: YY_RULE_SETUP -#line 1698 "dhcp6_lexer.ll" +#line 1709 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4741,9 +4774,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 159: YY_RULE_SETUP -#line 1707 "dhcp6_lexer.ll" +#line 1718 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4759,9 +4792,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 160: YY_RULE_SETUP -#line 1722 "dhcp6_lexer.ll" +#line 1733 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4774,9 +4807,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1734 "dhcp6_lexer.ll" +#line 1745 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4789,9 +4822,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1746 "dhcp6_lexer.ll" +#line 1757 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4805,9 +4838,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1759 "dhcp6_lexer.ll" +#line 1770 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4817,9 +4850,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1768 "dhcp6_lexer.ll" +#line 1779 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4829,9 +4862,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 165: YY_RULE_SETUP -#line 1777 "dhcp6_lexer.ll" +#line 1788 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4841,9 +4874,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 166: YY_RULE_SETUP -#line 1786 "dhcp6_lexer.ll" +#line 1797 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4853,9 +4886,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1795 "dhcp6_lexer.ll" +#line 1806 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4866,9 +4899,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1805 "dhcp6_lexer.ll" +#line 1816 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4879,9 +4912,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1815 "dhcp6_lexer.ll" +#line 1826 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4891,9 +4924,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 170: YY_RULE_SETUP -#line 1824 "dhcp6_lexer.ll" +#line 1835 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4903,9 +4936,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 171: YY_RULE_SETUP -#line 1833 "dhcp6_lexer.ll" +#line 1844 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -4917,9 +4950,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 172: YY_RULE_SETUP -#line 1844 "dhcp6_lexer.ll" +#line 1855 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4930,9 +4963,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 173: YY_RULE_SETUP -#line 1854 "dhcp6_lexer.ll" +#line 1865 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4942,9 +4975,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 174: YY_RULE_SETUP -#line 1863 "dhcp6_lexer.ll" +#line 1874 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4955,9 +4988,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 175: YY_RULE_SETUP -#line 1873 "dhcp6_lexer.ll" +#line 1884 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4968,9 +5001,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 176: YY_RULE_SETUP -#line 1883 "dhcp6_lexer.ll" +#line 1894 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -4980,9 +5013,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 177: YY_RULE_SETUP -#line 1892 "dhcp6_lexer.ll" +#line 1903 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4992,9 +5025,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 178: YY_RULE_SETUP -#line 1901 "dhcp6_lexer.ll" +#line 1912 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -5004,9 +5037,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 179: YY_RULE_SETUP -#line 1910 "dhcp6_lexer.ll" +#line 1921 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -5016,9 +5049,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 180: YY_RULE_SETUP -#line 1919 "dhcp6_lexer.ll" +#line 1930 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -5029,9 +5062,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 181: YY_RULE_SETUP -#line 1929 "dhcp6_lexer.ll" +#line 1940 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5041,9 +5074,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 182: YY_RULE_SETUP -#line 1938 "dhcp6_lexer.ll" +#line 1949 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -5053,9 +5086,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 183: YY_RULE_SETUP -#line 1947 "dhcp6_lexer.ll" +#line 1958 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -5065,9 +5098,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 184: YY_RULE_SETUP -#line 1956 "dhcp6_lexer.ll" +#line 1967 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5077,9 +5110,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 185: YY_RULE_SETUP -#line 1965 "dhcp6_lexer.ll" +#line 1976 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -5089,9 +5122,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 186: YY_RULE_SETUP -#line 1974 "dhcp6_lexer.ll" +#line 1985 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -5101,9 +5134,9 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 187: YY_RULE_SETUP -#line 1983 "dhcp6_lexer.ll" +#line 1994 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -5113,9 +5146,9 @@ YY_RULE_SETUP } } YY_BREAK -case 187: +case 188: YY_RULE_SETUP -#line 1992 "dhcp6_lexer.ll" +#line 2003 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5125,9 +5158,9 @@ YY_RULE_SETUP } } YY_BREAK -case 188: +case 189: YY_RULE_SETUP -#line 2001 "dhcp6_lexer.ll" +#line 2012 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5137,9 +5170,9 @@ YY_RULE_SETUP } } YY_BREAK -case 189: +case 190: YY_RULE_SETUP -#line 2010 "dhcp6_lexer.ll" +#line 2021 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5149,9 +5182,9 @@ YY_RULE_SETUP } } YY_BREAK -case 190: +case 191: YY_RULE_SETUP -#line 2019 "dhcp6_lexer.ll" +#line 2030 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5161,9 +5194,9 @@ YY_RULE_SETUP } } YY_BREAK -case 191: +case 192: YY_RULE_SETUP -#line 2028 "dhcp6_lexer.ll" +#line 2039 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5173,9 +5206,9 @@ YY_RULE_SETUP } } YY_BREAK -case 192: +case 193: YY_RULE_SETUP -#line 2037 "dhcp6_lexer.ll" +#line 2048 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5185,9 +5218,9 @@ YY_RULE_SETUP } } YY_BREAK -case 193: +case 194: YY_RULE_SETUP -#line 2046 "dhcp6_lexer.ll" +#line 2057 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5197,9 +5230,9 @@ YY_RULE_SETUP } } YY_BREAK -case 194: +case 195: YY_RULE_SETUP -#line 2055 "dhcp6_lexer.ll" +#line 2066 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5209,9 +5242,9 @@ YY_RULE_SETUP } } YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 2064 "dhcp6_lexer.ll" +#line 2075 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5221,9 +5254,9 @@ YY_RULE_SETUP } } YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 2073 "dhcp6_lexer.ll" +#line 2084 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5233,9 +5266,9 @@ YY_RULE_SETUP } } YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 2082 "dhcp6_lexer.ll" +#line 2093 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5245,9 +5278,9 @@ YY_RULE_SETUP } } YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 2091 "dhcp6_lexer.ll" +#line 2102 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5257,9 +5290,9 @@ YY_RULE_SETUP } } YY_BREAK -case 199: +case 200: YY_RULE_SETUP -#line 2100 "dhcp6_lexer.ll" +#line 2111 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5269,9 +5302,9 @@ YY_RULE_SETUP } } YY_BREAK -case 200: +case 201: YY_RULE_SETUP -#line 2109 "dhcp6_lexer.ll" +#line 2120 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5281,9 +5314,9 @@ YY_RULE_SETUP } } YY_BREAK -case 201: +case 202: YY_RULE_SETUP -#line 2118 "dhcp6_lexer.ll" +#line 2129 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5293,9 +5326,9 @@ YY_RULE_SETUP } } YY_BREAK -case 202: +case 203: YY_RULE_SETUP -#line 2127 "dhcp6_lexer.ll" +#line 2138 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5305,9 +5338,9 @@ YY_RULE_SETUP } } YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 2136 "dhcp6_lexer.ll" +#line 2147 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5317,9 +5350,9 @@ YY_RULE_SETUP } } YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 2145 "dhcp6_lexer.ll" +#line 2156 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5329,9 +5362,9 @@ YY_RULE_SETUP } } YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 2154 "dhcp6_lexer.ll" +#line 2165 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5341,9 +5374,9 @@ YY_RULE_SETUP } } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2163 "dhcp6_lexer.ll" +#line 2174 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET_TYPE: @@ -5353,9 +5386,9 @@ YY_RULE_SETUP } } YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 2172 "dhcp6_lexer.ll" +#line 2183 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET_TYPE: @@ -5365,9 +5398,9 @@ YY_RULE_SETUP } } YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 2181 "dhcp6_lexer.ll" +#line 2192 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET_TYPE: @@ -5377,9 +5410,9 @@ YY_RULE_SETUP } } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2190 "dhcp6_lexer.ll" +#line 2201 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5389,9 +5422,9 @@ YY_RULE_SETUP } } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2199 "dhcp6_lexer.ll" +#line 2210 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5401,9 +5434,9 @@ YY_RULE_SETUP } } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2208 "dhcp6_lexer.ll" +#line 2219 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5413,9 +5446,9 @@ YY_RULE_SETUP } } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2217 "dhcp6_lexer.ll" +#line 2228 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5425,9 +5458,9 @@ YY_RULE_SETUP } } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2226 "dhcp6_lexer.ll" +#line 2237 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::AUTH_TYPE: @@ -5437,9 +5470,9 @@ YY_RULE_SETUP } } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2235 "dhcp6_lexer.ll" +#line 2246 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::AUTHENTICATION: @@ -5449,9 +5482,9 @@ YY_RULE_SETUP } } YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2244 "dhcp6_lexer.ll" +#line 2255 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::AUTHENTICATION: @@ -5461,9 +5494,9 @@ YY_RULE_SETUP } } YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2253 "dhcp6_lexer.ll" +#line 2264 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::AUTHENTICATION: @@ -5473,9 +5506,9 @@ YY_RULE_SETUP } } YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2262 "dhcp6_lexer.ll" +#line 2273 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENTS: @@ -5485,9 +5518,9 @@ YY_RULE_SETUP } } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2271 "dhcp6_lexer.ll" +#line 2282 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENTS: @@ -5497,9 +5530,9 @@ YY_RULE_SETUP } } YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2280 "dhcp6_lexer.ll" +#line 2291 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5509,9 +5542,9 @@ YY_RULE_SETUP } } YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2289 "dhcp6_lexer.ll" +#line 2300 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5521,9 +5554,9 @@ YY_RULE_SETUP } } YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2298 "dhcp6_lexer.ll" +#line 2309 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HTTP_HEADERS: @@ -5533,9 +5566,9 @@ YY_RULE_SETUP } } YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 2307 "dhcp6_lexer.ll" +#line 2318 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5545,9 +5578,9 @@ YY_RULE_SETUP } } YY_BREAK -case 223: +case 224: YY_RULE_SETUP -#line 2316 "dhcp6_lexer.ll" +#line 2327 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5557,9 +5590,9 @@ YY_RULE_SETUP } } YY_BREAK -case 224: +case 225: YY_RULE_SETUP -#line 2325 "dhcp6_lexer.ll" +#line 2336 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5569,9 +5602,9 @@ YY_RULE_SETUP } } YY_BREAK -case 225: +case 226: YY_RULE_SETUP -#line 2334 "dhcp6_lexer.ll" +#line 2345 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5581,9 +5614,9 @@ YY_RULE_SETUP } } YY_BREAK -case 226: +case 227: YY_RULE_SETUP -#line 2343 "dhcp6_lexer.ll" +#line 2354 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5593,9 +5626,9 @@ YY_RULE_SETUP } } YY_BREAK -case 227: +case 228: YY_RULE_SETUP -#line 2352 "dhcp6_lexer.ll" +#line 2363 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5605,9 +5638,9 @@ YY_RULE_SETUP } } YY_BREAK -case 228: +case 229: YY_RULE_SETUP -#line 2361 "dhcp6_lexer.ll" +#line 2372 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5617,9 +5650,9 @@ YY_RULE_SETUP } } YY_BREAK -case 229: +case 230: YY_RULE_SETUP -#line 2370 "dhcp6_lexer.ll" +#line 2381 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5629,9 +5662,9 @@ YY_RULE_SETUP } } YY_BREAK -case 230: +case 231: YY_RULE_SETUP -#line 2379 "dhcp6_lexer.ll" +#line 2390 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5641,9 +5674,9 @@ YY_RULE_SETUP } } YY_BREAK -case 231: +case 232: YY_RULE_SETUP -#line 2388 "dhcp6_lexer.ll" +#line 2399 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::COMPATIBILITY: @@ -5653,9 +5686,9 @@ YY_RULE_SETUP } } YY_BREAK -case 232: +case 233: YY_RULE_SETUP -#line 2397 "dhcp6_lexer.ll" +#line 2408 "dhcp6_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. @@ -5757,10 +5790,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 233: -/* rule 233 can match eol */ +case 234: +/* rule 234 can match eol */ YY_RULE_SETUP -#line 2498 "dhcp6_lexer.ll" +#line 2509 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5777,10 +5810,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 234: -/* rule 234 can match eol */ +case 235: +/* rule 235 can match eol */ YY_RULE_SETUP -#line 2514 "dhcp6_lexer.ll" +#line 2525 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5830,9 +5863,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 235: +case 236: YY_RULE_SETUP -#line 2563 "dhcp6_lexer.ll" +#line 2574 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5841,9 +5874,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 236: +case 237: YY_RULE_SETUP -#line 2571 "dhcp6_lexer.ll" +#line 2582 "dhcp6_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5859,39 +5892,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 237: +case 238: YY_RULE_SETUP -#line 2586 "dhcp6_lexer.ll" +#line 2597 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 238: +case 239: YY_RULE_SETUP -#line 2587 "dhcp6_lexer.ll" +#line 2598 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 239: +case 240: YY_RULE_SETUP -#line 2588 "dhcp6_lexer.ll" +#line 2599 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 240: +case 241: YY_RULE_SETUP -#line 2589 "dhcp6_lexer.ll" +#line 2600 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 241: +case 242: YY_RULE_SETUP -#line 2590 "dhcp6_lexer.ll" +#line 2601 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 242: +case 243: YY_RULE_SETUP -#line 2591 "dhcp6_lexer.ll" +#line 2602 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 243: +case 244: YY_RULE_SETUP -#line 2593 "dhcp6_lexer.ll" +#line 2604 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5910,9 +5943,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 244: +case 245: YY_RULE_SETUP -#line 2611 "dhcp6_lexer.ll" +#line 2622 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5926,43 +5959,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 245: +case 246: YY_RULE_SETUP -#line 2624 "dhcp6_lexer.ll" +#line 2635 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 246: +case 247: YY_RULE_SETUP -#line 2629 "dhcp6_lexer.ll" +#line 2640 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 247: +case 248: YY_RULE_SETUP -#line 2633 "dhcp6_lexer.ll" +#line 2644 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 248: +case 249: YY_RULE_SETUP -#line 2635 "dhcp6_lexer.ll" +#line 2646 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 249: +case 250: YY_RULE_SETUP -#line 2637 "dhcp6_lexer.ll" +#line 2648 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 250: +case 251: YY_RULE_SETUP -#line 2639 "dhcp6_lexer.ll" +#line 2650 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2641 "dhcp6_lexer.ll" +#line 2652 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -5986,12 +6019,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 251: +case 252: YY_RULE_SETUP -#line 2664 "dhcp6_lexer.ll" +#line 2675 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 5994 "dhcp6_lexer.cc" +#line 6027 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -6193,7 +6226,7 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -6207,7 +6240,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -6265,7 +6298,7 @@ static int yy_get_next_buffer (void) if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -6310,7 +6343,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2385 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6343,11 +6376,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2356 ) + if ( yy_current_state >= 2385 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2355); + yy_is_jam = (yy_current_state == 2384); return yy_is_jam ? 0 : yy_current_state; } @@ -6386,7 +6419,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -6829,12 +6862,12 @@ YY_BUFFER_STATE yy_scan_string (const char * yystr ) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = (yy_size_t) (_yybytes_len + 2); @@ -6881,7 +6914,7 @@ static void yynoreturn yy_fatal_error (const char* msg ) do \ { \ /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ + yy_size_t yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ @@ -6925,7 +6958,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -int yyget_leng (void) +yy_size_t yyget_leng (void) { return yyleng; } @@ -7096,7 +7129,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2664 "dhcp6_lexer.ll" +#line 2675 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index fa09d3e5e0..f663bab780 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -1169,7 +1169,7 @@ ControlCharacterFill [^"\\]|\\["\\/bfnrtu] return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-percent", driver.loc_); } } - + \"ddns-ttl\" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -1613,6 +1613,17 @@ ControlCharacterFill [^"\\]|\\["\\/bfnrtu] } } +\"adaptive-lease-time-threshold\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_ADAPTIVE_LEASE_TIME_THRESHOLD(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("adaptive-lease-time-threshold", driver.loc_); + } +} + \"loggers\" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index cbf450bb48..e9129f32e0 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -411,85 +411,85 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 417 "dhcp6_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 423 "dhcp6_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 429 "dhcp6_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 435 "dhcp6_parser.cc" break; case symbol_kind::S_value: // value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 441 "dhcp6_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 447 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 453 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 459 "dhcp6_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 465 "dhcp6_parser.cc" break; case symbol_kind::S_ssl_mode: // ssl_mode -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 471 "dhcp6_parser.cc" break; case symbol_kind::S_duid_type: // duid_type -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 477 "dhcp6_parser.cc" break; case symbol_kind::S_control_socket_type_value: // control_socket_type_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 483 "dhcp6_parser.cc" break; case symbol_kind::S_auth_type_value: // auth_type_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 489 "dhcp6_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 495 "dhcp6_parser.cc" break; @@ -771,133 +771,133 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 339 "dhcp6_parser.yy" +#line 340 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 777 "dhcp6_parser.cc" break; case 4: // $@2: %empty -#line 340 "dhcp6_parser.yy" +#line 341 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 783 "dhcp6_parser.cc" break; case 6: // $@3: %empty -#line 341 "dhcp6_parser.yy" +#line 342 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 789 "dhcp6_parser.cc" break; case 8: // $@4: %empty -#line 342 "dhcp6_parser.yy" +#line 343 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 795 "dhcp6_parser.cc" break; case 10: // $@5: %empty -#line 343 "dhcp6_parser.yy" +#line 344 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } #line 801 "dhcp6_parser.cc" break; case 12: // $@6: %empty -#line 344 "dhcp6_parser.yy" +#line 345 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 807 "dhcp6_parser.cc" break; case 14: // $@7: %empty -#line 345 "dhcp6_parser.yy" +#line 346 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } #line 813 "dhcp6_parser.cc" break; case 16: // $@8: %empty -#line 346 "dhcp6_parser.yy" +#line 347 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 819 "dhcp6_parser.cc" break; case 18: // $@9: %empty -#line 347 "dhcp6_parser.yy" +#line 348 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 825 "dhcp6_parser.cc" break; case 20: // $@10: %empty -#line 348 "dhcp6_parser.yy" +#line 349 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 831 "dhcp6_parser.cc" break; case 22: // $@11: %empty -#line 349 "dhcp6_parser.yy" +#line 350 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 837 "dhcp6_parser.cc" break; case 24: // $@12: %empty -#line 350 "dhcp6_parser.yy" +#line 351 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 843 "dhcp6_parser.cc" break; case 26: // $@13: %empty -#line 351 "dhcp6_parser.yy" +#line 352 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 849 "dhcp6_parser.cc" break; case 28: // $@14: %empty -#line 352 "dhcp6_parser.yy" +#line 353 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 855 "dhcp6_parser.cc" break; case 30: // value: "integer" -#line 360 "dhcp6_parser.yy" +#line 361 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 861 "dhcp6_parser.cc" break; case 31: // value: "floating point" -#line 361 "dhcp6_parser.yy" +#line 362 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 867 "dhcp6_parser.cc" break; case 32: // value: "boolean" -#line 362 "dhcp6_parser.yy" +#line 363 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 873 "dhcp6_parser.cc" break; case 33: // value: "constant string" -#line 363 "dhcp6_parser.yy" +#line 364 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 879 "dhcp6_parser.cc" break; case 34: // value: "null" -#line 364 "dhcp6_parser.yy" +#line 365 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 885 "dhcp6_parser.cc" break; case 35: // value: map2 -#line 365 "dhcp6_parser.yy" +#line 366 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 891 "dhcp6_parser.cc" break; case 36: // value: list_generic -#line 366 "dhcp6_parser.yy" +#line 367 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 897 "dhcp6_parser.cc" break; case 37: // sub_json: value -#line 369 "dhcp6_parser.yy" +#line 370 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -906,7 +906,7 @@ namespace isc { namespace dhcp { break; case 38: // $@15: %empty -#line 374 "dhcp6_parser.yy" +#line 375 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -917,7 +917,7 @@ namespace isc { namespace dhcp { break; case 39: // map2: "{" $@15 map_content "}" -#line 379 "dhcp6_parser.yy" +#line 380 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -927,13 +927,13 @@ namespace isc { namespace dhcp { break; case 40: // map_value: map2 -#line 385 "dhcp6_parser.yy" +#line 386 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 933 "dhcp6_parser.cc" break; case 43: // not_empty_map: "constant string" ":" value -#line 392 "dhcp6_parser.yy" +#line 393 "dhcp6_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -943,7 +943,7 @@ namespace isc { namespace dhcp { break; case 44: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 397 "dhcp6_parser.yy" +#line 398 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -954,7 +954,7 @@ namespace isc { namespace dhcp { break; case 45: // not_empty_map: not_empty_map "," -#line 403 "dhcp6_parser.yy" +#line 404 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -962,7 +962,7 @@ namespace isc { namespace dhcp { break; case 46: // $@16: %empty -#line 408 "dhcp6_parser.yy" +#line 409 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -971,7 +971,7 @@ namespace isc { namespace dhcp { break; case 47: // list_generic: "[" $@16 list_content "]" -#line 411 "dhcp6_parser.yy" +#line 412 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -979,7 +979,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: value -#line 419 "dhcp6_parser.yy" +#line 420 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -988,7 +988,7 @@ namespace isc { namespace dhcp { break; case 51: // not_empty_list: not_empty_list "," value -#line 423 "dhcp6_parser.yy" +#line 424 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -997,7 +997,7 @@ namespace isc { namespace dhcp { break; case 52: // not_empty_list: not_empty_list "," -#line 427 "dhcp6_parser.yy" +#line 428 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1005,7 +1005,7 @@ namespace isc { namespace dhcp { break; case 53: // $@17: %empty -#line 433 "dhcp6_parser.yy" +#line 434 "dhcp6_parser.yy" { // List parsing about to start } @@ -1013,7 +1013,7 @@ namespace isc { namespace dhcp { break; case 54: // list_strings: "[" $@17 list_strings_content "]" -#line 435 "dhcp6_parser.yy" +#line 436 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1022,7 +1022,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: "constant string" -#line 444 "dhcp6_parser.yy" +#line 445 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1031,7 +1031,7 @@ namespace isc { namespace dhcp { break; case 58: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 448 "dhcp6_parser.yy" +#line 449 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1040,7 +1040,7 @@ namespace isc { namespace dhcp { break; case 59: // not_empty_list_strings: not_empty_list_strings "," -#line 452 "dhcp6_parser.yy" +#line 453 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1048,7 +1048,7 @@ namespace isc { namespace dhcp { break; case 60: // unknown_map_entry: "constant string" ":" -#line 462 "dhcp6_parser.yy" +#line 463 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1059,7 +1059,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 471 "dhcp6_parser.yy" +#line 472 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1070,7 +1070,7 @@ namespace isc { namespace dhcp { break; case 62: // syntax_map: "{" $@18 global_object "}" -#line 476 "dhcp6_parser.yy" +#line 477 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1083,7 +1083,7 @@ namespace isc { namespace dhcp { break; case 63: // $@19: %empty -#line 486 "dhcp6_parser.yy" +#line 487 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1098,7 +1098,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object: "Dhcp6" $@19 ":" "{" global_params "}" -#line 495 "dhcp6_parser.yy" +#line 496 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1108,7 +1108,7 @@ namespace isc { namespace dhcp { break; case 66: // global_object_comma: global_object "," -#line 503 "dhcp6_parser.yy" +#line 504 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1116,7 +1116,7 @@ namespace isc { namespace dhcp { break; case 67: // $@20: %empty -#line 509 "dhcp6_parser.yy" +#line 510 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1126,7 +1126,7 @@ namespace isc { namespace dhcp { break; case 68: // sub_dhcp6: "{" $@20 global_params "}" -#line 513 "dhcp6_parser.yy" +#line 514 "dhcp6_parser.yy" { // No global parameter is required // parsing completed @@ -1135,7 +1135,7 @@ namespace isc { namespace dhcp { break; case 71: // global_params: global_params "," -#line 520 "dhcp6_parser.yy" +#line 521 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1143,7 +1143,7 @@ namespace isc { namespace dhcp { break; case 144: // $@21: %empty -#line 601 "dhcp6_parser.yy" +#line 602 "dhcp6_parser.yy" { ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1152,7 +1152,7 @@ namespace isc { namespace dhcp { break; case 145: // data_directory: "data-directory" $@21 ":" "constant string" -#line 604 "dhcp6_parser.yy" +#line 605 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.warning(yystack_[2].location, "data-directory is deprecated and will be ignored"); @@ -1163,7 +1163,7 @@ namespace isc { namespace dhcp { break; case 146: // preferred_lifetime: "preferred-lifetime" ":" "integer" -#line 611 "dhcp6_parser.yy" +#line 612 "dhcp6_parser.yy" { ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1173,7 +1173,7 @@ namespace isc { namespace dhcp { break; case 147: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" -#line 617 "dhcp6_parser.yy" +#line 618 "dhcp6_parser.yy" { ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1183,7 +1183,7 @@ namespace isc { namespace dhcp { break; case 148: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" -#line 623 "dhcp6_parser.yy" +#line 624 "dhcp6_parser.yy" { ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1193,7 +1193,7 @@ namespace isc { namespace dhcp { break; case 149: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 629 "dhcp6_parser.yy" +#line 630 "dhcp6_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1203,7 +1203,7 @@ namespace isc { namespace dhcp { break; case 150: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 635 "dhcp6_parser.yy" +#line 636 "dhcp6_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1213,7 +1213,7 @@ namespace isc { namespace dhcp { break; case 151: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 641 "dhcp6_parser.yy" +#line 642 "dhcp6_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1223,7 +1223,7 @@ namespace isc { namespace dhcp { break; case 152: // renew_timer: "renew-timer" ":" "integer" -#line 647 "dhcp6_parser.yy" +#line 648 "dhcp6_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1233,7 +1233,7 @@ namespace isc { namespace dhcp { break; case 153: // rebind_timer: "rebind-timer" ":" "integer" -#line 653 "dhcp6_parser.yy" +#line 654 "dhcp6_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1243,7 +1243,7 @@ namespace isc { namespace dhcp { break; case 154: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 659 "dhcp6_parser.yy" +#line 660 "dhcp6_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1253,7 +1253,7 @@ namespace isc { namespace dhcp { break; case 155: // t1_percent: "t1-percent" ":" "floating point" -#line 665 "dhcp6_parser.yy" +#line 666 "dhcp6_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1263,7 +1263,7 @@ namespace isc { namespace dhcp { break; case 156: // t2_percent: "t2-percent" ":" "floating point" -#line 671 "dhcp6_parser.yy" +#line 672 "dhcp6_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1273,7 +1273,7 @@ namespace isc { namespace dhcp { break; case 157: // cache_threshold: "cache-threshold" ":" "floating point" -#line 677 "dhcp6_parser.yy" +#line 678 "dhcp6_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1283,7 +1283,7 @@ namespace isc { namespace dhcp { break; case 158: // cache_max_age: "cache-max-age" ":" "integer" -#line 683 "dhcp6_parser.yy" +#line 684 "dhcp6_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1292,155 +1292,165 @@ namespace isc { namespace dhcp { #line 1293 "dhcp6_parser.cc" break; - case 159: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 689 "dhcp6_parser.yy" + case 159: // adaptive_lease_time_threshold: "adaptive-lease-time-threshold" ":" "floating point" +#line 690 "dhcp6_parser.yy" + { + ctx.unique("adaptive-lease-time-threshold", ctx.loc2pos(yystack_[2].location)); + ElementPtr altt(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("adaptive-lease-time-threshold", altt); +} +#line 1303 "dhcp6_parser.cc" + break; + + case 160: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 696 "dhcp6_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1303 "dhcp6_parser.cc" +#line 1313 "dhcp6_parser.cc" break; - case 160: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 695 "dhcp6_parser.yy" + case 161: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 702 "dhcp6_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); } -#line 1313 "dhcp6_parser.cc" +#line 1323 "dhcp6_parser.cc" break; - case 161: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 701 "dhcp6_parser.yy" + case 162: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 708 "dhcp6_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); } -#line 1323 "dhcp6_parser.cc" +#line 1333 "dhcp6_parser.cc" break; - case 162: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 707 "dhcp6_parser.yy" + case 163: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 714 "dhcp6_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); } -#line 1333 "dhcp6_parser.cc" +#line 1343 "dhcp6_parser.cc" break; - case 163: // $@22: %empty -#line 713 "dhcp6_parser.yy" + case 164: // $@22: %empty +#line 720 "dhcp6_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); } -#line 1342 "dhcp6_parser.cc" +#line 1352 "dhcp6_parser.cc" break; - case 164: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 716 "dhcp6_parser.yy" + case 165: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 723 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1351 "dhcp6_parser.cc" +#line 1361 "dhcp6_parser.cc" break; - case 165: // ddns_replace_client_name_value: "when-present" -#line 722 "dhcp6_parser.yy" + case 166: // ddns_replace_client_name_value: "when-present" +#line 729 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 1359 "dhcp6_parser.cc" +#line 1369 "dhcp6_parser.cc" break; - case 166: // ddns_replace_client_name_value: "never" -#line 725 "dhcp6_parser.yy" + case 167: // ddns_replace_client_name_value: "never" +#line 732 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 1367 "dhcp6_parser.cc" +#line 1377 "dhcp6_parser.cc" break; - case 167: // ddns_replace_client_name_value: "always" -#line 728 "dhcp6_parser.yy" + case 168: // ddns_replace_client_name_value: "always" +#line 735 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 1375 "dhcp6_parser.cc" +#line 1385 "dhcp6_parser.cc" break; - case 168: // ddns_replace_client_name_value: "when-not-present" -#line 731 "dhcp6_parser.yy" + case 169: // ddns_replace_client_name_value: "when-not-present" +#line 738 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 1383 "dhcp6_parser.cc" +#line 1393 "dhcp6_parser.cc" break; - case 169: // ddns_replace_client_name_value: "boolean" -#line 734 "dhcp6_parser.yy" + case 170: // ddns_replace_client_name_value: "boolean" +#line 741 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the ddns-replace-client-name are " "no longer supported"); } -#line 1392 "dhcp6_parser.cc" +#line 1402 "dhcp6_parser.cc" break; - case 170: // $@23: %empty -#line 740 "dhcp6_parser.yy" + case 171: // $@23: %empty +#line 747 "dhcp6_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1401 "dhcp6_parser.cc" +#line 1411 "dhcp6_parser.cc" break; - case 171: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 743 "dhcp6_parser.yy" + case 172: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 750 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); ctx.leave(); } -#line 1411 "dhcp6_parser.cc" +#line 1421 "dhcp6_parser.cc" break; - case 172: // $@24: %empty -#line 749 "dhcp6_parser.yy" + case 173: // $@24: %empty +#line 756 "dhcp6_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1420 "dhcp6_parser.cc" +#line 1430 "dhcp6_parser.cc" break; - case 173: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 752 "dhcp6_parser.yy" + case 174: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 759 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); ctx.leave(); } -#line 1430 "dhcp6_parser.cc" +#line 1440 "dhcp6_parser.cc" break; - case 174: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 758 "dhcp6_parser.yy" + case 175: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 765 "dhcp6_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-update-on-renew", b); } -#line 1440 "dhcp6_parser.cc" +#line 1450 "dhcp6_parser.cc" break; - case 175: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 767 "dhcp6_parser.yy" + case 176: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 774 "dhcp6_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1450,266 +1460,266 @@ namespace isc { namespace dhcp { : "no-check-with-dhcid")); ctx.stack_.back()->set("ddns-conflict-resolution-mode", mode); } -#line 1454 "dhcp6_parser.cc" +#line 1464 "dhcp6_parser.cc" break; - case 176: // $@25: %empty -#line 777 "dhcp6_parser.yy" + case 177: // $@25: %empty +#line 784 "dhcp6_parser.yy" { ctx.unique("ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE); } -#line 1463 "dhcp6_parser.cc" +#line 1473 "dhcp6_parser.cc" break; - case 177: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value -#line 780 "dhcp6_parser.yy" + case 178: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value +#line 787 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-conflict-resolution-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1472 "dhcp6_parser.cc" +#line 1482 "dhcp6_parser.cc" break; - case 178: // ddns_conflict_resolution_mode_value: "check-with-dhcid" -#line 786 "dhcp6_parser.yy" + case 179: // ddns_conflict_resolution_mode_value: "check-with-dhcid" +#line 793 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1480 "dhcp6_parser.cc" +#line 1490 "dhcp6_parser.cc" break; - case 179: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" -#line 789 "dhcp6_parser.yy" + case 180: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" +#line 796 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1488 "dhcp6_parser.cc" +#line 1498 "dhcp6_parser.cc" break; - case 180: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" -#line 792 "dhcp6_parser.yy" + case 181: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" +#line 799 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-exists-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1496 "dhcp6_parser.cc" +#line 1506 "dhcp6_parser.cc" break; - case 181: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" -#line 795 "dhcp6_parser.yy" + case 182: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" +#line 802 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-without-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1504 "dhcp6_parser.cc" +#line 1514 "dhcp6_parser.cc" break; - case 182: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" -#line 800 "dhcp6_parser.yy" + case 183: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" +#line 807 "dhcp6_parser.yy" { ctx.unique("ddns-ttl-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-percent", ttl); } -#line 1514 "dhcp6_parser.cc" +#line 1524 "dhcp6_parser.cc" break; - case 183: // ddns_ttl: "ddns-ttl" ":" "integer" -#line 806 "dhcp6_parser.yy" + case 184: // ddns_ttl: "ddns-ttl" ":" "integer" +#line 813 "dhcp6_parser.yy" { ctx.unique("ddns-ttl", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl", ttl); } -#line 1524 "dhcp6_parser.cc" +#line 1534 "dhcp6_parser.cc" break; - case 184: // ddns_ttl_min: "ddns-ttl-min" ":" "integer" -#line 812 "dhcp6_parser.yy" + case 185: // ddns_ttl_min: "ddns-ttl-min" ":" "integer" +#line 819 "dhcp6_parser.yy" { ctx.unique("ddns-ttl-min", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-min", ttl); } -#line 1534 "dhcp6_parser.cc" +#line 1544 "dhcp6_parser.cc" break; - case 185: // ddns_ttl_max: "ddns-ttl-mix" ":" "integer" -#line 818 "dhcp6_parser.yy" + case 186: // ddns_ttl_max: "ddns-ttl-mix" ":" "integer" +#line 825 "dhcp6_parser.yy" { ctx.unique("ddns-ttl-max", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-max", ttl); } -#line 1544 "dhcp6_parser.cc" +#line 1554 "dhcp6_parser.cc" break; - case 186: // $@26: %empty -#line 824 "dhcp6_parser.yy" + case 187: // $@26: %empty +#line 831 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1553 "dhcp6_parser.cc" +#line 1563 "dhcp6_parser.cc" break; - case 187: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" -#line 827 "dhcp6_parser.yy" + case 188: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" +#line 834 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1563 "dhcp6_parser.cc" +#line 1573 "dhcp6_parser.cc" break; - case 188: // $@27: %empty -#line 833 "dhcp6_parser.yy" + case 189: // $@27: %empty +#line 840 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1572 "dhcp6_parser.cc" +#line 1582 "dhcp6_parser.cc" break; - case 189: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" -#line 836 "dhcp6_parser.yy" + case 190: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" +#line 843 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1582 "dhcp6_parser.cc" +#line 1592 "dhcp6_parser.cc" break; - case 190: // store_extended_info: "store-extended-info" ":" "boolean" -#line 842 "dhcp6_parser.yy" + case 191: // store_extended_info: "store-extended-info" ":" "boolean" +#line 849 "dhcp6_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1592 "dhcp6_parser.cc" +#line 1602 "dhcp6_parser.cc" break; - case 191: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 848 "dhcp6_parser.yy" + case 192: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 855 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1602 "dhcp6_parser.cc" +#line 1612 "dhcp6_parser.cc" break; - case 192: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 854 "dhcp6_parser.yy" + case 193: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 861 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1612 "dhcp6_parser.cc" +#line 1622 "dhcp6_parser.cc" break; - case 193: // $@28: %empty -#line 860 "dhcp6_parser.yy" + case 194: // $@28: %empty +#line 867 "dhcp6_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1621 "dhcp6_parser.cc" +#line 1631 "dhcp6_parser.cc" break; - case 194: // server_tag: "server-tag" $@28 ":" "constant string" -#line 863 "dhcp6_parser.yy" + case 195: // server_tag: "server-tag" $@28 ":" "constant string" +#line 870 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1631 "dhcp6_parser.cc" +#line 1641 "dhcp6_parser.cc" break; - case 195: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 869 "dhcp6_parser.yy" + case 196: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 876 "dhcp6_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("parked-packet-limit", ppl); } -#line 1641 "dhcp6_parser.cc" +#line 1651 "dhcp6_parser.cc" break; - case 196: // $@29: %empty -#line 875 "dhcp6_parser.yy" + case 197: // $@29: %empty +#line 882 "dhcp6_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1650 "dhcp6_parser.cc" +#line 1660 "dhcp6_parser.cc" break; - case 197: // allocator: "allocator" $@29 ":" "constant string" -#line 878 "dhcp6_parser.yy" + case 198: // allocator: "allocator" $@29 ":" "constant string" +#line 885 "dhcp6_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); ctx.leave(); } -#line 1660 "dhcp6_parser.cc" +#line 1670 "dhcp6_parser.cc" break; - case 198: // $@30: %empty -#line 884 "dhcp6_parser.yy" + case 199: // $@30: %empty +#line 891 "dhcp6_parser.yy" { ctx.unique("pd-allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1669 "dhcp6_parser.cc" +#line 1679 "dhcp6_parser.cc" break; - case 199: // pd_allocator: "pd-allocator" $@30 ":" "constant string" -#line 887 "dhcp6_parser.yy" + case 200: // pd_allocator: "pd-allocator" $@30 ":" "constant string" +#line 894 "dhcp6_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pd-allocator", al); ctx.leave(); } -#line 1679 "dhcp6_parser.cc" +#line 1689 "dhcp6_parser.cc" break; - case 200: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 893 "dhcp6_parser.yy" + case 201: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 900 "dhcp6_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("early-global-reservations-lookup", early); } -#line 1689 "dhcp6_parser.cc" +#line 1699 "dhcp6_parser.cc" break; - case 201: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 899 "dhcp6_parser.yy" + case 202: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 906 "dhcp6_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1699 "dhcp6_parser.cc" +#line 1709 "dhcp6_parser.cc" break; - case 202: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 905 "dhcp6_parser.yy" + case 203: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 912 "dhcp6_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1709 "dhcp6_parser.cc" +#line 1719 "dhcp6_parser.cc" break; - case 203: // $@31: %empty -#line 911 "dhcp6_parser.yy" + case 204: // $@31: %empty +#line 918 "dhcp6_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1717,48 +1727,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1721 "dhcp6_parser.cc" +#line 1731 "dhcp6_parser.cc" break; - case 204: // interfaces_config: "interfaces-config" $@31 ":" "{" interfaces_config_params "}" -#line 917 "dhcp6_parser.yy" + case 205: // interfaces_config: "interfaces-config" $@31 ":" "{" interfaces_config_params "}" +#line 924 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1731 "dhcp6_parser.cc" +#line 1741 "dhcp6_parser.cc" break; - case 205: // $@32: %empty -#line 923 "dhcp6_parser.yy" + case 206: // $@32: %empty +#line 930 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1741 "dhcp6_parser.cc" +#line 1751 "dhcp6_parser.cc" break; - case 206: // sub_interfaces6: "{" $@32 interfaces_config_params "}" -#line 927 "dhcp6_parser.yy" + case 207: // sub_interfaces6: "{" $@32 interfaces_config_params "}" +#line 934 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1750 "dhcp6_parser.cc" +#line 1760 "dhcp6_parser.cc" break; - case 209: // interfaces_config_params: interfaces_config_params "," -#line 934 "dhcp6_parser.yy" + case 210: // interfaces_config_params: interfaces_config_params "," +#line 941 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1758 "dhcp6_parser.cc" +#line 1768 "dhcp6_parser.cc" break; - case 218: // $@33: %empty -#line 949 "dhcp6_parser.yy" + case 219: // $@33: %empty +#line 956 "dhcp6_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1766,60 +1776,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1770 "dhcp6_parser.cc" +#line 1780 "dhcp6_parser.cc" break; - case 219: // interfaces_list: "interfaces" $@33 ":" list_strings -#line 955 "dhcp6_parser.yy" + case 220: // interfaces_list: "interfaces" $@33 ":" list_strings +#line 962 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1779 "dhcp6_parser.cc" +#line 1789 "dhcp6_parser.cc" break; - case 220: // re_detect: "re-detect" ":" "boolean" -#line 960 "dhcp6_parser.yy" + case 221: // re_detect: "re-detect" ":" "boolean" +#line 967 "dhcp6_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1789 "dhcp6_parser.cc" +#line 1799 "dhcp6_parser.cc" break; - case 221: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 966 "dhcp6_parser.yy" + case 222: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" +#line 973 "dhcp6_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-require-all", b); } -#line 1799 "dhcp6_parser.cc" +#line 1809 "dhcp6_parser.cc" break; - case 222: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 972 "dhcp6_parser.yy" + case 223: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" +#line 979 "dhcp6_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-retry-wait-time", n); } -#line 1809 "dhcp6_parser.cc" +#line 1819 "dhcp6_parser.cc" break; - case 223: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 978 "dhcp6_parser.yy" + case 224: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" +#line 985 "dhcp6_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-max-retries", n); } -#line 1819 "dhcp6_parser.cc" +#line 1829 "dhcp6_parser.cc" break; - case 224: // $@34: %empty -#line 984 "dhcp6_parser.yy" + case 225: // $@34: %empty +#line 991 "dhcp6_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1827,22 +1837,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1831 "dhcp6_parser.cc" +#line 1841 "dhcp6_parser.cc" break; - case 225: // lease_database: "lease-database" $@34 ":" "{" database_map_params "}" -#line 990 "dhcp6_parser.yy" + case 226: // lease_database: "lease-database" $@34 ":" "{" database_map_params "}" +#line 997 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1842 "dhcp6_parser.cc" +#line 1852 "dhcp6_parser.cc" break; - case 226: // $@35: %empty -#line 997 "dhcp6_parser.yy" + case 227: // $@35: %empty +#line 1004 "dhcp6_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1850,22 +1860,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1854 "dhcp6_parser.cc" +#line 1864 "dhcp6_parser.cc" break; - case 227: // hosts_database: "hosts-database" $@35 ":" "{" database_map_params "}" -#line 1003 "dhcp6_parser.yy" + case 228: // hosts_database: "hosts-database" $@35 ":" "{" database_map_params "}" +#line 1010 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1865 "dhcp6_parser.cc" +#line 1875 "dhcp6_parser.cc" break; - case 228: // $@36: %empty -#line 1010 "dhcp6_parser.yy" + case 229: // $@36: %empty +#line 1017 "dhcp6_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1873,441 +1883,441 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1877 "dhcp6_parser.cc" +#line 1887 "dhcp6_parser.cc" break; - case 229: // hosts_databases: "hosts-databases" $@36 ":" "[" database_list "]" -#line 1016 "dhcp6_parser.yy" + case 230: // hosts_databases: "hosts-databases" $@36 ":" "[" database_list "]" +#line 1023 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1886 "dhcp6_parser.cc" +#line 1896 "dhcp6_parser.cc" break; - case 234: // not_empty_database_list: not_empty_database_list "," -#line 1027 "dhcp6_parser.yy" + case 235: // not_empty_database_list: not_empty_database_list "," +#line 1034 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1894 "dhcp6_parser.cc" +#line 1904 "dhcp6_parser.cc" break; - case 235: // $@37: %empty -#line 1032 "dhcp6_parser.yy" + case 236: // $@37: %empty +#line 1039 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1904 "dhcp6_parser.cc" +#line 1914 "dhcp6_parser.cc" break; - case 236: // database: "{" $@37 database_map_params "}" -#line 1036 "dhcp6_parser.yy" + case 237: // database: "{" $@37 database_map_params "}" +#line 1043 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1914 "dhcp6_parser.cc" +#line 1924 "dhcp6_parser.cc" break; - case 239: // database_map_params: database_map_params "," -#line 1044 "dhcp6_parser.yy" + case 240: // database_map_params: database_map_params "," +#line 1051 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1922 "dhcp6_parser.cc" +#line 1932 "dhcp6_parser.cc" break; - case 264: // $@38: %empty -#line 1075 "dhcp6_parser.yy" + case 265: // $@38: %empty +#line 1082 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1931 "dhcp6_parser.cc" +#line 1941 "dhcp6_parser.cc" break; - case 265: // database_type: "type" $@38 ":" "constant string" -#line 1078 "dhcp6_parser.yy" + case 266: // database_type: "type" $@38 ":" "constant string" +#line 1085 "dhcp6_parser.yy" { ElementPtr db_type(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", db_type); ctx.leave(); } -#line 1941 "dhcp6_parser.cc" +#line 1951 "dhcp6_parser.cc" break; - case 266: // $@39: %empty -#line 1084 "dhcp6_parser.yy" + case 267: // $@39: %empty +#line 1091 "dhcp6_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1950 "dhcp6_parser.cc" +#line 1960 "dhcp6_parser.cc" break; - case 267: // user: "user" $@39 ":" "constant string" -#line 1087 "dhcp6_parser.yy" + case 268: // user: "user" $@39 ":" "constant string" +#line 1094 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1960 "dhcp6_parser.cc" +#line 1970 "dhcp6_parser.cc" break; - case 268: // $@40: %empty -#line 1093 "dhcp6_parser.yy" + case 269: // $@40: %empty +#line 1100 "dhcp6_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1969 "dhcp6_parser.cc" +#line 1979 "dhcp6_parser.cc" break; - case 269: // password: "password" $@40 ":" "constant string" -#line 1096 "dhcp6_parser.yy" + case 270: // password: "password" $@40 ":" "constant string" +#line 1103 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1979 "dhcp6_parser.cc" +#line 1989 "dhcp6_parser.cc" break; - case 270: // $@41: %empty -#line 1102 "dhcp6_parser.yy" + case 271: // $@41: %empty +#line 1109 "dhcp6_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1988 "dhcp6_parser.cc" +#line 1998 "dhcp6_parser.cc" break; - case 271: // host: "host" $@41 ":" "constant string" -#line 1105 "dhcp6_parser.yy" + case 272: // host: "host" $@41 ":" "constant string" +#line 1112 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1998 "dhcp6_parser.cc" +#line 2008 "dhcp6_parser.cc" break; - case 272: // port: "port" ":" "integer" -#line 1111 "dhcp6_parser.yy" + case 273: // port: "port" ":" "integer" +#line 1118 "dhcp6_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 2008 "dhcp6_parser.cc" +#line 2018 "dhcp6_parser.cc" break; - case 273: // $@42: %empty -#line 1117 "dhcp6_parser.yy" + case 274: // $@42: %empty +#line 1124 "dhcp6_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2017 "dhcp6_parser.cc" +#line 2027 "dhcp6_parser.cc" break; - case 274: // name: "name" $@42 ":" "constant string" -#line 1120 "dhcp6_parser.yy" + case 275: // name: "name" $@42 ":" "constant string" +#line 1127 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 2027 "dhcp6_parser.cc" +#line 2037 "dhcp6_parser.cc" break; - case 275: // persist: "persist" ":" "boolean" -#line 1126 "dhcp6_parser.yy" + case 276: // persist: "persist" ":" "boolean" +#line 1133 "dhcp6_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 2037 "dhcp6_parser.cc" +#line 2047 "dhcp6_parser.cc" break; - case 276: // lfc_interval: "lfc-interval" ":" "integer" -#line 1132 "dhcp6_parser.yy" + case 277: // lfc_interval: "lfc-interval" ":" "integer" +#line 1139 "dhcp6_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 2047 "dhcp6_parser.cc" +#line 2057 "dhcp6_parser.cc" break; - case 277: // readonly: "readonly" ":" "boolean" -#line 1138 "dhcp6_parser.yy" + case 278: // readonly: "readonly" ":" "boolean" +#line 1145 "dhcp6_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 2057 "dhcp6_parser.cc" +#line 2067 "dhcp6_parser.cc" break; - case 278: // connect_timeout: "connect-timeout" ":" "integer" -#line 1144 "dhcp6_parser.yy" + case 279: // connect_timeout: "connect-timeout" ":" "integer" +#line 1151 "dhcp6_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 2067 "dhcp6_parser.cc" +#line 2077 "dhcp6_parser.cc" break; - case 279: // read_timeout: "read-timeout" ":" "integer" -#line 1150 "dhcp6_parser.yy" + case 280: // read_timeout: "read-timeout" ":" "integer" +#line 1157 "dhcp6_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("read-timeout", n); } -#line 2077 "dhcp6_parser.cc" +#line 2087 "dhcp6_parser.cc" break; - case 280: // write_timeout: "write-timeout" ":" "integer" -#line 1156 "dhcp6_parser.yy" + case 281: // write_timeout: "write-timeout" ":" "integer" +#line 1163 "dhcp6_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("write-timeout", n); } -#line 2087 "dhcp6_parser.cc" +#line 2097 "dhcp6_parser.cc" break; - case 281: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1162 "dhcp6_parser.yy" + case 282: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" +#line 1169 "dhcp6_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-user-timeout", n); } -#line 2097 "dhcp6_parser.cc" +#line 2107 "dhcp6_parser.cc" break; - case 282: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1168 "dhcp6_parser.yy" + case 283: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1175 "dhcp6_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2107 "dhcp6_parser.cc" +#line 2117 "dhcp6_parser.cc" break; - case 283: // $@43: %empty -#line 1174 "dhcp6_parser.yy" + case 284: // $@43: %empty +#line 1181 "dhcp6_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2116 "dhcp6_parser.cc" +#line 2126 "dhcp6_parser.cc" break; - case 284: // on_fail: "on-fail" $@43 ":" on_fail_mode -#line 1177 "dhcp6_parser.yy" + case 285: // on_fail: "on-fail" $@43 ":" on_fail_mode +#line 1184 "dhcp6_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2125 "dhcp6_parser.cc" +#line 2135 "dhcp6_parser.cc" break; - case 285: // on_fail_mode: "stop-retry-exit" -#line 1182 "dhcp6_parser.yy" + case 286: // on_fail_mode: "stop-retry-exit" +#line 1189 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2131 "dhcp6_parser.cc" +#line 2141 "dhcp6_parser.cc" break; - case 286: // on_fail_mode: "serve-retry-exit" -#line 1183 "dhcp6_parser.yy" + case 287: // on_fail_mode: "serve-retry-exit" +#line 1190 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2137 "dhcp6_parser.cc" +#line 2147 "dhcp6_parser.cc" break; - case 287: // on_fail_mode: "serve-retry-continue" -#line 1184 "dhcp6_parser.yy" + case 288: // on_fail_mode: "serve-retry-continue" +#line 1191 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2143 "dhcp6_parser.cc" +#line 2153 "dhcp6_parser.cc" break; - case 288: // retry_on_startup: "retry-on-startup" ":" "boolean" -#line 1187 "dhcp6_parser.yy" + case 289: // retry_on_startup: "retry-on-startup" ":" "boolean" +#line 1194 "dhcp6_parser.yy" { ctx.unique("retry-on-startup", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("retry-on-startup", n); } -#line 2153 "dhcp6_parser.cc" +#line 2163 "dhcp6_parser.cc" break; - case 289: // max_row_errors: "max-row-errors" ":" "integer" -#line 1193 "dhcp6_parser.yy" + case 290: // max_row_errors: "max-row-errors" ":" "integer" +#line 1200 "dhcp6_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2163 "dhcp6_parser.cc" +#line 2173 "dhcp6_parser.cc" break; - case 290: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1199 "dhcp6_parser.yy" + case 291: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1206 "dhcp6_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2173 "dhcp6_parser.cc" +#line 2183 "dhcp6_parser.cc" break; - case 291: // $@44: %empty -#line 1205 "dhcp6_parser.yy" + case 292: // $@44: %empty +#line 1212 "dhcp6_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2182 "dhcp6_parser.cc" +#line 2192 "dhcp6_parser.cc" break; - case 292: // trust_anchor: "trust-anchor" $@44 ":" "constant string" -#line 1208 "dhcp6_parser.yy" + case 293: // trust_anchor: "trust-anchor" $@44 ":" "constant string" +#line 1215 "dhcp6_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2192 "dhcp6_parser.cc" +#line 2202 "dhcp6_parser.cc" break; - case 293: // $@45: %empty -#line 1214 "dhcp6_parser.yy" + case 294: // $@45: %empty +#line 1221 "dhcp6_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2201 "dhcp6_parser.cc" +#line 2211 "dhcp6_parser.cc" break; - case 294: // cert_file: "cert-file" $@45 ":" "constant string" -#line 1217 "dhcp6_parser.yy" + case 295: // cert_file: "cert-file" $@45 ":" "constant string" +#line 1224 "dhcp6_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2211 "dhcp6_parser.cc" +#line 2221 "dhcp6_parser.cc" break; - case 295: // $@46: %empty -#line 1223 "dhcp6_parser.yy" + case 296: // $@46: %empty +#line 1230 "dhcp6_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2220 "dhcp6_parser.cc" +#line 2230 "dhcp6_parser.cc" break; - case 296: // key_file: "key-file" $@46 ":" "constant string" -#line 1226 "dhcp6_parser.yy" + case 297: // key_file: "key-file" $@46 ":" "constant string" +#line 1233 "dhcp6_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2230 "dhcp6_parser.cc" +#line 2240 "dhcp6_parser.cc" break; - case 297: // $@47: %empty -#line 1232 "dhcp6_parser.yy" + case 298: // $@47: %empty +#line 1239 "dhcp6_parser.yy" { ctx.unique("ssl-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.SSL_MODE); } -#line 2239 "dhcp6_parser.cc" +#line 2249 "dhcp6_parser.cc" break; - case 298: // ssl_mode: "ssl-mode" $@47 ":" ssl_mode -#line 1235 "dhcp6_parser.yy" + case 299: // ssl_mode: "ssl-mode" $@47 ":" ssl_mode +#line 1242 "dhcp6_parser.yy" { ctx.stack_.back()->set("ssl-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2248 "dhcp6_parser.cc" +#line 2258 "dhcp6_parser.cc" break; - case 299: // ssl_mode: "disable" -#line 1240 "dhcp6_parser.yy" + case 300: // ssl_mode: "disable" +#line 1247 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disable", ctx.loc2pos(yystack_[0].location))); } -#line 2256 "dhcp6_parser.cc" +#line 2266 "dhcp6_parser.cc" break; - case 300: // ssl_mode: "prefer" -#line 1243 "dhcp6_parser.yy" + case 301: // ssl_mode: "prefer" +#line 1250 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("prefer", ctx.loc2pos(yystack_[0].location))); } -#line 2264 "dhcp6_parser.cc" +#line 2274 "dhcp6_parser.cc" break; - case 301: // ssl_mode: "require" -#line 1246 "dhcp6_parser.yy" + case 302: // ssl_mode: "require" +#line 1253 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("require", ctx.loc2pos(yystack_[0].location))); } -#line 2272 "dhcp6_parser.cc" +#line 2282 "dhcp6_parser.cc" break; - case 302: // ssl_mode: "verify-ca" -#line 1249 "dhcp6_parser.yy" + case 303: // ssl_mode: "verify-ca" +#line 1256 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("verify-ca", ctx.loc2pos(yystack_[0].location))); } -#line 2280 "dhcp6_parser.cc" +#line 2290 "dhcp6_parser.cc" break; - case 303: // ssl_mode: "verify-full" -#line 1252 "dhcp6_parser.yy" + case 304: // ssl_mode: "verify-full" +#line 1259 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("verify-full", ctx.loc2pos(yystack_[0].location))); } -#line 2288 "dhcp6_parser.cc" +#line 2298 "dhcp6_parser.cc" break; - case 304: // $@48: %empty -#line 1257 "dhcp6_parser.yy" + case 305: // $@48: %empty +#line 1264 "dhcp6_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2297 "dhcp6_parser.cc" +#line 2307 "dhcp6_parser.cc" break; - case 305: // cipher_list: "cipher-list" $@48 ":" "constant string" -#line 1260 "dhcp6_parser.yy" + case 306: // cipher_list: "cipher-list" $@48 ":" "constant string" +#line 1267 "dhcp6_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2307 "dhcp6_parser.cc" +#line 2317 "dhcp6_parser.cc" break; - case 306: // $@49: %empty -#line 1266 "dhcp6_parser.yy" + case 307: // $@49: %empty +#line 1273 "dhcp6_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2315,37 +2325,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 2319 "dhcp6_parser.cc" +#line 2329 "dhcp6_parser.cc" break; - case 307: // sanity_checks: "sanity-checks" $@49 ":" "{" sanity_checks_params "}" -#line 1272 "dhcp6_parser.yy" + case 308: // sanity_checks: "sanity-checks" $@49 ":" "{" sanity_checks_params "}" +#line 1279 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2328 "dhcp6_parser.cc" +#line 2338 "dhcp6_parser.cc" break; - case 310: // sanity_checks_params: sanity_checks_params "," -#line 1279 "dhcp6_parser.yy" + case 311: // sanity_checks_params: sanity_checks_params "," +#line 1286 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2336 "dhcp6_parser.cc" +#line 2346 "dhcp6_parser.cc" break; - case 313: // $@50: %empty -#line 1288 "dhcp6_parser.yy" + case 314: // $@50: %empty +#line 1295 "dhcp6_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2345 "dhcp6_parser.cc" +#line 2355 "dhcp6_parser.cc" break; - case 314: // lease_checks: "lease-checks" $@50 ":" "constant string" -#line 1291 "dhcp6_parser.yy" + case 315: // lease_checks: "lease-checks" $@50 ":" "constant string" +#line 1298 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -2361,20 +2371,20 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 2365 "dhcp6_parser.cc" +#line 2375 "dhcp6_parser.cc" break; - case 315: // $@51: %empty -#line 1307 "dhcp6_parser.yy" + case 316: // $@51: %empty +#line 1314 "dhcp6_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2374 "dhcp6_parser.cc" +#line 2384 "dhcp6_parser.cc" break; - case 316: // extended_info_checks: "extended-info-checks" $@51 ":" "constant string" -#line 1310 "dhcp6_parser.yy" + case 317: // extended_info_checks: "extended-info-checks" $@51 ":" "constant string" +#line 1317 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -2389,11 +2399,11 @@ namespace isc { namespace dhcp { ", supported values are: none, fix, strict, pedantic"); } } -#line 2393 "dhcp6_parser.cc" +#line 2403 "dhcp6_parser.cc" break; - case 317: // $@52: %empty -#line 1325 "dhcp6_parser.yy" + case 318: // $@52: %empty +#line 1332 "dhcp6_parser.yy" { ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2401,46 +2411,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 2405 "dhcp6_parser.cc" +#line 2415 "dhcp6_parser.cc" break; - case 318: // mac_sources: "mac-sources" $@52 ":" "[" mac_sources_list "]" -#line 1331 "dhcp6_parser.yy" + case 319: // mac_sources: "mac-sources" $@52 ":" "[" mac_sources_list "]" +#line 1338 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2414 "dhcp6_parser.cc" +#line 2424 "dhcp6_parser.cc" break; - case 321: // mac_sources_list: mac_sources_list "," -#line 1338 "dhcp6_parser.yy" + case 322: // mac_sources_list: mac_sources_list "," +#line 1345 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2422 "dhcp6_parser.cc" +#line 2432 "dhcp6_parser.cc" break; - case 324: // duid_id: "duid" -#line 1347 "dhcp6_parser.yy" + case 325: // duid_id: "duid" +#line 1354 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2431 "dhcp6_parser.cc" +#line 2441 "dhcp6_parser.cc" break; - case 325: // string_id: "constant string" -#line 1352 "dhcp6_parser.yy" + case 326: // string_id: "constant string" +#line 1359 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2440 "dhcp6_parser.cc" +#line 2450 "dhcp6_parser.cc" break; - case 326: // $@53: %empty -#line 1357 "dhcp6_parser.yy" + case 327: // $@53: %empty +#line 1364 "dhcp6_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2448,46 +2458,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2452 "dhcp6_parser.cc" +#line 2462 "dhcp6_parser.cc" break; - case 327: // host_reservation_identifiers: "host-reservation-identifiers" $@53 ":" "[" host_reservation_identifiers_list "]" -#line 1363 "dhcp6_parser.yy" + case 328: // host_reservation_identifiers: "host-reservation-identifiers" $@53 ":" "[" host_reservation_identifiers_list "]" +#line 1370 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2461 "dhcp6_parser.cc" +#line 2471 "dhcp6_parser.cc" break; - case 330: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1370 "dhcp6_parser.yy" + case 331: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1377 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2469 "dhcp6_parser.cc" +#line 2479 "dhcp6_parser.cc" break; - case 334: // hw_address_id: "hw-address" -#line 1380 "dhcp6_parser.yy" + case 335: // hw_address_id: "hw-address" +#line 1387 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2478 "dhcp6_parser.cc" +#line 2488 "dhcp6_parser.cc" break; - case 335: // flex_id: "flex-id" -#line 1385 "dhcp6_parser.yy" + case 336: // flex_id: "flex-id" +#line 1392 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2487 "dhcp6_parser.cc" +#line 2497 "dhcp6_parser.cc" break; - case 336: // $@54: %empty -#line 1392 "dhcp6_parser.yy" + case 337: // $@54: %empty +#line 1399 "dhcp6_parser.yy" { ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2495,20 +2505,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2499 "dhcp6_parser.cc" +#line 2509 "dhcp6_parser.cc" break; - case 337: // relay_supplied_options: "relay-supplied-options" $@54 ":" "[" list_content "]" -#line 1398 "dhcp6_parser.yy" + case 338: // relay_supplied_options: "relay-supplied-options" $@54 ":" "[" list_content "]" +#line 1405 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2508 "dhcp6_parser.cc" +#line 2518 "dhcp6_parser.cc" break; - case 338: // $@55: %empty -#line 1405 "dhcp6_parser.yy" + case 339: // $@55: %empty +#line 1412 "dhcp6_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2516,60 +2526,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2520 "dhcp6_parser.cc" +#line 2530 "dhcp6_parser.cc" break; - case 339: // dhcp_multi_threading: "multi-threading" $@55 ":" "{" multi_threading_params "}" -#line 1411 "dhcp6_parser.yy" + case 340: // dhcp_multi_threading: "multi-threading" $@55 ":" "{" multi_threading_params "}" +#line 1418 "dhcp6_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2531 "dhcp6_parser.cc" +#line 2541 "dhcp6_parser.cc" break; - case 342: // multi_threading_params: multi_threading_params "," -#line 1420 "dhcp6_parser.yy" + case 343: // multi_threading_params: multi_threading_params "," +#line 1427 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2539 "dhcp6_parser.cc" +#line 2549 "dhcp6_parser.cc" break; - case 349: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1433 "dhcp6_parser.yy" + case 350: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1440 "dhcp6_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2549 "dhcp6_parser.cc" +#line 2559 "dhcp6_parser.cc" break; - case 350: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1439 "dhcp6_parser.yy" + case 351: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1446 "dhcp6_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2559 "dhcp6_parser.cc" +#line 2569 "dhcp6_parser.cc" break; - case 351: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1445 "dhcp6_parser.yy" + case 352: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1452 "dhcp6_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2569 "dhcp6_parser.cc" +#line 2579 "dhcp6_parser.cc" break; - case 352: // $@56: %empty -#line 1451 "dhcp6_parser.yy" + case 353: // $@56: %empty +#line 1458 "dhcp6_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2577,113 +2587,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2581 "dhcp6_parser.cc" +#line 2591 "dhcp6_parser.cc" break; - case 353: // hooks_libraries: "hooks-libraries" $@56 ":" "[" hooks_libraries_list "]" -#line 1457 "dhcp6_parser.yy" + case 354: // hooks_libraries: "hooks-libraries" $@56 ":" "[" hooks_libraries_list "]" +#line 1464 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2590 "dhcp6_parser.cc" +#line 2600 "dhcp6_parser.cc" break; - case 358: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1468 "dhcp6_parser.yy" + case 359: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1475 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2598 "dhcp6_parser.cc" +#line 2608 "dhcp6_parser.cc" break; - case 359: // $@57: %empty -#line 1473 "dhcp6_parser.yy" + case 360: // $@57: %empty +#line 1480 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2608 "dhcp6_parser.cc" +#line 2618 "dhcp6_parser.cc" break; - case 360: // hooks_library: "{" $@57 hooks_params "}" -#line 1477 "dhcp6_parser.yy" + case 361: // hooks_library: "{" $@57 hooks_params "}" +#line 1484 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2618 "dhcp6_parser.cc" +#line 2628 "dhcp6_parser.cc" break; - case 361: // $@58: %empty -#line 1483 "dhcp6_parser.yy" + case 362: // $@58: %empty +#line 1490 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2628 "dhcp6_parser.cc" +#line 2638 "dhcp6_parser.cc" break; - case 362: // sub_hooks_library: "{" $@58 hooks_params "}" -#line 1487 "dhcp6_parser.yy" + case 363: // sub_hooks_library: "{" $@58 hooks_params "}" +#line 1494 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2638 "dhcp6_parser.cc" +#line 2648 "dhcp6_parser.cc" break; - case 365: // hooks_params: hooks_params "," -#line 1495 "dhcp6_parser.yy" + case 366: // hooks_params: hooks_params "," +#line 1502 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2646 "dhcp6_parser.cc" +#line 2656 "dhcp6_parser.cc" break; - case 369: // $@59: %empty -#line 1505 "dhcp6_parser.yy" + case 370: // $@59: %empty +#line 1512 "dhcp6_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2655 "dhcp6_parser.cc" +#line 2665 "dhcp6_parser.cc" break; - case 370: // library: "library" $@59 ":" "constant string" -#line 1508 "dhcp6_parser.yy" + case 371: // library: "library" $@59 ":" "constant string" +#line 1515 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2665 "dhcp6_parser.cc" +#line 2675 "dhcp6_parser.cc" break; - case 371: // $@60: %empty -#line 1514 "dhcp6_parser.yy" + case 372: // $@60: %empty +#line 1521 "dhcp6_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2674 "dhcp6_parser.cc" +#line 2684 "dhcp6_parser.cc" break; - case 372: // parameters: "parameters" $@60 ":" map_value -#line 1517 "dhcp6_parser.yy" + case 373: // parameters: "parameters" $@60 ":" map_value +#line 1524 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2683 "dhcp6_parser.cc" +#line 2693 "dhcp6_parser.cc" break; - case 373: // $@61: %empty -#line 1523 "dhcp6_parser.yy" + case 374: // $@61: %empty +#line 1530 "dhcp6_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2691,89 +2701,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2695 "dhcp6_parser.cc" +#line 2705 "dhcp6_parser.cc" break; - case 374: // expired_leases_processing: "expired-leases-processing" $@61 ":" "{" expired_leases_params "}" -#line 1529 "dhcp6_parser.yy" + case 375: // expired_leases_processing: "expired-leases-processing" $@61 ":" "{" expired_leases_params "}" +#line 1536 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2705 "dhcp6_parser.cc" +#line 2715 "dhcp6_parser.cc" break; - case 377: // expired_leases_params: expired_leases_params "," -#line 1537 "dhcp6_parser.yy" + case 378: // expired_leases_params: expired_leases_params "," +#line 1544 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2713 "dhcp6_parser.cc" +#line 2723 "dhcp6_parser.cc" break; - case 384: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1550 "dhcp6_parser.yy" + case 385: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1557 "dhcp6_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2723 "dhcp6_parser.cc" +#line 2733 "dhcp6_parser.cc" break; - case 385: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1556 "dhcp6_parser.yy" + case 386: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1563 "dhcp6_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2733 "dhcp6_parser.cc" +#line 2743 "dhcp6_parser.cc" break; - case 386: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1562 "dhcp6_parser.yy" + case 387: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1569 "dhcp6_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2743 "dhcp6_parser.cc" +#line 2753 "dhcp6_parser.cc" break; - case 387: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1568 "dhcp6_parser.yy" + case 388: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1575 "dhcp6_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2753 "dhcp6_parser.cc" +#line 2763 "dhcp6_parser.cc" break; - case 388: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1574 "dhcp6_parser.yy" + case 389: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1581 "dhcp6_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2763 "dhcp6_parser.cc" +#line 2773 "dhcp6_parser.cc" break; - case 389: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1580 "dhcp6_parser.yy" + case 390: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1587 "dhcp6_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2773 "dhcp6_parser.cc" +#line 2783 "dhcp6_parser.cc" break; - case 390: // $@62: %empty -#line 1589 "dhcp6_parser.yy" + case 391: // $@62: %empty +#line 1596 "dhcp6_parser.yy" { ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2781,38 +2791,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 2785 "dhcp6_parser.cc" +#line 2795 "dhcp6_parser.cc" break; - case 391: // subnet6_list: "subnet6" $@62 ":" "[" subnet6_list_content "]" -#line 1595 "dhcp6_parser.yy" + case 392: // subnet6_list: "subnet6" $@62 ":" "[" subnet6_list_content "]" +#line 1602 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2794 "dhcp6_parser.cc" +#line 2804 "dhcp6_parser.cc" break; - case 396: // not_empty_subnet6_list: not_empty_subnet6_list "," -#line 1609 "dhcp6_parser.yy" + case 397: // not_empty_subnet6_list: not_empty_subnet6_list "," +#line 1616 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2802 "dhcp6_parser.cc" +#line 2812 "dhcp6_parser.cc" break; - case 397: // $@63: %empty -#line 1618 "dhcp6_parser.yy" + case 398: // $@63: %empty +#line 1625 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2812 "dhcp6_parser.cc" +#line 2822 "dhcp6_parser.cc" break; - case 398: // subnet6: "{" $@63 subnet6_params "}" -#line 1622 "dhcp6_parser.yy" + case 399: // subnet6: "{" $@63 subnet6_params "}" +#line 1629 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2834,115 +2844,115 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2838 "dhcp6_parser.cc" +#line 2848 "dhcp6_parser.cc" break; - case 399: // $@64: %empty -#line 1644 "dhcp6_parser.yy" + case 400: // $@64: %empty +#line 1651 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2848 "dhcp6_parser.cc" +#line 2858 "dhcp6_parser.cc" break; - case 400: // sub_subnet6: "{" $@64 subnet6_params "}" -#line 1648 "dhcp6_parser.yy" + case 401: // sub_subnet6: "{" $@64 subnet6_params "}" +#line 1655 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2858 "dhcp6_parser.cc" +#line 2868 "dhcp6_parser.cc" break; - case 403: // subnet6_params: subnet6_params "," -#line 1657 "dhcp6_parser.yy" + case 404: // subnet6_params: subnet6_params "," +#line 1664 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2866 "dhcp6_parser.cc" +#line 2876 "dhcp6_parser.cc" break; - case 455: // $@65: %empty -#line 1716 "dhcp6_parser.yy" + case 457: // $@65: %empty +#line 1724 "dhcp6_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2875 "dhcp6_parser.cc" +#line 2885 "dhcp6_parser.cc" break; - case 456: // subnet: "subnet" $@65 ":" "constant string" -#line 1719 "dhcp6_parser.yy" + case 458: // subnet: "subnet" $@65 ":" "constant string" +#line 1727 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2885 "dhcp6_parser.cc" +#line 2895 "dhcp6_parser.cc" break; - case 457: // $@66: %empty -#line 1725 "dhcp6_parser.yy" + case 459: // $@66: %empty +#line 1733 "dhcp6_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2894 "dhcp6_parser.cc" +#line 2904 "dhcp6_parser.cc" break; - case 458: // interface: "interface" $@66 ":" "constant string" -#line 1728 "dhcp6_parser.yy" + case 460: // interface: "interface" $@66 ":" "constant string" +#line 1736 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2904 "dhcp6_parser.cc" +#line 2914 "dhcp6_parser.cc" break; - case 459: // $@67: %empty -#line 1734 "dhcp6_parser.yy" + case 461: // $@67: %empty +#line 1742 "dhcp6_parser.yy" { ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2913 "dhcp6_parser.cc" +#line 2923 "dhcp6_parser.cc" break; - case 460: // interface_id: "interface-id" $@67 ":" "constant string" -#line 1737 "dhcp6_parser.yy" + case 462: // interface_id: "interface-id" $@67 ":" "constant string" +#line 1745 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 2923 "dhcp6_parser.cc" +#line 2933 "dhcp6_parser.cc" break; - case 461: // $@68: %empty -#line 1743 "dhcp6_parser.yy" + case 463: // $@68: %empty +#line 1751 "dhcp6_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2932 "dhcp6_parser.cc" +#line 2942 "dhcp6_parser.cc" break; - case 462: // client_class: "client-class" $@68 ":" "constant string" -#line 1746 "dhcp6_parser.yy" + case 464: // client_class: "client-class" $@68 ":" "constant string" +#line 1754 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2942 "dhcp6_parser.cc" +#line 2952 "dhcp6_parser.cc" break; - case 463: // $@69: %empty -#line 1753 "dhcp6_parser.yy" + case 465: // $@69: %empty +#line 1761 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2950,20 +2960,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2954 "dhcp6_parser.cc" +#line 2964 "dhcp6_parser.cc" break; - case 464: // network_client_classes: "client-classes" $@69 ":" list_strings -#line 1759 "dhcp6_parser.yy" + case 466: // network_client_classes: "client-classes" $@69 ":" list_strings +#line 1767 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2963 "dhcp6_parser.cc" +#line 2973 "dhcp6_parser.cc" break; - case 465: // $@70: %empty -#line 1765 "dhcp6_parser.yy" + case 467: // $@70: %empty +#line 1773 "dhcp6_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2971,20 +2981,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2975 "dhcp6_parser.cc" +#line 2985 "dhcp6_parser.cc" break; - case 466: // require_client_classes: "require-client-classes" $@70 ":" list_strings -#line 1771 "dhcp6_parser.yy" + case 468: // require_client_classes: "require-client-classes" $@70 ":" list_strings +#line 1779 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2984 "dhcp6_parser.cc" +#line 2994 "dhcp6_parser.cc" break; - case 467: // $@71: %empty -#line 1776 "dhcp6_parser.yy" + case 469: // $@71: %empty +#line 1784 "dhcp6_parser.yy" { ctx.unique("evaluate-additional-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2992,70 +3002,70 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2996 "dhcp6_parser.cc" +#line 3006 "dhcp6_parser.cc" break; - case 468: // evaluate_additional_classes: "evaluate-additional-classes" $@71 ":" list_strings -#line 1782 "dhcp6_parser.yy" + case 470: // evaluate_additional_classes: "evaluate-additional-classes" $@71 ":" list_strings +#line 1790 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3005 "dhcp6_parser.cc" +#line 3015 "dhcp6_parser.cc" break; - case 469: // reservations_global: "reservations-global" ":" "boolean" -#line 1787 "dhcp6_parser.yy" + case 471: // reservations_global: "reservations-global" ":" "boolean" +#line 1795 "dhcp6_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 3015 "dhcp6_parser.cc" +#line 3025 "dhcp6_parser.cc" break; - case 470: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1793 "dhcp6_parser.yy" + case 472: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1801 "dhcp6_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 3025 "dhcp6_parser.cc" +#line 3035 "dhcp6_parser.cc" break; - case 471: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1799 "dhcp6_parser.yy" + case 473: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1807 "dhcp6_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 3035 "dhcp6_parser.cc" +#line 3045 "dhcp6_parser.cc" break; - case 472: // id: "id" ":" "integer" -#line 1805 "dhcp6_parser.yy" + case 474: // id: "id" ":" "integer" +#line 1813 "dhcp6_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 3045 "dhcp6_parser.cc" +#line 3055 "dhcp6_parser.cc" break; - case 473: // rapid_commit: "rapid-commit" ":" "boolean" -#line 1811 "dhcp6_parser.yy" + case 475: // rapid_commit: "rapid-commit" ":" "boolean" +#line 1819 "dhcp6_parser.yy" { ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location)); ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 3055 "dhcp6_parser.cc" +#line 3065 "dhcp6_parser.cc" break; - case 474: // $@72: %empty -#line 1819 "dhcp6_parser.yy" + case 476: // $@72: %empty +#line 1827 "dhcp6_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3063,54 +3073,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 3067 "dhcp6_parser.cc" +#line 3077 "dhcp6_parser.cc" break; - case 475: // shared_networks: "shared-networks" $@72 ":" "[" shared_networks_content "]" -#line 1825 "dhcp6_parser.yy" + case 477: // shared_networks: "shared-networks" $@72 ":" "[" shared_networks_content "]" +#line 1833 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3076 "dhcp6_parser.cc" +#line 3086 "dhcp6_parser.cc" break; - case 480: // shared_networks_list: shared_networks_list "," -#line 1838 "dhcp6_parser.yy" + case 482: // shared_networks_list: shared_networks_list "," +#line 1846 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3084 "dhcp6_parser.cc" +#line 3094 "dhcp6_parser.cc" break; - case 481: // $@73: %empty -#line 1843 "dhcp6_parser.yy" + case 483: // $@73: %empty +#line 1851 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3094 "dhcp6_parser.cc" +#line 3104 "dhcp6_parser.cc" break; - case 482: // shared_network: "{" $@73 shared_network_params "}" -#line 1847 "dhcp6_parser.yy" + case 484: // shared_network: "{" $@73 shared_network_params "}" +#line 1855 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3102 "dhcp6_parser.cc" +#line 3112 "dhcp6_parser.cc" break; - case 485: // shared_network_params: shared_network_params "," -#line 1853 "dhcp6_parser.yy" + case 487: // shared_network_params: shared_network_params "," +#line 1861 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3110 "dhcp6_parser.cc" +#line 3120 "dhcp6_parser.cc" break; - case 534: // $@74: %empty -#line 1912 "dhcp6_parser.yy" + case 537: // $@74: %empty +#line 1921 "dhcp6_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3118,55 +3128,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 3122 "dhcp6_parser.cc" +#line 3132 "dhcp6_parser.cc" break; - case 535: // option_def_list: "option-def" $@74 ":" "[" option_def_list_content "]" -#line 1918 "dhcp6_parser.yy" + case 538: // option_def_list: "option-def" $@74 ":" "[" option_def_list_content "]" +#line 1927 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3131 "dhcp6_parser.cc" +#line 3141 "dhcp6_parser.cc" break; - case 536: // $@75: %empty -#line 1926 "dhcp6_parser.yy" + case 539: // $@75: %empty +#line 1935 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3140 "dhcp6_parser.cc" +#line 3150 "dhcp6_parser.cc" break; - case 537: // sub_option_def_list: "{" $@75 option_def_list "}" -#line 1929 "dhcp6_parser.yy" + case 540: // sub_option_def_list: "{" $@75 option_def_list "}" +#line 1938 "dhcp6_parser.yy" { // parsing completed } -#line 3148 "dhcp6_parser.cc" +#line 3158 "dhcp6_parser.cc" break; - case 542: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1941 "dhcp6_parser.yy" + case 545: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1950 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3156 "dhcp6_parser.cc" +#line 3166 "dhcp6_parser.cc" break; - case 543: // $@76: %empty -#line 1948 "dhcp6_parser.yy" + case 546: // $@76: %empty +#line 1957 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3166 "dhcp6_parser.cc" +#line 3176 "dhcp6_parser.cc" break; - case 544: // option_def_entry: "{" $@76 option_def_params "}" -#line 1952 "dhcp6_parser.yy" + case 547: // option_def_entry: "{" $@76 option_def_params "}" +#line 1961 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3174,21 +3184,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3178 "dhcp6_parser.cc" +#line 3188 "dhcp6_parser.cc" break; - case 545: // $@77: %empty -#line 1963 "dhcp6_parser.yy" + case 548: // $@77: %empty +#line 1972 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3188 "dhcp6_parser.cc" +#line 3198 "dhcp6_parser.cc" break; - case 546: // sub_option_def: "{" $@77 option_def_params "}" -#line 1967 "dhcp6_parser.yy" + case 549: // sub_option_def: "{" $@77 option_def_params "}" +#line 1976 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3196,115 +3206,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3200 "dhcp6_parser.cc" +#line 3210 "dhcp6_parser.cc" break; - case 551: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1983 "dhcp6_parser.yy" + case 554: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1992 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3208 "dhcp6_parser.cc" +#line 3218 "dhcp6_parser.cc" break; - case 563: // code: "code" ":" "integer" -#line 2002 "dhcp6_parser.yy" + case 566: // code: "code" ":" "integer" +#line 2011 "dhcp6_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3218 "dhcp6_parser.cc" +#line 3228 "dhcp6_parser.cc" break; - case 565: // $@78: %empty -#line 2010 "dhcp6_parser.yy" + case 568: // $@78: %empty +#line 2019 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3227 "dhcp6_parser.cc" +#line 3237 "dhcp6_parser.cc" break; - case 566: // option_def_type: "type" $@78 ":" "constant string" -#line 2013 "dhcp6_parser.yy" + case 569: // option_def_type: "type" $@78 ":" "constant string" +#line 2022 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3237 "dhcp6_parser.cc" +#line 3247 "dhcp6_parser.cc" break; - case 567: // $@79: %empty -#line 2019 "dhcp6_parser.yy" + case 570: // $@79: %empty +#line 2028 "dhcp6_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3246 "dhcp6_parser.cc" +#line 3256 "dhcp6_parser.cc" break; - case 568: // option_def_record_types: "record-types" $@79 ":" "constant string" -#line 2022 "dhcp6_parser.yy" + case 571: // option_def_record_types: "record-types" $@79 ":" "constant string" +#line 2031 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 3256 "dhcp6_parser.cc" +#line 3266 "dhcp6_parser.cc" break; - case 569: // $@80: %empty -#line 2028 "dhcp6_parser.yy" + case 572: // $@80: %empty +#line 2037 "dhcp6_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3265 "dhcp6_parser.cc" +#line 3275 "dhcp6_parser.cc" break; - case 570: // space: "space" $@80 ":" "constant string" -#line 2031 "dhcp6_parser.yy" + case 573: // space: "space" $@80 ":" "constant string" +#line 2040 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3275 "dhcp6_parser.cc" +#line 3285 "dhcp6_parser.cc" break; - case 572: // $@81: %empty -#line 2039 "dhcp6_parser.yy" + case 575: // $@81: %empty +#line 2048 "dhcp6_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3284 "dhcp6_parser.cc" +#line 3294 "dhcp6_parser.cc" break; - case 573: // option_def_encapsulate: "encapsulate" $@81 ":" "constant string" -#line 2042 "dhcp6_parser.yy" + case 576: // option_def_encapsulate: "encapsulate" $@81 ":" "constant string" +#line 2051 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3294 "dhcp6_parser.cc" +#line 3304 "dhcp6_parser.cc" break; - case 574: // option_def_array: "array" ":" "boolean" -#line 2048 "dhcp6_parser.yy" + case 577: // option_def_array: "array" ":" "boolean" +#line 2057 "dhcp6_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3304 "dhcp6_parser.cc" +#line 3314 "dhcp6_parser.cc" break; - case 575: // $@82: %empty -#line 2058 "dhcp6_parser.yy" + case 578: // $@82: %empty +#line 2067 "dhcp6_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3312,123 +3322,123 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3316 "dhcp6_parser.cc" +#line 3326 "dhcp6_parser.cc" break; - case 576: // option_data_list: "option-data" $@82 ":" "[" option_data_list_content "]" -#line 2064 "dhcp6_parser.yy" + case 579: // option_data_list: "option-data" $@82 ":" "[" option_data_list_content "]" +#line 2073 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3325 "dhcp6_parser.cc" +#line 3335 "dhcp6_parser.cc" break; - case 581: // not_empty_option_data_list: not_empty_option_data_list "," -#line 2079 "dhcp6_parser.yy" + case 584: // not_empty_option_data_list: not_empty_option_data_list "," +#line 2088 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3333 "dhcp6_parser.cc" +#line 3343 "dhcp6_parser.cc" break; - case 582: // $@83: %empty -#line 2086 "dhcp6_parser.yy" + case 585: // $@83: %empty +#line 2095 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3343 "dhcp6_parser.cc" +#line 3353 "dhcp6_parser.cc" break; - case 583: // option_data_entry: "{" $@83 option_data_params "}" -#line 2090 "dhcp6_parser.yy" + case 586: // option_data_entry: "{" $@83 option_data_params "}" +#line 2099 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3352 "dhcp6_parser.cc" +#line 3362 "dhcp6_parser.cc" break; - case 584: // $@84: %empty -#line 2098 "dhcp6_parser.yy" + case 587: // $@84: %empty +#line 2107 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3362 "dhcp6_parser.cc" +#line 3372 "dhcp6_parser.cc" break; - case 585: // sub_option_data: "{" $@84 option_data_params "}" -#line 2102 "dhcp6_parser.yy" + case 588: // sub_option_data: "{" $@84 option_data_params "}" +#line 2111 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3371 "dhcp6_parser.cc" +#line 3381 "dhcp6_parser.cc" break; - case 590: // not_empty_option_data_params: not_empty_option_data_params "," -#line 2118 "dhcp6_parser.yy" + case 593: // not_empty_option_data_params: not_empty_option_data_params "," +#line 2127 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3379 "dhcp6_parser.cc" +#line 3389 "dhcp6_parser.cc" break; - case 603: // $@85: %empty -#line 2140 "dhcp6_parser.yy" + case 606: // $@85: %empty +#line 2149 "dhcp6_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3388 "dhcp6_parser.cc" +#line 3398 "dhcp6_parser.cc" break; - case 604: // option_data_data: "data" $@85 ":" "constant string" -#line 2143 "dhcp6_parser.yy" + case 607: // option_data_data: "data" $@85 ":" "constant string" +#line 2152 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3398 "dhcp6_parser.cc" +#line 3408 "dhcp6_parser.cc" break; - case 607: // option_data_csv_format: "csv-format" ":" "boolean" -#line 2153 "dhcp6_parser.yy" + case 610: // option_data_csv_format: "csv-format" ":" "boolean" +#line 2162 "dhcp6_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", csv); } -#line 3408 "dhcp6_parser.cc" +#line 3418 "dhcp6_parser.cc" break; - case 608: // option_data_always_send: "always-send" ":" "boolean" -#line 2159 "dhcp6_parser.yy" + case 611: // option_data_always_send: "always-send" ":" "boolean" +#line 2168 "dhcp6_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3418 "dhcp6_parser.cc" +#line 3428 "dhcp6_parser.cc" break; - case 609: // option_data_never_send: "never-send" ":" "boolean" -#line 2165 "dhcp6_parser.yy" + case 612: // option_data_never_send: "never-send" ":" "boolean" +#line 2174 "dhcp6_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("never-send", cancel); } -#line 3428 "dhcp6_parser.cc" +#line 3438 "dhcp6_parser.cc" break; - case 610: // $@86: %empty -#line 2171 "dhcp6_parser.yy" + case 613: // $@86: %empty +#line 2180 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3436,20 +3446,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3440 "dhcp6_parser.cc" +#line 3450 "dhcp6_parser.cc" break; - case 611: // option_data_client_classes: "client-classes" $@86 ":" list_strings -#line 2177 "dhcp6_parser.yy" + case 614: // option_data_client_classes: "client-classes" $@86 ":" list_strings +#line 2186 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3449 "dhcp6_parser.cc" +#line 3459 "dhcp6_parser.cc" break; - case 612: // $@87: %empty -#line 2185 "dhcp6_parser.yy" + case 615: // $@87: %empty +#line 2194 "dhcp6_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3457,113 +3467,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3461 "dhcp6_parser.cc" +#line 3471 "dhcp6_parser.cc" break; - case 613: // pools_list: "pools" $@87 ":" "[" pools_list_content "]" -#line 2191 "dhcp6_parser.yy" + case 616: // pools_list: "pools" $@87 ":" "[" pools_list_content "]" +#line 2200 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3470 "dhcp6_parser.cc" +#line 3480 "dhcp6_parser.cc" break; - case 618: // not_empty_pools_list: not_empty_pools_list "," -#line 2204 "dhcp6_parser.yy" + case 621: // not_empty_pools_list: not_empty_pools_list "," +#line 2213 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3478 "dhcp6_parser.cc" +#line 3488 "dhcp6_parser.cc" break; - case 619: // $@88: %empty -#line 2209 "dhcp6_parser.yy" + case 622: // $@88: %empty +#line 2218 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3488 "dhcp6_parser.cc" +#line 3498 "dhcp6_parser.cc" break; - case 620: // pool_list_entry: "{" $@88 pool_params "}" -#line 2213 "dhcp6_parser.yy" + case 623: // pool_list_entry: "{" $@88 pool_params "}" +#line 2222 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3498 "dhcp6_parser.cc" +#line 3508 "dhcp6_parser.cc" break; - case 621: // $@89: %empty -#line 2219 "dhcp6_parser.yy" + case 624: // $@89: %empty +#line 2228 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3508 "dhcp6_parser.cc" +#line 3518 "dhcp6_parser.cc" break; - case 622: // sub_pool6: "{" $@89 pool_params "}" -#line 2223 "dhcp6_parser.yy" + case 625: // sub_pool6: "{" $@89 pool_params "}" +#line 2232 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3518 "dhcp6_parser.cc" +#line 3528 "dhcp6_parser.cc" break; - case 625: // pool_params: pool_params "," -#line 2231 "dhcp6_parser.yy" + case 628: // pool_params: pool_params "," +#line 2240 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3526 "dhcp6_parser.cc" +#line 3536 "dhcp6_parser.cc" break; - case 650: // $@90: %empty -#line 2262 "dhcp6_parser.yy" + case 653: // $@90: %empty +#line 2271 "dhcp6_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3535 "dhcp6_parser.cc" +#line 3545 "dhcp6_parser.cc" break; - case 651: // pool_entry: "pool" $@90 ":" "constant string" -#line 2265 "dhcp6_parser.yy" + case 654: // pool_entry: "pool" $@90 ":" "constant string" +#line 2274 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3545 "dhcp6_parser.cc" +#line 3555 "dhcp6_parser.cc" break; - case 652: // pool_id: "pool-id" ":" "integer" -#line 2271 "dhcp6_parser.yy" + case 655: // pool_id: "pool-id" ":" "integer" +#line 2280 "dhcp6_parser.yy" { ctx.unique("pool-id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool-id", id); } -#line 3555 "dhcp6_parser.cc" +#line 3565 "dhcp6_parser.cc" break; - case 653: // $@91: %empty -#line 2277 "dhcp6_parser.yy" + case 656: // $@91: %empty +#line 2286 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3563 "dhcp6_parser.cc" +#line 3573 "dhcp6_parser.cc" break; - case 654: // user_context: "user-context" $@91 ":" map_value -#line 2279 "dhcp6_parser.yy" + case 657: // user_context: "user-context" $@91 ":" map_value +#line 2288 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3586,19 +3596,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3590 "dhcp6_parser.cc" +#line 3600 "dhcp6_parser.cc" break; - case 655: // $@92: %empty -#line 2302 "dhcp6_parser.yy" + case 658: // $@92: %empty +#line 2311 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3598 "dhcp6_parser.cc" +#line 3608 "dhcp6_parser.cc" break; - case 656: // comment: "comment" $@92 ":" "constant string" -#line 2304 "dhcp6_parser.yy" + case 659: // comment: "comment" $@92 ":" "constant string" +#line 2313 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3623,11 +3633,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3627 "dhcp6_parser.cc" +#line 3637 "dhcp6_parser.cc" break; - case 657: // $@93: %empty -#line 2332 "dhcp6_parser.yy" + case 660: // $@93: %empty +#line 2341 "dhcp6_parser.yy" { ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3635,38 +3645,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 3639 "dhcp6_parser.cc" +#line 3649 "dhcp6_parser.cc" break; - case 658: // pd_pools_list: "pd-pools" $@93 ":" "[" pd_pools_list_content "]" -#line 2338 "dhcp6_parser.yy" + case 661: // pd_pools_list: "pd-pools" $@93 ":" "[" pd_pools_list_content "]" +#line 2347 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3648 "dhcp6_parser.cc" +#line 3658 "dhcp6_parser.cc" break; - case 663: // not_empty_pd_pools_list: not_empty_pd_pools_list "," -#line 2351 "dhcp6_parser.yy" + case 666: // not_empty_pd_pools_list: not_empty_pd_pools_list "," +#line 2360 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3656 "dhcp6_parser.cc" +#line 3666 "dhcp6_parser.cc" break; - case 664: // $@94: %empty -#line 2356 "dhcp6_parser.yy" + case 667: // $@94: %empty +#line 2365 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3666 "dhcp6_parser.cc" +#line 3676 "dhcp6_parser.cc" break; - case 665: // pd_pool_entry: "{" $@94 pd_pool_params "}" -#line 2360 "dhcp6_parser.yy" + case 668: // pd_pool_entry: "{" $@94 pd_pool_params "}" +#line 2369 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3674,21 +3684,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3678 "dhcp6_parser.cc" +#line 3688 "dhcp6_parser.cc" break; - case 666: // $@95: %empty -#line 2368 "dhcp6_parser.yy" + case 669: // $@95: %empty +#line 2377 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3688 "dhcp6_parser.cc" +#line 3698 "dhcp6_parser.cc" break; - case 667: // sub_pd_pool: "{" $@95 pd_pool_params "}" -#line 2372 "dhcp6_parser.yy" + case 670: // sub_pd_pool: "{" $@95 pd_pool_params "}" +#line 2381 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3696,87 +3706,87 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3700 "dhcp6_parser.cc" +#line 3710 "dhcp6_parser.cc" break; - case 670: // pd_pool_params: pd_pool_params "," -#line 2382 "dhcp6_parser.yy" + case 673: // pd_pool_params: pd_pool_params "," +#line 2391 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3708 "dhcp6_parser.cc" +#line 3718 "dhcp6_parser.cc" break; - case 685: // $@96: %empty -#line 2403 "dhcp6_parser.yy" + case 688: // $@96: %empty +#line 2412 "dhcp6_parser.yy" { ctx.unique("prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3717 "dhcp6_parser.cc" +#line 3727 "dhcp6_parser.cc" break; - case 686: // pd_prefix: "prefix" $@96 ":" "constant string" -#line 2406 "dhcp6_parser.yy" + case 689: // pd_prefix: "prefix" $@96 ":" "constant string" +#line 2415 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 3727 "dhcp6_parser.cc" +#line 3737 "dhcp6_parser.cc" break; - case 687: // pd_prefix_len: "prefix-len" ":" "integer" -#line 2412 "dhcp6_parser.yy" + case 690: // pd_prefix_len: "prefix-len" ":" "integer" +#line 2421 "dhcp6_parser.yy" { ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 3737 "dhcp6_parser.cc" +#line 3747 "dhcp6_parser.cc" break; - case 688: // $@97: %empty -#line 2418 "dhcp6_parser.yy" + case 691: // $@97: %empty +#line 2427 "dhcp6_parser.yy" { ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3746 "dhcp6_parser.cc" +#line 3756 "dhcp6_parser.cc" break; - case 689: // excluded_prefix: "excluded-prefix" $@97 ":" "constant string" -#line 2421 "dhcp6_parser.yy" + case 692: // excluded_prefix: "excluded-prefix" $@97 ":" "constant string" +#line 2430 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 3756 "dhcp6_parser.cc" +#line 3766 "dhcp6_parser.cc" break; - case 690: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" -#line 2427 "dhcp6_parser.yy" + case 693: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" +#line 2436 "dhcp6_parser.yy" { ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 3766 "dhcp6_parser.cc" +#line 3776 "dhcp6_parser.cc" break; - case 691: // pd_delegated_len: "delegated-len" ":" "integer" -#line 2433 "dhcp6_parser.yy" + case 694: // pd_delegated_len: "delegated-len" ":" "integer" +#line 2442 "dhcp6_parser.yy" { ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location)); ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 3776 "dhcp6_parser.cc" +#line 3786 "dhcp6_parser.cc" break; - case 692: // $@98: %empty -#line 2442 "dhcp6_parser.yy" + case 695: // $@98: %empty +#line 2451 "dhcp6_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3784,74 +3794,74 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3788 "dhcp6_parser.cc" +#line 3798 "dhcp6_parser.cc" break; - case 693: // reservations: "reservations" $@98 ":" "[" reservations_list "]" -#line 2448 "dhcp6_parser.yy" + case 696: // reservations: "reservations" $@98 ":" "[" reservations_list "]" +#line 2457 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3797 "dhcp6_parser.cc" +#line 3807 "dhcp6_parser.cc" break; - case 698: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2459 "dhcp6_parser.yy" + case 701: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2468 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3805 "dhcp6_parser.cc" +#line 3815 "dhcp6_parser.cc" break; - case 699: // $@99: %empty -#line 2464 "dhcp6_parser.yy" + case 702: // $@99: %empty +#line 2473 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3815 "dhcp6_parser.cc" +#line 3825 "dhcp6_parser.cc" break; - case 700: // reservation: "{" $@99 reservation_params "}" -#line 2468 "dhcp6_parser.yy" + case 703: // reservation: "{" $@99 reservation_params "}" +#line 2477 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3824 "dhcp6_parser.cc" +#line 3834 "dhcp6_parser.cc" break; - case 701: // $@100: %empty -#line 2473 "dhcp6_parser.yy" + case 704: // $@100: %empty +#line 2482 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3834 "dhcp6_parser.cc" +#line 3844 "dhcp6_parser.cc" break; - case 702: // sub_reservation: "{" $@100 reservation_params "}" -#line 2477 "dhcp6_parser.yy" + case 705: // sub_reservation: "{" $@100 reservation_params "}" +#line 2486 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3843 "dhcp6_parser.cc" +#line 3853 "dhcp6_parser.cc" break; - case 707: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2488 "dhcp6_parser.yy" + case 710: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2497 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3851 "dhcp6_parser.cc" +#line 3861 "dhcp6_parser.cc" break; - case 720: // $@101: %empty -#line 2508 "dhcp6_parser.yy" + case 723: // $@101: %empty +#line 2517 "dhcp6_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3859,20 +3869,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3863 "dhcp6_parser.cc" +#line 3873 "dhcp6_parser.cc" break; - case 721: // ip_addresses: "ip-addresses" $@101 ":" list_strings -#line 2514 "dhcp6_parser.yy" + case 724: // ip_addresses: "ip-addresses" $@101 ":" list_strings +#line 2523 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3872 "dhcp6_parser.cc" +#line 3882 "dhcp6_parser.cc" break; - case 722: // $@102: %empty -#line 2519 "dhcp6_parser.yy" + case 725: // $@102: %empty +#line 2528 "dhcp6_parser.yy" { ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3880,20 +3890,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3884 "dhcp6_parser.cc" +#line 3894 "dhcp6_parser.cc" break; - case 723: // prefixes: "prefixes" $@102 ":" list_strings -#line 2525 "dhcp6_parser.yy" + case 726: // prefixes: "prefixes" $@102 ":" list_strings +#line 2534 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3893 "dhcp6_parser.cc" +#line 3903 "dhcp6_parser.cc" break; - case 724: // $@103: %empty -#line 2530 "dhcp6_parser.yy" + case 727: // $@103: %empty +#line 2539 "dhcp6_parser.yy" { ctx.unique("excluded-prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3901,96 +3911,96 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3905 "dhcp6_parser.cc" +#line 3915 "dhcp6_parser.cc" break; - case 725: // excluded_prefixes: "excluded-prefixes" $@103 ":" list_strings -#line 2536 "dhcp6_parser.yy" + case 728: // excluded_prefixes: "excluded-prefixes" $@103 ":" list_strings +#line 2545 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3914 "dhcp6_parser.cc" +#line 3924 "dhcp6_parser.cc" break; - case 726: // $@104: %empty -#line 2541 "dhcp6_parser.yy" + case 729: // $@104: %empty +#line 2550 "dhcp6_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3923 "dhcp6_parser.cc" +#line 3933 "dhcp6_parser.cc" break; - case 727: // duid: "duid" $@104 ":" "constant string" -#line 2544 "dhcp6_parser.yy" + case 730: // duid: "duid" $@104 ":" "constant string" +#line 2553 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3933 "dhcp6_parser.cc" +#line 3943 "dhcp6_parser.cc" break; - case 728: // $@105: %empty -#line 2550 "dhcp6_parser.yy" + case 731: // $@105: %empty +#line 2559 "dhcp6_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3942 "dhcp6_parser.cc" +#line 3952 "dhcp6_parser.cc" break; - case 729: // hw_address: "hw-address" $@105 ":" "constant string" -#line 2553 "dhcp6_parser.yy" + case 732: // hw_address: "hw-address" $@105 ":" "constant string" +#line 2562 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3952 "dhcp6_parser.cc" +#line 3962 "dhcp6_parser.cc" break; - case 730: // $@106: %empty -#line 2559 "dhcp6_parser.yy" + case 733: // $@106: %empty +#line 2568 "dhcp6_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3961 "dhcp6_parser.cc" +#line 3971 "dhcp6_parser.cc" break; - case 731: // hostname: "hostname" $@106 ":" "constant string" -#line 2562 "dhcp6_parser.yy" + case 734: // hostname: "hostname" $@106 ":" "constant string" +#line 2571 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3971 "dhcp6_parser.cc" +#line 3981 "dhcp6_parser.cc" break; - case 732: // $@107: %empty -#line 2568 "dhcp6_parser.yy" + case 735: // $@107: %empty +#line 2577 "dhcp6_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3980 "dhcp6_parser.cc" +#line 3990 "dhcp6_parser.cc" break; - case 733: // flex_id_value: "flex-id" $@107 ":" "constant string" -#line 2571 "dhcp6_parser.yy" + case 736: // flex_id_value: "flex-id" $@107 ":" "constant string" +#line 2580 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3990 "dhcp6_parser.cc" +#line 4000 "dhcp6_parser.cc" break; - case 734: // $@108: %empty -#line 2577 "dhcp6_parser.yy" + case 737: // $@108: %empty +#line 2586 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3998,20 +4008,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 4002 "dhcp6_parser.cc" +#line 4012 "dhcp6_parser.cc" break; - case 735: // reservation_client_classes: "client-classes" $@108 ":" list_strings -#line 2583 "dhcp6_parser.yy" + case 738: // reservation_client_classes: "client-classes" $@108 ":" list_strings +#line 2592 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4011 "dhcp6_parser.cc" +#line 4021 "dhcp6_parser.cc" break; - case 736: // $@109: %empty -#line 2591 "dhcp6_parser.yy" + case 739: // $@109: %empty +#line 2600 "dhcp6_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4019,20 +4029,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 4023 "dhcp6_parser.cc" +#line 4033 "dhcp6_parser.cc" break; - case 737: // relay: "relay" $@109 ":" "{" relay_map "}" -#line 2597 "dhcp6_parser.yy" + case 740: // relay: "relay" $@109 ":" "{" relay_map "}" +#line 2606 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4032 "dhcp6_parser.cc" +#line 4042 "dhcp6_parser.cc" break; - case 739: // $@110: %empty -#line 2608 "dhcp6_parser.yy" + case 742: // $@110: %empty +#line 2617 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4040,114 +4050,114 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 4044 "dhcp6_parser.cc" +#line 4054 "dhcp6_parser.cc" break; - case 740: // client_classes: "client-classes" $@110 ":" "[" client_classes_list "]" -#line 2614 "dhcp6_parser.yy" + case 743: // client_classes: "client-classes" $@110 ":" "[" client_classes_list "]" +#line 2623 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4053 "dhcp6_parser.cc" +#line 4063 "dhcp6_parser.cc" break; - case 743: // client_classes_list: client_classes_list "," -#line 2621 "dhcp6_parser.yy" + case 746: // client_classes_list: client_classes_list "," +#line 2630 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4061 "dhcp6_parser.cc" +#line 4071 "dhcp6_parser.cc" break; - case 744: // $@111: %empty -#line 2626 "dhcp6_parser.yy" + case 747: // $@111: %empty +#line 2635 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4071 "dhcp6_parser.cc" +#line 4081 "dhcp6_parser.cc" break; - case 745: // client_class_entry: "{" $@111 client_class_params "}" -#line 2630 "dhcp6_parser.yy" + case 748: // client_class_entry: "{" $@111 client_class_params "}" +#line 2639 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 4081 "dhcp6_parser.cc" +#line 4091 "dhcp6_parser.cc" break; - case 750: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2642 "dhcp6_parser.yy" + case 753: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2651 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4089 "dhcp6_parser.cc" +#line 4099 "dhcp6_parser.cc" break; - case 767: // $@112: %empty -#line 2666 "dhcp6_parser.yy" + case 770: // $@112: %empty +#line 2675 "dhcp6_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4098 "dhcp6_parser.cc" +#line 4108 "dhcp6_parser.cc" break; - case 768: // client_class_test: "test" $@112 ":" "constant string" -#line 2669 "dhcp6_parser.yy" + case 771: // client_class_test: "test" $@112 ":" "constant string" +#line 2678 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 4108 "dhcp6_parser.cc" +#line 4118 "dhcp6_parser.cc" break; - case 769: // $@113: %empty -#line 2675 "dhcp6_parser.yy" + case 772: // $@113: %empty +#line 2684 "dhcp6_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4117 "dhcp6_parser.cc" +#line 4127 "dhcp6_parser.cc" break; - case 770: // client_class_template_test: "template-test" $@113 ":" "constant string" -#line 2678 "dhcp6_parser.yy" + case 773: // client_class_template_test: "template-test" $@113 ":" "constant string" +#line 2687 "dhcp6_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); ctx.leave(); } -#line 4127 "dhcp6_parser.cc" +#line 4137 "dhcp6_parser.cc" break; - case 771: // only_if_required: "only-if-required" ":" "boolean" -#line 2685 "dhcp6_parser.yy" + case 774: // only_if_required: "only-if-required" ":" "boolean" +#line 2694 "dhcp6_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 4137 "dhcp6_parser.cc" +#line 4147 "dhcp6_parser.cc" break; - case 772: // only_in_additional_list: "only-in-additional-list" ":" "boolean" -#line 2691 "dhcp6_parser.yy" + case 775: // only_in_additional_list: "only-in-additional-list" ":" "boolean" +#line 2700 "dhcp6_parser.yy" { ctx.unique("only-in-additional-list", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-in-additional-list", b); } -#line 4147 "dhcp6_parser.cc" +#line 4157 "dhcp6_parser.cc" break; - case 773: // $@114: %empty -#line 2700 "dhcp6_parser.yy" + case 776: // $@114: %empty +#line 2709 "dhcp6_parser.yy" { ctx.unique("server-id", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4155,125 +4165,125 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 4159 "dhcp6_parser.cc" +#line 4169 "dhcp6_parser.cc" break; - case 774: // server_id: "server-id" $@114 ":" "{" server_id_params "}" -#line 2706 "dhcp6_parser.yy" + case 777: // server_id: "server-id" $@114 ":" "{" server_id_params "}" +#line 2715 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4170 "dhcp6_parser.cc" +#line 4180 "dhcp6_parser.cc" break; - case 777: // server_id_params: server_id_params "," -#line 2715 "dhcp6_parser.yy" + case 780: // server_id_params: server_id_params "," +#line 2724 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4178 "dhcp6_parser.cc" +#line 4188 "dhcp6_parser.cc" break; - case 787: // $@115: %empty -#line 2731 "dhcp6_parser.yy" + case 790: // $@115: %empty +#line 2740 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DUID_TYPE); } -#line 4187 "dhcp6_parser.cc" +#line 4197 "dhcp6_parser.cc" break; - case 788: // server_id_type: "type" $@115 ":" duid_type -#line 2734 "dhcp6_parser.yy" + case 791: // server_id_type: "type" $@115 ":" duid_type +#line 2743 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4196 "dhcp6_parser.cc" +#line 4206 "dhcp6_parser.cc" break; - case 789: // duid_type: "LLT" -#line 2739 "dhcp6_parser.yy" + case 792: // duid_type: "LLT" +#line 2748 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 4202 "dhcp6_parser.cc" +#line 4212 "dhcp6_parser.cc" break; - case 790: // duid_type: "EN" -#line 2740 "dhcp6_parser.yy" + case 793: // duid_type: "EN" +#line 2749 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 4208 "dhcp6_parser.cc" +#line 4218 "dhcp6_parser.cc" break; - case 791: // duid_type: "LL" -#line 2741 "dhcp6_parser.yy" + case 794: // duid_type: "LL" +#line 2750 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 4214 "dhcp6_parser.cc" +#line 4224 "dhcp6_parser.cc" break; - case 792: // htype: "htype" ":" "integer" -#line 2744 "dhcp6_parser.yy" + case 795: // htype: "htype" ":" "integer" +#line 2753 "dhcp6_parser.yy" { ctx.unique("htype", ctx.loc2pos(yystack_[2].location)); ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 4224 "dhcp6_parser.cc" +#line 4234 "dhcp6_parser.cc" break; - case 793: // $@116: %empty -#line 2750 "dhcp6_parser.yy" + case 796: // $@116: %empty +#line 2759 "dhcp6_parser.yy" { ctx.unique("identifier", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4233 "dhcp6_parser.cc" +#line 4243 "dhcp6_parser.cc" break; - case 794: // identifier: "identifier" $@116 ":" "constant string" -#line 2753 "dhcp6_parser.yy" + case 797: // identifier: "identifier" $@116 ":" "constant string" +#line 2762 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 4243 "dhcp6_parser.cc" +#line 4253 "dhcp6_parser.cc" break; - case 795: // time: "time" ":" "integer" -#line 2759 "dhcp6_parser.yy" + case 798: // time: "time" ":" "integer" +#line 2768 "dhcp6_parser.yy" { ctx.unique("time", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 4253 "dhcp6_parser.cc" +#line 4263 "dhcp6_parser.cc" break; - case 796: // enterprise_id: "enterprise-id" ":" "integer" -#line 2765 "dhcp6_parser.yy" + case 799: // enterprise_id: "enterprise-id" ":" "integer" +#line 2774 "dhcp6_parser.yy" { ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 4263 "dhcp6_parser.cc" +#line 4273 "dhcp6_parser.cc" break; - case 797: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2773 "dhcp6_parser.yy" + case 800: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2782 "dhcp6_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 4273 "dhcp6_parser.cc" +#line 4283 "dhcp6_parser.cc" break; - case 798: // $@117: %empty -#line 2781 "dhcp6_parser.yy" + case 801: // $@117: %empty +#line 2790 "dhcp6_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ctx.unique("control-sockets", ctx.loc2pos(yystack_[0].location)); @@ -4282,20 +4292,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4286 "dhcp6_parser.cc" +#line 4296 "dhcp6_parser.cc" break; - case 799: // control_socket: "control-socket" $@117 ":" "{" control_socket_params "}" -#line 2788 "dhcp6_parser.yy" + case 802: // control_socket: "control-socket" $@117 ":" "{" control_socket_params "}" +#line 2797 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4295 "dhcp6_parser.cc" +#line 4305 "dhcp6_parser.cc" break; - case 800: // $@118: %empty -#line 2793 "dhcp6_parser.yy" + case 803: // $@118: %empty +#line 2802 "dhcp6_parser.yy" { ctx.unique("control-sockets", ctx.loc2pos(yystack_[0].location)); ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); @@ -4304,150 +4314,150 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4308 "dhcp6_parser.cc" +#line 4318 "dhcp6_parser.cc" break; - case 801: // control_sockets: "control-sockets" $@118 ":" "[" control_socket_list "]" -#line 2800 "dhcp6_parser.yy" + case 804: // control_sockets: "control-sockets" $@118 ":" "[" control_socket_list "]" +#line 2809 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4317 "dhcp6_parser.cc" +#line 4327 "dhcp6_parser.cc" break; - case 806: // not_empty_control_socket_list: not_empty_control_socket_list "," -#line 2811 "dhcp6_parser.yy" + case 809: // not_empty_control_socket_list: not_empty_control_socket_list "," +#line 2820 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4325 "dhcp6_parser.cc" +#line 4335 "dhcp6_parser.cc" break; - case 807: // $@119: %empty -#line 2816 "dhcp6_parser.yy" + case 810: // $@119: %empty +#line 2825 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4335 "dhcp6_parser.cc" +#line 4345 "dhcp6_parser.cc" break; - case 808: // control_socket_entry: "{" $@119 control_socket_params "}" -#line 2820 "dhcp6_parser.yy" + case 811: // control_socket_entry: "{" $@119 control_socket_params "}" +#line 2829 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4343 "dhcp6_parser.cc" +#line 4353 "dhcp6_parser.cc" break; - case 811: // control_socket_params: control_socket_params "," -#line 2826 "dhcp6_parser.yy" + case 814: // control_socket_params: control_socket_params "," +#line 2835 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4351 "dhcp6_parser.cc" +#line 4361 "dhcp6_parser.cc" break; - case 825: // $@120: %empty -#line 2846 "dhcp6_parser.yy" + case 828: // $@120: %empty +#line 2855 "dhcp6_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.CONTROL_SOCKET_TYPE); } -#line 4360 "dhcp6_parser.cc" +#line 4370 "dhcp6_parser.cc" break; - case 826: // control_socket_type: "socket-type" $@120 ":" control_socket_type_value -#line 2849 "dhcp6_parser.yy" + case 829: // control_socket_type: "socket-type" $@120 ":" control_socket_type_value +#line 2858 "dhcp6_parser.yy" { ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4369 "dhcp6_parser.cc" +#line 4379 "dhcp6_parser.cc" break; - case 827: // control_socket_type_value: "unix" -#line 2855 "dhcp6_parser.yy" + case 830: // control_socket_type_value: "unix" +#line 2864 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } -#line 4375 "dhcp6_parser.cc" +#line 4385 "dhcp6_parser.cc" break; - case 828: // control_socket_type_value: "http" -#line 2856 "dhcp6_parser.yy" + case 831: // control_socket_type_value: "http" +#line 2865 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); } -#line 4381 "dhcp6_parser.cc" +#line 4391 "dhcp6_parser.cc" break; - case 829: // control_socket_type_value: "https" -#line 2857 "dhcp6_parser.yy" + case 832: // control_socket_type_value: "https" +#line 2866 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("https", ctx.loc2pos(yystack_[0].location))); } -#line 4387 "dhcp6_parser.cc" +#line 4397 "dhcp6_parser.cc" break; - case 830: // $@121: %empty -#line 2860 "dhcp6_parser.yy" + case 833: // $@121: %empty +#line 2869 "dhcp6_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.unique("socket-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4397 "dhcp6_parser.cc" +#line 4407 "dhcp6_parser.cc" break; - case 831: // control_socket_name: "socket-name" $@121 ":" "constant string" -#line 2864 "dhcp6_parser.yy" + case 834: // control_socket_name: "socket-name" $@121 ":" "constant string" +#line 2873 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 4407 "dhcp6_parser.cc" +#line 4417 "dhcp6_parser.cc" break; - case 832: // $@122: %empty -#line 2870 "dhcp6_parser.yy" + case 835: // $@122: %empty +#line 2879 "dhcp6_parser.yy" { ctx.unique("socket-address", ctx.loc2pos(yystack_[0].location)); ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4417 "dhcp6_parser.cc" +#line 4427 "dhcp6_parser.cc" break; - case 833: // control_socket_address: "socket-address" $@122 ":" "constant string" -#line 2874 "dhcp6_parser.yy" + case 836: // control_socket_address: "socket-address" $@122 ":" "constant string" +#line 2883 "dhcp6_parser.yy" { ElementPtr address(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-address", address); ctx.leave(); } -#line 4427 "dhcp6_parser.cc" +#line 4437 "dhcp6_parser.cc" break; - case 834: // control_socket_port: "socket-port" ":" "integer" -#line 2880 "dhcp6_parser.yy" + case 837: // control_socket_port: "socket-port" ":" "integer" +#line 2889 "dhcp6_parser.yy" { ctx.unique("socket-port", ctx.loc2pos(yystack_[2].location)); ElementPtr port(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-port", port); } -#line 4437 "dhcp6_parser.cc" +#line 4447 "dhcp6_parser.cc" break; - case 835: // cert_required: "cert-required" ":" "boolean" -#line 2886 "dhcp6_parser.yy" + case 838: // cert_required: "cert-required" ":" "boolean" +#line 2895 "dhcp6_parser.yy" { ctx.unique("cert-required", ctx.loc2pos(yystack_[2].location)); ElementPtr req(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-required", req); } -#line 4447 "dhcp6_parser.cc" +#line 4457 "dhcp6_parser.cc" break; - case 836: // $@123: %empty -#line 2892 "dhcp6_parser.yy" + case 839: // $@123: %empty +#line 2901 "dhcp6_parser.yy" { ctx.unique("http-headers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4455,73 +4465,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HTTP_HEADERS); } -#line 4459 "dhcp6_parser.cc" +#line 4469 "dhcp6_parser.cc" break; - case 837: // http_headers: "http-headers" $@123 ":" "[" http_header_list "]" -#line 2898 "dhcp6_parser.yy" + case 840: // http_headers: "http-headers" $@123 ":" "[" http_header_list "]" +#line 2907 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4468 "dhcp6_parser.cc" +#line 4478 "dhcp6_parser.cc" break; - case 842: // not_empty_http_header_list: not_empty_http_header_list "," -#line 2909 "dhcp6_parser.yy" + case 845: // not_empty_http_header_list: not_empty_http_header_list "," +#line 2918 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4476 "dhcp6_parser.cc" +#line 4486 "dhcp6_parser.cc" break; - case 843: // $@124: %empty -#line 2914 "dhcp6_parser.yy" + case 846: // $@124: %empty +#line 2923 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4486 "dhcp6_parser.cc" +#line 4496 "dhcp6_parser.cc" break; - case 844: // http_header: "{" $@124 http_header_params "}" -#line 2918 "dhcp6_parser.yy" + case 847: // http_header: "{" $@124 http_header_params "}" +#line 2927 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4494 "dhcp6_parser.cc" +#line 4504 "dhcp6_parser.cc" break; - case 847: // http_header_params: http_header_params "," -#line 2924 "dhcp6_parser.yy" + case 850: // http_header_params: http_header_params "," +#line 2933 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4502 "dhcp6_parser.cc" +#line 4512 "dhcp6_parser.cc" break; - case 853: // $@125: %empty -#line 2936 "dhcp6_parser.yy" + case 856: // $@125: %empty +#line 2945 "dhcp6_parser.yy" { ctx.unique("value", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4511 "dhcp6_parser.cc" +#line 4521 "dhcp6_parser.cc" break; - case 854: // header_value: "value" $@125 ":" "constant string" -#line 2939 "dhcp6_parser.yy" + case 857: // header_value: "value" $@125 ":" "constant string" +#line 2948 "dhcp6_parser.yy" { ElementPtr value(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("value", value); ctx.leave(); } -#line 4521 "dhcp6_parser.cc" +#line 4531 "dhcp6_parser.cc" break; - case 855: // $@126: %empty -#line 2947 "dhcp6_parser.yy" + case 858: // $@126: %empty +#line 2956 "dhcp6_parser.yy" { ctx.unique("authentication", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4529,92 +4539,92 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.AUTHENTICATION); } -#line 4533 "dhcp6_parser.cc" +#line 4543 "dhcp6_parser.cc" break; - case 856: // authentication: "authentication" $@126 ":" "{" auth_params "}" -#line 2953 "dhcp6_parser.yy" + case 859: // authentication: "authentication" $@126 ":" "{" auth_params "}" +#line 2962 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4544 "dhcp6_parser.cc" +#line 4554 "dhcp6_parser.cc" break; - case 859: // auth_params: auth_params "," -#line 2962 "dhcp6_parser.yy" + case 862: // auth_params: auth_params "," +#line 2971 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4552 "dhcp6_parser.cc" +#line 4562 "dhcp6_parser.cc" break; - case 867: // $@127: %empty -#line 2976 "dhcp6_parser.yy" + case 870: // $@127: %empty +#line 2985 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.AUTH_TYPE); } -#line 4561 "dhcp6_parser.cc" +#line 4571 "dhcp6_parser.cc" break; - case 868: // auth_type: "type" $@127 ":" auth_type_value -#line 2979 "dhcp6_parser.yy" + case 871: // auth_type: "type" $@127 ":" auth_type_value +#line 2988 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4570 "dhcp6_parser.cc" +#line 4580 "dhcp6_parser.cc" break; - case 869: // auth_type_value: "basic" -#line 2984 "dhcp6_parser.yy" + case 872: // auth_type_value: "basic" +#line 2993 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("basic", ctx.loc2pos(yystack_[0].location))); } -#line 4576 "dhcp6_parser.cc" +#line 4586 "dhcp6_parser.cc" break; - case 870: // $@128: %empty -#line 2987 "dhcp6_parser.yy" + case 873: // $@128: %empty +#line 2996 "dhcp6_parser.yy" { ctx.unique("realm", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4585 "dhcp6_parser.cc" +#line 4595 "dhcp6_parser.cc" break; - case 871: // realm: "realm" $@128 ":" "constant string" -#line 2990 "dhcp6_parser.yy" + case 874: // realm: "realm" $@128 ":" "constant string" +#line 2999 "dhcp6_parser.yy" { ElementPtr realm(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("realm", realm); ctx.leave(); } -#line 4595 "dhcp6_parser.cc" +#line 4605 "dhcp6_parser.cc" break; - case 872: // $@129: %empty -#line 2996 "dhcp6_parser.yy" + case 875: // $@129: %empty +#line 3005 "dhcp6_parser.yy" { ctx.unique("directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4604 "dhcp6_parser.cc" +#line 4614 "dhcp6_parser.cc" break; - case 873: // directory: "directory" $@129 ":" "constant string" -#line 2999 "dhcp6_parser.yy" + case 876: // directory: "directory" $@129 ":" "constant string" +#line 3008 "dhcp6_parser.yy" { ElementPtr directory(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("directory", directory); ctx.leave(); } -#line 4614 "dhcp6_parser.cc" +#line 4624 "dhcp6_parser.cc" break; - case 874: // $@130: %empty -#line 3005 "dhcp6_parser.yy" + case 877: // $@130: %empty +#line 3014 "dhcp6_parser.yy" { ctx.unique("clients", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4622,92 +4632,92 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENTS); } -#line 4626 "dhcp6_parser.cc" +#line 4636 "dhcp6_parser.cc" break; - case 875: // clients: "clients" $@130 ":" "[" clients_list "]" -#line 3011 "dhcp6_parser.yy" + case 878: // clients: "clients" $@130 ":" "[" clients_list "]" +#line 3020 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4635 "dhcp6_parser.cc" +#line 4645 "dhcp6_parser.cc" break; - case 880: // not_empty_clients_list: not_empty_clients_list "," -#line 3022 "dhcp6_parser.yy" + case 883: // not_empty_clients_list: not_empty_clients_list "," +#line 3031 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4643 "dhcp6_parser.cc" +#line 4653 "dhcp6_parser.cc" break; - case 881: // $@131: %empty -#line 3027 "dhcp6_parser.yy" + case 884: // $@131: %empty +#line 3036 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4653 "dhcp6_parser.cc" +#line 4663 "dhcp6_parser.cc" break; - case 882: // basic_auth: "{" $@131 clients_params "}" -#line 3031 "dhcp6_parser.yy" + case 885: // basic_auth: "{" $@131 clients_params "}" +#line 3040 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4661 "dhcp6_parser.cc" +#line 4671 "dhcp6_parser.cc" break; - case 885: // clients_params: clients_params "," -#line 3037 "dhcp6_parser.yy" + case 888: // clients_params: clients_params "," +#line 3046 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4669 "dhcp6_parser.cc" +#line 4679 "dhcp6_parser.cc" break; - case 893: // $@132: %empty -#line 3051 "dhcp6_parser.yy" + case 896: // $@132: %empty +#line 3060 "dhcp6_parser.yy" { ctx.unique("user-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4678 "dhcp6_parser.cc" +#line 4688 "dhcp6_parser.cc" break; - case 894: // user_file: "user-file" $@132 ":" "constant string" -#line 3054 "dhcp6_parser.yy" + case 897: // user_file: "user-file" $@132 ":" "constant string" +#line 3063 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user-file", user); ctx.leave(); } -#line 4688 "dhcp6_parser.cc" +#line 4698 "dhcp6_parser.cc" break; - case 895: // $@133: %empty -#line 3060 "dhcp6_parser.yy" + case 898: // $@133: %empty +#line 3069 "dhcp6_parser.yy" { ctx.unique("password-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4697 "dhcp6_parser.cc" +#line 4707 "dhcp6_parser.cc" break; - case 896: // password_file: "password-file" $@133 ":" "constant string" -#line 3063 "dhcp6_parser.yy" + case 899: // password_file: "password-file" $@133 ":" "constant string" +#line 3072 "dhcp6_parser.yy" { ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password-file", password); ctx.leave(); } -#line 4707 "dhcp6_parser.cc" +#line 4717 "dhcp6_parser.cc" break; - case 897: // $@134: %empty -#line 3071 "dhcp6_parser.yy" + case 900: // $@134: %empty +#line 3080 "dhcp6_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4715,87 +4725,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4719 "dhcp6_parser.cc" +#line 4729 "dhcp6_parser.cc" break; - case 898: // dhcp_queue_control: "dhcp-queue-control" $@134 ":" "{" queue_control_params "}" -#line 3077 "dhcp6_parser.yy" + case 901: // dhcp_queue_control: "dhcp-queue-control" $@134 ":" "{" queue_control_params "}" +#line 3086 "dhcp6_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4730 "dhcp6_parser.cc" +#line 4740 "dhcp6_parser.cc" break; - case 901: // queue_control_params: queue_control_params "," -#line 3086 "dhcp6_parser.yy" + case 904: // queue_control_params: queue_control_params "," +#line 3095 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4738 "dhcp6_parser.cc" +#line 4748 "dhcp6_parser.cc" break; - case 908: // enable_queue: "enable-queue" ":" "boolean" -#line 3099 "dhcp6_parser.yy" + case 911: // enable_queue: "enable-queue" ":" "boolean" +#line 3108 "dhcp6_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4748 "dhcp6_parser.cc" +#line 4758 "dhcp6_parser.cc" break; - case 909: // $@135: %empty -#line 3105 "dhcp6_parser.yy" + case 912: // $@135: %empty +#line 3114 "dhcp6_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4757 "dhcp6_parser.cc" +#line 4767 "dhcp6_parser.cc" break; - case 910: // queue_type: "queue-type" $@135 ":" "constant string" -#line 3108 "dhcp6_parser.yy" + case 913: // queue_type: "queue-type" $@135 ":" "constant string" +#line 3117 "dhcp6_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 4767 "dhcp6_parser.cc" +#line 4777 "dhcp6_parser.cc" break; - case 911: // capacity: "capacity" ":" "integer" -#line 3114 "dhcp6_parser.yy" + case 914: // capacity: "capacity" ":" "integer" +#line 3123 "dhcp6_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4777 "dhcp6_parser.cc" +#line 4787 "dhcp6_parser.cc" break; - case 912: // $@136: %empty -#line 3120 "dhcp6_parser.yy" + case 915: // $@136: %empty +#line 3129 "dhcp6_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4786 "dhcp6_parser.cc" +#line 4796 "dhcp6_parser.cc" break; - case 913: // arbitrary_map_entry: "constant string" $@136 ":" value -#line 3123 "dhcp6_parser.yy" + case 916: // arbitrary_map_entry: "constant string" $@136 ":" value +#line 3132 "dhcp6_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4795 "dhcp6_parser.cc" +#line 4805 "dhcp6_parser.cc" break; - case 914: // $@137: %empty -#line 3130 "dhcp6_parser.yy" + case 917: // $@137: %empty +#line 3139 "dhcp6_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4803,177 +4813,177 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4807 "dhcp6_parser.cc" +#line 4817 "dhcp6_parser.cc" break; - case 915: // dhcp_ddns: "dhcp-ddns" $@137 ":" "{" dhcp_ddns_params "}" -#line 3136 "dhcp6_parser.yy" + case 918: // dhcp_ddns: "dhcp-ddns" $@137 ":" "{" dhcp_ddns_params "}" +#line 3145 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4818 "dhcp6_parser.cc" +#line 4828 "dhcp6_parser.cc" break; - case 916: // $@138: %empty -#line 3143 "dhcp6_parser.yy" + case 919: // $@138: %empty +#line 3152 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4828 "dhcp6_parser.cc" +#line 4838 "dhcp6_parser.cc" break; - case 917: // sub_dhcp_ddns: "{" $@138 dhcp_ddns_params "}" -#line 3147 "dhcp6_parser.yy" + case 920: // sub_dhcp_ddns: "{" $@138 dhcp_ddns_params "}" +#line 3156 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 4838 "dhcp6_parser.cc" +#line 4848 "dhcp6_parser.cc" break; - case 920: // dhcp_ddns_params: dhcp_ddns_params "," -#line 3155 "dhcp6_parser.yy" + case 923: // dhcp_ddns_params: dhcp_ddns_params "," +#line 3164 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4846 "dhcp6_parser.cc" +#line 4856 "dhcp6_parser.cc" break; - case 932: // enable_updates: "enable-updates" ":" "boolean" -#line 3173 "dhcp6_parser.yy" + case 935: // enable_updates: "enable-updates" ":" "boolean" +#line 3182 "dhcp6_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4856 "dhcp6_parser.cc" +#line 4866 "dhcp6_parser.cc" break; - case 933: // $@139: %empty -#line 3179 "dhcp6_parser.yy" + case 936: // $@139: %empty +#line 3188 "dhcp6_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4865 "dhcp6_parser.cc" +#line 4875 "dhcp6_parser.cc" break; - case 934: // server_ip: "server-ip" $@139 ":" "constant string" -#line 3182 "dhcp6_parser.yy" + case 937: // server_ip: "server-ip" $@139 ":" "constant string" +#line 3191 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 4875 "dhcp6_parser.cc" +#line 4885 "dhcp6_parser.cc" break; - case 935: // server_port: "server-port" ":" "integer" -#line 3188 "dhcp6_parser.yy" + case 938: // server_port: "server-port" ":" "integer" +#line 3197 "dhcp6_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4885 "dhcp6_parser.cc" +#line 4895 "dhcp6_parser.cc" break; - case 936: // $@140: %empty -#line 3194 "dhcp6_parser.yy" + case 939: // $@140: %empty +#line 3203 "dhcp6_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4894 "dhcp6_parser.cc" +#line 4904 "dhcp6_parser.cc" break; - case 937: // sender_ip: "sender-ip" $@140 ":" "constant string" -#line 3197 "dhcp6_parser.yy" + case 940: // sender_ip: "sender-ip" $@140 ":" "constant string" +#line 3206 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 4904 "dhcp6_parser.cc" +#line 4914 "dhcp6_parser.cc" break; - case 938: // sender_port: "sender-port" ":" "integer" -#line 3203 "dhcp6_parser.yy" + case 941: // sender_port: "sender-port" ":" "integer" +#line 3212 "dhcp6_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4914 "dhcp6_parser.cc" +#line 4924 "dhcp6_parser.cc" break; - case 939: // max_queue_size: "max-queue-size" ":" "integer" -#line 3209 "dhcp6_parser.yy" + case 942: // max_queue_size: "max-queue-size" ":" "integer" +#line 3218 "dhcp6_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4924 "dhcp6_parser.cc" +#line 4934 "dhcp6_parser.cc" break; - case 940: // $@141: %empty -#line 3215 "dhcp6_parser.yy" + case 943: // $@141: %empty +#line 3224 "dhcp6_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4933 "dhcp6_parser.cc" +#line 4943 "dhcp6_parser.cc" break; - case 941: // ncr_protocol: "ncr-protocol" $@141 ":" ncr_protocol_value -#line 3218 "dhcp6_parser.yy" + case 944: // ncr_protocol: "ncr-protocol" $@141 ":" ncr_protocol_value +#line 3227 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4942 "dhcp6_parser.cc" +#line 4952 "dhcp6_parser.cc" break; - case 942: // ncr_protocol_value: "UDP" -#line 3224 "dhcp6_parser.yy" + case 945: // ncr_protocol_value: "UDP" +#line 3233 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4948 "dhcp6_parser.cc" +#line 4958 "dhcp6_parser.cc" break; - case 943: // ncr_protocol_value: "TCP" -#line 3225 "dhcp6_parser.yy" + case 946: // ncr_protocol_value: "TCP" +#line 3234 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4954 "dhcp6_parser.cc" +#line 4964 "dhcp6_parser.cc" break; - case 944: // $@142: %empty -#line 3228 "dhcp6_parser.yy" + case 947: // $@142: %empty +#line 3237 "dhcp6_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4963 "dhcp6_parser.cc" +#line 4973 "dhcp6_parser.cc" break; - case 945: // ncr_format: "ncr-format" $@142 ":" "JSON" -#line 3231 "dhcp6_parser.yy" + case 948: // ncr_format: "ncr-format" $@142 ":" "JSON" +#line 3240 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4973 "dhcp6_parser.cc" +#line 4983 "dhcp6_parser.cc" break; - case 946: // $@143: %empty -#line 3239 "dhcp6_parser.yy" + case 949: // $@143: %empty +#line 3248 "dhcp6_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4981,48 +4991,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4985 "dhcp6_parser.cc" +#line 4995 "dhcp6_parser.cc" break; - case 947: // config_control: "config-control" $@143 ":" "{" config_control_params "}" -#line 3245 "dhcp6_parser.yy" + case 950: // config_control: "config-control" $@143 ":" "{" config_control_params "}" +#line 3254 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4995 "dhcp6_parser.cc" +#line 5005 "dhcp6_parser.cc" break; - case 948: // $@144: %empty -#line 3251 "dhcp6_parser.yy" + case 951: // $@144: %empty +#line 3260 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 5005 "dhcp6_parser.cc" +#line 5015 "dhcp6_parser.cc" break; - case 949: // sub_config_control: "{" $@144 config_control_params "}" -#line 3255 "dhcp6_parser.yy" + case 952: // sub_config_control: "{" $@144 config_control_params "}" +#line 3264 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 5014 "dhcp6_parser.cc" +#line 5024 "dhcp6_parser.cc" break; - case 952: // config_control_params: config_control_params "," -#line 3263 "dhcp6_parser.yy" + case 955: // config_control_params: config_control_params "," +#line 3272 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5022 "dhcp6_parser.cc" +#line 5032 "dhcp6_parser.cc" break; - case 955: // $@145: %empty -#line 3273 "dhcp6_parser.yy" + case 958: // $@145: %empty +#line 3282 "dhcp6_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -5030,30 +5040,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 5034 "dhcp6_parser.cc" +#line 5044 "dhcp6_parser.cc" break; - case 956: // config_databases: "config-databases" $@145 ":" "[" database_list "]" -#line 3279 "dhcp6_parser.yy" + case 959: // config_databases: "config-databases" $@145 ":" "[" database_list "]" +#line 3288 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5043 "dhcp6_parser.cc" +#line 5053 "dhcp6_parser.cc" break; - case 957: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 3284 "dhcp6_parser.yy" + case 960: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 3293 "dhcp6_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 5053 "dhcp6_parser.cc" +#line 5063 "dhcp6_parser.cc" break; - case 958: // $@146: %empty -#line 3292 "dhcp6_parser.yy" + case 961: // $@146: %empty +#line 3301 "dhcp6_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -5061,83 +5071,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 5065 "dhcp6_parser.cc" +#line 5075 "dhcp6_parser.cc" break; - case 959: // loggers: "loggers" $@146 ":" "[" loggers_entries "]" -#line 3298 "dhcp6_parser.yy" + case 962: // loggers: "loggers" $@146 ":" "[" loggers_entries "]" +#line 3307 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5074 "dhcp6_parser.cc" +#line 5084 "dhcp6_parser.cc" break; - case 962: // loggers_entries: loggers_entries "," -#line 3307 "dhcp6_parser.yy" + case 965: // loggers_entries: loggers_entries "," +#line 3316 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5082 "dhcp6_parser.cc" +#line 5092 "dhcp6_parser.cc" break; - case 963: // $@147: %empty -#line 3313 "dhcp6_parser.yy" + case 966: // $@147: %empty +#line 3322 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 5092 "dhcp6_parser.cc" +#line 5102 "dhcp6_parser.cc" break; - case 964: // logger_entry: "{" $@147 logger_params "}" -#line 3317 "dhcp6_parser.yy" + case 967: // logger_entry: "{" $@147 logger_params "}" +#line 3326 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 5100 "dhcp6_parser.cc" +#line 5110 "dhcp6_parser.cc" break; - case 967: // logger_params: logger_params "," -#line 3323 "dhcp6_parser.yy" + case 970: // logger_params: logger_params "," +#line 3332 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5108 "dhcp6_parser.cc" +#line 5118 "dhcp6_parser.cc" break; - case 975: // debuglevel: "debuglevel" ":" "integer" -#line 3337 "dhcp6_parser.yy" + case 978: // debuglevel: "debuglevel" ":" "integer" +#line 3346 "dhcp6_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 5118 "dhcp6_parser.cc" +#line 5128 "dhcp6_parser.cc" break; - case 976: // $@148: %empty -#line 3343 "dhcp6_parser.yy" + case 979: // $@148: %empty +#line 3352 "dhcp6_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 5127 "dhcp6_parser.cc" +#line 5137 "dhcp6_parser.cc" break; - case 977: // severity: "severity" $@148 ":" "constant string" -#line 3346 "dhcp6_parser.yy" + case 980: // severity: "severity" $@148 ":" "constant string" +#line 3355 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 5137 "dhcp6_parser.cc" +#line 5147 "dhcp6_parser.cc" break; - case 978: // $@149: %empty -#line 3352 "dhcp6_parser.yy" + case 981: // $@149: %empty +#line 3361 "dhcp6_parser.yy" { ctx.unique("output-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -5145,122 +5155,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 5149 "dhcp6_parser.cc" +#line 5159 "dhcp6_parser.cc" break; - case 979: // output_options_list: "output-options" $@149 ":" "[" output_options_list_content "]" -#line 3358 "dhcp6_parser.yy" + case 982: // output_options_list: "output-options" $@149 ":" "[" output_options_list_content "]" +#line 3367 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5158 "dhcp6_parser.cc" +#line 5168 "dhcp6_parser.cc" break; - case 982: // output_options_list_content: output_options_list_content "," -#line 3365 "dhcp6_parser.yy" + case 985: // output_options_list_content: output_options_list_content "," +#line 3374 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5166 "dhcp6_parser.cc" +#line 5176 "dhcp6_parser.cc" break; - case 983: // $@150: %empty -#line 3370 "dhcp6_parser.yy" + case 986: // $@150: %empty +#line 3379 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 5176 "dhcp6_parser.cc" +#line 5186 "dhcp6_parser.cc" break; - case 984: // output_entry: "{" $@150 output_params_list "}" -#line 3374 "dhcp6_parser.yy" + case 987: // output_entry: "{" $@150 output_params_list "}" +#line 3383 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 5184 "dhcp6_parser.cc" +#line 5194 "dhcp6_parser.cc" break; - case 987: // output_params_list: output_params_list "," -#line 3380 "dhcp6_parser.yy" + case 990: // output_params_list: output_params_list "," +#line 3389 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5192 "dhcp6_parser.cc" +#line 5202 "dhcp6_parser.cc" break; - case 993: // $@151: %empty -#line 3392 "dhcp6_parser.yy" + case 996: // $@151: %empty +#line 3401 "dhcp6_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 5201 "dhcp6_parser.cc" +#line 5211 "dhcp6_parser.cc" break; - case 994: // output: "output" $@151 ":" "constant string" -#line 3395 "dhcp6_parser.yy" + case 997: // output: "output" $@151 ":" "constant string" +#line 3404 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 5211 "dhcp6_parser.cc" +#line 5221 "dhcp6_parser.cc" break; - case 995: // flush: "flush" ":" "boolean" -#line 3401 "dhcp6_parser.yy" + case 998: // flush: "flush" ":" "boolean" +#line 3410 "dhcp6_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 5221 "dhcp6_parser.cc" +#line 5231 "dhcp6_parser.cc" break; - case 996: // maxsize: "maxsize" ":" "integer" -#line 3407 "dhcp6_parser.yy" + case 999: // maxsize: "maxsize" ":" "integer" +#line 3416 "dhcp6_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 5231 "dhcp6_parser.cc" +#line 5241 "dhcp6_parser.cc" break; - case 997: // maxver: "maxver" ":" "integer" -#line 3413 "dhcp6_parser.yy" + case 1000: // maxver: "maxver" ":" "integer" +#line 3422 "dhcp6_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 5241 "dhcp6_parser.cc" +#line 5251 "dhcp6_parser.cc" break; - case 998: // $@152: %empty -#line 3419 "dhcp6_parser.yy" + case 1001: // $@152: %empty +#line 3428 "dhcp6_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 5250 "dhcp6_parser.cc" +#line 5260 "dhcp6_parser.cc" break; - case 999: // pattern: "pattern" $@152 ":" "constant string" -#line 3422 "dhcp6_parser.yy" + case 1002: // pattern: "pattern" $@152 ":" "constant string" +#line 3431 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 5260 "dhcp6_parser.cc" +#line 5270 "dhcp6_parser.cc" break; - case 1000: // $@153: %empty -#line 3428 "dhcp6_parser.yy" + case 1003: // $@153: %empty +#line 3437 "dhcp6_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -5268,38 +5278,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 5272 "dhcp6_parser.cc" +#line 5282 "dhcp6_parser.cc" break; - case 1001: // compatibility: "compatibility" $@153 ":" "{" compatibility_params "}" -#line 3434 "dhcp6_parser.yy" + case 1004: // compatibility: "compatibility" $@153 ":" "{" compatibility_params "}" +#line 3443 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 5281 "dhcp6_parser.cc" +#line 5291 "dhcp6_parser.cc" break; - case 1004: // compatibility_params: compatibility_params "," -#line 3441 "dhcp6_parser.yy" + case 1007: // compatibility_params: compatibility_params "," +#line 3450 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 5289 "dhcp6_parser.cc" +#line 5299 "dhcp6_parser.cc" break; - case 1007: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 3450 "dhcp6_parser.yy" + case 1010: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 3459 "dhcp6_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 5299 "dhcp6_parser.cc" +#line 5309 "dhcp6_parser.cc" break; -#line 5303 "dhcp6_parser.cc" +#line 5313 "dhcp6_parser.cc" default: break; @@ -5651,167 +5661,167 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -1445; + const short Dhcp6Parser::yypact_ninf_ = -1446; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 490, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, 51, 43, 62, 67, 74, - 117, 176, 209, 210, 211, 224, 225, 234, 238, 247, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 43, -148, - 245, 763, 70, 1442, 320, 164, 228, 35, 11, 382, - -108, 513, 89, -1445, 259, 278, 307, 274, 310, -1445, - 109, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 322, 340, - 346, 349, 372, 373, 381, 383, 401, 412, 414, 415, - 426, 443, -1445, 444, 459, 480, 491, 494, -1445, -1445, - -1445, 495, 497, 498, 499, 501, 502, 503, -1445, -1445, - -1445, 504, -1445, -1445, -1445, -1445, -1445, -1445, 505, 506, - 512, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 514, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 516, 517, - 519, -1445, -1445, 520, -1445, 135, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 521, - 522, 523, 524, -1445, 145, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 530, 531, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 153, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 533, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 171, -1445, -1445, -1445, -1445, -1445, -1445, 534, -1445, 537, - 539, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 174, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 326, - 334, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 344, -1445, -1445, 543, -1445, -1445, -1445, 546, -1445, -1445, - 376, 551, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, 553, 555, 559, -1445, -1445, - -1445, -1445, -1445, 421, 562, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 184, - -1445, -1445, -1445, 563, -1445, 566, -1445, 567, 568, -1445, - -1445, -1445, -1445, -1445, 190, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, 569, 241, -1445, -1445, -1445, - -1445, 43, 43, -1445, 336, 570, -1445, -1445, 573, 574, - 575, 578, 580, 581, 253, 325, 345, 347, 355, 358, - 360, 361, 362, 350, 364, 365, 363, 367, 583, 370, - 377, 371, 378, 389, 585, 596, 599, 390, 391, 375, - 384, 388, 397, 396, 611, 620, 636, 404, 646, 648, - 650, 652, 653, 654, 419, 420, 432, 660, 665, 668, - 673, 676, 677, 678, 679, 681, 447, 683, 686, 687, - 688, 689, 690, 692, 454, 455, 460, 695, 701, -1445, - 763, -1445, 702, 487, 488, 493, 496, 70, -1445, 728, - 731, 732, 734, 738, 508, 500, 741, 742, 743, 746, - 747, 1442, -1445, 748, 515, 320, -1445, 750, 518, 751, - 525, 526, 164, -1445, 753, 754, 756, 759, 760, 761, - 767, 772, -1445, 228, -1445, 773, 775, 540, 776, 778, - 779, 544, -1445, 11, 784, 547, 548, 549, 785, -1445, - 382, 789, 790, -19, -1445, 552, 792, 564, 796, 565, - 571, 799, 800, 513, -1445, 803, 572, 89, -1445, -1445, - -1445, 804, 802, 576, 807, 808, 843, 844, 805, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, 612, -1445, -1445, -1445, -1445, -1445, -152, - 613, 614, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 806, - 850, 851, -1445, 617, 618, 386, 854, 857, 625, -1445, - -1445, -1445, 861, 862, 864, 863, 866, 867, 868, 869, - 872, -1445, 873, 874, 870, 875, 876, 634, 651, -1445, - -1445, -1445, 887, 888, -1445, 889, -1445, -1445, -1445, -1445, - -1445, 891, 892, 658, 659, 661, -1445, -1445, 889, 889, - 889, 663, 893, -1445, 664, -1445, -1445, 666, -1445, 667, - -1445, -1445, -1445, 889, 889, 889, 889, 669, 670, 672, - 675, -1445, 680, 682, -1445, 684, 685, 691, -1445, -1445, - 693, -1445, -1445, -1445, 889, -1445, 696, 857, -1445, -1445, - 697, -1445, 698, -1445, -1445, -62, 700, -1445, 903, -1445, - -1445, 43, 763, -1445, 89, 70, 177, 177, 906, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 909, 910, - 911, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 912, -1445, - -1445, -1445, -103, 43, 179, 68, 916, 919, 920, 258, - 75, 138, 202, 921, 216, 513, -1445, -1445, 925, -161, - -1445, -1445, 932, 933, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, 801, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 906, -1445, - 254, 290, 321, -1445, -1445, -1445, -1445, 938, 939, 940, - 941, 942, 943, 944, 945, 946, 947, -1445, 948, 950, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, 330, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, 333, -1445, 949, 953, - -1445, -1445, 952, 956, -1445, -1445, 954, 958, -1445, -1445, - 957, 959, -1445, -1445, 960, 961, -1445, -1445, -1445, 72, - -1445, -1445, -1445, 962, -1445, -1445, -1445, 110, -1445, -1445, - -1445, -1445, -1445, 348, -1445, -1445, -1445, -1445, 159, -1445, - -1445, 963, 964, -1445, -1445, 965, 967, -1445, 968, 975, - 976, 977, 978, 979, 351, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, 980, 981, 982, -1445, -1445, -1445, - -1445, 357, -1445, -1445, -1445, -1445, -1445, -1445, 984, 985, - 986, -1445, 359, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, 987, -1445, 988, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, 380, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, 989, 990, -1445, 992, -1445, 993, -1445, -1445, - -1445, 395, -1445, -1445, -1445, -1445, -1445, 425, -1445, 260, - -1445, 994, -1445, 428, -1445, -1445, 725, -1445, 995, 991, - -1445, -1445, 996, 997, -1445, -1445, 998, 999, -1445, -1445, - -1445, 1000, 1003, 1004, 1005, 758, 768, 769, 770, 771, - 774, 777, 780, 781, 782, 1010, 783, 786, 1012, 1013, - 1015, 1016, 1020, 177, -1445, -1445, 177, -1445, 906, 1442, - -1445, 909, 11, -1445, 910, 382, -1445, 911, 1540, -1445, - 912, -103, -1445, -1445, 179, -1445, 1021, 1025, 68, -1445, - 213, 916, -1445, 228, -1445, 919, -108, -1445, 920, 791, - 794, 795, 797, 798, 815, 258, -1445, 1026, 1029, 817, - 818, 820, 75, -1445, 819, 826, 827, 138, -1445, 1039, - 1042, 1044, 828, 1068, 831, 1071, 202, -1445, 202, -1445, - 921, 834, 1076, 841, 1079, 216, -1445, -1445, 40, 925, - -1445, 845, -161, -1445, -1445, 1084, 1093, 320, -1445, 932, - 164, -1445, 933, -1445, -1445, 858, 859, 878, 885, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 69, - -1445, -1445, 896, 899, 917, 374, 926, -1445, 429, -1445, - 435, -1445, 1094, -1445, 1096, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 436, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 931, - 936, -1445, -1445, -1445, 1104, 1111, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 1119, 1130, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, 1152, -1445, 437, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 332, 951, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 291, 955, 969, - -1445, 1166, -1445, 1173, -1445, 438, -1445, -1445, 1002, -1445, - 43, -1445, -1445, 1176, -1445, -1445, -1445, -1445, -1445, 446, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 1006, 452, - -1445, 456, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - 1540, -1445, -1445, -1445, 1178, 1181, 1001, 1008, -1445, 213, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, 52, 1180, -1445, -1445, -1445, 1184, 983, - 1186, 40, -1445, -1445, -1445, -1445, -1445, 1007, 1009, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 473, - -1445, -1445, -1445, -1445, -1445, -1445, 1212, 1216, -1445, 1215, - -1445, 1014, -1445, -1445, -1445, 1223, 1225, 1226, 1227, 52, - -1445, 146, -1445, 1180, 1228, -1445, 1053, 1017, 1018, 1231, - -1445, -1445, -1445, -1445, -1445, -1445, 474, -1445, -1445, -1445, - -1445, 306, -1445, -1445, -1445, -1445, -1445, 1232, 1236, 146, - -1445, -150, 1228, -1445, -1445, 1239, 1249, -1445, 1019, -1445, - -1445, 1252, 1256, 1259, -1445, 475, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, 57, -1445, 1232, -1445, 1260, 1023, 1027, - 1028, 1266, -150, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, 477, -1445, -1445, -1445, -1445, 1031, -1445, -1445, -1445, - 1033, -1445, 1270, 1271, 57, -1445, -1445, -1445, 1036, 1037, - -1445, -1445, -1445 + 482, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, 120, 45, 49, 57, 227, + 247, 255, 266, 267, 289, 293, 295, 310, 313, 314, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 45, -183, + 93, 767, 56, 1445, 346, -20, 256, -15, 134, 217, + -108, 214, 103, -1446, 312, 324, 327, 320, 331, -1446, + 43, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 334, 345, + 348, 350, 352, 362, 372, 388, 391, 392, 402, 403, + 427, 438, -1446, 442, 449, 452, 453, 455, -1446, -1446, + -1446, 456, 465, 476, 488, 498, 506, 508, -1446, -1446, + -1446, 524, -1446, -1446, -1446, -1446, -1446, -1446, 525, 527, + 529, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + 530, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 533, 535, + 537, -1446, -1446, 540, -1446, 75, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 547, + 548, 555, 556, -1446, 98, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, 558, -1446, -1446, -1446, -1446, -1446, 559, + 562, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 143, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, 563, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 153, -1446, -1446, -1446, -1446, -1446, -1446, 564, + -1446, 565, 566, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 156, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, 397, 332, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 475, -1446, -1446, 569, -1446, -1446, -1446, 570, + -1446, -1446, 567, 573, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, 575, 576, 577, + -1446, -1446, -1446, -1446, -1446, 574, 582, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, 174, -1446, -1446, -1446, 584, -1446, 585, -1446, 586, + 587, -1446, -1446, -1446, -1446, -1446, 258, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, 588, 282, -1446, + -1446, -1446, -1446, 45, 45, -1446, 336, 590, -1446, -1446, + 591, 592, 593, 594, 595, 597, 360, 361, 364, 365, + 368, 369, 375, 376, 370, 373, 377, 378, 381, 382, + 600, 385, 389, 386, 390, 393, 629, 632, 637, 407, + 411, 416, 404, 418, 420, 421, 663, 666, 668, 431, + 670, 671, 673, 674, 676, 679, 440, 441, 444, 682, + 686, 688, 691, 693, 695, 697, 698, 699, 462, 702, + 703, 719, 720, 721, 722, 723, 484, 485, 486, 727, + 728, -1446, 767, -1446, 729, 492, 494, 499, 500, 56, + -1446, 496, 730, 731, 736, 742, 743, 507, 509, 746, + 747, 750, 751, 752, 1445, -1446, 753, 517, 346, -1446, + 754, 519, 756, 520, 521, -20, -1446, 760, 763, 764, + 765, 766, 771, 776, 777, -1446, 256, -1446, 779, 780, + 543, 782, 783, 787, 549, -1446, 134, 788, 550, 551, + 552, 793, -1446, 217, 794, 795, -53, -1446, 560, 796, + 568, 803, 571, 572, 804, 805, 214, -1446, 807, 578, + 103, -1446, -1446, -1446, 808, 809, 614, 810, 811, 812, + 827, 851, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 616, -1446, -1446, -1446, + -1446, -1446, -121, 617, 618, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 855, 856, 857, -1446, 622, 623, 27, 864, + 863, 630, -1446, -1446, -1446, 867, 869, 870, 871, 872, + 874, 875, 877, 878, -1446, 879, 880, 876, 881, 889, + 635, 656, -1446, -1446, -1446, 894, 893, -1446, 896, -1446, + -1446, -1446, -1446, -1446, -1446, 897, 898, 664, 665, 667, + -1446, -1446, 896, 896, 896, 669, 902, -1446, 672, -1446, + -1446, 677, -1446, 680, -1446, -1446, -1446, 896, 896, 896, + 896, 681, 683, 684, 687, -1446, 689, 690, -1446, 692, + 696, 700, -1446, -1446, 701, -1446, -1446, -1446, 896, -1446, + 704, 863, -1446, -1446, 705, -1446, 706, -1446, -1446, -95, + 609, -1446, 899, -1446, -1446, 45, 767, -1446, 103, 56, + 167, 167, 904, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 905, 907, 908, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 910, -1446, -1446, -1446, -87, 45, 91, 122, + 913, 916, 920, 114, 112, 124, 200, 922, 132, 214, + -1446, -1446, 925, -171, -1446, -1446, 929, 931, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, 802, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 904, -1446, 311, 339, 342, -1446, -1446, -1446, + -1446, 940, 944, 945, 946, 947, 948, 949, 950, 951, + 952, -1446, 953, 955, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, 343, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + 374, -1446, 954, 768, -1446, -1446, 957, 958, -1446, -1446, + 959, 961, -1446, -1446, 960, 964, -1446, -1446, 962, 966, + -1446, -1446, -1446, 96, -1446, -1446, -1446, 965, -1446, -1446, + -1446, 163, -1446, -1446, -1446, -1446, -1446, 383, -1446, -1446, + -1446, -1446, 173, -1446, -1446, 967, 969, -1446, -1446, 968, + 972, -1446, 973, 980, 981, 982, 983, 984, 401, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 985, 986, + 987, -1446, -1446, -1446, -1446, 422, -1446, -1446, -1446, -1446, + -1446, -1446, 989, 990, 991, -1446, 429, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 992, -1446, 993, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 435, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 970, 995, -1446, 996, + -1446, 997, -1446, -1446, -1446, 436, -1446, -1446, -1446, -1446, + -1446, 437, -1446, 220, -1446, 998, -1446, 479, -1446, -1446, + 758, -1446, 999, 1000, -1446, -1446, 1001, 1003, -1446, -1446, + 1002, 1005, -1446, -1446, -1446, 1008, 1009, 1010, 1011, 762, + 726, 774, 773, 778, 781, 784, 785, 786, 789, 1014, + 775, 791, 1017, 1018, 1020, 1021, 1025, 167, -1446, -1446, + 167, -1446, 904, 1445, -1446, 905, 134, -1446, 907, 217, + -1446, 908, 1543, -1446, 910, -87, -1446, -1446, 91, -1446, + 1026, 1030, 122, -1446, 225, 913, -1446, 256, -1446, 916, + -108, -1446, 920, 797, 800, 806, 813, 815, 820, 114, + -1446, 1032, 1033, 821, 823, 826, 112, -1446, 829, 834, + 839, 124, -1446, 1043, 1046, 1067, 842, 1088, 850, 1093, + 200, -1446, 200, -1446, 922, 858, 1099, 866, 1108, 132, + -1446, -1446, 248, 925, -1446, 873, -171, -1446, -1446, 1113, + 1006, 346, -1446, 929, -20, -1446, 931, -1446, -1446, 884, + 890, 891, 900, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, 40, -1446, -1446, 909, 911, 914, 424, + 917, -1446, 483, -1446, 487, -1446, 1114, -1446, 1127, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, 490, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, 921, 924, -1446, -1446, -1446, 1117, + 1136, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 1137, 1145, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, 1153, -1446, 491, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 46, 934, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 208, 939, 943, -1446, 1163, -1446, 1184, -1446, + 493, -1446, -1446, 975, -1446, 45, -1446, -1446, 1199, -1446, + -1446, -1446, -1446, -1446, 497, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, 977, 501, -1446, 503, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, 1543, -1446, -1446, -1446, 1209, + 1220, 994, 1004, -1446, 225, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 58, 1219, + -1446, -1446, -1446, 1224, 988, 1227, 248, -1446, -1446, -1446, + -1446, -1446, 1012, 1013, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, 505, -1446, -1446, -1446, -1446, -1446, + -1446, 1228, 1230, -1446, 1231, -1446, 1015, -1446, -1446, -1446, + 1233, 1235, 1236, 1237, 58, -1446, 149, -1446, 1219, 1239, + -1446, 1061, 1022, 1023, 1244, -1446, -1446, -1446, -1446, -1446, + -1446, 515, -1446, -1446, -1446, -1446, 257, -1446, -1446, -1446, + -1446, -1446, 1251, 1240, 149, -1446, 35, 1239, -1446, -1446, + 1245, 1256, -1446, 1024, -1446, -1446, 1257, 1258, 1262, -1446, + 516, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 207, -1446, + 1251, -1446, 1263, 1027, 1028, 1031, 1264, 35, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 518, -1446, -1446, -1446, + -1446, 1034, -1446, -1446, -1446, 1035, -1446, 1265, 1268, 207, + -1446, -1446, -1446, 1036, 1037, -1446, -1446, -1446 }; const short @@ -5821,211 +5831,212 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 46, 38, 34, 33, 30, 31, 32, 37, 3, - 35, 36, 61, 5, 67, 7, 205, 9, 399, 11, - 621, 13, 666, 15, 701, 17, 536, 19, 545, 21, - 584, 23, 361, 25, 916, 27, 948, 29, 48, 41, - 0, 0, 0, 0, 0, 0, 703, 0, 547, 586, + 35, 36, 61, 5, 67, 7, 206, 9, 400, 11, + 624, 13, 669, 15, 704, 17, 539, 19, 548, 21, + 587, 23, 362, 25, 919, 27, 951, 29, 48, 41, + 0, 0, 0, 0, 0, 0, 706, 0, 550, 589, 0, 0, 0, 50, 0, 49, 0, 0, 42, 63, - 0, 65, 144, 946, 203, 224, 226, 228, 0, 0, + 0, 65, 144, 949, 204, 225, 227, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 0, 0, 0, 0, 0, 163, 170, - 172, 0, 0, 0, 0, 0, 0, 0, 390, 534, - 575, 0, 196, 198, 176, 474, 653, 655, 0, 0, - 0, 317, 336, 326, 306, 739, 692, 352, 373, 773, - 0, 338, 798, 800, 897, 914, 186, 188, 0, 0, - 0, 958, 1000, 0, 143, 0, 69, 72, 73, 74, + 0, 0, 194, 0, 0, 0, 0, 0, 164, 171, + 173, 0, 0, 0, 0, 0, 0, 0, 391, 537, + 578, 0, 197, 199, 177, 476, 656, 658, 0, 0, + 0, 318, 337, 327, 307, 742, 695, 353, 374, 776, + 0, 339, 801, 803, 900, 917, 187, 189, 0, 0, + 0, 961, 1003, 0, 143, 0, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 111, 112, 113, 114, 115, 81, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 117, 118, 132, 133, 134, 107, 140, 141, 142, 136, 137, 138, 84, 85, 86, 87, 104, 88, 90, 89, 135, 94, 95, 82, 108, 109, 110, 83, 92, 93, 102, 103, 105, 91, 96, - 97, 98, 99, 100, 101, 106, 116, 139, 218, 0, - 0, 0, 0, 217, 0, 207, 210, 211, 212, 213, - 214, 215, 216, 612, 657, 455, 457, 459, 0, 0, - 463, 465, 467, 461, 736, 454, 404, 405, 406, 407, - 408, 409, 410, 411, 431, 432, 433, 434, 435, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, 450, 436, 437, 451, 452, 453, 0, 401, 415, - 416, 417, 420, 421, 422, 423, 425, 426, 427, 418, - 419, 412, 413, 429, 430, 414, 424, 428, 650, 0, - 649, 633, 634, 635, 636, 637, 638, 639, 640, 641, - 642, 643, 644, 645, 646, 629, 630, 631, 632, 628, - 0, 623, 626, 627, 647, 648, 685, 0, 688, 0, - 0, 684, 676, 677, 678, 679, 675, 674, 682, 683, - 0, 668, 671, 672, 680, 681, 673, 734, 720, 722, - 724, 726, 728, 730, 732, 719, 716, 717, 718, 0, - 704, 705, 710, 711, 712, 708, 713, 714, 715, 709, - 0, 565, 273, 0, 569, 567, 572, 0, 561, 562, - 0, 548, 549, 552, 564, 553, 554, 555, 571, 556, - 557, 558, 559, 560, 603, 0, 0, 0, 610, 601, - 602, 605, 606, 0, 587, 588, 591, 592, 593, 594, - 595, 596, 597, 600, 598, 599, 369, 371, 366, 0, - 363, 367, 368, 0, 933, 0, 936, 0, 0, 940, - 944, 931, 929, 930, 0, 918, 921, 922, 923, 924, - 925, 926, 927, 928, 955, 0, 0, 950, 953, 954, - 47, 52, 0, 39, 45, 0, 66, 62, 0, 0, + 97, 98, 99, 100, 101, 106, 116, 139, 219, 0, + 0, 0, 0, 218, 0, 208, 211, 212, 213, 214, + 215, 216, 217, 0, 615, 660, 457, 459, 461, 0, + 0, 465, 467, 469, 463, 739, 456, 405, 406, 407, + 408, 409, 410, 411, 412, 432, 433, 434, 435, 436, + 437, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 438, 439, 453, 454, 455, 0, + 402, 416, 417, 418, 421, 422, 423, 424, 426, 427, + 428, 419, 420, 413, 414, 430, 431, 415, 425, 429, + 653, 0, 652, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 632, 633, 634, + 635, 631, 0, 626, 629, 630, 650, 651, 688, 0, + 691, 0, 0, 687, 679, 680, 681, 682, 678, 677, + 685, 686, 0, 671, 674, 675, 683, 684, 676, 737, + 723, 725, 727, 729, 731, 733, 735, 722, 719, 720, + 721, 0, 707, 708, 713, 714, 715, 711, 716, 717, + 718, 712, 0, 568, 274, 0, 572, 570, 575, 0, + 564, 565, 0, 551, 552, 555, 567, 556, 557, 558, + 574, 559, 560, 561, 562, 563, 606, 0, 0, 0, + 613, 604, 605, 608, 609, 0, 590, 591, 594, 595, + 596, 597, 598, 599, 600, 603, 601, 602, 370, 372, + 367, 0, 364, 368, 369, 0, 936, 0, 939, 0, + 0, 943, 947, 934, 932, 933, 0, 921, 924, 925, + 926, 927, 928, 929, 930, 931, 958, 0, 0, 953, + 956, 957, 47, 52, 0, 39, 45, 0, 66, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, - 71, 68, 0, 0, 0, 0, 0, 209, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 403, 400, 0, 0, 625, 622, 0, 0, 0, - 0, 0, 670, 667, 0, 0, 0, 0, 0, 0, - 0, 0, 702, 707, 537, 0, 0, 0, 0, 0, - 0, 0, 546, 551, 0, 0, 0, 0, 0, 585, - 590, 0, 0, 365, 362, 0, 0, 0, 0, 0, - 0, 0, 0, 920, 917, 0, 0, 952, 949, 51, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 0, 191, 192, 160, 161, 162, 0, - 0, 0, 174, 175, 182, 183, 184, 185, 190, 0, - 0, 0, 195, 0, 0, 0, 0, 0, 0, 469, - 470, 471, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 797, 0, 0, 0, 0, 0, 0, 0, 200, - 201, 202, 0, 0, 70, 0, 220, 221, 222, 223, - 208, 0, 0, 0, 0, 0, 472, 473, 0, 0, - 0, 0, 0, 402, 0, 652, 624, 0, 687, 0, - 690, 691, 669, 0, 0, 0, 0, 0, 0, 0, - 0, 706, 0, 0, 563, 0, 0, 0, 574, 550, - 0, 607, 608, 609, 0, 589, 0, 0, 364, 932, - 0, 935, 0, 938, 939, 0, 0, 919, 0, 957, - 951, 0, 0, 145, 0, 0, 0, 0, 230, 194, - 165, 166, 167, 168, 169, 164, 171, 173, 392, 538, - 577, 197, 199, 178, 179, 180, 181, 177, 476, 40, - 654, 656, 0, 48, 0, 0, 0, 694, 354, 0, - 0, 0, 0, 802, 0, 0, 187, 189, 0, 0, - 53, 219, 614, 659, 456, 458, 460, 464, 466, 468, - 462, 0, 651, 686, 689, 735, 721, 723, 725, 727, - 729, 731, 733, 566, 274, 570, 568, 573, 604, 611, - 370, 372, 934, 937, 942, 943, 941, 945, 230, 44, - 0, 0, 0, 264, 266, 268, 270, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, - 291, 293, 295, 297, 299, 300, 301, 302, 303, 304, - 263, 0, 237, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 254, 255, 256, 257, - 253, 258, 259, 260, 261, 262, 0, 235, 0, 231, - 232, 397, 0, 393, 394, 543, 0, 539, 540, 582, - 0, 578, 579, 481, 0, 477, 478, 324, 325, 0, - 319, 322, 323, 0, 334, 335, 331, 0, 328, 332, - 333, 313, 315, 0, 308, 311, 312, 744, 0, 741, - 699, 0, 695, 696, 359, 0, 355, 356, 0, 0, - 0, 0, 0, 0, 0, 375, 378, 379, 380, 381, - 382, 383, 787, 793, 0, 0, 0, 786, 783, 784, - 785, 0, 775, 778, 781, 779, 780, 782, 0, 0, - 0, 348, 0, 340, 343, 344, 345, 346, 347, 825, - 830, 832, 0, 855, 0, 836, 824, 817, 818, 819, - 822, 823, 0, 809, 812, 813, 814, 815, 820, 821, - 816, 807, 0, 803, 804, 0, 909, 0, 912, 905, - 906, 0, 899, 902, 903, 904, 907, 0, 963, 0, - 960, 0, 1006, 0, 1002, 1005, 55, 619, 0, 615, - 616, 664, 0, 660, 661, 738, 0, 0, 64, 947, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 60, 71, 68, 0, 0, 0, 0, 0, 210, + 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 404, 401, 0, 0, 628, 625, + 0, 0, 0, 0, 0, 673, 670, 0, 0, 0, + 0, 0, 0, 0, 0, 705, 710, 540, 0, 0, + 0, 0, 0, 0, 0, 549, 554, 0, 0, 0, + 0, 0, 588, 593, 0, 0, 366, 363, 0, 0, + 0, 0, 0, 0, 0, 0, 923, 920, 0, 0, + 955, 952, 51, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 160, 0, 192, 193, 161, + 162, 163, 0, 0, 0, 175, 176, 183, 184, 185, + 186, 191, 0, 0, 0, 196, 0, 0, 0, 0, + 0, 0, 471, 472, 473, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, + 0, 0, 201, 202, 203, 0, 0, 70, 0, 221, + 222, 223, 224, 209, 159, 0, 0, 0, 0, 0, + 474, 475, 0, 0, 0, 0, 0, 403, 0, 655, + 627, 0, 690, 0, 693, 694, 672, 0, 0, 0, + 0, 0, 0, 0, 0, 709, 0, 0, 566, 0, + 0, 0, 577, 553, 0, 610, 611, 612, 0, 592, + 0, 0, 365, 935, 0, 938, 0, 941, 942, 0, + 0, 922, 0, 960, 954, 0, 0, 145, 0, 0, + 0, 0, 231, 195, 166, 167, 168, 169, 170, 165, + 172, 174, 393, 541, 580, 198, 200, 179, 180, 181, + 182, 178, 478, 40, 657, 659, 0, 48, 0, 0, + 0, 697, 355, 0, 0, 0, 0, 805, 0, 0, + 188, 190, 0, 0, 53, 220, 617, 662, 458, 460, + 462, 466, 468, 470, 464, 0, 654, 689, 692, 738, + 724, 726, 728, 730, 732, 734, 736, 569, 275, 573, + 571, 576, 607, 614, 371, 373, 937, 940, 945, 946, + 944, 948, 231, 44, 0, 0, 0, 265, 267, 269, + 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 0, 292, 294, 296, 298, 300, 301, + 302, 303, 304, 305, 264, 0, 238, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 255, 256, 257, 258, 254, 259, 260, 261, 262, 263, + 0, 236, 0, 232, 233, 398, 0, 394, 395, 546, + 0, 542, 543, 585, 0, 581, 582, 483, 0, 479, + 480, 325, 326, 0, 320, 323, 324, 0, 335, 336, + 332, 0, 329, 333, 334, 314, 316, 0, 309, 312, + 313, 747, 0, 744, 702, 0, 698, 699, 360, 0, + 356, 357, 0, 0, 0, 0, 0, 0, 0, 376, + 379, 380, 381, 382, 383, 384, 790, 796, 0, 0, + 0, 789, 786, 787, 788, 0, 778, 781, 784, 782, + 783, 785, 0, 0, 0, 349, 0, 341, 344, 345, + 346, 347, 348, 828, 833, 835, 0, 858, 0, 839, + 827, 820, 821, 822, 825, 826, 0, 812, 815, 816, + 817, 818, 823, 824, 819, 810, 0, 806, 807, 0, + 912, 0, 915, 908, 909, 0, 902, 905, 906, 907, + 910, 0, 966, 0, 963, 0, 1009, 0, 1005, 1008, + 55, 622, 0, 618, 619, 667, 0, 663, 664, 741, + 0, 0, 64, 950, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 239, 225, 227, 0, 229, 234, 0, - 391, 396, 547, 535, 542, 586, 576, 581, 0, 475, - 480, 321, 318, 337, 330, 327, 0, 0, 310, 307, - 746, 743, 740, 703, 693, 698, 0, 353, 358, 0, - 0, 0, 0, 0, 0, 377, 374, 0, 0, 0, - 0, 0, 777, 774, 0, 0, 0, 342, 339, 0, - 0, 0, 0, 0, 0, 0, 811, 799, 0, 801, - 806, 0, 0, 0, 0, 901, 898, 915, 0, 962, - 959, 0, 1004, 1001, 57, 0, 56, 0, 613, 618, - 0, 658, 663, 737, 956, 0, 0, 0, 0, 272, - 275, 276, 277, 278, 279, 280, 281, 290, 282, 0, - 288, 289, 0, 0, 0, 0, 0, 238, 0, 233, - 0, 395, 0, 541, 0, 580, 533, 501, 502, 503, - 505, 506, 507, 490, 491, 510, 511, 512, 513, 514, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 515, 516, 530, 531, 532, 486, 487, - 488, 489, 497, 498, 499, 500, 494, 495, 496, 504, - 0, 483, 492, 508, 509, 493, 479, 320, 329, 0, - 0, 309, 767, 769, 0, 0, 765, 759, 760, 761, - 762, 763, 764, 766, 756, 757, 758, 0, 747, 748, - 751, 752, 753, 754, 755, 742, 0, 697, 0, 357, - 384, 385, 386, 387, 388, 389, 376, 0, 0, 792, - 795, 796, 776, 349, 350, 351, 341, 0, 0, 0, - 834, 0, 835, 0, 810, 0, 805, 908, 0, 911, - 0, 900, 978, 0, 976, 974, 968, 972, 973, 0, - 965, 970, 971, 969, 961, 1007, 1003, 54, 59, 0, - 617, 0, 662, 265, 267, 269, 271, 285, 286, 287, - 284, 292, 294, 296, 298, 305, 236, 398, 544, 583, - 485, 482, 314, 316, 0, 0, 0, 0, 745, 750, - 700, 360, 789, 790, 791, 788, 794, 827, 828, 829, - 826, 831, 833, 0, 838, 808, 910, 913, 0, 0, - 0, 967, 964, 58, 620, 665, 484, 0, 0, 771, - 772, 749, 867, 870, 872, 874, 866, 865, 864, 0, - 857, 860, 861, 862, 863, 843, 0, 839, 840, 0, - 975, 0, 966, 768, 770, 0, 0, 0, 0, 859, - 856, 0, 837, 842, 0, 977, 0, 0, 0, 0, - 858, 853, 852, 848, 850, 851, 0, 845, 849, 841, - 983, 0, 980, 869, 868, 871, 873, 876, 0, 847, - 844, 0, 982, 979, 881, 0, 877, 878, 0, 846, - 993, 0, 0, 0, 998, 0, 985, 988, 989, 990, - 991, 992, 981, 0, 875, 880, 854, 0, 0, 0, - 0, 0, 987, 984, 893, 895, 892, 886, 888, 890, - 891, 0, 883, 887, 889, 879, 0, 995, 996, 997, - 0, 986, 0, 0, 885, 882, 994, 999, 0, 0, - 884, 894, 896 + 0, 0, 0, 0, 0, 0, 0, 240, 226, 228, + 0, 230, 235, 0, 392, 397, 550, 538, 545, 589, + 579, 584, 0, 477, 482, 322, 319, 338, 331, 328, + 0, 0, 311, 308, 749, 746, 743, 706, 696, 701, + 0, 354, 359, 0, 0, 0, 0, 0, 0, 378, + 375, 0, 0, 0, 0, 0, 780, 777, 0, 0, + 0, 343, 340, 0, 0, 0, 0, 0, 0, 0, + 814, 802, 0, 804, 809, 0, 0, 0, 0, 904, + 901, 918, 0, 965, 962, 0, 1007, 1004, 57, 0, + 56, 0, 616, 621, 0, 661, 666, 740, 959, 0, + 0, 0, 0, 273, 276, 277, 278, 279, 280, 281, + 282, 291, 283, 0, 289, 290, 0, 0, 0, 0, + 0, 239, 0, 234, 0, 396, 0, 544, 0, 583, + 536, 503, 504, 505, 507, 508, 509, 492, 493, 512, + 513, 514, 515, 516, 517, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 518, 519, + 533, 534, 535, 488, 489, 490, 491, 499, 500, 501, + 502, 496, 497, 498, 506, 0, 485, 494, 510, 511, + 495, 481, 321, 330, 0, 0, 310, 770, 772, 0, + 0, 768, 762, 763, 764, 765, 766, 767, 769, 759, + 760, 761, 0, 750, 751, 754, 755, 756, 757, 758, + 745, 0, 700, 0, 358, 385, 386, 387, 388, 389, + 390, 377, 0, 0, 795, 798, 799, 779, 350, 351, + 352, 342, 0, 0, 0, 837, 0, 838, 0, 813, + 0, 808, 911, 0, 914, 0, 903, 981, 0, 979, + 977, 971, 975, 976, 0, 968, 973, 974, 972, 964, + 1010, 1006, 54, 59, 0, 620, 0, 665, 266, 268, + 270, 272, 286, 287, 288, 285, 293, 295, 297, 299, + 306, 237, 399, 547, 586, 487, 484, 315, 317, 0, + 0, 0, 0, 748, 753, 703, 361, 792, 793, 794, + 791, 797, 830, 831, 832, 829, 834, 836, 0, 841, + 811, 913, 916, 0, 0, 0, 970, 967, 58, 623, + 668, 486, 0, 0, 774, 775, 752, 870, 873, 875, + 877, 869, 868, 867, 0, 860, 863, 864, 865, 866, + 846, 0, 842, 843, 0, 978, 0, 969, 771, 773, + 0, 0, 0, 0, 862, 859, 0, 840, 845, 0, + 980, 0, 0, 0, 0, 861, 856, 855, 851, 853, + 854, 0, 848, 852, 844, 986, 0, 983, 872, 871, + 874, 876, 879, 0, 850, 847, 0, 985, 982, 884, + 0, 880, 881, 0, 849, 996, 0, 0, 0, 1001, + 0, 988, 991, 992, 993, 994, 995, 984, 0, 878, + 883, 857, 0, 0, 0, 0, 0, 990, 987, 896, + 898, 895, 889, 891, 893, 894, 0, 886, 890, 892, + 882, 0, 998, 999, 1000, 0, 989, 0, 0, 888, + 885, 997, 1002, 0, 0, 887, 897, 899 }; const short Dhcp6Parser::yypgoto_[] = { - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -10, -1445, -634, -1445, - 527, -1445, -1445, -1445, -1445, 476, -1445, -415, -1445, -1445, - -1445, -71, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 509, - 730, -1445, -1445, 4, 12, 22, 38, 41, 42, -57, - -54, -35, -15, 97, 100, 102, -1445, 20, 23, 45, - 48, -1445, -1445, 55, -1445, 60, -1445, 66, 103, 71, - -1445, -1445, 73, 76, 78, 84, 90, -1445, 95, -1445, - 105, -1445, -1445, -1445, -1445, -1445, 107, -1445, 108, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 507, 721, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, 427, -1445, 185, -1445, -756, 193, -1445, -1445, -1444, - -1445, -1440, -1445, -1445, -1445, -1445, -55, -1445, -797, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -801, -1445, -795, -1445, -792, -1445, 82, -1445, - -1445, -1445, -1445, -1445, -1445, 170, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, 178, -782, -1445, -1445, -1445, -1445, 180, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 143, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, 163, -1445, -1445, -1445, 166, - 694, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 158, -1445, - -1445, -1445, -1445, -1445, -1445, -1083, -1445, -1445, -1445, 194, - -1445, -1445, -1445, 197, 727, -1445, -1445, -1082, -1445, -1081, - -1445, 61, -1445, 85, -1445, 120, -1445, 125, -1445, 113, - 115, 118, -1445, -1080, -1445, -1445, -1445, -1445, 191, -1445, - -1445, -67, 1229, -1445, -1445, -1445, -1445, -1445, 200, -1445, - -1445, -1445, 207, -1445, 707, -1445, -65, -1445, -1445, -1445, - -1445, -1445, -61, -1445, -1445, -1445, -1445, -1445, -29, -1445, - -1445, -1445, 204, -1445, -1445, -1445, 212, -1445, 704, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, 133, -1445, -1445, -1445, 141, 744, -1445, - -1445, -63, -42, -1445, -13, -1445, -1445, -1445, -1445, -1445, - 139, -1445, -1445, -1445, 147, 749, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -58, -1445, -1445, -1445, 198, -1445, -1445, - -1445, 203, -1445, 736, 511, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1079, -1445, -1445, -1445, -1445, -1445, 215, -1445, -1445, -1445, - -47, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, 183, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 173, -1445, 181, - 182, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -109, -1445, -1445, -129, -1445, -1445, - -1445, -1445, -1445, -96, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -151, -1445, -1445, -179, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, 187, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, 532, 726, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, 579, 729, -1445, -1445, - -1445, -1445, -1445, -1445, 189, -1445, -1445, -53, -1445, -1445, - -1445, -1445, -1445, -1445, -118, -1445, -1445, -142, -1445, -1445, - -1445, -1445, -1445, -1445, -1445, -1445, -1445, -1445, 192, -1445 + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -10, -1446, -635, -1446, + 513, -1446, -1446, -1446, -1446, 472, -1446, -288, -1446, -1446, + -1446, -71, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 504, + 732, -1446, -1446, -52, -29, -26, -24, 4, 12, -25, + 82, 84, 87, 89, 90, 92, -1084, -1446, 31, 34, + 41, 48, -1446, -1446, 51, -1446, 54, -1446, 61, 94, + 64, -1446, -1446, 66, 69, 71, 74, 76, -1446, 79, + -1446, 95, -1446, -1446, -1446, -1446, -1446, 97, -1446, 102, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 502, 724, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 423, -1446, 180, -1446, -756, 189, -1446, -1446, + -1445, -1446, -1429, -1446, -1446, -1446, -1446, -66, -1446, -788, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -805, -1446, -793, -1446, -792, -1446, 78, + -1446, -1446, -1446, -1446, -1446, -1446, 166, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, 176, -781, -1446, -1446, -1446, -1446, + 171, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 147, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, 168, -1446, -1446, -1446, + 172, 685, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 164, + -1446, -1446, -1446, -1446, -1446, -1446, -1083, -1446, -1446, -1446, + 201, -1446, -1446, -1446, 202, 733, -1446, -1446, -1077, -1446, + -1074, -1446, 109, -1446, 111, -1446, 113, -1446, 115, -1446, + 105, 107, 108, -1446, -1072, -1446, -1446, -1446, -1446, 194, + -1446, -1446, -65, 1234, -1446, -1446, -1446, -1446, -1446, 204, + -1446, -1446, -1446, 209, -1446, 708, -1446, -60, -1446, -1446, + -1446, -1446, -1446, -57, -1446, -1446, -1446, -1446, -1446, -58, + -1446, -1446, -1446, 205, -1446, -1446, -1446, 210, -1446, 707, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, 138, -1446, -1446, -1446, 141, 759, + -1446, -1446, -55, -42, -1446, -13, -1446, -1446, -1446, -1446, + -1446, 142, -1446, -1446, -1446, 140, 744, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -59, -1446, -1446, -1446, 212, -1446, + -1446, -1446, 203, -1446, 735, 510, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1071, -1446, -1446, -1446, -1446, -1446, 211, -1446, -1446, + -1446, -50, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, 192, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 175, -1446, + 181, 184, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -101, -1446, -1446, -126, -1446, + -1446, -1446, -1446, -1446, -92, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -147, -1446, -1446, -175, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, 188, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 542, 737, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, 581, 738, -1446, + -1446, -1446, -1446, -1446, -1446, 193, -1446, -1446, -41, -1446, + -1446, -1446, -1446, -1446, -1446, -110, -1446, -1446, -138, -1446, + -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, -1446, 196, + -1446 }; const short @@ -6033,687 +6044,689 @@ namespace isc { namespace dhcp { { 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, - 800, 87, 88, 41, 68, 84, 85, 821, 1056, 1175, - 1176, 890, 43, 70, 90, 475, 91, 45, 71, 165, - 166, 167, 478, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 504, 785, 186, 505, 187, 506, 188, 189, 190, - 520, 797, 191, 192, 193, 194, 195, 542, 196, 543, - 197, 198, 199, 200, 498, 201, 202, 518, 203, 519, - 204, 205, 206, 207, 480, 47, 72, 244, 245, 246, - 552, 247, 248, 249, 250, 208, 481, 209, 482, 210, - 483, 918, 919, 920, 1096, 891, 892, 893, 1071, 894, - 1072, 895, 1073, 896, 1074, 897, 898, 596, 899, 900, - 901, 902, 903, 904, 905, 906, 907, 1085, 1360, 908, - 909, 910, 911, 1088, 912, 1089, 913, 1090, 914, 1091, - 915, 1092, 211, 530, 953, 954, 955, 1116, 956, 1117, - 212, 527, 939, 940, 941, 942, 213, 529, 947, 948, - 949, 950, 214, 528, 215, 537, 1002, 1003, 1004, 1005, - 1006, 216, 533, 965, 966, 967, 1126, 63, 80, 439, - 440, 441, 611, 442, 612, 217, 534, 974, 975, 976, - 977, 978, 979, 980, 981, 218, 514, 922, 923, 924, - 1099, 49, 73, 297, 298, 299, 561, 300, 562, 301, - 563, 302, 569, 303, 566, 304, 567, 305, 568, 219, - 220, 221, 309, 310, 222, 521, 934, 935, 936, 1108, - 1260, 1261, 223, 515, 57, 77, 926, 927, 928, 1102, - 59, 78, 400, 401, 402, 403, 404, 405, 406, 595, - 407, 599, 408, 598, 409, 410, 600, 411, 224, 516, - 930, 931, 932, 1105, 61, 79, 423, 424, 425, 426, - 427, 604, 428, 429, 430, 431, 432, 433, 608, 312, - 559, 1058, 1059, 1060, 1177, 51, 74, 340, 341, 342, - 573, 343, 225, 522, 226, 523, 315, 560, 1062, 1063, - 1064, 1180, 53, 75, 360, 361, 362, 577, 363, 364, - 579, 365, 366, 227, 532, 961, 962, 963, 1123, 55, - 76, 379, 380, 381, 382, 585, 383, 586, 384, 587, - 385, 588, 386, 589, 387, 590, 388, 591, 389, 584, - 317, 570, 1066, 228, 531, 958, 959, 1120, 1287, 1288, - 1289, 1290, 1291, 1374, 1292, 1375, 1293, 1294, 229, 535, - 991, 992, 993, 1137, 1385, 994, 995, 1138, 996, 997, - 230, 231, 538, 232, 539, 1032, 1033, 1034, 1158, 1022, - 1023, 1024, 1149, 1390, 1025, 1150, 1026, 1151, 1027, 1028, - 1029, 1155, 1426, 1427, 1428, 1441, 1456, 1457, 1458, 1468, - 1030, 1153, 1419, 1420, 1421, 1435, 1464, 1422, 1436, 1423, - 1437, 1424, 1438, 1475, 1476, 1477, 1493, 1511, 1512, 1513, - 1522, 1514, 1523, 233, 540, 1041, 1042, 1043, 1044, 1162, - 1045, 1046, 1164, 234, 541, 65, 81, 454, 455, 456, - 457, 616, 458, 459, 618, 460, 461, 462, 621, 856, - 463, 622, 235, 479, 67, 82, 466, 467, 468, 625, - 469, 236, 547, 1049, 1050, 1168, 1339, 1340, 1341, 1342, - 1400, 1343, 1398, 1461, 1462, 1471, 1485, 1486, 1487, 1497, - 1488, 1489, 1490, 1491, 1501, 237, 548, 1053, 1054, 1055 + 804, 87, 88, 41, 68, 84, 85, 825, 1060, 1179, + 1180, 894, 43, 70, 90, 477, 91, 45, 71, 165, + 166, 167, 480, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 280, 181, 182, 183, + 184, 185, 506, 789, 186, 507, 187, 508, 188, 189, + 190, 522, 801, 191, 192, 193, 194, 195, 544, 196, + 545, 197, 198, 199, 200, 500, 201, 202, 520, 203, + 521, 204, 205, 206, 207, 482, 47, 72, 244, 245, + 246, 554, 247, 248, 249, 250, 208, 483, 209, 484, + 210, 485, 922, 923, 924, 1100, 895, 896, 897, 1075, + 898, 1076, 899, 1077, 900, 1078, 901, 902, 599, 903, + 904, 905, 906, 907, 908, 909, 910, 911, 1089, 1365, + 912, 913, 914, 915, 1092, 916, 1093, 917, 1094, 918, + 1095, 919, 1096, 211, 532, 957, 958, 959, 1120, 960, + 1121, 212, 529, 943, 944, 945, 946, 213, 531, 951, + 952, 953, 954, 214, 530, 215, 539, 1006, 1007, 1008, + 1009, 1010, 216, 535, 969, 970, 971, 1130, 63, 80, + 441, 442, 443, 614, 444, 615, 217, 536, 978, 979, + 980, 981, 982, 983, 984, 985, 218, 516, 926, 927, + 928, 1103, 49, 73, 299, 300, 301, 564, 302, 565, + 303, 566, 304, 572, 305, 569, 306, 570, 307, 571, + 219, 220, 221, 311, 312, 222, 523, 938, 939, 940, + 1112, 1265, 1266, 223, 517, 57, 77, 930, 931, 932, + 1106, 59, 78, 402, 403, 404, 405, 406, 407, 408, + 598, 409, 602, 410, 601, 411, 412, 603, 413, 224, + 518, 934, 935, 936, 1109, 61, 79, 425, 426, 427, + 428, 429, 607, 430, 431, 432, 433, 434, 435, 611, + 314, 562, 1062, 1063, 1064, 1181, 51, 74, 342, 343, + 344, 576, 345, 225, 524, 226, 525, 317, 563, 1066, + 1067, 1068, 1184, 53, 75, 362, 363, 364, 580, 365, + 366, 582, 367, 368, 227, 534, 965, 966, 967, 1127, + 55, 76, 381, 382, 383, 384, 588, 385, 589, 386, + 590, 387, 591, 388, 592, 389, 593, 390, 594, 391, + 587, 319, 573, 1070, 228, 533, 962, 963, 1124, 1292, + 1293, 1294, 1295, 1296, 1379, 1297, 1380, 1298, 1299, 229, + 537, 995, 996, 997, 1141, 1390, 998, 999, 1142, 1000, + 1001, 230, 231, 540, 232, 541, 1036, 1037, 1038, 1162, + 1026, 1027, 1028, 1153, 1395, 1029, 1154, 1030, 1155, 1031, + 1032, 1033, 1159, 1431, 1432, 1433, 1446, 1461, 1462, 1463, + 1473, 1034, 1157, 1424, 1425, 1426, 1440, 1469, 1427, 1441, + 1428, 1442, 1429, 1443, 1480, 1481, 1482, 1498, 1516, 1517, + 1518, 1527, 1519, 1528, 233, 542, 1045, 1046, 1047, 1048, + 1166, 1049, 1050, 1168, 234, 543, 65, 81, 456, 457, + 458, 459, 619, 460, 461, 621, 462, 463, 464, 624, + 860, 465, 625, 235, 481, 67, 82, 468, 469, 470, + 628, 471, 236, 549, 1053, 1054, 1172, 1344, 1345, 1346, + 1347, 1405, 1348, 1403, 1466, 1467, 1476, 1490, 1491, 1492, + 1502, 1493, 1494, 1495, 1496, 1506, 237, 550, 1057, 1058, + 1059 }; const short Dhcp6Parser::yytable_[] = { - 164, 243, 265, 320, 351, 375, 38, 398, 419, 438, - 451, 1017, 357, 988, 421, 316, 272, 1018, 422, 273, - 1019, 916, 946, 399, 420, 1249, 1250, 1251, 1259, 1265, - 251, 313, 344, 358, 377, 391, 412, 434, 274, 452, - 937, 436, 437, 799, 311, 339, 356, 376, 31, 1507, - 32, 30, 33, 1508, 780, 781, 782, 783, 275, 252, - 314, 345, 359, 378, 1051, 413, 435, 1480, 453, 42, - 1481, 1482, 1483, 1484, 44, 1111, 1412, 266, 1112, 163, - 1507, 46, 864, 865, 1508, 267, 238, 239, 240, 241, - 242, 784, 86, 279, 321, 268, 280, 322, 392, 982, - 393, 394, 464, 465, 868, 395, 396, 397, 1357, 1358, - 1359, 269, 476, 1114, 270, 271, 1115, 477, 281, 323, - 129, 282, 324, 799, 48, 136, 137, 392, 283, 325, - 436, 437, 163, 284, 326, 335, 352, 938, 550, 285, - 327, 854, 855, 551, 287, 328, 288, 329, 557, 289, - 330, 290, 331, 558, 136, 137, 571, 291, 332, 336, - 353, 572, 1121, 292, 333, 1122, 136, 137, 293, 334, - 276, 136, 137, 277, 575, 278, 286, 582, 294, 576, - 295, 296, 583, 50, 136, 137, 306, 613, 307, 136, - 137, 308, 614, 623, 337, 354, 951, 952, 624, 338, - 355, 863, 864, 865, 866, 867, 868, 869, 870, 871, - 872, 873, 874, 875, 876, 877, 52, 54, 56, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 889, 58, 60, 392, 1413, 1414, 1415, 983, 984, 985, - 986, 62, 1504, 1505, 627, 64, 880, 881, 882, 628, - 130, 163, 136, 137, 66, 89, 1332, 550, 1333, 1334, - 136, 137, 1068, 1169, 392, 470, 1170, 98, 99, 100, - 101, 102, 103, 346, 347, 348, 349, 350, 136, 137, - 163, 471, 473, 34, 35, 36, 37, 1249, 1250, 1251, - 1259, 1265, 163, 627, 260, 261, 262, 163, 1069, 130, - 392, 263, 319, 827, 828, 829, 998, 999, 1000, 1472, - 163, 472, 1473, 474, 130, 163, 136, 137, 835, 836, - 837, 838, 937, 944, 557, 945, 484, 136, 137, 1070, - 136, 137, 946, 1093, 592, 1451, 1093, 593, 1094, 849, - 1208, 1095, 136, 137, 485, 988, 1272, 1273, 1274, 1275, - 486, 1118, 594, 487, 1135, 1017, 1119, 1017, 367, 1136, - 1142, 1018, 1147, 1018, 1019, 1143, 1019, 1148, 368, 369, - 370, 371, 372, 373, 374, 1009, 488, 489, 163, 1010, - 1011, 1012, 1013, 1156, 602, 490, 163, 491, 1157, 1014, - 1015, 115, 116, 117, 118, 119, 120, 121, 1165, 123, - 124, 125, 126, 1166, 163, 492, 130, 1035, 1036, 1037, - 968, 969, 970, 971, 972, 973, 493, 163, 494, 495, - 134, 883, 884, 885, 886, 887, 888, 318, 623, 609, - 496, 1172, 1093, 1167, 136, 137, 1173, 1366, 571, 1370, - 613, 1156, 163, 1367, 1371, 1381, 1395, 497, 499, 1401, - 260, 261, 262, 163, 1402, 575, 1038, 263, 319, 582, - 1404, 629, 630, 500, 1405, 1387, 1388, 1389, 163, 392, - 414, 393, 394, 415, 416, 417, 1439, 1469, 1502, 164, - 1524, 1440, 1470, 1503, 501, 1525, 243, 793, 794, 795, - 796, 1382, 1383, 1384, 639, 502, 136, 137, 503, 507, - 265, 508, 509, 510, 320, 511, 512, 513, 517, 524, - 525, 351, 418, 316, 272, 251, 526, 273, 536, 357, - 544, 545, 375, 546, 549, 553, 554, 555, 556, 313, - 156, 157, 398, 344, 564, 565, 274, 574, 578, 419, - 358, 580, 311, 581, 252, 421, 339, 597, 399, 422, - 601, 377, 451, 356, 603, 420, 275, 605, 314, 606, - 163, 412, 345, 607, 376, 610, 640, 615, 434, 359, - 617, 619, 620, 626, 632, 266, 631, 633, 634, 635, - 378, 452, 636, 267, 637, 638, 641, 653, 642, 659, - 413, 279, 648, 268, 280, 321, 643, 435, 322, 644, - 660, 645, 646, 661, 651, 647, 649, 650, 652, 269, - 453, 654, 270, 271, 656, 669, 281, 664, 655, 282, - 323, 657, 163, 324, 670, 665, 283, 136, 137, 666, - 325, 284, 658, 662, 663, 326, 335, 285, 667, 668, - 671, 327, 287, 352, 288, 672, 328, 289, 329, 290, - 673, 330, 674, 331, 675, 291, 676, 677, 678, 332, - 336, 292, 679, 680, 682, 333, 293, 353, 276, 683, - 334, 277, 684, 278, 286, 681, 294, 685, 295, 296, - 686, 687, 688, 689, 306, 690, 307, 692, 691, 308, - 693, 694, 695, 696, 697, 337, 698, 699, 700, 702, - 338, 164, 354, 701, 243, 703, 705, 355, 443, 444, - 445, 446, 447, 448, 449, 450, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 706, 707, 711, 251, 708, 712, 713, 709, 714, 987, - 1001, 1016, 715, 717, 451, 718, 719, 720, 1052, 716, - 721, 722, 724, 163, 727, 729, 725, 733, 734, 728, - 735, 859, 252, 736, 737, 738, 730, 731, 989, 1007, - 1020, 739, 1039, 452, 92, 93, 740, 742, 94, 743, - 745, 744, 746, 747, 95, 96, 97, 748, 750, 754, - 751, 752, 753, 756, 757, 759, 760, 990, 1008, 1021, - 762, 1040, 453, 765, 766, 761, 763, 768, 771, 772, - 778, 788, 764, 769, 774, 775, 773, 98, 99, 100, + 164, 243, 266, 322, 353, 377, 38, 400, 421, 440, + 453, 1021, 401, 422, 318, 313, 341, 358, 378, 423, + 359, 267, 424, 1022, 1023, 920, 992, 950, 1234, 1254, + 251, 315, 346, 360, 379, 1255, 414, 436, 1256, 454, + 1264, 1270, 438, 439, 268, 803, 478, 269, 273, 270, + 31, 479, 32, 1512, 33, 1055, 42, 941, 86, 252, + 316, 347, 361, 380, 44, 415, 437, 130, 455, 1513, + 163, 129, 238, 239, 240, 241, 242, 271, 552, 1362, + 1363, 1364, 1417, 553, 1512, 272, 784, 785, 786, 787, + 348, 349, 350, 351, 352, 136, 137, 438, 439, 1115, + 1513, 559, 1116, 89, 281, 323, 560, 282, 324, 858, + 859, 261, 262, 263, 283, 325, 466, 467, 264, 321, + 30, 284, 326, 788, 285, 327, 803, 286, 328, 797, + 798, 799, 800, 163, 287, 329, 986, 289, 330, 290, + 331, 872, 291, 332, 292, 333, 574, 293, 334, 294, + 335, 575, 295, 336, 942, 274, 578, 275, 393, 585, + 276, 579, 277, 278, 586, 279, 1118, 288, 296, 1119, + 297, 136, 137, 136, 137, 298, 1125, 616, 308, 1126, + 309, 310, 617, 337, 354, 338, 355, 339, 356, 340, + 357, 867, 868, 869, 870, 871, 872, 873, 874, 875, + 876, 877, 878, 879, 880, 881, 1387, 1388, 1389, 882, + 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, + 893, 163, 394, 1173, 395, 396, 1174, 136, 137, 397, + 398, 399, 868, 869, 46, 941, 948, 394, 949, 136, + 137, 1418, 1419, 1420, 884, 885, 886, 136, 137, 136, + 137, 955, 956, 1485, 48, 394, 1486, 1487, 1488, 1489, + 1477, 626, 50, 1478, 136, 137, 627, 972, 973, 974, + 975, 976, 977, 52, 54, 987, 988, 989, 990, 98, + 99, 100, 101, 102, 103, 630, 34, 35, 36, 37, + 631, 1234, 1254, 1002, 1003, 1004, 56, 163, 1255, 163, + 58, 1256, 60, 1264, 1270, 394, 416, 395, 396, 417, + 418, 419, 130, 394, 552, 136, 137, 62, 472, 1072, + 64, 66, 136, 137, 1039, 1040, 1041, 473, 475, 136, + 137, 474, 136, 137, 476, 596, 394, 950, 486, 1456, + 136, 137, 630, 130, 1212, 559, 1097, 1073, 420, 487, + 1074, 1098, 488, 163, 489, 1021, 490, 1021, 992, 1277, + 1278, 1279, 1280, 136, 137, 163, 491, 1022, 1023, 1022, + 1023, 136, 137, 1042, 1013, 163, 492, 1097, 1014, 1015, + 1016, 1017, 1099, 1392, 1393, 1394, 1122, 369, 1018, 1019, + 163, 1123, 493, 1509, 1510, 494, 495, 370, 371, 372, + 373, 374, 375, 376, 1139, 595, 496, 497, 163, 1140, + 445, 446, 447, 448, 449, 450, 451, 452, 115, 116, + 117, 118, 119, 120, 121, 1146, 123, 124, 125, 126, + 1147, 498, 1151, 130, 831, 832, 833, 1152, 1160, 1169, + 626, 163, 499, 1161, 1170, 1171, 501, 134, 163, 839, + 840, 841, 842, 502, 320, 163, 503, 504, 163, 505, + 509, 136, 137, 632, 633, 1337, 163, 1338, 1339, 510, + 853, 887, 888, 889, 890, 891, 892, 261, 262, 263, + 511, 164, 1176, 597, 264, 321, 1097, 1177, 243, 163, + 574, 1371, 512, 1375, 616, 1372, 1160, 163, 1376, 1386, + 1406, 1400, 513, 266, 578, 1407, 585, 322, 1444, 1409, + 514, 1410, 515, 1445, 353, 318, 313, 251, 1474, 1507, + 341, 1529, 267, 1475, 1508, 377, 1530, 358, 519, 526, + 359, 527, 315, 528, 538, 400, 346, 546, 378, 547, + 401, 548, 421, 360, 551, 268, 252, 422, 269, 273, + 270, 555, 556, 423, 379, 453, 424, 156, 157, 557, + 558, 316, 561, 567, 414, 347, 568, 577, 581, 583, + 584, 436, 361, 600, 604, 605, 606, 634, 271, 608, + 609, 610, 612, 380, 454, 613, 272, 163, 618, 620, + 622, 623, 629, 415, 635, 636, 637, 638, 639, 640, + 437, 641, 642, 643, 656, 281, 644, 645, 282, 323, + 646, 647, 324, 455, 650, 283, 651, 648, 649, 325, + 652, 653, 284, 654, 655, 285, 326, 657, 286, 327, + 659, 658, 328, 662, 660, 287, 663, 661, 289, 329, + 290, 664, 330, 291, 331, 292, 668, 332, 293, 333, + 294, 665, 334, 295, 335, 666, 274, 336, 275, 667, + 669, 276, 670, 277, 278, 671, 279, 672, 288, 296, + 673, 297, 674, 675, 676, 677, 298, 678, 679, 308, + 680, 309, 310, 681, 682, 683, 685, 337, 684, 338, + 686, 339, 687, 340, 354, 688, 355, 689, 356, 690, + 357, 691, 692, 693, 694, 164, 695, 696, 243, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 708, 715, 716, 709, 251, 710, 714, + 717, 711, 712, 991, 1005, 1020, 718, 719, 453, 720, + 722, 723, 1056, 721, 724, 725, 726, 728, 731, 729, + 733, 732, 734, 735, 737, 863, 252, 738, 739, 740, + 741, 1102, 993, 1011, 1024, 742, 1043, 454, 92, 93, + 743, 744, 94, 746, 747, 748, 749, 750, 95, 96, + 97, 751, 754, 752, 755, 756, 757, 758, 760, 761, + 764, 994, 1012, 1025, 763, 1044, 455, 766, 769, 770, + 765, 772, 775, 767, 768, 861, 776, 778, 779, 780, + 773, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 781, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 777, 782, 783, 790, 791, + 792, 793, 794, 795, 796, 131, 132, 133, 134, 802, + 32, 805, 806, 135, 807, 808, 820, 810, 809, 811, + 812, 817, 136, 137, 813, 814, 815, 816, 818, 138, + 139, 140, 141, 142, 143, 144, 819, 821, 145, 822, + 823, 824, 826, 827, 862, 828, 829, 146, 830, 835, + 834, 921, 925, 836, 929, 933, 147, 937, 837, 148, + 961, 838, 843, 964, 844, 845, 149, 968, 846, 1035, + 847, 848, 1052, 849, 150, 151, 1061, 850, 1065, 152, + 153, 851, 852, 370, 1079, 854, 856, 857, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1090, 154, 1091, + 1101, 1105, 155, 1104, 1108, 1107, 1110, 1111, 1113, 1114, + 1194, 1117, 1129, 1128, 1131, 1132, 1163, 1133, 156, 157, + 158, 159, 160, 161, 1134, 1135, 1136, 1137, 1138, 1143, + 1144, 1145, 162, 1148, 1149, 1150, 1156, 1158, 1164, 1178, + 1165, 1167, 1175, 1183, 1193, 1182, 1186, 1185, 163, 1353, + 1187, 1188, 1189, 1190, 1191, 1192, 1195, 1196, 1203, 1204, + 1197, 1206, 1207, 1198, 1208, 1209, 1199, 1200, 1201, 1210, + 1274, 1202, 266, 1205, 1275, 400, 1312, 1313, 421, 1305, + 401, 1220, 1306, 422, 318, 313, 1253, 1322, 1307, 423, + 1323, 267, 424, 1281, 1267, 1308, 377, 1309, 1288, 440, + 1221, 315, 1310, 1314, 414, 1315, 1289, 436, 1316, 378, + 1268, 1324, 1282, 1318, 268, 991, 1319, 269, 273, 270, + 1005, 1320, 1290, 1222, 1325, 379, 1223, 1227, 1224, 1020, + 316, 1020, 1326, 415, 1327, 1283, 437, 1328, 1284, 1269, + 1285, 1340, 1332, 1333, 993, 1056, 1341, 271, 1334, 1011, + 322, 1291, 1335, 353, 380, 272, 1225, 1350, 1024, 1352, + 1024, 1381, 1373, 341, 1226, 1358, 358, 1043, 1286, 359, + 1342, 1359, 1360, 994, 281, 1374, 1287, 282, 1012, 346, + 1382, 1361, 360, 1235, 283, 1383, 1236, 1025, 1384, 1025, + 1366, 284, 1367, 1237, 285, 1368, 1044, 286, 1370, 1343, + 1238, 1385, 1377, 1239, 287, 1378, 1240, 289, 347, 290, + 1398, 361, 291, 1241, 292, 1391, 1243, 293, 1244, 294, + 1396, 1245, 295, 1246, 1397, 274, 1247, 275, 1248, 1399, + 276, 1249, 277, 278, 1228, 279, 1229, 288, 296, 1230, + 297, 1231, 1232, 1404, 1233, 298, 1242, 1250, 308, 1251, + 309, 310, 323, 1412, 1252, 324, 1401, 1261, 1408, 1262, + 1263, 1257, 325, 1258, 1413, 1259, 1430, 1260, 1434, 326, + 1435, 1436, 327, 1448, 1447, 328, 1449, 1451, 1414, 1452, + 1453, 1454, 329, 1468, 1483, 330, 1465, 331, 1415, 1472, + 332, 1499, 333, 1438, 1439, 334, 1450, 335, 1479, 1500, + 336, 1503, 1504, 1470, 1471, 1501, 1505, 1521, 1525, 1533, + 1523, 1522, 1534, 1524, 855, 1531, 1532, 1536, 1537, 947, + 864, 866, 1213, 713, 707, 1071, 1211, 1369, 1276, 1273, + 337, 1272, 338, 354, 339, 355, 340, 356, 1321, 357, + 1304, 762, 1303, 1311, 1220, 1214, 1215, 727, 1271, 1253, + 1411, 392, 1217, 1281, 753, 1216, 1219, 1267, 1288, 1218, + 759, 1355, 1354, 1221, 1356, 1402, 1289, 1421, 1357, 736, + 1301, 745, 1282, 1268, 1416, 1340, 1300, 730, 1317, 1331, + 1341, 1302, 1290, 1330, 1329, 1069, 1222, 1464, 1484, 1223, + 1227, 1224, 1455, 1520, 1535, 1283, 1422, 1336, 1284, 865, + 1285, 1051, 1269, 771, 1342, 1437, 1349, 1497, 774, 1526, + 0, 1291, 1351, 1421, 0, 1457, 0, 0, 0, 1225, + 1458, 0, 0, 0, 0, 1423, 0, 1226, 1286, 0, + 0, 0, 0, 1343, 0, 0, 1287, 0, 0, 0, + 0, 0, 1422, 1457, 1459, 0, 1235, 0, 1458, 1236, + 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, + 0, 0, 0, 1238, 0, 0, 1239, 1511, 0, 1240, + 0, 1423, 1459, 1460, 0, 0, 1241, 0, 0, 1243, + 0, 1244, 0, 0, 1245, 0, 1246, 0, 0, 1247, + 0, 1248, 0, 0, 1249, 0, 1514, 1228, 1511, 1229, + 0, 1460, 1230, 0, 1231, 1232, 0, 1233, 0, 1242, + 1250, 0, 1251, 0, 0, 0, 0, 1252, 0, 0, + 1261, 0, 1262, 1263, 1257, 1515, 1258, 1514, 1259, 0, + 1260, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 253, 0, 0, 0, 1515, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 133, 134, 0, 0, 0, + 0, 0, 254, 0, 255, 0, 0, 0, 0, 0, + 136, 137, 256, 257, 258, 259, 260, 138, 139, 140, + 0, 0, 0, 0, 0, 0, 261, 262, 263, 0, + 0, 0, 0, 264, 0, 146, 0, 0, 0, 0, + 0, 0, 0, 265, 0, 0, 0, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 776, 777, 779, 786, 787, 789, 790, 791, 792, 798, - 131, 132, 133, 134, 32, 801, 802, 803, 135, 804, - 805, 806, 807, 808, 816, 813, 809, 136, 137, 810, - 811, 812, 814, 815, 138, 139, 140, 141, 142, 143, - 144, 817, 818, 145, 820, 819, 822, 823, 824, 825, - 831, 826, 146, 830, 832, 857, 833, 834, 858, 839, - 840, 147, 841, 917, 148, 842, 921, 925, 929, 933, - 843, 149, 844, 957, 845, 846, 960, 964, 1031, 150, - 151, 847, 1048, 848, 152, 153, 850, 852, 853, 1057, - 1061, 368, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1086, 154, 1087, 1097, 1098, 155, 1100, 1101, - 1103, 1104, 1107, 1106, 1110, 1174, 1109, 1125, 1113, 1124, - 1128, 1127, 1129, 156, 157, 158, 159, 160, 161, 1130, - 1131, 1132, 1133, 1134, 1139, 1140, 1141, 162, 1144, 1145, - 1146, 1152, 1154, 1160, 1179, 1159, 1161, 1163, 1171, 1189, - 1182, 1178, 1181, 163, 1185, 1184, 1183, 1186, 1187, 1188, - 1191, 1190, 1193, 1192, 1199, 1194, 1202, 1203, 1195, 1204, - 1205, 1196, 1197, 1198, 1206, 1269, 1200, 1201, 265, 1270, - 1307, 398, 1300, 1308, 419, 1301, 1302, 1216, 1303, 1304, - 421, 316, 272, 1317, 422, 273, 1318, 399, 1319, 1276, - 420, 1223, 375, 1248, 1224, 438, 1305, 313, 1309, 1310, - 412, 1311, 1313, 434, 274, 1283, 1263, 1314, 1315, 1320, - 311, 987, 1321, 1225, 1322, 1323, 1001, 1327, 1285, 1262, - 1328, 377, 1329, 1330, 275, 1016, 314, 1016, 1345, 413, - 1347, 1284, 435, 1226, 376, 1264, 1348, 1335, 1353, 1354, - 989, 1052, 1368, 266, 1369, 1007, 320, 1286, 1376, 351, - 378, 267, 1217, 1336, 1020, 1377, 1020, 357, 1355, 279, - 1218, 268, 280, 1039, 1277, 1356, 1337, 1378, 1230, 990, - 1219, 1231, 1278, 1379, 1008, 344, 1361, 269, 358, 1362, - 270, 271, 1279, 1021, 281, 1021, 1220, 282, 339, 1221, - 1222, 356, 1040, 1232, 283, 1338, 1233, 1363, 1280, 284, - 1380, 1281, 1282, 1234, 345, 285, 1365, 359, 1235, 1252, - 287, 1372, 288, 1393, 1236, 289, 1373, 290, 1394, 1238, - 1399, 1239, 1407, 291, 1240, 1408, 1241, 1425, 1429, 292, - 1431, 1386, 1242, 1253, 293, 1391, 276, 321, 1243, 277, - 322, 278, 286, 1244, 294, 1227, 295, 296, 1228, 1392, - 1229, 1237, 306, 1245, 307, 1246, 1247, 308, 1442, 1443, - 1444, 1256, 323, 1257, 1430, 324, 1258, 1446, 1254, 1447, - 1448, 1449, 325, 1255, 1463, 1460, 1467, 326, 335, 1474, - 1478, 352, 1396, 327, 1409, 1494, 1403, 1433, 328, 1434, - 329, 1410, 1495, 330, 1445, 331, 1498, 1465, 1466, 1496, - 1499, 332, 336, 1500, 1516, 353, 1517, 333, 1518, 1519, - 1520, 1526, 334, 1527, 1528, 1529, 1531, 1532, 710, 943, - 704, 860, 862, 1209, 851, 1067, 1207, 1364, 1271, 1267, - 1316, 1299, 1298, 1306, 1268, 1211, 1210, 337, 723, 1216, - 354, 1266, 338, 1406, 1213, 355, 390, 758, 1276, 1212, - 749, 1215, 1350, 1223, 755, 1248, 1224, 1214, 1349, 726, - 1397, 1352, 1416, 1297, 1283, 1312, 1296, 1351, 1263, 741, - 1335, 732, 1411, 1326, 1459, 1225, 1295, 1285, 1324, 1325, - 1479, 1262, 1065, 1450, 1515, 1530, 1336, 1047, 1432, 767, - 1284, 1417, 1331, 861, 1492, 1226, 770, 1264, 1344, 1337, - 1521, 0, 0, 0, 1346, 0, 1286, 0, 1416, 0, - 1452, 0, 0, 0, 1217, 0, 0, 0, 0, 0, - 1418, 0, 1218, 1277, 0, 0, 1453, 0, 1338, 0, - 1230, 1278, 1219, 1231, 0, 0, 0, 1417, 1452, 1454, - 0, 1279, 0, 0, 0, 0, 0, 0, 1220, 0, - 0, 1221, 1222, 0, 1453, 1232, 0, 1280, 1233, 0, - 1281, 1282, 1506, 0, 0, 1234, 1418, 1454, 1455, 0, - 1235, 1252, 0, 0, 0, 0, 1236, 0, 0, 0, - 0, 1238, 0, 1239, 0, 0, 1240, 0, 1241, 0, - 0, 1509, 0, 1506, 1242, 1253, 1455, 0, 0, 0, - 1243, 0, 0, 0, 0, 1244, 0, 1227, 0, 0, - 1228, 0, 1229, 1237, 0, 1245, 0, 1246, 1247, 0, - 1510, 0, 1509, 1256, 0, 1257, 0, 0, 1258, 0, - 1254, 0, 0, 0, 0, 1255, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 0, - 0, 1510, 0, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 0, 0, 130, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 0, 0, 0, 0, 0, 253, 0, - 254, 0, 0, 0, 0, 0, 136, 137, 255, 256, - 257, 258, 259, 138, 139, 140, 0, 0, 0, 0, - 0, 0, 260, 261, 262, 0, 0, 0, 0, 263, - 0, 146, 0, 0, 0, 0, 0, 0, 0, 264, - 0, 0, 0, 0, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 0, 0, 0, - 0, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 0, 130, 392, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 133, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 157, 136, 137, 0, 256, 257, 0, - 259, 138, 139, 140, 0, 0, 0, 0, 0, 0, - 260, 261, 262, 0, 0, 0, 0, 263, 0, 0, - 0, 0, 163, 0, 0, 0, 0, 264, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 130, 394, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 132, 133, 134, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 157, 136, 137, + 0, 257, 258, 0, 260, 138, 139, 140, 0, 0, + 0, 0, 0, 0, 261, 262, 263, 0, 0, 0, + 0, 264, 0, 0, 0, 0, 163, 0, 0, 0, + 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 163 + 0, 0, 0, 0, 163 }; const short Dhcp6Parser::yycheck_[] = { 71, 72, 73, 74, 75, 76, 16, 78, 79, 80, - 81, 812, 75, 810, 79, 73, 73, 812, 79, 73, - 812, 777, 804, 78, 79, 1108, 1108, 1108, 1108, 1108, - 72, 73, 74, 75, 76, 24, 78, 79, 73, 81, - 143, 149, 150, 677, 73, 74, 75, 76, 5, 1493, - 7, 0, 9, 1493, 206, 207, 208, 209, 73, 72, - 73, 74, 75, 76, 225, 78, 79, 217, 81, 7, - 220, 221, 222, 223, 7, 3, 24, 73, 6, 240, - 1524, 7, 25, 26, 1524, 73, 16, 17, 18, 19, - 20, 243, 240, 73, 74, 73, 73, 74, 87, 24, - 89, 90, 13, 14, 29, 94, 95, 96, 39, 40, - 41, 73, 3, 3, 73, 73, 6, 8, 73, 74, - 85, 73, 74, 757, 7, 114, 115, 87, 73, 74, - 149, 150, 240, 73, 74, 74, 75, 240, 3, 73, - 74, 203, 204, 8, 73, 74, 73, 74, 3, 73, - 74, 73, 74, 8, 114, 115, 3, 73, 74, 74, - 75, 8, 3, 73, 74, 6, 114, 115, 73, 74, - 73, 114, 115, 73, 3, 73, 73, 3, 73, 8, - 73, 73, 8, 7, 114, 115, 73, 3, 73, 114, - 115, 73, 8, 3, 74, 75, 128, 129, 8, 74, + 81, 816, 78, 79, 73, 73, 74, 75, 76, 79, + 75, 73, 79, 816, 816, 781, 814, 808, 1112, 1112, + 72, 73, 74, 75, 76, 1112, 78, 79, 1112, 81, + 1112, 1112, 150, 151, 73, 680, 3, 73, 73, 73, + 5, 8, 7, 1498, 9, 226, 7, 144, 241, 72, + 73, 74, 75, 76, 7, 78, 79, 87, 81, 1498, + 241, 86, 16, 17, 18, 19, 20, 73, 3, 39, + 40, 41, 24, 8, 1529, 73, 207, 208, 209, 210, + 110, 111, 112, 113, 114, 115, 116, 150, 151, 3, + 1529, 3, 6, 10, 73, 74, 8, 73, 74, 204, + 205, 131, 132, 133, 73, 74, 13, 14, 138, 139, + 0, 73, 74, 244, 73, 74, 761, 73, 74, 102, + 103, 104, 105, 241, 73, 74, 24, 73, 74, 73, + 74, 29, 73, 74, 73, 74, 3, 73, 74, 73, + 74, 8, 73, 74, 241, 73, 3, 73, 24, 3, + 73, 8, 73, 73, 8, 73, 3, 73, 73, 6, + 73, 115, 116, 115, 116, 73, 3, 3, 73, 6, + 73, 73, 8, 74, 75, 74, 75, 74, 75, 74, 75, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 7, 7, 7, 42, + 33, 34, 35, 36, 37, 38, 160, 161, 162, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 7, 7, 87, 182, 183, 184, 162, 163, 164, - 165, 7, 185, 186, 3, 7, 44, 45, 46, 8, - 86, 240, 114, 115, 7, 10, 216, 3, 218, 219, - 114, 115, 8, 3, 87, 6, 6, 54, 55, 56, - 57, 58, 59, 109, 110, 111, 112, 113, 114, 115, - 240, 3, 8, 240, 241, 242, 243, 1370, 1370, 1370, - 1370, 1370, 240, 3, 130, 131, 132, 240, 8, 86, - 87, 137, 138, 718, 719, 720, 168, 169, 170, 3, - 240, 4, 6, 3, 86, 240, 114, 115, 733, 734, - 735, 736, 143, 144, 3, 146, 4, 114, 115, 8, - 114, 115, 1114, 3, 8, 189, 3, 3, 8, 754, - 1096, 8, 114, 115, 4, 1142, 133, 134, 135, 136, - 4, 3, 8, 4, 3, 1156, 8, 1158, 130, 8, - 3, 1156, 3, 1158, 1156, 8, 1158, 8, 140, 141, - 142, 143, 144, 145, 146, 173, 4, 4, 240, 177, - 178, 179, 180, 3, 8, 4, 240, 4, 8, 187, - 188, 71, 72, 73, 74, 75, 76, 77, 3, 79, - 80, 81, 82, 8, 240, 4, 86, 191, 192, 193, - 152, 153, 154, 155, 156, 157, 4, 240, 4, 4, - 100, 47, 48, 49, 50, 51, 52, 107, 3, 8, - 4, 3, 3, 8, 114, 115, 8, 8, 3, 3, - 3, 3, 240, 8, 8, 8, 8, 4, 4, 3, - 130, 131, 132, 240, 8, 3, 240, 137, 138, 3, - 8, 471, 472, 4, 8, 174, 175, 176, 240, 87, - 88, 89, 90, 91, 92, 93, 3, 3, 3, 550, - 3, 8, 8, 8, 4, 8, 557, 101, 102, 103, - 104, 159, 160, 161, 241, 4, 114, 115, 4, 4, - 571, 4, 4, 4, 575, 4, 4, 4, 4, 4, - 4, 582, 130, 571, 571, 557, 4, 571, 4, 582, - 4, 4, 593, 4, 4, 4, 4, 4, 4, 571, - 210, 211, 603, 575, 4, 4, 571, 4, 4, 610, - 582, 4, 571, 4, 557, 610, 575, 4, 603, 610, - 4, 593, 623, 582, 3, 610, 571, 4, 571, 4, - 240, 603, 575, 4, 593, 3, 241, 4, 610, 582, - 4, 4, 4, 4, 4, 571, 240, 4, 4, 4, - 593, 623, 4, 571, 4, 4, 241, 4, 241, 4, - 603, 571, 242, 571, 571, 575, 241, 610, 575, 241, - 4, 241, 241, 4, 241, 243, 242, 242, 241, 571, - 623, 241, 571, 571, 243, 4, 571, 242, 241, 571, - 575, 243, 240, 575, 4, 241, 571, 114, 115, 241, - 575, 571, 243, 243, 243, 575, 575, 571, 241, 243, - 4, 575, 571, 582, 571, 241, 575, 571, 575, 571, - 4, 575, 4, 575, 4, 571, 4, 4, 4, 575, - 575, 571, 243, 243, 4, 575, 571, 582, 571, 4, - 575, 571, 4, 571, 571, 243, 571, 4, 571, 571, - 4, 4, 4, 4, 571, 4, 571, 4, 241, 571, - 4, 4, 4, 4, 4, 575, 4, 243, 243, 4, - 575, 772, 582, 243, 775, 4, 4, 582, 195, 196, - 197, 198, 199, 200, 201, 202, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 243, 243, 4, 775, 241, 4, 4, 241, 4, 810, - 811, 812, 4, 243, 815, 4, 4, 4, 819, 241, - 4, 4, 4, 240, 4, 4, 241, 4, 4, 241, - 4, 771, 775, 4, 4, 4, 241, 241, 810, 811, - 812, 4, 814, 815, 11, 12, 4, 4, 15, 4, - 4, 241, 4, 4, 21, 22, 23, 243, 4, 4, - 243, 243, 243, 4, 4, 243, 4, 810, 811, 812, - 4, 814, 815, 4, 4, 241, 241, 4, 4, 7, - 5, 5, 241, 241, 7, 7, 240, 54, 55, 56, + 53, 241, 88, 3, 90, 91, 6, 115, 116, 95, + 96, 97, 25, 26, 7, 144, 145, 88, 147, 115, + 116, 183, 184, 185, 44, 45, 46, 115, 116, 115, + 116, 129, 130, 218, 7, 88, 221, 222, 223, 224, + 3, 3, 7, 6, 115, 116, 8, 153, 154, 155, + 156, 157, 158, 7, 7, 163, 164, 165, 166, 54, + 55, 56, 57, 58, 59, 3, 241, 242, 243, 244, + 8, 1375, 1375, 169, 170, 171, 7, 241, 1375, 241, + 7, 1375, 7, 1375, 1375, 88, 89, 90, 91, 92, + 93, 94, 87, 88, 3, 115, 116, 7, 6, 8, + 7, 7, 115, 116, 192, 193, 194, 3, 8, 115, + 116, 4, 115, 116, 3, 3, 88, 1118, 4, 190, + 115, 116, 3, 87, 1100, 3, 3, 8, 131, 4, + 8, 8, 4, 241, 4, 1160, 4, 1162, 1146, 134, + 135, 136, 137, 115, 116, 241, 4, 1160, 1160, 1162, + 1162, 115, 116, 241, 174, 241, 4, 3, 178, 179, + 180, 181, 8, 175, 176, 177, 3, 131, 188, 189, + 241, 8, 4, 186, 187, 4, 4, 141, 142, 143, + 144, 145, 146, 147, 3, 8, 4, 4, 241, 8, + 196, 197, 198, 199, 200, 201, 202, 203, 72, 73, + 74, 75, 76, 77, 78, 3, 80, 81, 82, 83, + 8, 4, 3, 87, 722, 723, 724, 8, 3, 3, + 3, 241, 4, 8, 8, 8, 4, 101, 241, 737, + 738, 739, 740, 4, 108, 241, 4, 4, 241, 4, + 4, 115, 116, 473, 474, 217, 241, 219, 220, 4, + 758, 47, 48, 49, 50, 51, 52, 131, 132, 133, + 4, 552, 3, 8, 138, 139, 3, 8, 559, 241, + 3, 8, 4, 3, 3, 8, 3, 241, 8, 8, + 3, 8, 4, 574, 3, 8, 3, 578, 3, 8, + 4, 8, 4, 8, 585, 574, 574, 559, 3, 3, + 578, 3, 574, 8, 8, 596, 8, 585, 4, 4, + 585, 4, 574, 4, 4, 606, 578, 4, 596, 4, + 606, 4, 613, 585, 4, 574, 559, 613, 574, 574, + 574, 4, 4, 613, 596, 626, 613, 211, 212, 4, + 4, 574, 4, 4, 606, 578, 4, 4, 4, 4, + 4, 613, 585, 4, 4, 8, 3, 241, 574, 4, + 4, 4, 8, 596, 626, 3, 574, 241, 4, 4, + 4, 4, 4, 606, 4, 4, 4, 4, 4, 4, + 613, 4, 242, 242, 4, 574, 242, 242, 574, 578, + 242, 242, 578, 626, 244, 574, 243, 242, 242, 578, + 243, 243, 574, 242, 242, 574, 578, 242, 574, 578, + 244, 242, 578, 4, 244, 574, 4, 244, 574, 578, + 574, 4, 578, 574, 578, 574, 242, 578, 574, 578, + 574, 244, 578, 574, 578, 244, 574, 578, 574, 243, + 242, 574, 242, 574, 574, 244, 574, 4, 574, 574, + 4, 574, 4, 242, 4, 4, 574, 4, 4, 574, + 4, 574, 574, 4, 244, 244, 4, 578, 244, 578, + 4, 578, 4, 578, 585, 4, 585, 4, 585, 4, + 585, 4, 4, 4, 242, 776, 4, 4, 779, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 4, 4, 4, 4, 4, 244, 244, + 244, 4, 4, 4, 4, 4, 244, 779, 244, 243, + 4, 242, 242, 814, 815, 816, 4, 4, 819, 242, + 4, 4, 823, 244, 4, 4, 4, 4, 4, 242, + 4, 242, 242, 242, 4, 775, 779, 4, 4, 4, + 4, 3, 814, 815, 816, 4, 818, 819, 11, 12, + 4, 4, 15, 4, 4, 242, 4, 4, 21, 22, + 23, 4, 4, 244, 244, 244, 244, 4, 4, 4, + 4, 814, 815, 816, 244, 818, 819, 4, 4, 4, + 242, 4, 4, 242, 242, 206, 7, 7, 7, 7, + 242, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 7, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 241, 5, 241, 241, 241, + 5, 5, 5, 241, 241, 98, 99, 100, 101, 5, + 7, 241, 5, 106, 5, 5, 241, 5, 7, 5, + 5, 5, 115, 116, 7, 7, 7, 7, 7, 122, + 123, 124, 125, 126, 127, 128, 7, 241, 131, 5, + 7, 5, 5, 5, 5, 241, 241, 140, 241, 7, + 241, 7, 7, 241, 7, 7, 149, 7, 241, 152, + 7, 241, 241, 7, 241, 241, 159, 7, 241, 7, + 241, 241, 7, 241, 167, 168, 7, 241, 7, 172, + 173, 241, 241, 141, 4, 241, 241, 241, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 191, 4, + 6, 3, 195, 6, 3, 6, 6, 3, 6, 3, + 244, 6, 3, 6, 6, 3, 6, 4, 211, 212, + 213, 214, 215, 216, 4, 4, 4, 4, 4, 4, + 4, 4, 225, 4, 4, 4, 4, 4, 3, 241, + 4, 4, 4, 3, 242, 6, 3, 6, 241, 3, + 8, 6, 4, 4, 4, 4, 242, 244, 4, 244, + 242, 4, 4, 242, 4, 4, 242, 242, 242, 4, + 4, 242, 1103, 242, 4, 1106, 4, 4, 1109, 242, + 1106, 1112, 242, 1109, 1103, 1103, 1112, 4, 242, 1109, + 4, 1103, 1109, 1124, 1112, 242, 1127, 242, 1124, 1130, + 1112, 1103, 242, 242, 1106, 242, 1124, 1109, 242, 1127, + 1112, 4, 1124, 244, 1103, 1146, 242, 1103, 1103, 1103, + 1151, 242, 1124, 1112, 242, 1127, 1112, 1112, 1112, 1160, + 1103, 1162, 4, 1106, 244, 1124, 1109, 4, 1124, 1112, + 1124, 1172, 244, 4, 1146, 1176, 1172, 1103, 242, 1151, + 1181, 1124, 4, 1184, 1127, 1103, 1112, 244, 1160, 6, + 1162, 4, 8, 1181, 1112, 241, 1184, 1169, 1124, 1184, + 1172, 241, 241, 1146, 1103, 8, 1124, 1103, 1151, 1181, + 4, 241, 1184, 1112, 1103, 8, 1112, 1160, 3, 1162, + 241, 1103, 241, 1112, 1103, 241, 1169, 1103, 241, 1172, + 1112, 8, 241, 1112, 1103, 241, 1112, 1103, 1181, 1103, + 7, 1184, 1103, 1112, 1103, 241, 1112, 1103, 1112, 1103, + 241, 1112, 1103, 1112, 241, 1103, 1112, 1103, 1112, 5, + 1103, 1112, 1103, 1103, 1112, 1103, 1112, 1103, 1103, 1112, + 1103, 1112, 1112, 4, 1112, 1103, 1112, 1112, 1103, 1112, + 1103, 1103, 1181, 4, 1112, 1181, 241, 1112, 241, 1112, + 1112, 1112, 1181, 1112, 4, 1112, 7, 1112, 4, 1181, + 242, 4, 1181, 3, 6, 1181, 5, 4, 244, 4, + 4, 4, 1181, 182, 4, 1181, 7, 1181, 244, 5, + 1181, 6, 1181, 241, 241, 1181, 241, 1181, 7, 3, + 1181, 4, 4, 241, 241, 241, 4, 4, 4, 4, + 242, 244, 4, 242, 761, 241, 241, 241, 241, 807, + 776, 779, 1102, 559, 552, 862, 1097, 1209, 1122, 1118, + 1181, 1115, 1181, 1184, 1181, 1184, 1181, 1184, 1151, 1184, + 1132, 616, 1130, 1139, 1375, 1103, 1105, 574, 1114, 1375, + 1375, 77, 1108, 1384, 606, 1106, 1111, 1375, 1384, 1109, + 613, 1183, 1181, 1375, 1184, 1335, 1384, 1398, 1186, 585, + 1127, 596, 1384, 1375, 1384, 1406, 1125, 578, 1146, 1164, + 1406, 1129, 1384, 1162, 1160, 835, 1375, 1448, 1474, 1375, + 1375, 1375, 1444, 1500, 1529, 1384, 1398, 1169, 1384, 778, + 1384, 819, 1375, 626, 1406, 1406, 1173, 1477, 630, 1507, + -1, 1384, 1176, 1444, -1, 1446, -1, -1, -1, 1375, + 1446, -1, -1, -1, -1, 1398, -1, 1375, 1384, -1, + -1, -1, -1, 1406, -1, -1, 1384, -1, -1, -1, + -1, -1, 1444, 1474, 1446, -1, 1375, -1, 1474, 1375, + -1, -1, -1, -1, -1, -1, 1375, -1, -1, -1, + -1, -1, -1, 1375, -1, -1, 1375, 1498, -1, 1375, + -1, 1444, 1474, 1446, -1, -1, 1375, -1, -1, 1375, + -1, 1375, -1, -1, 1375, -1, 1375, -1, -1, 1375, + -1, 1375, -1, -1, 1375, -1, 1498, 1375, 1529, 1375, + -1, 1474, 1375, -1, 1375, 1375, -1, 1375, -1, 1375, + 1375, -1, 1375, -1, -1, -1, -1, 1375, -1, -1, + 1375, -1, 1375, 1375, 1375, 1498, 1375, 1529, 1375, -1, + 1375, -1, -1, -1, -1, -1, -1, -1, -1, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, -1, -1, -1, 1529, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 99, 100, 101, -1, -1, -1, + -1, -1, 107, -1, 109, -1, -1, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + -1, -1, -1, -1, -1, -1, 131, 132, 133, -1, + -1, -1, -1, 138, -1, 140, -1, -1, -1, -1, + -1, -1, -1, 148, -1, -1, -1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 7, 7, 240, 240, 240, 5, 5, 240, 240, 5, - 97, 98, 99, 100, 7, 240, 5, 5, 105, 5, - 7, 5, 5, 5, 240, 5, 7, 114, 115, 7, - 7, 7, 7, 7, 121, 122, 123, 124, 125, 126, - 127, 240, 5, 130, 5, 7, 5, 5, 240, 240, - 7, 240, 139, 240, 240, 205, 240, 240, 5, 240, - 240, 148, 240, 7, 151, 240, 7, 7, 7, 7, - 240, 158, 240, 7, 240, 240, 7, 7, 7, 166, - 167, 240, 7, 240, 171, 172, 240, 240, 240, 7, - 7, 140, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 190, 4, 6, 3, 194, 6, 3, - 6, 3, 3, 6, 3, 240, 6, 3, 6, 6, - 3, 6, 4, 210, 211, 212, 213, 214, 215, 4, - 4, 4, 4, 4, 4, 4, 4, 224, 4, 4, - 4, 4, 4, 3, 3, 6, 4, 4, 4, 241, - 3, 6, 6, 240, 4, 6, 8, 4, 4, 4, - 241, 243, 241, 243, 4, 241, 4, 4, 241, 4, - 4, 241, 241, 241, 4, 4, 243, 241, 1099, 4, - 4, 1102, 241, 4, 1105, 241, 241, 1108, 241, 241, - 1105, 1099, 1099, 4, 1105, 1099, 4, 1102, 4, 1120, - 1105, 1108, 1123, 1108, 1108, 1126, 241, 1099, 241, 241, - 1102, 241, 243, 1105, 1099, 1120, 1108, 241, 241, 241, - 1099, 1142, 4, 1108, 243, 4, 1147, 243, 1120, 1108, - 4, 1123, 241, 4, 1099, 1156, 1099, 1158, 243, 1102, - 6, 1120, 1105, 1108, 1123, 1108, 3, 1168, 240, 240, - 1142, 1172, 8, 1099, 8, 1147, 1177, 1120, 4, 1180, - 1123, 1099, 1108, 1168, 1156, 4, 1158, 1180, 240, 1099, - 1108, 1099, 1099, 1165, 1120, 240, 1168, 8, 1108, 1142, - 1108, 1108, 1120, 3, 1147, 1177, 240, 1099, 1180, 240, - 1099, 1099, 1120, 1156, 1099, 1158, 1108, 1099, 1177, 1108, - 1108, 1180, 1165, 1108, 1099, 1168, 1108, 240, 1120, 1099, - 8, 1120, 1120, 1108, 1177, 1099, 240, 1180, 1108, 1108, - 1099, 240, 1099, 7, 1108, 1099, 240, 1099, 5, 1108, - 4, 1108, 4, 1099, 1108, 4, 1108, 7, 4, 1099, - 4, 240, 1108, 1108, 1099, 240, 1099, 1177, 1108, 1099, - 1177, 1099, 1099, 1108, 1099, 1108, 1099, 1099, 1108, 240, - 1108, 1108, 1099, 1108, 1099, 1108, 1108, 1099, 6, 3, - 5, 1108, 1177, 1108, 241, 1177, 1108, 4, 1108, 4, - 4, 4, 1177, 1108, 181, 7, 5, 1177, 1177, 7, - 4, 1180, 240, 1177, 243, 6, 240, 240, 1177, 240, - 1177, 243, 3, 1177, 240, 1177, 4, 240, 240, 240, - 4, 1177, 1177, 4, 4, 1180, 243, 1177, 241, 241, - 4, 240, 1177, 240, 4, 4, 240, 240, 557, 803, - 550, 772, 775, 1098, 757, 858, 1093, 1205, 1118, 1111, - 1147, 1128, 1126, 1135, 1114, 1101, 1099, 1177, 571, 1370, - 1180, 1110, 1177, 1370, 1104, 1180, 77, 613, 1379, 1102, - 603, 1107, 1179, 1370, 610, 1370, 1370, 1105, 1177, 575, - 1330, 1182, 1393, 1125, 1379, 1142, 1123, 1180, 1370, 593, - 1401, 582, 1379, 1160, 1443, 1370, 1121, 1379, 1156, 1158, - 1469, 1370, 831, 1439, 1495, 1524, 1401, 815, 1401, 623, - 1379, 1393, 1165, 774, 1472, 1370, 627, 1370, 1169, 1401, - 1502, -1, -1, -1, 1172, -1, 1379, -1, 1439, -1, - 1441, -1, -1, -1, 1370, -1, -1, -1, -1, -1, - 1393, -1, 1370, 1379, -1, -1, 1441, -1, 1401, -1, - 1370, 1379, 1370, 1370, -1, -1, -1, 1439, 1469, 1441, - -1, 1379, -1, -1, -1, -1, -1, -1, 1370, -1, - -1, 1370, 1370, -1, 1469, 1370, -1, 1379, 1370, -1, - 1379, 1379, 1493, -1, -1, 1370, 1439, 1469, 1441, -1, - 1370, 1370, -1, -1, -1, -1, 1370, -1, -1, -1, - -1, 1370, -1, 1370, -1, -1, 1370, -1, 1370, -1, - -1, 1493, -1, 1524, 1370, 1370, 1469, -1, -1, -1, - 1370, -1, -1, -1, -1, 1370, -1, 1370, -1, -1, - 1370, -1, 1370, 1370, -1, 1370, -1, 1370, 1370, -1, - 1493, -1, 1524, 1370, -1, 1370, -1, -1, 1370, -1, - 1370, -1, -1, -1, -1, 1370, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, - -1, 1524, -1, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, 86, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 98, 99, 100, -1, -1, -1, -1, -1, 106, -1, - 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, - -1, -1, 130, 131, 132, -1, -1, -1, -1, 137, - -1, 139, -1, -1, -1, -1, -1, -1, -1, 147, - -1, -1, -1, -1, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, - -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, - 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 210, 211, 114, 115, -1, 117, 118, -1, - 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, - 130, 131, 132, -1, -1, -1, -1, 137, -1, -1, - -1, -1, 240, -1, -1, -1, -1, 147, -1, -1, + 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, + 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 99, 100, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 115, 116, + -1, 118, 119, -1, 121, 122, 123, 124, -1, -1, + -1, -1, -1, -1, 131, 132, 133, -1, -1, -1, + -1, 138, -1, -1, -1, -1, 241, -1, -1, -1, + -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 210, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 240 + -1, -1, -1, -1, 241 }; const short Dhcp6Parser::yystos_[] = { - 0, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 0, 5, 7, 9, 240, 241, 242, 243, 260, 261, - 262, 267, 7, 276, 7, 281, 7, 339, 7, 455, - 7, 539, 7, 556, 7, 573, 7, 488, 7, 494, - 7, 518, 7, 431, 7, 689, 7, 708, 268, 263, - 277, 282, 340, 456, 540, 557, 574, 489, 495, 519, - 432, 690, 709, 260, 269, 270, 240, 265, 266, 10, - 278, 280, 11, 12, 15, 21, 22, 23, 54, 55, + 0, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 0, 5, 7, 9, 241, 242, 243, 244, 261, 262, + 263, 268, 7, 277, 7, 282, 7, 341, 7, 457, + 7, 541, 7, 558, 7, 575, 7, 490, 7, 496, + 7, 520, 7, 433, 7, 691, 7, 710, 269, 264, + 278, 283, 342, 458, 542, 559, 576, 491, 497, 521, + 434, 692, 711, 261, 270, 271, 241, 266, 267, 10, + 279, 281, 11, 12, 15, 21, 22, 23, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 97, 98, 99, 100, 105, 114, 115, 121, 122, - 123, 124, 125, 126, 127, 130, 139, 148, 151, 158, - 166, 167, 171, 172, 190, 194, 210, 211, 212, 213, - 214, 215, 224, 240, 275, 283, 284, 285, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 307, 309, 311, 312, - 313, 316, 317, 318, 319, 320, 322, 324, 325, 326, - 327, 329, 330, 332, 334, 335, 336, 337, 349, 351, - 353, 396, 404, 410, 416, 418, 425, 439, 449, 473, - 474, 475, 478, 486, 512, 546, 548, 567, 597, 612, - 624, 625, 627, 677, 687, 706, 715, 739, 16, 17, - 18, 19, 20, 275, 341, 342, 343, 345, 346, 347, - 348, 546, 548, 106, 108, 116, 117, 118, 119, 120, - 130, 131, 132, 137, 147, 275, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 301, - 302, 303, 304, 307, 309, 311, 312, 313, 316, 317, - 318, 319, 320, 322, 324, 330, 332, 457, 458, 459, - 461, 463, 465, 467, 469, 471, 473, 474, 475, 476, - 477, 512, 533, 546, 548, 550, 567, 594, 107, 138, - 275, 301, 302, 303, 304, 307, 309, 311, 313, 316, - 317, 318, 319, 320, 322, 465, 467, 469, 471, 512, - 541, 542, 543, 545, 546, 548, 109, 110, 111, 112, - 113, 275, 465, 467, 469, 471, 512, 545, 546, 548, - 558, 559, 560, 562, 563, 565, 566, 130, 140, 141, - 142, 143, 144, 145, 146, 275, 512, 546, 548, 575, - 576, 577, 578, 580, 582, 584, 586, 588, 590, 592, - 486, 24, 87, 89, 90, 94, 95, 96, 275, 370, - 496, 497, 498, 499, 500, 501, 502, 504, 506, 508, - 509, 511, 546, 548, 88, 91, 92, 93, 130, 275, - 370, 500, 506, 520, 521, 522, 523, 524, 526, 527, - 528, 529, 530, 531, 546, 548, 149, 150, 275, 433, - 434, 435, 437, 195, 196, 197, 198, 199, 200, 201, - 202, 275, 546, 548, 691, 692, 693, 694, 696, 697, - 699, 700, 701, 704, 13, 14, 710, 711, 712, 714, - 6, 3, 4, 8, 3, 279, 3, 8, 286, 707, - 338, 350, 352, 354, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 328, 4, - 4, 4, 4, 4, 305, 308, 310, 4, 4, 4, - 4, 4, 4, 4, 450, 487, 513, 4, 331, 333, - 314, 479, 547, 549, 4, 4, 4, 405, 417, 411, - 397, 598, 568, 426, 440, 613, 4, 419, 626, 628, - 678, 688, 321, 323, 4, 4, 4, 716, 740, 4, - 3, 8, 344, 4, 4, 4, 4, 3, 8, 534, - 551, 460, 462, 464, 4, 4, 468, 470, 472, 466, - 595, 3, 8, 544, 4, 3, 8, 561, 4, 564, - 4, 4, 3, 8, 593, 579, 581, 583, 585, 587, - 589, 591, 8, 3, 8, 503, 371, 4, 507, 505, - 510, 4, 8, 3, 525, 4, 4, 4, 532, 8, - 3, 436, 438, 3, 8, 4, 695, 4, 698, 4, - 4, 702, 705, 3, 8, 713, 4, 3, 8, 260, - 260, 240, 4, 4, 4, 4, 4, 4, 4, 241, - 241, 241, 241, 241, 241, 241, 241, 243, 242, 242, - 242, 241, 241, 4, 241, 241, 243, 243, 243, 4, - 4, 4, 243, 243, 242, 241, 241, 241, 243, 4, - 4, 4, 241, 4, 4, 4, 4, 4, 4, 243, - 243, 243, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 241, 4, 4, 4, 4, 4, 4, 4, 243, - 243, 243, 4, 4, 284, 4, 243, 243, 241, 241, - 342, 4, 4, 4, 4, 4, 241, 243, 4, 4, - 4, 4, 4, 458, 4, 241, 542, 4, 241, 4, - 241, 241, 559, 4, 4, 4, 4, 4, 4, 4, - 4, 577, 4, 4, 241, 4, 4, 4, 243, 498, - 4, 243, 243, 243, 4, 522, 4, 4, 434, 243, - 4, 241, 4, 241, 241, 4, 4, 692, 4, 241, - 711, 4, 7, 240, 7, 7, 7, 7, 5, 240, - 206, 207, 208, 209, 243, 306, 240, 240, 5, 5, - 5, 240, 240, 101, 102, 103, 104, 315, 5, 262, - 264, 240, 5, 5, 5, 7, 5, 5, 5, 7, - 7, 7, 7, 5, 7, 7, 240, 240, 5, 7, - 5, 271, 5, 5, 240, 240, 240, 271, 271, 271, - 240, 7, 240, 240, 240, 271, 271, 271, 271, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 271, - 240, 264, 240, 240, 203, 204, 703, 205, 5, 260, - 283, 710, 341, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 275, 359, 360, 361, 363, 365, 367, 369, 370, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, - 385, 386, 388, 390, 392, 394, 359, 7, 355, 356, - 357, 7, 451, 452, 453, 7, 490, 491, 492, 7, - 514, 515, 516, 7, 480, 481, 482, 143, 240, 406, - 407, 408, 409, 269, 144, 146, 408, 412, 413, 414, - 415, 128, 129, 398, 399, 400, 402, 7, 599, 600, - 7, 569, 570, 571, 7, 427, 428, 429, 152, 153, - 154, 155, 156, 157, 441, 442, 443, 444, 445, 446, - 447, 448, 24, 162, 163, 164, 165, 275, 372, 546, - 548, 614, 615, 616, 619, 620, 622, 623, 168, 169, - 170, 275, 420, 421, 422, 423, 424, 546, 548, 173, - 177, 178, 179, 180, 187, 188, 275, 386, 388, 390, - 546, 548, 633, 634, 635, 638, 640, 642, 643, 644, - 654, 7, 629, 630, 631, 191, 192, 193, 240, 546, - 548, 679, 680, 681, 682, 684, 685, 691, 7, 717, - 718, 225, 275, 741, 742, 743, 272, 7, 535, 536, - 537, 7, 552, 553, 554, 578, 596, 355, 8, 8, - 8, 362, 364, 366, 368, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 381, 4, 4, 387, 389, - 391, 393, 395, 3, 8, 8, 358, 6, 3, 454, - 6, 3, 493, 6, 3, 517, 6, 3, 483, 6, - 3, 3, 6, 6, 3, 6, 401, 403, 3, 8, - 601, 3, 6, 572, 6, 3, 430, 6, 3, 4, - 4, 4, 4, 4, 4, 3, 8, 617, 621, 4, - 4, 4, 3, 8, 4, 4, 4, 3, 8, 636, - 639, 641, 4, 655, 4, 645, 3, 8, 632, 6, - 3, 4, 683, 4, 686, 3, 8, 8, 719, 3, - 6, 4, 3, 8, 240, 273, 274, 538, 6, 3, - 555, 6, 3, 8, 6, 4, 4, 4, 4, 241, - 243, 241, 243, 241, 241, 241, 241, 241, 241, 4, - 243, 241, 4, 4, 4, 4, 4, 360, 359, 357, - 457, 453, 496, 492, 520, 516, 275, 287, 288, 289, + 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 98, 99, 100, 101, 106, 115, 116, 122, 123, + 124, 125, 126, 127, 128, 131, 140, 149, 152, 159, + 167, 168, 172, 173, 191, 195, 211, 212, 213, 214, + 215, 216, 225, 241, 276, 284, 285, 286, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 301, 302, 303, 304, 307, 309, 311, 312, 313, 316, - 317, 318, 319, 320, 322, 324, 330, 332, 370, 449, - 461, 463, 465, 467, 469, 471, 473, 474, 475, 477, - 484, 485, 512, 546, 548, 594, 482, 407, 413, 4, - 4, 399, 133, 134, 135, 136, 275, 287, 288, 289, - 290, 291, 292, 370, 512, 546, 548, 602, 603, 604, - 605, 606, 608, 610, 611, 600, 575, 571, 433, 429, - 241, 241, 241, 241, 241, 241, 442, 4, 4, 241, - 241, 241, 615, 243, 241, 241, 421, 4, 4, 4, - 241, 4, 243, 4, 634, 633, 631, 243, 4, 241, - 4, 680, 216, 218, 219, 275, 370, 546, 548, 720, - 721, 722, 723, 725, 718, 243, 742, 6, 3, 541, - 537, 558, 554, 240, 240, 240, 240, 39, 40, 41, - 382, 240, 240, 240, 392, 240, 8, 8, 8, 8, - 3, 8, 240, 240, 607, 609, 4, 4, 8, 3, - 8, 8, 159, 160, 161, 618, 240, 174, 175, 176, - 637, 240, 240, 7, 5, 8, 240, 260, 726, 4, - 724, 3, 8, 240, 8, 8, 485, 4, 4, 243, - 243, 604, 24, 182, 183, 184, 275, 546, 548, 656, - 657, 658, 661, 663, 665, 7, 646, 647, 648, 4, - 241, 4, 721, 240, 240, 659, 662, 664, 666, 3, - 8, 649, 6, 3, 5, 240, 4, 4, 4, 4, - 657, 189, 275, 370, 546, 548, 650, 651, 652, 648, - 7, 727, 728, 181, 660, 240, 240, 5, 653, 3, - 8, 729, 3, 6, 7, 667, 668, 669, 4, 651, - 217, 220, 221, 222, 223, 730, 731, 732, 734, 735, - 736, 737, 728, 670, 6, 3, 240, 733, 4, 4, - 4, 738, 3, 8, 185, 186, 275, 363, 365, 546, - 548, 671, 672, 673, 675, 669, 4, 243, 241, 241, - 4, 731, 674, 676, 3, 8, 240, 240, 4, 4, - 672, 240, 240 + 300, 302, 303, 304, 305, 306, 309, 311, 313, 314, + 315, 318, 319, 320, 321, 322, 324, 326, 327, 328, + 329, 331, 332, 334, 336, 337, 338, 339, 351, 353, + 355, 398, 406, 412, 418, 420, 427, 441, 451, 475, + 476, 477, 480, 488, 514, 548, 550, 569, 599, 614, + 626, 627, 629, 679, 689, 708, 717, 741, 16, 17, + 18, 19, 20, 276, 343, 344, 345, 347, 348, 349, + 350, 548, 550, 67, 107, 109, 117, 118, 119, 120, + 121, 131, 132, 133, 138, 148, 276, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 303, 304, 305, 306, 309, 311, 313, 314, 315, + 318, 319, 320, 321, 322, 324, 326, 332, 334, 459, + 460, 461, 463, 465, 467, 469, 471, 473, 475, 476, + 477, 478, 479, 514, 535, 548, 550, 552, 569, 596, + 108, 139, 276, 303, 304, 305, 306, 309, 311, 313, + 315, 318, 319, 320, 321, 322, 324, 467, 469, 471, + 473, 514, 543, 544, 545, 547, 548, 550, 110, 111, + 112, 113, 114, 276, 467, 469, 471, 473, 514, 547, + 548, 550, 560, 561, 562, 564, 565, 567, 568, 131, + 141, 142, 143, 144, 145, 146, 147, 276, 514, 548, + 550, 577, 578, 579, 580, 582, 584, 586, 588, 590, + 592, 594, 488, 24, 88, 90, 91, 95, 96, 97, + 276, 372, 498, 499, 500, 501, 502, 503, 504, 506, + 508, 510, 511, 513, 548, 550, 89, 92, 93, 94, + 131, 276, 372, 502, 508, 522, 523, 524, 525, 526, + 528, 529, 530, 531, 532, 533, 548, 550, 150, 151, + 276, 435, 436, 437, 439, 196, 197, 198, 199, 200, + 201, 202, 203, 276, 548, 550, 693, 694, 695, 696, + 698, 699, 701, 702, 703, 706, 13, 14, 712, 713, + 714, 716, 6, 3, 4, 8, 3, 280, 3, 8, + 287, 709, 340, 352, 354, 356, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 330, 4, 4, 4, 4, 4, 307, 310, 312, 4, + 4, 4, 4, 4, 4, 4, 452, 489, 515, 4, + 333, 335, 316, 481, 549, 551, 4, 4, 4, 407, + 419, 413, 399, 600, 570, 428, 442, 615, 4, 421, + 628, 630, 680, 690, 323, 325, 4, 4, 4, 718, + 742, 4, 3, 8, 346, 4, 4, 4, 4, 3, + 8, 4, 536, 553, 462, 464, 466, 4, 4, 470, + 472, 474, 468, 597, 3, 8, 546, 4, 3, 8, + 563, 4, 566, 4, 4, 3, 8, 595, 581, 583, + 585, 587, 589, 591, 593, 8, 3, 8, 505, 373, + 4, 509, 507, 512, 4, 8, 3, 527, 4, 4, + 4, 534, 8, 3, 438, 440, 3, 8, 4, 697, + 4, 700, 4, 4, 704, 707, 3, 8, 715, 4, + 3, 8, 261, 261, 241, 4, 4, 4, 4, 4, + 4, 4, 242, 242, 242, 242, 242, 242, 242, 242, + 244, 243, 243, 243, 242, 242, 4, 242, 242, 244, + 244, 244, 4, 4, 4, 244, 244, 243, 242, 242, + 242, 244, 4, 4, 4, 242, 4, 4, 4, 4, + 4, 4, 244, 244, 244, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 242, 4, 4, 4, 4, 4, + 4, 4, 244, 244, 244, 4, 4, 285, 4, 244, + 244, 242, 242, 344, 243, 4, 4, 4, 4, 4, + 242, 244, 4, 4, 4, 4, 4, 460, 4, 242, + 544, 4, 242, 4, 242, 242, 561, 4, 4, 4, + 4, 4, 4, 4, 4, 579, 4, 4, 242, 4, + 4, 4, 244, 500, 4, 244, 244, 244, 4, 524, + 4, 4, 436, 244, 4, 242, 4, 242, 242, 4, + 4, 694, 4, 242, 713, 4, 7, 241, 7, 7, + 7, 7, 5, 241, 207, 208, 209, 210, 244, 308, + 241, 241, 5, 5, 5, 241, 241, 102, 103, 104, + 105, 317, 5, 263, 265, 241, 5, 5, 5, 7, + 5, 5, 5, 7, 7, 7, 7, 5, 7, 7, + 241, 241, 5, 7, 5, 272, 5, 5, 241, 241, + 241, 272, 272, 272, 241, 7, 241, 241, 241, 272, + 272, 272, 272, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 272, 241, 265, 241, 241, 204, 205, + 705, 206, 5, 261, 284, 712, 343, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 276, 361, 362, 363, 365, 367, + 369, 371, 372, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 385, 386, 387, 388, 390, 392, 394, 396, + 361, 7, 357, 358, 359, 7, 453, 454, 455, 7, + 492, 493, 494, 7, 516, 517, 518, 7, 482, 483, + 484, 144, 241, 408, 409, 410, 411, 270, 145, 147, + 410, 414, 415, 416, 417, 129, 130, 400, 401, 402, + 404, 7, 601, 602, 7, 571, 572, 573, 7, 429, + 430, 431, 153, 154, 155, 156, 157, 158, 443, 444, + 445, 446, 447, 448, 449, 450, 24, 163, 164, 165, + 166, 276, 374, 548, 550, 616, 617, 618, 621, 622, + 624, 625, 169, 170, 171, 276, 422, 423, 424, 425, + 426, 548, 550, 174, 178, 179, 180, 181, 188, 189, + 276, 388, 390, 392, 548, 550, 635, 636, 637, 640, + 642, 644, 645, 646, 656, 7, 631, 632, 633, 192, + 193, 194, 241, 548, 550, 681, 682, 683, 684, 686, + 687, 693, 7, 719, 720, 226, 276, 743, 744, 745, + 273, 7, 537, 538, 539, 7, 554, 555, 556, 580, + 598, 357, 8, 8, 8, 364, 366, 368, 370, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 383, + 4, 4, 389, 391, 393, 395, 397, 3, 8, 8, + 360, 6, 3, 456, 6, 3, 495, 6, 3, 519, + 6, 3, 485, 6, 3, 3, 6, 6, 3, 6, + 403, 405, 3, 8, 603, 3, 6, 574, 6, 3, + 432, 6, 3, 4, 4, 4, 4, 4, 4, 3, + 8, 619, 623, 4, 4, 4, 3, 8, 4, 4, + 4, 3, 8, 638, 641, 643, 4, 657, 4, 647, + 3, 8, 634, 6, 3, 4, 685, 4, 688, 3, + 8, 8, 721, 3, 6, 4, 3, 8, 241, 274, + 275, 540, 6, 3, 557, 6, 3, 8, 6, 4, + 4, 4, 4, 242, 244, 242, 244, 242, 242, 242, + 242, 242, 242, 4, 244, 242, 4, 4, 4, 4, + 4, 362, 361, 359, 459, 455, 498, 494, 522, 518, + 276, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 303, 304, 305, 306, 309, + 311, 313, 314, 315, 318, 319, 320, 321, 322, 324, + 326, 332, 334, 372, 451, 463, 465, 467, 469, 471, + 473, 475, 476, 477, 479, 486, 487, 514, 548, 550, + 596, 484, 409, 415, 4, 4, 401, 134, 135, 136, + 137, 276, 288, 289, 290, 291, 292, 293, 372, 514, + 548, 550, 604, 605, 606, 607, 608, 610, 612, 613, + 602, 577, 573, 435, 431, 242, 242, 242, 242, 242, + 242, 444, 4, 4, 242, 242, 242, 617, 244, 242, + 242, 423, 4, 4, 4, 242, 4, 244, 4, 636, + 635, 633, 244, 4, 242, 4, 682, 217, 219, 220, + 276, 372, 548, 550, 722, 723, 724, 725, 727, 720, + 244, 744, 6, 3, 543, 539, 560, 556, 241, 241, + 241, 241, 39, 40, 41, 384, 241, 241, 241, 394, + 241, 8, 8, 8, 8, 3, 8, 241, 241, 609, + 611, 4, 4, 8, 3, 8, 8, 160, 161, 162, + 620, 241, 175, 176, 177, 639, 241, 241, 7, 5, + 8, 241, 261, 728, 4, 726, 3, 8, 241, 8, + 8, 487, 4, 4, 244, 244, 606, 24, 183, 184, + 185, 276, 548, 550, 658, 659, 660, 663, 665, 667, + 7, 648, 649, 650, 4, 242, 4, 723, 241, 241, + 661, 664, 666, 668, 3, 8, 651, 6, 3, 5, + 241, 4, 4, 4, 4, 659, 190, 276, 372, 548, + 550, 652, 653, 654, 650, 7, 729, 730, 182, 662, + 241, 241, 5, 655, 3, 8, 731, 3, 6, 7, + 669, 670, 671, 4, 653, 218, 221, 222, 223, 224, + 732, 733, 734, 736, 737, 738, 739, 730, 672, 6, + 3, 241, 735, 4, 4, 4, 740, 3, 8, 186, + 187, 276, 365, 367, 548, 550, 673, 674, 675, 677, + 671, 4, 244, 242, 242, 4, 733, 676, 678, 3, + 8, 241, 241, 4, 4, 674, 241, 241 }; const short Dhcp6Parser::yyr1_[] = { - 0, 244, 246, 245, 247, 245, 248, 245, 249, 245, - 250, 245, 251, 245, 252, 245, 253, 245, 254, 245, - 255, 245, 256, 245, 257, 245, 258, 245, 259, 245, - 260, 260, 260, 260, 260, 260, 260, 261, 263, 262, - 264, 265, 265, 266, 266, 266, 268, 267, 269, 269, - 270, 270, 270, 272, 271, 273, 273, 274, 274, 274, - 275, 277, 276, 279, 278, 278, 280, 282, 281, 283, - 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 286, 285, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 305, 304, 306, 306, 306, 306, 306, - 308, 307, 310, 309, 311, 312, 314, 313, 315, 315, - 315, 315, 316, 317, 318, 319, 321, 320, 323, 322, - 324, 325, 326, 328, 327, 329, 331, 330, 333, 332, - 334, 335, 336, 338, 337, 340, 339, 341, 341, 341, - 342, 342, 342, 342, 342, 342, 342, 342, 344, 343, - 345, 346, 347, 348, 350, 349, 352, 351, 354, 353, - 355, 355, 356, 356, 356, 358, 357, 359, 359, 359, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 362, 361, 364, 363, 366, 365, - 368, 367, 369, 371, 370, 372, 373, 374, 375, 376, - 377, 378, 379, 381, 380, 382, 382, 382, 383, 384, - 385, 387, 386, 389, 388, 391, 390, 393, 392, 392, - 392, 392, 392, 392, 395, 394, 397, 396, 398, 398, - 398, 399, 399, 401, 400, 403, 402, 405, 404, 406, - 406, 406, 407, 407, 408, 409, 411, 410, 412, 412, - 412, 413, 413, 413, 414, 415, 417, 416, 419, 418, - 420, 420, 420, 421, 421, 421, 421, 421, 421, 422, - 423, 424, 426, 425, 427, 427, 428, 428, 428, 430, - 429, 432, 431, 433, 433, 433, 433, 434, 434, 436, - 435, 438, 437, 440, 439, 441, 441, 441, 442, 442, - 442, 442, 442, 442, 443, 444, 445, 446, 447, 448, - 450, 449, 451, 451, 452, 452, 452, 454, 453, 456, - 455, 457, 457, 457, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 460, 459, 462, 461, 464, - 463, 466, 465, 468, 467, 470, 469, 472, 471, 473, - 474, 475, 476, 477, 479, 478, 480, 480, 481, 481, - 481, 483, 482, 484, 484, 484, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 487, 486, 489, 488, 490, 490, - 491, 491, 491, 493, 492, 495, 494, 496, 496, 497, - 497, 497, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 499, 500, 501, 503, 502, 505, 504, 507, - 506, 508, 510, 509, 511, 513, 512, 514, 514, 515, - 515, 515, 517, 516, 519, 518, 520, 520, 521, 521, - 521, 522, 522, 522, 522, 522, 522, 522, 522, 522, - 522, 522, 523, 525, 524, 526, 527, 528, 529, 530, - 532, 531, 534, 533, 535, 535, 536, 536, 536, 538, - 537, 540, 539, 541, 541, 541, 542, 542, 542, 542, - 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, - 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, - 544, 543, 545, 547, 546, 549, 548, 551, 550, 552, - 552, 553, 553, 553, 555, 554, 557, 556, 558, 558, - 558, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 561, 560, 562, 564, 563, - 565, 566, 568, 567, 569, 569, 570, 570, 570, 572, - 571, 574, 573, 575, 575, 576, 576, 576, 577, 577, - 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, - 579, 578, 581, 580, 583, 582, 585, 584, 587, 586, - 589, 588, 591, 590, 593, 592, 595, 594, 596, 598, - 597, 599, 599, 599, 601, 600, 602, 602, 603, 603, - 603, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 605, 607, 606, 609, - 608, 610, 611, 613, 612, 614, 614, 614, 615, 615, - 615, 615, 615, 615, 615, 615, 615, 617, 616, 618, - 618, 618, 619, 621, 620, 622, 623, 624, 626, 625, - 628, 627, 629, 629, 630, 630, 630, 632, 631, 633, - 633, 633, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 634, 634, 636, 635, 637, 637, 637, - 639, 638, 641, 640, 642, 643, 645, 644, 646, 646, - 647, 647, 647, 649, 648, 650, 650, 650, 651, 651, - 651, 651, 651, 653, 652, 655, 654, 656, 656, 656, - 657, 657, 657, 657, 657, 657, 657, 659, 658, 660, - 662, 661, 664, 663, 666, 665, 667, 667, 668, 668, - 668, 670, 669, 671, 671, 671, 672, 672, 672, 672, - 672, 672, 672, 674, 673, 676, 675, 678, 677, 679, - 679, 679, 680, 680, 680, 680, 680, 680, 681, 683, - 682, 684, 686, 685, 688, 687, 690, 689, 691, 691, - 691, 692, 692, 692, 692, 692, 692, 692, 692, 692, - 692, 692, 693, 695, 694, 696, 698, 697, 699, 700, - 702, 701, 703, 703, 705, 704, 707, 706, 709, 708, - 710, 710, 710, 711, 711, 713, 712, 714, 716, 715, - 717, 717, 717, 719, 718, 720, 720, 720, 721, 721, - 721, 721, 721, 721, 721, 722, 724, 723, 726, 725, - 727, 727, 727, 729, 728, 730, 730, 730, 731, 731, - 731, 731, 731, 733, 732, 734, 735, 736, 738, 737, - 740, 739, 741, 741, 741, 742, 742, 743 + 0, 245, 247, 246, 248, 246, 249, 246, 250, 246, + 251, 246, 252, 246, 253, 246, 254, 246, 255, 246, + 256, 246, 257, 246, 258, 246, 259, 246, 260, 246, + 261, 261, 261, 261, 261, 261, 261, 262, 264, 263, + 265, 266, 266, 267, 267, 267, 269, 268, 270, 270, + 271, 271, 271, 273, 272, 274, 274, 275, 275, 275, + 276, 278, 277, 280, 279, 279, 281, 283, 282, 284, + 284, 284, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 287, 286, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 307, 306, 308, 308, 308, 308, + 308, 310, 309, 312, 311, 313, 314, 316, 315, 317, + 317, 317, 317, 318, 319, 320, 321, 323, 322, 325, + 324, 326, 327, 328, 330, 329, 331, 333, 332, 335, + 334, 336, 337, 338, 340, 339, 342, 341, 343, 343, + 343, 344, 344, 344, 344, 344, 344, 344, 344, 346, + 345, 347, 348, 349, 350, 352, 351, 354, 353, 356, + 355, 357, 357, 358, 358, 358, 360, 359, 361, 361, + 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, + 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, + 362, 362, 362, 362, 362, 364, 363, 366, 365, 368, + 367, 370, 369, 371, 373, 372, 374, 375, 376, 377, + 378, 379, 380, 381, 383, 382, 384, 384, 384, 385, + 386, 387, 389, 388, 391, 390, 393, 392, 395, 394, + 394, 394, 394, 394, 394, 397, 396, 399, 398, 400, + 400, 400, 401, 401, 403, 402, 405, 404, 407, 406, + 408, 408, 408, 409, 409, 410, 411, 413, 412, 414, + 414, 414, 415, 415, 415, 416, 417, 419, 418, 421, + 420, 422, 422, 422, 423, 423, 423, 423, 423, 423, + 424, 425, 426, 428, 427, 429, 429, 430, 430, 430, + 432, 431, 434, 433, 435, 435, 435, 435, 436, 436, + 438, 437, 440, 439, 442, 441, 443, 443, 443, 444, + 444, 444, 444, 444, 444, 445, 446, 447, 448, 449, + 450, 452, 451, 453, 453, 454, 454, 454, 456, 455, + 458, 457, 459, 459, 459, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 462, 461, 464, + 463, 466, 465, 468, 467, 470, 469, 472, 471, 474, + 473, 475, 476, 477, 478, 479, 481, 480, 482, 482, + 483, 483, 483, 485, 484, 486, 486, 486, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 489, 488, 491, + 490, 492, 492, 493, 493, 493, 495, 494, 497, 496, + 498, 498, 499, 499, 499, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 501, 502, 503, 505, 504, + 507, 506, 509, 508, 510, 512, 511, 513, 515, 514, + 516, 516, 517, 517, 517, 519, 518, 521, 520, 522, + 522, 523, 523, 523, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 525, 527, 526, 528, 529, + 530, 531, 532, 534, 533, 536, 535, 537, 537, 538, + 538, 538, 540, 539, 542, 541, 543, 543, 543, 544, + 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, + 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, + 544, 544, 544, 546, 545, 547, 549, 548, 551, 550, + 553, 552, 554, 554, 555, 555, 555, 557, 556, 559, + 558, 560, 560, 560, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 563, 562, + 564, 566, 565, 567, 568, 570, 569, 571, 571, 572, + 572, 572, 574, 573, 576, 575, 577, 577, 578, 578, + 578, 579, 579, 579, 579, 579, 579, 579, 579, 579, + 579, 579, 579, 581, 580, 583, 582, 585, 584, 587, + 586, 589, 588, 591, 590, 593, 592, 595, 594, 597, + 596, 598, 600, 599, 601, 601, 601, 603, 602, 604, + 604, 605, 605, 605, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 607, + 609, 608, 611, 610, 612, 613, 615, 614, 616, 616, + 616, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 619, 618, 620, 620, 620, 621, 623, 622, 624, 625, + 626, 628, 627, 630, 629, 631, 631, 632, 632, 632, + 634, 633, 635, 635, 635, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 638, 637, + 639, 639, 639, 641, 640, 643, 642, 644, 645, 647, + 646, 648, 648, 649, 649, 649, 651, 650, 652, 652, + 652, 653, 653, 653, 653, 653, 655, 654, 657, 656, + 658, 658, 658, 659, 659, 659, 659, 659, 659, 659, + 661, 660, 662, 664, 663, 666, 665, 668, 667, 669, + 669, 670, 670, 670, 672, 671, 673, 673, 673, 674, + 674, 674, 674, 674, 674, 674, 676, 675, 678, 677, + 680, 679, 681, 681, 681, 682, 682, 682, 682, 682, + 682, 683, 685, 684, 686, 688, 687, 690, 689, 692, + 691, 693, 693, 693, 694, 694, 694, 694, 694, 694, + 694, 694, 694, 694, 694, 695, 697, 696, 698, 700, + 699, 701, 702, 704, 703, 705, 705, 707, 706, 709, + 708, 711, 710, 712, 712, 712, 713, 713, 715, 714, + 716, 718, 717, 719, 719, 719, 721, 720, 722, 722, + 722, 723, 723, 723, 723, 723, 723, 723, 724, 726, + 725, 728, 727, 729, 729, 729, 731, 730, 732, 732, + 732, 733, 733, 733, 733, 733, 735, 734, 736, 737, + 738, 740, 739, 742, 741, 743, 743, 743, 744, 744, + 745 }; const signed char @@ -6735,91 +6748,92 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 3, 3, 0, 4, 1, 1, - 1, 1, 3, 3, 3, 3, 0, 4, 0, 4, - 3, 3, 3, 0, 4, 3, 0, 4, 0, 4, - 3, 3, 3, 0, 6, 0, 4, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 3, 3, 3, 3, 0, 6, 0, 6, 0, 6, - 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 0, 4, 1, 1, 1, 1, + 1, 0, 4, 0, 4, 3, 3, 0, 4, 1, + 1, 1, 1, 3, 3, 3, 3, 0, 4, 0, + 4, 3, 3, 3, 0, 4, 3, 0, 4, 0, + 4, 3, 3, 3, 0, 6, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 3, 3, 3, 3, 0, 6, 0, 6, 0, + 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, - 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 1, 1, 1, 3, 3, - 3, 0, 4, 0, 4, 0, 4, 0, 4, 1, - 1, 1, 1, 1, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 0, 4, 0, 4, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 1, 0, 6, 0, 6, - 1, 3, 2, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 1, 3, 2, 1, 1, 1, 0, - 4, 0, 4, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 0, 4, 3, 0, 4, 3, 3, 3, 3, + 3, 3, 3, 3, 0, 4, 1, 1, 1, 3, + 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, + 1, 1, 1, 1, 1, 0, 4, 0, 6, 1, + 3, 2, 1, 1, 0, 4, 0, 4, 0, 6, + 1, 3, 2, 1, 1, 1, 1, 0, 6, 1, + 3, 2, 1, 1, 1, 1, 1, 0, 6, 0, + 6, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 3, - 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, - 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 3, 3, 3, 3, 3, 0, 6, 0, 1, + 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 6, 0, 4, 0, 1, - 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 0, 4, 0, 4, 0, - 4, 1, 0, 4, 3, 0, 6, 0, 1, 1, - 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 1, 1, 3, 3, 3, - 0, 4, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, + 4, 0, 1, 1, 3, 2, 0, 4, 0, 4, + 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 0, 4, + 0, 4, 0, 4, 1, 0, 4, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 0, + 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, + 3, 3, 3, 0, 4, 0, 6, 0, 1, 1, + 3, 2, 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 3, 0, 4, 0, 4, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, + 1, 1, 1, 0, 4, 3, 0, 4, 0, 4, + 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 4, 3, 3, 0, 6, 0, 1, 1, + 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 3, 0, 4, - 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 6, 1, 0, 6, 1, 3, 2, 0, 4, 0, + 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 6, 1, 0, - 6, 1, 3, 2, 0, 4, 0, 1, 1, 3, + 0, 4, 0, 4, 3, 3, 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 3, 3, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, - 1, 1, 3, 0, 4, 3, 3, 3, 0, 6, - 0, 6, 0, 1, 1, 3, 2, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, - 0, 4, 0, 4, 3, 3, 0, 6, 0, 1, - 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, - 1, 1, 1, 0, 4, 0, 6, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, - 0, 4, 0, 4, 0, 6, 0, 1, 1, 3, - 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 3, 0, - 4, 3, 0, 4, 0, 6, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 3, 0, 4, 3, 3, - 0, 4, 1, 1, 0, 4, 0, 6, 0, 4, - 1, 3, 2, 1, 1, 0, 6, 3, 0, 6, - 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 3, 0, 4, 0, 6, - 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, - 1, 1, 1, 0, 4, 3, 3, 3, 0, 4, - 0, 6, 1, 3, 2, 1, 1, 3 + 0, 4, 1, 1, 1, 3, 0, 4, 3, 3, + 3, 0, 6, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, + 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 0, 4, 0, 6, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 0, 4, 0, 4, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 3, 0, 4, 3, 0, 4, 0, 6, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 0, 4, 3, 0, + 4, 3, 3, 0, 4, 1, 1, 0, 4, 0, + 6, 0, 4, 1, 3, 2, 1, 1, 0, 6, + 3, 0, 6, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 3, 0, + 4, 0, 6, 1, 3, 2, 0, 4, 1, 3, + 2, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 3, 0, 4, 0, 6, 1, 3, 2, 1, 1, + 3 }; @@ -6849,7 +6863,8 @@ namespace isc { namespace dhcp { "\"valid-lifetime\"", "\"min-valid-lifetime\"", "\"max-valid-lifetime\"", "\"renew-timer\"", "\"rebind-timer\"", "\"calculate-tee-times\"", "\"t1-percent\"", "\"t2-percent\"", "\"cache-threshold\"", - "\"cache-max-age\"", "\"decline-probation-period\"", "\"server-tag\"", + "\"cache-max-age\"", "\"adaptive-lease-time-threshold\"", + "\"decline-probation-period\"", "\"server-tag\"", "\"statistic-default-sample-count\"", "\"statistic-default-sample-age\"", "\"ddns-send-updates\"", "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", @@ -6918,12 +6933,12 @@ namespace isc { namespace dhcp { "valid_lifetime", "min_valid_lifetime", "max_valid_lifetime", "renew_timer", "rebind_timer", "calculate_tee_times", "t1_percent", "t2_percent", "cache_threshold", "cache_max_age", - "decline_probation_period", "ddns_send_updates", - "ddns_override_no_update", "ddns_override_client_update", - "ddns_replace_client_name", "$@22", "ddns_replace_client_name_value", - "ddns_generated_prefix", "$@23", "ddns_qualifying_suffix", "$@24", - "ddns_update_on_renew", "ddns_use_conflict_resolution", - "ddns_conflict_resolution_mode", "$@25", + "adaptive_lease_time_threshold", "decline_probation_period", + "ddns_send_updates", "ddns_override_no_update", + "ddns_override_client_update", "ddns_replace_client_name", "$@22", + "ddns_replace_client_name_value", "ddns_generated_prefix", "$@23", + "ddns_qualifying_suffix", "$@24", "ddns_update_on_renew", + "ddns_use_conflict_resolution", "ddns_conflict_resolution_mode", "$@25", "ddns_conflict_resolution_mode_value", "ddns_ttl_percent", "ddns_ttl", "ddns_ttl_min", "ddns_ttl_max", "hostname_char_set", "$@26", "hostname_char_replacement", "$@27", "store_extended_info", @@ -7042,107 +7057,108 @@ namespace isc { namespace dhcp { const short Dhcp6Parser::yyrline_[] = { - 0, 339, 339, 339, 340, 340, 341, 341, 342, 342, - 343, 343, 344, 344, 345, 345, 346, 346, 347, 347, - 348, 348, 349, 349, 350, 350, 351, 351, 352, 352, - 360, 361, 362, 363, 364, 365, 366, 369, 374, 374, - 385, 388, 389, 392, 397, 403, 408, 408, 415, 416, - 419, 423, 427, 433, 433, 440, 441, 444, 448, 452, - 462, 471, 471, 486, 486, 500, 503, 509, 509, 518, - 519, 520, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, - 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, - 595, 596, 597, 598, 601, 601, 611, 617, 623, 629, - 635, 641, 647, 653, 659, 665, 671, 677, 683, 689, - 695, 701, 707, 713, 713, 722, 725, 728, 731, 734, - 740, 740, 749, 749, 758, 767, 777, 777, 786, 789, - 792, 795, 800, 806, 812, 818, 824, 824, 833, 833, - 842, 848, 854, 860, 860, 869, 875, 875, 884, 884, - 893, 899, 905, 911, 911, 923, 923, 932, 933, 934, - 939, 940, 941, 942, 943, 944, 945, 946, 949, 949, - 960, 966, 972, 978, 984, 984, 997, 997, 1010, 1010, - 1021, 1022, 1025, 1026, 1027, 1032, 1032, 1042, 1043, 1044, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1070, 1071, 1072, 1075, 1075, 1084, 1084, 1093, 1093, - 1102, 1102, 1111, 1117, 1117, 1126, 1132, 1138, 1144, 1150, - 1156, 1162, 1168, 1174, 1174, 1182, 1183, 1184, 1187, 1193, - 1199, 1205, 1205, 1214, 1214, 1223, 1223, 1232, 1232, 1240, - 1243, 1246, 1249, 1252, 1257, 1257, 1266, 1266, 1277, 1278, - 1279, 1284, 1285, 1288, 1288, 1307, 1307, 1325, 1325, 1336, - 1337, 1338, 1343, 1344, 1347, 1352, 1357, 1357, 1368, 1369, - 1370, 1375, 1376, 1377, 1380, 1385, 1392, 1392, 1405, 1405, - 1418, 1419, 1420, 1425, 1426, 1427, 1428, 1429, 1430, 1433, - 1439, 1445, 1451, 1451, 1462, 1463, 1466, 1467, 1468, 1473, - 1473, 1483, 1483, 1493, 1494, 1495, 1498, 1501, 1502, 1505, - 1505, 1514, 1514, 1523, 1523, 1535, 1536, 1537, 1542, 1543, - 1544, 1545, 1546, 1547, 1550, 1556, 1562, 1568, 1574, 1580, - 1589, 1589, 1603, 1604, 1607, 1608, 1609, 1618, 1618, 1644, - 1644, 1655, 1656, 1657, 1663, 1664, 1665, 1666, 1667, 1668, - 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, - 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, - 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1713, 1716, 1716, 1725, 1725, 1734, - 1734, 1743, 1743, 1753, 1753, 1765, 1765, 1776, 1776, 1787, - 1793, 1799, 1805, 1811, 1819, 1819, 1831, 1832, 1836, 1837, - 1838, 1843, 1843, 1851, 1852, 1853, 1858, 1859, 1860, 1861, - 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, - 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, - 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, - 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, - 1902, 1903, 1904, 1905, 1912, 1912, 1926, 1926, 1935, 1936, - 1939, 1940, 1941, 1948, 1948, 1963, 1963, 1977, 1978, 1981, - 1982, 1983, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 2000, 2002, 2008, 2010, 2010, 2019, 2019, 2028, - 2028, 2037, 2039, 2039, 2048, 2058, 2058, 2071, 2072, 2077, - 2078, 2079, 2086, 2086, 2098, 2098, 2110, 2111, 2116, 2117, - 2118, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, - 2134, 2135, 2138, 2140, 2140, 2149, 2151, 2153, 2159, 2165, - 2171, 2171, 2185, 2185, 2198, 2199, 2202, 2203, 2204, 2209, - 2209, 2219, 2219, 2229, 2230, 2231, 2236, 2237, 2238, 2239, - 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, - 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, - 2262, 2262, 2271, 2277, 2277, 2302, 2302, 2332, 2332, 2345, - 2346, 2349, 2350, 2351, 2356, 2356, 2368, 2368, 2380, 2381, - 2382, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, - 2396, 2397, 2398, 2399, 2400, 2403, 2403, 2412, 2418, 2418, - 2427, 2433, 2442, 2442, 2453, 2454, 2457, 2458, 2459, 2464, - 2464, 2473, 2473, 2482, 2483, 2486, 2487, 2488, 2494, 2495, - 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, - 2508, 2508, 2519, 2519, 2530, 2530, 2541, 2541, 2550, 2550, - 2559, 2559, 2568, 2568, 2577, 2577, 2591, 2591, 2602, 2608, - 2608, 2619, 2620, 2621, 2626, 2626, 2636, 2637, 2640, 2641, - 2642, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, - 2656, 2657, 2658, 2659, 2660, 2661, 2664, 2666, 2666, 2675, - 2675, 2685, 2691, 2700, 2700, 2713, 2714, 2715, 2720, 2721, - 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2731, 2731, 2739, - 2740, 2741, 2744, 2750, 2750, 2759, 2765, 2773, 2781, 2781, - 2793, 2793, 2805, 2806, 2809, 2810, 2811, 2816, 2816, 2824, - 2825, 2826, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, - 2839, 2840, 2841, 2842, 2843, 2846, 2846, 2855, 2856, 2857, - 2860, 2860, 2870, 2870, 2880, 2886, 2892, 2892, 2903, 2904, - 2907, 2908, 2909, 2914, 2914, 2922, 2923, 2924, 2929, 2930, - 2931, 2932, 2933, 2936, 2936, 2947, 2947, 2960, 2961, 2962, - 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2976, 2976, 2984, - 2987, 2987, 2996, 2996, 3005, 3005, 3016, 3017, 3020, 3021, - 3022, 3027, 3027, 3035, 3036, 3037, 3042, 3043, 3044, 3045, - 3046, 3047, 3048, 3051, 3051, 3060, 3060, 3071, 3071, 3084, - 3085, 3086, 3091, 3092, 3093, 3094, 3095, 3096, 3099, 3105, - 3105, 3114, 3120, 3120, 3130, 3130, 3143, 3143, 3153, 3154, - 3155, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, - 3169, 3170, 3173, 3179, 3179, 3188, 3194, 3194, 3203, 3209, - 3215, 3215, 3224, 3225, 3228, 3228, 3239, 3239, 3251, 3251, - 3261, 3262, 3263, 3269, 3270, 3273, 3273, 3284, 3292, 3292, - 3305, 3306, 3307, 3313, 3313, 3321, 3322, 3323, 3328, 3329, - 3330, 3331, 3332, 3333, 3334, 3337, 3343, 3343, 3352, 3352, - 3363, 3364, 3365, 3370, 3370, 3378, 3379, 3380, 3385, 3386, - 3387, 3388, 3389, 3392, 3392, 3401, 3407, 3413, 3419, 3419, - 3428, 3428, 3439, 3440, 3441, 3446, 3447, 3450 + 0, 340, 340, 340, 341, 341, 342, 342, 343, 343, + 344, 344, 345, 345, 346, 346, 347, 347, 348, 348, + 349, 349, 350, 350, 351, 351, 352, 352, 353, 353, + 361, 362, 363, 364, 365, 366, 367, 370, 375, 375, + 386, 389, 390, 393, 398, 404, 409, 409, 416, 417, + 420, 424, 428, 434, 434, 441, 442, 445, 449, 453, + 463, 472, 472, 487, 487, 501, 504, 510, 510, 519, + 520, 521, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 602, 602, 612, 618, 624, 630, + 636, 642, 648, 654, 660, 666, 672, 678, 684, 690, + 696, 702, 708, 714, 720, 720, 729, 732, 735, 738, + 741, 747, 747, 756, 756, 765, 774, 784, 784, 793, + 796, 799, 802, 807, 813, 819, 825, 831, 831, 840, + 840, 849, 855, 861, 867, 867, 876, 882, 882, 891, + 891, 900, 906, 912, 918, 918, 930, 930, 939, 940, + 941, 946, 947, 948, 949, 950, 951, 952, 953, 956, + 956, 967, 973, 979, 985, 991, 991, 1004, 1004, 1017, + 1017, 1028, 1029, 1032, 1033, 1034, 1039, 1039, 1049, 1050, + 1051, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + 1075, 1076, 1077, 1078, 1079, 1082, 1082, 1091, 1091, 1100, + 1100, 1109, 1109, 1118, 1124, 1124, 1133, 1139, 1145, 1151, + 1157, 1163, 1169, 1175, 1181, 1181, 1189, 1190, 1191, 1194, + 1200, 1206, 1212, 1212, 1221, 1221, 1230, 1230, 1239, 1239, + 1247, 1250, 1253, 1256, 1259, 1264, 1264, 1273, 1273, 1284, + 1285, 1286, 1291, 1292, 1295, 1295, 1314, 1314, 1332, 1332, + 1343, 1344, 1345, 1350, 1351, 1354, 1359, 1364, 1364, 1375, + 1376, 1377, 1382, 1383, 1384, 1387, 1392, 1399, 1399, 1412, + 1412, 1425, 1426, 1427, 1432, 1433, 1434, 1435, 1436, 1437, + 1440, 1446, 1452, 1458, 1458, 1469, 1470, 1473, 1474, 1475, + 1480, 1480, 1490, 1490, 1500, 1501, 1502, 1505, 1508, 1509, + 1512, 1512, 1521, 1521, 1530, 1530, 1542, 1543, 1544, 1549, + 1550, 1551, 1552, 1553, 1554, 1557, 1563, 1569, 1575, 1581, + 1587, 1596, 1596, 1610, 1611, 1614, 1615, 1616, 1625, 1625, + 1651, 1651, 1662, 1663, 1664, 1670, 1671, 1672, 1673, 1674, + 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, + 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, + 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1724, 1724, 1733, + 1733, 1742, 1742, 1751, 1751, 1761, 1761, 1773, 1773, 1784, + 1784, 1795, 1801, 1807, 1813, 1819, 1827, 1827, 1839, 1840, + 1844, 1845, 1846, 1851, 1851, 1859, 1860, 1861, 1866, 1867, + 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, + 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, + 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, + 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, + 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1921, 1921, 1935, + 1935, 1944, 1945, 1948, 1949, 1950, 1957, 1957, 1972, 1972, + 1986, 1987, 1990, 1991, 1992, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004, 2005, 2006, 2009, 2011, 2017, 2019, 2019, + 2028, 2028, 2037, 2037, 2046, 2048, 2048, 2057, 2067, 2067, + 2080, 2081, 2086, 2087, 2088, 2095, 2095, 2107, 2107, 2119, + 2120, 2125, 2126, 2127, 2134, 2135, 2136, 2137, 2138, 2139, + 2140, 2141, 2142, 2143, 2144, 2147, 2149, 2149, 2158, 2160, + 2162, 2168, 2174, 2180, 2180, 2194, 2194, 2207, 2208, 2211, + 2212, 2213, 2218, 2218, 2228, 2228, 2238, 2239, 2240, 2245, + 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, + 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, + 2266, 2267, 2268, 2271, 2271, 2280, 2286, 2286, 2311, 2311, + 2341, 2341, 2354, 2355, 2358, 2359, 2360, 2365, 2365, 2377, + 2377, 2389, 2390, 2391, 2396, 2397, 2398, 2399, 2400, 2401, + 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2412, 2412, + 2421, 2427, 2427, 2436, 2442, 2451, 2451, 2462, 2463, 2466, + 2467, 2468, 2473, 2473, 2482, 2482, 2491, 2492, 2495, 2496, + 2497, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, + 2512, 2513, 2514, 2517, 2517, 2528, 2528, 2539, 2539, 2550, + 2550, 2559, 2559, 2568, 2568, 2577, 2577, 2586, 2586, 2600, + 2600, 2611, 2617, 2617, 2628, 2629, 2630, 2635, 2635, 2645, + 2646, 2649, 2650, 2651, 2656, 2657, 2658, 2659, 2660, 2661, + 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2673, + 2675, 2675, 2684, 2684, 2694, 2700, 2709, 2709, 2722, 2723, + 2724, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, + 2740, 2740, 2748, 2749, 2750, 2753, 2759, 2759, 2768, 2774, + 2782, 2790, 2790, 2802, 2802, 2814, 2815, 2818, 2819, 2820, + 2825, 2825, 2833, 2834, 2835, 2840, 2841, 2842, 2843, 2844, + 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2855, 2855, + 2864, 2865, 2866, 2869, 2869, 2879, 2879, 2889, 2895, 2901, + 2901, 2912, 2913, 2916, 2917, 2918, 2923, 2923, 2931, 2932, + 2933, 2938, 2939, 2940, 2941, 2942, 2945, 2945, 2956, 2956, + 2969, 2970, 2971, 2976, 2977, 2978, 2979, 2980, 2981, 2982, + 2985, 2985, 2993, 2996, 2996, 3005, 3005, 3014, 3014, 3025, + 3026, 3029, 3030, 3031, 3036, 3036, 3044, 3045, 3046, 3051, + 3052, 3053, 3054, 3055, 3056, 3057, 3060, 3060, 3069, 3069, + 3080, 3080, 3093, 3094, 3095, 3100, 3101, 3102, 3103, 3104, + 3105, 3108, 3114, 3114, 3123, 3129, 3129, 3139, 3139, 3152, + 3152, 3162, 3163, 3164, 3169, 3170, 3171, 3172, 3173, 3174, + 3175, 3176, 3177, 3178, 3179, 3182, 3188, 3188, 3197, 3203, + 3203, 3212, 3218, 3224, 3224, 3233, 3234, 3237, 3237, 3248, + 3248, 3260, 3260, 3270, 3271, 3272, 3278, 3279, 3282, 3282, + 3293, 3301, 3301, 3314, 3315, 3316, 3322, 3322, 3330, 3331, + 3332, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3346, 3352, + 3352, 3361, 3361, 3372, 3373, 3374, 3379, 3379, 3387, 3388, + 3389, 3394, 3395, 3396, 3397, 3398, 3401, 3401, 3410, 3416, + 3422, 3428, 3428, 3437, 3437, 3448, 3449, 3450, 3455, 3456, + 3459 }; void @@ -7175,9 +7191,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 7179 "dhcp6_parser.cc" +#line 7195 "dhcp6_parser.cc" -#line 3456 "dhcp6_parser.yy" +#line 3465 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index daa748e76b..2733e11e56 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -564,183 +564,184 @@ namespace isc { namespace dhcp { TOKEN_T2_PERCENT = 319, // "t2-percent" TOKEN_CACHE_THRESHOLD = 320, // "cache-threshold" TOKEN_CACHE_MAX_AGE = 321, // "cache-max-age" - TOKEN_DECLINE_PROBATION_PERIOD = 322, // "decline-probation-period" - TOKEN_SERVER_TAG = 323, // "server-tag" - TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 324, // "statistic-default-sample-count" - TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 325, // "statistic-default-sample-age" - TOKEN_DDNS_SEND_UPDATES = 326, // "ddns-send-updates" - TOKEN_DDNS_OVERRIDE_NO_UPDATE = 327, // "ddns-override-no-update" - TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 328, // "ddns-override-client-update" - TOKEN_DDNS_REPLACE_CLIENT_NAME = 329, // "ddns-replace-client-name" - TOKEN_DDNS_GENERATED_PREFIX = 330, // "ddns-generated-prefix" - TOKEN_DDNS_QUALIFYING_SUFFIX = 331, // "ddns-qualifying-suffix" - TOKEN_DDNS_UPDATE_ON_RENEW = 332, // "ddns-update-on-renew" - TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 333, // "ddns-use-conflict-resolution" - TOKEN_DDNS_TTL_PERCENT = 334, // "ddns-ttl-percent" - TOKEN_DDNS_TTL = 335, // "ddns-ttl" - TOKEN_DDNS_TTL_MIN = 336, // "ddns-ttl-min" - TOKEN_DDNS_TTL_MAX = 337, // "ddns-ttl-mix" - TOKEN_STORE_EXTENDED_INFO = 338, // "store-extended-info" - TOKEN_SUBNET6 = 339, // "subnet6" - TOKEN_OPTION_DEF = 340, // "option-def" - TOKEN_OPTION_DATA = 341, // "option-data" - TOKEN_NAME = 342, // "name" - TOKEN_DATA = 343, // "data" - TOKEN_CODE = 344, // "code" - TOKEN_SPACE = 345, // "space" - TOKEN_CSV_FORMAT = 346, // "csv-format" - TOKEN_ALWAYS_SEND = 347, // "always-send" - TOKEN_NEVER_SEND = 348, // "never-send" - TOKEN_RECORD_TYPES = 349, // "record-types" - TOKEN_ENCAPSULATE = 350, // "encapsulate" - TOKEN_ARRAY = 351, // "array" - TOKEN_PARKED_PACKET_LIMIT = 352, // "parked-packet-limit" - TOKEN_ALLOCATOR = 353, // "allocator" - TOKEN_PD_ALLOCATOR = 354, // "pd-allocator" - TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 355, // "ddns-conflict-resolution-mode" - TOKEN_CHECK_WITH_DHCID = 356, // "check-with-dhcid" - TOKEN_NO_CHECK_WITH_DHCID = 357, // "no-check-with-dhcid" - TOKEN_CHECK_EXISTS_WITH_DHCID = 358, // "check-exists-with-dhcid" - TOKEN_NO_CHECK_WITHOUT_DHCID = 359, // "no-check-without-dhcid" - TOKEN_SHARED_NETWORKS = 360, // "shared-networks" - TOKEN_POOLS = 361, // "pools" - TOKEN_POOL = 362, // "pool" - TOKEN_PD_POOLS = 363, // "pd-pools" - TOKEN_PREFIX = 364, // "prefix" - TOKEN_PREFIX_LEN = 365, // "prefix-len" - TOKEN_EXCLUDED_PREFIX = 366, // "excluded-prefix" - TOKEN_EXCLUDED_PREFIX_LEN = 367, // "excluded-prefix-len" - TOKEN_DELEGATED_LEN = 368, // "delegated-len" - TOKEN_USER_CONTEXT = 369, // "user-context" - TOKEN_COMMENT = 370, // "comment" - TOKEN_SUBNET = 371, // "subnet" - TOKEN_INTERFACE = 372, // "interface" - TOKEN_INTERFACE_ID = 373, // "interface-id" - TOKEN_ID = 374, // "id" - TOKEN_RAPID_COMMIT = 375, // "rapid-commit" - TOKEN_RESERVATIONS_GLOBAL = 376, // "reservations-global" - TOKEN_RESERVATIONS_IN_SUBNET = 377, // "reservations-in-subnet" - TOKEN_RESERVATIONS_OUT_OF_POOL = 378, // "reservations-out-of-pool" - TOKEN_MAC_SOURCES = 379, // "mac-sources" - TOKEN_RELAY_SUPPLIED_OPTIONS = 380, // "relay-supplied-options" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 381, // "host-reservation-identifiers" - TOKEN_SANITY_CHECKS = 382, // "sanity-checks" - TOKEN_LEASE_CHECKS = 383, // "lease-checks" - TOKEN_EXTENDED_INFO_CHECKS = 384, // "extended-info-checks" - TOKEN_CLIENT_CLASSES = 385, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 386, // "require-client-classes" - TOKEN_EVALUATE_ADDITIONAL_CLASSES = 387, // "evaluate-additional-classes" - TOKEN_TEST = 388, // "test" - TOKEN_TEMPLATE_TEST = 389, // "template-test" - TOKEN_ONLY_IF_REQUIRED = 390, // "only-if-required" - TOKEN_ONLY_IN_ADDITIONAL_LIST = 391, // "only-in-additional-list" - TOKEN_CLIENT_CLASS = 392, // "client-class" - TOKEN_POOL_ID = 393, // "pool-id" - TOKEN_RESERVATIONS = 394, // "reservations" - TOKEN_IP_ADDRESSES = 395, // "ip-addresses" - TOKEN_PREFIXES = 396, // "prefixes" - TOKEN_EXCLUDED_PREFIXES = 397, // "excluded-prefixes" - TOKEN_DUID = 398, // "duid" - TOKEN_HW_ADDRESS = 399, // "hw-address" - TOKEN_HOSTNAME = 400, // "hostname" - TOKEN_FLEX_ID = 401, // "flex-id" - TOKEN_RELAY = 402, // "relay" - TOKEN_HOOKS_LIBRARIES = 403, // "hooks-libraries" - TOKEN_LIBRARY = 404, // "library" - TOKEN_PARAMETERS = 405, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 406, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 407, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 408, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 409, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 410, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 411, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 412, // "unwarned-reclaim-cycles" - TOKEN_SERVER_ID = 413, // "server-id" - TOKEN_LLT = 414, // "LLT" - TOKEN_EN = 415, // "EN" - TOKEN_LL = 416, // "LL" - TOKEN_IDENTIFIER = 417, // "identifier" - TOKEN_HTYPE = 418, // "htype" - TOKEN_TIME = 419, // "time" - TOKEN_ENTERPRISE_ID = 420, // "enterprise-id" - TOKEN_DHCP4O6_PORT = 421, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 422, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 423, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 424, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 425, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 426, // "control-socket" - TOKEN_CONTROL_SOCKETS = 427, // "control-sockets" - TOKEN_SOCKET_TYPE = 428, // "socket-type" - TOKEN_UNIX = 429, // "unix" - TOKEN_HTTP = 430, // "http" - TOKEN_HTTPS = 431, // "https" - TOKEN_SOCKET_NAME = 432, // "socket-name" - TOKEN_SOCKET_ADDRESS = 433, // "socket-address" - TOKEN_SOCKET_PORT = 434, // "socket-port" - TOKEN_AUTHENTICATION = 435, // "authentication" - TOKEN_BASIC = 436, // "basic" - TOKEN_REALM = 437, // "realm" - TOKEN_DIRECTORY = 438, // "directory" - TOKEN_CLIENTS = 439, // "clients" - TOKEN_USER_FILE = 440, // "user-file" - TOKEN_PASSWORD_FILE = 441, // "password-file" - TOKEN_CERT_REQUIRED = 442, // "cert-required" - TOKEN_HTTP_HEADERS = 443, // "http-headers" - TOKEN_VALUE = 444, // "value" - TOKEN_DHCP_QUEUE_CONTROL = 445, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 446, // "enable-queue" - TOKEN_QUEUE_TYPE = 447, // "queue-type" - TOKEN_CAPACITY = 448, // "capacity" - TOKEN_DHCP_DDNS = 449, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 450, // "enable-updates" - TOKEN_SERVER_IP = 451, // "server-ip" - TOKEN_SERVER_PORT = 452, // "server-port" - TOKEN_SENDER_IP = 453, // "sender-ip" - TOKEN_SENDER_PORT = 454, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 455, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 456, // "ncr-protocol" - TOKEN_NCR_FORMAT = 457, // "ncr-format" - TOKEN_UDP = 458, // "UDP" - TOKEN_TCP = 459, // "TCP" - TOKEN_JSON = 460, // "JSON" - TOKEN_WHEN_PRESENT = 461, // "when-present" - TOKEN_NEVER = 462, // "never" - TOKEN_ALWAYS = 463, // "always" - TOKEN_WHEN_NOT_PRESENT = 464, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 465, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 466, // "hostname-char-replacement" - TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 467, // "early-global-reservations-lookup" - TOKEN_IP_RESERVATIONS_UNIQUE = 468, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 469, // "reservations-lookup-first" - TOKEN_LOGGERS = 470, // "loggers" - TOKEN_OUTPUT_OPTIONS = 471, // "output-options" - TOKEN_OUTPUT = 472, // "output" - TOKEN_DEBUGLEVEL = 473, // "debuglevel" - TOKEN_SEVERITY = 474, // "severity" - TOKEN_FLUSH = 475, // "flush" - TOKEN_MAXSIZE = 476, // "maxsize" - TOKEN_MAXVER = 477, // "maxver" - TOKEN_PATTERN = 478, // "pattern" - TOKEN_COMPATIBILITY = 479, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 480, // "lenient-option-parsing" - TOKEN_TOPLEVEL_JSON = 481, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP6 = 482, // TOPLEVEL_DHCP6 - TOKEN_SUB_DHCP6 = 483, // SUB_DHCP6 - TOKEN_SUB_INTERFACES6 = 484, // SUB_INTERFACES6 - TOKEN_SUB_SUBNET6 = 485, // SUB_SUBNET6 - TOKEN_SUB_POOL6 = 486, // SUB_POOL6 - TOKEN_SUB_PD_POOL = 487, // SUB_PD_POOL - TOKEN_SUB_RESERVATION = 488, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 489, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 490, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 491, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 492, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 493, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 494, // SUB_CONFIG_CONTROL - TOKEN_STRING = 495, // "constant string" - TOKEN_INTEGER = 496, // "integer" - TOKEN_FLOAT = 497, // "floating point" - TOKEN_BOOLEAN = 498 // "boolean" + TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD = 322, // "adaptive-lease-time-threshold" + TOKEN_DECLINE_PROBATION_PERIOD = 323, // "decline-probation-period" + TOKEN_SERVER_TAG = 324, // "server-tag" + TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 325, // "statistic-default-sample-count" + TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 326, // "statistic-default-sample-age" + TOKEN_DDNS_SEND_UPDATES = 327, // "ddns-send-updates" + TOKEN_DDNS_OVERRIDE_NO_UPDATE = 328, // "ddns-override-no-update" + TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 329, // "ddns-override-client-update" + TOKEN_DDNS_REPLACE_CLIENT_NAME = 330, // "ddns-replace-client-name" + TOKEN_DDNS_GENERATED_PREFIX = 331, // "ddns-generated-prefix" + TOKEN_DDNS_QUALIFYING_SUFFIX = 332, // "ddns-qualifying-suffix" + TOKEN_DDNS_UPDATE_ON_RENEW = 333, // "ddns-update-on-renew" + TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 334, // "ddns-use-conflict-resolution" + TOKEN_DDNS_TTL_PERCENT = 335, // "ddns-ttl-percent" + TOKEN_DDNS_TTL = 336, // "ddns-ttl" + TOKEN_DDNS_TTL_MIN = 337, // "ddns-ttl-min" + TOKEN_DDNS_TTL_MAX = 338, // "ddns-ttl-mix" + TOKEN_STORE_EXTENDED_INFO = 339, // "store-extended-info" + TOKEN_SUBNET6 = 340, // "subnet6" + TOKEN_OPTION_DEF = 341, // "option-def" + TOKEN_OPTION_DATA = 342, // "option-data" + TOKEN_NAME = 343, // "name" + TOKEN_DATA = 344, // "data" + TOKEN_CODE = 345, // "code" + TOKEN_SPACE = 346, // "space" + TOKEN_CSV_FORMAT = 347, // "csv-format" + TOKEN_ALWAYS_SEND = 348, // "always-send" + TOKEN_NEVER_SEND = 349, // "never-send" + TOKEN_RECORD_TYPES = 350, // "record-types" + TOKEN_ENCAPSULATE = 351, // "encapsulate" + TOKEN_ARRAY = 352, // "array" + TOKEN_PARKED_PACKET_LIMIT = 353, // "parked-packet-limit" + TOKEN_ALLOCATOR = 354, // "allocator" + TOKEN_PD_ALLOCATOR = 355, // "pd-allocator" + TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 356, // "ddns-conflict-resolution-mode" + TOKEN_CHECK_WITH_DHCID = 357, // "check-with-dhcid" + TOKEN_NO_CHECK_WITH_DHCID = 358, // "no-check-with-dhcid" + TOKEN_CHECK_EXISTS_WITH_DHCID = 359, // "check-exists-with-dhcid" + TOKEN_NO_CHECK_WITHOUT_DHCID = 360, // "no-check-without-dhcid" + TOKEN_SHARED_NETWORKS = 361, // "shared-networks" + TOKEN_POOLS = 362, // "pools" + TOKEN_POOL = 363, // "pool" + TOKEN_PD_POOLS = 364, // "pd-pools" + TOKEN_PREFIX = 365, // "prefix" + TOKEN_PREFIX_LEN = 366, // "prefix-len" + TOKEN_EXCLUDED_PREFIX = 367, // "excluded-prefix" + TOKEN_EXCLUDED_PREFIX_LEN = 368, // "excluded-prefix-len" + TOKEN_DELEGATED_LEN = 369, // "delegated-len" + TOKEN_USER_CONTEXT = 370, // "user-context" + TOKEN_COMMENT = 371, // "comment" + TOKEN_SUBNET = 372, // "subnet" + TOKEN_INTERFACE = 373, // "interface" + TOKEN_INTERFACE_ID = 374, // "interface-id" + TOKEN_ID = 375, // "id" + TOKEN_RAPID_COMMIT = 376, // "rapid-commit" + TOKEN_RESERVATIONS_GLOBAL = 377, // "reservations-global" + TOKEN_RESERVATIONS_IN_SUBNET = 378, // "reservations-in-subnet" + TOKEN_RESERVATIONS_OUT_OF_POOL = 379, // "reservations-out-of-pool" + TOKEN_MAC_SOURCES = 380, // "mac-sources" + TOKEN_RELAY_SUPPLIED_OPTIONS = 381, // "relay-supplied-options" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 382, // "host-reservation-identifiers" + TOKEN_SANITY_CHECKS = 383, // "sanity-checks" + TOKEN_LEASE_CHECKS = 384, // "lease-checks" + TOKEN_EXTENDED_INFO_CHECKS = 385, // "extended-info-checks" + TOKEN_CLIENT_CLASSES = 386, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 387, // "require-client-classes" + TOKEN_EVALUATE_ADDITIONAL_CLASSES = 388, // "evaluate-additional-classes" + TOKEN_TEST = 389, // "test" + TOKEN_TEMPLATE_TEST = 390, // "template-test" + TOKEN_ONLY_IF_REQUIRED = 391, // "only-if-required" + TOKEN_ONLY_IN_ADDITIONAL_LIST = 392, // "only-in-additional-list" + TOKEN_CLIENT_CLASS = 393, // "client-class" + TOKEN_POOL_ID = 394, // "pool-id" + TOKEN_RESERVATIONS = 395, // "reservations" + TOKEN_IP_ADDRESSES = 396, // "ip-addresses" + TOKEN_PREFIXES = 397, // "prefixes" + TOKEN_EXCLUDED_PREFIXES = 398, // "excluded-prefixes" + TOKEN_DUID = 399, // "duid" + TOKEN_HW_ADDRESS = 400, // "hw-address" + TOKEN_HOSTNAME = 401, // "hostname" + TOKEN_FLEX_ID = 402, // "flex-id" + TOKEN_RELAY = 403, // "relay" + TOKEN_HOOKS_LIBRARIES = 404, // "hooks-libraries" + TOKEN_LIBRARY = 405, // "library" + TOKEN_PARAMETERS = 406, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 407, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 408, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 409, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 410, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 411, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 412, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 413, // "unwarned-reclaim-cycles" + TOKEN_SERVER_ID = 414, // "server-id" + TOKEN_LLT = 415, // "LLT" + TOKEN_EN = 416, // "EN" + TOKEN_LL = 417, // "LL" + TOKEN_IDENTIFIER = 418, // "identifier" + TOKEN_HTYPE = 419, // "htype" + TOKEN_TIME = 420, // "time" + TOKEN_ENTERPRISE_ID = 421, // "enterprise-id" + TOKEN_DHCP4O6_PORT = 422, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 423, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 424, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 425, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 426, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 427, // "control-socket" + TOKEN_CONTROL_SOCKETS = 428, // "control-sockets" + TOKEN_SOCKET_TYPE = 429, // "socket-type" + TOKEN_UNIX = 430, // "unix" + TOKEN_HTTP = 431, // "http" + TOKEN_HTTPS = 432, // "https" + TOKEN_SOCKET_NAME = 433, // "socket-name" + TOKEN_SOCKET_ADDRESS = 434, // "socket-address" + TOKEN_SOCKET_PORT = 435, // "socket-port" + TOKEN_AUTHENTICATION = 436, // "authentication" + TOKEN_BASIC = 437, // "basic" + TOKEN_REALM = 438, // "realm" + TOKEN_DIRECTORY = 439, // "directory" + TOKEN_CLIENTS = 440, // "clients" + TOKEN_USER_FILE = 441, // "user-file" + TOKEN_PASSWORD_FILE = 442, // "password-file" + TOKEN_CERT_REQUIRED = 443, // "cert-required" + TOKEN_HTTP_HEADERS = 444, // "http-headers" + TOKEN_VALUE = 445, // "value" + TOKEN_DHCP_QUEUE_CONTROL = 446, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 447, // "enable-queue" + TOKEN_QUEUE_TYPE = 448, // "queue-type" + TOKEN_CAPACITY = 449, // "capacity" + TOKEN_DHCP_DDNS = 450, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 451, // "enable-updates" + TOKEN_SERVER_IP = 452, // "server-ip" + TOKEN_SERVER_PORT = 453, // "server-port" + TOKEN_SENDER_IP = 454, // "sender-ip" + TOKEN_SENDER_PORT = 455, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 456, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 457, // "ncr-protocol" + TOKEN_NCR_FORMAT = 458, // "ncr-format" + TOKEN_UDP = 459, // "UDP" + TOKEN_TCP = 460, // "TCP" + TOKEN_JSON = 461, // "JSON" + TOKEN_WHEN_PRESENT = 462, // "when-present" + TOKEN_NEVER = 463, // "never" + TOKEN_ALWAYS = 464, // "always" + TOKEN_WHEN_NOT_PRESENT = 465, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 466, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 467, // "hostname-char-replacement" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 468, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 469, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 470, // "reservations-lookup-first" + TOKEN_LOGGERS = 471, // "loggers" + TOKEN_OUTPUT_OPTIONS = 472, // "output-options" + TOKEN_OUTPUT = 473, // "output" + TOKEN_DEBUGLEVEL = 474, // "debuglevel" + TOKEN_SEVERITY = 475, // "severity" + TOKEN_FLUSH = 476, // "flush" + TOKEN_MAXSIZE = 477, // "maxsize" + TOKEN_MAXVER = 478, // "maxver" + TOKEN_PATTERN = 479, // "pattern" + TOKEN_COMPATIBILITY = 480, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 481, // "lenient-option-parsing" + TOKEN_TOPLEVEL_JSON = 482, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP6 = 483, // TOPLEVEL_DHCP6 + TOKEN_SUB_DHCP6 = 484, // SUB_DHCP6 + TOKEN_SUB_INTERFACES6 = 485, // SUB_INTERFACES6 + TOKEN_SUB_SUBNET6 = 486, // SUB_SUBNET6 + TOKEN_SUB_POOL6 = 487, // SUB_POOL6 + TOKEN_SUB_PD_POOL = 488, // SUB_PD_POOL + TOKEN_SUB_RESERVATION = 489, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 490, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 491, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 492, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 493, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 494, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 495, // SUB_CONFIG_CONTROL + TOKEN_STRING = 496, // "constant string" + TOKEN_INTEGER = 497, // "integer" + TOKEN_FLOAT = 498, // "floating point" + TOKEN_BOOLEAN = 499 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -757,7 +758,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 244, ///< Number of tokens. + YYNTOKENS = 245, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -826,683 +827,685 @@ namespace isc { namespace dhcp { S_T2_PERCENT = 64, // "t2-percent" S_CACHE_THRESHOLD = 65, // "cache-threshold" S_CACHE_MAX_AGE = 66, // "cache-max-age" - S_DECLINE_PROBATION_PERIOD = 67, // "decline-probation-period" - S_SERVER_TAG = 68, // "server-tag" - S_STATISTIC_DEFAULT_SAMPLE_COUNT = 69, // "statistic-default-sample-count" - S_STATISTIC_DEFAULT_SAMPLE_AGE = 70, // "statistic-default-sample-age" - S_DDNS_SEND_UPDATES = 71, // "ddns-send-updates" - S_DDNS_OVERRIDE_NO_UPDATE = 72, // "ddns-override-no-update" - S_DDNS_OVERRIDE_CLIENT_UPDATE = 73, // "ddns-override-client-update" - S_DDNS_REPLACE_CLIENT_NAME = 74, // "ddns-replace-client-name" - S_DDNS_GENERATED_PREFIX = 75, // "ddns-generated-prefix" - S_DDNS_QUALIFYING_SUFFIX = 76, // "ddns-qualifying-suffix" - S_DDNS_UPDATE_ON_RENEW = 77, // "ddns-update-on-renew" - S_DDNS_USE_CONFLICT_RESOLUTION = 78, // "ddns-use-conflict-resolution" - S_DDNS_TTL_PERCENT = 79, // "ddns-ttl-percent" - S_DDNS_TTL = 80, // "ddns-ttl" - S_DDNS_TTL_MIN = 81, // "ddns-ttl-min" - S_DDNS_TTL_MAX = 82, // "ddns-ttl-mix" - S_STORE_EXTENDED_INFO = 83, // "store-extended-info" - S_SUBNET6 = 84, // "subnet6" - S_OPTION_DEF = 85, // "option-def" - S_OPTION_DATA = 86, // "option-data" - S_NAME = 87, // "name" - S_DATA = 88, // "data" - S_CODE = 89, // "code" - S_SPACE = 90, // "space" - S_CSV_FORMAT = 91, // "csv-format" - S_ALWAYS_SEND = 92, // "always-send" - S_NEVER_SEND = 93, // "never-send" - S_RECORD_TYPES = 94, // "record-types" - S_ENCAPSULATE = 95, // "encapsulate" - S_ARRAY = 96, // "array" - S_PARKED_PACKET_LIMIT = 97, // "parked-packet-limit" - S_ALLOCATOR = 98, // "allocator" - S_PD_ALLOCATOR = 99, // "pd-allocator" - S_DDNS_CONFLICT_RESOLUTION_MODE = 100, // "ddns-conflict-resolution-mode" - S_CHECK_WITH_DHCID = 101, // "check-with-dhcid" - S_NO_CHECK_WITH_DHCID = 102, // "no-check-with-dhcid" - S_CHECK_EXISTS_WITH_DHCID = 103, // "check-exists-with-dhcid" - S_NO_CHECK_WITHOUT_DHCID = 104, // "no-check-without-dhcid" - S_SHARED_NETWORKS = 105, // "shared-networks" - S_POOLS = 106, // "pools" - S_POOL = 107, // "pool" - S_PD_POOLS = 108, // "pd-pools" - S_PREFIX = 109, // "prefix" - S_PREFIX_LEN = 110, // "prefix-len" - S_EXCLUDED_PREFIX = 111, // "excluded-prefix" - S_EXCLUDED_PREFIX_LEN = 112, // "excluded-prefix-len" - S_DELEGATED_LEN = 113, // "delegated-len" - S_USER_CONTEXT = 114, // "user-context" - S_COMMENT = 115, // "comment" - S_SUBNET = 116, // "subnet" - S_INTERFACE = 117, // "interface" - S_INTERFACE_ID = 118, // "interface-id" - S_ID = 119, // "id" - S_RAPID_COMMIT = 120, // "rapid-commit" - S_RESERVATIONS_GLOBAL = 121, // "reservations-global" - S_RESERVATIONS_IN_SUBNET = 122, // "reservations-in-subnet" - S_RESERVATIONS_OUT_OF_POOL = 123, // "reservations-out-of-pool" - S_MAC_SOURCES = 124, // "mac-sources" - S_RELAY_SUPPLIED_OPTIONS = 125, // "relay-supplied-options" - S_HOST_RESERVATION_IDENTIFIERS = 126, // "host-reservation-identifiers" - S_SANITY_CHECKS = 127, // "sanity-checks" - S_LEASE_CHECKS = 128, // "lease-checks" - S_EXTENDED_INFO_CHECKS = 129, // "extended-info-checks" - S_CLIENT_CLASSES = 130, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 131, // "require-client-classes" - S_EVALUATE_ADDITIONAL_CLASSES = 132, // "evaluate-additional-classes" - S_TEST = 133, // "test" - S_TEMPLATE_TEST = 134, // "template-test" - S_ONLY_IF_REQUIRED = 135, // "only-if-required" - S_ONLY_IN_ADDITIONAL_LIST = 136, // "only-in-additional-list" - S_CLIENT_CLASS = 137, // "client-class" - S_POOL_ID = 138, // "pool-id" - S_RESERVATIONS = 139, // "reservations" - S_IP_ADDRESSES = 140, // "ip-addresses" - S_PREFIXES = 141, // "prefixes" - S_EXCLUDED_PREFIXES = 142, // "excluded-prefixes" - S_DUID = 143, // "duid" - S_HW_ADDRESS = 144, // "hw-address" - S_HOSTNAME = 145, // "hostname" - S_FLEX_ID = 146, // "flex-id" - S_RELAY = 147, // "relay" - S_HOOKS_LIBRARIES = 148, // "hooks-libraries" - S_LIBRARY = 149, // "library" - S_PARAMETERS = 150, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 151, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 152, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 153, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 154, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 155, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 156, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 157, // "unwarned-reclaim-cycles" - S_SERVER_ID = 158, // "server-id" - S_LLT = 159, // "LLT" - S_EN = 160, // "EN" - S_LL = 161, // "LL" - S_IDENTIFIER = 162, // "identifier" - S_HTYPE = 163, // "htype" - S_TIME = 164, // "time" - S_ENTERPRISE_ID = 165, // "enterprise-id" - S_DHCP4O6_PORT = 166, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 167, // "multi-threading" - S_ENABLE_MULTI_THREADING = 168, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 169, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 170, // "packet-queue-size" - S_CONTROL_SOCKET = 171, // "control-socket" - S_CONTROL_SOCKETS = 172, // "control-sockets" - S_SOCKET_TYPE = 173, // "socket-type" - S_UNIX = 174, // "unix" - S_HTTP = 175, // "http" - S_HTTPS = 176, // "https" - S_SOCKET_NAME = 177, // "socket-name" - S_SOCKET_ADDRESS = 178, // "socket-address" - S_SOCKET_PORT = 179, // "socket-port" - S_AUTHENTICATION = 180, // "authentication" - S_BASIC = 181, // "basic" - S_REALM = 182, // "realm" - S_DIRECTORY = 183, // "directory" - S_CLIENTS = 184, // "clients" - S_USER_FILE = 185, // "user-file" - S_PASSWORD_FILE = 186, // "password-file" - S_CERT_REQUIRED = 187, // "cert-required" - S_HTTP_HEADERS = 188, // "http-headers" - S_VALUE = 189, // "value" - S_DHCP_QUEUE_CONTROL = 190, // "dhcp-queue-control" - S_ENABLE_QUEUE = 191, // "enable-queue" - S_QUEUE_TYPE = 192, // "queue-type" - S_CAPACITY = 193, // "capacity" - S_DHCP_DDNS = 194, // "dhcp-ddns" - S_ENABLE_UPDATES = 195, // "enable-updates" - S_SERVER_IP = 196, // "server-ip" - S_SERVER_PORT = 197, // "server-port" - S_SENDER_IP = 198, // "sender-ip" - S_SENDER_PORT = 199, // "sender-port" - S_MAX_QUEUE_SIZE = 200, // "max-queue-size" - S_NCR_PROTOCOL = 201, // "ncr-protocol" - S_NCR_FORMAT = 202, // "ncr-format" - S_UDP = 203, // "UDP" - S_TCP = 204, // "TCP" - S_JSON = 205, // "JSON" - S_WHEN_PRESENT = 206, // "when-present" - S_NEVER = 207, // "never" - S_ALWAYS = 208, // "always" - S_WHEN_NOT_PRESENT = 209, // "when-not-present" - S_HOSTNAME_CHAR_SET = 210, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 211, // "hostname-char-replacement" - S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 212, // "early-global-reservations-lookup" - S_IP_RESERVATIONS_UNIQUE = 213, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 214, // "reservations-lookup-first" - S_LOGGERS = 215, // "loggers" - S_OUTPUT_OPTIONS = 216, // "output-options" - S_OUTPUT = 217, // "output" - S_DEBUGLEVEL = 218, // "debuglevel" - S_SEVERITY = 219, // "severity" - S_FLUSH = 220, // "flush" - S_MAXSIZE = 221, // "maxsize" - S_MAXVER = 222, // "maxver" - S_PATTERN = 223, // "pattern" - S_COMPATIBILITY = 224, // "compatibility" - S_LENIENT_OPTION_PARSING = 225, // "lenient-option-parsing" - S_TOPLEVEL_JSON = 226, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP6 = 227, // TOPLEVEL_DHCP6 - S_SUB_DHCP6 = 228, // SUB_DHCP6 - S_SUB_INTERFACES6 = 229, // SUB_INTERFACES6 - S_SUB_SUBNET6 = 230, // SUB_SUBNET6 - S_SUB_POOL6 = 231, // SUB_POOL6 - S_SUB_PD_POOL = 232, // SUB_PD_POOL - S_SUB_RESERVATION = 233, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 234, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 235, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 236, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 237, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 238, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 239, // SUB_CONFIG_CONTROL - S_STRING = 240, // "constant string" - S_INTEGER = 241, // "integer" - S_FLOAT = 242, // "floating point" - S_BOOLEAN = 243, // "boolean" - S_YYACCEPT = 244, // $accept - S_start = 245, // start - S_246_1 = 246, // $@1 - S_247_2 = 247, // $@2 - S_248_3 = 248, // $@3 - S_249_4 = 249, // $@4 - S_250_5 = 250, // $@5 - S_251_6 = 251, // $@6 - S_252_7 = 252, // $@7 - S_253_8 = 253, // $@8 - S_254_9 = 254, // $@9 - S_255_10 = 255, // $@10 - S_256_11 = 256, // $@11 - S_257_12 = 257, // $@12 - S_258_13 = 258, // $@13 - S_259_14 = 259, // $@14 - S_value = 260, // value - S_sub_json = 261, // sub_json - S_map2 = 262, // map2 - S_263_15 = 263, // $@15 - S_map_value = 264, // map_value - S_map_content = 265, // map_content - S_not_empty_map = 266, // not_empty_map - S_list_generic = 267, // list_generic - S_268_16 = 268, // $@16 - S_list_content = 269, // list_content - S_not_empty_list = 270, // not_empty_list - S_list_strings = 271, // list_strings - S_272_17 = 272, // $@17 - S_list_strings_content = 273, // list_strings_content - S_not_empty_list_strings = 274, // not_empty_list_strings - S_unknown_map_entry = 275, // unknown_map_entry - S_syntax_map = 276, // syntax_map - S_277_18 = 277, // $@18 - S_global_object = 278, // global_object - S_279_19 = 279, // $@19 - S_global_object_comma = 280, // global_object_comma - S_sub_dhcp6 = 281, // sub_dhcp6 - S_282_20 = 282, // $@20 - S_global_params = 283, // global_params - S_global_param = 284, // global_param - S_data_directory = 285, // data_directory - S_286_21 = 286, // $@21 - S_preferred_lifetime = 287, // preferred_lifetime - S_min_preferred_lifetime = 288, // min_preferred_lifetime - S_max_preferred_lifetime = 289, // max_preferred_lifetime - S_valid_lifetime = 290, // valid_lifetime - S_min_valid_lifetime = 291, // min_valid_lifetime - S_max_valid_lifetime = 292, // max_valid_lifetime - S_renew_timer = 293, // renew_timer - S_rebind_timer = 294, // rebind_timer - S_calculate_tee_times = 295, // calculate_tee_times - S_t1_percent = 296, // t1_percent - S_t2_percent = 297, // t2_percent - S_cache_threshold = 298, // cache_threshold - S_cache_max_age = 299, // cache_max_age - S_decline_probation_period = 300, // decline_probation_period - S_ddns_send_updates = 301, // ddns_send_updates - S_ddns_override_no_update = 302, // ddns_override_no_update - S_ddns_override_client_update = 303, // ddns_override_client_update - S_ddns_replace_client_name = 304, // ddns_replace_client_name - S_305_22 = 305, // $@22 - S_ddns_replace_client_name_value = 306, // ddns_replace_client_name_value - S_ddns_generated_prefix = 307, // ddns_generated_prefix - S_308_23 = 308, // $@23 - S_ddns_qualifying_suffix = 309, // ddns_qualifying_suffix - S_310_24 = 310, // $@24 - S_ddns_update_on_renew = 311, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 312, // ddns_use_conflict_resolution - S_ddns_conflict_resolution_mode = 313, // ddns_conflict_resolution_mode - S_314_25 = 314, // $@25 - S_ddns_conflict_resolution_mode_value = 315, // ddns_conflict_resolution_mode_value - S_ddns_ttl_percent = 316, // ddns_ttl_percent - S_ddns_ttl = 317, // ddns_ttl - S_ddns_ttl_min = 318, // ddns_ttl_min - S_ddns_ttl_max = 319, // ddns_ttl_max - S_hostname_char_set = 320, // hostname_char_set - S_321_26 = 321, // $@26 - S_hostname_char_replacement = 322, // hostname_char_replacement - S_323_27 = 323, // $@27 - S_store_extended_info = 324, // store_extended_info - S_statistic_default_sample_count = 325, // statistic_default_sample_count - S_statistic_default_sample_age = 326, // statistic_default_sample_age - S_server_tag = 327, // server_tag - S_328_28 = 328, // $@28 - S_parked_packet_limit = 329, // parked_packet_limit - S_allocator = 330, // allocator - S_331_29 = 331, // $@29 - S_pd_allocator = 332, // pd_allocator - S_333_30 = 333, // $@30 - S_early_global_reservations_lookup = 334, // early_global_reservations_lookup - S_ip_reservations_unique = 335, // ip_reservations_unique - S_reservations_lookup_first = 336, // reservations_lookup_first - S_interfaces_config = 337, // interfaces_config - S_338_31 = 338, // $@31 - S_sub_interfaces6 = 339, // sub_interfaces6 - S_340_32 = 340, // $@32 - S_interfaces_config_params = 341, // interfaces_config_params - S_interfaces_config_param = 342, // interfaces_config_param - S_interfaces_list = 343, // interfaces_list - S_344_33 = 344, // $@33 - S_re_detect = 345, // re_detect - S_service_sockets_require_all = 346, // service_sockets_require_all - S_service_sockets_retry_wait_time = 347, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 348, // service_sockets_max_retries - S_lease_database = 349, // lease_database - S_350_34 = 350, // $@34 - S_hosts_database = 351, // hosts_database - S_352_35 = 352, // $@35 - S_hosts_databases = 353, // hosts_databases - S_354_36 = 354, // $@36 - S_database_list = 355, // database_list - S_not_empty_database_list = 356, // not_empty_database_list - S_database = 357, // database - S_358_37 = 358, // $@37 - S_database_map_params = 359, // database_map_params - S_database_map_param = 360, // database_map_param - S_database_type = 361, // database_type - S_362_38 = 362, // $@38 - S_user = 363, // user - S_364_39 = 364, // $@39 - S_password = 365, // password - S_366_40 = 366, // $@40 - S_host = 367, // host - S_368_41 = 368, // $@41 - S_port = 369, // port - S_name = 370, // name - S_371_42 = 371, // $@42 - S_persist = 372, // persist - S_lfc_interval = 373, // lfc_interval - S_readonly = 374, // readonly - S_connect_timeout = 375, // connect_timeout - S_read_timeout = 376, // read_timeout - S_write_timeout = 377, // write_timeout - S_tcp_user_timeout = 378, // tcp_user_timeout - S_reconnect_wait_time = 379, // reconnect_wait_time - S_on_fail = 380, // on_fail - S_381_43 = 381, // $@43 - S_on_fail_mode = 382, // on_fail_mode - S_retry_on_startup = 383, // retry_on_startup - S_max_row_errors = 384, // max_row_errors - S_max_reconnect_tries = 385, // max_reconnect_tries - S_trust_anchor = 386, // trust_anchor - S_387_44 = 387, // $@44 - S_cert_file = 388, // cert_file - S_389_45 = 389, // $@45 - S_key_file = 390, // key_file - S_391_46 = 391, // $@46 - S_ssl_mode = 392, // ssl_mode - S_393_47 = 393, // $@47 - S_cipher_list = 394, // cipher_list - S_395_48 = 395, // $@48 - S_sanity_checks = 396, // sanity_checks - S_397_49 = 397, // $@49 - S_sanity_checks_params = 398, // sanity_checks_params - S_sanity_checks_param = 399, // sanity_checks_param - S_lease_checks = 400, // lease_checks - S_401_50 = 401, // $@50 - S_extended_info_checks = 402, // extended_info_checks - S_403_51 = 403, // $@51 - S_mac_sources = 404, // mac_sources - S_405_52 = 405, // $@52 - S_mac_sources_list = 406, // mac_sources_list - S_mac_sources_value = 407, // mac_sources_value - S_duid_id = 408, // duid_id - S_string_id = 409, // string_id - S_host_reservation_identifiers = 410, // host_reservation_identifiers - S_411_53 = 411, // $@53 - S_host_reservation_identifiers_list = 412, // host_reservation_identifiers_list - S_host_reservation_identifier = 413, // host_reservation_identifier - S_hw_address_id = 414, // hw_address_id - S_flex_id = 415, // flex_id - S_relay_supplied_options = 416, // relay_supplied_options - S_417_54 = 417, // $@54 - S_dhcp_multi_threading = 418, // dhcp_multi_threading - S_419_55 = 419, // $@55 - S_multi_threading_params = 420, // multi_threading_params - S_multi_threading_param = 421, // multi_threading_param - S_enable_multi_threading = 422, // enable_multi_threading - S_thread_pool_size = 423, // thread_pool_size - S_packet_queue_size = 424, // packet_queue_size - S_hooks_libraries = 425, // hooks_libraries - S_426_56 = 426, // $@56 - S_hooks_libraries_list = 427, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 428, // not_empty_hooks_libraries_list - S_hooks_library = 429, // hooks_library - S_430_57 = 430, // $@57 - S_sub_hooks_library = 431, // sub_hooks_library - S_432_58 = 432, // $@58 - S_hooks_params = 433, // hooks_params - S_hooks_param = 434, // hooks_param - S_library = 435, // library - S_436_59 = 436, // $@59 - S_parameters = 437, // parameters - S_438_60 = 438, // $@60 - S_expired_leases_processing = 439, // expired_leases_processing - S_440_61 = 440, // $@61 - S_expired_leases_params = 441, // expired_leases_params - S_expired_leases_param = 442, // expired_leases_param - S_reclaim_timer_wait_time = 443, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 444, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 445, // hold_reclaimed_time - S_max_reclaim_leases = 446, // max_reclaim_leases - S_max_reclaim_time = 447, // max_reclaim_time - S_unwarned_reclaim_cycles = 448, // unwarned_reclaim_cycles - S_subnet6_list = 449, // subnet6_list - S_450_62 = 450, // $@62 - S_subnet6_list_content = 451, // subnet6_list_content - S_not_empty_subnet6_list = 452, // not_empty_subnet6_list - S_subnet6 = 453, // subnet6 - S_454_63 = 454, // $@63 - S_sub_subnet6 = 455, // sub_subnet6 - S_456_64 = 456, // $@64 - S_subnet6_params = 457, // subnet6_params - S_subnet6_param = 458, // subnet6_param - S_subnet = 459, // subnet - S_460_65 = 460, // $@65 - S_interface = 461, // interface - S_462_66 = 462, // $@66 - S_interface_id = 463, // interface_id - S_464_67 = 464, // $@67 - S_client_class = 465, // client_class - S_466_68 = 466, // $@68 - S_network_client_classes = 467, // network_client_classes - S_468_69 = 468, // $@69 - S_require_client_classes = 469, // require_client_classes - S_470_70 = 470, // $@70 - S_evaluate_additional_classes = 471, // evaluate_additional_classes - S_472_71 = 472, // $@71 - S_reservations_global = 473, // reservations_global - S_reservations_in_subnet = 474, // reservations_in_subnet - S_reservations_out_of_pool = 475, // reservations_out_of_pool - S_id = 476, // id - S_rapid_commit = 477, // rapid_commit - S_shared_networks = 478, // shared_networks - S_479_72 = 479, // $@72 - S_shared_networks_content = 480, // shared_networks_content - S_shared_networks_list = 481, // shared_networks_list - S_shared_network = 482, // shared_network - S_483_73 = 483, // $@73 - S_shared_network_params = 484, // shared_network_params - S_shared_network_param = 485, // shared_network_param - S_option_def_list = 486, // option_def_list - S_487_74 = 487, // $@74 - S_sub_option_def_list = 488, // sub_option_def_list - S_489_75 = 489, // $@75 - S_option_def_list_content = 490, // option_def_list_content - S_not_empty_option_def_list = 491, // not_empty_option_def_list - S_option_def_entry = 492, // option_def_entry - S_493_76 = 493, // $@76 - S_sub_option_def = 494, // sub_option_def - S_495_77 = 495, // $@77 - S_option_def_params = 496, // option_def_params - S_not_empty_option_def_params = 497, // not_empty_option_def_params - S_option_def_param = 498, // option_def_param - S_option_def_name = 499, // option_def_name - S_code = 500, // code - S_option_def_code = 501, // option_def_code - S_option_def_type = 502, // option_def_type - S_503_78 = 503, // $@78 - S_option_def_record_types = 504, // option_def_record_types - S_505_79 = 505, // $@79 - S_space = 506, // space - S_507_80 = 507, // $@80 - S_option_def_space = 508, // option_def_space - S_option_def_encapsulate = 509, // option_def_encapsulate - S_510_81 = 510, // $@81 - S_option_def_array = 511, // option_def_array - S_option_data_list = 512, // option_data_list - S_513_82 = 513, // $@82 - S_option_data_list_content = 514, // option_data_list_content - S_not_empty_option_data_list = 515, // not_empty_option_data_list - S_option_data_entry = 516, // option_data_entry - S_517_83 = 517, // $@83 - S_sub_option_data = 518, // sub_option_data - S_519_84 = 519, // $@84 - S_option_data_params = 520, // option_data_params - S_not_empty_option_data_params = 521, // not_empty_option_data_params - S_option_data_param = 522, // option_data_param - S_option_data_name = 523, // option_data_name - S_option_data_data = 524, // option_data_data - S_525_85 = 525, // $@85 - S_option_data_code = 526, // option_data_code - S_option_data_space = 527, // option_data_space - S_option_data_csv_format = 528, // option_data_csv_format - S_option_data_always_send = 529, // option_data_always_send - S_option_data_never_send = 530, // option_data_never_send - S_option_data_client_classes = 531, // option_data_client_classes - S_532_86 = 532, // $@86 - S_pools_list = 533, // pools_list - S_534_87 = 534, // $@87 - S_pools_list_content = 535, // pools_list_content - S_not_empty_pools_list = 536, // not_empty_pools_list - S_pool_list_entry = 537, // pool_list_entry - S_538_88 = 538, // $@88 - S_sub_pool6 = 539, // sub_pool6 - S_540_89 = 540, // $@89 - S_pool_params = 541, // pool_params - S_pool_param = 542, // pool_param - S_pool_entry = 543, // pool_entry - S_544_90 = 544, // $@90 - S_pool_id = 545, // pool_id - S_user_context = 546, // user_context - S_547_91 = 547, // $@91 - S_comment = 548, // comment - S_549_92 = 549, // $@92 - S_pd_pools_list = 550, // pd_pools_list - S_551_93 = 551, // $@93 - S_pd_pools_list_content = 552, // pd_pools_list_content - S_not_empty_pd_pools_list = 553, // not_empty_pd_pools_list - S_pd_pool_entry = 554, // pd_pool_entry - S_555_94 = 555, // $@94 - S_sub_pd_pool = 556, // sub_pd_pool - S_557_95 = 557, // $@95 - S_pd_pool_params = 558, // pd_pool_params - S_pd_pool_param = 559, // pd_pool_param - S_pd_prefix = 560, // pd_prefix - S_561_96 = 561, // $@96 - S_pd_prefix_len = 562, // pd_prefix_len - S_excluded_prefix = 563, // excluded_prefix - S_564_97 = 564, // $@97 - S_excluded_prefix_len = 565, // excluded_prefix_len - S_pd_delegated_len = 566, // pd_delegated_len - S_reservations = 567, // reservations - S_568_98 = 568, // $@98 - S_reservations_list = 569, // reservations_list - S_not_empty_reservations_list = 570, // not_empty_reservations_list - S_reservation = 571, // reservation - S_572_99 = 572, // $@99 - S_sub_reservation = 573, // sub_reservation - S_574_100 = 574, // $@100 - S_reservation_params = 575, // reservation_params - S_not_empty_reservation_params = 576, // not_empty_reservation_params - S_reservation_param = 577, // reservation_param - S_ip_addresses = 578, // ip_addresses - S_579_101 = 579, // $@101 - S_prefixes = 580, // prefixes - S_581_102 = 581, // $@102 - S_excluded_prefixes = 582, // excluded_prefixes - S_583_103 = 583, // $@103 - S_duid = 584, // duid - S_585_104 = 585, // $@104 - S_hw_address = 586, // hw_address - S_587_105 = 587, // $@105 - S_hostname = 588, // hostname - S_589_106 = 589, // $@106 - S_flex_id_value = 590, // flex_id_value - S_591_107 = 591, // $@107 - S_reservation_client_classes = 592, // reservation_client_classes - S_593_108 = 593, // $@108 - S_relay = 594, // relay - S_595_109 = 595, // $@109 - S_relay_map = 596, // relay_map - S_client_classes = 597, // client_classes - S_598_110 = 598, // $@110 - S_client_classes_list = 599, // client_classes_list - S_client_class_entry = 600, // client_class_entry - S_601_111 = 601, // $@111 - S_client_class_params = 602, // client_class_params - S_not_empty_client_class_params = 603, // not_empty_client_class_params - S_client_class_param = 604, // client_class_param - S_client_class_name = 605, // client_class_name - S_client_class_test = 606, // client_class_test - S_607_112 = 607, // $@112 - S_client_class_template_test = 608, // client_class_template_test - S_609_113 = 609, // $@113 - S_only_if_required = 610, // only_if_required - S_only_in_additional_list = 611, // only_in_additional_list - S_server_id = 612, // server_id - S_613_114 = 613, // $@114 - S_server_id_params = 614, // server_id_params - S_server_id_param = 615, // server_id_param - S_server_id_type = 616, // server_id_type - S_617_115 = 617, // $@115 - S_duid_type = 618, // duid_type - S_htype = 619, // htype - S_identifier = 620, // identifier - S_621_116 = 621, // $@116 - S_time = 622, // time - S_enterprise_id = 623, // enterprise_id - S_dhcp4o6_port = 624, // dhcp4o6_port - S_control_socket = 625, // control_socket - S_626_117 = 626, // $@117 - S_control_sockets = 627, // control_sockets - S_628_118 = 628, // $@118 - S_control_socket_list = 629, // control_socket_list - S_not_empty_control_socket_list = 630, // not_empty_control_socket_list - S_control_socket_entry = 631, // control_socket_entry - S_632_119 = 632, // $@119 - S_control_socket_params = 633, // control_socket_params - S_control_socket_param = 634, // control_socket_param - S_control_socket_type = 635, // control_socket_type - S_636_120 = 636, // $@120 - S_control_socket_type_value = 637, // control_socket_type_value - S_control_socket_name = 638, // control_socket_name - S_639_121 = 639, // $@121 - S_control_socket_address = 640, // control_socket_address - S_641_122 = 641, // $@122 - S_control_socket_port = 642, // control_socket_port - S_cert_required = 643, // cert_required - S_http_headers = 644, // http_headers - S_645_123 = 645, // $@123 - S_http_header_list = 646, // http_header_list - S_not_empty_http_header_list = 647, // not_empty_http_header_list - S_http_header = 648, // http_header - S_649_124 = 649, // $@124 - S_http_header_params = 650, // http_header_params - S_http_header_param = 651, // http_header_param - S_header_value = 652, // header_value - S_653_125 = 653, // $@125 - S_authentication = 654, // authentication - S_655_126 = 655, // $@126 - S_auth_params = 656, // auth_params - S_auth_param = 657, // auth_param - S_auth_type = 658, // auth_type - S_659_127 = 659, // $@127 - S_auth_type_value = 660, // auth_type_value - S_realm = 661, // realm - S_662_128 = 662, // $@128 - S_directory = 663, // directory - S_664_129 = 664, // $@129 - S_clients = 665, // clients - S_666_130 = 666, // $@130 - S_clients_list = 667, // clients_list - S_not_empty_clients_list = 668, // not_empty_clients_list - S_basic_auth = 669, // basic_auth - S_670_131 = 670, // $@131 - S_clients_params = 671, // clients_params - S_clients_param = 672, // clients_param - S_user_file = 673, // user_file - S_674_132 = 674, // $@132 - S_password_file = 675, // password_file - S_676_133 = 676, // $@133 - S_dhcp_queue_control = 677, // dhcp_queue_control - S_678_134 = 678, // $@134 - S_queue_control_params = 679, // queue_control_params - S_queue_control_param = 680, // queue_control_param - S_enable_queue = 681, // enable_queue - S_queue_type = 682, // queue_type - S_683_135 = 683, // $@135 - S_capacity = 684, // capacity - S_arbitrary_map_entry = 685, // arbitrary_map_entry - S_686_136 = 686, // $@136 - S_dhcp_ddns = 687, // dhcp_ddns - S_688_137 = 688, // $@137 - S_sub_dhcp_ddns = 689, // sub_dhcp_ddns - S_690_138 = 690, // $@138 - S_dhcp_ddns_params = 691, // dhcp_ddns_params - S_dhcp_ddns_param = 692, // dhcp_ddns_param - S_enable_updates = 693, // enable_updates - S_server_ip = 694, // server_ip - S_695_139 = 695, // $@139 - S_server_port = 696, // server_port - S_sender_ip = 697, // sender_ip - S_698_140 = 698, // $@140 - S_sender_port = 699, // sender_port - S_max_queue_size = 700, // max_queue_size - S_ncr_protocol = 701, // ncr_protocol - S_702_141 = 702, // $@141 - S_ncr_protocol_value = 703, // ncr_protocol_value - S_ncr_format = 704, // ncr_format - S_705_142 = 705, // $@142 - S_config_control = 706, // config_control - S_707_143 = 707, // $@143 - S_sub_config_control = 708, // sub_config_control - S_709_144 = 709, // $@144 - S_config_control_params = 710, // config_control_params - S_config_control_param = 711, // config_control_param - S_config_databases = 712, // config_databases - S_713_145 = 713, // $@145 - S_config_fetch_wait_time = 714, // config_fetch_wait_time - S_loggers = 715, // loggers - S_716_146 = 716, // $@146 - S_loggers_entries = 717, // loggers_entries - S_logger_entry = 718, // logger_entry - S_719_147 = 719, // $@147 - S_logger_params = 720, // logger_params - S_logger_param = 721, // logger_param - S_debuglevel = 722, // debuglevel - S_severity = 723, // severity - S_724_148 = 724, // $@148 - S_output_options_list = 725, // output_options_list - S_726_149 = 726, // $@149 - S_output_options_list_content = 727, // output_options_list_content - S_output_entry = 728, // output_entry - S_729_150 = 729, // $@150 - S_output_params_list = 730, // output_params_list - S_output_params = 731, // output_params - S_output = 732, // output - S_733_151 = 733, // $@151 - S_flush = 734, // flush - S_maxsize = 735, // maxsize - S_maxver = 736, // maxver - S_pattern = 737, // pattern - S_738_152 = 738, // $@152 - S_compatibility = 739, // compatibility - S_740_153 = 740, // $@153 - S_compatibility_params = 741, // compatibility_params - S_compatibility_param = 742, // compatibility_param - S_lenient_option_parsing = 743 // lenient_option_parsing + S_ADAPTIVE_LEASE_TIME_THRESHOLD = 67, // "adaptive-lease-time-threshold" + S_DECLINE_PROBATION_PERIOD = 68, // "decline-probation-period" + S_SERVER_TAG = 69, // "server-tag" + S_STATISTIC_DEFAULT_SAMPLE_COUNT = 70, // "statistic-default-sample-count" + S_STATISTIC_DEFAULT_SAMPLE_AGE = 71, // "statistic-default-sample-age" + S_DDNS_SEND_UPDATES = 72, // "ddns-send-updates" + S_DDNS_OVERRIDE_NO_UPDATE = 73, // "ddns-override-no-update" + S_DDNS_OVERRIDE_CLIENT_UPDATE = 74, // "ddns-override-client-update" + S_DDNS_REPLACE_CLIENT_NAME = 75, // "ddns-replace-client-name" + S_DDNS_GENERATED_PREFIX = 76, // "ddns-generated-prefix" + S_DDNS_QUALIFYING_SUFFIX = 77, // "ddns-qualifying-suffix" + S_DDNS_UPDATE_ON_RENEW = 78, // "ddns-update-on-renew" + S_DDNS_USE_CONFLICT_RESOLUTION = 79, // "ddns-use-conflict-resolution" + S_DDNS_TTL_PERCENT = 80, // "ddns-ttl-percent" + S_DDNS_TTL = 81, // "ddns-ttl" + S_DDNS_TTL_MIN = 82, // "ddns-ttl-min" + S_DDNS_TTL_MAX = 83, // "ddns-ttl-mix" + S_STORE_EXTENDED_INFO = 84, // "store-extended-info" + S_SUBNET6 = 85, // "subnet6" + S_OPTION_DEF = 86, // "option-def" + S_OPTION_DATA = 87, // "option-data" + S_NAME = 88, // "name" + S_DATA = 89, // "data" + S_CODE = 90, // "code" + S_SPACE = 91, // "space" + S_CSV_FORMAT = 92, // "csv-format" + S_ALWAYS_SEND = 93, // "always-send" + S_NEVER_SEND = 94, // "never-send" + S_RECORD_TYPES = 95, // "record-types" + S_ENCAPSULATE = 96, // "encapsulate" + S_ARRAY = 97, // "array" + S_PARKED_PACKET_LIMIT = 98, // "parked-packet-limit" + S_ALLOCATOR = 99, // "allocator" + S_PD_ALLOCATOR = 100, // "pd-allocator" + S_DDNS_CONFLICT_RESOLUTION_MODE = 101, // "ddns-conflict-resolution-mode" + S_CHECK_WITH_DHCID = 102, // "check-with-dhcid" + S_NO_CHECK_WITH_DHCID = 103, // "no-check-with-dhcid" + S_CHECK_EXISTS_WITH_DHCID = 104, // "check-exists-with-dhcid" + S_NO_CHECK_WITHOUT_DHCID = 105, // "no-check-without-dhcid" + S_SHARED_NETWORKS = 106, // "shared-networks" + S_POOLS = 107, // "pools" + S_POOL = 108, // "pool" + S_PD_POOLS = 109, // "pd-pools" + S_PREFIX = 110, // "prefix" + S_PREFIX_LEN = 111, // "prefix-len" + S_EXCLUDED_PREFIX = 112, // "excluded-prefix" + S_EXCLUDED_PREFIX_LEN = 113, // "excluded-prefix-len" + S_DELEGATED_LEN = 114, // "delegated-len" + S_USER_CONTEXT = 115, // "user-context" + S_COMMENT = 116, // "comment" + S_SUBNET = 117, // "subnet" + S_INTERFACE = 118, // "interface" + S_INTERFACE_ID = 119, // "interface-id" + S_ID = 120, // "id" + S_RAPID_COMMIT = 121, // "rapid-commit" + S_RESERVATIONS_GLOBAL = 122, // "reservations-global" + S_RESERVATIONS_IN_SUBNET = 123, // "reservations-in-subnet" + S_RESERVATIONS_OUT_OF_POOL = 124, // "reservations-out-of-pool" + S_MAC_SOURCES = 125, // "mac-sources" + S_RELAY_SUPPLIED_OPTIONS = 126, // "relay-supplied-options" + S_HOST_RESERVATION_IDENTIFIERS = 127, // "host-reservation-identifiers" + S_SANITY_CHECKS = 128, // "sanity-checks" + S_LEASE_CHECKS = 129, // "lease-checks" + S_EXTENDED_INFO_CHECKS = 130, // "extended-info-checks" + S_CLIENT_CLASSES = 131, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 132, // "require-client-classes" + S_EVALUATE_ADDITIONAL_CLASSES = 133, // "evaluate-additional-classes" + S_TEST = 134, // "test" + S_TEMPLATE_TEST = 135, // "template-test" + S_ONLY_IF_REQUIRED = 136, // "only-if-required" + S_ONLY_IN_ADDITIONAL_LIST = 137, // "only-in-additional-list" + S_CLIENT_CLASS = 138, // "client-class" + S_POOL_ID = 139, // "pool-id" + S_RESERVATIONS = 140, // "reservations" + S_IP_ADDRESSES = 141, // "ip-addresses" + S_PREFIXES = 142, // "prefixes" + S_EXCLUDED_PREFIXES = 143, // "excluded-prefixes" + S_DUID = 144, // "duid" + S_HW_ADDRESS = 145, // "hw-address" + S_HOSTNAME = 146, // "hostname" + S_FLEX_ID = 147, // "flex-id" + S_RELAY = 148, // "relay" + S_HOOKS_LIBRARIES = 149, // "hooks-libraries" + S_LIBRARY = 150, // "library" + S_PARAMETERS = 151, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 152, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 153, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 154, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 155, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 156, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 157, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 158, // "unwarned-reclaim-cycles" + S_SERVER_ID = 159, // "server-id" + S_LLT = 160, // "LLT" + S_EN = 161, // "EN" + S_LL = 162, // "LL" + S_IDENTIFIER = 163, // "identifier" + S_HTYPE = 164, // "htype" + S_TIME = 165, // "time" + S_ENTERPRISE_ID = 166, // "enterprise-id" + S_DHCP4O6_PORT = 167, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 168, // "multi-threading" + S_ENABLE_MULTI_THREADING = 169, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 170, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 171, // "packet-queue-size" + S_CONTROL_SOCKET = 172, // "control-socket" + S_CONTROL_SOCKETS = 173, // "control-sockets" + S_SOCKET_TYPE = 174, // "socket-type" + S_UNIX = 175, // "unix" + S_HTTP = 176, // "http" + S_HTTPS = 177, // "https" + S_SOCKET_NAME = 178, // "socket-name" + S_SOCKET_ADDRESS = 179, // "socket-address" + S_SOCKET_PORT = 180, // "socket-port" + S_AUTHENTICATION = 181, // "authentication" + S_BASIC = 182, // "basic" + S_REALM = 183, // "realm" + S_DIRECTORY = 184, // "directory" + S_CLIENTS = 185, // "clients" + S_USER_FILE = 186, // "user-file" + S_PASSWORD_FILE = 187, // "password-file" + S_CERT_REQUIRED = 188, // "cert-required" + S_HTTP_HEADERS = 189, // "http-headers" + S_VALUE = 190, // "value" + S_DHCP_QUEUE_CONTROL = 191, // "dhcp-queue-control" + S_ENABLE_QUEUE = 192, // "enable-queue" + S_QUEUE_TYPE = 193, // "queue-type" + S_CAPACITY = 194, // "capacity" + S_DHCP_DDNS = 195, // "dhcp-ddns" + S_ENABLE_UPDATES = 196, // "enable-updates" + S_SERVER_IP = 197, // "server-ip" + S_SERVER_PORT = 198, // "server-port" + S_SENDER_IP = 199, // "sender-ip" + S_SENDER_PORT = 200, // "sender-port" + S_MAX_QUEUE_SIZE = 201, // "max-queue-size" + S_NCR_PROTOCOL = 202, // "ncr-protocol" + S_NCR_FORMAT = 203, // "ncr-format" + S_UDP = 204, // "UDP" + S_TCP = 205, // "TCP" + S_JSON = 206, // "JSON" + S_WHEN_PRESENT = 207, // "when-present" + S_NEVER = 208, // "never" + S_ALWAYS = 209, // "always" + S_WHEN_NOT_PRESENT = 210, // "when-not-present" + S_HOSTNAME_CHAR_SET = 211, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 212, // "hostname-char-replacement" + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 213, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 214, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 215, // "reservations-lookup-first" + S_LOGGERS = 216, // "loggers" + S_OUTPUT_OPTIONS = 217, // "output-options" + S_OUTPUT = 218, // "output" + S_DEBUGLEVEL = 219, // "debuglevel" + S_SEVERITY = 220, // "severity" + S_FLUSH = 221, // "flush" + S_MAXSIZE = 222, // "maxsize" + S_MAXVER = 223, // "maxver" + S_PATTERN = 224, // "pattern" + S_COMPATIBILITY = 225, // "compatibility" + S_LENIENT_OPTION_PARSING = 226, // "lenient-option-parsing" + S_TOPLEVEL_JSON = 227, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP6 = 228, // TOPLEVEL_DHCP6 + S_SUB_DHCP6 = 229, // SUB_DHCP6 + S_SUB_INTERFACES6 = 230, // SUB_INTERFACES6 + S_SUB_SUBNET6 = 231, // SUB_SUBNET6 + S_SUB_POOL6 = 232, // SUB_POOL6 + S_SUB_PD_POOL = 233, // SUB_PD_POOL + S_SUB_RESERVATION = 234, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 235, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 236, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 237, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 238, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 239, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 240, // SUB_CONFIG_CONTROL + S_STRING = 241, // "constant string" + S_INTEGER = 242, // "integer" + S_FLOAT = 243, // "floating point" + S_BOOLEAN = 244, // "boolean" + S_YYACCEPT = 245, // $accept + S_start = 246, // start + S_247_1 = 247, // $@1 + S_248_2 = 248, // $@2 + S_249_3 = 249, // $@3 + S_250_4 = 250, // $@4 + S_251_5 = 251, // $@5 + S_252_6 = 252, // $@6 + S_253_7 = 253, // $@7 + S_254_8 = 254, // $@8 + S_255_9 = 255, // $@9 + S_256_10 = 256, // $@10 + S_257_11 = 257, // $@11 + S_258_12 = 258, // $@12 + S_259_13 = 259, // $@13 + S_260_14 = 260, // $@14 + S_value = 261, // value + S_sub_json = 262, // sub_json + S_map2 = 263, // map2 + S_264_15 = 264, // $@15 + S_map_value = 265, // map_value + S_map_content = 266, // map_content + S_not_empty_map = 267, // not_empty_map + S_list_generic = 268, // list_generic + S_269_16 = 269, // $@16 + S_list_content = 270, // list_content + S_not_empty_list = 271, // not_empty_list + S_list_strings = 272, // list_strings + S_273_17 = 273, // $@17 + S_list_strings_content = 274, // list_strings_content + S_not_empty_list_strings = 275, // not_empty_list_strings + S_unknown_map_entry = 276, // unknown_map_entry + S_syntax_map = 277, // syntax_map + S_278_18 = 278, // $@18 + S_global_object = 279, // global_object + S_280_19 = 280, // $@19 + S_global_object_comma = 281, // global_object_comma + S_sub_dhcp6 = 282, // sub_dhcp6 + S_283_20 = 283, // $@20 + S_global_params = 284, // global_params + S_global_param = 285, // global_param + S_data_directory = 286, // data_directory + S_287_21 = 287, // $@21 + S_preferred_lifetime = 288, // preferred_lifetime + S_min_preferred_lifetime = 289, // min_preferred_lifetime + S_max_preferred_lifetime = 290, // max_preferred_lifetime + S_valid_lifetime = 291, // valid_lifetime + S_min_valid_lifetime = 292, // min_valid_lifetime + S_max_valid_lifetime = 293, // max_valid_lifetime + S_renew_timer = 294, // renew_timer + S_rebind_timer = 295, // rebind_timer + S_calculate_tee_times = 296, // calculate_tee_times + S_t1_percent = 297, // t1_percent + S_t2_percent = 298, // t2_percent + S_cache_threshold = 299, // cache_threshold + S_cache_max_age = 300, // cache_max_age + S_adaptive_lease_time_threshold = 301, // adaptive_lease_time_threshold + S_decline_probation_period = 302, // decline_probation_period + S_ddns_send_updates = 303, // ddns_send_updates + S_ddns_override_no_update = 304, // ddns_override_no_update + S_ddns_override_client_update = 305, // ddns_override_client_update + S_ddns_replace_client_name = 306, // ddns_replace_client_name + S_307_22 = 307, // $@22 + S_ddns_replace_client_name_value = 308, // ddns_replace_client_name_value + S_ddns_generated_prefix = 309, // ddns_generated_prefix + S_310_23 = 310, // $@23 + S_ddns_qualifying_suffix = 311, // ddns_qualifying_suffix + S_312_24 = 312, // $@24 + S_ddns_update_on_renew = 313, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 314, // ddns_use_conflict_resolution + S_ddns_conflict_resolution_mode = 315, // ddns_conflict_resolution_mode + S_316_25 = 316, // $@25 + S_ddns_conflict_resolution_mode_value = 317, // ddns_conflict_resolution_mode_value + S_ddns_ttl_percent = 318, // ddns_ttl_percent + S_ddns_ttl = 319, // ddns_ttl + S_ddns_ttl_min = 320, // ddns_ttl_min + S_ddns_ttl_max = 321, // ddns_ttl_max + S_hostname_char_set = 322, // hostname_char_set + S_323_26 = 323, // $@26 + S_hostname_char_replacement = 324, // hostname_char_replacement + S_325_27 = 325, // $@27 + S_store_extended_info = 326, // store_extended_info + S_statistic_default_sample_count = 327, // statistic_default_sample_count + S_statistic_default_sample_age = 328, // statistic_default_sample_age + S_server_tag = 329, // server_tag + S_330_28 = 330, // $@28 + S_parked_packet_limit = 331, // parked_packet_limit + S_allocator = 332, // allocator + S_333_29 = 333, // $@29 + S_pd_allocator = 334, // pd_allocator + S_335_30 = 335, // $@30 + S_early_global_reservations_lookup = 336, // early_global_reservations_lookup + S_ip_reservations_unique = 337, // ip_reservations_unique + S_reservations_lookup_first = 338, // reservations_lookup_first + S_interfaces_config = 339, // interfaces_config + S_340_31 = 340, // $@31 + S_sub_interfaces6 = 341, // sub_interfaces6 + S_342_32 = 342, // $@32 + S_interfaces_config_params = 343, // interfaces_config_params + S_interfaces_config_param = 344, // interfaces_config_param + S_interfaces_list = 345, // interfaces_list + S_346_33 = 346, // $@33 + S_re_detect = 347, // re_detect + S_service_sockets_require_all = 348, // service_sockets_require_all + S_service_sockets_retry_wait_time = 349, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 350, // service_sockets_max_retries + S_lease_database = 351, // lease_database + S_352_34 = 352, // $@34 + S_hosts_database = 353, // hosts_database + S_354_35 = 354, // $@35 + S_hosts_databases = 355, // hosts_databases + S_356_36 = 356, // $@36 + S_database_list = 357, // database_list + S_not_empty_database_list = 358, // not_empty_database_list + S_database = 359, // database + S_360_37 = 360, // $@37 + S_database_map_params = 361, // database_map_params + S_database_map_param = 362, // database_map_param + S_database_type = 363, // database_type + S_364_38 = 364, // $@38 + S_user = 365, // user + S_366_39 = 366, // $@39 + S_password = 367, // password + S_368_40 = 368, // $@40 + S_host = 369, // host + S_370_41 = 370, // $@41 + S_port = 371, // port + S_name = 372, // name + S_373_42 = 373, // $@42 + S_persist = 374, // persist + S_lfc_interval = 375, // lfc_interval + S_readonly = 376, // readonly + S_connect_timeout = 377, // connect_timeout + S_read_timeout = 378, // read_timeout + S_write_timeout = 379, // write_timeout + S_tcp_user_timeout = 380, // tcp_user_timeout + S_reconnect_wait_time = 381, // reconnect_wait_time + S_on_fail = 382, // on_fail + S_383_43 = 383, // $@43 + S_on_fail_mode = 384, // on_fail_mode + S_retry_on_startup = 385, // retry_on_startup + S_max_row_errors = 386, // max_row_errors + S_max_reconnect_tries = 387, // max_reconnect_tries + S_trust_anchor = 388, // trust_anchor + S_389_44 = 389, // $@44 + S_cert_file = 390, // cert_file + S_391_45 = 391, // $@45 + S_key_file = 392, // key_file + S_393_46 = 393, // $@46 + S_ssl_mode = 394, // ssl_mode + S_395_47 = 395, // $@47 + S_cipher_list = 396, // cipher_list + S_397_48 = 397, // $@48 + S_sanity_checks = 398, // sanity_checks + S_399_49 = 399, // $@49 + S_sanity_checks_params = 400, // sanity_checks_params + S_sanity_checks_param = 401, // sanity_checks_param + S_lease_checks = 402, // lease_checks + S_403_50 = 403, // $@50 + S_extended_info_checks = 404, // extended_info_checks + S_405_51 = 405, // $@51 + S_mac_sources = 406, // mac_sources + S_407_52 = 407, // $@52 + S_mac_sources_list = 408, // mac_sources_list + S_mac_sources_value = 409, // mac_sources_value + S_duid_id = 410, // duid_id + S_string_id = 411, // string_id + S_host_reservation_identifiers = 412, // host_reservation_identifiers + S_413_53 = 413, // $@53 + S_host_reservation_identifiers_list = 414, // host_reservation_identifiers_list + S_host_reservation_identifier = 415, // host_reservation_identifier + S_hw_address_id = 416, // hw_address_id + S_flex_id = 417, // flex_id + S_relay_supplied_options = 418, // relay_supplied_options + S_419_54 = 419, // $@54 + S_dhcp_multi_threading = 420, // dhcp_multi_threading + S_421_55 = 421, // $@55 + S_multi_threading_params = 422, // multi_threading_params + S_multi_threading_param = 423, // multi_threading_param + S_enable_multi_threading = 424, // enable_multi_threading + S_thread_pool_size = 425, // thread_pool_size + S_packet_queue_size = 426, // packet_queue_size + S_hooks_libraries = 427, // hooks_libraries + S_428_56 = 428, // $@56 + S_hooks_libraries_list = 429, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 430, // not_empty_hooks_libraries_list + S_hooks_library = 431, // hooks_library + S_432_57 = 432, // $@57 + S_sub_hooks_library = 433, // sub_hooks_library + S_434_58 = 434, // $@58 + S_hooks_params = 435, // hooks_params + S_hooks_param = 436, // hooks_param + S_library = 437, // library + S_438_59 = 438, // $@59 + S_parameters = 439, // parameters + S_440_60 = 440, // $@60 + S_expired_leases_processing = 441, // expired_leases_processing + S_442_61 = 442, // $@61 + S_expired_leases_params = 443, // expired_leases_params + S_expired_leases_param = 444, // expired_leases_param + S_reclaim_timer_wait_time = 445, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 446, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 447, // hold_reclaimed_time + S_max_reclaim_leases = 448, // max_reclaim_leases + S_max_reclaim_time = 449, // max_reclaim_time + S_unwarned_reclaim_cycles = 450, // unwarned_reclaim_cycles + S_subnet6_list = 451, // subnet6_list + S_452_62 = 452, // $@62 + S_subnet6_list_content = 453, // subnet6_list_content + S_not_empty_subnet6_list = 454, // not_empty_subnet6_list + S_subnet6 = 455, // subnet6 + S_456_63 = 456, // $@63 + S_sub_subnet6 = 457, // sub_subnet6 + S_458_64 = 458, // $@64 + S_subnet6_params = 459, // subnet6_params + S_subnet6_param = 460, // subnet6_param + S_subnet = 461, // subnet + S_462_65 = 462, // $@65 + S_interface = 463, // interface + S_464_66 = 464, // $@66 + S_interface_id = 465, // interface_id + S_466_67 = 466, // $@67 + S_client_class = 467, // client_class + S_468_68 = 468, // $@68 + S_network_client_classes = 469, // network_client_classes + S_470_69 = 470, // $@69 + S_require_client_classes = 471, // require_client_classes + S_472_70 = 472, // $@70 + S_evaluate_additional_classes = 473, // evaluate_additional_classes + S_474_71 = 474, // $@71 + S_reservations_global = 475, // reservations_global + S_reservations_in_subnet = 476, // reservations_in_subnet + S_reservations_out_of_pool = 477, // reservations_out_of_pool + S_id = 478, // id + S_rapid_commit = 479, // rapid_commit + S_shared_networks = 480, // shared_networks + S_481_72 = 481, // $@72 + S_shared_networks_content = 482, // shared_networks_content + S_shared_networks_list = 483, // shared_networks_list + S_shared_network = 484, // shared_network + S_485_73 = 485, // $@73 + S_shared_network_params = 486, // shared_network_params + S_shared_network_param = 487, // shared_network_param + S_option_def_list = 488, // option_def_list + S_489_74 = 489, // $@74 + S_sub_option_def_list = 490, // sub_option_def_list + S_491_75 = 491, // $@75 + S_option_def_list_content = 492, // option_def_list_content + S_not_empty_option_def_list = 493, // not_empty_option_def_list + S_option_def_entry = 494, // option_def_entry + S_495_76 = 495, // $@76 + S_sub_option_def = 496, // sub_option_def + S_497_77 = 497, // $@77 + S_option_def_params = 498, // option_def_params + S_not_empty_option_def_params = 499, // not_empty_option_def_params + S_option_def_param = 500, // option_def_param + S_option_def_name = 501, // option_def_name + S_code = 502, // code + S_option_def_code = 503, // option_def_code + S_option_def_type = 504, // option_def_type + S_505_78 = 505, // $@78 + S_option_def_record_types = 506, // option_def_record_types + S_507_79 = 507, // $@79 + S_space = 508, // space + S_509_80 = 509, // $@80 + S_option_def_space = 510, // option_def_space + S_option_def_encapsulate = 511, // option_def_encapsulate + S_512_81 = 512, // $@81 + S_option_def_array = 513, // option_def_array + S_option_data_list = 514, // option_data_list + S_515_82 = 515, // $@82 + S_option_data_list_content = 516, // option_data_list_content + S_not_empty_option_data_list = 517, // not_empty_option_data_list + S_option_data_entry = 518, // option_data_entry + S_519_83 = 519, // $@83 + S_sub_option_data = 520, // sub_option_data + S_521_84 = 521, // $@84 + S_option_data_params = 522, // option_data_params + S_not_empty_option_data_params = 523, // not_empty_option_data_params + S_option_data_param = 524, // option_data_param + S_option_data_name = 525, // option_data_name + S_option_data_data = 526, // option_data_data + S_527_85 = 527, // $@85 + S_option_data_code = 528, // option_data_code + S_option_data_space = 529, // option_data_space + S_option_data_csv_format = 530, // option_data_csv_format + S_option_data_always_send = 531, // option_data_always_send + S_option_data_never_send = 532, // option_data_never_send + S_option_data_client_classes = 533, // option_data_client_classes + S_534_86 = 534, // $@86 + S_pools_list = 535, // pools_list + S_536_87 = 536, // $@87 + S_pools_list_content = 537, // pools_list_content + S_not_empty_pools_list = 538, // not_empty_pools_list + S_pool_list_entry = 539, // pool_list_entry + S_540_88 = 540, // $@88 + S_sub_pool6 = 541, // sub_pool6 + S_542_89 = 542, // $@89 + S_pool_params = 543, // pool_params + S_pool_param = 544, // pool_param + S_pool_entry = 545, // pool_entry + S_546_90 = 546, // $@90 + S_pool_id = 547, // pool_id + S_user_context = 548, // user_context + S_549_91 = 549, // $@91 + S_comment = 550, // comment + S_551_92 = 551, // $@92 + S_pd_pools_list = 552, // pd_pools_list + S_553_93 = 553, // $@93 + S_pd_pools_list_content = 554, // pd_pools_list_content + S_not_empty_pd_pools_list = 555, // not_empty_pd_pools_list + S_pd_pool_entry = 556, // pd_pool_entry + S_557_94 = 557, // $@94 + S_sub_pd_pool = 558, // sub_pd_pool + S_559_95 = 559, // $@95 + S_pd_pool_params = 560, // pd_pool_params + S_pd_pool_param = 561, // pd_pool_param + S_pd_prefix = 562, // pd_prefix + S_563_96 = 563, // $@96 + S_pd_prefix_len = 564, // pd_prefix_len + S_excluded_prefix = 565, // excluded_prefix + S_566_97 = 566, // $@97 + S_excluded_prefix_len = 567, // excluded_prefix_len + S_pd_delegated_len = 568, // pd_delegated_len + S_reservations = 569, // reservations + S_570_98 = 570, // $@98 + S_reservations_list = 571, // reservations_list + S_not_empty_reservations_list = 572, // not_empty_reservations_list + S_reservation = 573, // reservation + S_574_99 = 574, // $@99 + S_sub_reservation = 575, // sub_reservation + S_576_100 = 576, // $@100 + S_reservation_params = 577, // reservation_params + S_not_empty_reservation_params = 578, // not_empty_reservation_params + S_reservation_param = 579, // reservation_param + S_ip_addresses = 580, // ip_addresses + S_581_101 = 581, // $@101 + S_prefixes = 582, // prefixes + S_583_102 = 583, // $@102 + S_excluded_prefixes = 584, // excluded_prefixes + S_585_103 = 585, // $@103 + S_duid = 586, // duid + S_587_104 = 587, // $@104 + S_hw_address = 588, // hw_address + S_589_105 = 589, // $@105 + S_hostname = 590, // hostname + S_591_106 = 591, // $@106 + S_flex_id_value = 592, // flex_id_value + S_593_107 = 593, // $@107 + S_reservation_client_classes = 594, // reservation_client_classes + S_595_108 = 595, // $@108 + S_relay = 596, // relay + S_597_109 = 597, // $@109 + S_relay_map = 598, // relay_map + S_client_classes = 599, // client_classes + S_600_110 = 600, // $@110 + S_client_classes_list = 601, // client_classes_list + S_client_class_entry = 602, // client_class_entry + S_603_111 = 603, // $@111 + S_client_class_params = 604, // client_class_params + S_not_empty_client_class_params = 605, // not_empty_client_class_params + S_client_class_param = 606, // client_class_param + S_client_class_name = 607, // client_class_name + S_client_class_test = 608, // client_class_test + S_609_112 = 609, // $@112 + S_client_class_template_test = 610, // client_class_template_test + S_611_113 = 611, // $@113 + S_only_if_required = 612, // only_if_required + S_only_in_additional_list = 613, // only_in_additional_list + S_server_id = 614, // server_id + S_615_114 = 615, // $@114 + S_server_id_params = 616, // server_id_params + S_server_id_param = 617, // server_id_param + S_server_id_type = 618, // server_id_type + S_619_115 = 619, // $@115 + S_duid_type = 620, // duid_type + S_htype = 621, // htype + S_identifier = 622, // identifier + S_623_116 = 623, // $@116 + S_time = 624, // time + S_enterprise_id = 625, // enterprise_id + S_dhcp4o6_port = 626, // dhcp4o6_port + S_control_socket = 627, // control_socket + S_628_117 = 628, // $@117 + S_control_sockets = 629, // control_sockets + S_630_118 = 630, // $@118 + S_control_socket_list = 631, // control_socket_list + S_not_empty_control_socket_list = 632, // not_empty_control_socket_list + S_control_socket_entry = 633, // control_socket_entry + S_634_119 = 634, // $@119 + S_control_socket_params = 635, // control_socket_params + S_control_socket_param = 636, // control_socket_param + S_control_socket_type = 637, // control_socket_type + S_638_120 = 638, // $@120 + S_control_socket_type_value = 639, // control_socket_type_value + S_control_socket_name = 640, // control_socket_name + S_641_121 = 641, // $@121 + S_control_socket_address = 642, // control_socket_address + S_643_122 = 643, // $@122 + S_control_socket_port = 644, // control_socket_port + S_cert_required = 645, // cert_required + S_http_headers = 646, // http_headers + S_647_123 = 647, // $@123 + S_http_header_list = 648, // http_header_list + S_not_empty_http_header_list = 649, // not_empty_http_header_list + S_http_header = 650, // http_header + S_651_124 = 651, // $@124 + S_http_header_params = 652, // http_header_params + S_http_header_param = 653, // http_header_param + S_header_value = 654, // header_value + S_655_125 = 655, // $@125 + S_authentication = 656, // authentication + S_657_126 = 657, // $@126 + S_auth_params = 658, // auth_params + S_auth_param = 659, // auth_param + S_auth_type = 660, // auth_type + S_661_127 = 661, // $@127 + S_auth_type_value = 662, // auth_type_value + S_realm = 663, // realm + S_664_128 = 664, // $@128 + S_directory = 665, // directory + S_666_129 = 666, // $@129 + S_clients = 667, // clients + S_668_130 = 668, // $@130 + S_clients_list = 669, // clients_list + S_not_empty_clients_list = 670, // not_empty_clients_list + S_basic_auth = 671, // basic_auth + S_672_131 = 672, // $@131 + S_clients_params = 673, // clients_params + S_clients_param = 674, // clients_param + S_user_file = 675, // user_file + S_676_132 = 676, // $@132 + S_password_file = 677, // password_file + S_678_133 = 678, // $@133 + S_dhcp_queue_control = 679, // dhcp_queue_control + S_680_134 = 680, // $@134 + S_queue_control_params = 681, // queue_control_params + S_queue_control_param = 682, // queue_control_param + S_enable_queue = 683, // enable_queue + S_queue_type = 684, // queue_type + S_685_135 = 685, // $@135 + S_capacity = 686, // capacity + S_arbitrary_map_entry = 687, // arbitrary_map_entry + S_688_136 = 688, // $@136 + S_dhcp_ddns = 689, // dhcp_ddns + S_690_137 = 690, // $@137 + S_sub_dhcp_ddns = 691, // sub_dhcp_ddns + S_692_138 = 692, // $@138 + S_dhcp_ddns_params = 693, // dhcp_ddns_params + S_dhcp_ddns_param = 694, // dhcp_ddns_param + S_enable_updates = 695, // enable_updates + S_server_ip = 696, // server_ip + S_697_139 = 697, // $@139 + S_server_port = 698, // server_port + S_sender_ip = 699, // sender_ip + S_700_140 = 700, // $@140 + S_sender_port = 701, // sender_port + S_max_queue_size = 702, // max_queue_size + S_ncr_protocol = 703, // ncr_protocol + S_704_141 = 704, // $@141 + S_ncr_protocol_value = 705, // ncr_protocol_value + S_ncr_format = 706, // ncr_format + S_707_142 = 707, // $@142 + S_config_control = 708, // config_control + S_709_143 = 709, // $@143 + S_sub_config_control = 710, // sub_config_control + S_711_144 = 711, // $@144 + S_config_control_params = 712, // config_control_params + S_config_control_param = 713, // config_control_param + S_config_databases = 714, // config_databases + S_715_145 = 715, // $@145 + S_config_fetch_wait_time = 716, // config_fetch_wait_time + S_loggers = 717, // loggers + S_718_146 = 718, // $@146 + S_loggers_entries = 719, // loggers_entries + S_logger_entry = 720, // logger_entry + S_721_147 = 721, // $@147 + S_logger_params = 722, // logger_params + S_logger_param = 723, // logger_param + S_debuglevel = 724, // debuglevel + S_severity = 725, // severity + S_726_148 = 726, // $@148 + S_output_options_list = 727, // output_options_list + S_728_149 = 728, // $@149 + S_output_options_list_content = 729, // output_options_list_content + S_output_entry = 730, // output_entry + S_731_150 = 731, // $@150 + S_output_params_list = 732, // output_params_list + S_output_params = 733, // output_params + S_output = 734, // output + S_735_151 = 735, // $@151 + S_flush = 736, // flush + S_maxsize = 737, // maxsize + S_maxver = 738, // maxver + S_pattern = 739, // pattern + S_740_152 = 740, // $@152 + S_compatibility = 741, // compatibility + S_742_153 = 742, // $@153 + S_compatibility_params = 743, // compatibility_params + S_compatibility_param = 744, // compatibility_param + S_lenient_option_parsing = 745 // lenient_option_parsing }; }; @@ -2916,6 +2919,21 @@ switch (yykind) return symbol_type (token::TOKEN_CACHE_MAX_AGE, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_ADAPTIVE_LEASE_TIME_THRESHOLD (location_type l) + { + return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, std::move (l)); + } +#else + static + symbol_type + make_ADAPTIVE_LEASE_TIME_THRESHOLD (const location_type& l) + { + return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5901,8 +5919,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1780, ///< Last index in yytable_. - yynnts_ = 500, ///< Number of nonterminal symbols. + yylast_ = 1784, ///< Last index in yytable_. + yynnts_ = 501, ///< Number of nonterminal symbols. yyfinal_ = 30 ///< Termination state number. }; @@ -5971,10 +5989,10 @@ switch (yykind) 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243 + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244 }; // Last valid token kind. - const int code_max = 498; + const int code_max = 499; if (t <= 0) return symbol_kind::S_YYEOF; @@ -6149,7 +6167,7 @@ switch (yykind) #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 6153 "dhcp6_parser.h" +#line 6171 "dhcp6_parser.h" diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index ba95ab79bb..292df1c25f 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -115,6 +115,7 @@ using namespace std; T2_PERCENT "t2-percent" CACHE_THRESHOLD "cache-threshold" CACHE_MAX_AGE "cache-max-age" + ADAPTIVE_LEASE_TIME_THRESHOLD "adaptive-lease-time-threshold" DECLINE_PROBATION_PERIOD "decline-probation-period" SERVER_TAG "server-tag" STATISTIC_DEFAULT_SAMPLE_COUNT "statistic-default-sample-count" @@ -686,6 +687,12 @@ cache_max_age: CACHE_MAX_AGE COLON INTEGER { ctx.stack_.back()->set("cache-max-age", cm); }; +adaptive_lease_time_threshold: ADAPTIVE_LEASE_TIME_THRESHOLD COLON FLOAT { + ctx.unique("adaptive-lease-time-threshold", ctx.loc2pos(@1)); + ElementPtr altt(new DoubleElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("adaptive-lease-time-threshold", altt); +}; + decline_probation_period: DECLINE_PROBATION_PERIOD COLON INTEGER { ctx.unique("decline-probation-period", ctx.loc2pos(@1)); ElementPtr dpp(new IntElement($3, ctx.loc2pos(@3))); @@ -1692,6 +1699,7 @@ subnet6_param: preferred_lifetime | t2_percent | cache_threshold | cache_max_age + | adaptive_lease_time_threshold | hostname_char_set | hostname_char_replacement | ddns_send_updates @@ -1884,6 +1892,7 @@ shared_network_param: name | t2_percent | cache_threshold | cache_max_age + | adaptive_lease_time_threshold | hostname_char_set | hostname_char_replacement | ddns_send_updates diff --git a/src/bin/dhcp6/json_config_parser.cc b/src/bin/dhcp6/json_config_parser.cc index 4391155133..72a055bf38 100644 --- a/src/bin/dhcp6/json_config_parser.cc +++ b/src/bin/dhcp6/json_config_parser.cc @@ -780,6 +780,7 @@ processDhcp6Config(isc::data::ConstElementPtr config_set) { (config_pair.first == "t2-percent") || (config_pair.first == "cache-threshold") || (config_pair.first == "cache-max-age") || + (config_pair.first == "adaptive-lease-time-threshold") || (config_pair.first == "hostname-char-set") || (config_pair.first == "hostname-char-replacement") || (config_pair.first == "ddns-send-updates") || diff --git a/src/lib/dhcpsrv/cfg_globals.cc b/src/lib/dhcpsrv/cfg_globals.cc index e9824f75db..c38be5ca8f 100644 --- a/src/lib/dhcpsrv/cfg_globals.cc +++ b/src/lib/dhcpsrv/cfg_globals.cc @@ -61,6 +61,7 @@ CfgGlobals::nameToIndex = { { "ddns-ttl-min", DDNS_TTL_MIN }, { "ddns-ttl-max", DDNS_TTL_MAX }, { "host-reservation-identifiers", HOST_RESERVATION_IDENTIFIERS }, + { "adaptive-lease-time-threshold", ADAPTIVE_LEASE_TIME_THRESHOLD }, // DHCPv4 specific parameters. { "echo-client-id", ECHO_CLIENT_ID }, diff --git a/src/lib/dhcpsrv/cfg_globals.h b/src/lib/dhcpsrv/cfg_globals.h index f064cc933c..1129f24d4c 100644 --- a/src/lib/dhcpsrv/cfg_globals.h +++ b/src/lib/dhcpsrv/cfg_globals.h @@ -84,6 +84,7 @@ public: DDNS_TTL_MIN, DDNS_TTL_MAX, HOST_RESERVATION_IDENTIFIERS, + ADAPTIVE_LEASE_TIME_THRESHOLD, // DHCPv4 specific parameters. ECHO_CLIENT_ID, diff --git a/src/lib/dhcpsrv/parsers/simple_parser4.cc b/src/lib/dhcpsrv/parsers/simple_parser4.cc index 2974a82192..e8f9eb2041 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser4.cc +++ b/src/lib/dhcpsrv/parsers/simple_parser4.cc @@ -103,6 +103,7 @@ const SimpleKeywords SimpleParser4::GLOBAL4_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default global values for DHCPv4 @@ -147,6 +148,7 @@ const SimpleDefaults SimpleParser4::GLOBAL4_DEFAULTS = { { "ddns-conflict-resolution-mode", Element::string, "check-with-dhcid" }, { "stash-agent-options", Element::boolean, "false" }, { "cache-threshold", Element::real, "0.25" }, + { "adaptive-lease-time-threshold", Element::real, "1." }, }; const SimpleKeywords SimpleParser4::GLOBAL4_LIST_PARAMETERS = { @@ -281,6 +283,7 @@ const SimpleKeywords SimpleParser4::SUBNET4_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default values for each IPv4 subnet. @@ -338,6 +341,7 @@ const ParamsList SimpleParser4::INHERIT_TO_SUBNET4 = { "cache-max-age", "allocator", "offer-lifetime", + "adaptive-lease-time-threshold", }; /// @brief This table defines all pool parameters. @@ -425,6 +429,7 @@ const SimpleKeywords SimpleParser4::SHARED_NETWORK4_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default values for interfaces for DHCPv4. diff --git a/src/lib/dhcpsrv/parsers/simple_parser6.cc b/src/lib/dhcpsrv/parsers/simple_parser6.cc index 1fe8b36d2b..6589e49701 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser6.cc +++ b/src/lib/dhcpsrv/parsers/simple_parser6.cc @@ -103,6 +103,7 @@ const SimpleKeywords SimpleParser6::GLOBAL6_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default global values for DHCPv6 @@ -142,6 +143,7 @@ const SimpleDefaults SimpleParser6::GLOBAL6_DEFAULTS = { { "pd-allocator", Element::string, "iterative" }, { "ddns-conflict-resolution-mode", Element::string, "check-with-dhcid" }, { "cache-threshold", Element::real, "0.25" }, + { "adaptive-lease-time-threshold", Element::real, "1." }, }; const SimpleKeywords SimpleParser6::GLOBAL6_LIST_PARAMETERS = { @@ -274,6 +276,7 @@ const SimpleKeywords SimpleParser6::SUBNET6_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default values for each IPv6 subnet. @@ -329,7 +332,8 @@ const ParamsList SimpleParser6::INHERIT_TO_SUBNET6 = { "cache-threshold", "cache-max-age", "allocator", - "pd-allocator" + "pd-allocator", + "adaptive-lease-time-threshold", }; /// @brief This table defines all pool parameters. @@ -439,6 +443,7 @@ const SimpleKeywords SimpleParser6::SHARED_NETWORK6_PARAMETERS = { { "ddns-ttl", Element::integer }, { "ddns-ttl-min", Element::integer }, { "ddns-ttl-max", Element::integer }, + { "adaptive-lease-time-threshold", Element::real }, }; /// @brief This table defines default values for interfaces for DHCPv6.