From: W.C.A. Wijngaards Date: Tue, 25 Feb 2020 08:55:59 +0000 (+0100) Subject: - Fix #165: Add prefer-ip4: yesno config option to prefer ipv4 for X-Git-Tag: 1.11.0rc1~131 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=318d4e91cc1f29629d4b8277edffff1ec1fe9546;p=thirdparty%2Funbound.git - Fix #165: Add prefer-ip4: yesno config option to prefer ipv4 for using ipv4 filters, because the hosts ip6 netblock /64 is not owned by one operator, and thus reputation is shared. --- diff --git a/doc/Changelog b/doc/Changelog index b2aac14c9..620d627f8 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,8 @@ +25 February 2020: Wouter + - Fix #165: Add prefer-ip4: yesno config option to prefer ipv4 for + using ipv4 filters, because the hosts ip6 netblock /64 is not owned + by one operator, and thus reputation is shared. + 24 February 2020: George - Merge PR #166: Fix typo in unbound.service.in, by glitsj16. diff --git a/iterator/iter_utils.c b/iterator/iter_utils.c index 2ab55ceb4..c726ba6b3 100644 --- a/iterator/iter_utils.c +++ b/iterator/iter_utils.c @@ -484,6 +484,63 @@ iter_filter_order(struct iter_env* iter_env, struct module_env* env, got_num = num4ok; *selected_rtt = num4_lowrtt; } + } else if (env->cfg->prefer_ip4) { + int got_num4 = 0; + int low_rtt4 = 0; + int i; + int attempt = -1; /* filter to make sure addresses have + less attempts on them than the first, to force round + robin when all the IPv4 addresses fail */ + int num6ok = 0; /* number ip6 at low attempt count */ + int num6_lowrtt = 0; + prev = NULL; + a = dp->result_list; + for(i = 0; i < got_num; i++) { + swap_to_front = 0; + if(a->addr.ss_family != AF_INET && attempt == -1) { + /* if we only have ip6 at low attempt count, + * then ip4 is failing, and we need to + * select one of the remaining IPv6 addrs */ + attempt = a->attempts; + num6ok++; + num6_lowrtt = a->sel_rtt; + } else if(a->addr.ss_family != AF_INET && attempt == a->attempts) { + num6ok++; + if(num6_lowrtt == 0 || a->sel_rtt < num6_lowrtt) { + num6_lowrtt = a->sel_rtt; + } + } + if(a->addr.ss_family == AF_INET) { + if(attempt == -1) { + attempt = a->attempts; + } else if(a->attempts > attempt) { + break; + } + got_num4++; + swap_to_front = 1; + if(low_rtt4 == 0 || a->sel_rtt < low_rtt4) { + low_rtt4 = a->sel_rtt; + } + } + /* swap to front if IPv4, or move to next result */ + if(swap_to_front && prev) { + n = a->next_result; + prev->next_result = n; + a->next_result = dp->result_list; + dp->result_list = a; + a = n; + } else { + prev = a; + a = a->next_result; + } + } + if(got_num4 > 0) { + got_num = got_num4; + *selected_rtt = low_rtt4; + } else if(num6ok > 0) { + got_num = num6ok; + *selected_rtt = num6_lowrtt; + } } return got_num; } diff --git a/smallapp/unbound-checkconf.c b/smallapp/unbound-checkconf.c index c46d41215..34902f363 100644 --- a/smallapp/unbound-checkconf.c +++ b/smallapp/unbound-checkconf.c @@ -481,6 +481,8 @@ morechecks(struct config_file* cfg) fatal_exit("num_threads value weird"); if(!cfg->do_ip4 && !cfg->do_ip6) fatal_exit("ip4 and ip6 are both disabled, pointless"); + if(!cfg->do_ip4 && cfg->prefer_ip4) + fatal_exit("cannot prefer and disable ip4, pointless"); if(!cfg->do_ip6 && cfg->prefer_ip6) fatal_exit("cannot prefer and disable ip6, pointless"); if(!cfg->do_udp && !cfg->do_tcp) diff --git a/util/config_file.h b/util/config_file.h index 8739ca2ae..ff80d63c4 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -85,6 +85,8 @@ struct config_file { int do_ip4; /** do ip6 query support. */ int do_ip6; + /** prefer ip4 upstream queries. */ + int prefer_ip4; /** prefer ip6 upstream queries. */ int prefer_ip6; /** do udp query support. */ diff --git a/util/configlexer.c b/util/configlexer.c index 3b31bb02b..112301330 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -354,8 +354,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 302 -#define YY_END_OF_BUFFER 303 +#define YY_NUM_RULES 303 +#define YY_END_OF_BUFFER 304 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -363,336 +363,336 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2986] = +static const flex_int16_t yy_accept[2988] = { 0, - 1, 1, 284, 284, 288, 288, 292, 292, 296, 296, - 1, 1, 303, 300, 1, 282, 282, 301, 2, 301, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 284, 285, 285, 286, 301, 288, 289, 289, - 290, 301, 295, 292, 293, 293, 294, 301, 296, 297, - 297, 298, 301, 299, 283, 2, 287, 301, 299, 300, - 0, 1, 2, 2, 2, 2, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 284, 0, 288, 0, 295, 0, 292, 296, 0, 299, - 0, 2, 2, 299, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 299, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 112, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 120, 300, 300, 300, 300, - 300, 300, 300, 299, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 96, 300, - 300, 300, 300, 300, 300, 8, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 113, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 125, 300, 299, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 277, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 299, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 54, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 222, 300, 14, 15, 300, 18, 17, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 119, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 206, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 3, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 299, 300, 300, 300, 300, 300, 300, - 300, 272, 300, 300, 271, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 291, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 57, 300, 246, 300, 300, 300, 300, - 300, 300, 300, 300, 278, 279, 300, 300, 300, 300, - 300, 58, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 116, 300, 300, - 300, 300, 300, 300, 300, 300, 195, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 20, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 144, 300, 300, 291, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 94, - 300, 300, 300, 300, 300, 300, 300, 254, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 167, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 143, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 93, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 31, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 32, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 55, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 118, 300, 300, 300, 300, - 300, 111, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 56, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 168, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 45, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 237, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 49, 300, 50, 300, 300, 300, - 300, 300, 97, 300, 98, 300, 300, 300, 300, 95, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 7, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 215, 300, 300, 300, - 300, 146, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 46, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 187, 300, 186, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 16, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 59, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 194, - - 300, 300, 300, 300, 300, 300, 100, 300, 99, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 178, - 300, 300, 300, 300, 300, 300, 300, 300, 126, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 78, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 82, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 53, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 181, 182, 300, 300, 300, 248, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 6, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 252, - 300, 300, 300, 300, 300, 300, 273, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 41, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 43, 300, 300, 300, 300, 300, 300, 300, 300, 174, - 300, 300, 300, 121, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 199, 300, 175, 300, 300, 300, - 212, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 44, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 123, 105, 300, - 106, 300, 300, 300, 104, 300, 300, 300, 300, 300, - 300, 300, 300, 141, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 236, 300, 300, 300, 300, - - 300, 300, 300, 300, 176, 300, 300, 300, 300, 300, - 179, 300, 185, 300, 300, 300, 300, 300, 211, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 92, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 117, 300, 300, 300, 300, 300, 300, 51, 300, - 300, 300, 25, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 19, 300, 300, 300, 300, 300, 300, 26, - 35, 300, 151, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 67, 69, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 256, 300, 300, - 300, 223, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 107, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 140, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 267, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 145, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 205, - - 300, 300, 300, 300, 300, 300, 300, 300, 276, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 162, 300, 300, 300, 300, 300, 300, 300, 300, 101, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 157, - 300, 169, 300, 300, 300, 300, 300, 129, 300, 300, - 300, 300, 300, 88, 300, 300, 300, 300, 197, 300, - 300, 300, 300, 300, 300, 213, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 228, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 122, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 161, - 300, 300, 300, 300, 300, 70, 71, 300, 300, 300, - 300, 300, 52, 300, 300, 300, 300, 300, 77, 170, - 300, 188, 300, 216, 300, 300, 180, 249, 300, 300, - 300, 300, 300, 63, 300, 172, 300, 300, 300, 300, - 300, 9, 300, 300, 300, 91, 300, 300, 300, 300, - 241, 300, 300, 300, 196, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 160, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 147, 300, 255, 300, 300, - 300, 300, 227, 300, 300, 300, 300, 300, 300, 300, - 300, 207, 300, 300, 300, 300, 247, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 270, 300, 171, 300, 300, 300, 300, 300, 300, - 300, 62, 64, 300, 300, 300, 300, 300, 300, 300, - 90, 300, 300, 300, 300, 239, 300, 300, 300, 251, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 201, 33, 27, 29, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 34, 300, 28, 30, 300, 300, - 300, 300, 300, 300, 300, 300, 87, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 203, 200, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 61, 300, 300, 124, 300, 108, 300, 300, 300, 300, - 300, 300, 300, 300, 142, 13, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 265, 300, 268, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 12, 300, - 300, 21, 300, 300, 300, 245, 300, 300, 300, 253, - 300, 300, 300, 65, 300, 209, 300, 300, 300, 300, - 202, 300, 300, 60, 300, 300, 300, 300, 22, 300, - 42, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 156, 155, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 204, 198, 300, 214, 300, 300, - 257, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 72, 300, 300, 300, 240, - - 300, 300, 300, 300, 184, 300, 300, 300, 300, 208, - 300, 300, 300, 300, 300, 300, 300, 300, 274, 275, - 153, 300, 300, 66, 300, 300, 300, 300, 163, 300, - 300, 102, 103, 300, 300, 300, 300, 148, 300, 150, - 300, 189, 300, 300, 300, 300, 154, 300, 300, 217, - 300, 300, 300, 300, 300, 300, 300, 131, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 224, - 300, 300, 300, 23, 300, 250, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 190, 300, 300, - 238, 300, 269, 300, 183, 300, 300, 300, 300, 47, - - 300, 300, 300, 300, 4, 300, 300, 300, 115, 130, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 220, 36, - 37, 300, 300, 300, 300, 300, 300, 300, 258, 300, - 300, 300, 300, 300, 300, 226, 300, 300, 300, 193, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 75, - 300, 48, 244, 300, 221, 300, 300, 300, 300, 11, - 300, 300, 300, 300, 300, 114, 300, 300, 300, 300, - 191, 79, 300, 39, 300, 300, 300, 300, 300, 300, - 300, 300, 159, 300, 300, 300, 300, 300, 133, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 225, 127, - 300, 300, 109, 110, 300, 300, 300, 81, 85, 80, - 300, 73, 300, 300, 300, 300, 300, 10, 300, 300, - 300, 242, 300, 300, 300, 300, 281, 38, 300, 300, - 300, 300, 300, 158, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 86, 84, 300, 74, 266, 300, 300, 300, - 300, 300, 300, 300, 177, 300, 300, 300, 300, 300, - 192, 300, 300, 300, 300, 300, 300, 300, 300, 149, - 68, 300, 300, 300, 300, 300, 259, 300, 300, 300, - - 300, 300, 300, 300, 128, 300, 83, 134, 135, 138, - 139, 136, 137, 76, 300, 243, 300, 300, 300, 300, - 152, 300, 300, 300, 300, 300, 219, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 165, 164, 40, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 89, 300, 218, - 300, 235, 263, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 5, 300, 300, 210, 300, 300, 264, - 300, 300, 300, 300, 300, 300, 300, 300, 24, 300, - - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 132, 300, 300, 300, 300, 300, - 300, 300, 300, 166, 300, 173, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 260, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 280, 300, 300, 231, 300, 300, 300, - 300, 300, 261, 300, 300, 300, 300, 300, 300, 262, - 300, 300, 300, 229, 300, 232, 233, 300, 300, 300, - 300, 300, 230, 234, 0 + 1, 1, 285, 285, 289, 289, 293, 293, 297, 297, + 1, 1, 304, 301, 1, 283, 283, 302, 2, 302, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 285, 286, 286, 287, 302, 289, 290, 290, + 291, 302, 296, 293, 294, 294, 295, 302, 297, 298, + 298, 299, 302, 300, 284, 2, 288, 302, 300, 301, + 0, 1, 2, 2, 2, 2, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 285, 0, 289, 0, 296, 0, 293, 297, 0, 300, + 0, 2, 2, 300, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 300, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 113, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 121, 301, 301, 301, 301, + 301, 301, 301, 300, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 97, 301, + 301, 301, 301, 301, 301, 8, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 114, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 126, 301, 300, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 278, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 300, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 55, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 223, 301, 14, 15, 301, 19, 18, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 120, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 207, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 3, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 300, 301, 301, 301, 301, 301, 301, + 301, 273, 301, 301, 272, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 292, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 58, 301, 247, 301, 301, 301, 301, + 301, 301, 301, 301, 279, 280, 301, 301, 301, 301, + 301, 59, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 117, 301, 301, + 301, 301, 301, 301, 301, 301, 196, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 21, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 145, 301, 301, 292, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 95, + 301, 301, 301, 301, 301, 301, 301, 255, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 168, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 144, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 94, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 32, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 33, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 56, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 119, 301, 301, 301, 301, + 301, 112, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 57, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 169, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 46, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 238, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 50, 301, 51, 301, 301, + 301, 301, 301, 98, 301, 99, 301, 301, 301, 301, + 96, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 7, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 216, 301, 301, + 301, 301, 147, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 47, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 188, 301, 187, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 16, 17, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 60, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 195, 301, 301, 301, 301, 301, 301, 101, 301, + 100, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 179, 301, 301, 301, 301, 301, 301, 301, 301, + 127, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 79, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 83, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 54, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 182, 183, 301, 301, 301, 249, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 6, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 253, 301, 301, 301, 301, 301, 301, 274, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 42, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 44, 301, 301, 301, 301, 301, 301, 301, + 301, 175, 301, 301, 301, 122, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 200, 301, 176, 301, + 301, 301, 213, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 45, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 124, + 106, 301, 107, 301, 301, 301, 105, 301, 301, 301, + 301, 301, 301, 301, 301, 142, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 237, 301, 301, + + 301, 301, 301, 301, 301, 301, 177, 301, 301, 301, + 301, 301, 180, 301, 186, 301, 301, 301, 301, 301, + 212, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 93, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 118, 301, 301, 301, 301, 301, 301, + 52, 301, 301, 301, 26, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 20, 301, 301, 301, 301, 301, + 301, 27, 36, 301, 152, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 68, 70, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 257, + 301, 301, 301, 224, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 108, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 141, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 268, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 146, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 206, 301, 301, 301, 301, 301, 301, 301, 301, + 277, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 163, 301, 301, 301, 301, 301, 301, 301, + 301, 102, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 158, 301, 170, 301, 301, 301, 301, 301, 130, + 301, 301, 301, 301, 301, 89, 301, 301, 301, 301, + 198, 301, 301, 301, 301, 301, 301, 214, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 229, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 123, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 162, 301, 301, 301, 301, 301, 71, 72, 301, + 301, 301, 301, 301, 53, 301, 301, 301, 301, 301, + 78, 171, 301, 189, 301, 217, 301, 301, 181, 250, + 301, 301, 301, 301, 301, 64, 301, 173, 301, 301, + 301, 301, 301, 9, 301, 301, 301, 92, 301, 301, + 301, 301, 242, 301, 301, 301, 197, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 161, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 148, 301, 256, + 301, 301, 301, 301, 228, 301, 301, 301, 301, 301, + 301, 301, 301, 208, 301, 301, 301, 301, 248, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 271, 301, 172, 301, 301, 301, 301, + 301, 301, 301, 63, 65, 301, 301, 301, 301, 301, + 301, 301, 91, 301, 301, 301, 301, 240, 301, 301, + + 301, 252, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 202, 34, 28, 30, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 35, 301, 29, 31, + 301, 301, 301, 301, 301, 301, 301, 301, 88, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 204, 201, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 62, 301, 301, 125, 301, 109, 301, 301, + 301, 301, 301, 301, 301, 301, 143, 13, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 266, 301, 269, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 12, 301, 301, 22, 301, 301, 301, 246, 301, 301, + 301, 254, 301, 301, 301, 66, 301, 210, 301, 301, + 301, 301, 203, 301, 301, 61, 301, 301, 301, 301, + 23, 301, 43, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 157, 156, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 205, 199, 301, 215, + 301, 301, 258, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 73, 301, 301, + + 301, 241, 301, 301, 301, 301, 185, 301, 301, 301, + 301, 209, 301, 301, 301, 301, 301, 301, 301, 301, + 275, 276, 154, 301, 301, 67, 301, 301, 301, 301, + 164, 301, 301, 103, 104, 301, 301, 301, 301, 149, + 301, 151, 301, 190, 301, 301, 301, 301, 155, 301, + 301, 218, 301, 301, 301, 301, 301, 301, 301, 132, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 225, 301, 301, 301, 24, 301, 251, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 191, + 301, 301, 239, 301, 270, 301, 184, 301, 301, 301, + + 301, 48, 301, 301, 301, 301, 4, 301, 301, 301, + 116, 131, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 221, 37, 38, 301, 301, 301, 301, 301, 301, 301, + 259, 301, 301, 301, 301, 301, 301, 227, 301, 301, + 301, 194, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 76, 301, 49, 245, 301, 222, 301, 301, 301, + 301, 11, 301, 301, 301, 301, 301, 115, 301, 301, + 301, 301, 192, 80, 301, 40, 301, 301, 301, 301, + 301, 301, 301, 301, 160, 301, 301, 301, 301, 301, + + 134, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 226, 128, 301, 301, 110, 111, 301, 301, 301, 82, + 86, 81, 301, 74, 301, 301, 301, 301, 301, 10, + 301, 301, 301, 243, 301, 301, 301, 301, 282, 39, + 301, 301, 301, 301, 301, 159, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 87, 85, 301, 75, 267, 301, + 301, 301, 301, 301, 301, 301, 178, 301, 301, 301, + 301, 301, 193, 301, 301, 301, 301, 301, 301, 301, + 301, 150, 69, 301, 301, 301, 301, 301, 260, 301, + + 301, 301, 301, 301, 301, 301, 129, 301, 84, 135, + 136, 139, 140, 137, 138, 77, 301, 244, 301, 301, + 301, 301, 153, 301, 301, 301, 301, 301, 220, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 166, 165, 41, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 90, + 301, 219, 301, 236, 264, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 5, 301, 301, 211, 301, + 301, 265, 301, 301, 301, 301, 301, 301, 301, 301, + + 25, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 133, 301, 301, 301, + 301, 301, 301, 301, 301, 167, 301, 174, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 261, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 281, 301, 301, 232, 301, + 301, 301, 301, 301, 262, 301, 301, 301, 301, 301, + 301, 263, 301, 301, 301, 230, 301, 233, 234, 301, + 301, 301, 301, 301, 231, 235, 0 } ; static const YY_CHAR yy_ec[256] = @@ -735,15 +735,15 @@ static const YY_CHAR yy_meta[41] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[3000] = +static const flex_int16_t yy_base[3002] = { 0, 0, 0, 38, 41, 44, 46, 59, 65, 71, 77, - 90, 112, 4280, 4028, 81, 5813, 5813, 5813, 96, 52, + 90, 112, 3479, 3230, 81, 5821, 5821, 5821, 96, 52, 106, 63, 107, 111, 70, 128, 130, 133, 57, 88, 76, 135, 141, 117, 148, 145, 160, 164, 185, 177, - 189, 152, 3954, 5813, 5813, 5813, 107, 3854, 5813, 5813, - 5813, 165, 3105, 2544, 5813, 5813, 5813, 211, 2291, 5813, - 5813, 5813, 180, 2178, 5813, 217, 5813, 221, 168, 1832, + 189, 152, 3109, 5821, 5821, 5821, 107, 3022, 5821, 5821, + 5821, 165, 2626, 2353, 5821, 5821, 5821, 211, 2291, 5821, + 5821, 5821, 180, 2178, 5821, 217, 5821, 221, 168, 1832, 225, 231, 0, 237, 0, 0, 226, 231, 85, 180, 114, 238, 239, 156, 234, 206, 240, 232, 200, 132, 253, 244, 245, 248, 256, 257, 264, 271, 249, 277, @@ -772,9 +772,9 @@ static const flex_int16_t yy_base[3000] = 700, 701, 702, 711, 704, 712, 713, 726, 731, 721, 732, 733, 735, 737, 740, 748, 739, 746, 743, 750, - 752, 753, 762, 758, 5813, 757, 760, 773, 766, 774, + 752, 753, 762, 758, 5821, 757, 760, 773, 766, 774, 775, 776, 781, 782, 763, 789, 787, 788, 792, 814, - 796, 798, 794, 803, 806, 5813, 804, 808, 838, 810, + 796, 798, 794, 803, 806, 5821, 804, 808, 838, 810, 812, 832, 828, 824, 827, 829, 839, 836, 849, 842, 847, 851, 862, 858, 859, 860, 861, 864, 863, 877, 872, 870, 799, 874, 889, 875, 882, 886, 887, 892, @@ -783,21 +783,21 @@ static const flex_int16_t yy_base[3000] = 942, 943, 937, 944, 947, 950, 951, 952, 953, 961, 958, 959, 963, 964, 966, 967, 970, 972, 973, 975, - 977, 979, 978, 985, 988, 981, 994, 989, 5813, 996, - 998, 999, 1000, 1001, 1003, 5813, 1004, 1005, 1006, 1014, + 977, 979, 978, 985, 988, 981, 994, 989, 5821, 996, + 998, 999, 1000, 1001, 1003, 5821, 1004, 1005, 1006, 1014, 1017, 1016, 1013, 1023, 1027, 1028, 1029, 1030, 1039, 1012, 1041, 1040, 1036, 1042, 1046, 1048, 1049, 1051, 1052, 1054, - 1055, 1057, 1060, 1077, 5813, 1061, 1064, 1062, 1063, 1070, + 1055, 1057, 1060, 1077, 5821, 1061, 1064, 1062, 1063, 1070, 1080, 1089, 1072, 1090, 1088, 1065, 1105, 1092, 1106, 1100, 1101, 1111, 1102, 1113, 1107, 1116, 1115, 1117, 1118, 1119, - 1120, 1125, 1126, 1131, 5813, 1133, 1134, 1145, 1135, 1143, + 1120, 1125, 1126, 1131, 5821, 1133, 1134, 1145, 1135, 1143, 1132, 1146, 1148, 1149, 1150, 1152, 1153, 1156, 1162, 1172, 1157, 1174, 1159, 1170, 1175, 1176, 1177, 1178, 1179, 1180, 1193, 1184, 1186, 1200, 1207, 1203, 1205, 1212, 1190, 1210, 1209, 1208, 1215, 1216, 1217, 1218, 1220, 1221, 1230, 1228, 1226, 1229, 1231, 1242, 1233, 1235, 1240, 1237, 1245, 1247, - 1253, 1254, 1250, 1256, 5813, 1263, 1260, 1267, 1262, 1268, + 1253, 1254, 1250, 1256, 5821, 1263, 1260, 1267, 1262, 1268, 1272, 1274, 1261, 1276, 1278, 1280, 1281, 1282, 1284, 1287, 1289, 1290, 1291, 1292, 1301, 1297, 1307, 1314, 1313, 1315, 1299, 1305, 1324, 1321, 1328, 1327, 1329, 1337, 1325, 1332, @@ -809,601 +809,603 @@ static const flex_int16_t yy_base[3000] = 1416, 1417, 1418, 1419, 1420, 1423, 1424, 1183, 1425, 1440, 1426, 1430, 1438, 1441, 1447, 1446, 1450, 1454, 1444, 1456, 1457, 1458, 1460, 1461, 1465, 1464, 1471, 1468, 1474, 1476, - 1478, 1477, 1480, 1484, 1487, 1481, 5813, 1488, 1495, 1494, + 1478, 1477, 1480, 1484, 1487, 1481, 5821, 1488, 1495, 1494, 1496, 1497, 1499, 1501, 1508, 1503, 1505, 1504, 1506, 1510, - 1516, 5813, 1517, 5813, 5813, 1520, 5813, 5813, 1518, 1523, + 1516, 5821, 1517, 5821, 5821, 1520, 5821, 5821, 1518, 1523, 1526, 1536, 1533, 1543, 1298, 1539, 1541, 1545, 1552, 1566, 1548, 1550, 1551, 1547, 1556, 1561, 1574, 1562, 1549, 1575, 1577, 1580, 1586, 1513, 1587, 1579, 1554, 1588, 1590, 1589, 1592, 1595, 1600, 1601, 1594, 1603, 1596, 1611, 1616, 1607, - 1623, 5813, 1619, 1626, 1631, 1627, 1634, 1630, 1629, 1636, + 1623, 5821, 1619, 1626, 1631, 1627, 1634, 1630, 1629, 1636, 1638, 1640, 1641, 1642, 1643, 1645, 1646, 1651, 1604, 1647, - 1659, 1654, 5813, 1657, 1658, 1656, 1662, 1669, 1663, 1664, + 1659, 1654, 5821, 1657, 1658, 1656, 1662, 1669, 1663, 1664, 1670, 1674, 1675, 1682, 1679, 1677, 1684, 1685, 1686, 1687, - 5813, 1689, 1697, 1693, 1699, 1700, 1702, 1705, 1701, 1706, + 5821, 1689, 1697, 1693, 1699, 1700, 1702, 1705, 1701, 1706, 1707, 1708, 1709, 1711, 1715, 1718, 1719, 1720, 1717, 1724, 1727, 1730, 1735, 1742, 1737, 1739, 1743, 1745, 1746, 1747, 1749, 1750, 1758, 1751, 1760, 1755, 1762, 1767, 1772, 1759, 1771, 1774, 1764, 1780, 1788, 1784, 1777, 1773, 1796, 1789, 1793, 1794, 1797, 1799, 1800, 1801, 1803, 1806, 1807, 1808, - 1810, 5813, 1811, 1816, 5813, 1814, 1817, 1839, 1818, 1820, + 1810, 5821, 1811, 1816, 5821, 1814, 1817, 1839, 1818, 1820, 1821, 1823, 1826, 1833, 1825, 1831, 1841, 1843, 1853, 1849, 1854, 1856, 1859, 1861, 1862, 1865, 1867, 1869, 1878, 1879, 1883, 1885, 1890, 1870, 1868, 1877, 1896, 1888, 1889, 1891, - 1899, 1906, 1893, 1901, 1903, 1908, 1912, 1914, 1919, 5813, + 1899, 1906, 1893, 1901, 1903, 1908, 1912, 1914, 1919, 5821, 1924, 1925, 1920, 1921, 1932, 1930, 1929, 1933, 1936, 1937, 1944, 1940, 1941, 1946, 1943, 1947, 1950, 1952, 1956, 1957, - 1962, 1954, 1973, 5813, 1958, 5813, 1955, 1959, 1972, 1975, - 1976, 1977, 1978, 1980, 5813, 5813, 1981, 1984, 1987, 1996, - 1982, 5813, 1997, 2004, 2001, 2006, 2000, 1999, 2007, 2008, - 2011, 2016, 2012, 2023, 2015, 2022, 2020, 5813, 2028, 2018, - 2024, 2033, 2035, 2036, 2037, 2040, 5813, 2043, 2044, 2047, + 1962, 1954, 1973, 5821, 1958, 5821, 1955, 1959, 1972, 1975, + 1976, 1977, 1978, 1980, 5821, 5821, 1981, 1984, 1987, 1996, + 1982, 5821, 1997, 2004, 2001, 2006, 2000, 1999, 2007, 2008, + 2011, 2016, 2012, 2023, 2015, 2022, 2020, 5821, 2028, 2018, + 2024, 2033, 2035, 2036, 2037, 2040, 5821, 2043, 2044, 2047, 2054, 2046, 2050, 2055, 2058, 2056, 2062, 2063, 2064, 2065, - 2066, 2075, 2076, 2067, 2078, 2081, 2077, 5813, 2074, 2085, + 2066, 2075, 2076, 2067, 2078, 2081, 2077, 5821, 2074, 2085, 2093, 2089, 2091, 2088, 2095, 2096, 2098, 2099, 2100, 2103, 2106, 2107, 2115, 2116, 2108, 2112, 2120, 2113, 2122, 2125, - 2128, 2127, 2129, 2130, 2131, 5813, 2133, 2135, 124, 2139, + 2128, 2127, 2129, 2130, 2131, 5821, 2133, 2135, 124, 2139, 2140, 2142, 2141, 2148, 2144, 2147, 2164, 2165, 2161, 2160, - 2163, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2177, 5813, - 2151, 2179, 2180, 2182, 2185, 2186, 2189, 5813, 2199, 2202, + 2163, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2177, 5821, + 2151, 2179, 2180, 2182, 2185, 2186, 2189, 5821, 2199, 2202, 2188, 2201, 2209, 2204, 2210, 2211, 2213, 2218, 2214, 2217, - 5813, 2221, 2224, 2226, 2227, 2228, 2230, 2235, 2237, 2238, + 5821, 2221, 2224, 2226, 2227, 2228, 2230, 2235, 2237, 2238, 2239, 2242, 2240, 2241, 2245, 2243, 2246, 2250, 2259, 2249, - 2251, 2256, 2260, 5813, 2272, 2261, 2270, 2263, 2274, 2273, + 2251, 2256, 2260, 5821, 2272, 2261, 2270, 2263, 2274, 2273, 2287, 2277, 2280, 2282, 2288, 2297, 2290, 2284, 2298, 2299, 2304, 2308, 2307, 2313, 2314, 2311, 2315, 2321, 2323, 2324, 2325, 2329, 2327, 2330, 2331, 2332, 2339, 2340, 2337, 2348, - 2346, 2353, 2351, 2356, 5813, 2357, 2358, 2341, 2363, 2371, - 2368, 2369, 2375, 2376, 2377, 2378, 2379, 2386, 2381, 2383, - 2384, 2387, 2388, 2394, 2395, 2399, 2400, 2407, 2401, 2409, - 2410, 5813, 2411, 2415, 2404, 2417, 2419, 2421, 2428, 2429, - 2431, 2422, 2425, 2433, 2434, 2435, 2437, 2439, 2440, 2445, - 2442, 5813, 2448, 2450, 2453, 2456, 2455, 2459, 2462, 2468, - 2466, 2452, 2472, 2473, 2474, 5813, 2481, 2482, 2479, 2483, - 2485, 2486, 2488, 2490, 2491, 5813, 2492, 2493, 2501, 2502, - 2497, 5813, 2504, 2500, 2506, 2507, 2508, 2509, 2517, 2510, - 2513, 2515, 2523, 2525, 2521, 2529, 5813, 2531, 2541, 2536, - - 2537, 2539, 2542, 2543, 2545, 2557, 2549, 2552, 2559, 2564, - 2561, 2548, 2555, 2569, 2570, 2571, 2573, 2574, 5813, 2576, - 2577, 2579, 2582, 2580, 2585, 2586, 2598, 2588, 2591, 2593, - 2596, 2599, 2601, 2604, 2606, 2612, 2608, 2615, 2618, 2616, - 2621, 2602, 2625, 2628, 2635, 2632, 2636, 5813, 2639, 2640, - 2634, 2641, 2642, 2645, 2646, 2647, 2649, 2650, 2652, 2651, - 2654, 2667, 2676, 2662, 2663, 2655, 2668, 2671, 2672, 2678, - 2679, 2683, 2690, 2681, 2685, 2694, 2689, 2692, 2702, 2691, - 2693, 2695, 2700, 2703, 2704, 2705, 2706, 2713, 2709, 2723, - 2724, 2726, 2715, 2718, 2731, 2732, 5813, 2735, 2733, 2736, - - 2737, 2742, 2745, 2749, 2739, 2746, 2747, 2757, 2758, 2755, - 2760, 2763, 2770, 2766, 5813, 2767, 5813, 2768, 2769, 2771, - 2779, 2776, 5813, 2781, 5813, 2784, 2791, 2777, 2782, 5813, - 2792, 2786, 2788, 2799, 2794, 2801, 2802, 2803, 2804, 2810, - 2805, 2812, 2807, 2813, 2815, 2816, 2819, 2820, 2826, 2833, - 2828, 2830, 2817, 2836, 2838, 2840, 2841, 5813, 2844, 2845, - 2850, 2849, 2851, 2852, 2853, 2855, 2856, 2858, 2857, 2862, - 2861, 2870, 2874, 2886, 2871, 2888, 5813, 2873, 2884, 2875, - 2889, 5813, 2885, 2892, 2896, 2898, 2893, 2900, 2902, 2901, - 2905, 2903, 2908, 2919, 2920, 2921, 2923, 2924, 2909, 2910, - - 2933, 2930, 2911, 2938, 2942, 2940, 2931, 2941, 2943, 2946, - 2947, 2954, 2955, 2951, 2958, 2953, 2960, 2964, 2967, 2957, - 2961, 2968, 2969, 2970, 2973, 2974, 2977, 2978, 2979, 2980, - 2982, 5813, 2990, 2986, 2991, 2992, 2995, 2997, 3000, 3001, - 3004, 3002, 3005, 3009, 3007, 5813, 3014, 5813, 3008, 3022, - 3016, 3027, 3020, 3028, 3035, 3031, 3036, 3037, 3039, 3040, - 3041, 3042, 3043, 3047, 3050, 3048, 3061, 3054, 3051, 3063, - 3064, 3065, 3067, 3068, 5813, 3069, 3070, 3072, 3074, 3075, - 3081, 3077, 3087, 3085, 3089, 3091, 3101, 5813, 3093, 3097, - 3098, 3106, 3108, 3104, 3114, 3121, 3118, 3125, 3124, 5813, - - 3116, 3117, 3132, 3127, 3134, 3135, 5813, 3133, 5813, 3128, - 3138, 3142, 3139, 3145, 3146, 3149, 3151, 3153, 3160, 3161, - 3156, 3144, 3162, 3166, 3168, 3173, 3170, 3171, 3172, 5813, - 3176, 3177, 3178, 3179, 3183, 3186, 3189, 3193, 5813, 3194, - 3196, 3199, 3200, 3201, 3203, 3205, 3204, 3210, 3213, 3207, - 3208, 3221, 3217, 3206, 3227, 3231, 3232, 3237, 5813, 3234, - 3214, 3244, 3241, 3242, 3243, 3246, 3247, 3248, 3250, 3251, - 3252, 3253, 3259, 3258, 3255, 3256, 3261, 3264, 3275, 3272, - 3263, 3276, 3277, 3280, 3283, 3282, 3286, 3289, 3291, 3292, - 3302, 3303, 3294, 3297, 3306, 3307, 3314, 3310, 5813, 3322, - - 3299, 3325, 3309, 3320, 3327, 3328, 3330, 3331, 3321, 3332, - 3339, 3335, 5813, 3348, 3337, 3336, 3346, 3349, 3359, 3354, - 3340, 3356, 3362, 3358, 3365, 3367, 3368, 3369, 3372, 3373, - 5813, 5813, 3375, 3376, 3379, 5813, 3380, 3378, 3391, 3382, - 3383, 3392, 3395, 3394, 3386, 3396, 3398, 3400, 5813, 3405, - 3414, 3406, 3411, 3415, 3419, 3421, 3417, 3423, 3425, 3427, - 3428, 3430, 3429, 3431, 3434, 3442, 3438, 3437, 3439, 5813, - 3441, 3444, 3448, 3450, 3451, 3454, 5813, 3455, 3456, 3462, - 3463, 3465, 3467, 3473, 3476, 3477, 3478, 3480, 3481, 3482, - 3483, 3485, 3490, 3488, 3495, 3496, 3487, 5813, 3500, 3501, - - 3504, 3507, 3511, 3514, 3521, 3522, 3518, 3520, 3519, 3529, - 5813, 3526, 3528, 3527, 3530, 3540, 3535, 3542, 3533, 5813, - 3537, 3541, 3543, 5813, 3547, 3551, 3554, 3559, 3546, 3562, - 3561, 3563, 3564, 3565, 5813, 3571, 5813, 3569, 3573, 3577, - 5813, 3575, 3579, 3581, 3583, 3580, 3588, 3590, 3597, 3584, - 3592, 3594, 3598, 3599, 3600, 3608, 3606, 5813, 3609, 3607, - 3613, 3614, 3618, 3611, 3616, 3619, 3626, 5813, 5813, 3629, - 5813, 3630, 3631, 3632, 5813, 3634, 3636, 3641, 3638, 3642, - 3644, 3652, 3645, 5813, 3654, 3640, 3656, 3658, 3659, 3662, - 3663, 3664, 3665, 3666, 3671, 5813, 3668, 3670, 3673, 3669, - - 3678, 3683, 3679, 3685, 5813, 3689, 3693, 3692, 3696, 3697, - 5813, 3699, 5813, 3700, 3702, 3703, 3707, 3706, 5813, 3712, - 3713, 3717, 3719, 3721, 3720, 3723, 3724, 3730, 3731, 3738, - 3734, 3733, 3735, 5813, 3736, 3740, 3742, 3749, 3737, 3744, - 3753, 3756, 3757, 3758, 3763, 3760, 3767, 3769, 3771, 3773, - 3765, 5813, 3775, 3777, 3776, 3791, 3786, 3781, 5813, 3782, - 3796, 3798, 5813, 3789, 3788, 3800, 3805, 3792, 3799, 3806, - 3807, 3811, 5813, 3812, 3813, 3814, 3815, 3818, 3819, 5813, - 5813, 3827, 5813, 3829, 3816, 3830, 3831, 3832, 3838, 3837, - 3841, 3843, 3840, 3844, 3851, 3852, 3861, 3864, 3868, 3863, - - 3867, 3853, 5813, 5813, 3870, 3871, 3874, 3877, 3878, 3880, - 3881, 3888, 3884, 3890, 3894, 3895, 3902, 5813, 3901, 3887, - 3904, 5813, 3885, 3898, 3906, 3909, 3911, 3912, 3915, 3914, - 3917, 3918, 3920, 3919, 3922, 3923, 3927, 3926, 3928, 3936, - 5813, 3940, 3937, 3938, 3941, 3943, 3944, 3947, 3949, 3950, - 5813, 3951, 3953, 3955, 3959, 3960, 3962, 3969, 3977, 3979, - 3965, 3973, 3981, 3983, 3985, 3988, 5813, 3989, 3987, 3990, - 3991, 3997, 3999, 4000, 4002, 4004, 4006, 4008, 4009, 4012, - 4016, 4013, 4017, 4018, 4020, 5813, 4024, 4031, 4021, 4034, - 4025, 4035, 4042, 4036, 4047, 4038, 4044, 4048, 4050, 5813, - - 4051, 4053, 4054, 4056, 4062, 4055, 4058, 4063, 5813, 4065, - 4066, 4068, 4070, 4072, 4077, 4079, 4080, 4082, 4083, 4089, - 5813, 4087, 4088, 4096, 4094, 4097, 4100, 4098, 4102, 5813, - 4106, 4108, 4112, 4120, 4104, 4122, 4118, 4124, 4115, 4117, - 4131, 4126, 4132, 4133, 4136, 4137, 4144, 4149, 4146, 5813, - 4139, 5813, 4147, 4152, 4154, 4157, 4155, 5813, 4160, 4162, - 4164, 4165, 4161, 5813, 4167, 4168, 4171, 4169, 5813, 4182, - 4183, 4172, 4187, 4174, 4189, 5813, 4194, 4195, 4191, 4203, - 4206, 4202, 4204, 4207, 4205, 4209, 4210, 4211, 5813, 4215, - 4213, 4221, 4222, 4224, 4214, 4226, 4232, 4225, 5813, 4235, - - 4228, 4236, 4237, 4239, 4241, 4242, 4250, 4246, 4245, 5813, - 4249, 4253, 4260, 4259, 4255, 5813, 5813, 4262, 4268, 4270, - 4264, 4271, 5813, 4274, 4281, 4277, 4280, 4282, 5813, 5813, - 4284, 5813, 4285, 5813, 4286, 4288, 5813, 5813, 4287, 4293, - 4294, 4296, 4298, 5813, 4306, 5813, 4308, 4309, 4295, 4307, - 4312, 5813, 4313, 4314, 4316, 5813, 4318, 4328, 4320, 4321, - 5813, 4324, 4325, 4330, 5813, 4333, 4340, 4337, 4331, 4341, - 4346, 4343, 4347, 4352, 4353, 4354, 4335, 4357, 4364, 4368, - 4370, 4372, 4373, 4356, 4375, 4376, 4378, 4381, 4382, 4383, - 4384, 4387, 4388, 4390, 4392, 4395, 4396, 4397, 4398, 4399, - - 4409, 4401, 4402, 4412, 4415, 4405, 4413, 4416, 4417, 4418, - 4425, 4427, 4420, 4423, 5813, 4428, 4430, 4434, 4437, 4439, - 4442, 4443, 4445, 4450, 4454, 5813, 4458, 5813, 4460, 4451, - 4456, 4462, 5813, 4463, 4464, 4465, 4466, 4468, 4470, 4471, - 4472, 5813, 4475, 4476, 4479, 4485, 5813, 4491, 4493, 4478, - 4494, 4495, 4499, 4497, 4501, 4504, 4503, 4506, 4508, 4516, - 4509, 4511, 4513, 4518, 4517, 4521, 4524, 4358, 4531, 4533, - 4539, 5813, 4525, 5813, 4534, 4528, 4536, 4540, 4545, 4542, - 4546, 5813, 5813, 4549, 4551, 4553, 4555, 4556, 4558, 4559, - 5813, 4561, 4564, 4567, 4571, 5813, 4572, 4573, 4578, 5813, - - 4575, 4579, 4581, 4583, 4580, 4590, 4586, 4594, 4595, 4596, - 4598, 5813, 5813, 5813, 5813, 4600, 4602, 4605, 4606, 4607, - 4609, 4612, 4614, 4610, 5813, 4616, 5813, 5813, 4617, 4623, - 4626, 4627, 4629, 4630, 4633, 4631, 5813, 4635, 4636, 4638, - 4644, 4646, 4648, 4651, 4652, 4653, 4654, 4661, 4660, 4662, - 4664, 4668, 4667, 4670, 5813, 5813, 4674, 4676, 4677, 4684, - 4681, 4685, 4688, 4689, 4691, 4692, 4694, 4695, 4697, 4698, - 5813, 4699, 4705, 5813, 4700, 5813, 4706, 4713, 4707, 4714, - 4715, 4717, 4719, 4721, 5813, 5813, 4716, 4722, 4728, 4732, - 4729, 4734, 4723, 4737, 4733, 5813, 4739, 5813, 4740, 4741, - - 4750, 4744, 4757, 4759, 4761, 4763, 4756, 4765, 5813, 4758, - 4766, 5813, 4768, 4771, 4773, 5813, 4774, 4777, 4781, 5813, - 4783, 4786, 4784, 5813, 4792, 5813, 4778, 4794, 4793, 4801, - 5813, 4787, 4796, 5813, 4803, 4809, 4810, 4804, 5813, 4806, - 5813, 4811, 4815, 4818, 4821, 4812, 4823, 4816, 4825, 4826, - 4834, 4833, 4835, 5813, 5813, 4842, 4830, 4837, 4838, 4844, - 4851, 4846, 4848, 4855, 5813, 5813, 4856, 5813, 4859, 4860, - 5813, 4847, 4862, 4864, 4868, 4866, 4849, 4874, 4876, 4870, - 4877, 4892, 4878, 4880, 4893, 4895, 4898, 4900, 4887, 4902, - 4890, 4883, 4904, 4905, 4906, 5813, 4912, 4914, 4915, 5813, - - 4919, 4916, 4921, 4922, 5813, 4929, 4930, 4931, 4932, 5813, - 4924, 4935, 4943, 4936, 4937, 4950, 4938, 4946, 5813, 5813, - 5813, 4948, 4957, 5813, 4959, 4954, 4960, 4961, 5813, 4962, - 4963, 5813, 5813, 4964, 4965, 4966, 4973, 5813, 4969, 5813, - 4970, 5813, 4972, 4978, 4987, 4984, 5813, 4990, 4996, 5813, - 4999, 5002, 5004, 5005, 4992, 4994, 5006, 5813, 4982, 5010, - 5016, 5008, 5009, 5017, 5018, 5019, 5026, 5022, 5025, 5813, - 5029, 5028, 5030, 5813, 5032, 5813, 5033, 5036, 5035, 5042, - 5040, 5034, 5044, 5054, 5041, 5058, 5045, 5813, 5061, 5063, - 5813, 5055, 5813, 5066, 5813, 5068, 5069, 5070, 5072, 5813, - - 5074, 5071, 5075, 5078, 5813, 5079, 5081, 5083, 5813, 5813, - 5087, 5094, 5096, 4634, 5090, 5093, 5099, 5103, 5100, 5104, - 5105, 5112, 5108, 5109, 5110, 5115, 5117, 5123, 5813, 5813, - 5813, 5116, 5118, 5132, 5134, 5136, 5135, 5131, 5813, 5137, - 5140, 5141, 5150, 5146, 5148, 5813, 5152, 5143, 5156, 5813, - 5154, 5158, 5161, 5155, 5167, 5171, 5174, 5176, 5177, 5813, - 5179, 5813, 5813, 5168, 5813, 5159, 5180, 5183, 5184, 5813, - 5189, 5186, 5190, 5192, 5194, 5813, 5197, 5195, 5198, 5199, - 5813, 5813, 5207, 5813, 5209, 5211, 5212, 5219, 5218, 5214, - 5221, 5223, 5813, 5224, 5225, 5227, 5229, 5231, 5813, 5234, - - 5233, 5235, 5236, 5239, 5238, 5243, 5246, 5248, 5813, 5813, - 5249, 5250, 5813, 5813, 5259, 5265, 5247, 5813, 5813, 5813, - 5271, 5813, 5273, 5277, 5281, 5285, 5262, 5813, 5287, 5276, - 5284, 5813, 5268, 5280, 5290, 5292, 5813, 5813, 5289, 5196, - 5293, 5296, 5301, 5813, 5299, 5302, 5303, 5307, 5309, 5310, - 5313, 5312, 5328, 5326, 5315, 5319, 5323, 5330, 5331, 5329, - 5333, 5337, 5813, 5813, 5339, 5813, 5813, 5346, 5350, 5352, - 5354, 5356, 5358, 5360, 5813, 5361, 5363, 5364, 5365, 5347, - 5813, 5366, 5369, 5371, 5374, 5372, 5375, 5378, 5380, 5813, - 5813, 5381, 5388, 5382, 5389, 5383, 5813, 5392, 5400, 5396, - - 5397, 5398, 5403, 5404, 5813, 5407, 5813, 5813, 5813, 5813, - 5813, 5813, 5813, 5813, 5406, 5813, 5405, 5412, 5414, 5416, - 5813, 5419, 5423, 5424, 5425, 5426, 5813, 5427, 5430, 5429, - 5341, 5431, 5435, 5438, 5433, 5437, 5443, 5439, 5447, 5444, - 5448, 5449, 5813, 5813, 5813, 5453, 5456, 5458, 5460, 5471, - 5472, 5475, 5478, 5461, 5463, 5479, 5481, 5484, 5466, 5485, - 5493, 5488, 5490, 5495, 5492, 5496, 5498, 5813, 5499, 5813, - 5501, 5813, 5813, 5504, 5505, 5508, 5509, 5517, 5518, 5513, - 5520, 5521, 5523, 5813, 5524, 5526, 5813, 5525, 5530, 5813, - 5529, 5531, 5532, 5535, 5537, 5538, 5542, 5553, 5813, 5541, - - 5544, 5552, 5555, 5559, 5566, 5567, 5565, 5569, 5572, 5556, - 5579, 5581, 5578, 5585, 5813, 5582, 5576, 5587, 5588, 5589, - 5596, 5591, 5592, 5813, 5597, 5813, 5600, 5602, 5601, 5593, - 5603, 5604, 5615, 5613, 5619, 5813, 5609, 5620, 5623, 5624, - 5626, 5628, 5629, 5630, 5638, 5634, 5641, 5645, 5640, 5646, - 5631, 5651, 5648, 5813, 5655, 5652, 5813, 5657, 5658, 5659, - 5660, 5664, 5813, 5669, 5661, 5666, 5672, 5675, 5670, 5813, - 5682, 5684, 5686, 5813, 5687, 5813, 5813, 5689, 5676, 5688, - 5691, 5697, 5813, 5813, 5813, 5721, 5728, 5735, 5742, 5749, - 88, 5756, 5763, 5770, 5777, 5784, 5791, 5798, 5805 - + 2346, 2353, 2359, 2358, 5821, 2361, 2363, 2349, 2368, 2376, + 2351, 2374, 2371, 2372, 2380, 2382, 2383, 2390, 2386, 2388, + 2389, 2393, 2391, 2395, 2392, 2394, 2402, 2409, 2400, 2412, + 2414, 5821, 2417, 2413, 2406, 2421, 2423, 2424, 2427, 2428, + 2431, 2432, 2433, 2435, 2437, 2438, 2439, 2440, 2442, 2446, + 2443, 5821, 2447, 2449, 2455, 2458, 2462, 2466, 2467, 2468, + 2473, 2456, 2475, 2476, 2452, 5821, 2485, 2486, 2477, 2490, + 2487, 2488, 2489, 2492, 2493, 5821, 2494, 2495, 2503, 2504, + 2499, 5821, 2508, 2501, 2506, 2510, 2509, 2511, 2516, 2512, + 2519, 2520, 2525, 2528, 2524, 2531, 5821, 2533, 2540, 2535, + + 2537, 2541, 2542, 2543, 2545, 2554, 2548, 2551, 2561, 2564, + 2566, 2557, 2567, 2569, 2570, 2571, 2573, 2572, 5821, 2574, + 2579, 2580, 2581, 2586, 2583, 2584, 2591, 2594, 2595, 2596, + 2600, 2602, 2599, 2604, 2605, 2608, 2607, 2611, 2621, 2616, + 2623, 2619, 2627, 2630, 2634, 2635, 2637, 5821, 2642, 2639, + 2644, 2633, 2645, 2646, 2647, 2648, 2650, 2652, 2657, 2655, + 2656, 2664, 2672, 2665, 2667, 2673, 2674, 2677, 2676, 2678, + 2679, 2680, 2688, 2684, 2683, 2696, 2687, 2694, 2701, 2691, + 2702, 2703, 2704, 2705, 2707, 2711, 2712, 2714, 2708, 2716, + 2725, 2727, 2729, 2718, 2730, 2734, 2735, 5821, 2738, 2736, + + 2740, 2742, 2745, 2748, 2752, 2749, 2750, 2756, 2755, 2762, + 2757, 2765, 2767, 2774, 2770, 5821, 2771, 5821, 2772, 2773, + 2775, 2785, 2780, 5821, 2782, 5821, 2788, 2795, 2786, 2790, + 5821, 2796, 2784, 2792, 2797, 2803, 2805, 2808, 2807, 2809, + 2810, 2813, 2814, 2815, 2816, 2819, 2820, 2825, 2821, 2835, + 2824, 2822, 2843, 2832, 2837, 2841, 2839, 2846, 5821, 2850, + 2847, 2852, 2853, 2855, 2856, 2859, 2857, 2863, 2864, 2861, + 2871, 2867, 2875, 2874, 2886, 2868, 2891, 5821, 2878, 2890, + 2882, 2893, 5821, 2895, 2894, 2896, 2902, 2898, 2904, 2905, + 2906, 2907, 2911, 2910, 2913, 2921, 2924, 2917, 2927, 2914, + + 2925, 2940, 2933, 2935, 2941, 2943, 2944, 2945, 2946, 2947, + 2948, 2950, 2957, 2960, 2956, 2965, 2952, 2962, 2970, 2971, + 2955, 2963, 2972, 2974, 2977, 2978, 2980, 2985, 2981, 2982, + 2984, 2986, 5821, 2995, 2989, 2999, 2996, 3000, 3003, 2987, + 3005, 3010, 3006, 3013, 3016, 3008, 5821, 3012, 5821, 3014, + 3026, 3031, 3034, 3035, 3018, 3037, 3042, 3038, 3043, 3044, + 3045, 3046, 3048, 3052, 3053, 3054, 3058, 3074, 3056, 3057, + 3060, 3069, 3070, 3059, 3071, 5821, 5821, 3076, 3078, 3079, + 3081, 3082, 3085, 3088, 3086, 3092, 3093, 3094, 3105, 5821, + 3102, 3100, 3106, 3108, 3117, 3107, 3119, 3126, 3122, 3129, + + 3124, 5821, 3121, 3131, 3138, 3133, 3134, 3142, 5821, 3139, + 5821, 3135, 3140, 3144, 3148, 3149, 3150, 3151, 3153, 3156, + 3164, 3166, 3161, 3168, 3169, 3170, 3171, 3178, 3173, 3175, + 3176, 5821, 3180, 3181, 3182, 3185, 3192, 3193, 3196, 3183, + 5821, 3199, 3203, 3200, 3204, 3207, 3209, 3210, 3211, 3213, + 3215, 3212, 3217, 3228, 3220, 3221, 3223, 3234, 3235, 3241, + 5821, 3242, 3236, 3249, 3251, 3244, 3246, 3252, 3253, 3254, + 3257, 3259, 3258, 3260, 3262, 3264, 3261, 3271, 3265, 3267, + 3284, 3278, 3268, 3281, 3270, 3287, 3288, 3292, 3294, 3297, + 3299, 3291, 3302, 3303, 3305, 3309, 3313, 3310, 3321, 3316, + + 5821, 3323, 3318, 3328, 3320, 3324, 3332, 3333, 3335, 3325, + 3340, 3341, 3348, 3343, 5821, 3352, 3350, 3347, 3354, 3353, + 3362, 3357, 3355, 3358, 3370, 3359, 3371, 3367, 3373, 3376, + 3381, 3374, 5821, 5821, 3383, 3378, 3384, 5821, 3388, 3386, + 3396, 3392, 3389, 3398, 3399, 3400, 3401, 3404, 3402, 3408, + 5821, 3411, 3418, 3414, 3415, 3423, 3425, 3421, 3426, 3429, + 3430, 3432, 3433, 3436, 3435, 3437, 3440, 3448, 3444, 3443, + 3452, 5821, 3446, 3447, 3449, 3460, 3455, 3461, 5821, 3462, + 3467, 3473, 3468, 3483, 3480, 3475, 3488, 3457, 3485, 3470, + 3490, 3492, 3493, 3500, 3496, 3497, 3504, 3505, 3510, 5821, + + 3498, 3508, 3501, 3516, 3518, 3526, 3528, 3529, 3509, 3527, + 3530, 3537, 5821, 3533, 3534, 3536, 3539, 3546, 3541, 3549, + 3544, 5821, 3547, 3550, 3552, 5821, 3551, 3560, 3566, 3568, + 3553, 3576, 3571, 3574, 3572, 3575, 5821, 3580, 5821, 3555, + 3581, 3582, 5821, 3586, 3587, 3589, 3591, 3588, 3595, 3596, + 3603, 3592, 3604, 3605, 3606, 3607, 3609, 3616, 3608, 5821, + 3617, 3615, 3619, 3620, 3626, 3624, 3627, 3632, 3630, 5821, + 5821, 3639, 5821, 3631, 3640, 3641, 5821, 3644, 3646, 3651, + 3647, 3649, 3652, 3662, 3655, 5821, 3658, 3653, 3666, 3668, + 3669, 3670, 3671, 3672, 3674, 3676, 3675, 5821, 3678, 3680, + + 3686, 3679, 3687, 3693, 3699, 3688, 5821, 3701, 3703, 3695, + 3709, 3710, 5821, 3702, 5821, 3712, 3715, 3716, 3718, 3719, + 5821, 3721, 3722, 3726, 3727, 3729, 3731, 3732, 3735, 3739, + 3741, 3748, 3744, 3743, 3746, 5821, 3745, 3751, 3759, 3762, + 3752, 3750, 3766, 3768, 3769, 3772, 3775, 3777, 3778, 3781, + 3776, 3786, 3783, 5821, 3784, 3790, 3787, 3800, 3795, 3797, + 5821, 3798, 3802, 3806, 5821, 3803, 3805, 3812, 3814, 3815, + 3817, 3818, 3822, 3823, 5821, 3819, 3820, 3824, 3837, 3840, + 3830, 5821, 5821, 3841, 5821, 3843, 3827, 3846, 3848, 3826, + 3853, 3829, 3854, 3856, 3852, 3864, 3865, 3859, 3875, 3873, + + 3882, 3877, 3747, 3858, 5821, 5821, 3884, 3885, 3879, 3890, + 3891, 3881, 3887, 3901, 3894, 3896, 3903, 3904, 3912, 5821, + 3910, 3898, 3913, 5821, 3907, 3915, 3908, 3919, 3916, 3922, + 3923, 3925, 3926, 3927, 3928, 3929, 3935, 3937, 3936, 3938, + 3943, 3945, 5821, 3946, 3948, 3949, 3950, 3952, 3953, 3957, + 3958, 3959, 5821, 3960, 3963, 3966, 3964, 3965, 3971, 3981, + 3986, 3988, 3974, 3983, 3990, 3992, 3994, 3995, 5821, 3997, + 3998, 3999, 4003, 4006, 4008, 4009, 4011, 4012, 4014, 4016, + 4017, 4021, 4024, 4025, 4026, 4027, 4029, 5821, 4032, 4034, + 4036, 4043, 4038, 4040, 4044, 4049, 4052, 4045, 4053, 4054, + + 4058, 5821, 4059, 4060, 4061, 4062, 4070, 4063, 4071, 4072, + 5821, 4075, 4077, 4078, 4067, 4080, 4084, 4088, 4089, 4091, + 4092, 4093, 5821, 4095, 4099, 4101, 4103, 4105, 4108, 4110, + 4109, 5821, 4112, 4116, 4119, 4126, 4122, 4130, 4127, 4131, + 4123, 4125, 4137, 4133, 4141, 4144, 4145, 4146, 4155, 4157, + 4152, 5821, 4139, 5821, 4158, 4161, 4169, 4164, 4166, 5821, + 4168, 4171, 4175, 4170, 4172, 5821, 4177, 4176, 4178, 4179, + 5821, 4180, 4190, 4182, 4194, 4197, 4198, 5821, 4201, 4204, + 4203, 4211, 4215, 4213, 4210, 4216, 4214, 4218, 4219, 4220, + 5821, 4223, 4222, 4229, 4230, 4231, 4233, 4237, 4243, 4234, + + 5821, 4239, 4236, 4245, 4246, 4248, 4249, 4250, 4257, 4258, + 4254, 5821, 4259, 4261, 4268, 4263, 4274, 5821, 5821, 4267, + 4277, 4270, 4279, 4282, 5821, 4280, 4291, 4286, 4288, 4290, + 5821, 5821, 4293, 5821, 4289, 5821, 4294, 4295, 5821, 5821, + 4296, 4297, 4304, 4310, 4303, 5821, 4313, 5821, 4306, 4316, + 4314, 4318, 4319, 5821, 4320, 4321, 4326, 5821, 4322, 4334, + 4327, 4329, 5821, 4336, 4332, 4337, 5821, 4341, 4347, 4338, + 4348, 4349, 4352, 4354, 4350, 4353, 4359, 4360, 4361, 4363, + 4370, 4373, 4375, 4377, 4378, 4362, 4379, 4382, 4385, 4387, + 4388, 4389, 4391, 4393, 4394, 4396, 4398, 4401, 4402, 4403, + + 4404, 4405, 4406, 4408, 4415, 4418, 4420, 4419, 4421, 4423, + 4422, 4424, 4426, 4430, 4432, 4433, 5821, 4431, 4434, 4437, + 4440, 4444, 4450, 4452, 4454, 4462, 4463, 5821, 4465, 5821, + 4467, 4451, 4459, 4471, 5821, 4472, 4473, 4474, 4475, 4476, + 4477, 4480, 4478, 5821, 4482, 4483, 4484, 4487, 5821, 4494, + 4489, 4499, 4500, 4501, 4504, 4502, 4506, 4507, 4509, 4511, + 4513, 4521, 4514, 4516, 4522, 4525, 4526, 4527, 4529, 4533, + 4537, 4538, 4543, 5821, 4539, 5821, 4544, 4545, 4548, 4549, + 4550, 4551, 4554, 5821, 5821, 4552, 4556, 4562, 4563, 4557, + 4566, 4570, 5821, 4567, 4576, 4584, 4568, 5821, 4577, 4579, + + 4586, 5821, 4588, 4587, 4589, 4591, 4592, 4595, 4598, 4601, + 4602, 4604, 4606, 5821, 5821, 5821, 5821, 4607, 4609, 4613, + 4614, 4615, 4617, 4620, 4622, 4619, 5821, 4624, 5821, 5821, + 4625, 4632, 4633, 4635, 4636, 4638, 4639, 4641, 5821, 4643, + 4645, 4646, 4652, 4654, 4656, 4659, 4660, 4661, 4662, 4669, + 4668, 4670, 4672, 4676, 4675, 4678, 5821, 5821, 4682, 4684, + 4685, 4692, 4689, 4693, 4696, 4697, 4699, 4700, 4702, 4703, + 4705, 4706, 5821, 4707, 4713, 5821, 4708, 5821, 4714, 4721, + 4715, 4722, 4723, 4725, 4727, 4729, 5821, 5821, 4724, 4730, + 4736, 4740, 4737, 4742, 4731, 4745, 4741, 5821, 4747, 5821, + + 4748, 4749, 4758, 4752, 4765, 4767, 4769, 4771, 4764, 4773, + 5821, 4766, 4774, 5821, 4776, 4779, 4781, 5821, 4782, 4785, + 4789, 5821, 4791, 4794, 4792, 5821, 4800, 5821, 4786, 4802, + 4801, 4809, 5821, 4795, 4804, 5821, 4811, 4817, 4818, 4812, + 5821, 4814, 5821, 4819, 4823, 4826, 4829, 4820, 4831, 4824, + 4833, 4834, 4842, 4841, 4843, 5821, 5821, 4850, 4838, 4845, + 4846, 4852, 4859, 4854, 4856, 4863, 5821, 5821, 4864, 5821, + 4867, 4868, 5821, 4855, 4870, 4872, 4876, 4874, 4857, 4882, + 4884, 4878, 4885, 4900, 4886, 4888, 4901, 4903, 4906, 4908, + 4895, 4910, 4898, 4891, 4912, 4913, 4914, 5821, 4920, 4922, + + 4923, 5821, 4927, 4924, 4929, 4930, 5821, 4937, 4938, 4939, + 4940, 5821, 4932, 4943, 4951, 4944, 4945, 4958, 4946, 4954, + 5821, 5821, 5821, 4956, 4965, 5821, 4967, 4962, 4968, 4969, + 5821, 4970, 4971, 5821, 5821, 4972, 4973, 4974, 4981, 5821, + 4977, 5821, 4978, 5821, 4980, 4986, 4995, 4992, 5821, 4998, + 5004, 5821, 5007, 5010, 5012, 5013, 5000, 5002, 5014, 5821, + 4990, 5018, 5024, 5016, 5017, 5025, 5026, 5027, 5034, 5030, + 5033, 5821, 5037, 5036, 5038, 5821, 5040, 5821, 5041, 5044, + 5043, 5050, 5048, 5042, 5052, 5062, 5049, 5066, 5053, 5821, + 5069, 5071, 5821, 5063, 5821, 5074, 5821, 5076, 5077, 5078, + + 5080, 5821, 5082, 5079, 5083, 5086, 5821, 5087, 5089, 5091, + 5821, 5821, 5095, 5102, 5104, 4642, 5098, 5101, 5107, 5111, + 5108, 5112, 5113, 5120, 5116, 5117, 5118, 5123, 5125, 5131, + 5821, 5821, 5821, 5124, 5126, 5140, 5142, 5144, 5143, 5139, + 5821, 5145, 5148, 5149, 5158, 5154, 5156, 5821, 5160, 5151, + 5164, 5821, 5162, 5166, 5169, 5163, 5175, 5179, 5182, 5184, + 5185, 5821, 5187, 5821, 5821, 5176, 5821, 5167, 5188, 5191, + 5192, 5821, 5197, 5194, 5198, 5200, 5202, 5821, 5205, 5203, + 5206, 5207, 5821, 5821, 5215, 5821, 5217, 5219, 5220, 5227, + 5226, 5222, 5229, 5231, 5821, 5232, 5233, 5235, 5237, 5239, + + 5821, 5242, 5241, 5243, 5244, 5247, 5246, 5251, 5254, 5256, + 5821, 5821, 5257, 5258, 5821, 5821, 5267, 5273, 5255, 5821, + 5821, 5821, 5279, 5821, 5281, 5285, 5289, 5293, 5270, 5821, + 5295, 5284, 5292, 5821, 5276, 5288, 5298, 5300, 5821, 5821, + 5297, 5204, 5301, 5304, 5309, 5821, 5307, 5310, 5311, 5315, + 5317, 5318, 5321, 5320, 5336, 5334, 5323, 5327, 5331, 5338, + 5339, 5337, 5341, 5345, 5821, 5821, 5347, 5821, 5821, 5354, + 5358, 5360, 5362, 5364, 5366, 5368, 5821, 5369, 5371, 5372, + 5373, 5355, 5821, 5374, 5377, 5379, 5382, 5380, 5383, 5386, + 5388, 5821, 5821, 5389, 5396, 5390, 5397, 5391, 5821, 5400, + + 5408, 5404, 5405, 5406, 5411, 5412, 5821, 5415, 5821, 5821, + 5821, 5821, 5821, 5821, 5821, 5821, 5414, 5821, 5413, 5420, + 5422, 5424, 5821, 5427, 5431, 5432, 5433, 5434, 5821, 5435, + 5438, 5437, 5349, 5439, 5443, 5446, 5441, 5445, 5451, 5447, + 5455, 5452, 5456, 5457, 5821, 5821, 5821, 5461, 5464, 5466, + 5468, 5479, 5480, 5483, 5486, 5469, 5471, 5487, 5489, 5492, + 5474, 5493, 5501, 5496, 5498, 5503, 5500, 5504, 5506, 5821, + 5507, 5821, 5509, 5821, 5821, 5512, 5513, 5516, 5517, 5525, + 5526, 5521, 5528, 5529, 5531, 5821, 5532, 5534, 5821, 5533, + 5538, 5821, 5537, 5539, 5540, 5543, 5545, 5546, 5550, 5561, + + 5821, 5549, 5552, 5560, 5563, 5567, 5574, 5575, 5573, 5577, + 5580, 5564, 5587, 5589, 5586, 5593, 5821, 5590, 5584, 5595, + 5596, 5597, 5604, 5599, 5600, 5821, 5605, 5821, 5608, 5610, + 5609, 5601, 5611, 5612, 5623, 5621, 5627, 5821, 5617, 5628, + 5631, 5632, 5634, 5636, 5637, 5638, 5646, 5642, 5649, 5653, + 5648, 5654, 5639, 5659, 5656, 5821, 5663, 5660, 5821, 5665, + 5666, 5667, 5668, 5672, 5821, 5677, 5669, 5674, 5680, 5683, + 5678, 5821, 5690, 5692, 5694, 5821, 5695, 5821, 5821, 5697, + 5684, 5696, 5699, 5705, 5821, 5821, 5821, 5729, 5736, 5743, + 5750, 5757, 88, 5764, 5771, 5778, 5785, 5792, 5799, 5806, + + 5813 } ; -static const flex_int16_t yy_def[3000] = +static const flex_int16_t yy_def[3002] = { 0, - 2985, 1, 2986, 2986, 2987, 2987, 2988, 2988, 2989, 2989, - 2990, 2990, 2985, 2991, 2985, 2985, 2985, 2985, 2992, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2993, 2985, 2985, 2985, 2993, 2994, 2985, 2985, - 2985, 2994, 2995, 2985, 2985, 2985, 2985, 2995, 2996, 2985, - 2985, 2985, 2996, 2997, 2985, 2998, 2985, 2997, 2997, 2991, - 2991, 2985, 2999, 2992, 2999, 2992, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2993, 2993, 2994, 2994, 2995, 2995, 2985, 2996, 2996, 2997, - 2997, 2998, 2998, 2997, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2997, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2997, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2997, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2997, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2985, 2985, 2991, 2985, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2997, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2997, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2985, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2985, 2991, - 2985, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2985, - 2991, 2985, 2991, 2985, 2991, 2991, 2985, 2985, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2985, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2985, 2985, 2985, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2985, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2985, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2985, - - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2985, - 2985, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2985, 2985, 2991, 2991, 2991, 2991, 2985, 2991, 2985, - 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2985, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2985, - - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2985, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2985, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2985, 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2985, 2985, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2985, - 2991, 2991, 2985, 2985, 2991, 2991, 2991, 2985, 2985, 2985, - 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, - 2991, 2985, 2991, 2991, 2991, 2991, 2985, 2985, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2985, 2991, 2985, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - - 2991, 2991, 2991, 2991, 2985, 2991, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2985, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2985, 2985, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2985, - 2991, 2985, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2985, 2991, 2991, 2985, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2985, 2991, - - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2985, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2985, 2991, 2991, 2985, 2991, 2991, 2991, - 2991, 2991, 2985, 2991, 2991, 2991, 2991, 2991, 2991, 2985, - 2991, 2991, 2991, 2985, 2991, 2985, 2985, 2991, 2991, 2991, - 2991, 2991, 2985, 2985, 0, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985 - + 2987, 1, 2988, 2988, 2989, 2989, 2990, 2990, 2991, 2991, + 2992, 2992, 2987, 2993, 2987, 2987, 2987, 2987, 2994, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2995, 2987, 2987, 2987, 2995, 2996, 2987, 2987, + 2987, 2996, 2997, 2987, 2987, 2987, 2987, 2997, 2998, 2987, + 2987, 2987, 2998, 2999, 2987, 3000, 2987, 2999, 2999, 2993, + 2993, 2987, 3001, 2994, 3001, 2994, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2995, 2995, 2996, 2996, 2997, 2997, 2987, 2998, 2998, 2999, + 2999, 3000, 3000, 2999, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2999, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2999, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2999, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2999, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2987, 2987, 2993, 2987, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2999, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2999, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2987, 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2987, 2987, 2993, 2987, 2993, 2987, 2993, 2993, 2987, 2987, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2987, 2987, 2987, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, + + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2987, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + + 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2987, 2987, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2993, 2987, + 2993, 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2987, 2993, 2987, 2993, 2987, 2993, 2993, 2993, + + 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2987, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2987, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2987, 2987, 2993, 2987, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2987, 2987, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2987, 2987, 2993, 2993, 2987, 2987, 2993, 2993, 2993, 2987, + 2987, 2987, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2987, 2987, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2987, 2993, 2987, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2987, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2987, 2987, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, + 2993, 2987, 2993, 2987, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2987, 2993, + 2993, 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + + 2987, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2987, 2993, + 2993, 2993, 2993, 2993, 2987, 2993, 2993, 2993, 2993, 2993, + 2993, 2987, 2993, 2993, 2993, 2987, 2993, 2987, 2987, 2993, + 2993, 2993, 2993, 2993, 2987, 2987, 0, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + + 2987 } ; -static const flex_int16_t yy_nxt[5854] = +static const flex_int16_t yy_nxt[5862] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 14, 14, 18, 20, 21, 22, 23, 24, 25, 26, @@ -1663,395 +1665,396 @@ static const flex_int16_t yy_nxt[5854] = 71, 71, 1263, 1256, 71, 1268, 71, 71, 71, 1257, 1264, 1266, 1267, 1258, 71, 1270, 71, 71, 71, 1271, 71, 1272, 71, 71, 71, 71, 1280, 1281, 1277, 1269, - 71, 1275, 71, 71, 71, 1282, 1274, 1273, 1278, 71, - 1276, 71, 1290, 1279, 71, 1283, 71, 1289, 1284, 71, - 71, 71, 1294, 1285, 1292, 1286, 71, 1287, 1296, 1288, - 1291, 71, 71, 1297, 71, 1295, 1293, 1299, 71, 71, - 71, 71, 71, 1305, 71, 1306, 71, 71, 1301, 71, - - 71, 71, 1300, 1298, 1307, 1309, 1304, 71, 71, 1302, - 1303, 1308, 71, 71, 71, 1310, 1311, 71, 1314, 1315, - 71, 1317, 71, 71, 71, 1318, 1312, 1319, 71, 1316, - 71, 1323, 71, 1320, 71, 71, 1321, 1313, 71, 1322, - 1325, 71, 71, 1326, 71, 1330, 71, 71, 71, 1327, - 71, 1332, 71, 71, 1324, 71, 1328, 1334, 71, 1329, - 1336, 71, 1335, 71, 1338, 71, 71, 1331, 71, 71, - 1333, 1340, 71, 1337, 1341, 71, 1342, 1343, 1339, 71, - 1344, 71, 1345, 1347, 1346, 71, 71, 71, 1351, 1352, - 1354, 1348, 71, 1349, 71, 71, 71, 1353, 71, 71, - - 1350, 71, 1358, 71, 71, 71, 71, 1355, 1362, 1363, - 71, 1365, 1357, 71, 71, 71, 1364, 71, 1356, 71, - 71, 71, 71, 71, 1359, 1360, 71, 1366, 71, 1361, - 71, 1372, 1369, 1367, 71, 1370, 71, 1377, 71, 1368, - 1371, 1376, 71, 1373, 71, 147, 1375, 1379, 1381, 71, - 71, 1374, 71, 1382, 71, 71, 71, 1378, 71, 1384, - 1385, 71, 71, 1380, 1392, 71, 1394, 1383, 71, 1386, - 71, 1387, 71, 1388, 71, 1390, 1389, 71, 1391, 1393, - 1397, 1395, 71, 71, 71, 1396, 71, 71, 1400, 71, - 71, 1402, 71, 71, 1398, 71, 1407, 1408, 71, 71, - - 1399, 71, 1401, 1404, 71, 1411, 71, 1403, 1405, 71, - 1406, 71, 71, 1412, 71, 71, 1409, 71, 1410, 71, - 1414, 71, 1418, 1413, 1415, 71, 1419, 1416, 71, 71, - 1420, 71, 1423, 1417, 71, 1428, 1426, 1422, 71, 1421, - 1425, 71, 1429, 1427, 1424, 71, 1430, 71, 71, 71, - 1431, 1432, 71, 71, 71, 71, 1434, 1433, 71, 71, - 71, 1439, 71, 71, 71, 71, 1438, 71, 71, 1436, - 1442, 1441, 1435, 1437, 1445, 71, 71, 1450, 1443, 1446, - 71, 71, 1440, 1447, 71, 71, 1444, 1451, 1448, 71, - 1454, 71, 71, 1453, 71, 1449, 71, 1458, 71, 1459, - - 1452, 1461, 71, 71, 71, 71, 71, 71, 71, 1464, - 1455, 1463, 1456, 71, 1457, 71, 71, 71, 71, 71, - 1472, 1462, 71, 1465, 1460, 1466, 71, 1467, 71, 1473, - 1469, 71, 1468, 1471, 1474, 1475, 71, 71, 1470, 71, - 1479, 1478, 1476, 1477, 71, 71, 71, 1481, 71, 71, - 71, 1482, 71, 1484, 1488, 71, 1490, 1480, 71, 71, - 71, 1485, 71, 1489, 1483, 1493, 1487, 1491, 71, 1486, - 71, 71, 1492, 71, 1494, 1495, 71, 1499, 1500, 71, - 71, 71, 71, 71, 71, 1504, 1505, 1503, 1496, 71, - 71, 1497, 71, 1507, 71, 71, 1498, 71, 1501, 71, - - 1508, 71, 1502, 1509, 71, 71, 1510, 71, 1512, 1506, - 1514, 1511, 71, 1515, 71, 71, 71, 71, 71, 1513, - 71, 1519, 1516, 71, 1521, 71, 71, 1525, 71, 71, - 71, 1520, 71, 71, 1518, 1517, 1522, 1528, 1530, 71, - 1523, 71, 1526, 71, 1533, 1524, 71, 1527, 1529, 71, - 1531, 71, 1534, 71, 71, 1536, 1539, 71, 71, 1538, - 1535, 1532, 71, 71, 71, 71, 71, 1546, 71, 71, - 71, 71, 1537, 1547, 71, 71, 1540, 1541, 1544, 1550, - 1551, 1542, 1543, 71, 71, 1553, 71, 71, 71, 1548, - 1545, 1549, 1554, 1555, 1552, 1557, 1559, 71, 71, 71, - - 1558, 71, 71, 1562, 1556, 71, 71, 1560, 1561, 71, - 1564, 71, 1565, 71, 71, 71, 71, 1569, 71, 1570, - 1566, 71, 71, 71, 71, 1584, 1581, 1576, 1571, 1563, - 1568, 1567, 71, 71, 71, 1573, 71, 71, 1574, 1577, - 1582, 1572, 1579, 71, 71, 1578, 71, 1580, 1583, 1586, - 1575, 71, 1585, 71, 71, 71, 71, 1588, 1587, 71, - 71, 1593, 1594, 1592, 71, 1596, 71, 71, 71, 1595, - 71, 71, 1589, 71, 71, 1590, 1599, 71, 1598, 1591, - 71, 71, 71, 71, 1608, 1600, 71, 71, 1601, 1597, - 71, 71, 71, 71, 1602, 71, 1604, 1605, 1606, 71, - - 1607, 1603, 1613, 71, 71, 71, 1616, 1611, 71, 1615, - 71, 1609, 1610, 71, 71, 71, 1612, 71, 71, 1614, - 71, 71, 71, 1617, 1618, 1623, 1621, 71, 1631, 71, - 1622, 1624, 1620, 71, 1625, 71, 1626, 1619, 1630, 1632, - 71, 71, 1627, 1636, 71, 1633, 1629, 1628, 71, 71, - 71, 1635, 71, 71, 71, 71, 71, 1639, 1640, 1634, - 71, 71, 1637, 71, 71, 1643, 1649, 71, 1648, 1638, - 1647, 1642, 1645, 1641, 71, 1646, 71, 71, 71, 1644, - 71, 71, 71, 71, 1650, 71, 1658, 71, 71, 1651, - 71, 1662, 1653, 1655, 71, 1652, 1654, 1660, 71, 1661, - - 71, 1657, 71, 1659, 71, 1663, 71, 1656, 1669, 1664, - 71, 71, 1665, 1670, 71, 1675, 1666, 71, 146, 71, - 1671, 71, 1668, 1667, 1674, 1672, 1677, 71, 1678, 71, - 71, 71, 1680, 1673, 71, 1676, 1679, 71, 71, 1684, - 71, 71, 1688, 1681, 1683, 71, 71, 71, 71, 1682, - 1686, 71, 71, 1685, 1689, 71, 1687, 71, 71, 71, - 1690, 1693, 71, 1692, 71, 1698, 71, 1700, 1701, 71, - 1691, 1694, 1695, 71, 71, 71, 1696, 1703, 1697, 71, - 1707, 71, 1702, 71, 71, 71, 71, 1699, 1711, 71, - 71, 71, 71, 1704, 1706, 1713, 71, 1714, 1705, 71, - - 1709, 1715, 71, 1710, 1716, 1708, 71, 71, 1720, 71, - 1712, 1717, 71, 71, 71, 1724, 71, 71, 71, 71, - 71, 71, 1719, 71, 1726, 1722, 71, 71, 1731, 1718, - 71, 1721, 1725, 1723, 71, 1727, 1739, 1733, 1728, 1729, - 71, 1730, 1732, 1735, 71, 71, 1734, 71, 1736, 1737, - 71, 1740, 1738, 1741, 71, 71, 71, 71, 1743, 71, - 71, 71, 1744, 71, 71, 71, 71, 1742, 71, 71, - 1749, 71, 71, 1753, 71, 1750, 71, 71, 1754, 1759, - 1745, 1747, 1748, 1746, 1751, 71, 1752, 1758, 71, 71, - 71, 1755, 1757, 71, 1756, 71, 71, 1760, 1764, 71, - - 1767, 1768, 71, 1769, 71, 71, 1762, 71, 1761, 1765, - 71, 1766, 71, 1763, 1771, 71, 71, 1772, 1775, 71, - 71, 1777, 71, 71, 1776, 1770, 1778, 71, 1773, 1779, - 1780, 1774, 1781, 71, 71, 71, 1783, 1786, 71, 1784, - 71, 71, 1785, 71, 71, 71, 1793, 1782, 71, 71, - 71, 1798, 71, 71, 1791, 1795, 1787, 1788, 1789, 71, - 1796, 71, 71, 1790, 1797, 1792, 1801, 71, 1794, 71, - 1799, 71, 71, 1803, 1805, 71, 1802, 1800, 71, 1807, - 71, 71, 71, 1810, 1811, 71, 71, 1813, 71, 71, - 1804, 71, 71, 71, 1819, 71, 71, 1806, 1818, 71, - - 1808, 1815, 1816, 1809, 71, 71, 1812, 71, 71, 71, - 1825, 71, 1817, 71, 1814, 1822, 1823, 1820, 71, 71, - 1821, 1829, 1832, 1828, 71, 1824, 1833, 71, 71, 1827, - 71, 1831, 71, 1834, 71, 1835, 71, 1826, 71, 1830, - 71, 71, 71, 71, 71, 1836, 1840, 71, 1843, 1844, - 71, 71, 71, 1839, 71, 71, 1847, 71, 1837, 1838, - 1841, 71, 1852, 71, 71, 1846, 1851, 71, 71, 71, - 1842, 1845, 1848, 1856, 1849, 71, 71, 1859, 71, 1850, - 71, 1857, 1854, 1853, 1860, 1858, 71, 1855, 1863, 71, - 71, 71, 1870, 71, 71, 71, 71, 1861, 71, 1867, - - 71, 71, 1862, 71, 1875, 1865, 1872, 1873, 71, 71, - 1874, 1864, 1866, 71, 71, 1868, 1869, 71, 1871, 1880, - 71, 1882, 1876, 1881, 71, 1877, 1883, 71, 1884, 1885, - 1878, 71, 71, 71, 71, 71, 1889, 1879, 1887, 71, - 71, 71, 71, 71, 1888, 1891, 71, 1894, 71, 1896, - 71, 1890, 1892, 71, 71, 71, 71, 1886, 1897, 71, - 71, 1900, 1898, 1901, 71, 1902, 1903, 71, 1893, 1906, - 1895, 1904, 71, 1899, 71, 71, 71, 71, 71, 1905, - 1907, 1908, 71, 1909, 71, 1912, 71, 1910, 71, 1911, - 71, 1914, 71, 71, 71, 1918, 71, 71, 1913, 1917, - - 1915, 71, 1919, 71, 1916, 71, 1920, 71, 1921, 1922, - 71, 71, 71, 71, 1924, 1929, 1927, 1923, 1928, 71, - 71, 71, 71, 1931, 71, 1925, 71, 71, 1935, 71, - 1926, 71, 71, 1930, 1932, 1934, 1937, 1939, 1933, 71, - 1936, 1941, 71, 71, 71, 71, 1942, 71, 1947, 71, - 1938, 71, 1940, 71, 71, 71, 1949, 71, 71, 1950, - 1943, 1944, 1945, 1946, 1951, 71, 1952, 71, 1948, 71, - 1955, 71, 71, 1954, 1953, 71, 71, 71, 71, 71, - 1956, 71, 71, 71, 71, 1967, 71, 1958, 1959, 1960, - 1963, 71, 71, 1957, 1962, 1966, 71, 1971, 71, 1970, - - 1968, 1965, 71, 1964, 1961, 71, 71, 1973, 1974, 71, - 71, 1969, 71, 71, 1976, 71, 71, 1977, 1972, 71, - 71, 1978, 1982, 1975, 1980, 71, 71, 1984, 1981, 1986, - 71, 1979, 71, 71, 71, 1989, 71, 71, 1983, 1988, - 1985, 1990, 1991, 71, 71, 1994, 71, 71, 71, 71, - 71, 71, 1995, 71, 2000, 71, 1997, 71, 1987, 1996, - 2004, 1992, 71, 2001, 1993, 2002, 71, 1999, 1998, 71, - 71, 71, 2006, 71, 2005, 2009, 71, 2003, 71, 2007, - 71, 2011, 71, 2012, 71, 2010, 71, 2008, 71, 71, - 71, 2014, 2018, 2013, 71, 71, 2015, 2016, 2020, 71, - - 2017, 71, 71, 2021, 71, 71, 2023, 2024, 2022, 71, - 2019, 71, 71, 71, 2025, 2027, 2026, 2030, 71, 71, - 71, 2028, 2029, 2031, 71, 71, 71, 71, 71, 71, - 2032, 71, 71, 2039, 2034, 2033, 2040, 2036, 2037, 2035, - 71, 2041, 71, 71, 71, 71, 2042, 2038, 2044, 2050, - 71, 71, 2045, 71, 71, 2052, 71, 71, 2046, 2043, - 2049, 2054, 2047, 2051, 71, 71, 71, 144, 2057, 2055, - 2048, 2059, 2053, 2058, 71, 2060, 71, 71, 2056, 2061, - 71, 71, 2064, 71, 71, 2065, 2063, 71, 2062, 2069, - 71, 71, 2070, 71, 71, 2073, 2068, 71, 71, 2066, - - 71, 71, 2074, 71, 2075, 2071, 2076, 71, 71, 2078, - 2067, 71, 2072, 2077, 71, 71, 2083, 71, 2079, 71, - 2080, 2081, 71, 2082, 71, 71, 2089, 71, 71, 2086, - 71, 71, 71, 71, 2090, 71, 71, 2085, 2092, 71, - 71, 71, 2084, 2087, 2088, 2096, 2091, 2094, 2099, 71, - 71, 71, 2097, 71, 71, 2095, 71, 71, 2093, 2098, - 71, 2100, 71, 71, 71, 2110, 71, 142, 71, 2101, - 2102, 2111, 71, 71, 2107, 71, 2105, 2103, 71, 2109, - 2104, 2106, 71, 2115, 2108, 2112, 71, 2113, 2114, 2116, - 71, 2117, 71, 2118, 71, 2120, 71, 2123, 71, 2119, - - 71, 71, 71, 71, 71, 2121, 2124, 2125, 2122, 2129, - 71, 2130, 71, 71, 2132, 71, 2128, 71, 2134, 71, - 2126, 71, 71, 2127, 2137, 71, 71, 2136, 2138, 71, - 71, 71, 2131, 71, 71, 2133, 2135, 71, 71, 2140, - 2139, 71, 2143, 2144, 71, 2141, 2146, 71, 71, 71, - 2150, 71, 2142, 2145, 2148, 71, 2147, 71, 2149, 2152, - 71, 71, 2156, 71, 71, 2151, 71, 71, 71, 71, - 2153, 71, 2154, 2160, 2161, 71, 71, 2165, 71, 71, - 2155, 71, 2159, 71, 2157, 71, 2163, 2162, 2167, 2158, - 71, 2164, 71, 71, 2172, 71, 71, 2168, 2174, 2166, - - 71, 71, 71, 2169, 2173, 2175, 2179, 71, 2170, 71, - 71, 71, 2178, 71, 2180, 71, 2184, 71, 2171, 71, - 2176, 71, 2177, 2182, 2186, 71, 2187, 2189, 71, 2191, - 71, 71, 2181, 71, 2183, 71, 2192, 71, 2190, 71, - 2188, 2185, 2193, 2195, 71, 71, 71, 2196, 2197, 71, - 71, 2202, 71, 2194, 2198, 2199, 2203, 71, 2200, 71, - 71, 2208, 71, 2204, 2201, 71, 2207, 71, 71, 2206, - 71, 2209, 2205, 71, 71, 71, 2215, 71, 71, 2210, - 71, 71, 71, 2217, 71, 71, 2226, 71, 2211, 2213, - 2212, 2214, 2218, 2216, 2221, 71, 71, 2219, 2222, 2220, - - 71, 2223, 71, 2227, 71, 2224, 2228, 71, 71, 2230, - 2231, 2229, 2225, 2232, 2233, 71, 71, 71, 71, 71, - 71, 2235, 71, 71, 71, 2239, 71, 71, 71, 2241, - 2236, 2234, 2240, 2242, 71, 71, 2237, 71, 71, 71, - 2243, 71, 2238, 2246, 2247, 71, 2244, 2245, 71, 71, - 71, 2248, 71, 2249, 71, 71, 2253, 2256, 71, 71, - 2255, 2250, 71, 71, 2252, 2257, 71, 2261, 71, 2251, - 2263, 2260, 71, 71, 2254, 71, 2258, 71, 2259, 2985, - 2262, 71, 2265, 71, 71, 2268, 2266, 71, 2270, 2264, - 71, 2269, 2272, 71, 71, 71, 2274, 71, 71, 71, - - 71, 71, 2271, 2267, 2273, 2278, 71, 71, 71, 71, - 2282, 71, 2280, 2276, 2281, 2284, 2275, 2277, 2283, 71, - 71, 71, 71, 2285, 2286, 71, 71, 71, 2291, 71, - 2288, 71, 2279, 71, 71, 2293, 2296, 71, 71, 2290, - 2292, 71, 2287, 71, 71, 2289, 71, 2299, 71, 2295, - 71, 2294, 2300, 71, 71, 2301, 71, 2297, 2305, 71, - 71, 2298, 2302, 2303, 2304, 71, 71, 71, 2310, 71, - 71, 71, 2309, 2395, 2306, 2311, 2312, 71, 2308, 2307, - 2313, 71, 2314, 71, 2315, 71, 71, 2317, 71, 71, - 2319, 71, 2320, 2318, 71, 71, 71, 71, 2316, 2325, - - 71, 71, 2327, 71, 2328, 71, 2321, 2322, 71, 71, - 71, 71, 71, 2324, 71, 71, 2323, 2331, 71, 2329, - 2326, 2330, 71, 2332, 2337, 71, 71, 2334, 71, 71, - 71, 71, 2333, 71, 2335, 2336, 71, 2338, 71, 2344, - 71, 71, 2341, 71, 2339, 2343, 2340, 71, 2346, 2345, - 71, 2347, 71, 2351, 2342, 71, 71, 2355, 71, 2348, - 2353, 2354, 2356, 71, 71, 2349, 2352, 71, 2357, 71, - 2350, 71, 2358, 71, 2359, 71, 71, 71, 71, 71, - 2361, 71, 2360, 71, 71, 71, 2370, 2371, 71, 71, - 2367, 71, 71, 2985, 2362, 2364, 2363, 2374, 71, 2366, - - 2365, 2373, 2369, 2368, 71, 2376, 71, 71, 71, 2377, - 71, 2372, 71, 2375, 71, 2379, 71, 71, 2385, 71, - 2386, 71, 71, 2387, 71, 2378, 71, 2380, 2381, 71, - 71, 71, 2382, 2383, 71, 2384, 2391, 71, 71, 2389, - 2388, 71, 2394, 2396, 71, 2390, 71, 71, 2397, 71, - 2392, 2398, 71, 71, 2393, 71, 2400, 2399, 71, 71, - 2401, 2402, 71, 2404, 71, 2409, 71, 2408, 71, 71, - 2412, 71, 71, 2403, 71, 2405, 2413, 71, 2406, 2416, - 71, 2415, 2407, 2410, 71, 71, 71, 2411, 71, 2414, - 2420, 71, 71, 71, 71, 2424, 71, 2417, 2423, 71, - - 2421, 2422, 2426, 71, 2427, 2418, 2419, 71, 71, 71, - 2431, 71, 2425, 71, 2432, 71, 2428, 2434, 71, 71, - 71, 2430, 71, 71, 2429, 71, 2439, 71, 2441, 71, - 71, 2437, 2435, 2436, 2438, 2442, 71, 2433, 2440, 71, - 71, 2443, 71, 71, 71, 2445, 71, 71, 71, 71, - 2446, 71, 2449, 2444, 2451, 2448, 2452, 71, 2454, 71, - 2455, 71, 2447, 2450, 71, 71, 71, 71, 2460, 2680, - 2457, 2456, 2453, 71, 71, 71, 2462, 71, 2461, 2465, - 71, 71, 2466, 71, 2458, 2459, 2464, 71, 2468, 71, - 71, 2470, 2463, 2469, 71, 2474, 2471, 71, 71, 2472, - - 2467, 71, 71, 2473, 71, 71, 2475, 71, 71, 2476, - 71, 71, 71, 71, 2477, 2480, 2479, 2482, 71, 71, - 71, 2483, 2478, 2481, 2485, 2484, 71, 71, 71, 71, - 71, 2486, 71, 2491, 71, 71, 71, 2489, 2487, 2490, - 2488, 71, 71, 2492, 2496, 71, 71, 71, 2493, 2500, - 71, 2499, 71, 71, 71, 2494, 2498, 71, 2504, 2985, - 2495, 2497, 2505, 71, 2507, 2501, 2508, 2502, 2509, 71, - 71, 71, 71, 2503, 71, 2510, 71, 2511, 71, 71, - 2513, 71, 2506, 2512, 71, 2515, 71, 71, 2518, 2519, - 71, 71, 2514, 2520, 71, 2521, 71, 71, 2516, 71, - - 71, 2517, 2523, 2522, 2524, 71, 71, 71, 2528, 71, - 2531, 2525, 2526, 2529, 71, 2532, 71, 71, 2527, 71, - 2530, 2533, 71, 71, 71, 71, 2534, 2538, 71, 71, - 2535, 71, 2539, 2540, 71, 2542, 71, 2536, 71, 71, - 2541, 2546, 2543, 71, 2537, 2547, 71, 71, 71, 2549, - 71, 71, 2548, 2545, 2550, 71, 2544, 71, 2555, 71, - 71, 71, 71, 2554, 71, 2557, 2551, 2558, 71, 71, - 2552, 2553, 71, 71, 2559, 71, 2561, 71, 2563, 71, - 2560, 71, 2568, 71, 2556, 2562, 2566, 71, 2570, 71, - 71, 71, 2576, 71, 2564, 2565, 71, 2567, 2572, 2573, - - 71, 2569, 2571, 71, 2574, 71, 71, 2577, 71, 2578, - 2575, 71, 2579, 71, 2580, 71, 2581, 71, 71, 71, - 2582, 2985, 2584, 2583, 2588, 71, 2585, 71, 71, 71, - 2589, 2591, 71, 2593, 71, 71, 2592, 71, 2586, 2587, - 2594, 2595, 71, 71, 71, 71, 2590, 2600, 71, 71, - 71, 71, 2596, 2597, 2598, 2599, 71, 2604, 2602, 71, - 2601, 71, 2605, 71, 2606, 2603, 2608, 71, 2607, 2609, - 71, 2610, 71, 71, 71, 71, 71, 71, 71, 71, - 2619, 2611, 71, 71, 2614, 71, 71, 2617, 2615, 2636, - 2622, 71, 2613, 2985, 2620, 71, 2623, 71, 2612, 2618, - - 71, 2624, 2616, 71, 2621, 71, 2625, 71, 2626, 71, - 2627, 2629, 71, 2628, 2630, 71, 2631, 71, 71, 71, - 2639, 71, 71, 71, 2635, 2633, 2634, 2632, 2637, 71, - 71, 71, 71, 2644, 2638, 71, 2642, 2646, 71, 71, - 2640, 71, 71, 71, 2650, 71, 71, 71, 71, 71, - 2643, 2641, 2653, 71, 71, 71, 2648, 71, 71, 2651, - 2645, 2647, 2652, 2649, 2654, 2657, 2656, 71, 71, 2655, - 2660, 71, 2658, 2662, 71, 2663, 71, 2661, 2665, 71, - 2659, 71, 71, 71, 71, 71, 2670, 71, 71, 2664, - 2669, 71, 71, 2674, 71, 2676, 71, 2666, 2667, 2668, - - 71, 2678, 2681, 71, 2671, 2682, 71, 71, 2675, 71, - 2673, 2672, 71, 71, 2679, 2684, 71, 71, 71, 2689, - 2677, 71, 71, 71, 2686, 71, 2687, 2693, 71, 71, - 71, 71, 2683, 2694, 2691, 2685, 71, 2695, 2688, 2698, - 2690, 2696, 2701, 2692, 71, 71, 2699, 71, 71, 71, - 71, 2697, 2700, 71, 71, 2703, 71, 2706, 2704, 71, - 2709, 71, 2702, 71, 2710, 71, 2713, 71, 71, 71, - 2714, 71, 71, 2705, 71, 2711, 2707, 2708, 2712, 2715, - 71, 71, 2716, 2718, 71, 2717, 2719, 71, 2720, 71, - 71, 2722, 71, 71, 2724, 2721, 71, 71, 2727, 71, - - 2723, 2728, 71, 71, 2733, 71, 2732, 71, 71, 71, - 71, 71, 71, 2729, 2731, 2725, 2783, 2736, 2726, 2737, - 71, 2738, 71, 2730, 71, 71, 2741, 71, 2734, 2739, - 2735, 71, 71, 2744, 71, 2743, 71, 71, 71, 2740, - 71, 2745, 71, 2742, 71, 2748, 71, 71, 71, 71, - 2750, 71, 71, 2985, 2749, 2751, 71, 2746, 2747, 71, - 71, 71, 71, 71, 2765, 2752, 2760, 2756, 2753, 2754, - 2755, 2763, 71, 2757, 2758, 71, 2762, 2764, 71, 2774, - 2759, 71, 2761, 2766, 71, 2767, 71, 2768, 2769, 71, - 71, 2770, 2771, 71, 71, 2772, 2773, 71, 71, 2775, - - 71, 2778, 71, 71, 2781, 71, 71, 2776, 2780, 71, - 2784, 2777, 71, 2779, 71, 71, 71, 2789, 2785, 2790, - 71, 2791, 71, 71, 2788, 71, 71, 2782, 71, 2786, - 2787, 2793, 71, 2798, 2794, 2796, 71, 2795, 2792, 71, - 2797, 71, 71, 71, 71, 2805, 71, 2800, 2802, 2803, - 71, 2807, 71, 2799, 71, 2806, 2854, 2801, 2808, 71, - 71, 2804, 2809, 71, 2810, 71, 2811, 71, 2812, 71, - 2813, 71, 2814, 71, 71, 2816, 71, 71, 71, 71, - 2819, 2821, 71, 2815, 71, 71, 2817, 71, 71, 2825, - 2818, 71, 2827, 71, 71, 71, 71, 2824, 2820, 2822, - - 2823, 71, 71, 2831, 2829, 71, 2826, 2834, 2833, 71, - 71, 71, 2828, 71, 2832, 2836, 71, 71, 71, 71, - 71, 2830, 2841, 2835, 2843, 71, 2844, 71, 2845, 71, - 2837, 2842, 71, 2839, 2838, 2840, 71, 71, 71, 71, - 71, 2848, 71, 71, 71, 2847, 71, 2853, 71, 2856, - 71, 71, 71, 2850, 2852, 2846, 71, 71, 2849, 2855, - 71, 71, 71, 2851, 2857, 2858, 71, 2865, 2859, 71, - 2868, 71, 2860, 71, 71, 2862, 71, 2861, 2863, 71, - 2866, 2864, 2869, 2870, 71, 71, 2871, 2872, 71, 2867, - 2873, 71, 71, 2874, 71, 2876, 2875, 71, 71, 2877, - - 2881, 71, 2878, 71, 2879, 71, 71, 2884, 71, 71, - 2887, 71, 71, 2880, 71, 2882, 2890, 71, 71, 2891, - 2885, 71, 71, 2883, 2894, 2895, 71, 2888, 2886, 2892, - 71, 71, 2889, 71, 71, 2899, 71, 71, 71, 71, - 2896, 2893, 71, 71, 71, 71, 2897, 2903, 71, 2905, - 71, 71, 2902, 2898, 71, 71, 2985, 71, 2900, 2901, - 2910, 2907, 2904, 2908, 2906, 71, 71, 2915, 71, 71, - 2909, 2911, 71, 2917, 2912, 2913, 2985, 2916, 71, 71, - 71, 2918, 71, 2919, 2914, 71, 2923, 2920, 2922, 71, - 2921, 71, 71, 2924, 71, 71, 2925, 2926, 71, 2927, - - 71, 71, 71, 2932, 71, 71, 71, 2929, 2928, 71, - 71, 2935, 2936, 71, 71, 71, 71, 71, 2934, 2939, - 2930, 2931, 71, 2933, 2937, 2940, 71, 2938, 71, 2943, - 2942, 2944, 71, 71, 2947, 2941, 71, 71, 2949, 71, - 2950, 71, 71, 71, 71, 2945, 2951, 71, 2946, 2952, - 2954, 71, 2955, 71, 71, 2948, 2956, 2957, 71, 71, - 2958, 71, 2953, 2960, 71, 71, 2959, 2963, 71, 2961, - 71, 71, 71, 71, 71, 2965, 2966, 71, 2969, 71, - 2962, 2970, 71, 71, 2964, 71, 2973, 2974, 71, 71, - 2975, 2967, 2968, 2971, 2976, 71, 2977, 71, 2972, 71, - - 71, 71, 71, 2983, 71, 2979, 2978, 2980, 2981, 2984, - 71, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2982, 43, 43, 43, 43, 43, 43, 43, 48, 48, - 48, 48, 48, 48, 48, 53, 53, 53, 53, 53, - 53, 53, 59, 59, 59, 59, 59, 59, 59, 64, - 64, 64, 64, 64, 64, 64, 74, 74, 2985, 74, - 74, 74, 74, 141, 141, 2985, 2985, 2985, 141, 141, - 143, 143, 2985, 2985, 143, 2985, 143, 145, 2985, 2985, - 2985, 2985, 2985, 145, 148, 148, 2985, 2985, 2985, 148, - 148, 150, 2985, 2985, 2985, 2985, 2985, 150, 152, 152, - - 2985, 152, 152, 152, 152, 75, 75, 2985, 75, 75, - 75, 75, 13, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985 + 71, 1275, 71, 71, 147, 1282, 1274, 1273, 1278, 71, + 1276, 71, 71, 1279, 71, 1283, 71, 1289, 1284, 1290, + 1291, 71, 71, 1285, 71, 1286, 71, 1287, 1293, 1288, + 1295, 71, 1292, 1297, 71, 71, 1299, 71, 1298, 71, + 1296, 1294, 1300, 71, 1302, 71, 71, 1306, 1301, 71, + + 1307, 71, 71, 71, 71, 71, 71, 71, 71, 1308, + 1305, 1310, 1303, 71, 1304, 71, 1309, 1312, 1311, 71, + 1315, 1316, 71, 1313, 1318, 71, 71, 71, 1317, 1319, + 71, 1321, 1314, 1320, 71, 1324, 71, 71, 1322, 1326, + 71, 71, 1327, 1323, 71, 71, 71, 1331, 71, 1328, + 71, 71, 71, 71, 1333, 71, 71, 1325, 1335, 71, + 71, 1337, 71, 1339, 1336, 71, 1329, 1330, 71, 71, + 1332, 71, 1334, 1341, 1338, 71, 1342, 1340, 1351, 71, + 71, 71, 1346, 1343, 1344, 1345, 71, 1348, 71, 71, + 71, 1347, 1352, 1353, 1349, 1354, 1350, 1355, 71, 71, + + 71, 71, 71, 71, 1359, 71, 71, 71, 71, 1356, + 1363, 1364, 71, 1358, 71, 1366, 71, 71, 1365, 71, + 1357, 71, 71, 71, 71, 71, 1360, 1361, 1367, 71, + 1373, 1362, 71, 71, 1368, 1370, 1371, 71, 71, 1369, + 1378, 71, 1372, 1377, 71, 1374, 71, 1382, 71, 1380, + 71, 1376, 1383, 71, 71, 71, 71, 1375, 71, 1385, + 1379, 71, 1386, 1393, 71, 1381, 1384, 71, 1395, 1387, + 71, 1388, 1391, 1389, 71, 1392, 1390, 71, 1394, 71, + 71, 1396, 71, 71, 71, 71, 71, 71, 1401, 1398, + 1397, 1403, 71, 71, 71, 1408, 71, 71, 1412, 71, + + 1400, 1405, 1402, 1409, 71, 1404, 1399, 71, 71, 71, + 1406, 1407, 71, 71, 1410, 71, 1411, 71, 71, 1413, + 71, 71, 1419, 1415, 71, 1420, 1421, 1414, 1416, 71, + 1417, 1418, 71, 1423, 71, 1424, 71, 1429, 1422, 146, + 71, 1430, 1426, 71, 1425, 1428, 71, 71, 71, 1431, + 71, 1432, 71, 1427, 1433, 71, 1434, 71, 71, 71, + 71, 71, 1440, 71, 1436, 71, 1435, 1439, 71, 71, + 71, 1446, 1437, 1442, 1438, 1443, 1447, 71, 71, 1448, + 71, 1451, 1444, 1441, 1449, 71, 71, 71, 1445, 71, + 71, 71, 71, 71, 1455, 1459, 71, 71, 1450, 1454, + + 71, 71, 1460, 1462, 71, 1452, 1453, 71, 1465, 71, + 1456, 1458, 1457, 1464, 71, 71, 71, 71, 71, 1463, + 71, 71, 1461, 1466, 71, 71, 1473, 71, 1476, 71, + 1474, 71, 1470, 1475, 1467, 1468, 1469, 1477, 71, 1472, + 71, 1471, 71, 71, 1480, 1478, 1479, 71, 71, 71, + 1483, 71, 1481, 71, 1484, 71, 1486, 1490, 71, 1492, + 1482, 71, 71, 71, 1487, 71, 1491, 1485, 71, 71, + 71, 1489, 1496, 1488, 1495, 71, 1494, 1493, 71, 1497, + 71, 1501, 1502, 71, 71, 71, 71, 71, 71, 1506, + 1498, 1505, 1507, 71, 1509, 71, 1499, 71, 71, 71, + + 1500, 71, 1503, 71, 1510, 71, 1504, 1511, 71, 71, + 71, 1517, 1514, 1508, 1516, 1512, 71, 1515, 71, 1513, + 71, 71, 71, 71, 1523, 1521, 71, 71, 71, 71, + 1527, 1518, 71, 71, 71, 71, 1522, 71, 71, 1519, + 1520, 1533, 1525, 1530, 1524, 71, 1528, 1532, 71, 1531, + 71, 1529, 71, 1526, 71, 1534, 71, 1535, 1538, 71, + 71, 1537, 1541, 71, 1540, 71, 71, 1536, 71, 71, + 71, 1539, 71, 1548, 71, 1549, 71, 71, 1542, 1543, + 71, 71, 1546, 1552, 71, 1544, 1545, 71, 71, 1553, + 1555, 71, 1556, 1557, 1547, 71, 1550, 1551, 1559, 71, + + 1554, 1558, 1561, 71, 71, 1560, 71, 71, 71, 71, + 1566, 71, 1563, 1564, 1562, 71, 1567, 71, 71, 71, + 71, 1572, 1571, 71, 71, 1568, 71, 71, 1578, 1575, + 71, 1565, 1576, 1570, 71, 1569, 1573, 71, 71, 1580, + 71, 1583, 1579, 1574, 1577, 1581, 71, 1584, 71, 1586, + 1588, 1585, 1582, 71, 71, 1587, 71, 71, 71, 71, + 71, 71, 1589, 71, 1595, 71, 1594, 1596, 71, 71, + 71, 1590, 1598, 71, 1597, 71, 71, 1591, 71, 1592, + 1600, 1593, 1601, 71, 71, 71, 1603, 71, 1599, 1602, + 71, 71, 1610, 71, 71, 71, 1604, 71, 71, 71, + + 71, 1606, 71, 1608, 1607, 1605, 1609, 1615, 71, 71, + 1618, 1613, 71, 71, 1611, 1612, 71, 1617, 71, 71, + 1614, 71, 1616, 71, 1621, 71, 71, 71, 1619, 71, + 1620, 71, 1623, 1625, 1624, 144, 1622, 1628, 1626, 71, + 1629, 1627, 1632, 1633, 71, 1630, 1634, 71, 71, 1636, + 71, 71, 1631, 1637, 1638, 71, 71, 71, 71, 71, + 1635, 71, 1641, 1642, 1639, 71, 71, 71, 1651, 71, + 71, 71, 71, 71, 1645, 1640, 1647, 1644, 1643, 1648, + 1649, 1650, 71, 71, 71, 1646, 1653, 71, 1656, 71, + 1652, 71, 71, 1660, 71, 71, 1657, 1655, 71, 71, + + 1654, 71, 1664, 1663, 1662, 71, 71, 71, 1666, 1659, + 1661, 1667, 1671, 71, 1658, 71, 1665, 1672, 71, 71, + 71, 71, 142, 1668, 1677, 1670, 1676, 1669, 1674, 1673, + 71, 1679, 71, 1680, 71, 71, 1682, 71, 1678, 71, + 1681, 1675, 71, 1683, 71, 1686, 71, 71, 71, 1690, + 1688, 71, 71, 71, 1684, 71, 1689, 71, 1685, 1687, + 1691, 71, 71, 71, 71, 1694, 71, 1692, 1700, 71, + 1695, 1702, 1693, 1703, 71, 1696, 1697, 71, 1698, 71, + 1699, 71, 71, 71, 71, 1709, 71, 1704, 71, 71, + 1701, 71, 1713, 71, 71, 71, 71, 1708, 71, 1715, + + 1706, 1705, 1707, 1716, 1711, 71, 71, 1712, 1710, 71, + 1717, 1718, 71, 71, 1714, 1722, 71, 71, 1719, 1720, + 71, 1726, 71, 71, 71, 71, 71, 1721, 71, 1724, + 71, 1728, 1723, 71, 71, 1733, 71, 1727, 1729, 1725, + 1730, 71, 1736, 71, 1731, 1734, 1737, 71, 71, 71, + 1732, 1738, 1735, 1739, 71, 71, 1742, 71, 1741, 71, + 1740, 1745, 71, 1743, 71, 71, 71, 71, 1746, 1744, + 71, 71, 71, 71, 71, 71, 1751, 71, 71, 1755, + 71, 71, 1752, 71, 71, 1761, 1747, 1753, 1749, 1748, + 1750, 71, 1754, 1756, 71, 1759, 1760, 71, 1758, 1764, + + 71, 71, 1762, 1766, 71, 71, 1757, 71, 1769, 1770, + 71, 1771, 71, 1763, 1773, 71, 71, 1774, 71, 1767, + 1765, 1768, 71, 71, 1772, 1777, 71, 1778, 1779, 71, + 1781, 71, 1780, 71, 71, 1783, 71, 71, 71, 1775, + 1785, 71, 1788, 1776, 1786, 71, 71, 1787, 71, 1782, + 1789, 1790, 1791, 71, 71, 1795, 71, 1792, 1784, 1797, + 71, 71, 1800, 71, 1798, 71, 71, 71, 71, 1803, + 71, 71, 71, 1793, 1794, 71, 1796, 1799, 1801, 1804, + 71, 1802, 1807, 71, 71, 1809, 71, 71, 1805, 71, + 1812, 71, 1806, 1813, 71, 1815, 71, 71, 1808, 71, + + 1810, 71, 71, 1820, 1821, 71, 1817, 1814, 1811, 71, + 1818, 71, 71, 71, 71, 71, 1816, 71, 1827, 1824, + 1819, 71, 1825, 1822, 71, 1831, 1823, 71, 71, 1830, + 1834, 71, 1835, 1836, 71, 1833, 71, 1829, 71, 71, + 1826, 1828, 71, 71, 1837, 71, 71, 1832, 71, 71, + 71, 1838, 1842, 71, 1845, 1846, 71, 71, 1841, 71, + 71, 71, 71, 1839, 1840, 71, 1843, 1853, 71, 1849, + 71, 1848, 1854, 71, 71, 71, 1844, 1847, 2987, 1851, + 71, 71, 1852, 71, 1858, 1850, 71, 1855, 71, 1856, + 1860, 1866, 1859, 71, 1857, 1861, 71, 1862, 71, 1863, + + 1865, 71, 1868, 71, 1864, 71, 71, 1872, 1869, 71, + 71, 71, 1867, 71, 71, 1874, 1875, 71, 71, 1876, + 1878, 71, 71, 71, 1873, 1870, 1871, 1877, 1882, 71, + 1883, 71, 1879, 1884, 1881, 1886, 1887, 1880, 1885, 71, + 71, 71, 71, 71, 1891, 1889, 71, 71, 1888, 71, + 71, 1893, 71, 1896, 71, 1890, 1898, 71, 1892, 71, + 71, 1894, 71, 71, 71, 71, 71, 1903, 71, 1899, + 1902, 1914, 1900, 71, 1904, 2987, 1897, 1895, 1905, 71, + 1906, 71, 1901, 1908, 71, 71, 1907, 71, 71, 71, + 1909, 1911, 1910, 71, 71, 71, 1916, 1912, 1913, 71, + + 71, 71, 71, 1920, 71, 71, 1915, 1919, 71, 71, + 1921, 1917, 1918, 1922, 1923, 1924, 71, 71, 71, 71, + 71, 71, 71, 1931, 1929, 1925, 1926, 1930, 71, 71, + 71, 1933, 71, 71, 1937, 1932, 1927, 71, 1928, 71, + 71, 1936, 1934, 71, 71, 71, 1935, 1944, 1938, 1939, + 1941, 1943, 71, 71, 71, 2987, 1942, 71, 1949, 71, + 71, 1940, 71, 1951, 71, 71, 71, 1952, 71, 1945, + 1946, 71, 1947, 1948, 1953, 71, 1954, 1950, 1955, 71, + 1957, 71, 71, 71, 71, 71, 1956, 71, 71, 71, + 1958, 71, 71, 71, 1965, 1960, 1961, 1962, 1969, 71, + + 71, 71, 2987, 1959, 1964, 1968, 71, 1966, 71, 1972, + 1970, 1967, 71, 1963, 71, 71, 71, 1973, 1976, 1975, + 1971, 1974, 71, 71, 1980, 71, 1977, 1978, 71, 71, + 1979, 71, 71, 1984, 71, 71, 1986, 1982, 1988, 71, + 71, 1983, 71, 1981, 71, 71, 1991, 1990, 71, 1987, + 1992, 1985, 71, 1993, 71, 1996, 71, 71, 71, 71, + 71, 71, 1997, 71, 71, 71, 1989, 1999, 2064, 1998, + 1994, 2002, 71, 2006, 1995, 71, 2003, 2000, 2001, 71, + 2004, 71, 71, 2005, 2008, 71, 2007, 2011, 71, 71, + 71, 71, 2013, 2009, 71, 2014, 71, 71, 2015, 71, + + 71, 2010, 2012, 71, 2016, 2020, 2018, 2022, 71, 2019, + 71, 71, 2023, 71, 2017, 71, 71, 2024, 71, 71, + 2027, 2021, 2025, 2026, 2028, 71, 2032, 71, 71, 2029, + 71, 71, 71, 71, 2031, 71, 71, 71, 2030, 71, + 71, 2052, 71, 71, 2038, 2039, 2033, 2035, 2034, 2036, + 71, 2037, 2043, 71, 71, 2041, 71, 2040, 2042, 71, + 2044, 71, 2046, 2047, 2050, 71, 71, 71, 2054, 71, + 2987, 71, 71, 2045, 2048, 2051, 2053, 71, 71, 2049, + 2061, 2056, 2059, 2057, 2055, 2058, 71, 2060, 71, 2062, + 71, 2065, 71, 2063, 71, 71, 2066, 71, 71, 2067, + + 71, 2070, 2071, 71, 71, 2072, 2073, 71, 2075, 71, + 2077, 71, 2076, 2068, 71, 2078, 71, 71, 2074, 2080, + 71, 71, 2079, 71, 2069, 71, 71, 2081, 71, 71, + 2083, 2082, 71, 2085, 2088, 71, 71, 2091, 71, 71, + 71, 71, 71, 2092, 2086, 2084, 2094, 2087, 71, 71, + 71, 71, 2090, 2089, 2098, 2093, 71, 2101, 71, 71, + 2096, 71, 71, 71, 2099, 71, 71, 2102, 2095, 2097, + 71, 71, 71, 71, 2100, 2112, 71, 71, 71, 71, + 2103, 2104, 2113, 2109, 71, 2107, 2105, 71, 2111, 2106, + 2114, 2108, 2115, 2110, 71, 2117, 71, 2116, 2118, 71, + + 2119, 71, 2120, 71, 2122, 71, 2125, 71, 71, 2121, + 71, 71, 71, 2126, 2123, 2127, 71, 2124, 2131, 71, + 2132, 71, 71, 2134, 71, 71, 2136, 71, 2130, 71, + 71, 2128, 2129, 2139, 71, 2138, 2140, 71, 71, 71, + 71, 2133, 71, 2135, 2137, 71, 2146, 71, 2142, 71, + 2145, 71, 2141, 71, 2143, 2148, 71, 71, 71, 2150, + 2151, 2144, 71, 2152, 2154, 71, 71, 71, 2147, 2149, + 2158, 71, 71, 71, 71, 71, 71, 2155, 2153, 2162, + 71, 2156, 2163, 71, 71, 71, 2157, 2167, 71, 2161, + 71, 71, 2159, 71, 2170, 2164, 2160, 71, 2169, 2165, + + 2166, 71, 71, 2174, 71, 71, 71, 2176, 71, 2177, + 2168, 2171, 71, 2175, 71, 2172, 71, 2181, 71, 2182, + 2180, 71, 71, 71, 2178, 71, 2179, 2173, 2186, 71, + 2188, 2184, 71, 2191, 2189, 71, 71, 2193, 71, 71, + 71, 2183, 2185, 71, 71, 2194, 71, 2190, 2187, 2195, + 71, 2197, 71, 2198, 71, 2199, 2192, 71, 71, 71, + 2987, 2196, 2204, 2200, 2205, 71, 2201, 2202, 71, 2206, + 71, 71, 2207, 2203, 71, 2209, 2210, 71, 2211, 71, + 2208, 71, 71, 71, 71, 71, 2212, 2217, 71, 71, + 71, 71, 71, 71, 2219, 71, 2224, 2215, 2218, 2213, + + 2216, 2214, 2220, 71, 2223, 2221, 2222, 71, 2225, 2228, + 71, 71, 2229, 2230, 71, 2226, 71, 71, 2233, 2227, + 2231, 2232, 2234, 71, 71, 2235, 71, 71, 71, 71, + 2237, 71, 71, 71, 2241, 71, 71, 2236, 2243, 2238, + 2242, 2244, 71, 71, 71, 2239, 71, 71, 2245, 71, + 71, 2240, 71, 2246, 2248, 2249, 71, 2251, 71, 71, + 2250, 71, 71, 71, 2258, 2255, 2247, 71, 2257, 2252, + 71, 71, 71, 2254, 71, 2263, 71, 2259, 2253, 2262, + 71, 71, 2256, 71, 2264, 2260, 2268, 71, 2261, 2265, + 71, 2267, 71, 71, 2266, 71, 2270, 2271, 2272, 71, + + 2274, 71, 71, 71, 71, 2276, 71, 71, 71, 71, + 71, 2273, 2275, 2286, 2280, 2284, 71, 71, 2269, 71, + 2277, 2278, 2282, 71, 2279, 2285, 71, 71, 2283, 71, + 2287, 71, 71, 71, 71, 71, 2281, 2290, 2293, 71, + 71, 2295, 71, 2288, 2294, 71, 2292, 71, 2298, 71, + 71, 71, 2291, 2289, 71, 2301, 2303, 2297, 2296, 2302, + 71, 71, 71, 71, 2299, 71, 71, 71, 2300, 2307, + 2306, 2305, 71, 71, 71, 71, 71, 2308, 2311, 2304, + 2309, 2313, 2314, 71, 2310, 2315, 71, 2316, 71, 2317, + 71, 71, 71, 2319, 2312, 71, 2321, 2320, 71, 2322, + + 71, 71, 71, 2318, 71, 2327, 71, 71, 2329, 71, + 2330, 71, 2323, 2324, 71, 71, 71, 71, 71, 71, + 2326, 71, 2325, 2333, 2336, 2331, 2328, 2332, 71, 2334, + 2339, 71, 71, 71, 71, 71, 71, 71, 2335, 71, + 2346, 2337, 2340, 71, 71, 71, 71, 71, 2338, 2343, + 71, 2345, 2347, 71, 2342, 2987, 2353, 71, 2341, 2344, + 2348, 2349, 2350, 71, 71, 71, 2357, 71, 2355, 2351, + 2356, 2354, 71, 2352, 2358, 71, 71, 2359, 71, 2360, + 71, 2361, 2362, 2363, 71, 71, 71, 71, 71, 71, + 71, 71, 2372, 71, 2373, 71, 71, 71, 2369, 2376, + + 71, 2378, 71, 2364, 2366, 2365, 2375, 71, 2368, 2367, + 2370, 2371, 71, 71, 71, 71, 2377, 71, 2374, 71, + 71, 2381, 71, 2387, 71, 2388, 71, 71, 2389, 71, + 2379, 2380, 2382, 2383, 71, 71, 2385, 2384, 71, 71, + 71, 2386, 71, 2393, 2391, 2390, 71, 2396, 2397, 2398, + 71, 71, 71, 2399, 2392, 2400, 71, 71, 71, 2394, + 2395, 71, 71, 71, 71, 71, 2402, 71, 2406, 71, + 71, 2401, 2410, 2404, 2411, 71, 71, 2403, 2414, 71, + 71, 71, 2405, 71, 2407, 2409, 2408, 2415, 2413, 71, + 71, 2412, 71, 2417, 2419, 2416, 2418, 71, 2422, 71, + + 71, 71, 71, 2426, 71, 71, 2425, 2428, 71, 2424, + 2420, 71, 2421, 2423, 71, 71, 2429, 71, 2433, 71, + 71, 2434, 71, 2430, 2427, 2436, 71, 71, 71, 2432, + 71, 2431, 71, 71, 2441, 71, 2443, 71, 71, 2439, + 2437, 2438, 2440, 2444, 2435, 71, 71, 2442, 71, 71, + 2445, 71, 71, 2447, 71, 71, 71, 2448, 71, 71, + 2446, 2450, 2451, 2453, 2454, 71, 2456, 71, 2457, 71, + 2449, 2452, 71, 71, 71, 71, 2462, 2682, 2459, 2458, + 2455, 71, 71, 71, 2464, 71, 2463, 2467, 71, 71, + 2468, 71, 2460, 2461, 2466, 71, 2470, 71, 71, 2472, + + 2465, 2471, 71, 2476, 2473, 71, 71, 2474, 2469, 71, + 71, 2475, 71, 71, 2477, 71, 71, 2478, 71, 71, + 71, 71, 2479, 2482, 2481, 2484, 71, 71, 71, 2485, + 2480, 2483, 2487, 2486, 71, 71, 71, 71, 71, 2488, + 71, 2493, 71, 71, 71, 2491, 2489, 2492, 2490, 71, + 71, 2494, 2498, 71, 71, 71, 2495, 2502, 71, 2501, + 71, 71, 71, 2496, 2500, 71, 2506, 2987, 2497, 2499, + 2507, 71, 2509, 2503, 2510, 2504, 2511, 71, 71, 71, + 71, 2505, 71, 2512, 71, 2513, 71, 71, 2515, 71, + 2508, 2514, 71, 2517, 71, 71, 2520, 2521, 71, 71, + + 2516, 2522, 71, 2523, 71, 71, 2518, 71, 71, 2519, + 2525, 2524, 2526, 71, 71, 71, 2530, 71, 2533, 2527, + 2528, 2531, 71, 2534, 71, 71, 2529, 71, 2532, 2535, + 71, 71, 71, 71, 2536, 2540, 71, 71, 2537, 71, + 2541, 2542, 71, 2544, 71, 2538, 71, 71, 2543, 2548, + 2545, 71, 2539, 2549, 71, 71, 71, 2551, 71, 71, + 2550, 2547, 2552, 71, 2546, 71, 2557, 71, 71, 71, + 71, 2556, 71, 2559, 2553, 2560, 71, 71, 2554, 2555, + 71, 71, 2561, 71, 2563, 71, 2565, 71, 2562, 71, + 2570, 71, 2558, 2564, 2568, 71, 2572, 71, 71, 71, + + 2578, 71, 2566, 2567, 71, 2569, 2574, 2575, 71, 2571, + 2573, 71, 2576, 71, 71, 2579, 71, 2580, 2577, 71, + 2581, 71, 2582, 71, 2583, 71, 71, 71, 2584, 2987, + 2586, 2585, 2590, 71, 2587, 71, 71, 71, 2591, 2593, + 71, 2595, 71, 71, 2594, 71, 2588, 2589, 2596, 2597, + 71, 71, 71, 71, 2592, 2602, 71, 71, 71, 71, + 2598, 2599, 2600, 2601, 71, 2606, 2604, 71, 2603, 71, + 2607, 71, 2608, 2605, 2610, 71, 2609, 2611, 71, 2612, + 71, 71, 71, 71, 71, 71, 71, 71, 2621, 2613, + 71, 71, 2616, 71, 71, 2619, 2617, 2638, 2624, 71, + + 2615, 2987, 2622, 71, 2625, 71, 2614, 2620, 71, 2626, + 2618, 71, 2623, 71, 2627, 71, 2628, 71, 2629, 2631, + 71, 2630, 2632, 71, 2633, 71, 71, 71, 2641, 71, + 71, 71, 2637, 2635, 2636, 2634, 2639, 71, 71, 71, + 71, 2646, 2640, 71, 2644, 2648, 71, 71, 2642, 71, + 71, 71, 2652, 71, 71, 71, 71, 71, 2645, 2643, + 2655, 71, 71, 71, 2650, 71, 71, 2653, 2647, 2649, + 2654, 2651, 2656, 2659, 2658, 71, 71, 2657, 2662, 71, + 2660, 2664, 71, 2665, 71, 2663, 2667, 71, 2661, 71, + 71, 71, 71, 71, 2672, 71, 71, 2666, 2671, 71, + + 71, 2676, 71, 2678, 71, 2668, 2669, 2670, 71, 2680, + 2683, 71, 2673, 2684, 71, 71, 2677, 71, 2675, 2674, + 71, 71, 2681, 2686, 71, 71, 71, 2691, 2679, 71, + 71, 71, 2688, 71, 2689, 2695, 71, 71, 71, 71, + 2685, 2696, 2693, 2687, 71, 2697, 2690, 2700, 2692, 2698, + 2703, 2694, 71, 71, 2701, 71, 71, 71, 71, 2699, + 2702, 71, 71, 2705, 71, 2708, 2706, 71, 2711, 71, + 2704, 71, 2712, 71, 2715, 71, 71, 71, 2716, 71, + 71, 2707, 71, 2713, 2709, 2710, 2714, 2717, 71, 71, + 2718, 2720, 71, 2719, 2721, 71, 2722, 71, 71, 2724, + + 71, 71, 2726, 2723, 71, 71, 2729, 71, 2725, 2730, + 71, 71, 2735, 71, 2734, 71, 71, 71, 71, 71, + 71, 2731, 2733, 2727, 2785, 2738, 2728, 2739, 71, 2740, + 71, 2732, 71, 71, 2743, 71, 2736, 2741, 2737, 71, + 71, 2746, 71, 2745, 71, 71, 71, 2742, 71, 2747, + 71, 2744, 71, 2750, 71, 71, 71, 71, 2752, 71, + 71, 2987, 2751, 2753, 71, 2748, 2749, 71, 71, 71, + 71, 71, 2767, 2754, 2762, 2758, 2755, 2756, 2757, 2765, + 71, 2759, 2760, 71, 2764, 2766, 71, 2776, 2761, 71, + 2763, 2768, 71, 2769, 71, 2770, 2771, 71, 71, 2772, + + 2773, 71, 71, 2774, 2775, 71, 71, 2777, 71, 2780, + 71, 71, 2783, 71, 71, 2778, 2782, 71, 2786, 2779, + 71, 2781, 71, 71, 71, 2791, 2787, 2792, 71, 2793, + 71, 71, 2790, 71, 71, 2784, 71, 2788, 2789, 2795, + 71, 2800, 2796, 2798, 71, 2797, 2794, 71, 2799, 71, + 71, 71, 71, 2807, 71, 2802, 2804, 2805, 71, 2809, + 71, 2801, 71, 2808, 2856, 2803, 2810, 71, 71, 2806, + 2811, 71, 2812, 71, 2813, 71, 2814, 71, 2815, 71, + 2816, 71, 71, 2818, 71, 71, 71, 71, 2821, 2823, + 71, 2817, 71, 71, 2819, 71, 71, 2827, 2820, 71, + + 2829, 71, 71, 71, 71, 2826, 2822, 2824, 2825, 71, + 71, 2833, 2831, 71, 2828, 2836, 2835, 71, 71, 71, + 2830, 71, 2834, 2838, 71, 71, 71, 71, 71, 2832, + 2843, 2837, 2845, 71, 2846, 71, 2847, 71, 2839, 2844, + 71, 2841, 2840, 2842, 71, 71, 71, 71, 71, 2850, + 71, 71, 71, 2849, 71, 2855, 71, 2858, 71, 71, + 71, 2852, 2854, 2848, 71, 71, 2851, 2857, 71, 71, + 71, 2853, 2859, 2860, 71, 2867, 2861, 71, 2870, 71, + 2862, 71, 71, 2864, 71, 2863, 2865, 71, 2868, 2866, + 2871, 2872, 71, 71, 2873, 2874, 71, 2869, 2875, 71, + + 71, 2876, 71, 2878, 2877, 71, 71, 2879, 2883, 71, + 2880, 71, 2881, 71, 71, 2886, 71, 71, 2889, 71, + 71, 2882, 71, 2884, 2892, 71, 71, 2893, 2887, 71, + 71, 2885, 2896, 2897, 71, 2890, 2888, 2894, 71, 71, + 2891, 71, 71, 2901, 71, 71, 71, 71, 2898, 2895, + 71, 71, 71, 71, 2899, 2905, 71, 2907, 71, 71, + 2904, 2900, 71, 71, 2987, 71, 2902, 2903, 2912, 2909, + 2906, 2910, 2908, 71, 71, 2917, 71, 71, 2911, 2913, + 71, 2919, 2914, 2915, 2987, 2918, 71, 71, 71, 2920, + 71, 2921, 2916, 71, 2925, 2922, 2924, 71, 2923, 71, + + 71, 2926, 71, 71, 2927, 2928, 71, 2929, 71, 71, + 71, 2934, 71, 71, 71, 2931, 2930, 71, 71, 2937, + 2938, 71, 71, 71, 71, 71, 2936, 2941, 2932, 2933, + 71, 2935, 2939, 2942, 71, 2940, 71, 2945, 2944, 2946, + 71, 71, 2949, 2943, 71, 71, 2951, 71, 2952, 71, + 71, 71, 71, 2947, 2953, 71, 2948, 2954, 2956, 71, + 2957, 71, 71, 2950, 2958, 2959, 71, 71, 2960, 71, + 2955, 2962, 71, 71, 2961, 2965, 71, 2963, 71, 71, + 71, 71, 71, 2967, 2968, 71, 2971, 71, 2964, 2972, + 71, 71, 2966, 71, 2975, 2976, 71, 71, 2977, 2969, + + 2970, 2973, 2978, 71, 2979, 71, 2974, 71, 71, 71, + 71, 2985, 71, 2981, 2980, 2982, 2983, 2986, 71, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2984, 43, + 43, 43, 43, 43, 43, 43, 48, 48, 48, 48, + 48, 48, 48, 53, 53, 53, 53, 53, 53, 53, + 59, 59, 59, 59, 59, 59, 59, 64, 64, 64, + 64, 64, 64, 64, 74, 74, 2987, 74, 74, 74, + 74, 141, 141, 2987, 2987, 2987, 141, 141, 143, 143, + 2987, 2987, 143, 2987, 143, 145, 2987, 2987, 2987, 2987, + 2987, 145, 148, 148, 2987, 2987, 2987, 148, 148, 150, + + 2987, 2987, 2987, 2987, 2987, 150, 152, 152, 2987, 152, + 152, 152, 152, 75, 75, 2987, 75, 75, 75, 75, + 13, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987 } ; -static const flex_int16_t yy_chk[5854] = +static const flex_int16_t yy_chk[5862] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2061,7 +2064,7 @@ static const flex_int16_t yy_chk[5854] = 5, 3, 6, 20, 4, 20, 20, 5, 20, 6, 7, 7, 7, 7, 20, 7, 8, 8, 8, 8, 29, 8, 7, 9, 9, 9, 22, 22, 8, 10, - 10, 10, 15, 25, 9, 29, 15, 25, 2991, 31, + 10, 10, 15, 25, 9, 29, 15, 25, 2993, 31, 10, 11, 11, 11, 11, 11, 11, 19, 79, 19, 19, 30, 19, 11, 31, 79, 30, 25, 19, 19, @@ -2311,392 +2314,393 @@ static const flex_int16_t yy_chk[5854] = 1083, 1082, 1081, 1076, 1086, 1086, 1084, 1085, 1087, 1076, 1082, 1084, 1085, 1076, 1088, 1088, 1089, 1090, 1091, 1089, 1093, 1089, 1092, 1094, 1095, 1096, 1097, 1098, 1094, 1087, - 1099, 1092, 1097, 1098, 1108, 1099, 1091, 1090, 1095, 1101, - 1093, 1100, 1103, 1096, 1103, 1100, 1102, 1102, 1101, 1104, - 1106, 1107, 1108, 1101, 1106, 1101, 1109, 1101, 1110, 1101, - 1104, 1111, 1112, 1110, 1110, 1109, 1107, 1112, 1113, 1114, - 1115, 1116, 1117, 1118, 1119, 1119, 1120, 1121, 1114, 1118, - - 1122, 1123, 1113, 1111, 1120, 1122, 1117, 1124, 1125, 1115, - 1116, 1121, 1126, 1127, 1129, 1123, 1124, 1135, 1127, 1128, - 1128, 1130, 1130, 1131, 1133, 1131, 1125, 1133, 1134, 1129, - 1136, 1137, 1137, 1134, 1138, 1142, 1135, 1126, 1143, 1136, - 1139, 1139, 1140, 1140, 1141, 1144, 1144, 1145, 1146, 1141, - 1147, 1146, 1148, 1149, 1138, 1151, 1142, 1148, 1150, 1143, - 1150, 1153, 1149, 1154, 1153, 1162, 1155, 1145, 1157, 1156, - 1147, 1155, 1158, 1151, 1156, 1159, 1157, 1158, 1154, 1161, - 1159, 1160, 1160, 1162, 1161, 1163, 1164, 1165, 1167, 1168, - 1170, 1163, 1169, 1164, 1167, 1168, 1170, 1169, 1171, 1172, - - 1165, 1173, 1174, 1174, 1175, 1177, 1178, 1171, 1179, 1180, - 1181, 1183, 1173, 1184, 1179, 1180, 1181, 1183, 1172, 1185, - 1186, 1187, 1188, 1190, 1175, 1177, 1191, 1184, 1192, 1178, - 1189, 1189, 1186, 1184, 1195, 1187, 1193, 1194, 1194, 1185, - 1188, 1193, 1196, 1190, 1198, 54, 1192, 1196, 1199, 1200, - 1201, 1191, 1202, 1199, 1199, 1203, 1204, 1195, 1205, 1201, - 1202, 1212, 1207, 1198, 1207, 1208, 1209, 1200, 1213, 1203, - 1206, 1204, 1209, 1205, 1211, 1206, 1205, 1210, 1206, 1208, - 1212, 1210, 1214, 1215, 1216, 1211, 1217, 1218, 1215, 1220, - 1221, 1217, 1222, 1224, 1213, 1223, 1223, 1224, 1225, 1226, - - 1214, 1228, 1216, 1220, 1229, 1227, 1230, 1218, 1221, 1231, - 1222, 1227, 1232, 1228, 1233, 1242, 1225, 1234, 1226, 1235, - 1230, 1237, 1234, 1229, 1231, 1236, 1235, 1232, 1238, 1240, - 1236, 1239, 1239, 1233, 1241, 1244, 1242, 1238, 1243, 1237, - 1241, 1244, 1245, 1243, 1240, 1246, 1246, 1251, 1245, 1247, - 1247, 1249, 1249, 1250, 1252, 1253, 1251, 1250, 1254, 1255, - 1256, 1256, 1257, 1258, 1260, 1259, 1255, 1261, 1266, 1253, - 1259, 1258, 1252, 1254, 1262, 1264, 1265, 1265, 1260, 1262, - 1262, 1267, 1257, 1263, 1268, 1269, 1261, 1266, 1263, 1263, - 1269, 1270, 1271, 1268, 1274, 1264, 1272, 1273, 1275, 1274, - - 1267, 1276, 1277, 1273, 1280, 1278, 1281, 1276, 1282, 1279, - 1270, 1278, 1271, 1283, 1272, 1279, 1284, 1285, 1286, 1287, - 1287, 1277, 1289, 1280, 1275, 1281, 1288, 1282, 1293, 1288, - 1284, 1294, 1283, 1286, 1289, 1290, 1290, 1291, 1285, 1292, - 1294, 1293, 1291, 1292, 1295, 1296, 1299, 1296, 1298, 1300, - 1301, 1296, 1305, 1298, 1302, 1302, 1304, 1295, 1303, 1306, - 1307, 1299, 1304, 1303, 1296, 1307, 1301, 1305, 1310, 1300, - 1308, 1309, 1306, 1311, 1308, 1309, 1312, 1313, 1314, 1314, - 1316, 1318, 1319, 1313, 1320, 1320, 1321, 1319, 1310, 1322, - 1328, 1311, 1321, 1324, 1324, 1329, 1312, 1326, 1316, 1332, - - 1326, 1333, 1318, 1327, 1327, 1331, 1328, 1335, 1331, 1322, - 1333, 1329, 1334, 1334, 1336, 1337, 1338, 1339, 1341, 1332, - 1343, 1338, 1335, 1340, 1340, 1342, 1344, 1344, 1345, 1346, - 1353, 1339, 1347, 1348, 1337, 1336, 1341, 1347, 1349, 1349, - 1342, 1351, 1345, 1352, 1352, 1343, 1350, 1346, 1348, 1354, - 1350, 1355, 1353, 1356, 1357, 1355, 1359, 1359, 1360, 1357, - 1354, 1351, 1362, 1361, 1363, 1364, 1365, 1365, 1366, 1367, - 1369, 1368, 1356, 1366, 1371, 1370, 1360, 1361, 1363, 1369, - 1370, 1362, 1362, 1372, 1375, 1372, 1378, 1373, 1380, 1367, - 1364, 1368, 1373, 1374, 1371, 1376, 1379, 1379, 1383, 1374, - - 1378, 1376, 1381, 1383, 1375, 1384, 1387, 1380, 1381, 1385, - 1385, 1386, 1386, 1388, 1390, 1389, 1392, 1390, 1391, 1391, - 1387, 1393, 1399, 1400, 1403, 1403, 1400, 1395, 1392, 1384, - 1389, 1388, 1394, 1395, 1396, 1394, 1397, 1398, 1394, 1396, - 1401, 1393, 1398, 1402, 1407, 1397, 1401, 1399, 1402, 1405, - 1394, 1404, 1404, 1406, 1408, 1405, 1409, 1407, 1406, 1410, - 1411, 1412, 1413, 1411, 1414, 1415, 1416, 1412, 1413, 1414, - 1420, 1415, 1408, 1417, 1421, 1409, 1418, 1418, 1417, 1410, - 1419, 1422, 1423, 1424, 1427, 1419, 1425, 1426, 1420, 1416, - 1427, 1428, 1429, 1430, 1421, 1431, 1423, 1424, 1425, 1434, - - 1426, 1422, 1433, 1433, 1435, 1436, 1436, 1430, 1437, 1435, - 1438, 1428, 1429, 1439, 1440, 1442, 1431, 1441, 1443, 1434, - 1445, 1449, 1444, 1437, 1438, 1443, 1441, 1447, 1451, 1451, - 1442, 1444, 1440, 1453, 1444, 1450, 1445, 1439, 1450, 1452, - 1452, 1454, 1447, 1456, 1456, 1453, 1449, 1447, 1455, 1457, - 1458, 1455, 1459, 1460, 1461, 1462, 1463, 1459, 1460, 1454, - 1464, 1466, 1457, 1465, 1469, 1463, 1468, 1468, 1467, 1458, - 1466, 1462, 1465, 1461, 1467, 1465, 1470, 1471, 1472, 1464, - 1473, 1474, 1476, 1477, 1469, 1478, 1478, 1479, 1480, 1470, - 1482, 1482, 1472, 1474, 1481, 1471, 1473, 1480, 1484, 1481, - - 1483, 1477, 1485, 1479, 1486, 1482, 1489, 1476, 1487, 1483, - 1490, 1491, 1483, 1487, 1487, 1493, 1484, 1494, 53, 1492, - 1489, 1493, 1486, 1485, 1492, 1490, 1495, 1495, 1496, 1501, - 1502, 1497, 1498, 1491, 1496, 1494, 1497, 1499, 1498, 1503, - 1504, 1510, 1506, 1499, 1502, 1503, 1508, 1505, 1506, 1501, - 1505, 1511, 1513, 1504, 1508, 1512, 1505, 1522, 1514, 1515, - 1510, 1513, 1516, 1512, 1517, 1518, 1518, 1519, 1520, 1521, - 1511, 1514, 1515, 1519, 1520, 1523, 1516, 1522, 1517, 1524, - 1526, 1525, 1521, 1527, 1528, 1529, 1526, 1518, 1531, 1531, - 1532, 1533, 1534, 1523, 1525, 1533, 1535, 1534, 1524, 1536, - - 1528, 1535, 1537, 1529, 1536, 1527, 1538, 1540, 1541, 1541, - 1532, 1537, 1542, 1543, 1544, 1545, 1545, 1547, 1546, 1554, - 1550, 1551, 1540, 1548, 1547, 1543, 1549, 1561, 1552, 1538, - 1553, 1542, 1546, 1544, 1552, 1548, 1561, 1554, 1549, 1550, - 1555, 1551, 1553, 1556, 1556, 1557, 1555, 1560, 1557, 1558, - 1558, 1562, 1560, 1563, 1563, 1564, 1565, 1562, 1565, 1566, - 1567, 1568, 1566, 1569, 1570, 1571, 1572, 1564, 1575, 1576, - 1571, 1574, 1573, 1575, 1577, 1572, 1581, 1578, 1576, 1580, - 1567, 1569, 1570, 1568, 1573, 1580, 1574, 1579, 1579, 1582, - 1583, 1576, 1578, 1584, 1577, 1586, 1585, 1581, 1585, 1587, - - 1587, 1588, 1588, 1589, 1589, 1590, 1583, 1593, 1582, 1586, - 1594, 1586, 1601, 1584, 1591, 1591, 1592, 1592, 1595, 1595, - 1596, 1597, 1603, 1598, 1596, 1590, 1598, 1597, 1593, 1600, - 1601, 1594, 1602, 1604, 1609, 1600, 1604, 1607, 1602, 1605, - 1605, 1606, 1606, 1607, 1608, 1610, 1611, 1603, 1612, 1616, - 1615, 1616, 1611, 1621, 1609, 1614, 1608, 1608, 1608, 1617, - 1614, 1614, 1618, 1608, 1615, 1610, 1619, 1620, 1612, 1622, - 1617, 1624, 1619, 1621, 1623, 1623, 1620, 1618, 1625, 1625, - 1626, 1627, 1628, 1628, 1629, 1629, 1630, 1633, 1633, 1634, - 1622, 1638, 1635, 1637, 1640, 1640, 1641, 1624, 1639, 1645, - - 1626, 1635, 1637, 1627, 1639, 1642, 1630, 1644, 1643, 1646, - 1646, 1647, 1638, 1648, 1634, 1643, 1644, 1641, 1650, 1652, - 1642, 1651, 1654, 1650, 1653, 1645, 1655, 1651, 1654, 1648, - 1657, 1653, 1655, 1656, 1656, 1657, 1658, 1647, 1659, 1652, - 1660, 1661, 1663, 1662, 1664, 1658, 1662, 1665, 1665, 1666, - 1668, 1667, 1669, 1661, 1671, 1666, 1669, 1672, 1659, 1660, - 1663, 1673, 1674, 1674, 1675, 1668, 1673, 1676, 1678, 1679, - 1664, 1667, 1669, 1679, 1671, 1680, 1681, 1682, 1682, 1672, - 1683, 1680, 1676, 1675, 1683, 1681, 1684, 1678, 1685, 1685, - 1686, 1687, 1692, 1688, 1689, 1690, 1691, 1684, 1692, 1689, - - 1697, 1694, 1684, 1693, 1697, 1687, 1694, 1695, 1695, 1696, - 1696, 1686, 1688, 1699, 1700, 1690, 1691, 1701, 1693, 1702, - 1702, 1704, 1699, 1703, 1703, 1700, 1704, 1704, 1705, 1706, - 1700, 1707, 1709, 1708, 1705, 1706, 1710, 1701, 1708, 1712, - 1714, 1713, 1710, 1715, 1709, 1713, 1719, 1716, 1717, 1718, - 1721, 1712, 1714, 1716, 1722, 1718, 1723, 1707, 1719, 1729, - 1725, 1723, 1721, 1725, 1726, 1726, 1727, 1727, 1715, 1730, - 1717, 1728, 1728, 1722, 1731, 1730, 1732, 1733, 1734, 1729, - 1731, 1732, 1738, 1733, 1736, 1738, 1739, 1734, 1742, 1736, - 1740, 1740, 1743, 1746, 1744, 1745, 1745, 1750, 1739, 1744, - - 1742, 1747, 1746, 1748, 1743, 1751, 1747, 1752, 1748, 1749, - 1749, 1753, 1754, 1755, 1751, 1756, 1754, 1750, 1755, 1757, - 1760, 1756, 1759, 1759, 1764, 1752, 1761, 1762, 1762, 1765, - 1753, 1763, 1766, 1757, 1759, 1761, 1764, 1766, 1760, 1767, - 1763, 1770, 1770, 1772, 1773, 1774, 1772, 1776, 1778, 1777, - 1765, 1779, 1767, 1786, 1778, 1780, 1780, 1781, 1783, 1781, - 1773, 1774, 1776, 1777, 1782, 1782, 1783, 1785, 1779, 1787, - 1787, 1788, 1789, 1786, 1785, 1790, 1791, 1792, 1793, 1794, - 1788, 1797, 1800, 1798, 1795, 1799, 1799, 1790, 1791, 1792, - 1795, 1801, 1803, 1789, 1794, 1798, 1802, 1803, 1804, 1802, - - 1800, 1797, 1806, 1795, 1793, 1808, 1807, 1806, 1807, 1809, - 1810, 1801, 1812, 1814, 1809, 1815, 1816, 1810, 1804, 1818, - 1817, 1812, 1817, 1808, 1815, 1820, 1821, 1820, 1816, 1822, - 1822, 1814, 1823, 1825, 1824, 1825, 1826, 1827, 1818, 1824, - 1821, 1826, 1827, 1828, 1829, 1830, 1832, 1831, 1833, 1835, - 1839, 1830, 1831, 1836, 1837, 1837, 1833, 1840, 1823, 1832, - 1841, 1828, 1838, 1838, 1829, 1839, 1841, 1836, 1835, 1842, - 1843, 1844, 1843, 1846, 1842, 1845, 1845, 1840, 1851, 1844, - 1847, 1847, 1848, 1848, 1849, 1846, 1850, 1844, 1853, 1855, - 1854, 1850, 1854, 1849, 1858, 1860, 1851, 1853, 1856, 1857, - - 1853, 1865, 1864, 1856, 1856, 1868, 1858, 1860, 1857, 1861, - 1855, 1862, 1869, 1866, 1861, 1864, 1862, 1867, 1867, 1870, - 1871, 1865, 1866, 1868, 1872, 1874, 1875, 1876, 1877, 1885, - 1869, 1878, 1879, 1877, 1871, 1870, 1878, 1874, 1875, 1872, - 1882, 1879, 1884, 1886, 1887, 1888, 1882, 1876, 1884, 1890, - 1890, 1889, 1885, 1893, 1891, 1892, 1892, 1894, 1886, 1882, - 1889, 1894, 1887, 1891, 1895, 1896, 1902, 48, 1897, 1895, - 1888, 1898, 1893, 1897, 1897, 1899, 1900, 1898, 1896, 1900, - 1901, 1899, 1905, 1905, 1906, 1906, 1902, 1907, 1901, 1908, - 1908, 1909, 1909, 1910, 1911, 1912, 1907, 1913, 1923, 1906, - - 1920, 1912, 1913, 1914, 1914, 1910, 1915, 1915, 1916, 1917, - 1906, 1924, 1911, 1916, 1919, 1917, 1924, 1921, 1919, 1925, - 1920, 1921, 1926, 1923, 1927, 1928, 1930, 1930, 1929, 1927, - 1931, 1932, 1934, 1933, 1931, 1935, 1936, 1926, 1933, 1938, - 1937, 1939, 1925, 1928, 1929, 1937, 1932, 1935, 1940, 1940, - 1943, 1944, 1938, 1942, 1945, 1936, 1946, 1947, 1934, 1939, - 1948, 1942, 1949, 1950, 1952, 1953, 1953, 43, 1954, 1943, - 1944, 1954, 1955, 1956, 1949, 1957, 1947, 1945, 1961, 1952, - 1946, 1948, 1958, 1958, 1950, 1955, 1962, 1956, 1957, 1959, - 1959, 1960, 1960, 1961, 1963, 1963, 1964, 1965, 1965, 1962, - - 1969, 1966, 1968, 1970, 1971, 1964, 1966, 1968, 1964, 1972, - 1972, 1973, 1973, 1974, 1975, 1975, 1971, 1976, 1977, 1977, - 1969, 1978, 1979, 1970, 1980, 1980, 1982, 1979, 1981, 1981, - 1983, 1984, 1974, 1985, 1989, 1976, 1978, 1987, 1991, 1983, - 1982, 14, 1987, 1988, 1988, 1984, 1990, 1990, 1992, 1994, - 1994, 1996, 1985, 1989, 1992, 1993, 1991, 1997, 1993, 1995, - 1995, 1998, 1999, 1999, 2001, 1994, 2002, 2003, 2006, 2004, - 1996, 2007, 1997, 2004, 2005, 2005, 2008, 2010, 2010, 2011, - 1998, 2012, 2003, 2013, 2001, 2014, 2007, 2006, 2012, 2002, - 2015, 2008, 2016, 2017, 2017, 2018, 2019, 2013, 2019, 2011, - - 2022, 2023, 2020, 2014, 2018, 2020, 2023, 2025, 2015, 2024, - 2026, 2028, 2022, 2027, 2024, 2029, 2028, 2035, 2016, 2031, - 2020, 2032, 2020, 2026, 2031, 2033, 2032, 2034, 2039, 2036, - 2040, 2037, 2025, 2034, 2027, 2036, 2037, 2038, 2035, 2042, - 2033, 2029, 2038, 2040, 2041, 2043, 2044, 2041, 2042, 2045, - 2046, 2047, 2051, 2039, 2043, 2044, 2048, 2047, 2045, 2049, - 2053, 2055, 2048, 2049, 2046, 2054, 2054, 2055, 2057, 2053, - 2056, 2056, 2051, 2059, 2063, 2060, 2061, 2061, 2062, 2056, - 2065, 2066, 2068, 2063, 2067, 2072, 2074, 2074, 2057, 2059, - 2057, 2060, 2065, 2062, 2068, 2070, 2071, 2066, 2070, 2067, - - 2073, 2071, 2075, 2075, 2079, 2072, 2077, 2077, 2078, 2079, - 2080, 2078, 2073, 2081, 2082, 2082, 2080, 2083, 2085, 2081, - 2084, 2084, 2086, 2087, 2088, 2088, 2091, 2095, 2090, 2091, - 2085, 2083, 2090, 2092, 2092, 2093, 2086, 2094, 2098, 2096, - 2093, 2101, 2087, 2096, 2097, 2097, 2094, 2095, 2100, 2102, - 2103, 2098, 2104, 2100, 2105, 2106, 2104, 2107, 2109, 2108, - 2106, 2101, 2111, 2107, 2103, 2108, 2112, 2113, 2115, 2102, - 2115, 2112, 2114, 2113, 2105, 2118, 2109, 2121, 2111, 13, - 2114, 2119, 2119, 2120, 2122, 2122, 2120, 2124, 2125, 2118, - 2126, 2124, 2127, 2127, 2125, 2128, 2131, 2131, 2133, 2135, - - 2139, 2136, 2126, 2121, 2128, 2139, 2140, 2141, 2149, 2142, - 2143, 2143, 2141, 2135, 2142, 2147, 2133, 2136, 2145, 2145, - 2150, 2147, 2148, 2148, 2149, 2151, 2153, 2154, 2155, 2155, - 2151, 2157, 2140, 2159, 2160, 2158, 2162, 2162, 2163, 2154, - 2157, 2158, 2150, 2164, 2169, 2153, 2166, 2166, 2177, 2160, - 2168, 2159, 2167, 2167, 2170, 2168, 2172, 2163, 2172, 2171, - 2173, 2164, 2169, 2170, 2171, 2174, 2175, 2176, 2177, 2184, - 2178, 2268, 2176, 2268, 2173, 2178, 2179, 2179, 2175, 2174, - 2180, 2180, 2181, 2181, 2182, 2182, 2183, 2184, 2185, 2186, - 2186, 2187, 2187, 2185, 2188, 2189, 2190, 2191, 2183, 2192, - - 2192, 2193, 2194, 2194, 2195, 2195, 2188, 2189, 2196, 2197, - 2198, 2199, 2200, 2191, 2202, 2203, 2190, 2198, 2206, 2196, - 2193, 2197, 2201, 2199, 2204, 2204, 2207, 2201, 2205, 2208, - 2209, 2210, 2200, 2213, 2202, 2203, 2214, 2205, 2211, 2211, - 2212, 2216, 2208, 2217, 2206, 2210, 2207, 2218, 2213, 2212, - 2219, 2214, 2220, 2219, 2209, 2221, 2222, 2223, 2223, 2216, - 2221, 2222, 2224, 2224, 2230, 2217, 2220, 2225, 2225, 2231, - 2218, 2227, 2227, 2229, 2229, 2232, 2234, 2235, 2236, 2237, - 2231, 2238, 2230, 2239, 2240, 2241, 2241, 2243, 2243, 2244, - 2238, 2250, 2245, 0, 2232, 2235, 2234, 2246, 2246, 2237, - - 2236, 2245, 2240, 2239, 2248, 2249, 2249, 2251, 2252, 2250, - 2254, 2244, 2253, 2248, 2255, 2252, 2257, 2256, 2258, 2258, - 2259, 2259, 2261, 2260, 2262, 2251, 2263, 2253, 2254, 2260, - 2265, 2264, 2255, 2256, 2266, 2257, 2264, 2267, 2273, 2262, - 2261, 2276, 2267, 2269, 2269, 2263, 2270, 2275, 2270, 2277, - 2265, 2271, 2271, 2278, 2266, 2280, 2275, 2273, 2279, 2281, - 2276, 2277, 2284, 2279, 2285, 2286, 2286, 2285, 2287, 2288, - 2289, 2289, 2290, 2278, 2292, 2280, 2290, 2293, 2281, 2294, - 2294, 2293, 2284, 2287, 2295, 2297, 2298, 2288, 2301, 2292, - 2299, 2299, 2302, 2305, 2303, 2304, 2304, 2295, 2303, 2307, - - 2301, 2302, 2306, 2306, 2307, 2297, 2298, 2308, 2309, 2310, - 2311, 2311, 2305, 2316, 2316, 2317, 2308, 2318, 2318, 2319, - 2320, 2310, 2321, 2324, 2309, 2322, 2323, 2323, 2326, 2326, - 2329, 2321, 2319, 2320, 2322, 2329, 2330, 2317, 2324, 2331, - 2332, 2330, 2333, 2334, 2336, 2332, 2335, 2614, 2338, 2339, - 2333, 2340, 2336, 2331, 2339, 2335, 2340, 2341, 2342, 2342, - 2343, 2343, 2334, 2338, 2344, 2345, 2346, 2347, 2348, 2614, - 2345, 2344, 2341, 2349, 2348, 2350, 2350, 2351, 2349, 2353, - 2353, 2352, 2354, 2354, 2346, 2347, 2352, 2357, 2358, 2358, - 2359, 2360, 2351, 2359, 2361, 2363, 2360, 2360, 2362, 2361, - - 2357, 2363, 2364, 2362, 2365, 2366, 2364, 2367, 2368, 2365, - 2369, 2370, 2372, 2375, 2366, 2369, 2368, 2372, 2373, 2377, - 2379, 2373, 2367, 2370, 2377, 2375, 2378, 2380, 2381, 2387, - 2382, 2378, 2383, 2383, 2384, 2388, 2393, 2381, 2379, 2382, - 2380, 2389, 2391, 2384, 2390, 2390, 2395, 2392, 2387, 2394, - 2394, 2393, 2397, 2399, 2400, 2388, 2392, 2402, 2400, 0, - 2389, 2391, 2401, 2401, 2403, 2395, 2404, 2397, 2405, 2407, - 2403, 2410, 2404, 2399, 2405, 2406, 2406, 2407, 2408, 2411, - 2410, 2413, 2402, 2408, 2414, 2413, 2415, 2417, 2417, 2418, - 2418, 2427, 2411, 2419, 2419, 2421, 2421, 2423, 2414, 2422, - - 2432, 2415, 2423, 2422, 2425, 2425, 2429, 2428, 2430, 2433, - 2433, 2427, 2428, 2430, 2430, 2435, 2435, 2438, 2429, 2440, - 2432, 2436, 2436, 2437, 2442, 2446, 2437, 2443, 2443, 2448, - 2438, 2444, 2444, 2445, 2445, 2447, 2447, 2440, 2449, 2450, - 2446, 2451, 2448, 2457, 2442, 2452, 2452, 2451, 2453, 2456, - 2458, 2459, 2453, 2450, 2456, 2456, 2449, 2460, 2461, 2462, - 2472, 2463, 2477, 2460, 2461, 2463, 2457, 2464, 2464, 2467, - 2458, 2459, 2469, 2470, 2467, 2473, 2470, 2474, 2473, 2476, - 2469, 2475, 2477, 2480, 2462, 2472, 2475, 2478, 2479, 2479, - 2481, 2483, 2484, 2484, 2474, 2474, 2492, 2476, 2481, 2482, - - 2489, 2478, 2480, 2491, 2482, 2482, 2485, 2485, 2486, 2486, - 2483, 2487, 2487, 2488, 2488, 2490, 2489, 2493, 2494, 2495, - 2490, 0, 2492, 2491, 2497, 2497, 2493, 2498, 2499, 2502, - 2498, 2501, 2501, 2503, 2503, 2504, 2502, 2511, 2494, 2495, - 2504, 2506, 2506, 2507, 2508, 2509, 2499, 2512, 2512, 2514, - 2515, 2517, 2507, 2508, 2509, 2511, 2513, 2516, 2514, 2518, - 2513, 2522, 2516, 2516, 2517, 2515, 2522, 2526, 2518, 2523, - 2523, 2525, 2525, 2527, 2528, 2530, 2531, 2534, 2535, 2536, - 2537, 2526, 2539, 2541, 2530, 2543, 2537, 2535, 2531, 2559, - 2543, 2544, 2528, 0, 2539, 2559, 2544, 2546, 2527, 2536, - - 2545, 2545, 2534, 2548, 2541, 2555, 2546, 2556, 2548, 2549, - 2549, 2551, 2551, 2549, 2552, 2552, 2553, 2553, 2554, 2557, - 2562, 2562, 2563, 2560, 2557, 2555, 2556, 2554, 2560, 2561, - 2564, 2565, 2566, 2567, 2561, 2568, 2565, 2569, 2569, 2567, - 2563, 2572, 2571, 2573, 2575, 2575, 2577, 2582, 2579, 2578, - 2566, 2564, 2579, 2581, 2585, 2580, 2572, 2583, 2587, 2577, - 2568, 2571, 2578, 2573, 2580, 2583, 2582, 2584, 2592, 2581, - 2586, 2586, 2584, 2589, 2589, 2590, 2590, 2587, 2594, 2594, - 2585, 2596, 2597, 2598, 2602, 2599, 2601, 2601, 2603, 2592, - 2599, 2604, 2606, 2606, 2607, 2608, 2608, 2596, 2597, 2598, - - 2611, 2612, 2615, 2615, 2602, 2616, 2616, 2612, 2607, 2613, - 2604, 2603, 2617, 2619, 2613, 2618, 2618, 2620, 2621, 2622, - 2611, 2623, 2624, 2625, 2619, 2622, 2620, 2626, 2626, 2632, - 2627, 2633, 2617, 2627, 2624, 2618, 2628, 2628, 2621, 2634, - 2623, 2632, 2637, 2625, 2638, 2634, 2635, 2635, 2637, 2636, - 2640, 2633, 2636, 2641, 2642, 2640, 2648, 2643, 2641, 2644, - 2645, 2645, 2638, 2643, 2647, 2647, 2651, 2651, 2654, 2649, - 2652, 2652, 2666, 2642, 2653, 2648, 2644, 2644, 2649, 2653, - 2655, 2664, 2654, 2656, 2656, 2655, 2657, 2657, 2658, 2658, - 2659, 2661, 2661, 2667, 2666, 2659, 2668, 2669, 2669, 2672, - - 2664, 2671, 2671, 2673, 2677, 2674, 2675, 2675, 2678, 2740, - 2677, 2679, 2680, 2672, 2674, 2667, 2740, 2680, 2668, 2683, - 2683, 2685, 2685, 2673, 2686, 2687, 2688, 2690, 2678, 2686, - 2679, 2689, 2688, 2691, 2691, 2690, 2692, 2694, 2695, 2687, - 2696, 2692, 2697, 2689, 2698, 2696, 2701, 2700, 2702, 2703, - 2698, 2705, 2704, 0, 2697, 2700, 2706, 2694, 2695, 2707, - 2717, 2708, 2711, 2712, 2717, 2701, 2708, 2705, 2702, 2703, - 2704, 2715, 2715, 2706, 2706, 2727, 2712, 2716, 2716, 2727, - 2707, 2733, 2711, 2721, 2721, 2723, 2723, 2724, 2724, 2730, - 2724, 2725, 2725, 2734, 2725, 2726, 2726, 2731, 2726, 2729, - - 2729, 2733, 2739, 2735, 2736, 2736, 2741, 2730, 2735, 2742, - 2741, 2731, 2745, 2734, 2743, 2746, 2747, 2747, 2742, 2748, - 2748, 2749, 2749, 2750, 2746, 2752, 2751, 2739, 2755, 2743, - 2745, 2751, 2756, 2754, 2752, 2753, 2757, 2752, 2750, 2754, - 2753, 2753, 2760, 2758, 2759, 2761, 2761, 2756, 2758, 2759, - 2762, 2765, 2765, 2755, 2831, 2762, 2831, 2757, 2768, 2768, - 2780, 2760, 2769, 2769, 2770, 2770, 2771, 2771, 2772, 2772, - 2773, 2773, 2774, 2774, 2776, 2777, 2777, 2778, 2779, 2782, - 2780, 2783, 2783, 2776, 2784, 2786, 2778, 2785, 2787, 2787, - 2779, 2788, 2789, 2789, 2792, 2794, 2796, 2786, 2782, 2784, - - 2785, 2793, 2795, 2795, 2793, 2798, 2788, 2799, 2798, 2800, - 2801, 2802, 2792, 2799, 2796, 2801, 2803, 2804, 2817, 2815, - 2806, 2794, 2815, 2800, 2818, 2818, 2819, 2819, 2820, 2820, - 2802, 2817, 2822, 2804, 2803, 2806, 2823, 2824, 2825, 2826, - 2828, 2824, 2830, 2829, 2832, 2823, 2835, 2830, 2833, 2833, - 2836, 2834, 2838, 2826, 2829, 2822, 2837, 2840, 2825, 2832, - 2839, 2841, 2842, 2828, 2834, 2835, 2846, 2842, 2836, 2847, - 2848, 2848, 2837, 2849, 2854, 2839, 2855, 2838, 2840, 2859, - 2846, 2841, 2849, 2850, 2850, 2851, 2851, 2852, 2852, 2847, - 2853, 2853, 2856, 2854, 2857, 2856, 2855, 2858, 2860, 2857, - - 2861, 2862, 2858, 2863, 2859, 2865, 2861, 2864, 2864, 2866, - 2867, 2867, 2869, 2860, 2871, 2862, 2874, 2874, 2875, 2875, - 2865, 2876, 2877, 2863, 2878, 2879, 2880, 2869, 2866, 2876, - 2878, 2879, 2871, 2881, 2882, 2883, 2883, 2885, 2888, 2886, - 2880, 2877, 2891, 2889, 2892, 2893, 2881, 2889, 2894, 2892, - 2895, 2896, 2888, 2882, 2900, 2897, 0, 2901, 2885, 2886, - 2897, 2894, 2891, 2895, 2893, 2902, 2898, 2903, 2903, 2910, - 2896, 2898, 2904, 2905, 2900, 2901, 0, 2904, 2907, 2905, - 2906, 2906, 2908, 2907, 2902, 2909, 2911, 2908, 2910, 2917, - 2909, 2913, 2911, 2912, 2912, 2916, 2913, 2914, 2914, 2916, - - 2918, 2919, 2920, 2921, 2922, 2923, 2930, 2918, 2917, 2921, - 2925, 2925, 2927, 2927, 2929, 2928, 2931, 2932, 2923, 2929, - 2919, 2920, 2937, 2922, 2928, 2930, 2934, 2928, 2933, 2933, - 2932, 2934, 2935, 2938, 2938, 2931, 2939, 2940, 2940, 2941, - 2941, 2942, 2943, 2944, 2951, 2935, 2942, 2946, 2937, 2943, - 2945, 2945, 2946, 2949, 2947, 2939, 2947, 2948, 2948, 2950, - 2949, 2953, 2944, 2951, 2952, 2956, 2950, 2955, 2955, 2952, - 2958, 2959, 2960, 2961, 2965, 2958, 2959, 2962, 2962, 2966, - 2953, 2964, 2964, 2969, 2956, 2967, 2967, 2968, 2968, 2979, - 2969, 2960, 2961, 2965, 2971, 2971, 2972, 2972, 2966, 2973, - - 2975, 2980, 2978, 2981, 2981, 2975, 2973, 2978, 2979, 2982, - 2982, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2980, 2986, 2986, 2986, 2986, 2986, 2986, 2986, 2987, 2987, - 2987, 2987, 2987, 2987, 2987, 2988, 2988, 2988, 2988, 2988, - 2988, 2988, 2989, 2989, 2989, 2989, 2989, 2989, 2989, 2990, - 2990, 2990, 2990, 2990, 2990, 2990, 2992, 2992, 0, 2992, - 2992, 2992, 2992, 2993, 2993, 0, 0, 0, 2993, 2993, - 2994, 2994, 0, 0, 2994, 0, 2994, 2995, 0, 0, - 0, 0, 0, 2995, 2996, 2996, 0, 0, 0, 2996, - 2996, 2997, 0, 0, 0, 0, 0, 2997, 2998, 2998, - - 0, 2998, 2998, 2998, 2998, 2999, 2999, 0, 2999, 2999, - 2999, 2999, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, 2985, - 2985, 2985, 2985 + 1099, 1092, 1097, 1098, 54, 1099, 1091, 1090, 1095, 1101, + 1093, 1100, 1108, 1096, 1111, 1100, 1102, 1102, 1101, 1103, + 1103, 1104, 1103, 1101, 1106, 1101, 1107, 1101, 1106, 1101, + 1108, 1109, 1104, 1110, 1113, 1114, 1111, 1112, 1110, 1110, + 1109, 1107, 1112, 1115, 1114, 1116, 1117, 1118, 1113, 1119, + + 1119, 1120, 1121, 1118, 1123, 1125, 1122, 1126, 1124, 1120, + 1117, 1122, 1115, 1129, 1116, 1127, 1121, 1124, 1123, 1135, + 1127, 1128, 1128, 1125, 1130, 1130, 1134, 1131, 1129, 1131, + 1133, 1134, 1126, 1133, 1136, 1137, 1137, 1138, 1135, 1139, + 1139, 1140, 1140, 1136, 1141, 1142, 1143, 1144, 1144, 1141, + 1145, 1146, 1147, 1148, 1146, 1149, 1151, 1138, 1148, 1150, + 1153, 1150, 1154, 1153, 1149, 1165, 1142, 1143, 1155, 1162, + 1145, 1156, 1147, 1155, 1151, 1157, 1156, 1154, 1165, 1158, + 1159, 1160, 1160, 1157, 1158, 1159, 1161, 1162, 1163, 1164, + 1169, 1161, 1167, 1168, 1163, 1169, 1164, 1170, 1167, 1168, + + 1171, 1172, 1173, 1170, 1174, 1174, 1175, 1177, 1178, 1171, + 1179, 1180, 1181, 1173, 1184, 1183, 1179, 1180, 1181, 1185, + 1172, 1183, 1187, 1186, 1188, 1190, 1175, 1177, 1184, 1189, + 1189, 1178, 1191, 1192, 1184, 1186, 1187, 1195, 1193, 1185, + 1194, 1194, 1188, 1193, 1196, 1190, 1198, 1199, 1200, 1196, + 1201, 1192, 1199, 1199, 1202, 1203, 1204, 1191, 1205, 1201, + 1195, 1207, 1202, 1207, 1208, 1198, 1200, 1206, 1209, 1203, + 1212, 1204, 1206, 1205, 1209, 1206, 1205, 1210, 1208, 1211, + 1213, 1210, 1214, 1215, 1216, 1218, 1217, 1220, 1215, 1212, + 1211, 1217, 1221, 1222, 1223, 1223, 1225, 1226, 1227, 1224, + + 1214, 1220, 1216, 1224, 1227, 1218, 1213, 1228, 1229, 1230, + 1221, 1222, 1233, 1231, 1225, 1232, 1226, 1234, 1235, 1228, + 1237, 1236, 1234, 1230, 1238, 1235, 1236, 1229, 1231, 1240, + 1232, 1233, 1242, 1238, 1239, 1239, 1241, 1244, 1237, 53, + 1243, 1245, 1241, 1244, 1240, 1243, 1252, 1245, 1246, 1246, + 1247, 1247, 1250, 1242, 1249, 1249, 1250, 1251, 1253, 1254, + 1255, 1256, 1256, 1257, 1252, 1258, 1251, 1255, 1260, 1261, + 1259, 1262, 1253, 1258, 1254, 1259, 1262, 1262, 1264, 1263, + 1265, 1265, 1260, 1257, 1263, 1263, 1266, 1267, 1261, 1269, + 1268, 1270, 1271, 1272, 1269, 1273, 1275, 1274, 1264, 1268, + + 1277, 1273, 1274, 1276, 1280, 1266, 1267, 1278, 1279, 1276, + 1270, 1272, 1271, 1278, 1279, 1281, 1282, 1283, 1284, 1277, + 1285, 1289, 1275, 1280, 1286, 1287, 1287, 1288, 1290, 1290, + 1288, 1294, 1284, 1289, 1281, 1282, 1283, 1291, 1291, 1286, + 1292, 1285, 1293, 1295, 1294, 1292, 1293, 1296, 1297, 1300, + 1297, 1299, 1295, 1301, 1297, 1302, 1299, 1303, 1303, 1305, + 1296, 1304, 1306, 1307, 1300, 1305, 1304, 1297, 1309, 1308, + 1311, 1302, 1309, 1301, 1308, 1310, 1307, 1306, 1312, 1310, + 1313, 1314, 1315, 1315, 1317, 1319, 1320, 1314, 1321, 1321, + 1311, 1320, 1322, 1323, 1325, 1325, 1312, 1333, 1322, 1329, + + 1313, 1327, 1317, 1330, 1327, 1334, 1319, 1328, 1328, 1332, + 1335, 1335, 1332, 1323, 1334, 1329, 1336, 1333, 1337, 1330, + 1339, 1338, 1340, 1341, 1341, 1339, 1342, 1343, 1344, 1345, + 1345, 1336, 1346, 1347, 1349, 1352, 1340, 1351, 1348, 1337, + 1338, 1351, 1343, 1348, 1342, 1354, 1346, 1350, 1350, 1349, + 1355, 1347, 1357, 1344, 1356, 1352, 1353, 1353, 1356, 1358, + 1361, 1355, 1360, 1360, 1358, 1362, 1363, 1354, 1364, 1365, + 1367, 1357, 1366, 1366, 1370, 1367, 1368, 1369, 1361, 1362, + 1372, 1376, 1364, 1370, 1371, 1363, 1363, 1374, 1373, 1371, + 1373, 1379, 1374, 1375, 1365, 1381, 1368, 1369, 1377, 1375, + + 1372, 1376, 1380, 1380, 1377, 1379, 1382, 1385, 1384, 1386, + 1386, 1388, 1382, 1384, 1381, 1387, 1387, 1389, 1390, 1391, + 1392, 1392, 1391, 1394, 1393, 1388, 1395, 1400, 1396, 1395, + 1398, 1385, 1395, 1390, 1396, 1389, 1393, 1397, 1401, 1398, + 1399, 1401, 1397, 1394, 1395, 1399, 1403, 1402, 1404, 1404, + 1406, 1403, 1400, 1402, 1405, 1405, 1406, 1407, 1408, 1409, + 1410, 1411, 1407, 1412, 1413, 1417, 1412, 1414, 1421, 1415, + 1413, 1408, 1416, 1414, 1415, 1418, 1422, 1409, 1416, 1410, + 1418, 1411, 1419, 1419, 1420, 1423, 1421, 1424, 1417, 1420, + 1425, 1426, 1428, 1427, 1429, 1430, 1422, 1431, 1428, 1432, + + 1440, 1424, 1435, 1426, 1425, 1423, 1427, 1434, 1434, 1437, + 1437, 1431, 1436, 1438, 1429, 1430, 1439, 1436, 1441, 1443, + 1432, 1446, 1435, 1442, 1440, 1448, 1444, 1450, 1438, 1445, + 1439, 1455, 1442, 1444, 1443, 48, 1441, 1446, 1445, 1451, + 1448, 1445, 1451, 1452, 1452, 1448, 1453, 1453, 1454, 1455, + 1456, 1458, 1450, 1456, 1457, 1457, 1459, 1460, 1461, 1462, + 1454, 1463, 1460, 1461, 1458, 1464, 1465, 1466, 1469, 1469, + 1470, 1467, 1474, 1471, 1464, 1459, 1466, 1463, 1462, 1466, + 1467, 1468, 1472, 1473, 1475, 1465, 1471, 1468, 1474, 1478, + 1470, 1479, 1480, 1480, 1481, 1482, 1475, 1473, 1483, 1485, + + 1472, 1484, 1484, 1483, 1482, 1486, 1487, 1488, 1485, 1479, + 1481, 1485, 1489, 1492, 1478, 1491, 1484, 1489, 1489, 1493, + 1496, 1494, 43, 1486, 1495, 1488, 1494, 1487, 1492, 1491, + 1495, 1497, 1497, 1498, 1503, 1499, 1500, 1501, 1496, 1498, + 1499, 1493, 1500, 1501, 1504, 1505, 1506, 1507, 1512, 1508, + 1507, 1505, 1510, 1513, 1503, 1508, 1507, 1514, 1504, 1506, + 1510, 1515, 1516, 1517, 1518, 1514, 1519, 1512, 1520, 1520, + 1515, 1521, 1513, 1522, 1523, 1516, 1517, 1521, 1518, 1522, + 1519, 1524, 1525, 1526, 1527, 1528, 1529, 1523, 1530, 1531, + 1520, 1528, 1533, 1533, 1534, 1535, 1540, 1527, 1536, 1535, + + 1525, 1524, 1526, 1536, 1530, 1537, 1538, 1531, 1529, 1539, + 1537, 1538, 1542, 1544, 1534, 1543, 1543, 1545, 1539, 1540, + 1546, 1547, 1547, 1548, 1549, 1552, 1550, 1542, 1551, 1545, + 1553, 1549, 1544, 1555, 1556, 1554, 1557, 1548, 1550, 1546, + 1551, 1554, 1557, 14, 1552, 1555, 1558, 1558, 1559, 1563, + 1553, 1559, 1556, 1560, 1560, 1562, 1564, 1566, 1563, 1567, + 1562, 1567, 1564, 1565, 1565, 1568, 1569, 1570, 1568, 1566, + 1571, 1573, 1572, 1574, 1577, 1575, 1573, 1576, 1579, 1577, + 1580, 1583, 1574, 1585, 1578, 1582, 1569, 1575, 1571, 1570, + 1572, 1582, 1576, 1578, 1584, 1580, 1581, 1581, 1579, 1585, + + 1586, 1587, 1583, 1587, 1592, 1588, 1578, 1589, 1589, 1590, + 1590, 1591, 1591, 1584, 1593, 1593, 1594, 1594, 1595, 1588, + 1586, 1588, 1596, 1598, 1592, 1597, 1597, 1598, 1599, 1600, + 1602, 1603, 1600, 1605, 1599, 1604, 1602, 1606, 1610, 1595, + 1606, 1604, 1609, 1596, 1607, 1607, 1608, 1608, 1609, 1603, + 1610, 1610, 1610, 1611, 1612, 1613, 1614, 1610, 1605, 1616, + 1618, 1613, 1618, 1617, 1616, 1616, 1620, 1619, 1623, 1621, + 1622, 1624, 1626, 1611, 1612, 1621, 1614, 1617, 1619, 1622, + 1628, 1620, 1625, 1625, 1627, 1627, 1629, 1632, 1623, 1630, + 1630, 1636, 1624, 1631, 1631, 1635, 1635, 1637, 1626, 1640, + + 1628, 1639, 1643, 1641, 1642, 1642, 1637, 1632, 1629, 1641, + 1639, 1644, 1645, 1646, 1647, 1649, 1636, 1648, 1648, 1645, + 1640, 1650, 1646, 1643, 1652, 1653, 1644, 1654, 1655, 1652, + 1656, 1653, 1657, 1658, 1658, 1655, 1656, 1650, 1657, 1659, + 1647, 1649, 1660, 1661, 1659, 1662, 1663, 1654, 1665, 1664, + 1666, 1660, 1664, 1667, 1667, 1668, 1670, 1669, 1663, 1673, + 1674, 1668, 1675, 1661, 1662, 1671, 1665, 1675, 1677, 1671, + 1688, 1670, 1676, 1676, 1678, 1680, 1666, 1669, 13, 1673, + 1681, 1683, 1674, 1690, 1681, 1671, 1682, 1677, 1686, 1678, + 1683, 1688, 1682, 1685, 1680, 1684, 1684, 1685, 1689, 1686, + + 1687, 1687, 1690, 1691, 1686, 1692, 1693, 1694, 1691, 1695, + 1696, 1701, 1689, 1694, 1703, 1696, 1697, 1697, 1698, 1698, + 1701, 1702, 1709, 1699, 1695, 1692, 1693, 1699, 1704, 1704, + 1705, 1705, 1702, 1706, 1703, 1707, 1708, 1702, 1706, 1706, + 1710, 1707, 1708, 1711, 1712, 1710, 1714, 1715, 1709, 1716, + 1712, 1715, 1717, 1718, 1719, 1711, 1720, 1721, 1714, 1718, + 1723, 1716, 1720, 1724, 1727, 1725, 1731, 1727, 1740, 1721, + 1725, 1740, 1723, 1728, 1728, 0, 1719, 1717, 1729, 1729, + 1730, 1730, 1724, 1732, 1733, 1735, 1731, 1734, 1736, 1732, + 1733, 1735, 1734, 1738, 1741, 1742, 1742, 1736, 1738, 1744, + + 1745, 1748, 1746, 1747, 1747, 1752, 1741, 1746, 1749, 1750, + 1748, 1744, 1745, 1749, 1750, 1751, 1751, 1753, 1754, 1755, + 1756, 1759, 1757, 1758, 1756, 1752, 1753, 1757, 1762, 1758, + 1761, 1761, 1763, 1764, 1764, 1759, 1754, 1766, 1755, 1765, + 1767, 1763, 1761, 1769, 1774, 1768, 1762, 1774, 1765, 1766, + 1768, 1772, 1772, 1775, 1776, 0, 1769, 1778, 1780, 1779, + 1781, 1767, 1782, 1782, 1780, 1783, 1788, 1783, 1785, 1775, + 1776, 1787, 1778, 1779, 1784, 1784, 1785, 1781, 1787, 1789, + 1789, 1790, 1791, 1792, 1793, 1794, 1788, 1795, 1797, 1796, + 1790, 1799, 1802, 1800, 1797, 1792, 1793, 1794, 1801, 1801, + + 1803, 1806, 0, 1791, 1796, 1800, 1804, 1797, 1810, 1804, + 1802, 1799, 1805, 1795, 1808, 1814, 1809, 1805, 1809, 1808, + 1803, 1806, 1811, 1812, 1814, 1816, 1810, 1811, 1817, 1818, + 1812, 1819, 1820, 1819, 1822, 1823, 1822, 1817, 1824, 1824, + 1825, 1818, 1826, 1816, 1827, 1828, 1827, 1826, 1829, 1823, + 1828, 1820, 1830, 1829, 1831, 1832, 1834, 1833, 1837, 1835, + 1903, 1832, 1833, 1842, 1838, 1841, 1825, 1835, 1903, 1834, + 1830, 1839, 1839, 1843, 1831, 1840, 1840, 1837, 1838, 1843, + 1841, 1844, 1845, 1842, 1845, 1846, 1844, 1847, 1847, 1851, + 1848, 1849, 1849, 1846, 1850, 1850, 1853, 1855, 1851, 1852, + + 1857, 1846, 1848, 1856, 1852, 1856, 1855, 1858, 1859, 1855, + 1860, 1862, 1858, 1858, 1853, 1863, 1866, 1859, 1867, 1864, + 1863, 1857, 1860, 1862, 1864, 1868, 1869, 1869, 1870, 1866, + 1871, 1872, 1876, 1877, 1868, 1873, 1874, 1878, 1867, 1890, + 1887, 1892, 1892, 1881, 1876, 1877, 1870, 1872, 1871, 1873, + 1879, 1874, 1881, 1880, 1884, 1879, 1886, 1878, 1880, 1888, + 1884, 1889, 1886, 1887, 1890, 1895, 1891, 1893, 1894, 1894, + 0, 1904, 1898, 1884, 1888, 1891, 1893, 1896, 1897, 1889, + 1900, 1896, 1899, 1897, 1895, 1898, 1900, 1899, 1899, 1901, + 1902, 1904, 1909, 1902, 1912, 1901, 1907, 1907, 1908, 1908, + + 1913, 1909, 1910, 1910, 1911, 1911, 1912, 1915, 1914, 1916, + 1916, 1922, 1915, 1908, 1914, 1917, 1917, 1918, 1913, 1919, + 1925, 1927, 1918, 1921, 1908, 1919, 1923, 1921, 1926, 1929, + 1923, 1922, 1928, 1926, 1929, 1930, 1931, 1932, 1932, 1933, + 1934, 1935, 1936, 1933, 1927, 1925, 1935, 1928, 1937, 1939, + 1938, 1940, 1931, 1930, 1939, 1934, 1941, 1942, 1942, 1944, + 1937, 1945, 1946, 1947, 1940, 1948, 1949, 1944, 1936, 1938, + 1950, 1951, 1952, 1954, 1941, 1955, 1955, 1957, 1958, 1956, + 1945, 1946, 1956, 1951, 1959, 1949, 1947, 1963, 1954, 1948, + 1957, 1950, 1958, 1952, 1960, 1960, 1964, 1959, 1961, 1961, + + 1962, 1962, 1963, 1965, 1965, 1966, 1967, 1967, 1968, 1964, + 1970, 1971, 1972, 1968, 1966, 1970, 1973, 1966, 1974, 1974, + 1975, 1975, 1976, 1977, 1977, 1978, 1979, 1979, 1973, 1980, + 1981, 1971, 1972, 1982, 1982, 1981, 1983, 1983, 1984, 1985, + 1986, 1976, 1987, 1978, 1980, 1989, 1990, 1990, 1985, 1991, + 1989, 1993, 1984, 1994, 1986, 1992, 1992, 1995, 1998, 1994, + 1995, 1987, 1996, 1996, 1997, 1997, 1999, 2000, 1991, 1993, + 2001, 2001, 2003, 2004, 2005, 2006, 2008, 1998, 1996, 2006, + 2015, 1999, 2007, 2007, 2009, 2010, 2000, 2012, 2012, 2005, + 2013, 2014, 2003, 2016, 2015, 2008, 2004, 2017, 2014, 2009, + + 2010, 2018, 2019, 2019, 2020, 2021, 2022, 2021, 2024, 2022, + 2013, 2016, 2025, 2020, 2026, 2017, 2027, 2025, 2028, 2026, + 2024, 2029, 2031, 2030, 2022, 2033, 2022, 2018, 2030, 2034, + 2033, 2028, 2035, 2036, 2034, 2037, 2041, 2038, 2042, 2036, + 2039, 2027, 2029, 2038, 2040, 2039, 2044, 2035, 2031, 2040, + 2043, 2042, 2053, 2043, 2045, 2044, 2037, 2046, 2047, 2048, + 0, 2041, 2049, 2045, 2050, 2051, 2046, 2047, 2049, 2051, + 2050, 2055, 2053, 2048, 2056, 2056, 2057, 2058, 2058, 2059, + 2055, 2061, 2057, 2064, 2062, 2065, 2058, 2063, 2063, 2068, + 2067, 2069, 2070, 2072, 2065, 2074, 2072, 2061, 2064, 2059, + + 2062, 2059, 2067, 2073, 2070, 2068, 2069, 2075, 2073, 2076, + 2076, 2077, 2077, 2079, 2079, 2074, 2081, 2080, 2082, 2075, + 2080, 2081, 2083, 2085, 2082, 2084, 2084, 2087, 2083, 2086, + 2086, 2088, 2089, 2090, 2090, 2093, 2092, 2085, 2093, 2087, + 2092, 2094, 2094, 2095, 2096, 2088, 2097, 2100, 2095, 2103, + 2098, 2089, 2102, 2096, 2098, 2099, 2099, 2102, 2104, 2105, + 2100, 2106, 2107, 2108, 2109, 2106, 2097, 2111, 2108, 2103, + 2109, 2110, 2113, 2105, 2114, 2115, 2116, 2110, 2104, 2114, + 2120, 2115, 2107, 2122, 2116, 2111, 2122, 2117, 2113, 2117, + 2121, 2121, 2123, 2126, 2120, 2124, 2124, 2126, 2127, 2128, + + 2129, 2129, 2135, 2130, 2127, 2133, 2133, 2137, 2138, 2141, + 2142, 2128, 2130, 2149, 2141, 2145, 2145, 2143, 2123, 2149, + 2135, 2137, 2143, 2144, 2138, 2147, 2147, 2151, 2144, 2150, + 2150, 2152, 2153, 2155, 2156, 2159, 2142, 2153, 2157, 2157, + 2161, 2160, 2162, 2151, 2159, 2165, 2156, 2160, 2164, 2164, + 2166, 2170, 2155, 2152, 2168, 2168, 2170, 2162, 2161, 2169, + 2169, 2171, 2172, 2175, 2165, 2173, 2176, 2174, 2166, 2174, + 2173, 2172, 2177, 2178, 2179, 2186, 2180, 2175, 2178, 2171, + 2176, 2180, 2181, 2181, 2177, 2182, 2182, 2183, 2183, 2184, + 2184, 2185, 2187, 2186, 2179, 2188, 2188, 2187, 2189, 2189, + + 2190, 2191, 2192, 2185, 2193, 2194, 2194, 2195, 2196, 2196, + 2197, 2197, 2190, 2191, 2198, 2199, 2200, 2201, 2202, 2203, + 2193, 2204, 2192, 2200, 2203, 2198, 2195, 2199, 2205, 2201, + 2206, 2206, 2208, 2207, 2209, 2211, 2210, 2212, 2202, 2213, + 2213, 2204, 2207, 2214, 2218, 2215, 2216, 2219, 2205, 2210, + 2220, 2212, 2214, 2221, 2209, 0, 2221, 2222, 2208, 2211, + 2215, 2216, 2218, 2223, 2232, 2224, 2225, 2225, 2223, 2219, + 2224, 2222, 2233, 2220, 2226, 2226, 2227, 2227, 2229, 2229, + 2231, 2231, 2232, 2233, 2234, 2236, 2237, 2238, 2239, 2240, + 2241, 2243, 2243, 2242, 2245, 2245, 2246, 2247, 2240, 2248, + + 2248, 2251, 2251, 2234, 2237, 2236, 2247, 2250, 2239, 2238, + 2241, 2242, 2252, 2253, 2254, 2256, 2250, 2255, 2246, 2257, + 2258, 2254, 2259, 2260, 2260, 2261, 2261, 2263, 2262, 2264, + 2252, 2253, 2255, 2256, 2262, 2265, 2258, 2257, 2266, 2267, + 2268, 2259, 2269, 2266, 2264, 2263, 2270, 2269, 2270, 2271, + 2271, 2272, 2275, 2272, 2265, 2273, 2273, 2277, 2278, 2267, + 2268, 2279, 2280, 2281, 2282, 2286, 2277, 2283, 2281, 2287, + 2290, 2275, 2287, 2279, 2288, 2288, 2289, 2278, 2291, 2291, + 2294, 2297, 2280, 2292, 2282, 2286, 2283, 2292, 2290, 2295, + 2299, 2289, 2300, 2295, 2297, 2294, 2296, 2296, 2301, 2301, + + 2304, 2303, 2305, 2306, 2306, 2307, 2305, 2308, 2308, 2304, + 2299, 2309, 2300, 2303, 2310, 2311, 2309, 2312, 2313, 2313, + 2318, 2318, 2319, 2310, 2307, 2320, 2320, 2321, 2322, 2312, + 2323, 2311, 2326, 2324, 2325, 2325, 2328, 2328, 2331, 2323, + 2321, 2322, 2324, 2331, 2319, 2332, 2333, 2326, 2334, 2335, + 2332, 2336, 2337, 2334, 2338, 2616, 2340, 2335, 2341, 2342, + 2333, 2337, 2338, 2341, 2342, 2343, 2344, 2344, 2345, 2345, + 2336, 2340, 2346, 2347, 2348, 2349, 2350, 2616, 2347, 2346, + 2343, 2351, 2350, 2352, 2352, 2353, 2351, 2355, 2355, 2354, + 2356, 2356, 2348, 2349, 2354, 2359, 2360, 2360, 2361, 2362, + + 2353, 2361, 2363, 2365, 2362, 2362, 2364, 2363, 2359, 2365, + 2366, 2364, 2367, 2368, 2366, 2369, 2370, 2367, 2371, 2372, + 2374, 2377, 2368, 2371, 2370, 2374, 2375, 2379, 2381, 2375, + 2369, 2372, 2379, 2377, 2380, 2382, 2383, 2389, 2384, 2380, + 2385, 2385, 2386, 2390, 2395, 2383, 2381, 2384, 2382, 2391, + 2393, 2386, 2392, 2392, 2397, 2394, 2389, 2396, 2396, 2395, + 2399, 2401, 2402, 2390, 2394, 2404, 2402, 0, 2391, 2393, + 2403, 2403, 2405, 2397, 2406, 2399, 2407, 2409, 2405, 2412, + 2406, 2401, 2407, 2408, 2408, 2409, 2410, 2413, 2412, 2415, + 2404, 2410, 2416, 2415, 2417, 2419, 2419, 2420, 2420, 2429, + + 2413, 2421, 2421, 2423, 2423, 2425, 2416, 2424, 2434, 2417, + 2425, 2424, 2427, 2427, 2431, 2430, 2432, 2435, 2435, 2429, + 2430, 2432, 2432, 2437, 2437, 2440, 2431, 2442, 2434, 2438, + 2438, 2439, 2444, 2448, 2439, 2445, 2445, 2450, 2440, 2446, + 2446, 2447, 2447, 2449, 2449, 2442, 2451, 2452, 2448, 2453, + 2450, 2459, 2444, 2454, 2454, 2453, 2455, 2458, 2460, 2461, + 2455, 2452, 2458, 2458, 2451, 2462, 2463, 2464, 2474, 2465, + 2479, 2462, 2463, 2465, 2459, 2466, 2466, 2469, 2460, 2461, + 2471, 2472, 2469, 2475, 2472, 2476, 2475, 2478, 2471, 2477, + 2479, 2482, 2464, 2474, 2477, 2480, 2481, 2481, 2483, 2485, + + 2486, 2486, 2476, 2476, 2494, 2478, 2483, 2484, 2491, 2480, + 2482, 2493, 2484, 2484, 2487, 2487, 2488, 2488, 2485, 2489, + 2489, 2490, 2490, 2492, 2491, 2495, 2496, 2497, 2492, 0, + 2494, 2493, 2499, 2499, 2495, 2500, 2501, 2504, 2500, 2503, + 2503, 2505, 2505, 2506, 2504, 2513, 2496, 2497, 2506, 2508, + 2508, 2509, 2510, 2511, 2501, 2514, 2514, 2516, 2517, 2519, + 2509, 2510, 2511, 2513, 2515, 2518, 2516, 2520, 2515, 2524, + 2518, 2518, 2519, 2517, 2524, 2528, 2520, 2525, 2525, 2527, + 2527, 2529, 2530, 2532, 2533, 2536, 2537, 2538, 2539, 2528, + 2541, 2543, 2532, 2545, 2539, 2537, 2533, 2561, 2545, 2546, + + 2530, 0, 2541, 2561, 2546, 2548, 2529, 2538, 2547, 2547, + 2536, 2550, 2543, 2557, 2548, 2558, 2550, 2551, 2551, 2553, + 2553, 2551, 2554, 2554, 2555, 2555, 2556, 2559, 2564, 2564, + 2565, 2562, 2559, 2557, 2558, 2556, 2562, 2563, 2566, 2567, + 2568, 2569, 2563, 2570, 2567, 2571, 2571, 2569, 2565, 2574, + 2573, 2575, 2577, 2577, 2579, 2584, 2581, 2580, 2568, 2566, + 2581, 2583, 2587, 2582, 2574, 2585, 2589, 2579, 2570, 2573, + 2580, 2575, 2582, 2585, 2584, 2586, 2594, 2583, 2588, 2588, + 2586, 2591, 2591, 2592, 2592, 2589, 2596, 2596, 2587, 2598, + 2599, 2600, 2604, 2601, 2603, 2603, 2605, 2594, 2601, 2606, + + 2608, 2608, 2609, 2610, 2610, 2598, 2599, 2600, 2613, 2614, + 2617, 2617, 2604, 2618, 2618, 2614, 2609, 2615, 2606, 2605, + 2619, 2621, 2615, 2620, 2620, 2622, 2623, 2624, 2613, 2625, + 2626, 2627, 2621, 2624, 2622, 2628, 2628, 2634, 2629, 2635, + 2619, 2629, 2626, 2620, 2630, 2630, 2623, 2636, 2625, 2634, + 2639, 2627, 2640, 2636, 2637, 2637, 2639, 2638, 2642, 2635, + 2638, 2643, 2644, 2642, 2650, 2645, 2643, 2646, 2647, 2647, + 2640, 2645, 2649, 2649, 2653, 2653, 2656, 2651, 2654, 2654, + 2668, 2644, 2655, 2650, 2646, 2646, 2651, 2655, 2657, 2666, + 2656, 2658, 2658, 2657, 2659, 2659, 2660, 2660, 2661, 2663, + + 2663, 2669, 2668, 2661, 2670, 2671, 2671, 2674, 2666, 2673, + 2673, 2675, 2679, 2676, 2677, 2677, 2680, 2742, 2679, 2681, + 2682, 2674, 2676, 2669, 2742, 2682, 2670, 2685, 2685, 2687, + 2687, 2675, 2688, 2689, 2690, 2692, 2680, 2688, 2681, 2691, + 2690, 2693, 2693, 2692, 2694, 2696, 2697, 2689, 2698, 2694, + 2699, 2691, 2700, 2698, 2703, 2702, 2704, 2705, 2700, 2707, + 2706, 0, 2699, 2702, 2708, 2696, 2697, 2709, 2719, 2710, + 2713, 2714, 2719, 2703, 2710, 2707, 2704, 2705, 2706, 2717, + 2717, 2708, 2708, 2729, 2714, 2718, 2718, 2729, 2709, 2735, + 2713, 2723, 2723, 2725, 2725, 2726, 2726, 2732, 2726, 2727, + + 2727, 2736, 2727, 2728, 2728, 2733, 2728, 2731, 2731, 2735, + 2741, 2737, 2738, 2738, 2743, 2732, 2737, 2744, 2743, 2733, + 2747, 2736, 2745, 2748, 2749, 2749, 2744, 2750, 2750, 2751, + 2751, 2752, 2748, 2754, 2753, 2741, 2757, 2745, 2747, 2753, + 2758, 2756, 2754, 2755, 2759, 2754, 2752, 2756, 2755, 2755, + 2762, 2760, 2761, 2763, 2763, 2758, 2760, 2761, 2764, 2767, + 2767, 2757, 2833, 2764, 2833, 2759, 2770, 2770, 2782, 2762, + 2771, 2771, 2772, 2772, 2773, 2773, 2774, 2774, 2775, 2775, + 2776, 2776, 2778, 2779, 2779, 2780, 2781, 2784, 2782, 2785, + 2785, 2778, 2786, 2788, 2780, 2787, 2789, 2789, 2781, 2790, + + 2791, 2791, 2794, 2796, 2798, 2788, 2784, 2786, 2787, 2795, + 2797, 2797, 2795, 2800, 2790, 2801, 2800, 2802, 2803, 2804, + 2794, 2801, 2798, 2803, 2805, 2806, 2819, 2817, 2808, 2796, + 2817, 2802, 2820, 2820, 2821, 2821, 2822, 2822, 2804, 2819, + 2824, 2806, 2805, 2808, 2825, 2826, 2827, 2828, 2830, 2826, + 2832, 2831, 2834, 2825, 2837, 2832, 2835, 2835, 2838, 2836, + 2840, 2828, 2831, 2824, 2839, 2842, 2827, 2834, 2841, 2843, + 2844, 2830, 2836, 2837, 2848, 2844, 2838, 2849, 2850, 2850, + 2839, 2851, 2856, 2841, 2857, 2840, 2842, 2861, 2848, 2843, + 2851, 2852, 2852, 2853, 2853, 2854, 2854, 2849, 2855, 2855, + + 2858, 2856, 2859, 2858, 2857, 2860, 2862, 2859, 2863, 2864, + 2860, 2865, 2861, 2867, 2863, 2866, 2866, 2868, 2869, 2869, + 2871, 2862, 2873, 2864, 2876, 2876, 2877, 2877, 2867, 2878, + 2879, 2865, 2880, 2881, 2882, 2871, 2868, 2878, 2880, 2881, + 2873, 2883, 2884, 2885, 2885, 2887, 2890, 2888, 2882, 2879, + 2893, 2891, 2894, 2895, 2883, 2891, 2896, 2894, 2897, 2898, + 2890, 2884, 2902, 2899, 0, 2903, 2887, 2888, 2899, 2896, + 2893, 2897, 2895, 2904, 2900, 2905, 2905, 2912, 2898, 2900, + 2906, 2907, 2902, 2903, 0, 2906, 2909, 2907, 2908, 2908, + 2910, 2909, 2904, 2911, 2913, 2910, 2912, 2919, 2911, 2915, + + 2913, 2914, 2914, 2918, 2915, 2916, 2916, 2918, 2920, 2921, + 2922, 2923, 2924, 2925, 2932, 2920, 2919, 2923, 2927, 2927, + 2929, 2929, 2931, 2930, 2933, 2934, 2925, 2931, 2921, 2922, + 2939, 2924, 2930, 2932, 2936, 2930, 2935, 2935, 2934, 2936, + 2937, 2940, 2940, 2933, 2941, 2942, 2942, 2943, 2943, 2944, + 2945, 2946, 2953, 2937, 2944, 2948, 2939, 2945, 2947, 2947, + 2948, 2951, 2949, 2941, 2949, 2950, 2950, 2952, 2951, 2955, + 2946, 2953, 2954, 2958, 2952, 2957, 2957, 2954, 2960, 2961, + 2962, 2963, 2967, 2960, 2961, 2964, 2964, 2968, 2955, 2966, + 2966, 2971, 2958, 2969, 2969, 2970, 2970, 2981, 2971, 2962, + + 2963, 2967, 2973, 2973, 2974, 2974, 2968, 2975, 2977, 2982, + 2980, 2983, 2983, 2977, 2975, 2980, 2981, 2984, 2984, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2982, 2988, + 2988, 2988, 2988, 2988, 2988, 2988, 2989, 2989, 2989, 2989, + 2989, 2989, 2989, 2990, 2990, 2990, 2990, 2990, 2990, 2990, + 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2992, 2992, 2992, + 2992, 2992, 2992, 2992, 2994, 2994, 0, 2994, 2994, 2994, + 2994, 2995, 2995, 0, 0, 0, 2995, 2995, 2996, 2996, + 0, 0, 2996, 0, 2996, 2997, 0, 0, 0, 0, + 0, 2997, 2998, 2998, 0, 0, 0, 2998, 2998, 2999, + + 0, 0, 0, 0, 0, 2999, 3000, 3000, 0, 3000, + 3000, 3000, 3000, 3001, 3001, 0, 3001, 3001, 3001, 3001, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, 2987, + 2987 } ; static yy_state_type yy_last_accepting_state; @@ -2895,7 +2899,7 @@ static void config_end_include(void) } #endif -#line 2896 "" +#line 2900 "" #define YY_NO_INPUT 1 #line 184 "./util/configlexer.lex" #ifndef YY_NO_UNPUT @@ -2904,9 +2908,9 @@ static void config_end_include(void) #ifndef YY_NO_INPUT #define YY_NO_INPUT 1 #endif -#line 2905 "" +#line 2909 "" -#line 2907 "" +#line 2911 "" #define INITIAL 0 #define quotedstring 1 @@ -3128,7 +3132,7 @@ YY_DECL { #line 204 "./util/configlexer.lex" -#line 3129 "" +#line 3133 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3161,13 +3165,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 >= 2986 ) + if ( yy_current_state >= 2988 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 5813 ); + while ( yy_base[yy_current_state] != 5821 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3272,52 +3276,52 @@ YY_RULE_SETUP case 16: YY_RULE_SETUP #line 223 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFER_IP6) } +{ YDVAR(1, VAR_PREFER_IP4) } YY_BREAK case 17: YY_RULE_SETUP #line 224 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_UDP) } +{ YDVAR(1, VAR_PREFER_IP6) } YY_BREAK case 18: YY_RULE_SETUP #line 225 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_TCP) } +{ YDVAR(1, VAR_DO_UDP) } YY_BREAK case 19: YY_RULE_SETUP #line 226 "./util/configlexer.lex" -{ YDVAR(1, VAR_TCP_UPSTREAM) } +{ YDVAR(1, VAR_DO_TCP) } YY_BREAK case 20: YY_RULE_SETUP #line 227 "./util/configlexer.lex" -{ YDVAR(1, VAR_TCP_MSS) } +{ YDVAR(1, VAR_TCP_UPSTREAM) } YY_BREAK case 21: YY_RULE_SETUP #line 228 "./util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_TCP_MSS) } +{ YDVAR(1, VAR_TCP_MSS) } YY_BREAK case 22: YY_RULE_SETUP #line 229 "./util/configlexer.lex" -{ YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } +{ YDVAR(1, VAR_OUTGOING_TCP_MSS) } YY_BREAK case 23: YY_RULE_SETUP #line 230 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } +{ YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } YY_BREAK case 24: YY_RULE_SETUP #line 231 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } +{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } YY_BREAK case 25: YY_RULE_SETUP #line 232 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_UPSTREAM) } +{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } YY_BREAK case 26: YY_RULE_SETUP @@ -3327,7 +3331,7 @@ YY_RULE_SETUP case 27: YY_RULE_SETUP #line 234 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_KEY) } +{ YDVAR(1, VAR_SSL_UPSTREAM) } YY_BREAK case 28: YY_RULE_SETUP @@ -3337,7 +3341,7 @@ YY_RULE_SETUP case 29: YY_RULE_SETUP #line 236 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_PEM) } +{ YDVAR(1, VAR_SSL_SERVICE_KEY) } YY_BREAK case 30: YY_RULE_SETUP @@ -3347,7 +3351,7 @@ YY_RULE_SETUP case 31: YY_RULE_SETUP #line 238 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_PORT) } +{ YDVAR(1, VAR_SSL_SERVICE_PEM) } YY_BREAK case 32: YY_RULE_SETUP @@ -3357,7 +3361,7 @@ YY_RULE_SETUP case 33: YY_RULE_SETUP #line 240 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } +{ YDVAR(1, VAR_SSL_PORT) } YY_BREAK case 34: YY_RULE_SETUP @@ -3367,12 +3371,12 @@ YY_RULE_SETUP case 35: YY_RULE_SETUP #line 242 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_WIN_CERT) } +{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } YY_BREAK case 36: YY_RULE_SETUP #line 243 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } +{ YDVAR(1, VAR_TLS_WIN_CERT) } YY_BREAK case 37: YY_RULE_SETUP @@ -3392,32 +3396,32 @@ YY_RULE_SETUP case 40: YY_RULE_SETUP #line 247 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } +{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 41: YY_RULE_SETUP #line 248 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERS) } +{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } YY_BREAK case 42: YY_RULE_SETUP #line 249 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERSUITES) } +{ YDVAR(1, VAR_TLS_CIPHERS) } YY_BREAK case 43: YY_RULE_SETUP #line 250 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSTEMD) } +{ YDVAR(1, VAR_TLS_CIPHERSUITES) } YY_BREAK case 44: YY_RULE_SETUP #line 251 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_DAEMONIZE) } +{ YDVAR(1, VAR_USE_SYSTEMD) } YY_BREAK case 45: YY_RULE_SETUP #line 252 "./util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE) } +{ YDVAR(1, VAR_DO_DAEMONIZE) } YY_BREAK case 46: YY_RULE_SETUP @@ -3427,282 +3431,282 @@ YY_RULE_SETUP case 47: YY_RULE_SETUP #line 254 "./util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_INTERFACE) } +{ YDVAR(1, VAR_INTERFACE) } YY_BREAK case 48: YY_RULE_SETUP #line 255 "./util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) } +{ YDVAR(1, VAR_OUTGOING_INTERFACE) } YY_BREAK case 49: YY_RULE_SETUP #line 256 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_RCVBUF) } +{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) } YY_BREAK case 50: YY_RULE_SETUP #line 257 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_SNDBUF) } +{ YDVAR(1, VAR_SO_RCVBUF) } YY_BREAK case 51: YY_RULE_SETUP #line 258 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_REUSEPORT) } +{ YDVAR(1, VAR_SO_SNDBUF) } YY_BREAK case 52: YY_RULE_SETUP #line 259 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_TRANSPARENT) } +{ YDVAR(1, VAR_SO_REUSEPORT) } YY_BREAK case 53: YY_RULE_SETUP #line 260 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_FREEBIND) } +{ YDVAR(1, VAR_IP_TRANSPARENT) } YY_BREAK case 54: YY_RULE_SETUP #line 261 "./util/configlexer.lex" -{ YDVAR(1, VAR_CHROOT) } +{ YDVAR(1, VAR_IP_FREEBIND) } YY_BREAK case 55: YY_RULE_SETUP #line 262 "./util/configlexer.lex" -{ YDVAR(1, VAR_USERNAME) } +{ YDVAR(1, VAR_CHROOT) } YY_BREAK case 56: YY_RULE_SETUP #line 263 "./util/configlexer.lex" -{ YDVAR(1, VAR_DIRECTORY) } +{ YDVAR(1, VAR_USERNAME) } YY_BREAK case 57: YY_RULE_SETUP #line 264 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOGFILE) } +{ YDVAR(1, VAR_DIRECTORY) } YY_BREAK case 58: YY_RULE_SETUP #line 265 "./util/configlexer.lex" -{ YDVAR(1, VAR_PIDFILE) } +{ YDVAR(1, VAR_LOGFILE) } YY_BREAK case 59: YY_RULE_SETUP #line 266 "./util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_HINTS) } +{ YDVAR(1, VAR_PIDFILE) } YY_BREAK case 60: YY_RULE_SETUP #line 267 "./util/configlexer.lex" -{ YDVAR(1, VAR_STREAM_WAIT_SIZE) } +{ YDVAR(1, VAR_ROOT_HINTS) } YY_BREAK case 61: YY_RULE_SETUP #line 268 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) } +{ YDVAR(1, VAR_STREAM_WAIT_SIZE) } YY_BREAK case 62: YY_RULE_SETUP #line 269 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_BUFFER_SIZE) } +{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) } YY_BREAK case 63: YY_RULE_SETUP #line 270 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SIZE) } +{ YDVAR(1, VAR_MSG_BUFFER_SIZE) } YY_BREAK case 64: YY_RULE_SETUP #line 271 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SLABS) } +{ YDVAR(1, VAR_MSG_CACHE_SIZE) } YY_BREAK case 65: YY_RULE_SETUP #line 272 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SIZE) } +{ YDVAR(1, VAR_MSG_CACHE_SLABS) } YY_BREAK case 66: YY_RULE_SETUP #line 273 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SLABS) } +{ YDVAR(1, VAR_RRSET_CACHE_SIZE) } YY_BREAK case 67: YY_RULE_SETUP #line 274 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_TTL) } +{ YDVAR(1, VAR_RRSET_CACHE_SLABS) } YY_BREAK case 68: YY_RULE_SETUP #line 275 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } +{ YDVAR(1, VAR_CACHE_MAX_TTL) } YY_BREAK case 69: YY_RULE_SETUP #line 276 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MIN_TTL) } +{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } YY_BREAK case 70: YY_RULE_SETUP #line 277 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_HOST_TTL) } +{ YDVAR(1, VAR_CACHE_MIN_TTL) } YY_BREAK case 71: YY_RULE_SETUP #line 278 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_LAME_TTL) } +{ YDVAR(1, VAR_INFRA_HOST_TTL) } YY_BREAK case 72: YY_RULE_SETUP #line 279 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_SLABS) } +{ YDVAR(1, VAR_INFRA_LAME_TTL) } YY_BREAK case 73: YY_RULE_SETUP #line 280 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } +{ YDVAR(1, VAR_INFRA_CACHE_SLABS) } YY_BREAK case 74: YY_RULE_SETUP #line 281 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } +{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } YY_BREAK case 75: YY_RULE_SETUP #line 282 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } +{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } YY_BREAK case 76: YY_RULE_SETUP #line 283 "./util/configlexer.lex" -{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } +{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } YY_BREAK case 77: YY_RULE_SETUP #line 284 "./util/configlexer.lex" -{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } +{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } YY_BREAK case 78: YY_RULE_SETUP #line 285 "./util/configlexer.lex" -{ YDVAR(1, VAR_DELAY_CLOSE) } +{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } YY_BREAK case 79: YY_RULE_SETUP #line 286 "./util/configlexer.lex" -{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } +{ YDVAR(1, VAR_DELAY_CLOSE) } YY_BREAK case 80: YY_RULE_SETUP #line 287 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } +{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } YY_BREAK case 81: YY_RULE_SETUP #line 288 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } +{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } YY_BREAK case 82: YY_RULE_SETUP #line 289 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_GLUE) } +{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } YY_BREAK case 83: YY_RULE_SETUP #line 290 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } +{ YDVAR(1, VAR_HARDEN_GLUE) } YY_BREAK case 84: YY_RULE_SETUP #line 291 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } +{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } YY_BREAK case 85: YY_RULE_SETUP #line 292 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } +{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } YY_BREAK case 86: YY_RULE_SETUP #line 293 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } +{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } YY_BREAK case 87: YY_RULE_SETUP #line 294 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } +{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } YY_BREAK case 88: YY_RULE_SETUP #line 295 "./util/configlexer.lex" -{ YDVAR(1, VAR_CAPS_WHITELIST) } +{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } YY_BREAK case 89: YY_RULE_SETUP #line 296 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } +{ YDVAR(1, VAR_CAPS_WHITELIST) } YY_BREAK case 90: YY_RULE_SETUP #line 297 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_ADDRESS) } +{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } YY_BREAK case 91: YY_RULE_SETUP #line 298 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_DOMAIN) } +{ YDVAR(1, VAR_PRIVATE_ADDRESS) } YY_BREAK case 92: YY_RULE_SETUP #line 299 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH_KEY) } +{ YDVAR(1, VAR_PRIVATE_DOMAIN) } YY_BREAK case 93: YY_RULE_SETUP #line 300 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH) } +{ YDVAR(1, VAR_PREFETCH_KEY) } YY_BREAK case 94: YY_RULE_SETUP #line 301 "./util/configlexer.lex" -{ YDVAR(1, VAR_DENY_ANY) } +{ YDVAR(1, VAR_PREFETCH) } YY_BREAK case 95: YY_RULE_SETUP #line 302 "./util/configlexer.lex" -{ YDVAR(0, VAR_STUB_ZONE) } +{ YDVAR(1, VAR_DENY_ANY) } YY_BREAK case 96: YY_RULE_SETUP #line 303 "./util/configlexer.lex" -{ YDVAR(1, VAR_NAME) } +{ YDVAR(0, VAR_STUB_ZONE) } YY_BREAK case 97: YY_RULE_SETUP #line 304 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_ADDR) } +{ YDVAR(1, VAR_NAME) } YY_BREAK case 98: YY_RULE_SETUP #line 305 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_HOST) } +{ YDVAR(1, VAR_STUB_ADDR) } YY_BREAK case 99: YY_RULE_SETUP #line 306 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_PRIME) } +{ YDVAR(1, VAR_STUB_HOST) } YY_BREAK case 100: YY_RULE_SETUP #line 307 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_FIRST) } +{ YDVAR(1, VAR_STUB_PRIME) } YY_BREAK case 101: YY_RULE_SETUP #line 308 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_NO_CACHE) } +{ YDVAR(1, VAR_STUB_FIRST) } YY_BREAK case 102: YY_RULE_SETUP #line 309 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } +{ YDVAR(1, VAR_STUB_NO_CACHE) } YY_BREAK case 103: YY_RULE_SETUP @@ -3712,32 +3716,32 @@ YY_RULE_SETUP case 104: YY_RULE_SETUP #line 311 "./util/configlexer.lex" -{ YDVAR(0, VAR_FORWARD_ZONE) } +{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } YY_BREAK case 105: YY_RULE_SETUP #line 312 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_ADDR) } +{ YDVAR(0, VAR_FORWARD_ZONE) } YY_BREAK case 106: YY_RULE_SETUP #line 313 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_HOST) } +{ YDVAR(1, VAR_FORWARD_ADDR) } YY_BREAK case 107: YY_RULE_SETUP #line 314 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_FIRST) } +{ YDVAR(1, VAR_FORWARD_HOST) } YY_BREAK case 108: YY_RULE_SETUP #line 315 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_NO_CACHE) } +{ YDVAR(1, VAR_FORWARD_FIRST) } YY_BREAK case 109: YY_RULE_SETUP #line 316 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } +{ YDVAR(1, VAR_FORWARD_NO_CACHE) } YY_BREAK case 110: YY_RULE_SETUP @@ -3747,699 +3751,699 @@ YY_RULE_SETUP case 111: YY_RULE_SETUP #line 318 "./util/configlexer.lex" -{ YDVAR(0, VAR_AUTH_ZONE) } +{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } YY_BREAK case 112: YY_RULE_SETUP #line 319 "./util/configlexer.lex" -{ YDVAR(0, VAR_RPZ) } +{ YDVAR(0, VAR_AUTH_ZONE) } YY_BREAK case 113: YY_RULE_SETUP #line 320 "./util/configlexer.lex" -{ YDVAR(1, VAR_TAGS) } +{ YDVAR(0, VAR_RPZ) } YY_BREAK case 114: YY_RULE_SETUP #line 321 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } +{ YDVAR(1, VAR_TAGS) } YY_BREAK case 115: YY_RULE_SETUP #line 322 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } +{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } YY_BREAK case 116: YY_RULE_SETUP #line 323 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG) } +{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } YY_BREAK case 117: YY_RULE_SETUP #line 324 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG_NAME) } +{ YDVAR(1, VAR_RPZ_LOG) } YY_BREAK case 118: YY_RULE_SETUP #line 325 "./util/configlexer.lex" -{ YDVAR(1, VAR_ZONEFILE) } +{ YDVAR(1, VAR_RPZ_LOG_NAME) } YY_BREAK case 119: YY_RULE_SETUP #line 326 "./util/configlexer.lex" -{ YDVAR(1, VAR_MASTER) } +{ YDVAR(1, VAR_ZONEFILE) } YY_BREAK case 120: YY_RULE_SETUP #line 327 "./util/configlexer.lex" -{ YDVAR(1, VAR_URL) } +{ YDVAR(1, VAR_MASTER) } YY_BREAK case 121: YY_RULE_SETUP #line 328 "./util/configlexer.lex" -{ YDVAR(1, VAR_ALLOW_NOTIFY) } +{ YDVAR(1, VAR_URL) } YY_BREAK case 122: YY_RULE_SETUP #line 329 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_DOWNSTREAM) } +{ YDVAR(1, VAR_ALLOW_NOTIFY) } YY_BREAK case 123: YY_RULE_SETUP #line 330 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_UPSTREAM) } +{ YDVAR(1, VAR_FOR_DOWNSTREAM) } YY_BREAK case 124: YY_RULE_SETUP #line 331 "./util/configlexer.lex" -{ YDVAR(1, VAR_FALLBACK_ENABLED) } +{ YDVAR(1, VAR_FOR_UPSTREAM) } YY_BREAK case 125: YY_RULE_SETUP #line 332 "./util/configlexer.lex" -{ YDVAR(0, VAR_VIEW) } +{ YDVAR(1, VAR_FALLBACK_ENABLED) } YY_BREAK case 126: YY_RULE_SETUP #line 333 "./util/configlexer.lex" -{ YDVAR(1, VAR_VIEW_FIRST) } +{ YDVAR(0, VAR_VIEW) } YY_BREAK case 127: YY_RULE_SETUP #line 334 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } +{ YDVAR(1, VAR_VIEW_FIRST) } YY_BREAK case 128: YY_RULE_SETUP #line 335 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } +{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } YY_BREAK case 129: YY_RULE_SETUP #line 336 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL) } +{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } YY_BREAK case 130: YY_RULE_SETUP #line 337 "./util/configlexer.lex" -{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } +{ YDVAR(2, VAR_ACCESS_CONTROL) } YY_BREAK case 131: YY_RULE_SETUP #line 338 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } +{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } YY_BREAK case 132: YY_RULE_SETUP #line 339 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } YY_BREAK case 133: YY_RULE_SETUP #line 340 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } YY_BREAK case 134: YY_RULE_SETUP #line 341 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } YY_BREAK case 135: YY_RULE_SETUP #line 342 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } YY_BREAK case 136: YY_RULE_SETUP #line 343 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } YY_BREAK case 137: YY_RULE_SETUP #line 344 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } YY_BREAK case 138: YY_RULE_SETUP #line 345 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } YY_BREAK case 139: YY_RULE_SETUP #line 346 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } YY_BREAK case 140: YY_RULE_SETUP #line 347 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_IDENTITY) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } YY_BREAK case 141: YY_RULE_SETUP #line 348 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_VERSION) } +{ YDVAR(1, VAR_HIDE_IDENTITY) } YY_BREAK case 142: YY_RULE_SETUP #line 349 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } +{ YDVAR(1, VAR_HIDE_VERSION) } YY_BREAK case 143: YY_RULE_SETUP #line 350 "./util/configlexer.lex" -{ YDVAR(1, VAR_IDENTITY) } +{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } YY_BREAK case 144: YY_RULE_SETUP #line 351 "./util/configlexer.lex" -{ YDVAR(1, VAR_VERSION) } +{ YDVAR(1, VAR_IDENTITY) } YY_BREAK case 145: YY_RULE_SETUP #line 352 "./util/configlexer.lex" -{ YDVAR(1, VAR_MODULE_CONF) } +{ YDVAR(1, VAR_VERSION) } YY_BREAK case 146: YY_RULE_SETUP #line 353 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR) } +{ YDVAR(1, VAR_MODULE_CONF) } YY_BREAK case 147: YY_RULE_SETUP #line 354 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR) } YY_BREAK case 148: YY_RULE_SETUP #line 355 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } YY_BREAK case 149: YY_RULE_SETUP #line 356 "./util/configlexer.lex" -{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } YY_BREAK case 150: YY_RULE_SETUP #line 357 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } +{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } YY_BREAK case 151: YY_RULE_SETUP #line 358 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR) } +{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } YY_BREAK case 152: YY_RULE_SETUP #line 359 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } +{ YDVAR(1, VAR_TRUST_ANCHOR) } YY_BREAK case 153: YY_RULE_SETUP #line 360 "./util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } +{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } YY_BREAK case 154: YY_RULE_SETUP #line 361 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } +{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } YY_BREAK case 155: YY_RULE_SETUP #line 362 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } +{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } YY_BREAK case 156: YY_RULE_SETUP #line 363 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } YY_BREAK case 157: YY_RULE_SETUP #line 364 "./util/configlexer.lex" -{ YDVAR(1, VAR_BOGUS_TTL) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } YY_BREAK case 158: YY_RULE_SETUP #line 365 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } +{ YDVAR(1, VAR_BOGUS_TTL) } YY_BREAK case 159: YY_RULE_SETUP #line 366 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } +{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } YY_BREAK case 160: YY_RULE_SETUP #line 367 "./util/configlexer.lex" -{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } +{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } YY_BREAK case 161: YY_RULE_SETUP #line 368 "./util/configlexer.lex" -{ YDVAR(1, VAR_IGNORE_CD_FLAG) } +{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } YY_BREAK case 162: YY_RULE_SETUP #line 369 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED) } +{ YDVAR(1, VAR_IGNORE_CD_FLAG) } YY_BREAK case 163: YY_RULE_SETUP #line 370 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED) } YY_BREAK case 164: YY_RULE_SETUP #line 371 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } YY_BREAK case 165: YY_RULE_SETUP #line 372 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } YY_BREAK case 166: YY_RULE_SETUP #line 373 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } +{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } YY_BREAK case 167: YY_RULE_SETUP #line 374 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_DSA) } +{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } YY_BREAK case 168: YY_RULE_SETUP #line 375 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_SHA1) } +{ YDVAR(1, VAR_FAKE_DSA) } YY_BREAK case 169: YY_RULE_SETUP #line 376 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_LOG_LEVEL) } +{ YDVAR(1, VAR_FAKE_SHA1) } YY_BREAK case 170: YY_RULE_SETUP #line 377 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SIZE) } +{ YDVAR(1, VAR_VAL_LOG_LEVEL) } YY_BREAK case 171: YY_RULE_SETUP #line 378 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SLABS) } +{ YDVAR(1, VAR_KEY_CACHE_SIZE) } YY_BREAK case 172: YY_RULE_SETUP #line 379 "./util/configlexer.lex" -{ YDVAR(1, VAR_NEG_CACHE_SIZE) } +{ YDVAR(1, VAR_KEY_CACHE_SLABS) } YY_BREAK case 173: YY_RULE_SETUP #line 380 "./util/configlexer.lex" -{ - YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } +{ YDVAR(1, VAR_NEG_CACHE_SIZE) } YY_BREAK case 174: YY_RULE_SETUP -#line 382 "./util/configlexer.lex" -{ YDVAR(1, VAR_ADD_HOLDDOWN) } +#line 381 "./util/configlexer.lex" +{ + YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } YY_BREAK case 175: YY_RULE_SETUP #line 383 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEL_HOLDDOWN) } +{ YDVAR(1, VAR_ADD_HOLDDOWN) } YY_BREAK case 176: YY_RULE_SETUP #line 384 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEEP_MISSING) } +{ YDVAR(1, VAR_DEL_HOLDDOWN) } YY_BREAK case 177: YY_RULE_SETUP #line 385 "./util/configlexer.lex" -{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } +{ YDVAR(1, VAR_KEEP_MISSING) } YY_BREAK case 178: YY_RULE_SETUP #line 386 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSLOG) } +{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } YY_BREAK case 179: YY_RULE_SETUP #line 387 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_IDENTITY) } +{ YDVAR(1, VAR_USE_SYSLOG) } YY_BREAK case 180: YY_RULE_SETUP #line 388 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TIME_ASCII) } +{ YDVAR(1, VAR_LOG_IDENTITY) } YY_BREAK case 181: YY_RULE_SETUP #line 389 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_QUERIES) } +{ YDVAR(1, VAR_LOG_TIME_ASCII) } YY_BREAK case 182: YY_RULE_SETUP #line 390 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_REPLIES) } +{ YDVAR(1, VAR_LOG_QUERIES) } YY_BREAK case 183: YY_RULE_SETUP #line 391 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } +{ YDVAR(1, VAR_LOG_REPLIES) } YY_BREAK case 184: YY_RULE_SETUP #line 392 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } +{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } YY_BREAK case 185: YY_RULE_SETUP #line 393 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_SERVFAIL) } +{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } YY_BREAK case 186: YY_RULE_SETUP #line 394 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_SERVFAIL) } YY_BREAK case 187: YY_RULE_SETUP #line 395 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 188: YY_RULE_SETUP #line 396 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 189: YY_RULE_SETUP #line 397 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 190: YY_RULE_SETUP #line 398 "./util/configlexer.lex" -{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } +{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } YY_BREAK case 191: YY_RULE_SETUP #line 399 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } YY_BREAK case 192: YY_RULE_SETUP #line 400 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 193: YY_RULE_SETUP #line 401 "./util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 194: YY_RULE_SETUP #line 402 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_ENABLE) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 195: YY_RULE_SETUP #line 403 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_KEY) } +{ YDVAR(1, VAR_SHM_ENABLE) } YY_BREAK case 196: YY_RULE_SETUP #line 404 "./util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_SHM_KEY) } YY_BREAK case 197: YY_RULE_SETUP #line 405 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 198: YY_RULE_SETUP #line 406 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 199: YY_RULE_SETUP #line 407 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 200: YY_RULE_SETUP #line 408 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_USE_CERT) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 201: YY_RULE_SETUP #line 409 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_USE_CERT) } YY_BREAK case 202: YY_RULE_SETUP #line 410 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 203: YY_RULE_SETUP #line 411 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 204: YY_RULE_SETUP #line 412 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 205: YY_RULE_SETUP #line 413 "./util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 206: YY_RULE_SETUP #line 414 "./util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 207: YY_RULE_SETUP #line 415 "./util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 208: YY_RULE_SETUP #line 416 "./util/configlexer.lex" -{ YDVAR(1, VAR_MINIMAL_RESPONSES) } +{ YDVAR(1, VAR_DOMAIN_INSECURE) } YY_BREAK case 209: YY_RULE_SETUP #line 417 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } +{ YDVAR(1, VAR_MINIMAL_RESPONSES) } YY_BREAK case 210: YY_RULE_SETUP #line 418 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } +{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } YY_BREAK case 211: YY_RULE_SETUP #line 419 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_UDP_SIZE) } +{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } YY_BREAK case 212: YY_RULE_SETUP #line 420 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_PREFIX) } +{ YDVAR(1, VAR_MAX_UDP_SIZE) } YY_BREAK case 213: YY_RULE_SETUP #line 421 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_SYNTHALL) } +{ YDVAR(1, VAR_DNS64_PREFIX) } YY_BREAK case 214: YY_RULE_SETUP #line 422 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } +{ YDVAR(1, VAR_DNS64_SYNTHALL) } YY_BREAK case 215: YY_RULE_SETUP #line 423 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEFINE_TAG) } +{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } YY_BREAK case 216: YY_RULE_SETUP #line 424 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } +{ YDVAR(1, VAR_DEFINE_TAG) } YY_BREAK case 217: YY_RULE_SETUP #line 425 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } +{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } YY_BREAK case 218: YY_RULE_SETUP #line 426 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } +{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } YY_BREAK case 219: YY_RULE_SETUP #line 427 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } YY_BREAK case 220: YY_RULE_SETUP #line 428 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } YY_BREAK case 221: YY_RULE_SETUP #line 429 "./util/configlexer.lex" -{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } +{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } YY_BREAK case 222: YY_RULE_SETUP #line 430 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSTAP) } +{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } YY_BREAK case 223: YY_RULE_SETUP #line 431 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_ENABLE) } +{ YDVAR(0, VAR_DNSTAP) } YY_BREAK case 224: YY_RULE_SETUP #line 432 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } +{ YDVAR(1, VAR_DNSTAP_ENABLE) } YY_BREAK case 225: YY_RULE_SETUP #line 433 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } YY_BREAK case 226: YY_RULE_SETUP #line 434 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } +{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } YY_BREAK case 227: YY_RULE_SETUP #line 435 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } YY_BREAK case 228: YY_RULE_SETUP #line 436 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_VERSION) } +{ YDVAR(1, VAR_DNSTAP_IDENTITY) } YY_BREAK case 229: YY_RULE_SETUP #line 437 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } +{ YDVAR(1, VAR_DNSTAP_VERSION) } YY_BREAK case 230: YY_RULE_SETUP -#line 439 "./util/configlexer.lex" +#line 438 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } YY_BREAK case 231: YY_RULE_SETUP -#line 441 "./util/configlexer.lex" +#line 440 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } YY_BREAK case 232: YY_RULE_SETUP -#line 443 "./util/configlexer.lex" +#line 442 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } YY_BREAK case 233: YY_RULE_SETUP -#line 445 "./util/configlexer.lex" +#line 444 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } YY_BREAK case 234: YY_RULE_SETUP -#line 447 "./util/configlexer.lex" +#line 446 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } YY_BREAK case 235: YY_RULE_SETUP -#line 449 "./util/configlexer.lex" -{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } +#line 448 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } YY_BREAK case 236: YY_RULE_SETUP #line 450 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT) } +{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } YY_BREAK case 237: YY_RULE_SETUP #line 451 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT) } +{ YDVAR(1, VAR_IP_RATELIMIT) } YY_BREAK case 238: YY_RULE_SETUP #line 452 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_RATELIMIT) } YY_BREAK case 239: YY_RULE_SETUP #line 453 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } YY_BREAK case 240: YY_RULE_SETUP #line 454 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_RATELIMIT_SLABS) } YY_BREAK case 241: YY_RULE_SETUP #line 455 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } YY_BREAK case 242: YY_RULE_SETUP #line 456 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } +{ YDVAR(1, VAR_RATELIMIT_SIZE) } YY_BREAK case 243: YY_RULE_SETUP #line 457 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } +{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } YY_BREAK case 244: YY_RULE_SETUP #line 458 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } +{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } YY_BREAK case 245: YY_RULE_SETUP #line 459 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_FACTOR) } +{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } YY_BREAK case 246: YY_RULE_SETUP #line 460 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOW_RTT) } +{ YDVAR(1, VAR_RATELIMIT_FACTOR) } YY_BREAK case 247: YY_RULE_SETUP #line 461 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_NUM) } +{ YDVAR(1, VAR_LOW_RTT) } YY_BREAK case 248: YY_RULE_SETUP #line 462 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } +{ YDVAR(1, VAR_FAST_SERVER_NUM) } YY_BREAK case 249: YY_RULE_SETUP @@ -4454,195 +4458,200 @@ YY_RULE_SETUP case 251: YY_RULE_SETUP #line 465 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_TAG) } +{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 252: YY_RULE_SETUP #line 466 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP) } +{ YDVAR(2, VAR_RESPONSE_IP_TAG) } YY_BREAK case 253: YY_RULE_SETUP #line 467 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_DATA) } +{ YDVAR(2, VAR_RESPONSE_IP) } YY_BREAK case 254: YY_RULE_SETUP #line 468 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSCRYPT) } +{ YDVAR(2, VAR_RESPONSE_IP_DATA) } YY_BREAK case 255: YY_RULE_SETUP #line 469 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } +{ YDVAR(0, VAR_DNSCRYPT) } YY_BREAK case 256: YY_RULE_SETUP #line 470 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PORT) } +{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } YY_BREAK case 257: YY_RULE_SETUP #line 471 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } +{ YDVAR(1, VAR_DNSCRYPT_PORT) } YY_BREAK case 258: YY_RULE_SETUP #line 472 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } YY_BREAK case 259: YY_RULE_SETUP #line 473 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } +{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } YY_BREAK case 260: YY_RULE_SETUP #line 474 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } YY_BREAK case 261: YY_RULE_SETUP #line 475 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } YY_BREAK case 262: YY_RULE_SETUP -#line 477 "./util/configlexer.lex" +#line 476 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } YY_BREAK case 263: YY_RULE_SETUP -#line 479 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } +#line 478 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } YY_BREAK case 264: YY_RULE_SETUP #line 480 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } YY_BREAK case 265: YY_RULE_SETUP #line 481 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_ENABLED) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } YY_BREAK case 266: YY_RULE_SETUP #line 482 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } +{ YDVAR(1, VAR_IPSECMOD_ENABLED) } YY_BREAK case 267: YY_RULE_SETUP #line 483 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_HOOK) } +{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } YY_BREAK case 268: YY_RULE_SETUP #line 484 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } +{ YDVAR(1, VAR_IPSECMOD_HOOK) } YY_BREAK case 269: YY_RULE_SETUP #line 485 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } +{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } YY_BREAK case 270: YY_RULE_SETUP #line 486 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_STRICT) } +{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } YY_BREAK case 271: YY_RULE_SETUP #line 487 "./util/configlexer.lex" -{ YDVAR(0, VAR_CACHEDB) } +{ YDVAR(1, VAR_IPSECMOD_STRICT) } YY_BREAK case 272: YY_RULE_SETUP #line 488 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_BACKEND) } +{ YDVAR(0, VAR_CACHEDB) } YY_BREAK case 273: YY_RULE_SETUP #line 489 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } +{ YDVAR(1, VAR_CACHEDB_BACKEND) } YY_BREAK case 274: YY_RULE_SETUP #line 490 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISHOST) } +{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } YY_BREAK case 275: YY_RULE_SETUP #line 491 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISPORT) } +{ YDVAR(1, VAR_CACHEDB_REDISHOST) } YY_BREAK case 276: YY_RULE_SETUP #line 492 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } +{ YDVAR(1, VAR_CACHEDB_REDISPORT) } YY_BREAK case 277: YY_RULE_SETUP #line 493 "./util/configlexer.lex" -{ YDVAR(0, VAR_IPSET) } +{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } YY_BREAK case 278: YY_RULE_SETUP #line 494 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V4) } +{ YDVAR(0, VAR_IPSET) } YY_BREAK case 279: YY_RULE_SETUP #line 495 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V6) } +{ YDVAR(1, VAR_IPSET_NAME_V4) } YY_BREAK case 280: YY_RULE_SETUP #line 496 "./util/configlexer.lex" -{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } +{ YDVAR(1, VAR_IPSET_NAME_V6) } YY_BREAK case 281: YY_RULE_SETUP #line 497 "./util/configlexer.lex" -{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } +{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } YY_BREAK case 282: -/* rule 282 can match eol */ YY_RULE_SETUP #line 498 "./util/configlexer.lex" +{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } + YY_BREAK +case 283: +/* rule 283 can match eol */ +YY_RULE_SETUP +#line 499 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 283: +case 284: YY_RULE_SETUP -#line 501 "./util/configlexer.lex" +#line 502 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 502 "./util/configlexer.lex" +#line 503 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 284: +case 285: YY_RULE_SETUP -#line 507 "./util/configlexer.lex" +#line 508 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 285: -/* rule 285 can match eol */ +case 286: +/* rule 286 can match eol */ YY_RULE_SETUP -#line 508 "./util/configlexer.lex" +#line 509 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 286: +case 287: YY_RULE_SETUP -#line 510 "./util/configlexer.lex" +#line 511 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4655,34 +4664,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 287: +case 288: YY_RULE_SETUP -#line 522 "./util/configlexer.lex" +#line 523 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 523 "./util/configlexer.lex" +#line 524 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 288: +case 289: YY_RULE_SETUP -#line 528 "./util/configlexer.lex" +#line 529 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 289: -/* rule 289 can match eol */ +case 290: +/* rule 290 can match eol */ YY_RULE_SETUP -#line 529 "./util/configlexer.lex" +#line 530 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 290: +case 291: YY_RULE_SETUP -#line 531 "./util/configlexer.lex" +#line 532 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4695,38 +4704,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 291: +case 292: YY_RULE_SETUP -#line 543 "./util/configlexer.lex" +#line 544 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 545 "./util/configlexer.lex" +#line 546 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 292: -YY_RULE_SETUP -#line 549 "./util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 293: -/* rule 293 can match eol */ YY_RULE_SETUP #line 550 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 294: +/* rule 294 can match eol */ YY_RULE_SETUP #line 551 "./util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 295: YY_RULE_SETUP #line 552 "./util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 296: +YY_RULE_SETUP +#line 553 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext); @@ -4734,27 +4743,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 557 "./util/configlexer.lex" +#line 558 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 296: +case 297: YY_RULE_SETUP -#line 561 "./util/configlexer.lex" +#line 562 "./util/configlexer.lex" { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } YY_BREAK -case 297: -/* rule 297 can match eol */ +case 298: +/* rule 298 can match eol */ YY_RULE_SETUP -#line 562 "./util/configlexer.lex" +#line 563 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 298: +case 299: YY_RULE_SETUP -#line 564 "./util/configlexer.lex" +#line 565 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -4764,7 +4773,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 570 "./util/configlexer.lex" +#line 571 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -4776,33 +4785,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 299: +case 300: YY_RULE_SETUP -#line 581 "./util/configlexer.lex" +#line 582 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 300: +case 301: YY_RULE_SETUP -#line 585 "./util/configlexer.lex" +#line 586 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 301: +case 302: YY_RULE_SETUP -#line 589 "./util/configlexer.lex" +#line 590 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 302: +case 303: YY_RULE_SETUP -#line 593 "./util/configlexer.lex" +#line 594 "./util/configlexer.lex" ECHO; YY_BREAK -#line 4803 "" +#line 4812 "" case YY_END_OF_BUFFER: { @@ -5097,7 +5106,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 >= 2986 ) + if ( yy_current_state >= 2988 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5125,11 +5134,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 >= 2986 ) + if ( yy_current_state >= 2988 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2985); + yy_is_jam = (yy_current_state == 2987); return yy_is_jam ? 0 : yy_current_state; } @@ -5768,6 +5777,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 593 "./util/configlexer.lex" +#line 594 "./util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index deedffa58..c98f097a0 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -220,6 +220,7 @@ outgoing-num-tcp{COLON} { YDVAR(1, VAR_OUTGOING_NUM_TCP) } incoming-num-tcp{COLON} { YDVAR(1, VAR_INCOMING_NUM_TCP) } do-ip4{COLON} { YDVAR(1, VAR_DO_IP4) } do-ip6{COLON} { YDVAR(1, VAR_DO_IP6) } +prefer-ip4{COLON} { YDVAR(1, VAR_PREFER_IP4) } prefer-ip6{COLON} { YDVAR(1, VAR_PREFER_IP6) } do-udp{COLON} { YDVAR(1, VAR_DO_UDP) } do-tcp{COLON} { YDVAR(1, VAR_DO_TCP) } diff --git a/util/configparser.c b/util/configparser.c index 69ee1cc1c..c53aea9eb 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -148,267 +148,268 @@ extern int yydebug; VAR_PORT = 269, VAR_OUTGOING_RANGE = 270, VAR_INTERFACE = 271, - VAR_DO_IP4 = 272, - VAR_DO_IP6 = 273, - VAR_PREFER_IP6 = 274, - VAR_DO_UDP = 275, - VAR_DO_TCP = 276, - VAR_TCP_MSS = 277, - VAR_OUTGOING_TCP_MSS = 278, - VAR_TCP_IDLE_TIMEOUT = 279, - VAR_EDNS_TCP_KEEPALIVE = 280, - VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 281, - VAR_CHROOT = 282, - VAR_USERNAME = 283, - VAR_DIRECTORY = 284, - VAR_LOGFILE = 285, - VAR_PIDFILE = 286, - VAR_MSG_CACHE_SIZE = 287, - VAR_MSG_CACHE_SLABS = 288, - VAR_NUM_QUERIES_PER_THREAD = 289, - VAR_RRSET_CACHE_SIZE = 290, - VAR_RRSET_CACHE_SLABS = 291, - VAR_OUTGOING_NUM_TCP = 292, - VAR_INFRA_HOST_TTL = 293, - VAR_INFRA_LAME_TTL = 294, - VAR_INFRA_CACHE_SLABS = 295, - VAR_INFRA_CACHE_NUMHOSTS = 296, - VAR_INFRA_CACHE_LAME_SIZE = 297, - VAR_NAME = 298, - VAR_STUB_ZONE = 299, - VAR_STUB_HOST = 300, - VAR_STUB_ADDR = 301, - VAR_TARGET_FETCH_POLICY = 302, - VAR_HARDEN_SHORT_BUFSIZE = 303, - VAR_HARDEN_LARGE_QUERIES = 304, - VAR_FORWARD_ZONE = 305, - VAR_FORWARD_HOST = 306, - VAR_FORWARD_ADDR = 307, - VAR_DO_NOT_QUERY_ADDRESS = 308, - VAR_HIDE_IDENTITY = 309, - VAR_HIDE_VERSION = 310, - VAR_IDENTITY = 311, - VAR_VERSION = 312, - VAR_HARDEN_GLUE = 313, - VAR_MODULE_CONF = 314, - VAR_TRUST_ANCHOR_FILE = 315, - VAR_TRUST_ANCHOR = 316, - VAR_VAL_OVERRIDE_DATE = 317, - VAR_BOGUS_TTL = 318, - VAR_VAL_CLEAN_ADDITIONAL = 319, - VAR_VAL_PERMISSIVE_MODE = 320, - VAR_INCOMING_NUM_TCP = 321, - VAR_MSG_BUFFER_SIZE = 322, - VAR_KEY_CACHE_SIZE = 323, - VAR_KEY_CACHE_SLABS = 324, - VAR_TRUSTED_KEYS_FILE = 325, - VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 326, - VAR_USE_SYSLOG = 327, - VAR_OUTGOING_INTERFACE = 328, - VAR_ROOT_HINTS = 329, - VAR_DO_NOT_QUERY_LOCALHOST = 330, - VAR_CACHE_MAX_TTL = 331, - VAR_HARDEN_DNSSEC_STRIPPED = 332, - VAR_ACCESS_CONTROL = 333, - VAR_LOCAL_ZONE = 334, - VAR_LOCAL_DATA = 335, - VAR_INTERFACE_AUTOMATIC = 336, - VAR_STATISTICS_INTERVAL = 337, - VAR_DO_DAEMONIZE = 338, - VAR_USE_CAPS_FOR_ID = 339, - VAR_STATISTICS_CUMULATIVE = 340, - VAR_OUTGOING_PORT_PERMIT = 341, - VAR_OUTGOING_PORT_AVOID = 342, - VAR_DLV_ANCHOR_FILE = 343, - VAR_DLV_ANCHOR = 344, - VAR_NEG_CACHE_SIZE = 345, - VAR_HARDEN_REFERRAL_PATH = 346, - VAR_PRIVATE_ADDRESS = 347, - VAR_PRIVATE_DOMAIN = 348, - VAR_REMOTE_CONTROL = 349, - VAR_CONTROL_ENABLE = 350, - VAR_CONTROL_INTERFACE = 351, - VAR_CONTROL_PORT = 352, - VAR_SERVER_KEY_FILE = 353, - VAR_SERVER_CERT_FILE = 354, - VAR_CONTROL_KEY_FILE = 355, - VAR_CONTROL_CERT_FILE = 356, - VAR_CONTROL_USE_CERT = 357, - VAR_EXTENDED_STATISTICS = 358, - VAR_LOCAL_DATA_PTR = 359, - VAR_JOSTLE_TIMEOUT = 360, - VAR_STUB_PRIME = 361, - VAR_UNWANTED_REPLY_THRESHOLD = 362, - VAR_LOG_TIME_ASCII = 363, - VAR_DOMAIN_INSECURE = 364, - VAR_PYTHON = 365, - VAR_PYTHON_SCRIPT = 366, - VAR_VAL_SIG_SKEW_MIN = 367, - VAR_VAL_SIG_SKEW_MAX = 368, - VAR_CACHE_MIN_TTL = 369, - VAR_VAL_LOG_LEVEL = 370, - VAR_AUTO_TRUST_ANCHOR_FILE = 371, - VAR_KEEP_MISSING = 372, - VAR_ADD_HOLDDOWN = 373, - VAR_DEL_HOLDDOWN = 374, - VAR_SO_RCVBUF = 375, - VAR_EDNS_BUFFER_SIZE = 376, - VAR_PREFETCH = 377, - VAR_PREFETCH_KEY = 378, - VAR_SO_SNDBUF = 379, - VAR_SO_REUSEPORT = 380, - VAR_HARDEN_BELOW_NXDOMAIN = 381, - VAR_IGNORE_CD_FLAG = 382, - VAR_LOG_QUERIES = 383, - VAR_LOG_REPLIES = 384, - VAR_LOG_LOCAL_ACTIONS = 385, - VAR_TCP_UPSTREAM = 386, - VAR_SSL_UPSTREAM = 387, - VAR_SSL_SERVICE_KEY = 388, - VAR_SSL_SERVICE_PEM = 389, - VAR_SSL_PORT = 390, - VAR_FORWARD_FIRST = 391, - VAR_STUB_SSL_UPSTREAM = 392, - VAR_FORWARD_SSL_UPSTREAM = 393, - VAR_TLS_CERT_BUNDLE = 394, - VAR_STUB_FIRST = 395, - VAR_MINIMAL_RESPONSES = 396, - VAR_RRSET_ROUNDROBIN = 397, - VAR_MAX_UDP_SIZE = 398, - VAR_DELAY_CLOSE = 399, - VAR_UNBLOCK_LAN_ZONES = 400, - VAR_INSECURE_LAN_ZONES = 401, - VAR_INFRA_CACHE_MIN_RTT = 402, - VAR_DNS64_PREFIX = 403, - VAR_DNS64_SYNTHALL = 404, - VAR_DNS64_IGNORE_AAAA = 405, - VAR_DNSTAP = 406, - VAR_DNSTAP_ENABLE = 407, - VAR_DNSTAP_SOCKET_PATH = 408, - VAR_DNSTAP_SEND_IDENTITY = 409, - VAR_DNSTAP_SEND_VERSION = 410, - VAR_DNSTAP_IDENTITY = 411, - VAR_DNSTAP_VERSION = 412, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 413, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 414, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 415, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 416, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 417, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 418, - VAR_RESPONSE_IP_TAG = 419, - VAR_RESPONSE_IP = 420, - VAR_RESPONSE_IP_DATA = 421, - VAR_HARDEN_ALGO_DOWNGRADE = 422, - VAR_IP_TRANSPARENT = 423, - VAR_DISABLE_DNSSEC_LAME_CHECK = 424, - VAR_IP_RATELIMIT = 425, - VAR_IP_RATELIMIT_SLABS = 426, - VAR_IP_RATELIMIT_SIZE = 427, - VAR_RATELIMIT = 428, - VAR_RATELIMIT_SLABS = 429, - VAR_RATELIMIT_SIZE = 430, - VAR_RATELIMIT_FOR_DOMAIN = 431, - VAR_RATELIMIT_BELOW_DOMAIN = 432, - VAR_IP_RATELIMIT_FACTOR = 433, - VAR_RATELIMIT_FACTOR = 434, - VAR_SEND_CLIENT_SUBNET = 435, - VAR_CLIENT_SUBNET_ZONE = 436, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 437, - VAR_CLIENT_SUBNET_OPCODE = 438, - VAR_MAX_CLIENT_SUBNET_IPV4 = 439, - VAR_MAX_CLIENT_SUBNET_IPV6 = 440, - VAR_MIN_CLIENT_SUBNET_IPV4 = 441, - VAR_MIN_CLIENT_SUBNET_IPV6 = 442, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 443, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 444, - VAR_CAPS_WHITELIST = 445, - VAR_CACHE_MAX_NEGATIVE_TTL = 446, - VAR_PERMIT_SMALL_HOLDDOWN = 447, - VAR_QNAME_MINIMISATION = 448, - VAR_QNAME_MINIMISATION_STRICT = 449, - VAR_IP_FREEBIND = 450, - VAR_DEFINE_TAG = 451, - VAR_LOCAL_ZONE_TAG = 452, - VAR_ACCESS_CONTROL_TAG = 453, - VAR_LOCAL_ZONE_OVERRIDE = 454, - VAR_ACCESS_CONTROL_TAG_ACTION = 455, - VAR_ACCESS_CONTROL_TAG_DATA = 456, - VAR_VIEW = 457, - VAR_ACCESS_CONTROL_VIEW = 458, - VAR_VIEW_FIRST = 459, - VAR_SERVE_EXPIRED = 460, - VAR_SERVE_EXPIRED_TTL = 461, - VAR_SERVE_EXPIRED_TTL_RESET = 462, - VAR_SERVE_EXPIRED_REPLY_TTL = 463, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 464, - VAR_FAKE_DSA = 465, - VAR_FAKE_SHA1 = 466, - VAR_LOG_IDENTITY = 467, - VAR_HIDE_TRUSTANCHOR = 468, - VAR_TRUST_ANCHOR_SIGNALING = 469, - VAR_AGGRESSIVE_NSEC = 470, - VAR_USE_SYSTEMD = 471, - VAR_SHM_ENABLE = 472, - VAR_SHM_KEY = 473, - VAR_ROOT_KEY_SENTINEL = 474, - VAR_DNSCRYPT = 475, - VAR_DNSCRYPT_ENABLE = 476, - VAR_DNSCRYPT_PORT = 477, - VAR_DNSCRYPT_PROVIDER = 478, - VAR_DNSCRYPT_SECRET_KEY = 479, - VAR_DNSCRYPT_PROVIDER_CERT = 480, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 481, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 482, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 483, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 484, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 485, - VAR_IPSECMOD_ENABLED = 486, - VAR_IPSECMOD_HOOK = 487, - VAR_IPSECMOD_IGNORE_BOGUS = 488, - VAR_IPSECMOD_MAX_TTL = 489, - VAR_IPSECMOD_WHITELIST = 490, - VAR_IPSECMOD_STRICT = 491, - VAR_CACHEDB = 492, - VAR_CACHEDB_BACKEND = 493, - VAR_CACHEDB_SECRETSEED = 494, - VAR_CACHEDB_REDISHOST = 495, - VAR_CACHEDB_REDISPORT = 496, - VAR_CACHEDB_REDISTIMEOUT = 497, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 498, - VAR_FOR_UPSTREAM = 499, - VAR_AUTH_ZONE = 500, - VAR_ZONEFILE = 501, - VAR_MASTER = 502, - VAR_URL = 503, - VAR_FOR_DOWNSTREAM = 504, - VAR_FALLBACK_ENABLED = 505, - VAR_TLS_ADDITIONAL_PORT = 506, - VAR_LOW_RTT = 507, - VAR_LOW_RTT_PERMIL = 508, - VAR_FAST_SERVER_PERMIL = 509, - VAR_FAST_SERVER_NUM = 510, - VAR_ALLOW_NOTIFY = 511, - VAR_TLS_WIN_CERT = 512, - VAR_TCP_CONNECTION_LIMIT = 513, - VAR_FORWARD_NO_CACHE = 514, - VAR_STUB_NO_CACHE = 515, - VAR_LOG_SERVFAIL = 516, - VAR_DENY_ANY = 517, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 518, - VAR_LOG_TAG_QUERYREPLY = 519, - VAR_STREAM_WAIT_SIZE = 520, - VAR_TLS_CIPHERS = 521, - VAR_TLS_CIPHERSUITES = 522, - VAR_IPSET = 523, - VAR_IPSET_NAME_V4 = 524, - VAR_IPSET_NAME_V6 = 525, - VAR_TLS_SESSION_TICKET_KEYS = 526, - VAR_RPZ = 527, - VAR_TAGS = 528, - VAR_RPZ_ACTION_OVERRIDE = 529, - VAR_RPZ_CNAME_OVERRIDE = 530, - VAR_RPZ_LOG = 531, - VAR_RPZ_LOG_NAME = 532 + VAR_PREFER_IP4 = 272, + VAR_DO_IP4 = 273, + VAR_DO_IP6 = 274, + VAR_PREFER_IP6 = 275, + VAR_DO_UDP = 276, + VAR_DO_TCP = 277, + VAR_TCP_MSS = 278, + VAR_OUTGOING_TCP_MSS = 279, + VAR_TCP_IDLE_TIMEOUT = 280, + VAR_EDNS_TCP_KEEPALIVE = 281, + VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 282, + VAR_CHROOT = 283, + VAR_USERNAME = 284, + VAR_DIRECTORY = 285, + VAR_LOGFILE = 286, + VAR_PIDFILE = 287, + VAR_MSG_CACHE_SIZE = 288, + VAR_MSG_CACHE_SLABS = 289, + VAR_NUM_QUERIES_PER_THREAD = 290, + VAR_RRSET_CACHE_SIZE = 291, + VAR_RRSET_CACHE_SLABS = 292, + VAR_OUTGOING_NUM_TCP = 293, + VAR_INFRA_HOST_TTL = 294, + VAR_INFRA_LAME_TTL = 295, + VAR_INFRA_CACHE_SLABS = 296, + VAR_INFRA_CACHE_NUMHOSTS = 297, + VAR_INFRA_CACHE_LAME_SIZE = 298, + VAR_NAME = 299, + VAR_STUB_ZONE = 300, + VAR_STUB_HOST = 301, + VAR_STUB_ADDR = 302, + VAR_TARGET_FETCH_POLICY = 303, + VAR_HARDEN_SHORT_BUFSIZE = 304, + VAR_HARDEN_LARGE_QUERIES = 305, + VAR_FORWARD_ZONE = 306, + VAR_FORWARD_HOST = 307, + VAR_FORWARD_ADDR = 308, + VAR_DO_NOT_QUERY_ADDRESS = 309, + VAR_HIDE_IDENTITY = 310, + VAR_HIDE_VERSION = 311, + VAR_IDENTITY = 312, + VAR_VERSION = 313, + VAR_HARDEN_GLUE = 314, + VAR_MODULE_CONF = 315, + VAR_TRUST_ANCHOR_FILE = 316, + VAR_TRUST_ANCHOR = 317, + VAR_VAL_OVERRIDE_DATE = 318, + VAR_BOGUS_TTL = 319, + VAR_VAL_CLEAN_ADDITIONAL = 320, + VAR_VAL_PERMISSIVE_MODE = 321, + VAR_INCOMING_NUM_TCP = 322, + VAR_MSG_BUFFER_SIZE = 323, + VAR_KEY_CACHE_SIZE = 324, + VAR_KEY_CACHE_SLABS = 325, + VAR_TRUSTED_KEYS_FILE = 326, + VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 327, + VAR_USE_SYSLOG = 328, + VAR_OUTGOING_INTERFACE = 329, + VAR_ROOT_HINTS = 330, + VAR_DO_NOT_QUERY_LOCALHOST = 331, + VAR_CACHE_MAX_TTL = 332, + VAR_HARDEN_DNSSEC_STRIPPED = 333, + VAR_ACCESS_CONTROL = 334, + VAR_LOCAL_ZONE = 335, + VAR_LOCAL_DATA = 336, + VAR_INTERFACE_AUTOMATIC = 337, + VAR_STATISTICS_INTERVAL = 338, + VAR_DO_DAEMONIZE = 339, + VAR_USE_CAPS_FOR_ID = 340, + VAR_STATISTICS_CUMULATIVE = 341, + VAR_OUTGOING_PORT_PERMIT = 342, + VAR_OUTGOING_PORT_AVOID = 343, + VAR_DLV_ANCHOR_FILE = 344, + VAR_DLV_ANCHOR = 345, + VAR_NEG_CACHE_SIZE = 346, + VAR_HARDEN_REFERRAL_PATH = 347, + VAR_PRIVATE_ADDRESS = 348, + VAR_PRIVATE_DOMAIN = 349, + VAR_REMOTE_CONTROL = 350, + VAR_CONTROL_ENABLE = 351, + VAR_CONTROL_INTERFACE = 352, + VAR_CONTROL_PORT = 353, + VAR_SERVER_KEY_FILE = 354, + VAR_SERVER_CERT_FILE = 355, + VAR_CONTROL_KEY_FILE = 356, + VAR_CONTROL_CERT_FILE = 357, + VAR_CONTROL_USE_CERT = 358, + VAR_EXTENDED_STATISTICS = 359, + VAR_LOCAL_DATA_PTR = 360, + VAR_JOSTLE_TIMEOUT = 361, + VAR_STUB_PRIME = 362, + VAR_UNWANTED_REPLY_THRESHOLD = 363, + VAR_LOG_TIME_ASCII = 364, + VAR_DOMAIN_INSECURE = 365, + VAR_PYTHON = 366, + VAR_PYTHON_SCRIPT = 367, + VAR_VAL_SIG_SKEW_MIN = 368, + VAR_VAL_SIG_SKEW_MAX = 369, + VAR_CACHE_MIN_TTL = 370, + VAR_VAL_LOG_LEVEL = 371, + VAR_AUTO_TRUST_ANCHOR_FILE = 372, + VAR_KEEP_MISSING = 373, + VAR_ADD_HOLDDOWN = 374, + VAR_DEL_HOLDDOWN = 375, + VAR_SO_RCVBUF = 376, + VAR_EDNS_BUFFER_SIZE = 377, + VAR_PREFETCH = 378, + VAR_PREFETCH_KEY = 379, + VAR_SO_SNDBUF = 380, + VAR_SO_REUSEPORT = 381, + VAR_HARDEN_BELOW_NXDOMAIN = 382, + VAR_IGNORE_CD_FLAG = 383, + VAR_LOG_QUERIES = 384, + VAR_LOG_REPLIES = 385, + VAR_LOG_LOCAL_ACTIONS = 386, + VAR_TCP_UPSTREAM = 387, + VAR_SSL_UPSTREAM = 388, + VAR_SSL_SERVICE_KEY = 389, + VAR_SSL_SERVICE_PEM = 390, + VAR_SSL_PORT = 391, + VAR_FORWARD_FIRST = 392, + VAR_STUB_SSL_UPSTREAM = 393, + VAR_FORWARD_SSL_UPSTREAM = 394, + VAR_TLS_CERT_BUNDLE = 395, + VAR_STUB_FIRST = 396, + VAR_MINIMAL_RESPONSES = 397, + VAR_RRSET_ROUNDROBIN = 398, + VAR_MAX_UDP_SIZE = 399, + VAR_DELAY_CLOSE = 400, + VAR_UNBLOCK_LAN_ZONES = 401, + VAR_INSECURE_LAN_ZONES = 402, + VAR_INFRA_CACHE_MIN_RTT = 403, + VAR_DNS64_PREFIX = 404, + VAR_DNS64_SYNTHALL = 405, + VAR_DNS64_IGNORE_AAAA = 406, + VAR_DNSTAP = 407, + VAR_DNSTAP_ENABLE = 408, + VAR_DNSTAP_SOCKET_PATH = 409, + VAR_DNSTAP_SEND_IDENTITY = 410, + VAR_DNSTAP_SEND_VERSION = 411, + VAR_DNSTAP_IDENTITY = 412, + VAR_DNSTAP_VERSION = 413, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 414, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 415, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 416, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 417, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 418, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 419, + VAR_RESPONSE_IP_TAG = 420, + VAR_RESPONSE_IP = 421, + VAR_RESPONSE_IP_DATA = 422, + VAR_HARDEN_ALGO_DOWNGRADE = 423, + VAR_IP_TRANSPARENT = 424, + VAR_DISABLE_DNSSEC_LAME_CHECK = 425, + VAR_IP_RATELIMIT = 426, + VAR_IP_RATELIMIT_SLABS = 427, + VAR_IP_RATELIMIT_SIZE = 428, + VAR_RATELIMIT = 429, + VAR_RATELIMIT_SLABS = 430, + VAR_RATELIMIT_SIZE = 431, + VAR_RATELIMIT_FOR_DOMAIN = 432, + VAR_RATELIMIT_BELOW_DOMAIN = 433, + VAR_IP_RATELIMIT_FACTOR = 434, + VAR_RATELIMIT_FACTOR = 435, + VAR_SEND_CLIENT_SUBNET = 436, + VAR_CLIENT_SUBNET_ZONE = 437, + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 438, + VAR_CLIENT_SUBNET_OPCODE = 439, + VAR_MAX_CLIENT_SUBNET_IPV4 = 440, + VAR_MAX_CLIENT_SUBNET_IPV6 = 441, + VAR_MIN_CLIENT_SUBNET_IPV4 = 442, + VAR_MIN_CLIENT_SUBNET_IPV6 = 443, + VAR_MAX_ECS_TREE_SIZE_IPV4 = 444, + VAR_MAX_ECS_TREE_SIZE_IPV6 = 445, + VAR_CAPS_WHITELIST = 446, + VAR_CACHE_MAX_NEGATIVE_TTL = 447, + VAR_PERMIT_SMALL_HOLDDOWN = 448, + VAR_QNAME_MINIMISATION = 449, + VAR_QNAME_MINIMISATION_STRICT = 450, + VAR_IP_FREEBIND = 451, + VAR_DEFINE_TAG = 452, + VAR_LOCAL_ZONE_TAG = 453, + VAR_ACCESS_CONTROL_TAG = 454, + VAR_LOCAL_ZONE_OVERRIDE = 455, + VAR_ACCESS_CONTROL_TAG_ACTION = 456, + VAR_ACCESS_CONTROL_TAG_DATA = 457, + VAR_VIEW = 458, + VAR_ACCESS_CONTROL_VIEW = 459, + VAR_VIEW_FIRST = 460, + VAR_SERVE_EXPIRED = 461, + VAR_SERVE_EXPIRED_TTL = 462, + VAR_SERVE_EXPIRED_TTL_RESET = 463, + VAR_SERVE_EXPIRED_REPLY_TTL = 464, + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 465, + VAR_FAKE_DSA = 466, + VAR_FAKE_SHA1 = 467, + VAR_LOG_IDENTITY = 468, + VAR_HIDE_TRUSTANCHOR = 469, + VAR_TRUST_ANCHOR_SIGNALING = 470, + VAR_AGGRESSIVE_NSEC = 471, + VAR_USE_SYSTEMD = 472, + VAR_SHM_ENABLE = 473, + VAR_SHM_KEY = 474, + VAR_ROOT_KEY_SENTINEL = 475, + VAR_DNSCRYPT = 476, + VAR_DNSCRYPT_ENABLE = 477, + VAR_DNSCRYPT_PORT = 478, + VAR_DNSCRYPT_PROVIDER = 479, + VAR_DNSCRYPT_SECRET_KEY = 480, + VAR_DNSCRYPT_PROVIDER_CERT = 481, + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 482, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 483, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 484, + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 485, + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 486, + VAR_IPSECMOD_ENABLED = 487, + VAR_IPSECMOD_HOOK = 488, + VAR_IPSECMOD_IGNORE_BOGUS = 489, + VAR_IPSECMOD_MAX_TTL = 490, + VAR_IPSECMOD_WHITELIST = 491, + VAR_IPSECMOD_STRICT = 492, + VAR_CACHEDB = 493, + VAR_CACHEDB_BACKEND = 494, + VAR_CACHEDB_SECRETSEED = 495, + VAR_CACHEDB_REDISHOST = 496, + VAR_CACHEDB_REDISPORT = 497, + VAR_CACHEDB_REDISTIMEOUT = 498, + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 499, + VAR_FOR_UPSTREAM = 500, + VAR_AUTH_ZONE = 501, + VAR_ZONEFILE = 502, + VAR_MASTER = 503, + VAR_URL = 504, + VAR_FOR_DOWNSTREAM = 505, + VAR_FALLBACK_ENABLED = 506, + VAR_TLS_ADDITIONAL_PORT = 507, + VAR_LOW_RTT = 508, + VAR_LOW_RTT_PERMIL = 509, + VAR_FAST_SERVER_PERMIL = 510, + VAR_FAST_SERVER_NUM = 511, + VAR_ALLOW_NOTIFY = 512, + VAR_TLS_WIN_CERT = 513, + VAR_TCP_CONNECTION_LIMIT = 514, + VAR_FORWARD_NO_CACHE = 515, + VAR_STUB_NO_CACHE = 516, + VAR_LOG_SERVFAIL = 517, + VAR_DENY_ANY = 518, + VAR_UNKNOWN_SERVER_TIME_LIMIT = 519, + VAR_LOG_TAG_QUERYREPLY = 520, + VAR_STREAM_WAIT_SIZE = 521, + VAR_TLS_CIPHERS = 522, + VAR_TLS_CIPHERSUITES = 523, + VAR_IPSET = 524, + VAR_IPSET_NAME_V4 = 525, + VAR_IPSET_NAME_V6 = 526, + VAR_TLS_SESSION_TICKET_KEYS = 527, + VAR_RPZ = 528, + VAR_TAGS = 529, + VAR_RPZ_ACTION_OVERRIDE = 530, + VAR_RPZ_CNAME_OVERRIDE = 531, + VAR_RPZ_LOG = 532, + VAR_RPZ_LOG_NAME = 533 }; #endif /* Tokens. */ @@ -426,267 +427,268 @@ extern int yydebug; #define VAR_PORT 269 #define VAR_OUTGOING_RANGE 270 #define VAR_INTERFACE 271 -#define VAR_DO_IP4 272 -#define VAR_DO_IP6 273 -#define VAR_PREFER_IP6 274 -#define VAR_DO_UDP 275 -#define VAR_DO_TCP 276 -#define VAR_TCP_MSS 277 -#define VAR_OUTGOING_TCP_MSS 278 -#define VAR_TCP_IDLE_TIMEOUT 279 -#define VAR_EDNS_TCP_KEEPALIVE 280 -#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 281 -#define VAR_CHROOT 282 -#define VAR_USERNAME 283 -#define VAR_DIRECTORY 284 -#define VAR_LOGFILE 285 -#define VAR_PIDFILE 286 -#define VAR_MSG_CACHE_SIZE 287 -#define VAR_MSG_CACHE_SLABS 288 -#define VAR_NUM_QUERIES_PER_THREAD 289 -#define VAR_RRSET_CACHE_SIZE 290 -#define VAR_RRSET_CACHE_SLABS 291 -#define VAR_OUTGOING_NUM_TCP 292 -#define VAR_INFRA_HOST_TTL 293 -#define VAR_INFRA_LAME_TTL 294 -#define VAR_INFRA_CACHE_SLABS 295 -#define VAR_INFRA_CACHE_NUMHOSTS 296 -#define VAR_INFRA_CACHE_LAME_SIZE 297 -#define VAR_NAME 298 -#define VAR_STUB_ZONE 299 -#define VAR_STUB_HOST 300 -#define VAR_STUB_ADDR 301 -#define VAR_TARGET_FETCH_POLICY 302 -#define VAR_HARDEN_SHORT_BUFSIZE 303 -#define VAR_HARDEN_LARGE_QUERIES 304 -#define VAR_FORWARD_ZONE 305 -#define VAR_FORWARD_HOST 306 -#define VAR_FORWARD_ADDR 307 -#define VAR_DO_NOT_QUERY_ADDRESS 308 -#define VAR_HIDE_IDENTITY 309 -#define VAR_HIDE_VERSION 310 -#define VAR_IDENTITY 311 -#define VAR_VERSION 312 -#define VAR_HARDEN_GLUE 313 -#define VAR_MODULE_CONF 314 -#define VAR_TRUST_ANCHOR_FILE 315 -#define VAR_TRUST_ANCHOR 316 -#define VAR_VAL_OVERRIDE_DATE 317 -#define VAR_BOGUS_TTL 318 -#define VAR_VAL_CLEAN_ADDITIONAL 319 -#define VAR_VAL_PERMISSIVE_MODE 320 -#define VAR_INCOMING_NUM_TCP 321 -#define VAR_MSG_BUFFER_SIZE 322 -#define VAR_KEY_CACHE_SIZE 323 -#define VAR_KEY_CACHE_SLABS 324 -#define VAR_TRUSTED_KEYS_FILE 325 -#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 326 -#define VAR_USE_SYSLOG 327 -#define VAR_OUTGOING_INTERFACE 328 -#define VAR_ROOT_HINTS 329 -#define VAR_DO_NOT_QUERY_LOCALHOST 330 -#define VAR_CACHE_MAX_TTL 331 -#define VAR_HARDEN_DNSSEC_STRIPPED 332 -#define VAR_ACCESS_CONTROL 333 -#define VAR_LOCAL_ZONE 334 -#define VAR_LOCAL_DATA 335 -#define VAR_INTERFACE_AUTOMATIC 336 -#define VAR_STATISTICS_INTERVAL 337 -#define VAR_DO_DAEMONIZE 338 -#define VAR_USE_CAPS_FOR_ID 339 -#define VAR_STATISTICS_CUMULATIVE 340 -#define VAR_OUTGOING_PORT_PERMIT 341 -#define VAR_OUTGOING_PORT_AVOID 342 -#define VAR_DLV_ANCHOR_FILE 343 -#define VAR_DLV_ANCHOR 344 -#define VAR_NEG_CACHE_SIZE 345 -#define VAR_HARDEN_REFERRAL_PATH 346 -#define VAR_PRIVATE_ADDRESS 347 -#define VAR_PRIVATE_DOMAIN 348 -#define VAR_REMOTE_CONTROL 349 -#define VAR_CONTROL_ENABLE 350 -#define VAR_CONTROL_INTERFACE 351 -#define VAR_CONTROL_PORT 352 -#define VAR_SERVER_KEY_FILE 353 -#define VAR_SERVER_CERT_FILE 354 -#define VAR_CONTROL_KEY_FILE 355 -#define VAR_CONTROL_CERT_FILE 356 -#define VAR_CONTROL_USE_CERT 357 -#define VAR_EXTENDED_STATISTICS 358 -#define VAR_LOCAL_DATA_PTR 359 -#define VAR_JOSTLE_TIMEOUT 360 -#define VAR_STUB_PRIME 361 -#define VAR_UNWANTED_REPLY_THRESHOLD 362 -#define VAR_LOG_TIME_ASCII 363 -#define VAR_DOMAIN_INSECURE 364 -#define VAR_PYTHON 365 -#define VAR_PYTHON_SCRIPT 366 -#define VAR_VAL_SIG_SKEW_MIN 367 -#define VAR_VAL_SIG_SKEW_MAX 368 -#define VAR_CACHE_MIN_TTL 369 -#define VAR_VAL_LOG_LEVEL 370 -#define VAR_AUTO_TRUST_ANCHOR_FILE 371 -#define VAR_KEEP_MISSING 372 -#define VAR_ADD_HOLDDOWN 373 -#define VAR_DEL_HOLDDOWN 374 -#define VAR_SO_RCVBUF 375 -#define VAR_EDNS_BUFFER_SIZE 376 -#define VAR_PREFETCH 377 -#define VAR_PREFETCH_KEY 378 -#define VAR_SO_SNDBUF 379 -#define VAR_SO_REUSEPORT 380 -#define VAR_HARDEN_BELOW_NXDOMAIN 381 -#define VAR_IGNORE_CD_FLAG 382 -#define VAR_LOG_QUERIES 383 -#define VAR_LOG_REPLIES 384 -#define VAR_LOG_LOCAL_ACTIONS 385 -#define VAR_TCP_UPSTREAM 386 -#define VAR_SSL_UPSTREAM 387 -#define VAR_SSL_SERVICE_KEY 388 -#define VAR_SSL_SERVICE_PEM 389 -#define VAR_SSL_PORT 390 -#define VAR_FORWARD_FIRST 391 -#define VAR_STUB_SSL_UPSTREAM 392 -#define VAR_FORWARD_SSL_UPSTREAM 393 -#define VAR_TLS_CERT_BUNDLE 394 -#define VAR_STUB_FIRST 395 -#define VAR_MINIMAL_RESPONSES 396 -#define VAR_RRSET_ROUNDROBIN 397 -#define VAR_MAX_UDP_SIZE 398 -#define VAR_DELAY_CLOSE 399 -#define VAR_UNBLOCK_LAN_ZONES 400 -#define VAR_INSECURE_LAN_ZONES 401 -#define VAR_INFRA_CACHE_MIN_RTT 402 -#define VAR_DNS64_PREFIX 403 -#define VAR_DNS64_SYNTHALL 404 -#define VAR_DNS64_IGNORE_AAAA 405 -#define VAR_DNSTAP 406 -#define VAR_DNSTAP_ENABLE 407 -#define VAR_DNSTAP_SOCKET_PATH 408 -#define VAR_DNSTAP_SEND_IDENTITY 409 -#define VAR_DNSTAP_SEND_VERSION 410 -#define VAR_DNSTAP_IDENTITY 411 -#define VAR_DNSTAP_VERSION 412 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 413 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 414 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 415 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 416 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 417 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 418 -#define VAR_RESPONSE_IP_TAG 419 -#define VAR_RESPONSE_IP 420 -#define VAR_RESPONSE_IP_DATA 421 -#define VAR_HARDEN_ALGO_DOWNGRADE 422 -#define VAR_IP_TRANSPARENT 423 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 424 -#define VAR_IP_RATELIMIT 425 -#define VAR_IP_RATELIMIT_SLABS 426 -#define VAR_IP_RATELIMIT_SIZE 427 -#define VAR_RATELIMIT 428 -#define VAR_RATELIMIT_SLABS 429 -#define VAR_RATELIMIT_SIZE 430 -#define VAR_RATELIMIT_FOR_DOMAIN 431 -#define VAR_RATELIMIT_BELOW_DOMAIN 432 -#define VAR_IP_RATELIMIT_FACTOR 433 -#define VAR_RATELIMIT_FACTOR 434 -#define VAR_SEND_CLIENT_SUBNET 435 -#define VAR_CLIENT_SUBNET_ZONE 436 -#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 437 -#define VAR_CLIENT_SUBNET_OPCODE 438 -#define VAR_MAX_CLIENT_SUBNET_IPV4 439 -#define VAR_MAX_CLIENT_SUBNET_IPV6 440 -#define VAR_MIN_CLIENT_SUBNET_IPV4 441 -#define VAR_MIN_CLIENT_SUBNET_IPV6 442 -#define VAR_MAX_ECS_TREE_SIZE_IPV4 443 -#define VAR_MAX_ECS_TREE_SIZE_IPV6 444 -#define VAR_CAPS_WHITELIST 445 -#define VAR_CACHE_MAX_NEGATIVE_TTL 446 -#define VAR_PERMIT_SMALL_HOLDDOWN 447 -#define VAR_QNAME_MINIMISATION 448 -#define VAR_QNAME_MINIMISATION_STRICT 449 -#define VAR_IP_FREEBIND 450 -#define VAR_DEFINE_TAG 451 -#define VAR_LOCAL_ZONE_TAG 452 -#define VAR_ACCESS_CONTROL_TAG 453 -#define VAR_LOCAL_ZONE_OVERRIDE 454 -#define VAR_ACCESS_CONTROL_TAG_ACTION 455 -#define VAR_ACCESS_CONTROL_TAG_DATA 456 -#define VAR_VIEW 457 -#define VAR_ACCESS_CONTROL_VIEW 458 -#define VAR_VIEW_FIRST 459 -#define VAR_SERVE_EXPIRED 460 -#define VAR_SERVE_EXPIRED_TTL 461 -#define VAR_SERVE_EXPIRED_TTL_RESET 462 -#define VAR_SERVE_EXPIRED_REPLY_TTL 463 -#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 464 -#define VAR_FAKE_DSA 465 -#define VAR_FAKE_SHA1 466 -#define VAR_LOG_IDENTITY 467 -#define VAR_HIDE_TRUSTANCHOR 468 -#define VAR_TRUST_ANCHOR_SIGNALING 469 -#define VAR_AGGRESSIVE_NSEC 470 -#define VAR_USE_SYSTEMD 471 -#define VAR_SHM_ENABLE 472 -#define VAR_SHM_KEY 473 -#define VAR_ROOT_KEY_SENTINEL 474 -#define VAR_DNSCRYPT 475 -#define VAR_DNSCRYPT_ENABLE 476 -#define VAR_DNSCRYPT_PORT 477 -#define VAR_DNSCRYPT_PROVIDER 478 -#define VAR_DNSCRYPT_SECRET_KEY 479 -#define VAR_DNSCRYPT_PROVIDER_CERT 480 -#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 481 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 482 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 483 -#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 484 -#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 485 -#define VAR_IPSECMOD_ENABLED 486 -#define VAR_IPSECMOD_HOOK 487 -#define VAR_IPSECMOD_IGNORE_BOGUS 488 -#define VAR_IPSECMOD_MAX_TTL 489 -#define VAR_IPSECMOD_WHITELIST 490 -#define VAR_IPSECMOD_STRICT 491 -#define VAR_CACHEDB 492 -#define VAR_CACHEDB_BACKEND 493 -#define VAR_CACHEDB_SECRETSEED 494 -#define VAR_CACHEDB_REDISHOST 495 -#define VAR_CACHEDB_REDISPORT 496 -#define VAR_CACHEDB_REDISTIMEOUT 497 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 498 -#define VAR_FOR_UPSTREAM 499 -#define VAR_AUTH_ZONE 500 -#define VAR_ZONEFILE 501 -#define VAR_MASTER 502 -#define VAR_URL 503 -#define VAR_FOR_DOWNSTREAM 504 -#define VAR_FALLBACK_ENABLED 505 -#define VAR_TLS_ADDITIONAL_PORT 506 -#define VAR_LOW_RTT 507 -#define VAR_LOW_RTT_PERMIL 508 -#define VAR_FAST_SERVER_PERMIL 509 -#define VAR_FAST_SERVER_NUM 510 -#define VAR_ALLOW_NOTIFY 511 -#define VAR_TLS_WIN_CERT 512 -#define VAR_TCP_CONNECTION_LIMIT 513 -#define VAR_FORWARD_NO_CACHE 514 -#define VAR_STUB_NO_CACHE 515 -#define VAR_LOG_SERVFAIL 516 -#define VAR_DENY_ANY 517 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 518 -#define VAR_LOG_TAG_QUERYREPLY 519 -#define VAR_STREAM_WAIT_SIZE 520 -#define VAR_TLS_CIPHERS 521 -#define VAR_TLS_CIPHERSUITES 522 -#define VAR_IPSET 523 -#define VAR_IPSET_NAME_V4 524 -#define VAR_IPSET_NAME_V6 525 -#define VAR_TLS_SESSION_TICKET_KEYS 526 -#define VAR_RPZ 527 -#define VAR_TAGS 528 -#define VAR_RPZ_ACTION_OVERRIDE 529 -#define VAR_RPZ_CNAME_OVERRIDE 530 -#define VAR_RPZ_LOG 531 -#define VAR_RPZ_LOG_NAME 532 +#define VAR_PREFER_IP4 272 +#define VAR_DO_IP4 273 +#define VAR_DO_IP6 274 +#define VAR_PREFER_IP6 275 +#define VAR_DO_UDP 276 +#define VAR_DO_TCP 277 +#define VAR_TCP_MSS 278 +#define VAR_OUTGOING_TCP_MSS 279 +#define VAR_TCP_IDLE_TIMEOUT 280 +#define VAR_EDNS_TCP_KEEPALIVE 281 +#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 282 +#define VAR_CHROOT 283 +#define VAR_USERNAME 284 +#define VAR_DIRECTORY 285 +#define VAR_LOGFILE 286 +#define VAR_PIDFILE 287 +#define VAR_MSG_CACHE_SIZE 288 +#define VAR_MSG_CACHE_SLABS 289 +#define VAR_NUM_QUERIES_PER_THREAD 290 +#define VAR_RRSET_CACHE_SIZE 291 +#define VAR_RRSET_CACHE_SLABS 292 +#define VAR_OUTGOING_NUM_TCP 293 +#define VAR_INFRA_HOST_TTL 294 +#define VAR_INFRA_LAME_TTL 295 +#define VAR_INFRA_CACHE_SLABS 296 +#define VAR_INFRA_CACHE_NUMHOSTS 297 +#define VAR_INFRA_CACHE_LAME_SIZE 298 +#define VAR_NAME 299 +#define VAR_STUB_ZONE 300 +#define VAR_STUB_HOST 301 +#define VAR_STUB_ADDR 302 +#define VAR_TARGET_FETCH_POLICY 303 +#define VAR_HARDEN_SHORT_BUFSIZE 304 +#define VAR_HARDEN_LARGE_QUERIES 305 +#define VAR_FORWARD_ZONE 306 +#define VAR_FORWARD_HOST 307 +#define VAR_FORWARD_ADDR 308 +#define VAR_DO_NOT_QUERY_ADDRESS 309 +#define VAR_HIDE_IDENTITY 310 +#define VAR_HIDE_VERSION 311 +#define VAR_IDENTITY 312 +#define VAR_VERSION 313 +#define VAR_HARDEN_GLUE 314 +#define VAR_MODULE_CONF 315 +#define VAR_TRUST_ANCHOR_FILE 316 +#define VAR_TRUST_ANCHOR 317 +#define VAR_VAL_OVERRIDE_DATE 318 +#define VAR_BOGUS_TTL 319 +#define VAR_VAL_CLEAN_ADDITIONAL 320 +#define VAR_VAL_PERMISSIVE_MODE 321 +#define VAR_INCOMING_NUM_TCP 322 +#define VAR_MSG_BUFFER_SIZE 323 +#define VAR_KEY_CACHE_SIZE 324 +#define VAR_KEY_CACHE_SLABS 325 +#define VAR_TRUSTED_KEYS_FILE 326 +#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 327 +#define VAR_USE_SYSLOG 328 +#define VAR_OUTGOING_INTERFACE 329 +#define VAR_ROOT_HINTS 330 +#define VAR_DO_NOT_QUERY_LOCALHOST 331 +#define VAR_CACHE_MAX_TTL 332 +#define VAR_HARDEN_DNSSEC_STRIPPED 333 +#define VAR_ACCESS_CONTROL 334 +#define VAR_LOCAL_ZONE 335 +#define VAR_LOCAL_DATA 336 +#define VAR_INTERFACE_AUTOMATIC 337 +#define VAR_STATISTICS_INTERVAL 338 +#define VAR_DO_DAEMONIZE 339 +#define VAR_USE_CAPS_FOR_ID 340 +#define VAR_STATISTICS_CUMULATIVE 341 +#define VAR_OUTGOING_PORT_PERMIT 342 +#define VAR_OUTGOING_PORT_AVOID 343 +#define VAR_DLV_ANCHOR_FILE 344 +#define VAR_DLV_ANCHOR 345 +#define VAR_NEG_CACHE_SIZE 346 +#define VAR_HARDEN_REFERRAL_PATH 347 +#define VAR_PRIVATE_ADDRESS 348 +#define VAR_PRIVATE_DOMAIN 349 +#define VAR_REMOTE_CONTROL 350 +#define VAR_CONTROL_ENABLE 351 +#define VAR_CONTROL_INTERFACE 352 +#define VAR_CONTROL_PORT 353 +#define VAR_SERVER_KEY_FILE 354 +#define VAR_SERVER_CERT_FILE 355 +#define VAR_CONTROL_KEY_FILE 356 +#define VAR_CONTROL_CERT_FILE 357 +#define VAR_CONTROL_USE_CERT 358 +#define VAR_EXTENDED_STATISTICS 359 +#define VAR_LOCAL_DATA_PTR 360 +#define VAR_JOSTLE_TIMEOUT 361 +#define VAR_STUB_PRIME 362 +#define VAR_UNWANTED_REPLY_THRESHOLD 363 +#define VAR_LOG_TIME_ASCII 364 +#define VAR_DOMAIN_INSECURE 365 +#define VAR_PYTHON 366 +#define VAR_PYTHON_SCRIPT 367 +#define VAR_VAL_SIG_SKEW_MIN 368 +#define VAR_VAL_SIG_SKEW_MAX 369 +#define VAR_CACHE_MIN_TTL 370 +#define VAR_VAL_LOG_LEVEL 371 +#define VAR_AUTO_TRUST_ANCHOR_FILE 372 +#define VAR_KEEP_MISSING 373 +#define VAR_ADD_HOLDDOWN 374 +#define VAR_DEL_HOLDDOWN 375 +#define VAR_SO_RCVBUF 376 +#define VAR_EDNS_BUFFER_SIZE 377 +#define VAR_PREFETCH 378 +#define VAR_PREFETCH_KEY 379 +#define VAR_SO_SNDBUF 380 +#define VAR_SO_REUSEPORT 381 +#define VAR_HARDEN_BELOW_NXDOMAIN 382 +#define VAR_IGNORE_CD_FLAG 383 +#define VAR_LOG_QUERIES 384 +#define VAR_LOG_REPLIES 385 +#define VAR_LOG_LOCAL_ACTIONS 386 +#define VAR_TCP_UPSTREAM 387 +#define VAR_SSL_UPSTREAM 388 +#define VAR_SSL_SERVICE_KEY 389 +#define VAR_SSL_SERVICE_PEM 390 +#define VAR_SSL_PORT 391 +#define VAR_FORWARD_FIRST 392 +#define VAR_STUB_SSL_UPSTREAM 393 +#define VAR_FORWARD_SSL_UPSTREAM 394 +#define VAR_TLS_CERT_BUNDLE 395 +#define VAR_STUB_FIRST 396 +#define VAR_MINIMAL_RESPONSES 397 +#define VAR_RRSET_ROUNDROBIN 398 +#define VAR_MAX_UDP_SIZE 399 +#define VAR_DELAY_CLOSE 400 +#define VAR_UNBLOCK_LAN_ZONES 401 +#define VAR_INSECURE_LAN_ZONES 402 +#define VAR_INFRA_CACHE_MIN_RTT 403 +#define VAR_DNS64_PREFIX 404 +#define VAR_DNS64_SYNTHALL 405 +#define VAR_DNS64_IGNORE_AAAA 406 +#define VAR_DNSTAP 407 +#define VAR_DNSTAP_ENABLE 408 +#define VAR_DNSTAP_SOCKET_PATH 409 +#define VAR_DNSTAP_SEND_IDENTITY 410 +#define VAR_DNSTAP_SEND_VERSION 411 +#define VAR_DNSTAP_IDENTITY 412 +#define VAR_DNSTAP_VERSION 413 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 414 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 415 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 416 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 417 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 418 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 419 +#define VAR_RESPONSE_IP_TAG 420 +#define VAR_RESPONSE_IP 421 +#define VAR_RESPONSE_IP_DATA 422 +#define VAR_HARDEN_ALGO_DOWNGRADE 423 +#define VAR_IP_TRANSPARENT 424 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 425 +#define VAR_IP_RATELIMIT 426 +#define VAR_IP_RATELIMIT_SLABS 427 +#define VAR_IP_RATELIMIT_SIZE 428 +#define VAR_RATELIMIT 429 +#define VAR_RATELIMIT_SLABS 430 +#define VAR_RATELIMIT_SIZE 431 +#define VAR_RATELIMIT_FOR_DOMAIN 432 +#define VAR_RATELIMIT_BELOW_DOMAIN 433 +#define VAR_IP_RATELIMIT_FACTOR 434 +#define VAR_RATELIMIT_FACTOR 435 +#define VAR_SEND_CLIENT_SUBNET 436 +#define VAR_CLIENT_SUBNET_ZONE 437 +#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 438 +#define VAR_CLIENT_SUBNET_OPCODE 439 +#define VAR_MAX_CLIENT_SUBNET_IPV4 440 +#define VAR_MAX_CLIENT_SUBNET_IPV6 441 +#define VAR_MIN_CLIENT_SUBNET_IPV4 442 +#define VAR_MIN_CLIENT_SUBNET_IPV6 443 +#define VAR_MAX_ECS_TREE_SIZE_IPV4 444 +#define VAR_MAX_ECS_TREE_SIZE_IPV6 445 +#define VAR_CAPS_WHITELIST 446 +#define VAR_CACHE_MAX_NEGATIVE_TTL 447 +#define VAR_PERMIT_SMALL_HOLDDOWN 448 +#define VAR_QNAME_MINIMISATION 449 +#define VAR_QNAME_MINIMISATION_STRICT 450 +#define VAR_IP_FREEBIND 451 +#define VAR_DEFINE_TAG 452 +#define VAR_LOCAL_ZONE_TAG 453 +#define VAR_ACCESS_CONTROL_TAG 454 +#define VAR_LOCAL_ZONE_OVERRIDE 455 +#define VAR_ACCESS_CONTROL_TAG_ACTION 456 +#define VAR_ACCESS_CONTROL_TAG_DATA 457 +#define VAR_VIEW 458 +#define VAR_ACCESS_CONTROL_VIEW 459 +#define VAR_VIEW_FIRST 460 +#define VAR_SERVE_EXPIRED 461 +#define VAR_SERVE_EXPIRED_TTL 462 +#define VAR_SERVE_EXPIRED_TTL_RESET 463 +#define VAR_SERVE_EXPIRED_REPLY_TTL 464 +#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 465 +#define VAR_FAKE_DSA 466 +#define VAR_FAKE_SHA1 467 +#define VAR_LOG_IDENTITY 468 +#define VAR_HIDE_TRUSTANCHOR 469 +#define VAR_TRUST_ANCHOR_SIGNALING 470 +#define VAR_AGGRESSIVE_NSEC 471 +#define VAR_USE_SYSTEMD 472 +#define VAR_SHM_ENABLE 473 +#define VAR_SHM_KEY 474 +#define VAR_ROOT_KEY_SENTINEL 475 +#define VAR_DNSCRYPT 476 +#define VAR_DNSCRYPT_ENABLE 477 +#define VAR_DNSCRYPT_PORT 478 +#define VAR_DNSCRYPT_PROVIDER 479 +#define VAR_DNSCRYPT_SECRET_KEY 480 +#define VAR_DNSCRYPT_PROVIDER_CERT 481 +#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 482 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 483 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 484 +#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 485 +#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 486 +#define VAR_IPSECMOD_ENABLED 487 +#define VAR_IPSECMOD_HOOK 488 +#define VAR_IPSECMOD_IGNORE_BOGUS 489 +#define VAR_IPSECMOD_MAX_TTL 490 +#define VAR_IPSECMOD_WHITELIST 491 +#define VAR_IPSECMOD_STRICT 492 +#define VAR_CACHEDB 493 +#define VAR_CACHEDB_BACKEND 494 +#define VAR_CACHEDB_SECRETSEED 495 +#define VAR_CACHEDB_REDISHOST 496 +#define VAR_CACHEDB_REDISPORT 497 +#define VAR_CACHEDB_REDISTIMEOUT 498 +#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 499 +#define VAR_FOR_UPSTREAM 500 +#define VAR_AUTH_ZONE 501 +#define VAR_ZONEFILE 502 +#define VAR_MASTER 503 +#define VAR_URL 504 +#define VAR_FOR_DOWNSTREAM 505 +#define VAR_FALLBACK_ENABLED 506 +#define VAR_TLS_ADDITIONAL_PORT 507 +#define VAR_LOW_RTT 508 +#define VAR_LOW_RTT_PERMIL 509 +#define VAR_FAST_SERVER_PERMIL 510 +#define VAR_FAST_SERVER_NUM 511 +#define VAR_ALLOW_NOTIFY 512 +#define VAR_TLS_WIN_CERT 513 +#define VAR_TCP_CONNECTION_LIMIT 514 +#define VAR_FORWARD_NO_CACHE 515 +#define VAR_STUB_NO_CACHE 516 +#define VAR_LOG_SERVFAIL 517 +#define VAR_DENY_ANY 518 +#define VAR_UNKNOWN_SERVER_TIME_LIMIT 519 +#define VAR_LOG_TAG_QUERYREPLY 520 +#define VAR_STREAM_WAIT_SIZE 521 +#define VAR_TLS_CIPHERS 522 +#define VAR_TLS_CIPHERSUITES 523 +#define VAR_IPSET 524 +#define VAR_IPSET_NAME_V4 525 +#define VAR_IPSET_NAME_V6 526 +#define VAR_TLS_SESSION_TICKET_KEYS 527 +#define VAR_RPZ 528 +#define VAR_TAGS 529 +#define VAR_RPZ_ACTION_OVERRIDE 530 +#define VAR_RPZ_CNAME_OVERRIDE 531 +#define VAR_RPZ_LOG 532 +#define VAR_RPZ_LOG_NAME 533 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -696,7 +698,7 @@ union YYSTYPE char* str; -#line 700 "util/configparser.c" +#line 702 "util/configparser.c" }; typedef union YYSTYPE YYSTYPE; @@ -946,19 +948,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 590 +#define YYLAST 592 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 278 +#define YYNTOKENS 279 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 301 +#define YYNNTS 302 /* YYNRULES -- Number of rules. */ -#define YYNRULES 580 +#define YYNRULES 582 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 863 +#define YYNSTATES 866 #define YYUNDEFTOK 2 -#define YYMAXUTOK 532 +#define YYMAXUTOK 533 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ @@ -1022,7 +1024,7 @@ static const yytype_uint16 yytranslate[] = 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277 + 275, 276, 277, 278 }; #if YYDEBUG @@ -1031,63 +1033,63 @@ static const yytype_uint16 yyrline[] = { 0, 175, 175, 175, 176, 176, 177, 177, 178, 178, 178, 179, 179, 180, 180, 181, 185, 190, 191, 192, - 192, 192, 193, 193, 194, 194, 195, 195, 196, 196, - 196, 197, 197, 198, 198, 198, 199, 199, 199, 200, - 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, - 205, 206, 206, 207, 207, 208, 208, 208, 209, 209, - 209, 210, 210, 210, 211, 211, 212, 212, 213, 213, - 214, 214, 215, 215, 215, 216, 216, 217, 217, 218, - 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, - 222, 223, 223, 224, 224, 225, 225, 226, 226, 227, - 227, 228, 228, 228, 229, 229, 230, 230, 230, 231, - 231, 231, 232, 232, 232, 233, 233, 233, 233, 234, - 235, 235, 235, 236, 236, 236, 237, 237, 238, 238, - 239, 239, 239, 240, 240, 241, 241, 241, 242, 242, - 243, 243, 244, 245, 245, 246, 246, 247, 247, 248, - 249, 249, 250, 250, 251, 251, 252, 252, 253, 253, - 254, 254, 254, 255, 255, 256, 256, 257, 257, 258, - 258, 259, 259, 260, 260, 261, 261, 261, 262, 262, - 262, 263, 263, 263, 264, 264, 265, 266, 266, 267, - 267, 268, 268, 269, 269, 270, 270, 270, 271, 271, - 271, 272, 272, 272, 273, 273, 274, 274, 275, 275, - 277, 289, 290, 291, 291, 291, 291, 291, 292, 292, - 294, 306, 307, 308, 308, 308, 308, 309, 309, 311, - 325, 326, 327, 327, 327, 327, 328, 328, 328, 330, - 347, 348, 349, 349, 349, 349, 350, 350, 350, 351, - 354, 373, 390, 398, 408, 416, 433, 434, 435, 435, - 435, 435, 435, 436, 436, 436, 437, 437, 439, 448, - 457, 468, 477, 486, 495, 506, 515, 527, 541, 556, - 567, 584, 601, 618, 635, 650, 665, 678, 693, 702, - 711, 720, 729, 738, 747, 756, 765, 774, 783, 792, - 801, 810, 823, 832, 845, 854, 863, 872, 879, 886, - 895, 902, 911, 919, 926, 933, 941, 950, 959, 973, - 982, 991, 1000, 1009, 1018, 1027, 1034, 1041, 1067, 1075, - 1082, 1089, 1096, 1103, 1111, 1119, 1127, 1134, 1145, 1156, - 1163, 1172, 1181, 1190, 1197, 1204, 1212, 1220, 1230, 1240, - 1250, 1258, 1271, 1282, 1290, 1303, 1312, 1321, 1330, 1340, - 1350, 1358, 1371, 1380, 1388, 1397, 1405, 1418, 1427, 1434, - 1444, 1454, 1464, 1474, 1484, 1494, 1504, 1514, 1521, 1528, - 1535, 1544, 1553, 1562, 1571, 1578, 1588, 1608, 1615, 1633, - 1646, 1659, 1668, 1677, 1686, 1695, 1705, 1715, 1726, 1735, - 1744, 1753, 1762, 1771, 1780, 1793, 1806, 1815, 1822, 1831, - 1840, 1849, 1858, 1866, 1879, 1887, 1928, 1935, 1950, 1960, - 1970, 1977, 1984, 1991, 2000, 2008, 2022, 2043, 2064, 2076, - 2088, 2100, 2109, 2130, 2140, 2149, 2157, 2165, 2178, 2191, - 2206, 2221, 2230, 2239, 2245, 2254, 2263, 2273, 2283, 2296, - 2309, 2321, 2335, 2347, 2361, 2371, 2378, 2385, 2394, 2403, - 2413, 2423, 2433, 2440, 2447, 2456, 2465, 2475, 2485, 2492, - 2499, 2506, 2514, 2524, 2534, 2544, 2554, 2593, 2603, 2611, - 2619, 2634, 2643, 2648, 2649, 2650, 2650, 2650, 2651, 2651, - 2651, 2652, 2652, 2654, 2664, 2673, 2680, 2687, 2694, 2701, - 2708, 2715, 2720, 2721, 2722, 2722, 2723, 2723, 2724, 2724, - 2725, 2726, 2727, 2728, 2729, 2730, 2732, 2741, 2748, 2757, - 2766, 2773, 2780, 2790, 2800, 2810, 2820, 2830, 2840, 2845, - 2846, 2847, 2849, 2855, 2865, 2872, 2881, 2889, 2894, 2895, - 2897, 2897, 2897, 2898, 2898, 2899, 2900, 2901, 2902, 2903, - 2905, 2915, 2924, 2931, 2940, 2947, 2956, 2964, 2977, 2985, - 2998, 3003, 3004, 3005, 3005, 3006, 3006, 3006, 3008, 3020, - 3032, 3044, 3059, 3072, 3083, 3088, 3089, 3090, 3090, 3092, - 3107 + 192, 192, 193, 193, 194, 194, 194, 195, 195, 196, + 196, 196, 197, 197, 198, 198, 198, 199, 199, 199, + 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, + 205, 205, 206, 206, 207, 207, 208, 208, 208, 209, + 209, 209, 210, 210, 210, 211, 211, 212, 212, 213, + 213, 214, 214, 215, 215, 215, 216, 216, 217, 217, + 218, 218, 218, 219, 219, 220, 220, 221, 221, 222, + 222, 222, 223, 223, 224, 224, 225, 225, 226, 226, + 227, 227, 228, 228, 228, 229, 229, 230, 230, 230, + 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, + 234, 235, 235, 235, 236, 236, 236, 237, 237, 238, + 238, 239, 239, 239, 240, 240, 241, 241, 241, 242, + 242, 243, 243, 244, 245, 245, 246, 246, 247, 247, + 248, 249, 249, 250, 250, 251, 251, 252, 252, 253, + 253, 254, 254, 254, 255, 255, 256, 256, 257, 257, + 258, 258, 259, 259, 260, 260, 261, 261, 261, 262, + 262, 262, 263, 263, 263, 264, 264, 265, 266, 266, + 267, 267, 268, 268, 269, 269, 270, 270, 270, 271, + 271, 271, 272, 272, 272, 273, 273, 274, 274, 275, + 275, 277, 289, 290, 291, 291, 291, 291, 291, 292, + 292, 294, 306, 307, 308, 308, 308, 308, 309, 309, + 311, 325, 326, 327, 327, 327, 327, 328, 328, 328, + 330, 347, 348, 349, 349, 349, 349, 350, 350, 350, + 351, 354, 373, 390, 398, 408, 416, 433, 434, 435, + 435, 435, 435, 435, 436, 436, 436, 437, 437, 439, + 448, 457, 468, 477, 486, 495, 506, 515, 527, 541, + 556, 567, 584, 601, 618, 635, 650, 665, 678, 693, + 702, 711, 720, 729, 738, 747, 756, 765, 774, 783, + 792, 801, 810, 819, 832, 841, 854, 863, 872, 881, + 888, 895, 904, 911, 920, 928, 935, 942, 950, 959, + 968, 982, 991, 1000, 1009, 1018, 1027, 1036, 1043, 1050, + 1076, 1084, 1091, 1098, 1105, 1112, 1120, 1128, 1136, 1143, + 1154, 1165, 1172, 1181, 1190, 1199, 1206, 1213, 1221, 1229, + 1239, 1249, 1259, 1267, 1280, 1291, 1299, 1312, 1321, 1330, + 1339, 1349, 1359, 1367, 1380, 1389, 1397, 1406, 1414, 1427, + 1436, 1443, 1453, 1463, 1473, 1483, 1493, 1503, 1513, 1523, + 1530, 1537, 1544, 1553, 1562, 1571, 1580, 1587, 1597, 1617, + 1624, 1642, 1655, 1668, 1677, 1686, 1695, 1704, 1714, 1724, + 1735, 1744, 1753, 1762, 1771, 1780, 1789, 1802, 1815, 1824, + 1831, 1840, 1849, 1858, 1867, 1875, 1888, 1896, 1937, 1944, + 1959, 1969, 1979, 1986, 1993, 2000, 2009, 2017, 2031, 2052, + 2073, 2085, 2097, 2109, 2118, 2139, 2149, 2158, 2166, 2174, + 2187, 2200, 2215, 2230, 2239, 2248, 2254, 2263, 2272, 2282, + 2292, 2305, 2318, 2330, 2344, 2356, 2370, 2380, 2387, 2394, + 2403, 2412, 2422, 2432, 2442, 2449, 2456, 2465, 2474, 2484, + 2494, 2501, 2508, 2515, 2523, 2533, 2543, 2553, 2563, 2602, + 2612, 2620, 2628, 2643, 2652, 2657, 2658, 2659, 2659, 2659, + 2660, 2660, 2660, 2661, 2661, 2663, 2673, 2682, 2689, 2696, + 2703, 2710, 2717, 2724, 2729, 2730, 2731, 2731, 2732, 2732, + 2733, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2741, 2750, + 2757, 2766, 2775, 2782, 2789, 2799, 2809, 2819, 2829, 2839, + 2849, 2854, 2855, 2856, 2858, 2864, 2874, 2881, 2890, 2898, + 2903, 2904, 2906, 2906, 2906, 2907, 2907, 2908, 2909, 2910, + 2911, 2912, 2914, 2924, 2933, 2940, 2949, 2956, 2965, 2973, + 2986, 2994, 3007, 3012, 3013, 3014, 3014, 3015, 3015, 3015, + 3017, 3029, 3041, 3053, 3068, 3081, 3092, 3097, 3098, 3099, + 3099, 3101, 3116 }; #endif @@ -1099,14 +1101,14 @@ static const char *const yytname[] = "$end", "error", "$undefined", "SPACE", "LETTER", "NEWLINE", "COMMENT", "COLON", "ANY", "ZONESTR", "STRING_ARG", "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS", "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE", - "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP", - "VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", "VAR_TCP_IDLE_TIMEOUT", - "VAR_EDNS_TCP_KEEPALIVE", "VAR_EDNS_TCP_KEEPALIVE_TIMEOUT", "VAR_CHROOT", - "VAR_USERNAME", "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE", - "VAR_MSG_CACHE_SIZE", "VAR_MSG_CACHE_SLABS", - "VAR_NUM_QUERIES_PER_THREAD", "VAR_RRSET_CACHE_SIZE", - "VAR_RRSET_CACHE_SLABS", "VAR_OUTGOING_NUM_TCP", "VAR_INFRA_HOST_TTL", - "VAR_INFRA_LAME_TTL", "VAR_INFRA_CACHE_SLABS", + "VAR_PREFER_IP4", "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", + "VAR_DO_UDP", "VAR_DO_TCP", "VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", + "VAR_TCP_IDLE_TIMEOUT", "VAR_EDNS_TCP_KEEPALIVE", + "VAR_EDNS_TCP_KEEPALIVE_TIMEOUT", "VAR_CHROOT", "VAR_USERNAME", + "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE", "VAR_MSG_CACHE_SIZE", + "VAR_MSG_CACHE_SLABS", "VAR_NUM_QUERIES_PER_THREAD", + "VAR_RRSET_CACHE_SIZE", "VAR_RRSET_CACHE_SLABS", "VAR_OUTGOING_NUM_TCP", + "VAR_INFRA_HOST_TTL", "VAR_INFRA_LAME_TTL", "VAR_INFRA_CACHE_SLABS", "VAR_INFRA_CACHE_NUMHOSTS", "VAR_INFRA_CACHE_LAME_SIZE", "VAR_NAME", "VAR_STUB_ZONE", "VAR_STUB_HOST", "VAR_STUB_ADDR", "VAR_TARGET_FETCH_POLICY", "VAR_HARDEN_SHORT_BUFSIZE", @@ -1217,28 +1219,28 @@ static const char *const yytname[] = "server_outgoing_port_permit", "server_outgoing_port_avoid", "server_outgoing_num_tcp", "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4", "server_do_ip6", - "server_do_udp", "server_do_tcp", "server_prefer_ip6", "server_tcp_mss", - "server_outgoing_tcp_mss", "server_tcp_idle_timeout", - "server_tcp_keepalive", "server_tcp_keepalive_timeout", - "server_tcp_upstream", "server_udp_upstream_without_downstream", - "server_ssl_upstream", "server_ssl_service_key", - "server_ssl_service_pem", "server_ssl_port", "server_tls_cert_bundle", - "server_tls_win_cert", "server_tls_additional_port", - "server_tls_ciphers", "server_tls_ciphersuites", - "server_tls_session_ticket_keys", "server_use_systemd", - "server_do_daemonize", "server_use_syslog", "server_log_time_ascii", - "server_log_queries", "server_log_replies", "server_log_tag_queryreply", - "server_log_servfail", "server_log_local_actions", "server_chroot", - "server_username", "server_directory", "server_logfile", - "server_pidfile", "server_root_hints", "server_dlv_anchor_file", - "server_dlv_anchor", "server_auto_trust_anchor_file", - "server_trust_anchor_file", "server_trusted_keys_file", - "server_trust_anchor", "server_trust_anchor_signaling", - "server_root_key_sentinel", "server_domain_insecure", - "server_hide_identity", "server_hide_version", "server_hide_trustanchor", - "server_identity", "server_version", "server_so_rcvbuf", - "server_so_sndbuf", "server_so_reuseport", "server_ip_transparent", - "server_ip_freebind", "server_stream_wait_size", + "server_do_udp", "server_do_tcp", "server_prefer_ip4", + "server_prefer_ip6", "server_tcp_mss", "server_outgoing_tcp_mss", + "server_tcp_idle_timeout", "server_tcp_keepalive", + "server_tcp_keepalive_timeout", "server_tcp_upstream", + "server_udp_upstream_without_downstream", "server_ssl_upstream", + "server_ssl_service_key", "server_ssl_service_pem", "server_ssl_port", + "server_tls_cert_bundle", "server_tls_win_cert", + "server_tls_additional_port", "server_tls_ciphers", + "server_tls_ciphersuites", "server_tls_session_ticket_keys", + "server_use_systemd", "server_do_daemonize", "server_use_syslog", + "server_log_time_ascii", "server_log_queries", "server_log_replies", + "server_log_tag_queryreply", "server_log_servfail", + "server_log_local_actions", "server_chroot", "server_username", + "server_directory", "server_logfile", "server_pidfile", + "server_root_hints", "server_dlv_anchor_file", "server_dlv_anchor", + "server_auto_trust_anchor_file", "server_trust_anchor_file", + "server_trusted_keys_file", "server_trust_anchor", + "server_trust_anchor_signaling", "server_root_key_sentinel", + "server_domain_insecure", "server_hide_identity", "server_hide_version", + "server_hide_trustanchor", "server_identity", "server_version", + "server_so_rcvbuf", "server_so_sndbuf", "server_so_reuseport", + "server_ip_transparent", "server_ip_freebind", "server_stream_wait_size", "server_edns_buffer_size", "server_msg_buffer_size", "server_msg_cache_size", "server_msg_cache_slabs", "server_num_queries_per_thread", "server_jostle_timeout", @@ -1355,14 +1357,14 @@ static const yytype_uint16 yytoknum[] = 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532 + 525, 526, 527, 528, 529, 530, 531, 532, 533 }; # endif -#define YYPACT_NINF -262 +#define YYPACT_NINF -263 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-262))) + (!!((Yystate) == (-263))) #define YYTABLE_NINF -1 @@ -1373,93 +1375,93 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -262, 0, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, 261, -41, - -36, -40, -20, -42, -29, -128, -105, -170, -221, -261, + -263, 0, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, 262, -42, + -37, -41, -21, -43, -30, -129, -106, -170, -222, -262, 2, 3, 4, 12, 26, 27, 28, 31, 32, 33, - 35, 36, 37, 38, 39, 51, 52, 53, 64, 65, + 34, 36, 37, 38, 39, 40, 52, 53, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, - 88, 91, 93, 94, 95, 96, 97, 98, 99, 101, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, + 88, 91, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 142, 143, 144, + 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 193, 197, 198, 199, - 200, 201, 202, 203, 205, 206, 207, 208, 211, 212, - 215, 228, 229, 230, 231, 232, 233, 234, 236, 237, + 186, 187, 188, 189, 190, 191, 192, 197, 198, 199, + 200, 201, 202, 203, 205, 206, 207, 208, 210, 212, + 215, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 259, 260, 294, 295, 296, 297, 301, 302, 303, 345, - 346, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, 347, 348, 349, 350, 351, 352, 353, - -262, -262, -262, -262, -262, -262, -262, -262, 357, 361, - 362, 387, 388, 389, -262, -262, -262, -262, -262, -262, - -262, 391, 402, 403, 404, 405, 406, 407, -262, -262, - -262, -262, -262, -262, -262, -262, 408, 409, 410, 411, - 412, 413, 414, 453, -262, -262, -262, -262, -262, -262, - -262, -262, -262, 455, 471, 472, 473, 474, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, 475, - 476, 477, 478, 479, 480, 481, 488, -262, -262, -262, - -262, -262, -262, -262, -262, -262, 489, 490, 491, 492, - 493, 495, 496, 497, 498, 499, 500, 501, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, 504, -262, -262, 507, 510, 511, 519, 520, 521, - 523, 524, 525, 526, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, 527, 528, 529, 530, 531, - -262, -262, -262, -262, -262, -262, 532, 533, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - 534, 535, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, 536, 537, 538, - -262, -262, -262, -262, -262, -262, -262, -262, -262, 539, - 540, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - 541, 542, 543, 544, 545, 546, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, 547, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, 548, -262, -262, 549, - 550, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, 551, 552, 553, -262, -262, -262, -262, -262, - -262, -262, -262 + 258, 260, 261, 296, 297, 298, 299, 303, 304, 305, + 347, 348, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, 349, 350, 351, 352, 353, + 354, 355, -263, -263, -263, -263, -263, -263, -263, -263, + 359, 363, 364, 389, 390, 391, -263, -263, -263, -263, + -263, -263, -263, 393, 404, 405, 406, 407, 408, 409, + -263, -263, -263, -263, -263, -263, -263, -263, 410, 411, + 412, 413, 414, 415, 416, 455, -263, -263, -263, -263, + -263, -263, -263, -263, -263, 457, 473, 474, 475, 476, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, 477, 478, 479, 480, 481, 482, 483, 490, -263, + -263, -263, -263, -263, -263, -263, -263, -263, 491, 492, + 493, 494, 495, 497, 498, 499, 500, 501, 502, 503, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, 506, -263, -263, 509, 512, 513, 521, + 522, 523, 525, 526, 527, 528, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, 529, 530, 531, + 532, 533, -263, -263, -263, -263, -263, -263, 534, 535, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, 536, 537, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + 538, 539, 540, -263, -263, -263, -263, -263, -263, -263, + -263, -263, 541, 542, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, 543, 544, 545, 546, 547, 548, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, 549, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, 550, + -263, -263, 551, 552, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, 553, 554, 555, -263, -263, + -263, -263, -263, -263, -263, -263 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1467,9 +1469,9 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 1, 16, 210, 220, 482, 528, 501, 229, - 537, 560, 239, 574, 255, 3, 18, 212, 222, 231, - 241, 257, 484, 503, 530, 539, 562, 576, 4, 5, + 2, 0, 1, 16, 211, 221, 484, 530, 503, 230, + 539, 562, 240, 576, 256, 3, 18, 213, 223, 232, + 242, 258, 486, 505, 532, 541, 564, 578, 4, 5, 6, 10, 14, 15, 8, 9, 7, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1490,142 +1492,142 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 19, 20, 82, 85, 94, 181, 182, 21, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 33, 73, 22, 86, 87, 44, 66, 81, 23, 24, - 26, 27, 25, 28, 29, 30, 31, 32, 117, 193, - 118, 120, 121, 122, 195, 200, 196, 207, 208, 209, - 177, 83, 72, 98, 115, 116, 205, 202, 119, 34, - 35, 36, 37, 38, 74, 88, 89, 104, 60, 70, - 61, 185, 186, 99, 54, 55, 184, 56, 57, 108, - 112, 126, 135, 160, 206, 109, 67, 39, 40, 41, - 96, 127, 128, 129, 42, 43, 45, 46, 48, 49, - 47, 133, 50, 51, 52, 58, 77, 113, 91, 134, - 84, 156, 92, 93, 110, 111, 203, 97, 53, 75, - 78, 59, 62, 100, 101, 76, 157, 102, 63, 64, - 65, 194, 114, 170, 171, 172, 173, 174, 175, 183, - 103, 71, 105, 106, 107, 158, 68, 69, 90, 79, - 80, 95, 123, 124, 204, 125, 130, 131, 132, 161, - 162, 164, 166, 167, 165, 168, 178, 136, 137, 140, - 141, 138, 139, 142, 143, 145, 144, 197, 199, 198, - 159, 169, 187, 189, 188, 190, 191, 192, 163, 176, - 179, 180, 201, 0, 0, 0, 0, 0, 0, 0, - 211, 213, 214, 215, 217, 218, 219, 216, 0, 0, - 0, 0, 0, 0, 221, 223, 224, 225, 226, 227, - 228, 0, 0, 0, 0, 0, 0, 0, 230, 232, - 233, 236, 237, 234, 238, 235, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 242, 243, 244, 245, 249, - 246, 247, 248, 0, 0, 0, 0, 0, 260, 264, - 265, 266, 267, 256, 258, 259, 261, 262, 263, 0, - 0, 0, 0, 0, 0, 0, 0, 483, 485, 487, - 486, 492, 488, 489, 490, 491, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 502, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 0, 529, 531, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 538, 540, 541, 542, 544, 545, - 543, 546, 547, 548, 549, 0, 0, 0, 0, 0, - 561, 563, 564, 565, 566, 567, 0, 0, 575, 577, - 578, 269, 268, 275, 288, 286, 294, 295, 298, 296, - 297, 299, 300, 301, 302, 303, 325, 326, 327, 328, - 329, 353, 354, 355, 360, 361, 291, 362, 363, 366, - 364, 365, 368, 369, 370, 384, 340, 341, 343, 344, - 371, 387, 334, 336, 388, 394, 395, 396, 292, 352, - 412, 413, 335, 407, 318, 287, 330, 385, 391, 372, - 0, 0, 416, 293, 270, 317, 376, 271, 289, 290, - 331, 332, 414, 374, 378, 379, 272, 417, 356, 383, - 319, 339, 389, 390, 393, 406, 333, 410, 408, 409, - 345, 351, 380, 381, 346, 347, 373, 398, 320, 321, - 324, 304, 306, 307, 308, 309, 310, 418, 419, 421, - 357, 358, 359, 367, 422, 423, 424, 0, 0, 0, - 375, 348, 533, 433, 437, 435, 434, 438, 436, 0, - 0, 441, 442, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 377, 392, 411, 446, 447, 349, 425, - 0, 0, 0, 0, 0, 0, 399, 400, 401, 402, - 403, 404, 405, 534, 342, 337, 397, 316, 273, 274, - 338, 448, 450, 449, 451, 452, 453, 305, 312, 443, - 445, 444, 311, 0, 323, 382, 420, 322, 350, 313, - 314, 315, 454, 455, 456, 460, 459, 457, 458, 461, - 462, 463, 464, 466, 465, 475, 0, 479, 480, 0, - 0, 481, 467, 473, 468, 469, 470, 472, 474, 471, - 250, 251, 252, 253, 254, 493, 495, 494, 497, 498, - 499, 500, 496, 516, 517, 518, 519, 520, 521, 522, - 523, 524, 525, 526, 527, 532, 550, 551, 552, 555, - 553, 554, 556, 557, 558, 559, 568, 569, 570, 571, - 572, 579, 580, 386, 415, 432, 535, 536, 439, 440, - 426, 427, 0, 0, 0, 431, 573, 476, 477, 478, - 430, 428, 429 + 0, 0, 17, 19, 20, 83, 86, 95, 182, 183, + 21, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 34, 74, 22, 87, 88, 45, 67, 82, 23, + 24, 27, 28, 25, 26, 29, 30, 31, 32, 33, + 118, 194, 119, 121, 122, 123, 196, 201, 197, 208, + 209, 210, 178, 84, 73, 99, 116, 117, 206, 203, + 120, 35, 36, 37, 38, 39, 75, 89, 90, 105, + 61, 71, 62, 186, 187, 100, 55, 56, 185, 57, + 58, 109, 113, 127, 136, 161, 207, 110, 68, 40, + 41, 42, 97, 128, 129, 130, 43, 44, 46, 47, + 49, 50, 48, 134, 51, 52, 53, 59, 78, 114, + 92, 135, 85, 157, 93, 94, 111, 112, 204, 98, + 54, 76, 79, 60, 63, 101, 102, 77, 158, 103, + 64, 65, 66, 195, 115, 171, 172, 173, 174, 175, + 176, 184, 104, 72, 106, 107, 108, 159, 69, 70, + 91, 80, 81, 96, 124, 125, 205, 126, 131, 132, + 133, 162, 163, 165, 167, 168, 166, 169, 179, 137, + 138, 141, 142, 139, 140, 143, 144, 146, 145, 198, + 200, 199, 160, 170, 188, 190, 189, 191, 192, 193, + 164, 177, 180, 181, 202, 0, 0, 0, 0, 0, + 0, 0, 212, 214, 215, 216, 218, 219, 220, 217, + 0, 0, 0, 0, 0, 0, 222, 224, 225, 226, + 227, 228, 229, 0, 0, 0, 0, 0, 0, 0, + 231, 233, 234, 237, 238, 235, 239, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 243, 244, 245, + 246, 250, 247, 248, 249, 0, 0, 0, 0, 0, + 261, 265, 266, 267, 268, 257, 259, 260, 262, 263, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 485, + 487, 489, 488, 494, 490, 491, 492, 493, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 504, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 531, 533, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 540, 542, 543, 544, + 546, 547, 545, 548, 549, 550, 551, 0, 0, 0, + 0, 0, 563, 565, 566, 567, 568, 569, 0, 0, + 577, 579, 580, 270, 269, 276, 289, 287, 299, 295, + 296, 300, 297, 298, 301, 302, 303, 304, 305, 327, + 328, 329, 330, 331, 355, 356, 357, 362, 363, 292, + 364, 365, 368, 366, 367, 370, 371, 372, 386, 342, + 343, 345, 346, 373, 389, 336, 338, 390, 396, 397, + 398, 293, 354, 414, 415, 337, 409, 320, 288, 332, + 387, 393, 374, 0, 0, 418, 294, 271, 319, 378, + 272, 290, 291, 333, 334, 416, 376, 380, 381, 273, + 419, 358, 385, 321, 341, 391, 392, 395, 408, 335, + 412, 410, 411, 347, 353, 382, 383, 348, 349, 375, + 400, 322, 323, 326, 306, 308, 309, 310, 311, 312, + 420, 421, 423, 359, 360, 361, 369, 424, 425, 426, + 0, 0, 0, 377, 350, 535, 435, 439, 437, 436, + 440, 438, 0, 0, 443, 444, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 379, 394, 413, 448, + 449, 351, 427, 0, 0, 0, 0, 0, 0, 401, + 402, 403, 404, 405, 406, 407, 536, 344, 339, 399, + 318, 274, 275, 340, 450, 452, 451, 453, 454, 455, + 307, 314, 445, 447, 446, 313, 0, 325, 384, 422, + 324, 352, 315, 316, 317, 456, 457, 458, 462, 461, + 459, 460, 463, 464, 465, 466, 468, 467, 477, 0, + 481, 482, 0, 0, 483, 469, 475, 470, 471, 472, + 474, 476, 473, 251, 252, 253, 254, 255, 495, 497, + 496, 499, 500, 501, 502, 498, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 534, 552, + 553, 554, 557, 555, 556, 558, 559, 560, 561, 570, + 571, 572, 573, 574, 581, 582, 388, 417, 434, 537, + 538, 441, 442, 428, 429, 0, 0, 0, 433, 575, + 478, 479, 480, 432, 430, 431 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -23, 554, 555, 556, 557, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262 + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -23, 556, 557, 558, + 559, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + -263, -263 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 15, 16, 28, 231, 17, 29, 430, 18, - 30, 444, 19, 31, 458, 20, 32, 474, 488, 489, - 490, 491, 492, 21, 33, 493, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 431, 432, 433, 434, 435, 436, 437, 445, - 446, 447, 448, 449, 450, 475, 476, 477, 478, 479, - 480, 481, 482, 459, 460, 461, 462, 463, 464, 465, - 22, 34, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 23, 35, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 24, 36, 542, 543, - 418, 419, 420, 421, 25, 37, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 564, 26, 38, 570, - 571, 572, 573, 574, 575, 422, 27, 39, 578, 579, - 580 + -1, 1, 15, 16, 28, 232, 17, 29, 432, 18, + 30, 446, 19, 31, 460, 20, 32, 476, 490, 491, + 492, 493, 494, 21, 33, 495, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 433, 434, 435, 436, 437, 438, 439, + 447, 448, 449, 450, 451, 452, 477, 478, 479, 480, + 481, 482, 483, 484, 461, 462, 463, 464, 465, 466, + 467, 22, 34, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 23, 35, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 24, 36, 544, + 545, 420, 421, 422, 423, 25, 37, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 26, 38, + 572, 573, 574, 575, 576, 577, 424, 27, 39, 580, + 581, 582 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1633,160 +1635,160 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint16 yytable[] = { - 2, 466, 423, 451, 424, 425, 541, 438, 576, 577, - 494, 3, 581, 582, 583, 439, 440, 565, 566, 567, - 568, 569, 584, 466, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 585, 586, 587, 452, - 453, 588, 589, 590, 4, 591, 592, 593, 594, 595, - 5, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 596, 597, 598, 454, 426, 499, 500, 501, 502, - 503, 504, 505, 506, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 6, 619, 427, 620, 621, 428, - 441, 622, 442, 623, 624, 625, 626, 627, 628, 629, - 7, 630, 631, 632, 633, 634, 635, 636, 637, 638, - 639, 640, 641, 642, 643, 455, 456, 644, 645, 646, - 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, - 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, - 667, 8, 668, 669, 670, 671, 672, 673, 674, 675, - 676, 677, 678, 679, 457, 680, 681, 682, 683, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, - 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, - 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, - 715, 716, 9, 717, 468, 469, 470, 718, 719, 720, - 721, 722, 723, 724, 473, 725, 726, 727, 728, 429, - 10, 729, 730, 443, 467, 731, 468, 469, 470, 471, - 472, 483, 484, 485, 486, 487, 473, 11, 732, 733, - 734, 735, 736, 737, 738, 12, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 13, 761, - 762, 0, 14, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 763, 764, 765, 766, 71, 72, - 73, 767, 768, 769, 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, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 115, 116, 117, 779, 118, 119, - 120, 780, 781, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 782, 783, 784, - 145, 785, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 786, 787, 788, 789, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 799, 194, 800, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 801, 802, 803, 804, 805, 806, 807, 808, 809, - 810, 811, 210, 211, 212, 213, 214, 215, 812, 813, - 814, 815, 816, 817, 216, 818, 819, 820, 821, 822, - 823, 824, 217, 218, 825, 219, 220, 826, 221, 222, - 827, 828, 223, 224, 225, 226, 227, 228, 229, 829, - 830, 831, 230, 832, 833, 834, 835, 836, 837, 838, - 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, - 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, - 859, 860, 861, 862, 0, 0, 0, 0, 0, 0, + 2, 468, 425, 453, 426, 427, 543, 440, 578, 579, + 496, 3, 583, 584, 585, 441, 442, 567, 568, 569, + 570, 571, 586, 468, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 587, 588, 589, 454, + 455, 590, 591, 592, 593, 4, 594, 595, 596, 597, + 598, 5, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 599, 600, 456, 428, 501, 502, 503, 504, + 505, 506, 507, 508, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 6, 429, 622, 623, 430, + 443, 624, 444, 625, 626, 627, 628, 629, 630, 631, + 632, 7, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 457, 458, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 8, 671, 672, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 459, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 9, 470, 471, 472, 720, 721, 722, + 723, 724, 725, 726, 475, 727, 728, 729, 730, 431, + 731, 10, 732, 445, 469, 733, 470, 471, 472, 473, + 474, 485, 486, 487, 488, 489, 475, 734, 11, 735, + 736, 737, 738, 739, 740, 741, 12, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 13, + 764, 765, 0, 14, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 766, 767, 768, 769, + 72, 73, 74, 770, 771, 772, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 773, 774, 775, + 776, 777, 778, 779, 780, 781, 116, 117, 118, 782, + 119, 120, 121, 783, 784, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 785, + 786, 787, 146, 788, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 789, 790, 791, 792, 793, 794, + 795, 796, 797, 798, 799, 800, 801, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 802, 195, 803, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 804, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 814, 211, 212, 213, 214, 215, 216, + 815, 816, 817, 818, 819, 820, 217, 821, 822, 823, + 824, 825, 826, 827, 218, 219, 828, 220, 221, 829, + 222, 223, 830, 831, 224, 225, 226, 227, 228, 229, + 230, 832, 833, 834, 231, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 495, 496, 497, - 498 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, + 498, 499, 500 }; static const yytype_int16 yycheck[] = { - 0, 43, 43, 43, 45, 46, 111, 43, 269, 270, - 33, 11, 10, 10, 10, 51, 52, 238, 239, 240, - 241, 242, 10, 43, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 10, 10, 10, 79, - 80, 10, 10, 10, 44, 10, 10, 10, 10, 10, - 50, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 10, 10, 10, 104, 106, 95, 96, 97, 98, - 99, 100, 101, 102, 10, 10, 10, 10, 10, 10, + 0, 44, 44, 44, 46, 47, 112, 44, 270, 271, + 33, 11, 10, 10, 10, 52, 53, 239, 240, 241, + 242, 243, 10, 44, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 10, 10, 10, 80, + 81, 10, 10, 10, 10, 45, 10, 10, 10, 10, + 10, 51, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 10, 10, 105, 107, 96, 97, 98, 99, + 100, 101, 102, 103, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 94, 10, 137, 10, 10, 140, - 136, 10, 138, 10, 10, 10, 10, 10, 10, 10, - 110, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 165, 166, 10, 10, 10, + 10, 10, 10, 10, 10, 95, 138, 10, 10, 141, + 137, 10, 139, 10, 10, 10, 10, 10, 10, 10, + 10, 111, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 166, 167, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 151, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 204, 10, 10, 10, 10, 10, + 10, 10, 152, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 205, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 202, 10, 246, 247, 248, 10, 10, 10, - 10, 10, 10, 10, 256, 10, 10, 10, 10, 260, - 220, 10, 10, 259, 244, 10, 246, 247, 248, 249, - 250, 273, 274, 275, 276, 277, 256, 237, 10, 10, - 10, 10, 10, 10, 10, 245, 10, 10, 10, 10, + 10, 10, 10, 203, 247, 248, 249, 10, 10, 10, + 10, 10, 10, 10, 257, 10, 10, 10, 10, 261, + 10, 221, 10, 260, 245, 10, 247, 248, 249, 250, + 251, 274, 275, 276, 277, 278, 257, 10, 238, 10, + 10, 10, 10, 10, 10, 10, 246, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 268, 10, - 10, -1, 272, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 10, 10, 10, 10, 47, 48, - 49, 10, 10, 10, 53, 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, 87, 88, - 89, 90, 91, 92, 93, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 103, 104, 105, 10, 107, 108, - 109, 10, 10, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 10, 10, 10, - 139, 10, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 10, 203, 10, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 231, 232, 233, 234, 235, 236, 10, 10, - 10, 10, 10, 10, 243, 10, 10, 10, 10, 10, - 10, 10, 251, 252, 10, 254, 255, 10, 257, 258, - 10, 10, 261, 262, 263, 264, 265, 266, 267, 10, - 10, 10, 271, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 269, + 10, 10, -1, 273, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 10, 10, 10, 10, + 48, 49, 50, 10, 10, 10, 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, 87, + 88, 89, 90, 91, 92, 93, 94, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 104, 105, 106, 10, + 108, 109, 110, 10, 10, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 10, + 10, 10, 140, 10, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 10, 204, 10, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 232, 233, 234, 235, 236, 237, + 10, 10, 10, 10, 10, 10, 244, 10, 10, 10, + 10, 10, 10, 10, 252, 253, 10, 255, 256, 10, + 258, 259, 10, 10, 262, 263, 264, 265, 266, 267, + 268, 10, 10, 10, 272, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, -1, -1, -1, -1, -1, -1, + 10, 10, 10, 10, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 33, 33, 33, - 33 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 33, 33, 33 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 279, 0, 11, 44, 50, 94, 110, 151, 202, - 220, 237, 245, 268, 272, 280, 281, 284, 287, 290, - 293, 301, 518, 529, 544, 552, 565, 574, 282, 285, - 288, 291, 294, 302, 519, 530, 545, 553, 566, 575, + 0, 280, 0, 11, 45, 51, 95, 111, 152, 203, + 221, 238, 246, 269, 273, 281, 282, 285, 288, 291, + 294, 302, 520, 531, 546, 554, 567, 576, 283, 286, + 289, 292, 295, 303, 521, 532, 547, 555, 568, 577, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 47, 48, 49, 53, 54, 55, 56, 57, 58, + 42, 43, 48, 49, 50, 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, 87, 88, - 89, 90, 91, 92, 93, 103, 104, 105, 107, 108, - 109, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 89, 90, 91, 92, 93, 94, 104, 105, 106, 108, + 109, 110, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 139, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 164, 165, 166, 167, + 131, 132, 133, 134, 135, 136, 140, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 203, 205, 206, 207, 208, 209, + 198, 199, 200, 201, 202, 204, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 231, 232, 233, 234, 235, 236, 243, 251, 252, 254, - 255, 257, 258, 261, 262, 263, 264, 265, 266, 267, - 271, 283, 304, 305, 306, 307, 308, 309, 310, 311, + 220, 232, 233, 234, 235, 236, 237, 244, 252, 253, + 255, 256, 258, 259, 262, 263, 264, 265, 266, 267, + 268, 272, 284, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, @@ -1804,24 +1806,24 @@ static const yytype_uint16 yystos[] = 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 548, 549, - 550, 551, 573, 43, 45, 46, 106, 137, 140, 260, - 286, 490, 491, 492, 493, 494, 495, 496, 43, 51, - 52, 136, 138, 259, 289, 497, 498, 499, 500, 501, - 502, 43, 79, 80, 104, 165, 166, 204, 292, 511, - 512, 513, 514, 515, 516, 517, 43, 244, 246, 247, - 248, 249, 250, 256, 295, 503, 504, 505, 506, 507, - 508, 509, 510, 273, 274, 275, 276, 277, 296, 297, - 298, 299, 300, 303, 503, 504, 505, 506, 507, 95, - 96, 97, 98, 99, 100, 101, 102, 520, 521, 522, - 523, 524, 525, 526, 527, 528, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 531, 532, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 550, 551, 552, 553, 575, 44, 46, 47, 107, 138, + 141, 261, 287, 492, 493, 494, 495, 496, 497, 498, + 44, 52, 53, 137, 139, 260, 290, 499, 500, 501, + 502, 503, 504, 44, 80, 81, 105, 166, 167, 205, + 293, 513, 514, 515, 516, 517, 518, 519, 44, 245, + 247, 248, 249, 250, 251, 257, 296, 505, 506, 507, + 508, 509, 510, 511, 512, 274, 275, 276, 277, 278, + 297, 298, 299, 300, 301, 304, 505, 506, 507, 508, + 509, 96, 97, 98, 99, 100, 101, 102, 103, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 111, 546, 547, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 554, 555, 556, 557, 558, 559, - 560, 561, 562, 563, 564, 238, 239, 240, 241, 242, - 567, 568, 569, 570, 571, 572, 269, 270, 576, 577, - 578, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 543, 544, 545, 112, 548, 549, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 239, 240, 241, + 242, 243, 569, 570, 571, 572, 573, 574, 270, 271, + 578, 579, 580, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1849,39 +1851,39 @@ static const yytype_uint16 yystos[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10 + 10, 10, 10, 10, 10, 10 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 278, 279, 279, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 281, 282, 282, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 284, 285, 285, 286, 286, 286, 286, 286, 286, 286, - 287, 288, 288, 289, 289, 289, 289, 289, 289, 290, - 291, 291, 292, 292, 292, 292, 292, 292, 292, 293, - 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, - 296, 297, 298, 299, 300, 301, 302, 302, 303, 303, - 303, 303, 303, 303, 303, 303, 303, 303, 304, 305, + 0, 279, 280, 280, 281, 281, 281, 281, 281, 281, + 281, 281, 281, 281, 281, 281, 282, 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, 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, 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, 285, 286, 286, 287, 287, 287, 287, 287, 287, + 287, 288, 289, 289, 290, 290, 290, 290, 290, 290, + 291, 292, 292, 293, 293, 293, 293, 293, 293, 293, + 294, 295, 295, 296, 296, 296, 296, 296, 296, 296, + 296, 297, 298, 299, 300, 301, 302, 303, 303, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, @@ -1903,17 +1905,17 @@ static const yytype_uint16 yyr1[] = 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 519, 520, 520, 520, 520, 520, - 520, 520, 520, 521, 522, 523, 524, 525, 526, 527, - 528, 529, 530, 530, 531, 531, 531, 531, 531, 531, - 531, 531, 531, 531, 531, 531, 532, 533, 534, 535, + 516, 517, 518, 519, 520, 521, 521, 522, 522, 522, + 522, 522, 522, 522, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 532, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 553, - 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 566, 567, 567, 567, 567, 567, 568, 569, - 570, 571, 572, 573, 574, 575, 575, 576, 576, 577, - 578 + 546, 547, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 555, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 568, 569, 569, 569, 569, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 577, 578, + 578, 579, 580 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1940,12 +1942,12 @@ static const yytype_uint8 yyr2[] = 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, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 1, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 1, 2, 2, 2, 2, 2, 1, 2, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1957,27 +1959,27 @@ static const yytype_uint8 yyr2[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, - 4, 3, 3, 2, 2, 2, 2, 2, 2, 3, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, + 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, + 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, - 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 2, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 2, 2, 2, 3, 3, 1, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, + 3, 2, 2, 2, 1, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 2, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 2, 0, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 3, 1, 2, 0, 1, 1, 2, - 2 + 1, 2, 0, 1, 2, 2, 2, 3, 3, 1, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 3, 1, 2, 0, 1, + 1, 2, 2 }; @@ -2666,10 +2668,10 @@ yyreduce: { OUTYY(("\nP(server:)\n")); } -#line 2670 "util/configparser.c" +#line 2672 "util/configparser.c" break; - case 210: + case 211: #line 278 "./util/configparser.y" { struct config_stub* s; @@ -2681,10 +2683,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2685 "util/configparser.c" +#line 2687 "util/configparser.c" break; - case 220: + case 221: #line 295 "./util/configparser.y" { struct config_stub* s; @@ -2696,10 +2698,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2700 "util/configparser.c" +#line 2702 "util/configparser.c" break; - case 229: + case 230: #line 312 "./util/configparser.y" { struct config_view* s; @@ -2713,10 +2715,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2717 "util/configparser.c" +#line 2719 "util/configparser.c" break; - case 239: + case 240: #line 331 "./util/configparser.y" { struct config_auth* s; @@ -2733,10 +2735,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2737 "util/configparser.c" +#line 2739 "util/configparser.c" break; - case 250: + case 251: #line 355 "./util/configparser.y" { uint8_t* bitlist; @@ -2754,10 +2756,10 @@ yyreduce: } } -#line 2758 "util/configparser.c" +#line 2760 "util/configparser.c" break; - case 251: + case 252: #line 374 "./util/configparser.y" { OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str))); @@ -2773,20 +2775,20 @@ yyreduce: cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); } } -#line 2777 "util/configparser.c" +#line 2779 "util/configparser.c" break; - case 252: + case 253: #line 391 "./util/configparser.y" { OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_cname); cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); } -#line 2787 "util/configparser.c" +#line 2789 "util/configparser.c" break; - case 253: + case 254: #line 399 "./util/configparser.y" { OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str))); @@ -2795,20 +2797,20 @@ yyreduce: else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2799 "util/configparser.c" +#line 2801 "util/configparser.c" break; - case 254: + case 255: #line 409 "./util/configparser.y" { OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_log_name); cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); } -#line 2809 "util/configparser.c" +#line 2811 "util/configparser.c" break; - case 255: + case 256: #line 417 "./util/configparser.y" { struct config_auth* s; @@ -2825,10 +2827,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2829 "util/configparser.c" +#line 2831 "util/configparser.c" break; - case 268: + case 269: #line 440 "./util/configparser.y" { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); @@ -2837,10 +2839,10 @@ yyreduce: else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2841 "util/configparser.c" +#line 2843 "util/configparser.c" break; - case 269: + case 270: #line 449 "./util/configparser.y" { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); @@ -2849,10 +2851,10 @@ yyreduce: else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2853 "util/configparser.c" +#line 2855 "util/configparser.c" break; - case 270: + case 271: #line 458 "./util/configparser.y" { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); @@ -2863,10 +2865,10 @@ yyreduce: else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2867 "util/configparser.c" +#line 2869 "util/configparser.c" break; - case 271: + case 272: #line 469 "./util/configparser.y" { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); @@ -2875,10 +2877,10 @@ yyreduce: else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2879 "util/configparser.c" +#line 2881 "util/configparser.c" break; - case 272: + case 273: #line 478 "./util/configparser.y" { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); @@ -2887,10 +2889,10 @@ yyreduce: else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2891 "util/configparser.c" +#line 2893 "util/configparser.c" break; - case 273: + case 274: #line 487 "./util/configparser.y" { OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); @@ -2899,10 +2901,10 @@ yyreduce: else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2903 "util/configparser.c" +#line 2905 "util/configparser.c" break; - case 274: + case 275: #line 496 "./util/configparser.y" { OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); @@ -2913,10 +2915,10 @@ yyreduce: else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2917 "util/configparser.c" +#line 2919 "util/configparser.c" break; - case 275: + case 276: #line 507 "./util/configparser.y" { OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); @@ -2925,10 +2927,10 @@ yyreduce: else cfg_parser->cfg->port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2929 "util/configparser.c" +#line 2931 "util/configparser.c" break; - case 276: + case 277: #line 516 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -2940,10 +2942,10 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 2944 "util/configparser.c" +#line 2946 "util/configparser.c" break; - case 277: + case 278: #line 528 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -2956,10 +2958,10 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 2960 "util/configparser.c" +#line 2962 "util/configparser.c" break; - case 278: + case 279: #line 542 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -2974,10 +2976,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2978 "util/configparser.c" +#line 2980 "util/configparser.c" break; - case 279: + case 280: #line 557 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -2988,10 +2990,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2992 "util/configparser.c" +#line 2994 "util/configparser.c" break; - case 280: + case 281: #line 568 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3008,10 +3010,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3012 "util/configparser.c" +#line 3014 "util/configparser.c" break; - case 281: + case 282: #line 585 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3028,10 +3030,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3032 "util/configparser.c" +#line 3034 "util/configparser.c" break; - case 282: + case 283: #line 602 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3048,10 +3050,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3052 "util/configparser.c" +#line 3054 "util/configparser.c" break; - case 283: + case 284: #line 619 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3068,10 +3070,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3072 "util/configparser.c" +#line 3074 "util/configparser.c" break; - case 284: + case 285: #line 636 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3086,10 +3088,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3090 "util/configparser.c" +#line 3092 "util/configparser.c" break; - case 285: + case 286: #line 651 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3104,10 +3106,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3108 "util/configparser.c" +#line 3110 "util/configparser.c" break; - case 286: + case 287: #line 666 "./util/configparser.y" { OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); @@ -3120,10 +3122,10 @@ yyreduce: else cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } -#line 3124 "util/configparser.c" +#line 3126 "util/configparser.c" break; - case 287: + case 288: #line 679 "./util/configparser.y" { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); @@ -3138,10 +3140,10 @@ yyreduce: cfg_parser->cfg->out_ifs[ cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } -#line 3142 "util/configparser.c" +#line 3144 "util/configparser.c" break; - case 288: + case 289: #line 694 "./util/configparser.y" { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); @@ -3150,10 +3152,10 @@ yyreduce: else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3154 "util/configparser.c" +#line 3156 "util/configparser.c" break; - case 289: + case 290: #line 703 "./util/configparser.y" { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); @@ -3162,10 +3164,10 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3166 "util/configparser.c" +#line 3168 "util/configparser.c" break; - case 290: + case 291: #line 712 "./util/configparser.y" { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); @@ -3174,10 +3176,10 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3178 "util/configparser.c" +#line 3180 "util/configparser.c" break; - case 291: + case 292: #line 721 "./util/configparser.y" { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); @@ -3186,10 +3188,10 @@ yyreduce: else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3190 "util/configparser.c" +#line 3192 "util/configparser.c" break; - case 292: + case 293: #line 730 "./util/configparser.y" { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); @@ -3198,10 +3200,10 @@ yyreduce: else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3202 "util/configparser.c" +#line 3204 "util/configparser.c" break; - case 293: + case 294: #line 739 "./util/configparser.y" { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); @@ -3210,10 +3212,10 @@ yyreduce: else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3214 "util/configparser.c" +#line 3216 "util/configparser.c" break; - case 294: + case 295: #line 748 "./util/configparser.y" { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); @@ -3222,10 +3224,10 @@ yyreduce: else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3226 "util/configparser.c" +#line 3228 "util/configparser.c" break; - case 295: + case 296: #line 757 "./util/configparser.y" { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); @@ -3234,10 +3236,10 @@ yyreduce: else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3238 "util/configparser.c" +#line 3240 "util/configparser.c" break; - case 296: + case 297: #line 766 "./util/configparser.y" { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); @@ -3246,10 +3248,10 @@ yyreduce: else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3250 "util/configparser.c" +#line 3252 "util/configparser.c" break; - case 297: + case 298: #line 775 "./util/configparser.y" { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); @@ -3258,11 +3260,23 @@ yyreduce: else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3262 "util/configparser.c" +#line 3264 "util/configparser.c" break; - case 298: + case 299: #line 784 "./util/configparser.y" + { + OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); + } +#line 3276 "util/configparser.c" + break; + + case 300: +#line 793 "./util/configparser.y" { OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3270,11 +3284,11 @@ yyreduce: else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3274 "util/configparser.c" +#line 3288 "util/configparser.c" break; - case 299: -#line 793 "./util/configparser.y" + case 301: +#line 802 "./util/configparser.y" { OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3282,11 +3296,11 @@ yyreduce: else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3286 "util/configparser.c" +#line 3300 "util/configparser.c" break; - case 300: -#line 802 "./util/configparser.y" + case 302: +#line 811 "./util/configparser.y" { OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3294,11 +3308,11 @@ yyreduce: else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3298 "util/configparser.c" +#line 3312 "util/configparser.c" break; - case 301: -#line 811 "./util/configparser.y" + case 303: +#line 820 "./util/configparser.y" { OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3310,11 +3324,11 @@ yyreduce: else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3314 "util/configparser.c" +#line 3328 "util/configparser.c" break; - case 302: -#line 824 "./util/configparser.y" + case 304: +#line 833 "./util/configparser.y" { OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3322,11 +3336,11 @@ yyreduce: else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3326 "util/configparser.c" +#line 3340 "util/configparser.c" break; - case 303: -#line 833 "./util/configparser.y" + case 305: +#line 842 "./util/configparser.y" { OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3338,11 +3352,11 @@ yyreduce: else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3342 "util/configparser.c" +#line 3356 "util/configparser.c" break; - case 304: -#line 846 "./util/configparser.y" + case 306: +#line 855 "./util/configparser.y" { OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3350,11 +3364,11 @@ yyreduce: else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3354 "util/configparser.c" +#line 3368 "util/configparser.c" break; - case 305: -#line 855 "./util/configparser.y" + case 307: +#line 864 "./util/configparser.y" { OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3362,11 +3376,11 @@ yyreduce: else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3366 "util/configparser.c" +#line 3380 "util/configparser.c" break; - case 306: -#line 864 "./util/configparser.y" + case 308: +#line 873 "./util/configparser.y" { OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3374,31 +3388,31 @@ yyreduce: else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3378 "util/configparser.c" +#line 3392 "util/configparser.c" break; - case 307: -#line 873 "./util/configparser.y" + case 309: +#line 882 "./util/configparser.y" { OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_key); cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); } -#line 3388 "util/configparser.c" +#line 3402 "util/configparser.c" break; - case 308: -#line 880 "./util/configparser.y" + case 310: +#line 889 "./util/configparser.y" { OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_pem); cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); } -#line 3398 "util/configparser.c" +#line 3412 "util/configparser.c" break; - case 309: -#line 887 "./util/configparser.y" + case 311: +#line 896 "./util/configparser.y" { OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3406,21 +3420,21 @@ yyreduce: else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3410 "util/configparser.c" +#line 3424 "util/configparser.c" break; - case 310: -#line 896 "./util/configparser.y" + case 312: +#line 905 "./util/configparser.y" { OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_cert_bundle); cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); } -#line 3420 "util/configparser.c" +#line 3434 "util/configparser.c" break; - case 311: -#line 903 "./util/configparser.y" + case 313: +#line 912 "./util/configparser.y" { OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3428,53 +3442,53 @@ yyreduce: else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3432 "util/configparser.c" +#line 3446 "util/configparser.c" break; - case 312: -#line 912 "./util/configparser.y" + case 314: +#line 921 "./util/configparser.y" { OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3443 "util/configparser.c" +#line 3457 "util/configparser.c" break; - case 313: -#line 920 "./util/configparser.y" + case 315: +#line 929 "./util/configparser.y" { OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphers); cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); } -#line 3453 "util/configparser.c" +#line 3467 "util/configparser.c" break; - case 314: -#line 927 "./util/configparser.y" + case 316: +#line 936 "./util/configparser.y" { OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphersuites); cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); } -#line 3463 "util/configparser.c" +#line 3477 "util/configparser.c" break; - case 315: -#line 934 "./util/configparser.y" + case 317: +#line 943 "./util/configparser.y" { OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3474 "util/configparser.c" +#line 3488 "util/configparser.c" break; - case 316: -#line 942 "./util/configparser.y" + case 318: +#line 951 "./util/configparser.y" { OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3482,11 +3496,11 @@ yyreduce: else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3486 "util/configparser.c" +#line 3500 "util/configparser.c" break; - case 317: -#line 951 "./util/configparser.y" + case 319: +#line 960 "./util/configparser.y" { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3494,11 +3508,11 @@ yyreduce: else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3498 "util/configparser.c" +#line 3512 "util/configparser.c" break; - case 318: -#line 960 "./util/configparser.y" + case 320: +#line 969 "./util/configparser.y" { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3511,11 +3525,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3515 "util/configparser.c" +#line 3529 "util/configparser.c" break; - case 319: -#line 974 "./util/configparser.y" + case 321: +#line 983 "./util/configparser.y" { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3523,11 +3537,11 @@ yyreduce: else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3527 "util/configparser.c" +#line 3541 "util/configparser.c" break; - case 320: -#line 983 "./util/configparser.y" + case 322: +#line 992 "./util/configparser.y" { OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3535,11 +3549,11 @@ yyreduce: else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3539 "util/configparser.c" +#line 3553 "util/configparser.c" break; - case 321: -#line 992 "./util/configparser.y" + case 323: +#line 1001 "./util/configparser.y" { OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3547,11 +3561,11 @@ yyreduce: else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3551 "util/configparser.c" +#line 3565 "util/configparser.c" break; - case 322: -#line 1001 "./util/configparser.y" + case 324: +#line 1010 "./util/configparser.y" { OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3559,11 +3573,11 @@ yyreduce: else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3563 "util/configparser.c" +#line 3577 "util/configparser.c" break; - case 323: -#line 1010 "./util/configparser.y" + case 325: +#line 1019 "./util/configparser.y" { OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3571,11 +3585,11 @@ yyreduce: else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3575 "util/configparser.c" +#line 3589 "util/configparser.c" break; - case 324: -#line 1019 "./util/configparser.y" + case 326: +#line 1028 "./util/configparser.y" { OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3583,31 +3597,31 @@ yyreduce: else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3587 "util/configparser.c" +#line 3601 "util/configparser.c" break; - case 325: -#line 1028 "./util/configparser.y" + case 327: +#line 1037 "./util/configparser.y" { OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); cfg_parser->cfg->chrootdir = (yyvsp[0].str); } -#line 3597 "util/configparser.c" +#line 3611 "util/configparser.c" break; - case 326: -#line 1035 "./util/configparser.y" + case 328: +#line 1044 "./util/configparser.y" { OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); cfg_parser->cfg->username = (yyvsp[0].str); } -#line 3607 "util/configparser.c" +#line 3621 "util/configparser.c" break; - case 327: -#line 1042 "./util/configparser.y" + case 329: +#line 1051 "./util/configparser.y" { OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->directory); @@ -3632,105 +3646,105 @@ yyreduce: } } } -#line 3636 "util/configparser.c" +#line 3650 "util/configparser.c" break; - case 328: -#line 1068 "./util/configparser.y" + case 330: +#line 1077 "./util/configparser.y" { OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->logfile); cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } -#line 3647 "util/configparser.c" +#line 3661 "util/configparser.c" break; - case 329: -#line 1076 "./util/configparser.y" + case 331: +#line 1085 "./util/configparser.y" { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); cfg_parser->cfg->pidfile = (yyvsp[0].str); } -#line 3657 "util/configparser.c" +#line 3671 "util/configparser.c" break; - case 330: -#line 1083 "./util/configparser.y" + case 332: +#line 1092 "./util/configparser.y" { OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3667 "util/configparser.c" +#line 3681 "util/configparser.c" break; - case 331: -#line 1090 "./util/configparser.y" + case 333: +#line 1099 "./util/configparser.y" { OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dlv_anchor_file); cfg_parser->cfg->dlv_anchor_file = (yyvsp[0].str); } -#line 3677 "util/configparser.c" +#line 3691 "util/configparser.c" break; - case 332: -#line 1097 "./util/configparser.y" + case 334: +#line 1106 "./util/configparser.y" { OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3687 "util/configparser.c" +#line 3701 "util/configparser.c" break; - case 333: -#line 1104 "./util/configparser.y" + case 335: +#line 1113 "./util/configparser.y" { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> auto_trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3698 "util/configparser.c" +#line 3712 "util/configparser.c" break; - case 334: -#line 1112 "./util/configparser.y" + case 336: +#line 1121 "./util/configparser.y" { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3709 "util/configparser.c" +#line 3723 "util/configparser.c" break; - case 335: -#line 1120 "./util/configparser.y" + case 337: +#line 1129 "./util/configparser.y" { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3720 "util/configparser.c" +#line 3734 "util/configparser.c" break; - case 336: -#line 1128 "./util/configparser.y" + case 338: +#line 1137 "./util/configparser.y" { OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3730 "util/configparser.c" +#line 3744 "util/configparser.c" break; - case 337: -#line 1135 "./util/configparser.y" + case 339: +#line 1144 "./util/configparser.y" { OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3740,11 +3754,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3744 "util/configparser.c" +#line 3758 "util/configparser.c" break; - case 338: -#line 1146 "./util/configparser.y" + case 340: +#line 1155 "./util/configparser.y" { OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3754,21 +3768,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3758 "util/configparser.c" +#line 3772 "util/configparser.c" break; - case 339: -#line 1157 "./util/configparser.y" + case 341: +#line 1166 "./util/configparser.y" { OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3768 "util/configparser.c" +#line 3782 "util/configparser.c" break; - case 340: -#line 1164 "./util/configparser.y" + case 342: +#line 1173 "./util/configparser.y" { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3776,11 +3790,11 @@ yyreduce: else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3780 "util/configparser.c" +#line 3794 "util/configparser.c" break; - case 341: -#line 1173 "./util/configparser.y" + case 343: +#line 1182 "./util/configparser.y" { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3788,11 +3802,11 @@ yyreduce: else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3792 "util/configparser.c" +#line 3806 "util/configparser.c" break; - case 342: -#line 1182 "./util/configparser.y" + case 344: +#line 1191 "./util/configparser.y" { OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3800,53 +3814,53 @@ yyreduce: else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3804 "util/configparser.c" +#line 3818 "util/configparser.c" break; - case 343: -#line 1191 "./util/configparser.y" + case 345: +#line 1200 "./util/configparser.y" { OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); cfg_parser->cfg->identity = (yyvsp[0].str); } -#line 3814 "util/configparser.c" +#line 3828 "util/configparser.c" break; - case 344: -#line 1198 "./util/configparser.y" + case 346: +#line 1207 "./util/configparser.y" { OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); cfg_parser->cfg->version = (yyvsp[0].str); } -#line 3824 "util/configparser.c" +#line 3838 "util/configparser.c" break; - case 345: -#line 1205 "./util/configparser.y" + case 347: +#line 1214 "./util/configparser.y" { OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 3835 "util/configparser.c" +#line 3849 "util/configparser.c" break; - case 346: -#line 1213 "./util/configparser.y" + case 348: +#line 1222 "./util/configparser.y" { OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 3846 "util/configparser.c" +#line 3860 "util/configparser.c" break; - case 347: -#line 1221 "./util/configparser.y" + case 349: +#line 1230 "./util/configparser.y" { OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3855,11 +3869,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3859 "util/configparser.c" +#line 3873 "util/configparser.c" break; - case 348: -#line 1231 "./util/configparser.y" + case 350: +#line 1240 "./util/configparser.y" { OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3868,11 +3882,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3872 "util/configparser.c" +#line 3886 "util/configparser.c" break; - case 349: -#line 1241 "./util/configparser.y" + case 351: +#line 1250 "./util/configparser.y" { OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3881,22 +3895,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3885 "util/configparser.c" +#line 3899 "util/configparser.c" break; - case 350: -#line 1251 "./util/configparser.y" + case 352: +#line 1260 "./util/configparser.y" { OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3896 "util/configparser.c" +#line 3910 "util/configparser.c" break; - case 351: -#line 1259 "./util/configparser.y" + case 353: +#line 1268 "./util/configparser.y" { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3908,11 +3922,11 @@ yyreduce: else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3912 "util/configparser.c" +#line 3926 "util/configparser.c" break; - case 352: -#line 1272 "./util/configparser.y" + case 354: +#line 1281 "./util/configparser.y" { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3922,22 +3936,22 @@ yyreduce: else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3926 "util/configparser.c" +#line 3940 "util/configparser.c" break; - case 353: -#line 1283 "./util/configparser.y" + case 355: +#line 1292 "./util/configparser.y" { OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3937 "util/configparser.c" +#line 3951 "util/configparser.c" break; - case 354: -#line 1291 "./util/configparser.y" + case 356: +#line 1300 "./util/configparser.y" { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3949,11 +3963,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3953 "util/configparser.c" +#line 3967 "util/configparser.c" break; - case 355: -#line 1304 "./util/configparser.y" + case 357: +#line 1313 "./util/configparser.y" { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3961,11 +3975,11 @@ yyreduce: else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3965 "util/configparser.c" +#line 3979 "util/configparser.c" break; - case 356: -#line 1313 "./util/configparser.y" + case 358: +#line 1322 "./util/configparser.y" { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3973,11 +3987,11 @@ yyreduce: else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3977 "util/configparser.c" +#line 3991 "util/configparser.c" break; - case 357: -#line 1322 "./util/configparser.y" + case 359: +#line 1331 "./util/configparser.y" { OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3985,11 +3999,11 @@ yyreduce: else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3989 "util/configparser.c" +#line 4003 "util/configparser.c" break; - case 358: -#line 1331 "./util/configparser.y" + case 360: +#line 1340 "./util/configparser.y" { OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3998,11 +4012,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4002 "util/configparser.c" +#line 4016 "util/configparser.c" break; - case 359: -#line 1341 "./util/configparser.y" + case 361: +#line 1350 "./util/configparser.y" { OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4011,22 +4025,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4015 "util/configparser.c" +#line 4029 "util/configparser.c" break; - case 360: -#line 1351 "./util/configparser.y" + case 362: +#line 1360 "./util/configparser.y" { OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4026 "util/configparser.c" +#line 4040 "util/configparser.c" break; - case 361: -#line 1359 "./util/configparser.y" + case 363: +#line 1368 "./util/configparser.y" { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4038,11 +4052,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4042 "util/configparser.c" +#line 4056 "util/configparser.c" break; - case 362: -#line 1372 "./util/configparser.y" + case 364: +#line 1381 "./util/configparser.y" { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4050,22 +4064,22 @@ yyreduce: else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4054 "util/configparser.c" +#line 4068 "util/configparser.c" break; - case 363: -#line 1381 "./util/configparser.y" + case 365: +#line 1390 "./util/configparser.y" { OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " "removed, use infra-host-ttl)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4065 "util/configparser.c" +#line 4079 "util/configparser.c" break; - case 364: -#line 1389 "./util/configparser.y" + case 366: +#line 1398 "./util/configparser.y" { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4073,22 +4087,22 @@ yyreduce: else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4077 "util/configparser.c" +#line 4091 "util/configparser.c" break; - case 365: -#line 1398 "./util/configparser.y" + case 367: +#line 1407 "./util/configparser.y" { OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4088 "util/configparser.c" +#line 4102 "util/configparser.c" break; - case 366: -#line 1406 "./util/configparser.y" + case 368: +#line 1415 "./util/configparser.y" { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4100,11 +4114,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4104 "util/configparser.c" +#line 4118 "util/configparser.c" break; - case 367: -#line 1419 "./util/configparser.y" + case 369: +#line 1428 "./util/configparser.y" { OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4112,21 +4126,21 @@ yyreduce: else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4116 "util/configparser.c" +#line 4130 "util/configparser.c" break; - case 368: -#line 1428 "./util/configparser.y" + case 370: +#line 1437 "./util/configparser.y" { OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->target_fetch_policy); cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); } -#line 4126 "util/configparser.c" +#line 4140 "util/configparser.c" break; - case 369: -#line 1435 "./util/configparser.y" + case 371: +#line 1444 "./util/configparser.y" { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4135,11 +4149,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4139 "util/configparser.c" +#line 4153 "util/configparser.c" break; - case 370: -#line 1445 "./util/configparser.y" + case 372: +#line 1454 "./util/configparser.y" { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4148,11 +4162,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4152 "util/configparser.c" +#line 4166 "util/configparser.c" break; - case 371: -#line 1455 "./util/configparser.y" + case 373: +#line 1464 "./util/configparser.y" { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4161,11 +4175,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4165 "util/configparser.c" +#line 4179 "util/configparser.c" break; - case 372: -#line 1465 "./util/configparser.y" + case 374: +#line 1474 "./util/configparser.y" { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4174,11 +4188,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4178 "util/configparser.c" +#line 4192 "util/configparser.c" break; - case 373: -#line 1475 "./util/configparser.y" + case 375: +#line 1484 "./util/configparser.y" { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4187,11 +4201,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4191 "util/configparser.c" +#line 4205 "util/configparser.c" break; - case 374: -#line 1485 "./util/configparser.y" + case 376: +#line 1494 "./util/configparser.y" { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4200,11 +4214,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4204 "util/configparser.c" +#line 4218 "util/configparser.c" break; - case 375: -#line 1495 "./util/configparser.y" + case 377: +#line 1504 "./util/configparser.y" { OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4213,11 +4227,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4217 "util/configparser.c" +#line 4231 "util/configparser.c" break; - case 376: -#line 1505 "./util/configparser.y" + case 378: +#line 1514 "./util/configparser.y" { OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4226,41 +4240,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4230 "util/configparser.c" +#line 4244 "util/configparser.c" break; - case 377: -#line 1515 "./util/configparser.y" + case 379: +#line 1524 "./util/configparser.y" { OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4240 "util/configparser.c" +#line 4254 "util/configparser.c" break; - case 378: -#line 1522 "./util/configparser.y" + case 380: +#line 1531 "./util/configparser.y" { OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4250 "util/configparser.c" +#line 4264 "util/configparser.c" break; - case 379: -#line 1529 "./util/configparser.y" + case 381: +#line 1538 "./util/configparser.y" { OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4260 "util/configparser.c" +#line 4274 "util/configparser.c" break; - case 380: -#line 1536 "./util/configparser.y" + case 382: +#line 1545 "./util/configparser.y" { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4268,11 +4282,11 @@ yyreduce: else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4272 "util/configparser.c" +#line 4286 "util/configparser.c" break; - case 381: -#line 1545 "./util/configparser.y" + case 383: +#line 1554 "./util/configparser.y" { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4280,11 +4294,11 @@ yyreduce: else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4284 "util/configparser.c" +#line 4298 "util/configparser.c" break; - case 382: -#line 1554 "./util/configparser.y" + case 384: +#line 1563 "./util/configparser.y" { OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4292,11 +4306,11 @@ yyreduce: else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4296 "util/configparser.c" +#line 4310 "util/configparser.c" break; - case 383: -#line 1563 "./util/configparser.y" + case 385: +#line 1572 "./util/configparser.y" { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4304,21 +4318,21 @@ yyreduce: else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4308 "util/configparser.c" +#line 4322 "util/configparser.c" break; - case 384: -#line 1572 "./util/configparser.y" + case 386: +#line 1581 "./util/configparser.y" { OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4318 "util/configparser.c" +#line 4332 "util/configparser.c" break; - case 385: -#line 1579 "./util/configparser.y" + case 387: +#line 1588 "./util/configparser.y" { OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4327,11 +4341,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4331 "util/configparser.c" +#line 4345 "util/configparser.c" break; - case 386: -#line 1589 "./util/configparser.y" + case 388: +#line 1598 "./util/configparser.y" { OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "deny")!=0 && strcmp((yyvsp[0].str), "refuse")!=0 && @@ -4350,21 +4364,21 @@ yyreduce: fatal_exit("out of memory adding acl"); } } -#line 4354 "util/configparser.c" +#line 4368 "util/configparser.c" break; - case 387: -#line 1609 "./util/configparser.y" + case 389: +#line 1618 "./util/configparser.y" { OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->module_conf); cfg_parser->cfg->module_conf = (yyvsp[0].str); } -#line 4364 "util/configparser.c" +#line 4378 "util/configparser.c" break; - case 388: -#line 1616 "./util/configparser.y" + case 390: +#line 1625 "./util/configparser.y" { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4381,11 +4395,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4385 "util/configparser.c" +#line 4399 "util/configparser.c" break; - case 389: -#line 1634 "./util/configparser.y" + case 391: +#line 1643 "./util/configparser.y" { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4397,11 +4411,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4401 "util/configparser.c" +#line 4415 "util/configparser.c" break; - case 390: -#line 1647 "./util/configparser.y" + case 392: +#line 1656 "./util/configparser.y" { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4413,11 +4427,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4417 "util/configparser.c" +#line 4431 "util/configparser.c" break; - case 391: -#line 1660 "./util/configparser.y" + case 393: +#line 1669 "./util/configparser.y" { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4425,11 +4439,11 @@ yyreduce: else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4429 "util/configparser.c" +#line 4443 "util/configparser.c" break; - case 392: -#line 1669 "./util/configparser.y" + case 394: +#line 1678 "./util/configparser.y" { OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4437,11 +4451,11 @@ yyreduce: else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4441 "util/configparser.c" +#line 4455 "util/configparser.c" break; - case 393: -#line 1678 "./util/configparser.y" + case 395: +#line 1687 "./util/configparser.y" { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4449,11 +4463,11 @@ yyreduce: else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4453 "util/configparser.c" +#line 4467 "util/configparser.c" break; - case 394: -#line 1687 "./util/configparser.y" + case 396: +#line 1696 "./util/configparser.y" { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4461,11 +4475,11 @@ yyreduce: else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4465 "util/configparser.c" +#line 4479 "util/configparser.c" break; - case 395: -#line 1696 "./util/configparser.y" + case 397: +#line 1705 "./util/configparser.y" { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4474,11 +4488,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4478 "util/configparser.c" +#line 4492 "util/configparser.c" break; - case 396: -#line 1706 "./util/configparser.y" + case 398: +#line 1715 "./util/configparser.y" { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4487,11 +4501,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4491 "util/configparser.c" +#line 4505 "util/configparser.c" break; - case 397: -#line 1716 "./util/configparser.y" + case 399: +#line 1725 "./util/configparser.y" { OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4501,11 +4515,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4505 "util/configparser.c" +#line 4519 "util/configparser.c" break; - case 398: -#line 1727 "./util/configparser.y" + case 400: +#line 1736 "./util/configparser.y" { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4513,11 +4527,11 @@ yyreduce: else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4517 "util/configparser.c" +#line 4531 "util/configparser.c" break; - case 399: -#line 1736 "./util/configparser.y" + case 401: +#line 1745 "./util/configparser.y" { OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4525,11 +4539,11 @@ yyreduce: else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4529 "util/configparser.c" +#line 4543 "util/configparser.c" break; - case 400: -#line 1745 "./util/configparser.y" + case 402: +#line 1754 "./util/configparser.y" { OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4537,11 +4551,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4541 "util/configparser.c" +#line 4555 "util/configparser.c" break; - case 401: -#line 1754 "./util/configparser.y" + case 403: +#line 1763 "./util/configparser.y" { OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4549,11 +4563,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4553 "util/configparser.c" +#line 4567 "util/configparser.c" break; - case 402: -#line 1763 "./util/configparser.y" + case 404: +#line 1772 "./util/configparser.y" { OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4561,11 +4575,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4565 "util/configparser.c" +#line 4579 "util/configparser.c" break; - case 403: -#line 1772 "./util/configparser.y" + case 405: +#line 1781 "./util/configparser.y" { OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4573,11 +4587,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4577 "util/configparser.c" +#line 4591 "util/configparser.c" break; - case 404: -#line 1781 "./util/configparser.y" + case 406: +#line 1790 "./util/configparser.y" { OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4589,11 +4603,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 4593 "util/configparser.c" +#line 4607 "util/configparser.c" break; - case 405: -#line 1794 "./util/configparser.y" + case 407: +#line 1803 "./util/configparser.y" { OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4605,11 +4619,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 4609 "util/configparser.c" +#line 4623 "util/configparser.c" break; - case 406: -#line 1807 "./util/configparser.y" + case 408: +#line 1816 "./util/configparser.y" { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4617,21 +4631,21 @@ yyreduce: else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4621 "util/configparser.c" +#line 4635 "util/configparser.c" break; - case 407: -#line 1816 "./util/configparser.y" + case 409: +#line 1825 "./util/configparser.y" { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); } -#line 4631 "util/configparser.c" +#line 4645 "util/configparser.c" break; - case 408: -#line 1823 "./util/configparser.y" + case 410: +#line 1832 "./util/configparser.y" { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4639,11 +4653,11 @@ yyreduce: else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4643 "util/configparser.c" +#line 4657 "util/configparser.c" break; - case 409: -#line 1832 "./util/configparser.y" + case 411: +#line 1841 "./util/configparser.y" { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4651,11 +4665,11 @@ yyreduce: else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4655 "util/configparser.c" +#line 4669 "util/configparser.c" break; - case 410: -#line 1841 "./util/configparser.y" + case 412: +#line 1850 "./util/configparser.y" { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4663,11 +4677,11 @@ yyreduce: else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4667 "util/configparser.c" +#line 4681 "util/configparser.c" break; - case 411: -#line 1850 "./util/configparser.y" + case 413: +#line 1859 "./util/configparser.y" { OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4676,22 +4690,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4680 "util/configparser.c" +#line 4694 "util/configparser.c" break; - case 412: -#line 1859 "./util/configparser.y" + case 414: +#line 1868 "./util/configparser.y" { OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4691 "util/configparser.c" +#line 4705 "util/configparser.c" break; - case 413: -#line 1867 "./util/configparser.y" + case 415: +#line 1876 "./util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4703,22 +4717,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4707 "util/configparser.c" +#line 4721 "util/configparser.c" break; - case 414: -#line 1880 "./util/configparser.y" + case 416: +#line 1889 "./util/configparser.y" { OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4718 "util/configparser.c" +#line 4732 "util/configparser.c" break; - case 415: -#line 1888 "./util/configparser.y" + case 417: +#line 1897 "./util/configparser.y" { OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -4758,21 +4772,21 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 4762 "util/configparser.c" +#line 4776 "util/configparser.c" break; - case 416: -#line 1929 "./util/configparser.y" + case 418: +#line 1938 "./util/configparser.y" { OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) fatal_exit("out of memory adding local-data"); } -#line 4772 "util/configparser.c" +#line 4786 "util/configparser.c" break; - case 417: -#line 1936 "./util/configparser.y" + case 419: +#line 1945 "./util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -4786,11 +4800,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 4790 "util/configparser.c" +#line 4804 "util/configparser.c" break; - case 418: -#line 1951 "./util/configparser.y" + case 420: +#line 1960 "./util/configparser.y" { OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4799,11 +4813,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4803 "util/configparser.c" +#line 4817 "util/configparser.c" break; - case 419: -#line 1961 "./util/configparser.y" + case 421: +#line 1970 "./util/configparser.y" { OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4812,41 +4826,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4816 "util/configparser.c" +#line 4830 "util/configparser.c" break; - case 420: -#line 1971 "./util/configparser.y" + case 422: +#line 1980 "./util/configparser.y" { OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4826 "util/configparser.c" +#line 4840 "util/configparser.c" break; - case 421: -#line 1978 "./util/configparser.y" + case 423: +#line 1987 "./util/configparser.y" { OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4836 "util/configparser.c" +#line 4850 "util/configparser.c" break; - case 422: -#line 1985 "./util/configparser.y" + case 424: +#line 1994 "./util/configparser.y" { OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } -#line 4846 "util/configparser.c" +#line 4860 "util/configparser.c" break; - case 423: -#line 1992 "./util/configparser.y" + case 425: +#line 2001 "./util/configparser.y" { OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4854,22 +4868,22 @@ yyreduce: else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4858 "util/configparser.c" +#line 4872 "util/configparser.c" break; - case 424: -#line 2001 "./util/configparser.y" + case 426: +#line 2010 "./util/configparser.y" { OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa, (yyvsp[0].str))) fatal_exit("out of memory adding dns64-ignore-aaaa"); } -#line 4869 "util/configparser.c" +#line 4883 "util/configparser.c" break; - case 425: -#line 2009 "./util/configparser.y" + case 427: +#line 2018 "./util/configparser.y" { char* p, *s = (yyvsp[0].str); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); @@ -4882,11 +4896,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4886 "util/configparser.c" +#line 4900 "util/configparser.c" break; - case 426: -#line 2023 "./util/configparser.y" + case 428: +#line 2032 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4906,11 +4920,11 @@ yyreduce: } } } -#line 4910 "util/configparser.c" +#line 4924 "util/configparser.c" break; - case 427: -#line 2044 "./util/configparser.y" + case 429: +#line 2053 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4930,11 +4944,11 @@ yyreduce: } } } -#line 4934 "util/configparser.c" +#line 4948 "util/configparser.c" break; - case 428: -#line 2065 "./util/configparser.y" + case 430: +#line 2074 "./util/configparser.y" { OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, @@ -4945,11 +4959,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4949 "util/configparser.c" +#line 4963 "util/configparser.c" break; - case 429: -#line 2077 "./util/configparser.y" + case 431: +#line 2086 "./util/configparser.y" { OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, @@ -4960,11 +4974,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4964 "util/configparser.c" +#line 4978 "util/configparser.c" break; - case 430: -#line 2089 "./util/configparser.y" + case 432: +#line 2098 "./util/configparser.y" { OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, @@ -4975,11 +4989,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4979 "util/configparser.c" +#line 4993 "util/configparser.c" break; - case 431: -#line 2101 "./util/configparser.y" + case 433: +#line 2110 "./util/configparser.y" { OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, @@ -4987,11 +5001,11 @@ yyreduce: yyerror("out of memory"); } } -#line 4991 "util/configparser.c" +#line 5005 "util/configparser.c" break; - case 432: -#line 2110 "./util/configparser.y" + case 434: +#line 2119 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -5011,11 +5025,11 @@ yyreduce: } } } -#line 5015 "util/configparser.c" +#line 5029 "util/configparser.c" break; - case 433: -#line 2131 "./util/configparser.y" + case 435: +#line 2140 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5023,11 +5037,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5027 "util/configparser.c" +#line 5041 "util/configparser.c" break; - case 434: -#line 2141 "./util/configparser.y" + case 436: +#line 2150 "./util/configparser.y" { OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5035,33 +5049,33 @@ yyreduce: else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5039 "util/configparser.c" +#line 5053 "util/configparser.c" break; - case 435: -#line 2150 "./util/configparser.y" + case 437: +#line 2159 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 5050 "util/configparser.c" +#line 5064 "util/configparser.c" break; - case 436: -#line 2158 "./util/configparser.y" + case 438: +#line 2167 "./util/configparser.y" { OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 5061 "util/configparser.c" +#line 5075 "util/configparser.c" break; - case 437: -#line 2166 "./util/configparser.y" + case 439: +#line 2175 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5073,11 +5087,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5077 "util/configparser.c" +#line 5091 "util/configparser.c" break; - case 438: -#line 2179 "./util/configparser.y" + case 440: +#line 2188 "./util/configparser.y" { OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5089,11 +5103,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5093 "util/configparser.c" +#line 5107 "util/configparser.c" break; - case 439: -#line 2192 "./util/configparser.y" + case 441: +#line 2201 "./util/configparser.y" { OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -5107,11 +5121,11 @@ yyreduce: "ratelimit-for-domain"); } } -#line 5111 "util/configparser.c" +#line 5125 "util/configparser.c" break; - case 440: -#line 2207 "./util/configparser.y" + case 442: +#line 2216 "./util/configparser.y" { OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -5125,11 +5139,11 @@ yyreduce: "ratelimit-below-domain"); } } -#line 5129 "util/configparser.c" +#line 5143 "util/configparser.c" break; - case 441: -#line 2222 "./util/configparser.y" + case 443: +#line 2231 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5137,11 +5151,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5141 "util/configparser.c" +#line 5155 "util/configparser.c" break; - case 442: -#line 2231 "./util/configparser.y" + case 444: +#line 2240 "./util/configparser.y" { OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5149,20 +5163,20 @@ yyreduce: else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5153 "util/configparser.c" +#line 5167 "util/configparser.c" break; - case 443: -#line 2240 "./util/configparser.y" + case 445: +#line 2249 "./util/configparser.y" { OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n")); free((yyvsp[0].str)); } -#line 5162 "util/configparser.c" +#line 5176 "util/configparser.c" break; - case 444: -#line 2246 "./util/configparser.y" + case 446: +#line 2255 "./util/configparser.y" { OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) <= 0) @@ -5170,11 +5184,11 @@ yyreduce: else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5174 "util/configparser.c" +#line 5188 "util/configparser.c" break; - case 445: -#line 2255 "./util/configparser.y" + case 447: +#line 2264 "./util/configparser.y" { OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5182,11 +5196,11 @@ yyreduce: else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5186 "util/configparser.c" +#line 5200 "util/configparser.c" break; - case 446: -#line 2264 "./util/configparser.y" + case 448: +#line 2273 "./util/configparser.y" { OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5195,11 +5209,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5199 "util/configparser.c" +#line 5213 "util/configparser.c" break; - case 447: -#line 2274 "./util/configparser.y" + case 449: +#line 2283 "./util/configparser.y" { OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5208,11 +5222,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5212 "util/configparser.c" +#line 5226 "util/configparser.c" break; - case 448: -#line 2284 "./util/configparser.y" + case 450: +#line 2293 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); @@ -5224,11 +5238,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5228 "util/configparser.c" +#line 5242 "util/configparser.c" break; - case 449: -#line 2297 "./util/configparser.y" + case 451: +#line 2306 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); @@ -5240,11 +5254,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5244 "util/configparser.c" +#line 5258 "util/configparser.c" break; - case 450: -#line 2310 "./util/configparser.y" + case 452: +#line 2319 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); @@ -5255,11 +5269,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5259 "util/configparser.c" +#line 5273 "util/configparser.c" break; - case 451: -#line 2322 "./util/configparser.y" + case 453: +#line 2331 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); @@ -5272,11 +5286,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5276 "util/configparser.c" +#line 5290 "util/configparser.c" break; - case 452: -#line 2336 "./util/configparser.y" + case 454: +#line 2345 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); @@ -5287,11 +5301,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5291 "util/configparser.c" +#line 5305 "util/configparser.c" break; - case 453: -#line 2348 "./util/configparser.y" + case 455: +#line 2357 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); @@ -5304,11 +5318,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5308 "util/configparser.c" +#line 5322 "util/configparser.c" break; - case 454: -#line 2362 "./util/configparser.y" + case 456: +#line 2371 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) @@ -5317,31 +5331,31 @@ yyreduce: free(cfg_parser->cfg->stubs->name); cfg_parser->cfg->stubs->name = (yyvsp[0].str); } -#line 5321 "util/configparser.c" +#line 5335 "util/configparser.c" break; - case 455: -#line 2372 "./util/configparser.y" + case 457: +#line 2381 "./util/configparser.y" { OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5331 "util/configparser.c" +#line 5345 "util/configparser.c" break; - case 456: -#line 2379 "./util/configparser.y" + case 458: +#line 2388 "./util/configparser.y" { OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5341 "util/configparser.c" +#line 5355 "util/configparser.c" break; - case 457: -#line 2386 "./util/configparser.y" + case 459: +#line 2395 "./util/configparser.y" { OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5349,11 +5363,11 @@ yyreduce: else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5353 "util/configparser.c" +#line 5367 "util/configparser.c" break; - case 458: -#line 2395 "./util/configparser.y" + case 460: +#line 2404 "./util/configparser.y" { OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5361,11 +5375,11 @@ yyreduce: else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5365 "util/configparser.c" +#line 5379 "util/configparser.c" break; - case 459: -#line 2404 "./util/configparser.y" + case 461: +#line 2413 "./util/configparser.y" { OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5374,11 +5388,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5378 "util/configparser.c" +#line 5392 "util/configparser.c" break; - case 460: -#line 2414 "./util/configparser.y" + case 462: +#line 2423 "./util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5387,11 +5401,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5391 "util/configparser.c" +#line 5405 "util/configparser.c" break; - case 461: -#line 2424 "./util/configparser.y" + case 463: +#line 2433 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) @@ -5400,31 +5414,31 @@ yyreduce: free(cfg_parser->cfg->forwards->name); cfg_parser->cfg->forwards->name = (yyvsp[0].str); } -#line 5404 "util/configparser.c" +#line 5418 "util/configparser.c" break; - case 462: -#line 2434 "./util/configparser.y" + case 464: +#line 2443 "./util/configparser.y" { OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5414 "util/configparser.c" +#line 5428 "util/configparser.c" break; - case 463: -#line 2441 "./util/configparser.y" + case 465: +#line 2450 "./util/configparser.y" { OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5424 "util/configparser.c" +#line 5438 "util/configparser.c" break; - case 464: -#line 2448 "./util/configparser.y" + case 466: +#line 2457 "./util/configparser.y" { OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5432,11 +5446,11 @@ yyreduce: else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5436 "util/configparser.c" +#line 5450 "util/configparser.c" break; - case 465: -#line 2457 "./util/configparser.y" + case 467: +#line 2466 "./util/configparser.y" { OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5444,11 +5458,11 @@ yyreduce: else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5448 "util/configparser.c" +#line 5462 "util/configparser.c" break; - case 466: -#line 2466 "./util/configparser.y" + case 468: +#line 2475 "./util/configparser.y" { OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5457,11 +5471,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5461 "util/configparser.c" +#line 5475 "util/configparser.c" break; - case 467: -#line 2476 "./util/configparser.y" + case 469: +#line 2485 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->auths->name) @@ -5470,52 +5484,52 @@ yyreduce: free(cfg_parser->cfg->auths->name); cfg_parser->cfg->auths->name = (yyvsp[0].str); } -#line 5474 "util/configparser.c" +#line 5488 "util/configparser.c" break; - case 468: -#line 2486 "./util/configparser.y" + case 470: +#line 2495 "./util/configparser.y" { OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->zonefile); cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); } -#line 5484 "util/configparser.c" +#line 5498 "util/configparser.c" break; - case 469: -#line 2493 "./util/configparser.y" + case 471: +#line 2502 "./util/configparser.y" { OUTYY(("P(master:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5494 "util/configparser.c" +#line 5508 "util/configparser.c" break; - case 470: -#line 2500 "./util/configparser.y" + case 472: +#line 2509 "./util/configparser.y" { OUTYY(("P(url:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5504 "util/configparser.c" +#line 5518 "util/configparser.c" break; - case 471: -#line 2507 "./util/configparser.y" + case 473: +#line 2516 "./util/configparser.y" { OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5515 "util/configparser.c" +#line 5529 "util/configparser.c" break; - case 472: -#line 2515 "./util/configparser.y" + case 474: +#line 2524 "./util/configparser.y" { OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5524,11 +5538,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5528 "util/configparser.c" +#line 5542 "util/configparser.c" break; - case 473: -#line 2525 "./util/configparser.y" + case 475: +#line 2534 "./util/configparser.y" { OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5537,11 +5551,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5541 "util/configparser.c" +#line 5555 "util/configparser.c" break; - case 474: -#line 2535 "./util/configparser.y" + case 476: +#line 2544 "./util/configparser.y" { OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5550,11 +5564,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5554 "util/configparser.c" +#line 5568 "util/configparser.c" break; - case 475: -#line 2545 "./util/configparser.y" + case 477: +#line 2554 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) @@ -5563,11 +5577,11 @@ yyreduce: free(cfg_parser->cfg->views->name); cfg_parser->cfg->views->name = (yyvsp[0].str); } -#line 5567 "util/configparser.c" +#line 5581 "util/configparser.c" break; - case 476: -#line 2555 "./util/configparser.y" + case 478: +#line 2564 "./util/configparser.y" { OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -5605,11 +5619,11 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 5609 "util/configparser.c" +#line 5623 "util/configparser.c" break; - case 477: -#line 2594 "./util/configparser.y" + case 479: +#line 2603 "./util/configparser.y" { OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -5618,33 +5632,33 @@ yyreduce: fatal_exit("out of memory adding per-view " "response-ip action"); } -#line 5622 "util/configparser.c" +#line 5636 "util/configparser.c" break; - case 478: -#line 2604 "./util/configparser.y" + case 480: +#line 2613 "./util/configparser.y" { OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert( &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 5633 "util/configparser.c" +#line 5647 "util/configparser.c" break; - case 479: -#line 2612 "./util/configparser.y" + case 481: +#line 2621 "./util/configparser.y" { OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { fatal_exit("out of memory adding local-data"); } } -#line 5644 "util/configparser.c" +#line 5658 "util/configparser.c" break; - case 480: -#line 2620 "./util/configparser.y" + case 482: +#line 2629 "./util/configparser.y" { char* ptr; OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -5658,11 +5672,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 5662 "util/configparser.c" +#line 5676 "util/configparser.c" break; - case 481: -#line 2635 "./util/configparser.y" + case 483: +#line 2644 "./util/configparser.y" { OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5670,19 +5684,19 @@ yyreduce: else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5674 "util/configparser.c" +#line 5688 "util/configparser.c" break; - case 482: -#line 2644 "./util/configparser.y" + case 484: +#line 2653 "./util/configparser.y" { OUTYY(("\nP(remote-control:)\n")); } -#line 5682 "util/configparser.c" +#line 5696 "util/configparser.c" break; - case 493: -#line 2655 "./util/configparser.y" + case 495: +#line 2664 "./util/configparser.y" { OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5691,11 +5705,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5695 "util/configparser.c" +#line 5709 "util/configparser.c" break; - case 494: -#line 2665 "./util/configparser.y" + case 496: +#line 2674 "./util/configparser.y" { OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5703,79 +5717,79 @@ yyreduce: else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5707 "util/configparser.c" +#line 5721 "util/configparser.c" break; - case 495: -#line 2674 "./util/configparser.y" + case 497: +#line 2683 "./util/configparser.y" { OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5717 "util/configparser.c" +#line 5731 "util/configparser.c" break; - case 496: -#line 2681 "./util/configparser.y" + case 498: +#line 2690 "./util/configparser.y" { OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5727 "util/configparser.c" +#line 5741 "util/configparser.c" break; - case 497: -#line 2688 "./util/configparser.y" + case 499: +#line 2697 "./util/configparser.y" { OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_key_file); cfg_parser->cfg->server_key_file = (yyvsp[0].str); } -#line 5737 "util/configparser.c" +#line 5751 "util/configparser.c" break; - case 498: -#line 2695 "./util/configparser.y" + case 500: +#line 2704 "./util/configparser.y" { OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_cert_file); cfg_parser->cfg->server_cert_file = (yyvsp[0].str); } -#line 5747 "util/configparser.c" +#line 5761 "util/configparser.c" break; - case 499: -#line 2702 "./util/configparser.y" + case 501: +#line 2711 "./util/configparser.y" { OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_key_file); cfg_parser->cfg->control_key_file = (yyvsp[0].str); } -#line 5757 "util/configparser.c" +#line 5771 "util/configparser.c" break; - case 500: -#line 2709 "./util/configparser.y" + case 502: +#line 2718 "./util/configparser.y" { OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_cert_file); cfg_parser->cfg->control_cert_file = (yyvsp[0].str); } -#line 5767 "util/configparser.c" +#line 5781 "util/configparser.c" break; - case 501: -#line 2716 "./util/configparser.y" + case 503: +#line 2725 "./util/configparser.y" { OUTYY(("\nP(dnstap:)\n")); } -#line 5775 "util/configparser.c" +#line 5789 "util/configparser.c" break; - case 516: -#line 2733 "./util/configparser.y" + case 518: +#line 2742 "./util/configparser.y" { OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5783,21 +5797,21 @@ yyreduce: else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5787 "util/configparser.c" +#line 5801 "util/configparser.c" break; - case 517: -#line 2742 "./util/configparser.y" + case 519: +#line 2751 "./util/configparser.y" { OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_socket_path); cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); } -#line 5797 "util/configparser.c" +#line 5811 "util/configparser.c" break; - case 518: -#line 2749 "./util/configparser.y" + case 520: +#line 2758 "./util/configparser.y" { OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5805,11 +5819,11 @@ yyreduce: else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5809 "util/configparser.c" +#line 5823 "util/configparser.c" break; - case 519: -#line 2758 "./util/configparser.y" + case 521: +#line 2767 "./util/configparser.y" { OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5817,31 +5831,31 @@ yyreduce: else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5821 "util/configparser.c" +#line 5835 "util/configparser.c" break; - case 520: -#line 2767 "./util/configparser.y" + case 522: +#line 2776 "./util/configparser.y" { OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_identity); cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); } -#line 5831 "util/configparser.c" +#line 5845 "util/configparser.c" break; - case 521: -#line 2774 "./util/configparser.y" + case 523: +#line 2783 "./util/configparser.y" { OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_version); cfg_parser->cfg->dnstap_version = (yyvsp[0].str); } -#line 5841 "util/configparser.c" +#line 5855 "util/configparser.c" break; - case 522: -#line 2781 "./util/configparser.y" + case 524: +#line 2790 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5850,11 +5864,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5854 "util/configparser.c" +#line 5868 "util/configparser.c" break; - case 523: -#line 2791 "./util/configparser.y" + case 525: +#line 2800 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5863,11 +5877,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5867 "util/configparser.c" +#line 5881 "util/configparser.c" break; - case 524: -#line 2801 "./util/configparser.y" + case 526: +#line 2810 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5876,11 +5890,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5880 "util/configparser.c" +#line 5894 "util/configparser.c" break; - case 525: -#line 2811 "./util/configparser.y" + case 527: +#line 2820 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5889,11 +5903,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5893 "util/configparser.c" +#line 5907 "util/configparser.c" break; - case 526: -#line 2821 "./util/configparser.y" + case 528: +#line 2830 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5902,11 +5916,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5906 "util/configparser.c" +#line 5920 "util/configparser.c" break; - case 527: -#line 2831 "./util/configparser.y" + case 529: +#line 2840 "./util/configparser.y" { OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5915,29 +5929,29 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5919 "util/configparser.c" +#line 5933 "util/configparser.c" break; - case 528: -#line 2841 "./util/configparser.y" + case 530: +#line 2850 "./util/configparser.y" { OUTYY(("\nP(python:)\n")); } -#line 5927 "util/configparser.c" +#line 5941 "util/configparser.c" break; - case 532: -#line 2850 "./util/configparser.y" + case 534: +#line 2859 "./util/configparser.y" { OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5937 "util/configparser.c" +#line 5951 "util/configparser.c" break; - case 533: -#line 2856 "./util/configparser.y" + case 535: +#line 2865 "./util/configparser.y" { OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5946,21 +5960,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5950 "util/configparser.c" +#line 5964 "util/configparser.c" break; - case 534: -#line 2866 "./util/configparser.y" + case 536: +#line 2875 "./util/configparser.y" { OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); cfg_parser->cfg->log_identity = (yyvsp[0].str); } -#line 5960 "util/configparser.c" +#line 5974 "util/configparser.c" break; - case 535: -#line 2873 "./util/configparser.y" + case 537: +#line 2882 "./util/configparser.y" { OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -5968,30 +5982,30 @@ yyreduce: (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip"); } -#line 5972 "util/configparser.c" +#line 5986 "util/configparser.c" break; - case 536: -#line 2882 "./util/configparser.y" + case 538: +#line 2891 "./util/configparser.y" { OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 5983 "util/configparser.c" +#line 5997 "util/configparser.c" break; - case 537: -#line 2890 "./util/configparser.y" + case 539: +#line 2899 "./util/configparser.y" { OUTYY(("\nP(dnscrypt:)\n")); } -#line 5991 "util/configparser.c" +#line 6005 "util/configparser.c" break; - case 550: -#line 2906 "./util/configparser.y" + case 552: +#line 2915 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5999,11 +6013,11 @@ yyreduce: else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6003 "util/configparser.c" +#line 6017 "util/configparser.c" break; - case 551: -#line 2916 "./util/configparser.y" + case 553: +#line 2925 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6011,21 +6025,21 @@ yyreduce: else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6015 "util/configparser.c" +#line 6029 "util/configparser.c" break; - case 552: -#line 2925 "./util/configparser.y" + case 554: +#line 2934 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnscrypt_provider); cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); } -#line 6025 "util/configparser.c" +#line 6039 "util/configparser.c" break; - case 553: -#line 2932 "./util/configparser.y" + case 555: +#line 2941 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) @@ -6033,21 +6047,21 @@ yyreduce: if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert"); } -#line 6037 "util/configparser.c" +#line 6051 "util/configparser.c" break; - case 554: -#line 2941 "./util/configparser.y" + case 556: +#line 2950 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert-rotated"); } -#line 6047 "util/configparser.c" +#line 6061 "util/configparser.c" break; - case 555: -#line 2948 "./util/configparser.y" + case 557: +#line 2957 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) @@ -6055,22 +6069,22 @@ yyreduce: if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-secret-key"); } -#line 6059 "util/configparser.c" +#line 6073 "util/configparser.c" break; - case 556: -#line 2957 "./util/configparser.y" + case 558: +#line 2966 "./util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6070 "util/configparser.c" +#line 6084 "util/configparser.c" break; - case 557: -#line 2965 "./util/configparser.y" + case 559: +#line 2974 "./util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6082,22 +6096,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6086 "util/configparser.c" +#line 6100 "util/configparser.c" break; - case 558: -#line 2978 "./util/configparser.y" + case 560: +#line 2987 "./util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6097 "util/configparser.c" +#line 6111 "util/configparser.c" break; - case 559: -#line 2986 "./util/configparser.y" + case 561: +#line 2995 "./util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6109,19 +6123,19 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6113 "util/configparser.c" +#line 6127 "util/configparser.c" break; - case 560: -#line 2999 "./util/configparser.y" + case 562: +#line 3008 "./util/configparser.y" { OUTYY(("\nP(cachedb:)\n")); } -#line 6121 "util/configparser.c" +#line 6135 "util/configparser.c" break; - case 568: -#line 3009 "./util/configparser.y" + case 570: +#line 3018 "./util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); @@ -6132,11 +6146,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6136 "util/configparser.c" +#line 6150 "util/configparser.c" break; - case 569: -#line 3021 "./util/configparser.y" + case 571: +#line 3030 "./util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); @@ -6147,11 +6161,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6151 "util/configparser.c" +#line 6165 "util/configparser.c" break; - case 570: -#line 3033 "./util/configparser.y" + case 572: +#line 3042 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str))); @@ -6162,11 +6176,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6166 "util/configparser.c" +#line 6180 "util/configparser.c" break; - case 571: -#line 3045 "./util/configparser.y" + case 573: +#line 3054 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int port; @@ -6180,11 +6194,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6184 "util/configparser.c" +#line 6198 "util/configparser.c" break; - case 572: -#line 3060 "./util/configparser.y" + case 574: +#line 3069 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str))); @@ -6196,11 +6210,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6200 "util/configparser.c" +#line 6214 "util/configparser.c" break; - case 573: -#line 3073 "./util/configparser.y" + case 575: +#line 3082 "./util/configparser.y" { OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if (atoi((yyvsp[0].str)) < 0) @@ -6210,19 +6224,19 @@ yyreduce: fatal_exit("out of memory adding tcp connection limit"); } } -#line 6214 "util/configparser.c" +#line 6228 "util/configparser.c" break; - case 574: -#line 3084 "./util/configparser.y" + case 576: +#line 3093 "./util/configparser.y" { OUTYY(("\nP(ipset:)\n")); } -#line 6222 "util/configparser.c" +#line 6236 "util/configparser.c" break; - case 579: -#line 3093 "./util/configparser.y" + case 581: +#line 3102 "./util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); @@ -6236,11 +6250,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6240 "util/configparser.c" +#line 6254 "util/configparser.c" break; - case 580: -#line 3108 "./util/configparser.y" + case 582: +#line 3117 "./util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); @@ -6254,11 +6268,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6258 "util/configparser.c" +#line 6272 "util/configparser.c" break; -#line 6262 "util/configparser.c" +#line 6276 "util/configparser.c" default: break; } @@ -6490,7 +6504,7 @@ yyreturn: #endif return yyresult; } -#line 3122 "./util/configparser.y" +#line 3131 "./util/configparser.y" /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index 4d7e6b12f..919bdadf6 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -63,267 +63,268 @@ extern int yydebug; VAR_PORT = 269, VAR_OUTGOING_RANGE = 270, VAR_INTERFACE = 271, - VAR_DO_IP4 = 272, - VAR_DO_IP6 = 273, - VAR_PREFER_IP6 = 274, - VAR_DO_UDP = 275, - VAR_DO_TCP = 276, - VAR_TCP_MSS = 277, - VAR_OUTGOING_TCP_MSS = 278, - VAR_TCP_IDLE_TIMEOUT = 279, - VAR_EDNS_TCP_KEEPALIVE = 280, - VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 281, - VAR_CHROOT = 282, - VAR_USERNAME = 283, - VAR_DIRECTORY = 284, - VAR_LOGFILE = 285, - VAR_PIDFILE = 286, - VAR_MSG_CACHE_SIZE = 287, - VAR_MSG_CACHE_SLABS = 288, - VAR_NUM_QUERIES_PER_THREAD = 289, - VAR_RRSET_CACHE_SIZE = 290, - VAR_RRSET_CACHE_SLABS = 291, - VAR_OUTGOING_NUM_TCP = 292, - VAR_INFRA_HOST_TTL = 293, - VAR_INFRA_LAME_TTL = 294, - VAR_INFRA_CACHE_SLABS = 295, - VAR_INFRA_CACHE_NUMHOSTS = 296, - VAR_INFRA_CACHE_LAME_SIZE = 297, - VAR_NAME = 298, - VAR_STUB_ZONE = 299, - VAR_STUB_HOST = 300, - VAR_STUB_ADDR = 301, - VAR_TARGET_FETCH_POLICY = 302, - VAR_HARDEN_SHORT_BUFSIZE = 303, - VAR_HARDEN_LARGE_QUERIES = 304, - VAR_FORWARD_ZONE = 305, - VAR_FORWARD_HOST = 306, - VAR_FORWARD_ADDR = 307, - VAR_DO_NOT_QUERY_ADDRESS = 308, - VAR_HIDE_IDENTITY = 309, - VAR_HIDE_VERSION = 310, - VAR_IDENTITY = 311, - VAR_VERSION = 312, - VAR_HARDEN_GLUE = 313, - VAR_MODULE_CONF = 314, - VAR_TRUST_ANCHOR_FILE = 315, - VAR_TRUST_ANCHOR = 316, - VAR_VAL_OVERRIDE_DATE = 317, - VAR_BOGUS_TTL = 318, - VAR_VAL_CLEAN_ADDITIONAL = 319, - VAR_VAL_PERMISSIVE_MODE = 320, - VAR_INCOMING_NUM_TCP = 321, - VAR_MSG_BUFFER_SIZE = 322, - VAR_KEY_CACHE_SIZE = 323, - VAR_KEY_CACHE_SLABS = 324, - VAR_TRUSTED_KEYS_FILE = 325, - VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 326, - VAR_USE_SYSLOG = 327, - VAR_OUTGOING_INTERFACE = 328, - VAR_ROOT_HINTS = 329, - VAR_DO_NOT_QUERY_LOCALHOST = 330, - VAR_CACHE_MAX_TTL = 331, - VAR_HARDEN_DNSSEC_STRIPPED = 332, - VAR_ACCESS_CONTROL = 333, - VAR_LOCAL_ZONE = 334, - VAR_LOCAL_DATA = 335, - VAR_INTERFACE_AUTOMATIC = 336, - VAR_STATISTICS_INTERVAL = 337, - VAR_DO_DAEMONIZE = 338, - VAR_USE_CAPS_FOR_ID = 339, - VAR_STATISTICS_CUMULATIVE = 340, - VAR_OUTGOING_PORT_PERMIT = 341, - VAR_OUTGOING_PORT_AVOID = 342, - VAR_DLV_ANCHOR_FILE = 343, - VAR_DLV_ANCHOR = 344, - VAR_NEG_CACHE_SIZE = 345, - VAR_HARDEN_REFERRAL_PATH = 346, - VAR_PRIVATE_ADDRESS = 347, - VAR_PRIVATE_DOMAIN = 348, - VAR_REMOTE_CONTROL = 349, - VAR_CONTROL_ENABLE = 350, - VAR_CONTROL_INTERFACE = 351, - VAR_CONTROL_PORT = 352, - VAR_SERVER_KEY_FILE = 353, - VAR_SERVER_CERT_FILE = 354, - VAR_CONTROL_KEY_FILE = 355, - VAR_CONTROL_CERT_FILE = 356, - VAR_CONTROL_USE_CERT = 357, - VAR_EXTENDED_STATISTICS = 358, - VAR_LOCAL_DATA_PTR = 359, - VAR_JOSTLE_TIMEOUT = 360, - VAR_STUB_PRIME = 361, - VAR_UNWANTED_REPLY_THRESHOLD = 362, - VAR_LOG_TIME_ASCII = 363, - VAR_DOMAIN_INSECURE = 364, - VAR_PYTHON = 365, - VAR_PYTHON_SCRIPT = 366, - VAR_VAL_SIG_SKEW_MIN = 367, - VAR_VAL_SIG_SKEW_MAX = 368, - VAR_CACHE_MIN_TTL = 369, - VAR_VAL_LOG_LEVEL = 370, - VAR_AUTO_TRUST_ANCHOR_FILE = 371, - VAR_KEEP_MISSING = 372, - VAR_ADD_HOLDDOWN = 373, - VAR_DEL_HOLDDOWN = 374, - VAR_SO_RCVBUF = 375, - VAR_EDNS_BUFFER_SIZE = 376, - VAR_PREFETCH = 377, - VAR_PREFETCH_KEY = 378, - VAR_SO_SNDBUF = 379, - VAR_SO_REUSEPORT = 380, - VAR_HARDEN_BELOW_NXDOMAIN = 381, - VAR_IGNORE_CD_FLAG = 382, - VAR_LOG_QUERIES = 383, - VAR_LOG_REPLIES = 384, - VAR_LOG_LOCAL_ACTIONS = 385, - VAR_TCP_UPSTREAM = 386, - VAR_SSL_UPSTREAM = 387, - VAR_SSL_SERVICE_KEY = 388, - VAR_SSL_SERVICE_PEM = 389, - VAR_SSL_PORT = 390, - VAR_FORWARD_FIRST = 391, - VAR_STUB_SSL_UPSTREAM = 392, - VAR_FORWARD_SSL_UPSTREAM = 393, - VAR_TLS_CERT_BUNDLE = 394, - VAR_STUB_FIRST = 395, - VAR_MINIMAL_RESPONSES = 396, - VAR_RRSET_ROUNDROBIN = 397, - VAR_MAX_UDP_SIZE = 398, - VAR_DELAY_CLOSE = 399, - VAR_UNBLOCK_LAN_ZONES = 400, - VAR_INSECURE_LAN_ZONES = 401, - VAR_INFRA_CACHE_MIN_RTT = 402, - VAR_DNS64_PREFIX = 403, - VAR_DNS64_SYNTHALL = 404, - VAR_DNS64_IGNORE_AAAA = 405, - VAR_DNSTAP = 406, - VAR_DNSTAP_ENABLE = 407, - VAR_DNSTAP_SOCKET_PATH = 408, - VAR_DNSTAP_SEND_IDENTITY = 409, - VAR_DNSTAP_SEND_VERSION = 410, - VAR_DNSTAP_IDENTITY = 411, - VAR_DNSTAP_VERSION = 412, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 413, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 414, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 415, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 416, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 417, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 418, - VAR_RESPONSE_IP_TAG = 419, - VAR_RESPONSE_IP = 420, - VAR_RESPONSE_IP_DATA = 421, - VAR_HARDEN_ALGO_DOWNGRADE = 422, - VAR_IP_TRANSPARENT = 423, - VAR_DISABLE_DNSSEC_LAME_CHECK = 424, - VAR_IP_RATELIMIT = 425, - VAR_IP_RATELIMIT_SLABS = 426, - VAR_IP_RATELIMIT_SIZE = 427, - VAR_RATELIMIT = 428, - VAR_RATELIMIT_SLABS = 429, - VAR_RATELIMIT_SIZE = 430, - VAR_RATELIMIT_FOR_DOMAIN = 431, - VAR_RATELIMIT_BELOW_DOMAIN = 432, - VAR_IP_RATELIMIT_FACTOR = 433, - VAR_RATELIMIT_FACTOR = 434, - VAR_SEND_CLIENT_SUBNET = 435, - VAR_CLIENT_SUBNET_ZONE = 436, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 437, - VAR_CLIENT_SUBNET_OPCODE = 438, - VAR_MAX_CLIENT_SUBNET_IPV4 = 439, - VAR_MAX_CLIENT_SUBNET_IPV6 = 440, - VAR_MIN_CLIENT_SUBNET_IPV4 = 441, - VAR_MIN_CLIENT_SUBNET_IPV6 = 442, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 443, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 444, - VAR_CAPS_WHITELIST = 445, - VAR_CACHE_MAX_NEGATIVE_TTL = 446, - VAR_PERMIT_SMALL_HOLDDOWN = 447, - VAR_QNAME_MINIMISATION = 448, - VAR_QNAME_MINIMISATION_STRICT = 449, - VAR_IP_FREEBIND = 450, - VAR_DEFINE_TAG = 451, - VAR_LOCAL_ZONE_TAG = 452, - VAR_ACCESS_CONTROL_TAG = 453, - VAR_LOCAL_ZONE_OVERRIDE = 454, - VAR_ACCESS_CONTROL_TAG_ACTION = 455, - VAR_ACCESS_CONTROL_TAG_DATA = 456, - VAR_VIEW = 457, - VAR_ACCESS_CONTROL_VIEW = 458, - VAR_VIEW_FIRST = 459, - VAR_SERVE_EXPIRED = 460, - VAR_SERVE_EXPIRED_TTL = 461, - VAR_SERVE_EXPIRED_TTL_RESET = 462, - VAR_SERVE_EXPIRED_REPLY_TTL = 463, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 464, - VAR_FAKE_DSA = 465, - VAR_FAKE_SHA1 = 466, - VAR_LOG_IDENTITY = 467, - VAR_HIDE_TRUSTANCHOR = 468, - VAR_TRUST_ANCHOR_SIGNALING = 469, - VAR_AGGRESSIVE_NSEC = 470, - VAR_USE_SYSTEMD = 471, - VAR_SHM_ENABLE = 472, - VAR_SHM_KEY = 473, - VAR_ROOT_KEY_SENTINEL = 474, - VAR_DNSCRYPT = 475, - VAR_DNSCRYPT_ENABLE = 476, - VAR_DNSCRYPT_PORT = 477, - VAR_DNSCRYPT_PROVIDER = 478, - VAR_DNSCRYPT_SECRET_KEY = 479, - VAR_DNSCRYPT_PROVIDER_CERT = 480, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 481, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 482, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 483, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 484, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 485, - VAR_IPSECMOD_ENABLED = 486, - VAR_IPSECMOD_HOOK = 487, - VAR_IPSECMOD_IGNORE_BOGUS = 488, - VAR_IPSECMOD_MAX_TTL = 489, - VAR_IPSECMOD_WHITELIST = 490, - VAR_IPSECMOD_STRICT = 491, - VAR_CACHEDB = 492, - VAR_CACHEDB_BACKEND = 493, - VAR_CACHEDB_SECRETSEED = 494, - VAR_CACHEDB_REDISHOST = 495, - VAR_CACHEDB_REDISPORT = 496, - VAR_CACHEDB_REDISTIMEOUT = 497, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 498, - VAR_FOR_UPSTREAM = 499, - VAR_AUTH_ZONE = 500, - VAR_ZONEFILE = 501, - VAR_MASTER = 502, - VAR_URL = 503, - VAR_FOR_DOWNSTREAM = 504, - VAR_FALLBACK_ENABLED = 505, - VAR_TLS_ADDITIONAL_PORT = 506, - VAR_LOW_RTT = 507, - VAR_LOW_RTT_PERMIL = 508, - VAR_FAST_SERVER_PERMIL = 509, - VAR_FAST_SERVER_NUM = 510, - VAR_ALLOW_NOTIFY = 511, - VAR_TLS_WIN_CERT = 512, - VAR_TCP_CONNECTION_LIMIT = 513, - VAR_FORWARD_NO_CACHE = 514, - VAR_STUB_NO_CACHE = 515, - VAR_LOG_SERVFAIL = 516, - VAR_DENY_ANY = 517, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 518, - VAR_LOG_TAG_QUERYREPLY = 519, - VAR_STREAM_WAIT_SIZE = 520, - VAR_TLS_CIPHERS = 521, - VAR_TLS_CIPHERSUITES = 522, - VAR_IPSET = 523, - VAR_IPSET_NAME_V4 = 524, - VAR_IPSET_NAME_V6 = 525, - VAR_TLS_SESSION_TICKET_KEYS = 526, - VAR_RPZ = 527, - VAR_TAGS = 528, - VAR_RPZ_ACTION_OVERRIDE = 529, - VAR_RPZ_CNAME_OVERRIDE = 530, - VAR_RPZ_LOG = 531, - VAR_RPZ_LOG_NAME = 532 + VAR_PREFER_IP4 = 272, + VAR_DO_IP4 = 273, + VAR_DO_IP6 = 274, + VAR_PREFER_IP6 = 275, + VAR_DO_UDP = 276, + VAR_DO_TCP = 277, + VAR_TCP_MSS = 278, + VAR_OUTGOING_TCP_MSS = 279, + VAR_TCP_IDLE_TIMEOUT = 280, + VAR_EDNS_TCP_KEEPALIVE = 281, + VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 282, + VAR_CHROOT = 283, + VAR_USERNAME = 284, + VAR_DIRECTORY = 285, + VAR_LOGFILE = 286, + VAR_PIDFILE = 287, + VAR_MSG_CACHE_SIZE = 288, + VAR_MSG_CACHE_SLABS = 289, + VAR_NUM_QUERIES_PER_THREAD = 290, + VAR_RRSET_CACHE_SIZE = 291, + VAR_RRSET_CACHE_SLABS = 292, + VAR_OUTGOING_NUM_TCP = 293, + VAR_INFRA_HOST_TTL = 294, + VAR_INFRA_LAME_TTL = 295, + VAR_INFRA_CACHE_SLABS = 296, + VAR_INFRA_CACHE_NUMHOSTS = 297, + VAR_INFRA_CACHE_LAME_SIZE = 298, + VAR_NAME = 299, + VAR_STUB_ZONE = 300, + VAR_STUB_HOST = 301, + VAR_STUB_ADDR = 302, + VAR_TARGET_FETCH_POLICY = 303, + VAR_HARDEN_SHORT_BUFSIZE = 304, + VAR_HARDEN_LARGE_QUERIES = 305, + VAR_FORWARD_ZONE = 306, + VAR_FORWARD_HOST = 307, + VAR_FORWARD_ADDR = 308, + VAR_DO_NOT_QUERY_ADDRESS = 309, + VAR_HIDE_IDENTITY = 310, + VAR_HIDE_VERSION = 311, + VAR_IDENTITY = 312, + VAR_VERSION = 313, + VAR_HARDEN_GLUE = 314, + VAR_MODULE_CONF = 315, + VAR_TRUST_ANCHOR_FILE = 316, + VAR_TRUST_ANCHOR = 317, + VAR_VAL_OVERRIDE_DATE = 318, + VAR_BOGUS_TTL = 319, + VAR_VAL_CLEAN_ADDITIONAL = 320, + VAR_VAL_PERMISSIVE_MODE = 321, + VAR_INCOMING_NUM_TCP = 322, + VAR_MSG_BUFFER_SIZE = 323, + VAR_KEY_CACHE_SIZE = 324, + VAR_KEY_CACHE_SLABS = 325, + VAR_TRUSTED_KEYS_FILE = 326, + VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 327, + VAR_USE_SYSLOG = 328, + VAR_OUTGOING_INTERFACE = 329, + VAR_ROOT_HINTS = 330, + VAR_DO_NOT_QUERY_LOCALHOST = 331, + VAR_CACHE_MAX_TTL = 332, + VAR_HARDEN_DNSSEC_STRIPPED = 333, + VAR_ACCESS_CONTROL = 334, + VAR_LOCAL_ZONE = 335, + VAR_LOCAL_DATA = 336, + VAR_INTERFACE_AUTOMATIC = 337, + VAR_STATISTICS_INTERVAL = 338, + VAR_DO_DAEMONIZE = 339, + VAR_USE_CAPS_FOR_ID = 340, + VAR_STATISTICS_CUMULATIVE = 341, + VAR_OUTGOING_PORT_PERMIT = 342, + VAR_OUTGOING_PORT_AVOID = 343, + VAR_DLV_ANCHOR_FILE = 344, + VAR_DLV_ANCHOR = 345, + VAR_NEG_CACHE_SIZE = 346, + VAR_HARDEN_REFERRAL_PATH = 347, + VAR_PRIVATE_ADDRESS = 348, + VAR_PRIVATE_DOMAIN = 349, + VAR_REMOTE_CONTROL = 350, + VAR_CONTROL_ENABLE = 351, + VAR_CONTROL_INTERFACE = 352, + VAR_CONTROL_PORT = 353, + VAR_SERVER_KEY_FILE = 354, + VAR_SERVER_CERT_FILE = 355, + VAR_CONTROL_KEY_FILE = 356, + VAR_CONTROL_CERT_FILE = 357, + VAR_CONTROL_USE_CERT = 358, + VAR_EXTENDED_STATISTICS = 359, + VAR_LOCAL_DATA_PTR = 360, + VAR_JOSTLE_TIMEOUT = 361, + VAR_STUB_PRIME = 362, + VAR_UNWANTED_REPLY_THRESHOLD = 363, + VAR_LOG_TIME_ASCII = 364, + VAR_DOMAIN_INSECURE = 365, + VAR_PYTHON = 366, + VAR_PYTHON_SCRIPT = 367, + VAR_VAL_SIG_SKEW_MIN = 368, + VAR_VAL_SIG_SKEW_MAX = 369, + VAR_CACHE_MIN_TTL = 370, + VAR_VAL_LOG_LEVEL = 371, + VAR_AUTO_TRUST_ANCHOR_FILE = 372, + VAR_KEEP_MISSING = 373, + VAR_ADD_HOLDDOWN = 374, + VAR_DEL_HOLDDOWN = 375, + VAR_SO_RCVBUF = 376, + VAR_EDNS_BUFFER_SIZE = 377, + VAR_PREFETCH = 378, + VAR_PREFETCH_KEY = 379, + VAR_SO_SNDBUF = 380, + VAR_SO_REUSEPORT = 381, + VAR_HARDEN_BELOW_NXDOMAIN = 382, + VAR_IGNORE_CD_FLAG = 383, + VAR_LOG_QUERIES = 384, + VAR_LOG_REPLIES = 385, + VAR_LOG_LOCAL_ACTIONS = 386, + VAR_TCP_UPSTREAM = 387, + VAR_SSL_UPSTREAM = 388, + VAR_SSL_SERVICE_KEY = 389, + VAR_SSL_SERVICE_PEM = 390, + VAR_SSL_PORT = 391, + VAR_FORWARD_FIRST = 392, + VAR_STUB_SSL_UPSTREAM = 393, + VAR_FORWARD_SSL_UPSTREAM = 394, + VAR_TLS_CERT_BUNDLE = 395, + VAR_STUB_FIRST = 396, + VAR_MINIMAL_RESPONSES = 397, + VAR_RRSET_ROUNDROBIN = 398, + VAR_MAX_UDP_SIZE = 399, + VAR_DELAY_CLOSE = 400, + VAR_UNBLOCK_LAN_ZONES = 401, + VAR_INSECURE_LAN_ZONES = 402, + VAR_INFRA_CACHE_MIN_RTT = 403, + VAR_DNS64_PREFIX = 404, + VAR_DNS64_SYNTHALL = 405, + VAR_DNS64_IGNORE_AAAA = 406, + VAR_DNSTAP = 407, + VAR_DNSTAP_ENABLE = 408, + VAR_DNSTAP_SOCKET_PATH = 409, + VAR_DNSTAP_SEND_IDENTITY = 410, + VAR_DNSTAP_SEND_VERSION = 411, + VAR_DNSTAP_IDENTITY = 412, + VAR_DNSTAP_VERSION = 413, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 414, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 415, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 416, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 417, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 418, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 419, + VAR_RESPONSE_IP_TAG = 420, + VAR_RESPONSE_IP = 421, + VAR_RESPONSE_IP_DATA = 422, + VAR_HARDEN_ALGO_DOWNGRADE = 423, + VAR_IP_TRANSPARENT = 424, + VAR_DISABLE_DNSSEC_LAME_CHECK = 425, + VAR_IP_RATELIMIT = 426, + VAR_IP_RATELIMIT_SLABS = 427, + VAR_IP_RATELIMIT_SIZE = 428, + VAR_RATELIMIT = 429, + VAR_RATELIMIT_SLABS = 430, + VAR_RATELIMIT_SIZE = 431, + VAR_RATELIMIT_FOR_DOMAIN = 432, + VAR_RATELIMIT_BELOW_DOMAIN = 433, + VAR_IP_RATELIMIT_FACTOR = 434, + VAR_RATELIMIT_FACTOR = 435, + VAR_SEND_CLIENT_SUBNET = 436, + VAR_CLIENT_SUBNET_ZONE = 437, + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 438, + VAR_CLIENT_SUBNET_OPCODE = 439, + VAR_MAX_CLIENT_SUBNET_IPV4 = 440, + VAR_MAX_CLIENT_SUBNET_IPV6 = 441, + VAR_MIN_CLIENT_SUBNET_IPV4 = 442, + VAR_MIN_CLIENT_SUBNET_IPV6 = 443, + VAR_MAX_ECS_TREE_SIZE_IPV4 = 444, + VAR_MAX_ECS_TREE_SIZE_IPV6 = 445, + VAR_CAPS_WHITELIST = 446, + VAR_CACHE_MAX_NEGATIVE_TTL = 447, + VAR_PERMIT_SMALL_HOLDDOWN = 448, + VAR_QNAME_MINIMISATION = 449, + VAR_QNAME_MINIMISATION_STRICT = 450, + VAR_IP_FREEBIND = 451, + VAR_DEFINE_TAG = 452, + VAR_LOCAL_ZONE_TAG = 453, + VAR_ACCESS_CONTROL_TAG = 454, + VAR_LOCAL_ZONE_OVERRIDE = 455, + VAR_ACCESS_CONTROL_TAG_ACTION = 456, + VAR_ACCESS_CONTROL_TAG_DATA = 457, + VAR_VIEW = 458, + VAR_ACCESS_CONTROL_VIEW = 459, + VAR_VIEW_FIRST = 460, + VAR_SERVE_EXPIRED = 461, + VAR_SERVE_EXPIRED_TTL = 462, + VAR_SERVE_EXPIRED_TTL_RESET = 463, + VAR_SERVE_EXPIRED_REPLY_TTL = 464, + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 465, + VAR_FAKE_DSA = 466, + VAR_FAKE_SHA1 = 467, + VAR_LOG_IDENTITY = 468, + VAR_HIDE_TRUSTANCHOR = 469, + VAR_TRUST_ANCHOR_SIGNALING = 470, + VAR_AGGRESSIVE_NSEC = 471, + VAR_USE_SYSTEMD = 472, + VAR_SHM_ENABLE = 473, + VAR_SHM_KEY = 474, + VAR_ROOT_KEY_SENTINEL = 475, + VAR_DNSCRYPT = 476, + VAR_DNSCRYPT_ENABLE = 477, + VAR_DNSCRYPT_PORT = 478, + VAR_DNSCRYPT_PROVIDER = 479, + VAR_DNSCRYPT_SECRET_KEY = 480, + VAR_DNSCRYPT_PROVIDER_CERT = 481, + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 482, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 483, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 484, + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 485, + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 486, + VAR_IPSECMOD_ENABLED = 487, + VAR_IPSECMOD_HOOK = 488, + VAR_IPSECMOD_IGNORE_BOGUS = 489, + VAR_IPSECMOD_MAX_TTL = 490, + VAR_IPSECMOD_WHITELIST = 491, + VAR_IPSECMOD_STRICT = 492, + VAR_CACHEDB = 493, + VAR_CACHEDB_BACKEND = 494, + VAR_CACHEDB_SECRETSEED = 495, + VAR_CACHEDB_REDISHOST = 496, + VAR_CACHEDB_REDISPORT = 497, + VAR_CACHEDB_REDISTIMEOUT = 498, + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 499, + VAR_FOR_UPSTREAM = 500, + VAR_AUTH_ZONE = 501, + VAR_ZONEFILE = 502, + VAR_MASTER = 503, + VAR_URL = 504, + VAR_FOR_DOWNSTREAM = 505, + VAR_FALLBACK_ENABLED = 506, + VAR_TLS_ADDITIONAL_PORT = 507, + VAR_LOW_RTT = 508, + VAR_LOW_RTT_PERMIL = 509, + VAR_FAST_SERVER_PERMIL = 510, + VAR_FAST_SERVER_NUM = 511, + VAR_ALLOW_NOTIFY = 512, + VAR_TLS_WIN_CERT = 513, + VAR_TCP_CONNECTION_LIMIT = 514, + VAR_FORWARD_NO_CACHE = 515, + VAR_STUB_NO_CACHE = 516, + VAR_LOG_SERVFAIL = 517, + VAR_DENY_ANY = 518, + VAR_UNKNOWN_SERVER_TIME_LIMIT = 519, + VAR_LOG_TAG_QUERYREPLY = 520, + VAR_STREAM_WAIT_SIZE = 521, + VAR_TLS_CIPHERS = 522, + VAR_TLS_CIPHERSUITES = 523, + VAR_IPSET = 524, + VAR_IPSET_NAME_V4 = 525, + VAR_IPSET_NAME_V6 = 526, + VAR_TLS_SESSION_TICKET_KEYS = 527, + VAR_RPZ = 528, + VAR_TAGS = 529, + VAR_RPZ_ACTION_OVERRIDE = 530, + VAR_RPZ_CNAME_OVERRIDE = 531, + VAR_RPZ_LOG = 532, + VAR_RPZ_LOG_NAME = 533 }; #endif /* Tokens. */ @@ -341,267 +342,268 @@ extern int yydebug; #define VAR_PORT 269 #define VAR_OUTGOING_RANGE 270 #define VAR_INTERFACE 271 -#define VAR_DO_IP4 272 -#define VAR_DO_IP6 273 -#define VAR_PREFER_IP6 274 -#define VAR_DO_UDP 275 -#define VAR_DO_TCP 276 -#define VAR_TCP_MSS 277 -#define VAR_OUTGOING_TCP_MSS 278 -#define VAR_TCP_IDLE_TIMEOUT 279 -#define VAR_EDNS_TCP_KEEPALIVE 280 -#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 281 -#define VAR_CHROOT 282 -#define VAR_USERNAME 283 -#define VAR_DIRECTORY 284 -#define VAR_LOGFILE 285 -#define VAR_PIDFILE 286 -#define VAR_MSG_CACHE_SIZE 287 -#define VAR_MSG_CACHE_SLABS 288 -#define VAR_NUM_QUERIES_PER_THREAD 289 -#define VAR_RRSET_CACHE_SIZE 290 -#define VAR_RRSET_CACHE_SLABS 291 -#define VAR_OUTGOING_NUM_TCP 292 -#define VAR_INFRA_HOST_TTL 293 -#define VAR_INFRA_LAME_TTL 294 -#define VAR_INFRA_CACHE_SLABS 295 -#define VAR_INFRA_CACHE_NUMHOSTS 296 -#define VAR_INFRA_CACHE_LAME_SIZE 297 -#define VAR_NAME 298 -#define VAR_STUB_ZONE 299 -#define VAR_STUB_HOST 300 -#define VAR_STUB_ADDR 301 -#define VAR_TARGET_FETCH_POLICY 302 -#define VAR_HARDEN_SHORT_BUFSIZE 303 -#define VAR_HARDEN_LARGE_QUERIES 304 -#define VAR_FORWARD_ZONE 305 -#define VAR_FORWARD_HOST 306 -#define VAR_FORWARD_ADDR 307 -#define VAR_DO_NOT_QUERY_ADDRESS 308 -#define VAR_HIDE_IDENTITY 309 -#define VAR_HIDE_VERSION 310 -#define VAR_IDENTITY 311 -#define VAR_VERSION 312 -#define VAR_HARDEN_GLUE 313 -#define VAR_MODULE_CONF 314 -#define VAR_TRUST_ANCHOR_FILE 315 -#define VAR_TRUST_ANCHOR 316 -#define VAR_VAL_OVERRIDE_DATE 317 -#define VAR_BOGUS_TTL 318 -#define VAR_VAL_CLEAN_ADDITIONAL 319 -#define VAR_VAL_PERMISSIVE_MODE 320 -#define VAR_INCOMING_NUM_TCP 321 -#define VAR_MSG_BUFFER_SIZE 322 -#define VAR_KEY_CACHE_SIZE 323 -#define VAR_KEY_CACHE_SLABS 324 -#define VAR_TRUSTED_KEYS_FILE 325 -#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 326 -#define VAR_USE_SYSLOG 327 -#define VAR_OUTGOING_INTERFACE 328 -#define VAR_ROOT_HINTS 329 -#define VAR_DO_NOT_QUERY_LOCALHOST 330 -#define VAR_CACHE_MAX_TTL 331 -#define VAR_HARDEN_DNSSEC_STRIPPED 332 -#define VAR_ACCESS_CONTROL 333 -#define VAR_LOCAL_ZONE 334 -#define VAR_LOCAL_DATA 335 -#define VAR_INTERFACE_AUTOMATIC 336 -#define VAR_STATISTICS_INTERVAL 337 -#define VAR_DO_DAEMONIZE 338 -#define VAR_USE_CAPS_FOR_ID 339 -#define VAR_STATISTICS_CUMULATIVE 340 -#define VAR_OUTGOING_PORT_PERMIT 341 -#define VAR_OUTGOING_PORT_AVOID 342 -#define VAR_DLV_ANCHOR_FILE 343 -#define VAR_DLV_ANCHOR 344 -#define VAR_NEG_CACHE_SIZE 345 -#define VAR_HARDEN_REFERRAL_PATH 346 -#define VAR_PRIVATE_ADDRESS 347 -#define VAR_PRIVATE_DOMAIN 348 -#define VAR_REMOTE_CONTROL 349 -#define VAR_CONTROL_ENABLE 350 -#define VAR_CONTROL_INTERFACE 351 -#define VAR_CONTROL_PORT 352 -#define VAR_SERVER_KEY_FILE 353 -#define VAR_SERVER_CERT_FILE 354 -#define VAR_CONTROL_KEY_FILE 355 -#define VAR_CONTROL_CERT_FILE 356 -#define VAR_CONTROL_USE_CERT 357 -#define VAR_EXTENDED_STATISTICS 358 -#define VAR_LOCAL_DATA_PTR 359 -#define VAR_JOSTLE_TIMEOUT 360 -#define VAR_STUB_PRIME 361 -#define VAR_UNWANTED_REPLY_THRESHOLD 362 -#define VAR_LOG_TIME_ASCII 363 -#define VAR_DOMAIN_INSECURE 364 -#define VAR_PYTHON 365 -#define VAR_PYTHON_SCRIPT 366 -#define VAR_VAL_SIG_SKEW_MIN 367 -#define VAR_VAL_SIG_SKEW_MAX 368 -#define VAR_CACHE_MIN_TTL 369 -#define VAR_VAL_LOG_LEVEL 370 -#define VAR_AUTO_TRUST_ANCHOR_FILE 371 -#define VAR_KEEP_MISSING 372 -#define VAR_ADD_HOLDDOWN 373 -#define VAR_DEL_HOLDDOWN 374 -#define VAR_SO_RCVBUF 375 -#define VAR_EDNS_BUFFER_SIZE 376 -#define VAR_PREFETCH 377 -#define VAR_PREFETCH_KEY 378 -#define VAR_SO_SNDBUF 379 -#define VAR_SO_REUSEPORT 380 -#define VAR_HARDEN_BELOW_NXDOMAIN 381 -#define VAR_IGNORE_CD_FLAG 382 -#define VAR_LOG_QUERIES 383 -#define VAR_LOG_REPLIES 384 -#define VAR_LOG_LOCAL_ACTIONS 385 -#define VAR_TCP_UPSTREAM 386 -#define VAR_SSL_UPSTREAM 387 -#define VAR_SSL_SERVICE_KEY 388 -#define VAR_SSL_SERVICE_PEM 389 -#define VAR_SSL_PORT 390 -#define VAR_FORWARD_FIRST 391 -#define VAR_STUB_SSL_UPSTREAM 392 -#define VAR_FORWARD_SSL_UPSTREAM 393 -#define VAR_TLS_CERT_BUNDLE 394 -#define VAR_STUB_FIRST 395 -#define VAR_MINIMAL_RESPONSES 396 -#define VAR_RRSET_ROUNDROBIN 397 -#define VAR_MAX_UDP_SIZE 398 -#define VAR_DELAY_CLOSE 399 -#define VAR_UNBLOCK_LAN_ZONES 400 -#define VAR_INSECURE_LAN_ZONES 401 -#define VAR_INFRA_CACHE_MIN_RTT 402 -#define VAR_DNS64_PREFIX 403 -#define VAR_DNS64_SYNTHALL 404 -#define VAR_DNS64_IGNORE_AAAA 405 -#define VAR_DNSTAP 406 -#define VAR_DNSTAP_ENABLE 407 -#define VAR_DNSTAP_SOCKET_PATH 408 -#define VAR_DNSTAP_SEND_IDENTITY 409 -#define VAR_DNSTAP_SEND_VERSION 410 -#define VAR_DNSTAP_IDENTITY 411 -#define VAR_DNSTAP_VERSION 412 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 413 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 414 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 415 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 416 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 417 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 418 -#define VAR_RESPONSE_IP_TAG 419 -#define VAR_RESPONSE_IP 420 -#define VAR_RESPONSE_IP_DATA 421 -#define VAR_HARDEN_ALGO_DOWNGRADE 422 -#define VAR_IP_TRANSPARENT 423 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 424 -#define VAR_IP_RATELIMIT 425 -#define VAR_IP_RATELIMIT_SLABS 426 -#define VAR_IP_RATELIMIT_SIZE 427 -#define VAR_RATELIMIT 428 -#define VAR_RATELIMIT_SLABS 429 -#define VAR_RATELIMIT_SIZE 430 -#define VAR_RATELIMIT_FOR_DOMAIN 431 -#define VAR_RATELIMIT_BELOW_DOMAIN 432 -#define VAR_IP_RATELIMIT_FACTOR 433 -#define VAR_RATELIMIT_FACTOR 434 -#define VAR_SEND_CLIENT_SUBNET 435 -#define VAR_CLIENT_SUBNET_ZONE 436 -#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 437 -#define VAR_CLIENT_SUBNET_OPCODE 438 -#define VAR_MAX_CLIENT_SUBNET_IPV4 439 -#define VAR_MAX_CLIENT_SUBNET_IPV6 440 -#define VAR_MIN_CLIENT_SUBNET_IPV4 441 -#define VAR_MIN_CLIENT_SUBNET_IPV6 442 -#define VAR_MAX_ECS_TREE_SIZE_IPV4 443 -#define VAR_MAX_ECS_TREE_SIZE_IPV6 444 -#define VAR_CAPS_WHITELIST 445 -#define VAR_CACHE_MAX_NEGATIVE_TTL 446 -#define VAR_PERMIT_SMALL_HOLDDOWN 447 -#define VAR_QNAME_MINIMISATION 448 -#define VAR_QNAME_MINIMISATION_STRICT 449 -#define VAR_IP_FREEBIND 450 -#define VAR_DEFINE_TAG 451 -#define VAR_LOCAL_ZONE_TAG 452 -#define VAR_ACCESS_CONTROL_TAG 453 -#define VAR_LOCAL_ZONE_OVERRIDE 454 -#define VAR_ACCESS_CONTROL_TAG_ACTION 455 -#define VAR_ACCESS_CONTROL_TAG_DATA 456 -#define VAR_VIEW 457 -#define VAR_ACCESS_CONTROL_VIEW 458 -#define VAR_VIEW_FIRST 459 -#define VAR_SERVE_EXPIRED 460 -#define VAR_SERVE_EXPIRED_TTL 461 -#define VAR_SERVE_EXPIRED_TTL_RESET 462 -#define VAR_SERVE_EXPIRED_REPLY_TTL 463 -#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 464 -#define VAR_FAKE_DSA 465 -#define VAR_FAKE_SHA1 466 -#define VAR_LOG_IDENTITY 467 -#define VAR_HIDE_TRUSTANCHOR 468 -#define VAR_TRUST_ANCHOR_SIGNALING 469 -#define VAR_AGGRESSIVE_NSEC 470 -#define VAR_USE_SYSTEMD 471 -#define VAR_SHM_ENABLE 472 -#define VAR_SHM_KEY 473 -#define VAR_ROOT_KEY_SENTINEL 474 -#define VAR_DNSCRYPT 475 -#define VAR_DNSCRYPT_ENABLE 476 -#define VAR_DNSCRYPT_PORT 477 -#define VAR_DNSCRYPT_PROVIDER 478 -#define VAR_DNSCRYPT_SECRET_KEY 479 -#define VAR_DNSCRYPT_PROVIDER_CERT 480 -#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 481 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 482 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 483 -#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 484 -#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 485 -#define VAR_IPSECMOD_ENABLED 486 -#define VAR_IPSECMOD_HOOK 487 -#define VAR_IPSECMOD_IGNORE_BOGUS 488 -#define VAR_IPSECMOD_MAX_TTL 489 -#define VAR_IPSECMOD_WHITELIST 490 -#define VAR_IPSECMOD_STRICT 491 -#define VAR_CACHEDB 492 -#define VAR_CACHEDB_BACKEND 493 -#define VAR_CACHEDB_SECRETSEED 494 -#define VAR_CACHEDB_REDISHOST 495 -#define VAR_CACHEDB_REDISPORT 496 -#define VAR_CACHEDB_REDISTIMEOUT 497 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 498 -#define VAR_FOR_UPSTREAM 499 -#define VAR_AUTH_ZONE 500 -#define VAR_ZONEFILE 501 -#define VAR_MASTER 502 -#define VAR_URL 503 -#define VAR_FOR_DOWNSTREAM 504 -#define VAR_FALLBACK_ENABLED 505 -#define VAR_TLS_ADDITIONAL_PORT 506 -#define VAR_LOW_RTT 507 -#define VAR_LOW_RTT_PERMIL 508 -#define VAR_FAST_SERVER_PERMIL 509 -#define VAR_FAST_SERVER_NUM 510 -#define VAR_ALLOW_NOTIFY 511 -#define VAR_TLS_WIN_CERT 512 -#define VAR_TCP_CONNECTION_LIMIT 513 -#define VAR_FORWARD_NO_CACHE 514 -#define VAR_STUB_NO_CACHE 515 -#define VAR_LOG_SERVFAIL 516 -#define VAR_DENY_ANY 517 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 518 -#define VAR_LOG_TAG_QUERYREPLY 519 -#define VAR_STREAM_WAIT_SIZE 520 -#define VAR_TLS_CIPHERS 521 -#define VAR_TLS_CIPHERSUITES 522 -#define VAR_IPSET 523 -#define VAR_IPSET_NAME_V4 524 -#define VAR_IPSET_NAME_V6 525 -#define VAR_TLS_SESSION_TICKET_KEYS 526 -#define VAR_RPZ 527 -#define VAR_TAGS 528 -#define VAR_RPZ_ACTION_OVERRIDE 529 -#define VAR_RPZ_CNAME_OVERRIDE 530 -#define VAR_RPZ_LOG 531 -#define VAR_RPZ_LOG_NAME 532 +#define VAR_PREFER_IP4 272 +#define VAR_DO_IP4 273 +#define VAR_DO_IP6 274 +#define VAR_PREFER_IP6 275 +#define VAR_DO_UDP 276 +#define VAR_DO_TCP 277 +#define VAR_TCP_MSS 278 +#define VAR_OUTGOING_TCP_MSS 279 +#define VAR_TCP_IDLE_TIMEOUT 280 +#define VAR_EDNS_TCP_KEEPALIVE 281 +#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 282 +#define VAR_CHROOT 283 +#define VAR_USERNAME 284 +#define VAR_DIRECTORY 285 +#define VAR_LOGFILE 286 +#define VAR_PIDFILE 287 +#define VAR_MSG_CACHE_SIZE 288 +#define VAR_MSG_CACHE_SLABS 289 +#define VAR_NUM_QUERIES_PER_THREAD 290 +#define VAR_RRSET_CACHE_SIZE 291 +#define VAR_RRSET_CACHE_SLABS 292 +#define VAR_OUTGOING_NUM_TCP 293 +#define VAR_INFRA_HOST_TTL 294 +#define VAR_INFRA_LAME_TTL 295 +#define VAR_INFRA_CACHE_SLABS 296 +#define VAR_INFRA_CACHE_NUMHOSTS 297 +#define VAR_INFRA_CACHE_LAME_SIZE 298 +#define VAR_NAME 299 +#define VAR_STUB_ZONE 300 +#define VAR_STUB_HOST 301 +#define VAR_STUB_ADDR 302 +#define VAR_TARGET_FETCH_POLICY 303 +#define VAR_HARDEN_SHORT_BUFSIZE 304 +#define VAR_HARDEN_LARGE_QUERIES 305 +#define VAR_FORWARD_ZONE 306 +#define VAR_FORWARD_HOST 307 +#define VAR_FORWARD_ADDR 308 +#define VAR_DO_NOT_QUERY_ADDRESS 309 +#define VAR_HIDE_IDENTITY 310 +#define VAR_HIDE_VERSION 311 +#define VAR_IDENTITY 312 +#define VAR_VERSION 313 +#define VAR_HARDEN_GLUE 314 +#define VAR_MODULE_CONF 315 +#define VAR_TRUST_ANCHOR_FILE 316 +#define VAR_TRUST_ANCHOR 317 +#define VAR_VAL_OVERRIDE_DATE 318 +#define VAR_BOGUS_TTL 319 +#define VAR_VAL_CLEAN_ADDITIONAL 320 +#define VAR_VAL_PERMISSIVE_MODE 321 +#define VAR_INCOMING_NUM_TCP 322 +#define VAR_MSG_BUFFER_SIZE 323 +#define VAR_KEY_CACHE_SIZE 324 +#define VAR_KEY_CACHE_SLABS 325 +#define VAR_TRUSTED_KEYS_FILE 326 +#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 327 +#define VAR_USE_SYSLOG 328 +#define VAR_OUTGOING_INTERFACE 329 +#define VAR_ROOT_HINTS 330 +#define VAR_DO_NOT_QUERY_LOCALHOST 331 +#define VAR_CACHE_MAX_TTL 332 +#define VAR_HARDEN_DNSSEC_STRIPPED 333 +#define VAR_ACCESS_CONTROL 334 +#define VAR_LOCAL_ZONE 335 +#define VAR_LOCAL_DATA 336 +#define VAR_INTERFACE_AUTOMATIC 337 +#define VAR_STATISTICS_INTERVAL 338 +#define VAR_DO_DAEMONIZE 339 +#define VAR_USE_CAPS_FOR_ID 340 +#define VAR_STATISTICS_CUMULATIVE 341 +#define VAR_OUTGOING_PORT_PERMIT 342 +#define VAR_OUTGOING_PORT_AVOID 343 +#define VAR_DLV_ANCHOR_FILE 344 +#define VAR_DLV_ANCHOR 345 +#define VAR_NEG_CACHE_SIZE 346 +#define VAR_HARDEN_REFERRAL_PATH 347 +#define VAR_PRIVATE_ADDRESS 348 +#define VAR_PRIVATE_DOMAIN 349 +#define VAR_REMOTE_CONTROL 350 +#define VAR_CONTROL_ENABLE 351 +#define VAR_CONTROL_INTERFACE 352 +#define VAR_CONTROL_PORT 353 +#define VAR_SERVER_KEY_FILE 354 +#define VAR_SERVER_CERT_FILE 355 +#define VAR_CONTROL_KEY_FILE 356 +#define VAR_CONTROL_CERT_FILE 357 +#define VAR_CONTROL_USE_CERT 358 +#define VAR_EXTENDED_STATISTICS 359 +#define VAR_LOCAL_DATA_PTR 360 +#define VAR_JOSTLE_TIMEOUT 361 +#define VAR_STUB_PRIME 362 +#define VAR_UNWANTED_REPLY_THRESHOLD 363 +#define VAR_LOG_TIME_ASCII 364 +#define VAR_DOMAIN_INSECURE 365 +#define VAR_PYTHON 366 +#define VAR_PYTHON_SCRIPT 367 +#define VAR_VAL_SIG_SKEW_MIN 368 +#define VAR_VAL_SIG_SKEW_MAX 369 +#define VAR_CACHE_MIN_TTL 370 +#define VAR_VAL_LOG_LEVEL 371 +#define VAR_AUTO_TRUST_ANCHOR_FILE 372 +#define VAR_KEEP_MISSING 373 +#define VAR_ADD_HOLDDOWN 374 +#define VAR_DEL_HOLDDOWN 375 +#define VAR_SO_RCVBUF 376 +#define VAR_EDNS_BUFFER_SIZE 377 +#define VAR_PREFETCH 378 +#define VAR_PREFETCH_KEY 379 +#define VAR_SO_SNDBUF 380 +#define VAR_SO_REUSEPORT 381 +#define VAR_HARDEN_BELOW_NXDOMAIN 382 +#define VAR_IGNORE_CD_FLAG 383 +#define VAR_LOG_QUERIES 384 +#define VAR_LOG_REPLIES 385 +#define VAR_LOG_LOCAL_ACTIONS 386 +#define VAR_TCP_UPSTREAM 387 +#define VAR_SSL_UPSTREAM 388 +#define VAR_SSL_SERVICE_KEY 389 +#define VAR_SSL_SERVICE_PEM 390 +#define VAR_SSL_PORT 391 +#define VAR_FORWARD_FIRST 392 +#define VAR_STUB_SSL_UPSTREAM 393 +#define VAR_FORWARD_SSL_UPSTREAM 394 +#define VAR_TLS_CERT_BUNDLE 395 +#define VAR_STUB_FIRST 396 +#define VAR_MINIMAL_RESPONSES 397 +#define VAR_RRSET_ROUNDROBIN 398 +#define VAR_MAX_UDP_SIZE 399 +#define VAR_DELAY_CLOSE 400 +#define VAR_UNBLOCK_LAN_ZONES 401 +#define VAR_INSECURE_LAN_ZONES 402 +#define VAR_INFRA_CACHE_MIN_RTT 403 +#define VAR_DNS64_PREFIX 404 +#define VAR_DNS64_SYNTHALL 405 +#define VAR_DNS64_IGNORE_AAAA 406 +#define VAR_DNSTAP 407 +#define VAR_DNSTAP_ENABLE 408 +#define VAR_DNSTAP_SOCKET_PATH 409 +#define VAR_DNSTAP_SEND_IDENTITY 410 +#define VAR_DNSTAP_SEND_VERSION 411 +#define VAR_DNSTAP_IDENTITY 412 +#define VAR_DNSTAP_VERSION 413 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 414 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 415 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 416 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 417 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 418 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 419 +#define VAR_RESPONSE_IP_TAG 420 +#define VAR_RESPONSE_IP 421 +#define VAR_RESPONSE_IP_DATA 422 +#define VAR_HARDEN_ALGO_DOWNGRADE 423 +#define VAR_IP_TRANSPARENT 424 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 425 +#define VAR_IP_RATELIMIT 426 +#define VAR_IP_RATELIMIT_SLABS 427 +#define VAR_IP_RATELIMIT_SIZE 428 +#define VAR_RATELIMIT 429 +#define VAR_RATELIMIT_SLABS 430 +#define VAR_RATELIMIT_SIZE 431 +#define VAR_RATELIMIT_FOR_DOMAIN 432 +#define VAR_RATELIMIT_BELOW_DOMAIN 433 +#define VAR_IP_RATELIMIT_FACTOR 434 +#define VAR_RATELIMIT_FACTOR 435 +#define VAR_SEND_CLIENT_SUBNET 436 +#define VAR_CLIENT_SUBNET_ZONE 437 +#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 438 +#define VAR_CLIENT_SUBNET_OPCODE 439 +#define VAR_MAX_CLIENT_SUBNET_IPV4 440 +#define VAR_MAX_CLIENT_SUBNET_IPV6 441 +#define VAR_MIN_CLIENT_SUBNET_IPV4 442 +#define VAR_MIN_CLIENT_SUBNET_IPV6 443 +#define VAR_MAX_ECS_TREE_SIZE_IPV4 444 +#define VAR_MAX_ECS_TREE_SIZE_IPV6 445 +#define VAR_CAPS_WHITELIST 446 +#define VAR_CACHE_MAX_NEGATIVE_TTL 447 +#define VAR_PERMIT_SMALL_HOLDDOWN 448 +#define VAR_QNAME_MINIMISATION 449 +#define VAR_QNAME_MINIMISATION_STRICT 450 +#define VAR_IP_FREEBIND 451 +#define VAR_DEFINE_TAG 452 +#define VAR_LOCAL_ZONE_TAG 453 +#define VAR_ACCESS_CONTROL_TAG 454 +#define VAR_LOCAL_ZONE_OVERRIDE 455 +#define VAR_ACCESS_CONTROL_TAG_ACTION 456 +#define VAR_ACCESS_CONTROL_TAG_DATA 457 +#define VAR_VIEW 458 +#define VAR_ACCESS_CONTROL_VIEW 459 +#define VAR_VIEW_FIRST 460 +#define VAR_SERVE_EXPIRED 461 +#define VAR_SERVE_EXPIRED_TTL 462 +#define VAR_SERVE_EXPIRED_TTL_RESET 463 +#define VAR_SERVE_EXPIRED_REPLY_TTL 464 +#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 465 +#define VAR_FAKE_DSA 466 +#define VAR_FAKE_SHA1 467 +#define VAR_LOG_IDENTITY 468 +#define VAR_HIDE_TRUSTANCHOR 469 +#define VAR_TRUST_ANCHOR_SIGNALING 470 +#define VAR_AGGRESSIVE_NSEC 471 +#define VAR_USE_SYSTEMD 472 +#define VAR_SHM_ENABLE 473 +#define VAR_SHM_KEY 474 +#define VAR_ROOT_KEY_SENTINEL 475 +#define VAR_DNSCRYPT 476 +#define VAR_DNSCRYPT_ENABLE 477 +#define VAR_DNSCRYPT_PORT 478 +#define VAR_DNSCRYPT_PROVIDER 479 +#define VAR_DNSCRYPT_SECRET_KEY 480 +#define VAR_DNSCRYPT_PROVIDER_CERT 481 +#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 482 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 483 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 484 +#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 485 +#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 486 +#define VAR_IPSECMOD_ENABLED 487 +#define VAR_IPSECMOD_HOOK 488 +#define VAR_IPSECMOD_IGNORE_BOGUS 489 +#define VAR_IPSECMOD_MAX_TTL 490 +#define VAR_IPSECMOD_WHITELIST 491 +#define VAR_IPSECMOD_STRICT 492 +#define VAR_CACHEDB 493 +#define VAR_CACHEDB_BACKEND 494 +#define VAR_CACHEDB_SECRETSEED 495 +#define VAR_CACHEDB_REDISHOST 496 +#define VAR_CACHEDB_REDISPORT 497 +#define VAR_CACHEDB_REDISTIMEOUT 498 +#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 499 +#define VAR_FOR_UPSTREAM 500 +#define VAR_AUTH_ZONE 501 +#define VAR_ZONEFILE 502 +#define VAR_MASTER 503 +#define VAR_URL 504 +#define VAR_FOR_DOWNSTREAM 505 +#define VAR_FALLBACK_ENABLED 506 +#define VAR_TLS_ADDITIONAL_PORT 507 +#define VAR_LOW_RTT 508 +#define VAR_LOW_RTT_PERMIL 509 +#define VAR_FAST_SERVER_PERMIL 510 +#define VAR_FAST_SERVER_NUM 511 +#define VAR_ALLOW_NOTIFY 512 +#define VAR_TLS_WIN_CERT 513 +#define VAR_TCP_CONNECTION_LIMIT 514 +#define VAR_FORWARD_NO_CACHE 515 +#define VAR_STUB_NO_CACHE 516 +#define VAR_LOG_SERVFAIL 517 +#define VAR_DENY_ANY 518 +#define VAR_UNKNOWN_SERVER_TIME_LIMIT 519 +#define VAR_LOG_TAG_QUERYREPLY 520 +#define VAR_STREAM_WAIT_SIZE 521 +#define VAR_TLS_CIPHERS 522 +#define VAR_TLS_CIPHERSUITES 523 +#define VAR_IPSET 524 +#define VAR_IPSET_NAME_V4 525 +#define VAR_IPSET_NAME_V6 526 +#define VAR_TLS_SESSION_TICKET_KEYS 527 +#define VAR_RPZ 528 +#define VAR_TAGS 529 +#define VAR_RPZ_ACTION_OVERRIDE 530 +#define VAR_RPZ_CNAME_OVERRIDE 531 +#define VAR_RPZ_LOG 532 +#define VAR_RPZ_LOG_NAME 533 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -611,7 +613,7 @@ union YYSTYPE char* str; -#line 615 "util/configparser.h" +#line 617 "util/configparser.h" }; typedef union YYSTYPE YYSTYPE; diff --git a/util/configparser.y b/util/configparser.y index 798f4a972..af6cfc683 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -70,7 +70,7 @@ extern struct config_parser_state* cfg_parser; %token SPACE LETTER NEWLINE COMMENT COLON ANY ZONESTR %token STRING_ARG %token VAR_SERVER VAR_VERBOSITY VAR_NUM_THREADS VAR_PORT -%token VAR_OUTGOING_RANGE VAR_INTERFACE +%token VAR_OUTGOING_RANGE VAR_INTERFACE VAR_PREFER_IP4 %token VAR_DO_IP4 VAR_DO_IP6 VAR_PREFER_IP6 VAR_DO_UDP VAR_DO_TCP %token VAR_TCP_MSS VAR_OUTGOING_TCP_MSS VAR_TCP_IDLE_TIMEOUT %token VAR_EDNS_TCP_KEEPALIVE VAR_EDNS_TCP_KEEPALIVE_TIMEOUT @@ -191,7 +191,7 @@ contents_server: contents_server content_server | ; content_server: server_num_threads | server_verbosity | server_port | server_outgoing_range | server_do_ip4 | - server_do_ip6 | server_prefer_ip6 | + server_do_ip6 | server_prefer_ip4 | server_prefer_ip6 | server_do_udp | server_do_tcp | server_tcp_mss | server_outgoing_tcp_mss | server_tcp_idle_timeout | server_tcp_keepalive | server_tcp_keepalive_timeout | @@ -780,6 +780,15 @@ server_do_tcp: VAR_DO_TCP STRING_ARG free($2); } ; +server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG + { + OUTYY(("P(server_prefer_ip4:%s)\n", $2)); + if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->prefer_ip4 = (strcmp($2, "yes")==0); + free($2); + } + ; server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG { OUTYY(("P(server_prefer_ip6:%s)\n", $2));