From e55b89096f9f30c5a80f1fb8252c7239d236d24a Mon Sep 17 00:00:00 2001 From: Alex Band Date: Thu, 20 Feb 2020 09:13:54 +0100 Subject: [PATCH 01/20] Add GitHub Sponsors for Organisations --- .github/FUNDING.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index ecee84aa4..2a357c0c7 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,12 +1,2 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username +github: [NLnetLabs] custom: ['https://nlnetlabs.nl/funding/'] From ec0d6f196e003d03c9120bbec3e54889a02ae9d2 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 20 Feb 2020 09:17:24 +0100 Subject: [PATCH 02/20] - Updated contrib/unbound_smf23.tar.gz with Solaris SMF service for Unbound from Yuri Voinov. --- contrib/README | 2 +- contrib/unbound_smf22.tar.gz | Bin 4578 -> 0 bytes contrib/unbound_smf23.tar.gz | Bin 0 -> 4648 bytes doc/Changelog | 4 ++++ 4 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 contrib/unbound_smf22.tar.gz create mode 100644 contrib/unbound_smf23.tar.gz diff --git a/contrib/README b/contrib/README index 18c076fd8..9db078e56 100644 --- a/contrib/README +++ b/contrib/README @@ -27,7 +27,7 @@ distribution but may be helpful. works like the BIND feature (removes AAAA records unless AAAA-only domain). Useful for certain 'broken IPv6 default route' scenarios. Patch from Stephane Lapie for ASAHI Net. -* unbound_smf22.tar.gz: Solaris SMF installation/removal scripts. +* unbound_smf23.tar.gz: Solaris SMF installation/removal scripts. Contributed by Yuri Voinov. * unbound.socket and unbound.service: systemd files for unbound, install them in /usr/lib/systemd/system. Contributed by Sami Kerola and Pavel Odintsov. diff --git a/contrib/unbound_smf22.tar.gz b/contrib/unbound_smf22.tar.gz deleted file mode 100644 index e4c51c3dc6c1054b59ae8d3218bd52930b6097fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4578 zcmV<85gqOyiwFp7UiVZ40CjF+Z*^{DUvq6{GBPf7VR8WN9BET4MUcBs6TD5Yew4Ml%$8Ghsd;PIF_lC1?p^?Dk+;5@w|f! zrgd#SZEuy*6*ia-`_2&HzHDiZLk+UNLtb?)jl5)PhPg!sr-#T0c);*TCYxiEXeu=v zB0oL&(2$3ovNs8|k<)7cz(^(7e)Qbf!QY$_H_+m&)rGfKLvQb6n+H>l%} zGr>X)=YL7DG-X|{-0{}Uds?5!`v;r2ZR1`zCeIT+W!~>A&snz`2_NG?aBrv)rO}`jC zyYM_a{rr;XpruW7O?qK&eqQw4({z1JDlCX+tFk7&xHz>iD>__5sn9jxMF>L58cfXe zU<2qgOD`_Y6qlz~pU=w)p*mS+J}1Yp0{Ca<7K_i$&Clj#&pl*`%W6@bf_bE+mEudY zh5TBAF+-BpI|&esB+DZtsmdvN4IywS0I>x~7C{Jr_@)mWW5r#!OxMv2&oyGsQQD-X zdqvYGgG18W5`oo%9mv=gwQRHx(aPj?(of`s$AC=oL|$=?r4^YZ6*j_|hesXOKsFCIw`YKywgzwoq6qOoDQ3w^}tVhpIS-AV~y;5W;;8nBGXGQrJo1iDV^Es`RcT z;r`}SEwhA7qm20MD_&J-1^EVm4NIxy6IsaXG7;;S{25{c-W-XrkERoz8o1ufYFKUXc#hV95-uFFmVgyU60lBvVyUX8u8~I` zA&J65=Lk;K;fD)~2HPks=zAS*2+$pF=R2l9=y4eAUy@K}naDAjR<^%g8l*c5=+@e5>Ih z$Rnfx`ws*>BpUvO14AkQcbX(U`skyCy#MLPpS<_!#~=2?OrO{G>uvb=s7c7l56y#L zYKM(K2|27Cw_DBnA^sxdyV}vo@xI`En4BE9YlqFGx!p1W{eTBz;iBUPS!5 z*&@gLt;SKixl4{(^}WN|cZaoKfa>1CnIN*?APsV|R|8^=GwHbA+HD-yP&o|9jT|1x z48#Rw#nd5Ov*GLn+}+b(>nTZk|F{lw)|+4d)ZArlIkHE#(XNx@gZkddpT7Z9zt+BKOiIb?HA%{*$d`O}ARDlSGDS@Jb>r)U zMzdYtZw%Lu4;ti;c2lbV1~9OEO5mlPv2|@azEzt5s`##}+YqHIQMJ@wW)@ z6jTGu^!uO0-xdV22h5F3n(h5s`;_z2JgT=)%fp@?>*yH3&tbhT9km+aT|j7Dtdx&x zKh%H0g)|8?zl`rs5eLE*3es{D{s7^q&@KzSYF&C{MxfKuj?};ARw_y%`3clzap+lLrywWk3vj1U)3b+qcy~7Kr-2 zPn2Mzc4$$hWyRGUw*4wbiF%QWnja`Dx=ja2I*ep%uys=(I6A1(Dqhzar5%scvYljM zp5P^D8*pn{1zPz5i@xb<7A-1zCz!a=C?fZUX@rF8F7uNe-`jz*S%Yd@_RMUa1-8B%{3RGZL*Ok(}e~T8v()x}qn7qE2)y*AS`xhCz ztC)hx>x=2Q2K`ryXsBuuej}gPlhTE^MgK|(z2%7fT}m=~pO%XJ)ngAX_+ST*o+6ke zor6d=KXBf=P4aN1i`-g;!mFa9O(D5f?fk%aW*~jD?3&eH+)m<)xy$iHZj>pDK6oug zIfje$Dz%)QBJOrYeqUiQu{SBx!G!E?lM~YzEzdVA2y_ydC@w!qF%DF4wxG?0q-gGSDV+ zx!(ET$ap;e%VkEhclqBfG^qaxmH$NUAGOehND9WTSkn{u)Op1{&~c^uoaMsObA_n| zUfdCshpfyNUYeVp?dYB^%q_2az3ecOLSY*wLUQ0 zIVC>0H+72H55*{RGf+qn(=}Ek!C{}z3?kl8Z^m9VT~dMlk*re)nczT9x^T!q;DDDb z{JO?2Sz6WUWC;wjXd1~4-CS36<}5ZAgJ@;VD`Yd^XycmDQoaV09-T#+5-5!L9>R z_@khq#^SBtBqb zmk#&Ffl%^^X~)tZo8}mJSEqNK=Q_GzuXspRV%5J@=3u-YQxL;maKfmn0x;Z?*ve(a zWl`@>D!kJ>Wy1>@Pq>Ju`pW|b*^x+cxt!mb4ueVpUl4{L{G`Sae$I(Focd#F0sSQ0 zFl?m_7mPac3bCg!vQHt?pxq9sS)8TKyq@qLGv!)p$1PqHWt?7MV}y?K2Q>EFfqUv46v z|Ba20kKN^ex6sbX|19ES~wryy?8e?|+r`O}+erNSu`IdzZ=Po-52Qi=GXO zR^$2Ia`-ciD*sMndByLrV_$6`yHhiw$E#zy%Lwl>!hdf@ShTK|6J9@$>C6kSlo+~3 zm(*Q8ew6qAq5(aFMt%EHdel7d~V*FkV$78fId)BAJA#&{NYf$h5_%-!PraZk_N^DgR@Pa5ElueswR3!a9FP>kOdTquArfFyZpMLh`W zHc>(34b6twMBoV){G&bv)-jP~Z40h;nUG;8EStJ+Zeus>)7=L>=rbYc=T$GMBufS7ToVZMSY^TC5f8*v-oaU=dC-IV{Zzqk-qcIP!2WR(6e^K-sR zL`>^5D5Cd6u$3Sm?nzVNdf|b;YBkV8v6#(lv^k zAHs0eGZv#nTRJ5E`pO$`7sT~PqC z=hspTSWbp2Qvgr^0AvEvKmY&$ diff --git a/contrib/unbound_smf23.tar.gz b/contrib/unbound_smf23.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..96a671920ef32f2757da3e86835a641a82924d82 GIT binary patch literal 4648 zcmV+@64&h?iwFquo=si?19fgV(xZ0&zXhwqHt z7#bNL9vK z@4yq^G2pRnSoRj&n(hY_%AJ8>lnr0RC^E}~#6R7-*)P#E?j~Rx&W!LsgW191?C>Bw zd7MCm3v7n;a2;uNz)~H9vQM zd=ydaikB_8+nnC>0MD;R8Z=R^RUdrf;VH$SU-N`}eSw6Eso z=T*;B!!*~l+=6;`%4^!A#i@k=#kce_;vj93FFuLOxpoos{?enxnf&t9>X(y=q!Mr< z!7Ve35L#b0-9-!rUE10oYDY_h`ByzRoRe(g6JpifZ;5w^t~mox@O z3H}xOAd!>=Bw!K}E55a~l7O_XMv!=XG|^Lr1{3gapM$r_5E+uBAV|#Sa!a`h6prgx zDz@XHk>VO^N>DRI5S|%G^hPF=p-zTRFr=YSwclzQMM1CP*ac2B@<`8t;EOsd6Ws`~ z;ppYb(M~2gA>ru}5l<8+6Tnl}KJ;Q)fWJQ`I zRXM9| zijx`^CSg}%7GYOTGYCjhOn|i{h8IX;Pzol?RE**peD)b6a|@j#v{Z+SE$9aBBN)A& zc6b;$d51?Sp9=>Cg<$~KlyFNZ+|!L!`XJij*^q&L+MQC!$+A5R>-eiLp>=gb>4l_< zo0o1Fb7<2_B!?2nu$FKbcjrVuDq3j~I*8|k((Aj9e*U?Zh)#4itX(;KO@zGN9|omI zuD-!0AUO!X5lg_g93THkHsH6BaK&7`plSSJP`h#6uG$=?7t1Wqtc>@}`+)iX_~>Zw z{C{Y?BmW`h@7!}WrRs(`X%&##*A(Ohv`FEMKWfYheEt%vdL|vHO!HR8S8t!7c z!m;&rlu$;~rc4uP7Xh$Xfw`{k>>vXUbJ)N8hHH43W?GD4{z7~Z8w9JCQyc;4g@WxA zac2?y5)c*vK9X0kt&*|fJA&|A>=~6t2&nNz^@2x0ZBWF!s_me{9OR*l6ckZ^xB?<- zF=-IEq6ukHf>B*uLc9~1K_pFymE<62cTsx|+b~>@IRT!MB*D?PfZ|%UiDY9-_ZVj~ zYJ?@*H0^Eb#{Cc{s<;zc`U*|chB5#vXbOHMwiwqR>Mhh5CYlavm$?I!$Kn2DxEgK$ zx=As12MHg}Pkhcxif4CIs@aYZP+yeO?*59{Uu9M`>2JH#&O zy{D0Kp+LoUJ+2_zdc%9Ru{>0+6N?y9$H?gz3YiEJUQiI#E3&p#z}*R$MU`tHEia;f z1QVr8)F%Qta$7->1>m96#?2-$+^GF%@5_ExLIOL5?Uc7r))}r{IZSpgyaZKhafepK zQo>ErCo4n7(#l^@_%S|6E-1!|$vkGFq5|I&a6(fKGK)RyXh~A?HY!`ZR0utu>5geI z3Vs|$%94B@T|OdpX|Rj7hv{5S`hOTiqVz%0rkIA#A$1W6C%B?(m%MG=iRy96DQp@D zh@RnLX@FYMqHmu-wlo$FmcBtE6Yr>^t1H{fJS&?JVysA-(BzB~W}Gn;nI1VlrAHB@ z|86x}@MHDW0o=;@u50L4zZOfSBCvcnp;s4hYu4H@4R^C&>*8*bn)aPk*o4+;G7ust zX-in`SG%cS=i|Rn{x1yt7s~&~?hJM0|Kmf~`TuqPe|G-=-JkyWpTGOlAO8dMBlvT5 zzt+OPM-70J*NuaptB3Ws0EgA%Rd!dq-oZOH$$lN`aI#m$$?EU4<63jK zeq80kA)vOR0Eua<3F@%>=C3u}?Y=v%;hMF^^S?Cq>aXA61FqPt?eErK)?06I=Z_Ea z*(GDuU|HG1`hePT-NxQ=YxjgdA2qc7#^I0k7bnenv#~3r2e<0S z`v-4-uHq8VHeBN~KF0}AdJQco7XTSKY8)KCd)qoDv|VDL@l)-X_=1SE5M59^ph>aS zf-aeni@k6fx?tBt=YHZ`I)Vptg7N_HRhkU#lO>cWES*6EoxD9z@?h4YP&H? z zY5Pi_Z==4_z!3E3|B9Hw@0x$9?_&Jit2O_p-s)M={BYDn$-YC`y@J=ZR%7oRHO=>& zL~>8G-1?8TRdJb4ejTHt#L;FKXzxN zGyfkMygvW)G1}cPD00ZpsFR7I%wXb+d)nQ;nWgE~C(E;j0h zFXFHbePG8qvPG|$jYDU!D>Ia!>C$QRqy_ngCC$S|$rrJc~?Nr!gN-dEB zI`cA_k}IU{X#s*-NkX*Ik_v{!gc2$2R=P?J(WI*PZUF!}hz zU7-l<3cWJ@RHP8&RvA-3_-#RYfM_RXS|@`95`E<#W_K>K~iOhg%dbrB>P8y3!#XO3e# zsjfSdAWnBZ`huQPu0ZP#xQN{m#p0ZwDU%ImF^48Orw}|_p10zsty~NO#q;nfzU=08 z9~JBv-|%uN)yCVI8?$)lnZa@|Q>G7g?A)v)$?Jw`cspvYN0hr@hSO#?7+ES<%dsx} z(C203fY`a$lhV7GC3p-gUQ7)qOq~MdbgDPFvhkV46(YYg1OV(7g{R<6>8%4}CM z?`A{Bw7V+bj{cVE=)H^8f6dG2V;1ydM^zwi~2Ej!9ji-xmCgib$rs5(WB%zIZN zeQx)=8~?JjI2-N$29rT~tK+>~vp|pskLXHC0OE*6u}7_anadcqo9Ac4+en26WfO}#z$CZm@?spoc3{(2@fICAxVDXqzg$mVbQkI8>YREnFARMKks9d z40&k@i;27#&5Kb^xD*{JTQLtsSb9a~xS}kj!Y_D*W7%P85-D)I zbw#LDR?qta-_^LAqy2I76J4RnYno)^0-wVY0S+XiJ4)=38b7zV9w;8|cbmRRL~zgB zqBzJmRvmX|Esr_(NFj8j&9Hnn&>II+$-C2@WB%i`z@T?^=IQHPL>Bak2P*vP4BE3e zN6T;8$;qgfjIdKw9E^t~adV6A*2Jtot;PjxmPw)8!sxnKynfUy3#J_z({7u~jUQ)UopWl877?iKK zGarjDx!$FClDOUY5trZMTTgGV6gNkMdsS^4W8^xOobWMojM7e*31jIkAyeXMuZe-38>$mD)&?Yq}9K3by00f@kgwsB;J6G&~jW z$S%gEgt`)S+3$amFRwQ~e*HJrQU8sOj}Kqhf4^+~C(dS{Quz&yo>uvV-|@TO>i_># z^-X>Kl`5R{?WgCd<{su|msQV(!z%6d-E#B-ens5CUk>WHirao4AIY7XS%}nmda-<6 z5nfk>pKe8%cP>^FUbQHU)`b@;41KFxX(*y+WX5jQVK`cH>~d#)*tsB%uM**1NbVy;8?UFzm;W%FR<-?5 Date: Thu, 20 Feb 2020 14:41:39 +0100 Subject: [PATCH 03/20] Note tag position in Changelog. --- doc/Changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/Changelog b/doc/Changelog index dd405c6cd..1dcd34e6b 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -7,7 +7,8 @@ different openssl versions. 17 February 2020: Wouter - - changelog point where the tag for 1.10.0rc2 release is. + - changelog point where the tag for 1.10.0rc2 release is. And with + the unbound_smf23 commit added to it, that is the 1.10.0 release. 17 February 2020: Ralph - Add respip to supported module-config options in unbound-checkconf. From d2a843b422af08a6ce3ac1a18a8c100a7b743447 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 20 Feb 2020 14:42:58 +0100 Subject: [PATCH 04/20] - master branch has 1.10.1 version. --- configure | 25 +++++++++++++------------ configure.ac | 5 +++-- doc/Changelog | 1 + 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/configure b/configure index 0b840e9d2..bdec1f002 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for unbound 1.10.0. +# Generated by GNU Autoconf 2.69 for unbound 1.10.1. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='unbound' PACKAGE_TARNAME='unbound' -PACKAGE_VERSION='1.10.0' -PACKAGE_STRING='unbound 1.10.0' +PACKAGE_VERSION='1.10.1' +PACKAGE_STRING='unbound 1.10.1' PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues' PACKAGE_URL='' @@ -1452,7 +1452,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures unbound 1.10.0 to adapt to many kinds of systems. +\`configure' configures unbound 1.10.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1517,7 +1517,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of unbound 1.10.0:";; + short | recursive ) echo "Configuration of unbound 1.10.1:";; esac cat <<\_ACEOF @@ -1740,7 +1740,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -unbound configure 1.10.0 +unbound configure 1.10.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2449,7 +2449,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by unbound $as_me 1.10.0, which was +It was created by unbound $as_me 1.10.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2801,11 +2801,11 @@ UNBOUND_VERSION_MAJOR=1 UNBOUND_VERSION_MINOR=10 -UNBOUND_VERSION_MICRO=0 +UNBOUND_VERSION_MICRO=1 LIBUNBOUND_CURRENT=9 -LIBUNBOUND_REVISION=7 +LIBUNBOUND_REVISION=8 LIBUNBOUND_AGE=1 # 1.0.0 had 0:12:0 # 1.0.1 had 0:13:0 @@ -2880,6 +2880,7 @@ LIBUNBOUND_AGE=1 # 1.9.5 had 9:5:1 # 1.9.6 had 9:6:1 # 1.10.0 had 9:7:1 +# 1.10.1 had 9:8:1 # Current -- the number of the binary API that we're implementing # Revision -- which iteration of the implementation of the binary @@ -21598,7 +21599,7 @@ _ACEOF -version=1.10.0 +version=1.10.1 date=`date +'%b %e, %Y'` @@ -22117,7 +22118,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by unbound $as_me 1.10.0, which was +This file was extended by unbound $as_me 1.10.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22183,7 +22184,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -unbound config.status 1.10.0 +unbound config.status 1.10.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 6bbdb176e..3e00c999c 100644 --- a/configure.ac +++ b/configure.ac @@ -11,14 +11,14 @@ sinclude(dnscrypt/dnscrypt.m4) # must be numbers. ac_defun because of later processing m4_define([VERSION_MAJOR],[1]) m4_define([VERSION_MINOR],[10]) -m4_define([VERSION_MICRO],[0]) +m4_define([VERSION_MICRO],[1]) AC_INIT(unbound, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues, unbound) AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR]) AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR]) AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO]) LIBUNBOUND_CURRENT=9 -LIBUNBOUND_REVISION=7 +LIBUNBOUND_REVISION=8 LIBUNBOUND_AGE=1 # 1.0.0 had 0:12:0 # 1.0.1 had 0:13:0 @@ -93,6 +93,7 @@ LIBUNBOUND_AGE=1 # 1.9.5 had 9:5:1 # 1.9.6 had 9:6:1 # 1.10.0 had 9:7:1 +# 1.10.1 had 9:8:1 # Current -- the number of the binary API that we're implementing # Revision -- which iteration of the implementation of the binary diff --git a/doc/Changelog b/doc/Changelog index 1dcd34e6b..05d35b995 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,7 @@ 20 February 2020: Wouter - Updated contrib/unbound_smf23.tar.gz with Solaris SMF service for Unbound from Yuri Voinov. + - master branch has 1.10.1 version. 18 February 2020: Wouter - protect X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS with ifdef for From 42ee37847feeb850d8b2b06be0ad807e33de1e04 Mon Sep 17 00:00:00 2001 From: glitsj16 Date: Sat, 22 Feb 2020 01:16:11 +0000 Subject: [PATCH 05/20] Fix typo --- contrib/unbound.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/unbound.service.in b/contrib/unbound.service.in index 8c51bcbbe..8ebe529c9 100644 --- a/contrib/unbound.service.in +++ b/contrib/unbound.service.in @@ -76,7 +76,7 @@ RestrictSUIDSGID=yes ReadWritePaths=@UNBOUND_RUN_DIR@ @UNBOUND_CHROOT_DIR@ # Below rules are needed when chroot is enabled (usually it's enabled by default). -# If chroot is disabled like chrooot: "" then they may be safely removed. +# If chroot is disabled like chroot: "" then they may be safely removed. TemporaryFileSystem=@UNBOUND_CHROOT_DIR@/dev:ro TemporaryFileSystem=@UNBOUND_CHROOT_DIR@/run:ro BindReadOnlyPaths=-/run/systemd/notify:@UNBOUND_CHROOT_DIR@/run/systemd/notify From f99dd8f6dce865823010206a83c02ffdddc582cb Mon Sep 17 00:00:00 2001 From: George Thessalonikefs Date: Mon, 24 Feb 2020 12:01:20 +0100 Subject: [PATCH 06/20] Changelog note for PR #166. - Merge PR #166: Fix typo in unbound.service.in, by glitsj16. --- doc/Changelog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 05d35b995..b2aac14c9 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +24 February 2020: George + - Merge PR #166: Fix typo in unbound.service.in, by glitsj16. + 20 February 2020: Wouter - Updated contrib/unbound_smf23.tar.gz with Solaris SMF service for Unbound from Yuri Voinov. From 318d4e91cc1f29629d4b8277edffff1ec1fe9546 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Tue, 25 Feb 2020 09:55:59 +0100 Subject: [PATCH 07/20] - 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. --- doc/Changelog | 5 + iterator/iter_utils.c | 57 + smallapp/unbound-checkconf.c | 2 + util/config_file.h | 2 + util/configlexer.c | 3721 +++++++++++++++++----------------- util/configlexer.lex | 1 + util/configparser.c | 3646 ++++++++++++++++----------------- util/configparser.h | 1048 +++++----- util/configparser.y | 13 +- 9 files changed, 4298 insertions(+), 4197 deletions(-) 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, + 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, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 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, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 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, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 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, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 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, - 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, + 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, - 300, 300, 300, 300, 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, + 301, 301, 301, 301, 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, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 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, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 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, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 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, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 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, - 300, 300, 300, 300, 300, 300, 300, 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, + 301, 301, 301, 301, 301, 301, 301, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 300, 300, 300, 300, 300, 300, 300, 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, + 301, 301, 301, 301, 301, 301, 301, 301, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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 + 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, + 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, 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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 + 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, + 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 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, - 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, + 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, - 2991, 2991, 2991, 2991, 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, + 2993, 2993, 2993, 2993, 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, - 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, + 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 2991, 2991, 2991, 2991, 2991, 2991, 2991, 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, + 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, 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, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, 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, 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, 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, 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, + 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, - 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, 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, - 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, + 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, - 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, + 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, - 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, 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, 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, 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, - 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, + 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, - 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 + 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, + 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, - 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, + 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, - 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, + 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, 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, - 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, + 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, 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 + 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: -YY_RULE_SETUP -#line 507 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 285: -/* rule 285 can match eol */ YY_RULE_SETUP #line 508 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 286: +/* rule 286 can match eol */ +YY_RULE_SETUP +#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: -YY_RULE_SETUP -#line 528 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 289: -/* rule 289 can match eol */ YY_RULE_SETUP #line 529 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 290: +/* rule 290 can match eol */ +YY_RULE_SETUP +#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: -YY_RULE_SETUP -#line 561 "./util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK case 297: -/* rule 297 can match eol */ YY_RULE_SETUP #line 562 "./util/configlexer.lex" +{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 298: +/* rule 298 can match eol */ +YY_RULE_SETUP +#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,44 +1942,44 @@ 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, 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, + 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, 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, 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, + 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, 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, - 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, 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, 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, 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, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 3, 3, 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, - 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, 2, 2, - 1, 2, 0, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 3, 1, 2, 0, 1, 1, 2, - 2 + 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)); From de35486fb7df1aa00dfb0d3de457f7c2bc1d2489 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Tue, 25 Feb 2020 09:58:32 +0100 Subject: [PATCH 08/20] Documentation for prefer-ip4, Issue #165. --- doc/example.conf.in | 3 +++ doc/unbound.conf.5.in | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/doc/example.conf.in b/doc/example.conf.in index 4ce9348c2..30a767d62 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -70,6 +70,9 @@ server: # Set this to yes to prefer ipv6 upstream servers over ipv4. # prefer-ip6: no + # Prefer ipv4 upstream servers, even if ipv6 is available. + # prefer-ip4: no + # number of ports to allocate per thread, determines the size of the # port range that can be open simultaneously. About double the # num-queries-per-thread, or, use as many as the OS will allow you. diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index aef2e977f..541a93688 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -381,6 +381,13 @@ IPv6 to the internet nameservers. With this option you can disable the ipv6 transport for sending DNS traffic, it does not impact the contents of the DNS traffic, which may have ip4 and ip6 addresses in it. .TP +.B prefer\-ip4: \fI +If enabled, prefer IPv4 transport for sending DNS queries to internet +nameservers. Default is no. Useful if the IPv6 netblock the server has, +the entire /64 of that is not owned by one operator and the reputation of +the netblock /64 is an issue, using IPv4 then uses the IPv4 filters that +the upstream servers have. +.TP .B prefer\-ip6: \fI If enabled, prefer IPv6 transport for sending DNS queries to internet nameservers. Default is no. From f46904919828fb01f3cba88d6a5f13f3d8d7e660 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Wed, 26 Feb 2020 14:32:14 +0100 Subject: [PATCH 09/20] - iana portlist updated. --- doc/Changelog | 3 +++ util/iana_ports.inc | 1 + 2 files changed, 4 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 620d627f8..25a4322ee 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +26 February 2020: Wouter + - iana portlist updated. + 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 diff --git a/util/iana_ports.inc b/util/iana_ports.inc index 3b8afe54e..b26677efb 100644 --- a/util/iana_ports.inc +++ b/util/iana_ports.inc @@ -4539,6 +4539,7 @@ 6850, 6868, 6888, +6924, 6935, 6936, 6946, From 348e246b66666642746d0bac72ca25958248a807 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 27 Feb 2020 15:08:10 +0100 Subject: [PATCH 10/20] - Fix #169: Fix warning for daemon/remote.c output may be truncated from snprintf. --- daemon/remote.c | 2 +- doc/Changelog | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/daemon/remote.c b/daemon/remote.c index 1782a39ca..f4b7298cb 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -907,7 +907,7 @@ static int print_ext(RES* ssl, struct ub_stats_info* s) { int i; - char nm[16]; + char nm[32]; const sldns_rr_descriptor* desc; const sldns_lookup_table* lt; /* TYPE */ diff --git a/doc/Changelog b/doc/Changelog index 25a4322ee..7bb8e5104 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +27 February 2020: Wouter + - Fix #169: Fix warning for daemon/remote.c output may be truncated + from snprintf. + 26 February 2020: Wouter - iana portlist updated. From 57bbbfc0e6d9884316933410994cce97b0f739a8 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 27 Feb 2020 15:22:35 +0100 Subject: [PATCH 11/20] - Fix #170: Fix gcc undefined sanitizer signed integer overflow warning in signature expiry RFC1982 serial number arithmetic. --- doc/Changelog | 2 ++ validator/val_sigcrypt.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/Changelog b/doc/Changelog index 7bb8e5104..407c0d34d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,8 @@ 27 February 2020: Wouter - Fix #169: Fix warning for daemon/remote.c output may be truncated from snprintf. + - Fix #170: Fix gcc undefined sanitizer signed integer overflow + warning in signature expiry RFC1982 serial number arithmetic. 26 February 2020: Wouter - iana portlist updated. diff --git a/validator/val_sigcrypt.c b/validator/val_sigcrypt.c index 33d206de8..de730f681 100644 --- a/validator/val_sigcrypt.c +++ b/validator/val_sigcrypt.c @@ -1343,7 +1343,7 @@ adjust_ttl(struct val_env* ve, uint32_t unow, if(ve->date_override) { now = ve->date_override; } else now = (int32_t)unow; - expittl = expi - now; + expittl = (int32_t)((uint32_t)expi - (uint32_t)now); /* so now: * d->ttl: rrset ttl read from message or cache. May be reduced From 6f4818ebcbfc91705c34b354c21cff450759889e Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Thu, 27 Feb 2020 15:43:27 +0100 Subject: [PATCH 12/20] - Fix more undefined sanitizer issues, in respip copy_rrset null dname, and in the client_info_compare routine for null memcmp. --- doc/Changelog | 2 ++ respip/respip.c | 14 ++++++++++---- services/mesh.c | 26 +++++++++++++++++++------- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index 407c0d34d..68fd123be 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -3,6 +3,8 @@ from snprintf. - Fix #170: Fix gcc undefined sanitizer signed integer overflow warning in signature expiry RFC1982 serial number arithmetic. + - Fix more undefined sanitizer issues, in respip copy_rrset null + dname, and in the client_info_compare routine for null memcmp. 26 February 2020: Wouter - iana portlist updated. diff --git a/respip/respip.c b/respip/respip.c index f504f5579..c496653c4 100644 --- a/respip/respip.c +++ b/respip/respip.c @@ -502,10 +502,16 @@ copy_rrset(const struct ub_packed_rrset_key* key, struct regional* region) ck->entry.hash = key->entry.hash; ck->entry.key = ck; ck->rk = key->rk; - ck->rk.dname = regional_alloc_init(region, key->rk.dname, - key->rk.dname_len); - if(!ck->rk.dname) - return NULL; + if(key->rk.dname) { + ck->rk.dname = regional_alloc_init(region, key->rk.dname, + key->rk.dname_len); + if(!ck->rk.dname) + return NULL; + ck->rk.dname_len = key->rk.dname_len; + } else { + ck->rk.dname = NULL; + ck->rk.dname_len = 0; + } if((unsigned)data->count >= 0xffff00U) return NULL; /* guard against integer overflow in dsize */ diff --git a/services/mesh.c b/services/mesh.c index 9114ef4c4..09c51a2be 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -159,16 +159,28 @@ client_info_compare(const struct respip_client_info* ci_a, return 1; if(ci_a->taglen != ci_b->taglen) return (ci_a->taglen < ci_b->taglen) ? -1 : 1; - cmp = memcmp(ci_a->taglist, ci_b->taglist, ci_a->taglen); - if(cmp != 0) - return cmp; + if(ci_a->taglist && !ci_b->taglist) + return -1; + if(!ci_a->taglist && ci_b->taglist) + return 1; + if(ci_a->taglist && ci_b->taglist) { + cmp = memcmp(ci_a->taglist, ci_b->taglist, ci_a->taglen); + if(cmp != 0) + return cmp; + } if(ci_a->tag_actions_size != ci_b->tag_actions_size) return (ci_a->tag_actions_size < ci_b->tag_actions_size) ? -1 : 1; - cmp = memcmp(ci_a->tag_actions, ci_b->tag_actions, - ci_a->tag_actions_size); - if(cmp != 0) - return cmp; + if(ci_a->tag_actions && !ci_b->tag_actions) + return -1; + if(!ci_a->tag_actions && ci_b->tag_actions) + return 1; + if(ci_a->tag_actions && ci_b->tag_actions) { + cmp = memcmp(ci_a->tag_actions, ci_b->tag_actions, + ci_a->tag_actions_size); + if(cmp != 0) + return cmp; + } if(ci_a->tag_datas != ci_b->tag_datas) return ci_a->tag_datas < ci_b->tag_datas ? -1 : 1; if(ci_a->view != ci_b->view) From 2d6e0d8eea51d1934d1035c37bca8201b83e2a91 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 27 Feb 2020 10:08:49 -0500 Subject: [PATCH 13/20] Add additional compilers and platforms to Travis testing --- .travis.yml | 81 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 45a7cb153..4726af38f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,9 @@ -sudo: false language: c -compiler: - - gcc +sudo: false + +git: + depth: 5 + addons: apt: packages: @@ -9,8 +11,77 @@ addons: - libevent-dev - libexpat-dev - clang + +jobs: + include: + - os: linux + name: GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + - os: linux + name: Clang on Linux, Amd64 + compiler: clang + arch: amd64 + - os: linux + name: UBsan, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + dist: bionic + env: TEST_UBSAN=yes + - os: linux + name: UBsan, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: TEST_UBSAN=yes + - os: linux + name: Asan, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + dist: bionic + env: TEST_ASAN=yes + - os: linux + name: Asan, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: TEST_ASAN=yes + - os: osx + name: Clang on OS X, Amd64 + compiler: clang + arch: amd64 + - os: linux + name: GCC on Linux, Aarch64 + compiler: gcc + arch: arm64 + dist: bionic + - os: linux + name: Clang on Linux, Aarch64 + compiler: clang + arch: arm64 + dist: bionic + - os: linux + name: GCC on Linux, PowerPC64 + compiler: gcc + arch: ppc64le + dist: bionic + - os: linux + name: Clang on Linux, PowerPC64 + compiler: clang + arch: ppc64le + dist: bionic + script: - - ./configure --enable-debug --disable-flto - - make + - | + if [ "$TEST_UBSAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover" + ./configure + elif [ "$TEST_ASAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" + ./configure + else + ./configure --enable-debug --disable-flto + fi + - make -j 2 - make test - (cd testdata/clang-analysis.tdir; bash clang-analysis.test) From e382b884d387cb29201c8327ac668baeda18190f Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 27 Feb 2020 10:52:58 -0500 Subject: [PATCH 14/20] Use Brew to install OpenSSL on OS X --- .travis.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4726af38f..607e440d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,10 @@ jobs: name: Clang on Linux, Amd64 compiler: clang arch: amd64 + - os: osx + name: Clang on OS X, Amd64 + compiler: clang + arch: amd64 - os: linux name: UBsan, GCC on Linux, Amd64 compiler: gcc @@ -46,10 +50,6 @@ jobs: arch: amd64 dist: bionic env: TEST_ASAN=yes - - os: osx - name: Clang on OS X, Amd64 - compiler: clang - arch: amd64 - os: linux name: GCC on Linux, Aarch64 compiler: gcc @@ -71,6 +71,13 @@ jobs: arch: ppc64le dist: bionic +before_install: + - | + if [ "$TRAVIS_OS_NAME" = "osx" ]; then + brew update + brew install openssl + fi + script: - | if [ "$TEST_UBSAN" = "yes" ]; then From 6476a11189fc253c434897395ab43a20da235b26 Mon Sep 17 00:00:00 2001 From: George Thessalonikefs Date: Thu, 27 Feb 2020 18:11:25 +0100 Subject: [PATCH 15/20] - Provide openssl location for osx travis build. --- .travis.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 607e440d5..4b0f1da53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -71,13 +71,6 @@ jobs: arch: ppc64le dist: bionic -before_install: - - | - if [ "$TRAVIS_OS_NAME" = "osx" ]; then - brew update - brew install openssl - fi - script: - | if [ "$TEST_UBSAN" = "yes" ]; then @@ -86,6 +79,8 @@ script: elif [ "$TEST_ASAN" = "yes" ]; then export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" ./configure + elif [ "$TRAVIS_OS_NAME" = "osx" ]; then + ./configure --enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl/ else ./configure --enable-debug --disable-flto fi From 9efe85fb4c040062af7192b6fb7de46795d02758 Mon Sep 17 00:00:00 2001 From: George Thessalonikefs Date: Thu, 27 Feb 2020 18:13:22 +0100 Subject: [PATCH 16/20] - Merge PR #171: Add additional compilers and platforms to Travis testing, by noloader. --- doc/Changelog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 68fd123be..0cdbe710d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +27 February 2020: George + - Merge PR #171: Add additional compilers and platforms to Travis + testing, by noloader. + 27 February 2020: Wouter - Fix #169: Fix warning for daemon/remote.c output may be truncated from snprintf. From 1cb1e90f53f507812d4200b95eb2722d609a43c3 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 27 Feb 2020 12:56:20 -0500 Subject: [PATCH 17/20] Add IBM s390x arch for testing I believe this is a big-endian platform, so it is nice to have for insurance --- .travis.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4b0f1da53..ab2c05f28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -70,10 +70,20 @@ jobs: compiler: clang arch: ppc64le dist: bionic + - os: linux + name: GCC on Linux, s390x + compiler: gcc + arch: s390x + dist: bionic + - os: linux + name: Clang on Linux, s390x + compiler: clang + arch: s390x + dist: bionic script: - | - if [ "$TEST_UBSAN" = "yes" ]; then + if [ "$TEST_UBSAN" = "yes" ]; then export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover" ./configure elif [ "$TEST_ASAN" = "yes" ]; then From 8fbb03de5eaaa15238f83b594e2c4691a4dc8bac Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 27 Feb 2020 19:10:05 -0500 Subject: [PATCH 18/20] Update makedist.sh Use the latest config.guess and config.sub Use SHA-256 for release signing --- makedist.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/makedist.sh b/makedist.sh index f538f8d02..c3bfcaad3 100755 --- a/makedist.sh +++ b/makedist.sh @@ -464,6 +464,20 @@ rm -rf .git || error_cleanup "Failed to remove .git tracking information" info "Adding libtool utils (libtoolize)." libtoolize -c --install || libtoolize -c || error_cleanup "Libtoolize failed." +# https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html +info "Updating config.guess and config.sub" +wget -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' +wget -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' +chmod a+x config.guess config.sub + +# Remove quarantine bit on Apple platforms +if [ `uname -s | grep -i -c darwin` -ne 0 ]; then + if [ -n `command -v xattr` ]; then + xattr -d com.apple.quarantine config.guess + xattr -d com.apple.quarantine config.sub + fi +fi + info "Building configure script (autoreconf)." autoreconf || error_cleanup "Autoconf failed." @@ -542,9 +556,8 @@ cleanup storehash unbound-$version.tar.gz echo "create unbound-$version.tar.gz.asc with:" -echo " gpg --armor --detach-sign unbound-$version.tar.gz" -echo " gpg --armor --detach-sign unbound-$version.zip" -echo " gpg --armor --detach-sign unbound_setup_$version.exe" +echo " gpg --armor --detach-sign --digest-algo SHA256 unbound-$version.tar.gz" +echo " gpg --armor --detach-sign --digest-algo SHA256 unbound-$version.zip" +echo " gpg --armor --detach-sign --digest-algo SHA256 unbound_setup_$version.exe" info "Unbound distribution created successfully." - From d68c1e29b6cd4cdefedc5fdfb9adf15a16e553ea Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Fri, 28 Feb 2020 10:15:57 +0100 Subject: [PATCH 19/20] Changelog note for PR #173. - Merge PR #173: updated makedist.sh for config.guess and config.sub and sha256 digest for gpg, by noloader. --- doc/Changelog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 0cdbe710d..48762bc00 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +28 February 2020: Wouter + - Merge PR #173: updated makedist.sh for config.guess and + config.sub and sha256 digest for gpg, by noloader. + 27 February 2020: George - Merge PR #171: Add additional compilers and platforms to Travis testing, by noloader. From 8f1cb41725770be169d01f82668a06a84f38614e Mon Sep 17 00:00:00 2001 From: Ralph Dolmans Date: Fri, 28 Feb 2020 11:42:17 +0100 Subject: [PATCH 20/20] Merge PR #172: Add IBM s390x arch for testing, by noloader. --- doc/Changelog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 48762bc00..a1c364143 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +28 February 2020: Ralph + - Merge PR #172: Add IBM s390x arch for testing, by noloader. + 28 February 2020: Wouter - Merge PR #173: updated makedist.sh for config.guess and config.sub and sha256 digest for gpg, by noloader.