]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Initial pass at fixes for bug 3596
authorHarlan Stenn <stenn@ntp.org>
Wed, 29 Jan 2020 06:03:13 +0000 (06:03 +0000)
committerHarlan Stenn <stenn@ntp.org>
Wed, 29 Jan 2020 06:03:13 +0000 (06:03 +0000)
bk: 5e312021VVVkyioYBR_aeIP1LqMCVg

include/ntp_config.h
ntpd/keyword-gen-utd
ntpd/keyword-gen.c
ntpd/ntp_config.c
ntpd/ntp_keyword.h
ntpd/ntp_parser.c
ntpd/ntp_parser.h
ntpd/ntp_parser.y
ntpd/ntp_proto.c

index 1b6299730b0bce14e0d9f3b63eaa4bd1b991a6c8..7f5e6eaefd0b0f42ba29ee19f5a5bbb9bfd3eba2 100644 (file)
@@ -106,12 +106,22 @@ struct string_node_tag {
 
 typedef DECL_FIFO_ANCHOR(string_node) string_fifo;
 
+typedef struct randpoll_node_tag randpoll_node;
+struct randpoll_node_tag {
+       randpoll_node * link;
+       int             poll;
+       int             lower;
+       int             upper;
+};
+
+typedef DECL_FIFO_ANCHOR(randpoll_node) randpoll_fifo;
+
 typedef struct restrict_node_tag restrict_node;
 struct restrict_node_tag {
        restrict_node * link;
        address_node *  addr;
        address_node *  mask;
-       int_fifo *      flag_tok_fifo;
+       attr_val_fifo * flag_tok_fifo;
        int             line_no;
        short           ippeerlimit;
 };
@@ -250,6 +260,8 @@ struct config_tree_tag {
 
        sim_fifo *      sim_details;
        int             mdnstries;
+
+       randpoll_fifo * randompoll;
 };
 
 
@@ -306,10 +318,11 @@ void        destroy_attr_val(attr_val *node);
 filegen_node *create_filegen_node(int filegen_token,
                                  attr_val_fifo *options);
 string_node *create_string_node(char *str);
+randpoll_node *create_randpoll_node(int poll, int lower, int upper);
 restrict_node *create_restrict_node(address_node *addr,
                                    address_node *mask,
                                    short ippeerlimit,
-                                   int_fifo *flags, int line_no);
+                                   attr_val_fifo *flags, int line_no);
 int_node *create_int_node(int val);
 addr_opts_node *create_addr_opts_node(address_node *addr,
                                      attr_val_fifo *options);
index e9bc0fd270b0d02ba2a4ba459a45539417a127ce..bdfd81ba8d1824940ede2698e43a9c480ed7615c 100644 (file)
@@ -1 +1 @@
- *      Generated 2020-01-11 06:37:02 UTC        diff_ignore_line
+ *      Generated 2020-01-25 12:37:05 UTC        diff_ignore_line
index 2f6834e327d66f51e713aed04494724e2fe934c4..cbd78dd6f5321af4c895e15fc0deb873fc31e2e2 100644 (file)
@@ -68,10 +68,15 @@ struct key_tok ntp_keywords[] = {
 { "pidfile",           T_Pidfile,              FOLLBY_STRING },
 { "pool",              T_Pool,                 FOLLBY_STRING },
 { "discard",           T_Discard,              FOLLBY_TOKEN },
+{ "randomizepoll",     T_Randomizepoll,        FOLLBY_TOKEN },
+{ "randompoll",                T_Randompoll,           FOLLBY_TOKEN },
 { "reset",             T_Reset,                FOLLBY_TOKEN },
 { "restrict",          T_Restrict,             FOLLBY_TOKEN },
 { "rlimit",            T_Rlimit,               FOLLBY_TOKEN },
 { "server",            T_Server,               FOLLBY_STRING },
+{ "fuzz",              T_Fuzz,                 FOLLBY_TOKEN },
+{ "reftime",           T_Reftime,              FOLLBY_TOKEN },
+{ "poll",              T_Poll,                 FOLLBY_TOKEN },
 { "setvar",            T_Setvar,               FOLLBY_STRING },
 { "statistics",                T_Statistics,           FOLLBY_TOKEN },
 { "statsdir",          T_Statsdir,             FOLLBY_STRING },
index eccf4f3bd5a133840b36586c5c1cfdffa44e345a..13edb7822f208d7ca9618894e3b17b4d77c62e92 100644 (file)
@@ -539,7 +539,7 @@ dump_config_tree(
        setvar_node *setv_node;
        nic_rule_node *rule_node;
        int_node *i_n;
-       int_node *flag_tok_fifo;
+       //attr_val *flag_tok_fifo;
        int_node *counter_set;
        string_node *str_node;
 
@@ -946,9 +946,10 @@ dump_config_tree(
                if (NULL == rest_node->addr) {
                        s = "default";
                        /* Don't need to set is_default=1 here */
-                       flag_tok_fifo = HEAD_PFIFO(rest_node->flag_tok_fifo);
-                       for ( ; flag_tok_fifo != NULL; flag_tok_fifo = flag_tok_fifo->link) {
-                               if (T_Source == flag_tok_fifo->i) {
+                       atrv = HEAD_PFIFO(rest_node->flag_tok_fifo);
+                       for ( ; atrv != NULL; atrv = atrv->link) {
+                               if (   T_Integer == atrv->type
+                                   && T_Source == atrv->attr) {
                                        s = "source";
                                        break;
                                }
@@ -980,10 +981,11 @@ dump_config_tree(
                        fprintf(df, " mask %s",
                                rest_node->mask->address);
                fprintf(df, " ippeerlimit %d", rest_node->ippeerlimit);
-               flag_tok_fifo = HEAD_PFIFO(rest_node->flag_tok_fifo);
-               for ( ; flag_tok_fifo != NULL; flag_tok_fifo = flag_tok_fifo->link)
-                       if (T_Source != flag_tok_fifo->i)
-                               fprintf(df, " %s", keyword(flag_tok_fifo->i));
+               atrv = HEAD_PFIFO(rest_node->flag_tok_fifo);
+               for ( ; atrv != NULL; atrv = atrv->link)
+                       if (   T_Integer == atrv->type
+                           && T_Source != atrv->attr) {
+                               fprintf(df, " %s", keyword(atrv->attr));
                fprintf(df, "\n");
        }
 
@@ -1493,7 +1495,7 @@ create_restrict_node(
        address_node *  addr,
        address_node *  mask,
        short           ippeerlimit,
-       int_fifo *      flag_tok_fifo,
+       attr_val_fifo * flag_tok_fifo,
        int             line_no
        )
 {
@@ -1520,7 +1522,7 @@ destroy_restrict_node(
         */
        destroy_address_node(my_node->addr);
        destroy_address_node(my_node->mask);
-       destroy_int_fifo(my_node->flag_tok_fifo);
+       destroy_attr_val_fifo(my_node->flag_tok_fifo);
        free(my_node);
 }
 
@@ -2485,7 +2487,7 @@ config_access(
        static int              warned_signd;
        attr_val *              my_opt;
        restrict_node *         my_node;
-       int_node *              curr_tok_fifo;
+       attr_val_node *         curr_tok_fifo;
        sockaddr_u              addr;
        sockaddr_u              mask;
        struct addrinfo         hints;
index 99e6c1b683e66838c9857127fc9721a01f366255..1349a205d7166c3d2758615a24d6fc17c3131030 100644 (file)
@@ -2,7 +2,7 @@
  * ntp_keyword.h
  * 
  * NOTE: edit this file with caution, it is generated by keyword-gen.c
- *      Generated 2020-01-11 06:37:02 UTC        diff_ignore_line
+ *      Generated 2020-01-25 12:37:05 UTC        diff_ignore_line
  *
  */
 #include "ntp_scanner.h"
@@ -10,7 +10,7 @@
 
 #define LOWEST_KEYWORD_ID 258
 
-const char * const keyword_text[203] = {
+const char * const keyword_text[209] = {
        /* 0       258             T_Abbrev */  "abbrev",
        /* 1       259                T_Age */  "age",
        /* 2       260                T_All */  "all",
@@ -48,180 +48,186 @@ const char * const keyword_text[203] = {
        /* 34      292               T_Drop */  "drop",
        /* 35      293               T_Dscp */  "dscp",
        /* 36      294           T_Ellipsis */  "...",
-       /* 37      295             T_Enable */  "enable",
-       /* 38      296                T_End */  "end",
-       /* 39      297              T_Epeer */  "epeer",
-       /* 40      298              T_False */  NULL,
-       /* 41      299               T_File */  "file",
-       /* 42      300            T_Filegen */  "filegen",
-       /* 43      301            T_Filenum */  "filenum",
-       /* 44      302              T_Flag1 */  "flag1",
-       /* 45      303              T_Flag2 */  "flag2",
-       /* 46      304              T_Flag3 */  "flag3",
-       /* 47      305              T_Flag4 */  "flag4",
-       /* 48      306              T_Flake */  "flake",
-       /* 49      307              T_Floor */  "floor",
-       /* 50      308               T_Freq */  "freq",
-       /* 51      309              T_Fudge */  "fudge",
-       /* 52      310               T_Host */  "host",
-       /* 53      311           T_Huffpuff */  "huffpuff",
-       /* 54      312             T_Iburst */  "iburst",
-       /* 55      313              T_Ident */  "ident",
-       /* 56      314             T_Ignore */  "ignore",
-       /* 57      315         T_Ignorehash */  "ignorehash",
-       /* 58      316           T_Incalloc */  "incalloc",
-       /* 59      317             T_Incmem */  "incmem",
-       /* 60      318          T_Initalloc */  "initalloc",
-       /* 61      319            T_Initmem */  "initmem",
-       /* 62      320        T_Includefile */  "includefile",
-       /* 63      321            T_Integer */  NULL,
-       /* 64      322          T_Interface */  "interface",
-       /* 65      323           T_Intrange */  NULL,
-       /* 66      324                 T_Io */  "io",
-       /* 67      325        T_Ippeerlimit */  "ippeerlimit",
-       /* 68      326               T_Ipv4 */  "ipv4",
-       /* 69      327          T_Ipv4_flag */  "-4",
-       /* 70      328               T_Ipv6 */  "ipv6",
-       /* 71      329          T_Ipv6_flag */  "-6",
-       /* 72      330             T_Kernel */  "kernel",
-       /* 73      331                T_Key */  "key",
-       /* 74      332               T_Keys */  "keys",
-       /* 75      333            T_Keysdir */  "keysdir",
-       /* 76      334                T_Kod */  "kod",
-       /* 77      335             T_Mssntp */  "mssntp",
-       /* 78      336           T_Leapfile */  "leapfile",
-       /* 79      337  T_Leapsmearinterval */  "leapsmearinterval",
-       /* 80      338            T_Limited */  "limited",
-       /* 81      339               T_Link */  "link",
-       /* 82      340             T_Listen */  "listen",
-       /* 83      341          T_Logconfig */  "logconfig",
-       /* 84      342            T_Logfile */  "logfile",
-       /* 85      343          T_Loopstats */  "loopstats",
-       /* 86      344        T_Lowpriotrap */  "lowpriotrap",
-       /* 87      345     T_Manycastclient */  "manycastclient",
-       /* 88      346     T_Manycastserver */  "manycastserver",
-       /* 89      347               T_Mask */  "mask",
-       /* 90      348             T_Maxage */  "maxage",
-       /* 91      349           T_Maxclock */  "maxclock",
-       /* 92      350           T_Maxdepth */  "maxdepth",
-       /* 93      351            T_Maxdist */  "maxdist",
-       /* 94      352             T_Maxmem */  "maxmem",
-       /* 95      353            T_Maxpoll */  "maxpoll",
-       /* 96      354          T_Mdnstries */  "mdnstries",
-       /* 97      355                T_Mem */  "mem",
-       /* 98      356            T_Memlock */  "memlock",
-       /* 99      357           T_Minclock */  "minclock",
-       /* 100     358           T_Mindepth */  "mindepth",
-       /* 101     359            T_Mindist */  "mindist",
-       /* 102     360            T_Minimum */  "minimum",
-       /* 103     361          T_Minjitter */  "minjitter",
-       /* 104     362            T_Minpoll */  "minpoll",
-       /* 105     363            T_Minsane */  "minsane",
-       /* 106     364               T_Mode */  "mode",
-       /* 107     365              T_Mode7 */  "mode7",
-       /* 108     366            T_Monitor */  "monitor",
-       /* 109     367              T_Month */  "month",
-       /* 110     368                T_Mru */  "mru",
-       /* 111     369    T_Multicastclient */  "multicastclient",
-       /* 112     370                T_Nic */  "nic",
-       /* 113     371             T_Nolink */  "nolink",
-       /* 114     372           T_Nomodify */  "nomodify",
-       /* 115     373          T_Nomrulist */  "nomrulist",
-       /* 116     374               T_None */  "none",
-       /* 117     375        T_Nonvolatile */  "nonvolatile",
-       /* 118     376            T_Noepeer */  "noepeer",
-       /* 119     377             T_Nopeer */  "nopeer",
-       /* 120     378            T_Noquery */  "noquery",
-       /* 121     379           T_Noselect */  "noselect",
-       /* 122     380            T_Noserve */  "noserve",
-       /* 123     381             T_Notrap */  "notrap",
-       /* 124     382            T_Notrust */  "notrust",
-       /* 125     383                T_Ntp */  "ntp",
-       /* 126     384            T_Ntpport */  "ntpport",
-       /* 127     385     T_NtpSignDsocket */  "ntpsigndsocket",
-       /* 128     386             T_Orphan */  "orphan",
-       /* 129     387         T_Orphanwait */  "orphanwait",
-       /* 130     388          T_PCEdigest */  "peer_clear_digest_early",
-       /* 131     389              T_Panic */  "panic",
-       /* 132     390               T_Peer */  "peer",
-       /* 133     391          T_Peerstats */  "peerstats",
-       /* 134     392              T_Phone */  "phone",
-       /* 135     393                T_Pid */  "pid",
-       /* 136     394            T_Pidfile */  "pidfile",
-       /* 137     395               T_Pool */  "pool",
-       /* 138     396               T_Port */  "port",
-       /* 139     397            T_Preempt */  "preempt",
-       /* 140     398             T_Prefer */  "prefer",
-       /* 141     399         T_Protostats */  "protostats",
-       /* 142     400                 T_Pw */  "pw",
-       /* 143     401           T_Randfile */  "randfile",
-       /* 144     402           T_Rawstats */  "rawstats",
-       /* 145     403              T_Refid */  "refid",
-       /* 146     404         T_Requestkey */  "requestkey",
-       /* 147     405              T_Reset */  "reset",
-       /* 148     406           T_Restrict */  "restrict",
-       /* 149     407             T_Revoke */  "revoke",
-       /* 150     408             T_Rlimit */  "rlimit",
-       /* 151     409      T_Saveconfigdir */  "saveconfigdir",
-       /* 152     410             T_Server */  "server",
-       /* 153     411             T_Setvar */  "setvar",
-       /* 154     412             T_Source */  "source",
-       /* 155     413          T_Stacksize */  "stacksize",
-       /* 156     414         T_Statistics */  "statistics",
-       /* 157     415              T_Stats */  "stats",
-       /* 158     416           T_Statsdir */  "statsdir",
-       /* 159     417               T_Step */  "step",
-       /* 160     418           T_Stepback */  "stepback",
-       /* 161     419            T_Stepfwd */  "stepfwd",
-       /* 162     420            T_Stepout */  "stepout",
-       /* 163     421            T_Stratum */  "stratum",
-       /* 164     422             T_String */  NULL,
-       /* 165     423                T_Sys */  "sys",
-       /* 166     424           T_Sysstats */  "sysstats",
-       /* 167     425               T_Tick */  "tick",
-       /* 168     426              T_Time1 */  "time1",
-       /* 169     427              T_Time2 */  "time2",
-       /* 170     428              T_Timer */  "timer",
-       /* 171     429        T_Timingstats */  "timingstats",
-       /* 172     430             T_Tinker */  "tinker",
-       /* 173     431                T_Tos */  "tos",
-       /* 174     432               T_Trap */  "trap",
-       /* 175     433               T_True */  "true",
-       /* 176     434         T_Trustedkey */  "trustedkey",
-       /* 177     435                T_Ttl */  "ttl",
-       /* 178     436               T_Type */  "type",
-       /* 179     437              T_U_int */  NULL,
-       /* 180     438           T_UEcrypto */  "unpeer_crypto_early",
-       /* 181     439        T_UEcryptonak */  "unpeer_crypto_nak_early",
-       /* 182     440           T_UEdigest */  "unpeer_digest_early",
-       /* 183     441           T_Unconfig */  "unconfig",
-       /* 184     442             T_Unpeer */  "unpeer",
-       /* 185     443            T_Version */  "version",
-       /* 186     444    T_WanderThreshold */  NULL,
-       /* 187     445               T_Week */  "week",
-       /* 188     446           T_Wildcard */  "wildcard",
-       /* 189     447             T_Xleave */  "xleave",
-       /* 190     448               T_Year */  "year",
-       /* 191     449               T_Flag */  NULL,
-       /* 192     450                T_EOC */  NULL,
-       /* 193     451           T_Simulate */  "simulate",
-       /* 194     452         T_Beep_Delay */  "beep_delay",
-       /* 195     453       T_Sim_Duration */  "simulation_duration",
-       /* 196     454      T_Server_Offset */  "server_offset",
-       /* 197     455           T_Duration */  "duration",
-       /* 198     456        T_Freq_Offset */  "freq_offset",
-       /* 199     457             T_Wander */  "wander",
-       /* 200     458             T_Jitter */  "jitter",
-       /* 201     459         T_Prop_Delay */  "prop_delay",
-       /* 202     460         T_Proc_Delay */  "proc_delay"
+       /* 37      295               T_Else */  NULL,
+       /* 38      296             T_Enable */  "enable",
+       /* 39      297                T_End */  "end",
+       /* 40      298              T_Epeer */  "epeer",
+       /* 41      299              T_False */  NULL,
+       /* 42      300               T_File */  "file",
+       /* 43      301            T_Filegen */  "filegen",
+       /* 44      302            T_Filenum */  "filenum",
+       /* 45      303              T_Flag1 */  "flag1",
+       /* 46      304              T_Flag2 */  "flag2",
+       /* 47      305              T_Flag3 */  "flag3",
+       /* 48      306              T_Flag4 */  "flag4",
+       /* 49      307              T_Flake */  "flake",
+       /* 50      308              T_Floor */  "floor",
+       /* 51      309               T_Freq */  "freq",
+       /* 52      310              T_Fudge */  "fudge",
+       /* 53      311               T_Fuzz */  "fuzz",
+       /* 54      312               T_Host */  "host",
+       /* 55      313           T_Huffpuff */  "huffpuff",
+       /* 56      314             T_Iburst */  "iburst",
+       /* 57      315              T_Ident */  "ident",
+       /* 58      316             T_Ignore */  "ignore",
+       /* 59      317         T_Ignorehash */  "ignorehash",
+       /* 60      318           T_Incalloc */  "incalloc",
+       /* 61      319             T_Incmem */  "incmem",
+       /* 62      320          T_Initalloc */  "initalloc",
+       /* 63      321            T_Initmem */  "initmem",
+       /* 64      322        T_Includefile */  "includefile",
+       /* 65      323            T_Integer */  NULL,
+       /* 66      324          T_Interface */  "interface",
+       /* 67      325           T_Intrange */  NULL,
+       /* 68      326                 T_Io */  "io",
+       /* 69      327        T_Ippeerlimit */  "ippeerlimit",
+       /* 70      328               T_Ipv4 */  "ipv4",
+       /* 71      329          T_Ipv4_flag */  "-4",
+       /* 72      330               T_Ipv6 */  "ipv6",
+       /* 73      331          T_Ipv6_flag */  "-6",
+       /* 74      332             T_Kernel */  "kernel",
+       /* 75      333                T_Key */  "key",
+       /* 76      334               T_Keys */  "keys",
+       /* 77      335            T_Keysdir */  "keysdir",
+       /* 78      336                T_Kod */  "kod",
+       /* 79      337             T_Mssntp */  "mssntp",
+       /* 80      338           T_Leapfile */  "leapfile",
+       /* 81      339  T_Leapsmearinterval */  "leapsmearinterval",
+       /* 82      340            T_Limited */  "limited",
+       /* 83      341               T_Link */  "link",
+       /* 84      342             T_Listen */  "listen",
+       /* 85      343          T_Logconfig */  "logconfig",
+       /* 86      344            T_Logfile */  "logfile",
+       /* 87      345          T_Loopstats */  "loopstats",
+       /* 88      346        T_Lowpriotrap */  "lowpriotrap",
+       /* 89      347     T_Manycastclient */  "manycastclient",
+       /* 90      348     T_Manycastserver */  "manycastserver",
+       /* 91      349               T_Mask */  "mask",
+       /* 92      350             T_Maxage */  "maxage",
+       /* 93      351           T_Maxclock */  "maxclock",
+       /* 94      352           T_Maxdepth */  "maxdepth",
+       /* 95      353            T_Maxdist */  "maxdist",
+       /* 96      354             T_Maxmem */  "maxmem",
+       /* 97      355            T_Maxpoll */  "maxpoll",
+       /* 98      356          T_Mdnstries */  "mdnstries",
+       /* 99      357                T_Mem */  "mem",
+       /* 100     358            T_Memlock */  "memlock",
+       /* 101     359           T_Minclock */  "minclock",
+       /* 102     360           T_Mindepth */  "mindepth",
+       /* 103     361            T_Mindist */  "mindist",
+       /* 104     362            T_Minimum */  "minimum",
+       /* 105     363          T_Minjitter */  "minjitter",
+       /* 106     364            T_Minpoll */  "minpoll",
+       /* 107     365            T_Minsane */  "minsane",
+       /* 108     366               T_Mode */  "mode",
+       /* 109     367              T_Mode7 */  "mode7",
+       /* 110     368            T_Monitor */  "monitor",
+       /* 111     369              T_Month */  "month",
+       /* 112     370                T_Mru */  "mru",
+       /* 113     371    T_Multicastclient */  "multicastclient",
+       /* 114     372                T_Nic */  "nic",
+       /* 115     373             T_Nolink */  "nolink",
+       /* 116     374           T_Nomodify */  "nomodify",
+       /* 117     375          T_Nomrulist */  "nomrulist",
+       /* 118     376               T_None */  "none",
+       /* 119     377        T_Nonvolatile */  "nonvolatile",
+       /* 120     378            T_Noepeer */  "noepeer",
+       /* 121     379             T_Nopeer */  "nopeer",
+       /* 122     380            T_Noquery */  "noquery",
+       /* 123     381           T_Noselect */  "noselect",
+       /* 124     382            T_Noserve */  "noserve",
+       /* 125     383             T_Notrap */  "notrap",
+       /* 126     384            T_Notrust */  "notrust",
+       /* 127     385                T_Ntp */  "ntp",
+       /* 128     386            T_Ntpport */  "ntpport",
+       /* 129     387     T_NtpSignDsocket */  "ntpsigndsocket",
+       /* 130     388             T_Orphan */  "orphan",
+       /* 131     389         T_Orphanwait */  "orphanwait",
+       /* 132     390          T_PCEdigest */  "peer_clear_digest_early",
+       /* 133     391              T_Panic */  "panic",
+       /* 134     392               T_Peer */  "peer",
+       /* 135     393          T_Peerstats */  "peerstats",
+       /* 136     394              T_Phone */  "phone",
+       /* 137     395                T_Pid */  "pid",
+       /* 138     396            T_Pidfile */  "pidfile",
+       /* 139     397               T_Poll */  "poll",
+       /* 140     398               T_Pool */  "pool",
+       /* 141     399               T_Port */  "port",
+       /* 142     400            T_Preempt */  "preempt",
+       /* 143     401             T_Prefer */  "prefer",
+       /* 144     402         T_Protostats */  "protostats",
+       /* 145     403                 T_Pw */  "pw",
+       /* 146     404           T_Randfile */  "randfile",
+       /* 147     405      T_Randomizepoll */  "randomizepoll",
+       /* 148     406         T_Randompoll */  "randompoll",
+       /* 149     407           T_Rawstats */  "rawstats",
+       /* 150     408              T_Refid */  "refid",
+       /* 151     409            T_Reftime */  "reftime",
+       /* 152     410         T_Requestkey */  "requestkey",
+       /* 153     411              T_Reset */  "reset",
+       /* 154     412           T_Restrict */  "restrict",
+       /* 155     413             T_Revoke */  "revoke",
+       /* 156     414             T_Rlimit */  "rlimit",
+       /* 157     415      T_Saveconfigdir */  "saveconfigdir",
+       /* 158     416             T_Server */  "server",
+       /* 159     417             T_Setvar */  "setvar",
+       /* 160     418             T_Source */  "source",
+       /* 161     419          T_Stacksize */  "stacksize",
+       /* 162     420         T_Statistics */  "statistics",
+       /* 163     421              T_Stats */  "stats",
+       /* 164     422           T_Statsdir */  "statsdir",
+       /* 165     423               T_Step */  "step",
+       /* 166     424           T_Stepback */  "stepback",
+       /* 167     425            T_Stepfwd */  "stepfwd",
+       /* 168     426            T_Stepout */  "stepout",
+       /* 169     427            T_Stratum */  "stratum",
+       /* 170     428             T_String */  NULL,
+       /* 171     429                T_Sys */  "sys",
+       /* 172     430           T_Sysstats */  "sysstats",
+       /* 173     431               T_Tick */  "tick",
+       /* 174     432              T_Time1 */  "time1",
+       /* 175     433              T_Time2 */  "time2",
+       /* 176     434              T_Timer */  "timer",
+       /* 177     435        T_Timingstats */  "timingstats",
+       /* 178     436             T_Tinker */  "tinker",
+       /* 179     437                T_Tos */  "tos",
+       /* 180     438               T_Trap */  "trap",
+       /* 181     439               T_True */  "true",
+       /* 182     440         T_Trustedkey */  "trustedkey",
+       /* 183     441                T_Ttl */  "ttl",
+       /* 184     442               T_Type */  "type",
+       /* 185     443              T_U_int */  NULL,
+       /* 186     444           T_UEcrypto */  "unpeer_crypto_early",
+       /* 187     445        T_UEcryptonak */  "unpeer_crypto_nak_early",
+       /* 188     446           T_UEdigest */  "unpeer_digest_early",
+       /* 189     447           T_Unconfig */  "unconfig",
+       /* 190     448             T_Unpeer */  "unpeer",
+       /* 191     449            T_Version */  "version",
+       /* 192     450    T_WanderThreshold */  NULL,
+       /* 193     451               T_Week */  "week",
+       /* 194     452           T_Wildcard */  "wildcard",
+       /* 195     453             T_Xleave */  "xleave",
+       /* 196     454               T_Year */  "year",
+       /* 197     455               T_Flag */  NULL,
+       /* 198     456                T_EOC */  NULL,
+       /* 199     457           T_Simulate */  "simulate",
+       /* 200     458         T_Beep_Delay */  "beep_delay",
+       /* 201     459       T_Sim_Duration */  "simulation_duration",
+       /* 202     460      T_Server_Offset */  "server_offset",
+       /* 203     461           T_Duration */  "duration",
+       /* 204     462        T_Freq_Offset */  "freq_offset",
+       /* 205     463             T_Wander */  "wander",
+       /* 206     464             T_Jitter */  "jitter",
+       /* 207     465         T_Prop_Delay */  "prop_delay",
+       /* 208     466         T_Proc_Delay */  "proc_delay"
 };
 
-#define SCANNER_INIT_S 958
+#define SCANNER_INIT_S 979
 
-const scan_state sst[961] = {
+const scan_state sst[982] = {
 /*SS_T( ch,    f-by, match, other ),                            */
   0,                                 /*     0                   */
-  S_ST( '-',   3,      329,     0 ), /*     1                   */
+  S_ST( '-',   3,      331,     0 ), /*     1                   */
   S_ST( '.',   3,        3,     1 ), /*     2                   */
   S_ST( '.',   3,      294,     0 ), /*     3 .                 */
   S_ST( 'a',   3,       23,     2 ), /*     4                   */
@@ -278,7 +284,7 @@ const scan_state sst[961] = {
   S_ST( 'd',   3,       56,     0 ), /*    55 beep_             */
   S_ST( 'e',   3,       57,     0 ), /*    56 beep_d            */
   S_ST( 'l',   3,       58,     0 ), /*    57 beep_de           */
-  S_ST( 'a',   3,      452,     0 ), /*    58 beep_del          */
+  S_ST( 'a',   3,      458,     0 ), /*    58 beep_del          */
   S_ST( 'r',   3,       60,    48 ), /*    59 b                 */
   S_ST( 'o',   3,       61,     0 ), /*    60 br                */
   S_ST( 'a',   3,       62,     0 ), /*    61 bro               */
@@ -385,99 +391,99 @@ const scan_state sst[961] = {
   S_ST( 'a',   3,      163,     0 ), /*   162 dur               */
   S_ST( 't',   3,      164,     0 ), /*   163 dura              */
   S_ST( 'i',   3,      165,     0 ), /*   164 durat             */
-  S_ST( 'o',   3,      455,     0 ), /*   165 durati            */
+  S_ST( 'o',   3,      461,     0 ), /*   165 durati            */
   S_ST( 'e',   3,      171,   126 ), /*   166                   */
-  S_ST( 'n',   3,      296,     0 ), /*   167 e                 */
+  S_ST( 'n',   3,      297,     0 ), /*   167 e                 */
   S_ST( 'a',   3,      169,     0 ), /*   168 en                */
   S_ST( 'b',   3,      170,     0 ), /*   169 ena               */
-  S_ST( 'l',   3,      295,     0 ), /*   170 enab              */
+  S_ST( 'l',   3,      296,     0 ), /*   170 enab              */
   S_ST( 'p',   3,      172,   167 ), /*   171 e                 */
   S_ST( 'e',   3,      173,     0 ), /*   172 ep                */
-  S_ST( 'e',   3,      297,     0 ), /*   173 epe               */
+  S_ST( 'e',   3,      298,     0 ), /*   173 epe               */
   S_ST( 'f',   3,      195,   166 ), /*   174                   */
   S_ST( 'i',   3,      176,     0 ), /*   175 f                 */
-  S_ST( 'l',   3,      299,     0 ), /*   176 fi                */
+  S_ST( 'l',   3,      300,     0 ), /*   176 fi                */
   S_ST( 'g',   3,      178,     0 ), /*   177 file              */
-  S_ST( 'e',   3,      300,     0 ), /*   178 fileg             */
+  S_ST( 'e',   3,      301,     0 ), /*   178 fileg             */
   S_ST( 'n',   3,      180,   177 ), /*   179 file              */
-  S_ST( 'u',   3,      301,     0 ), /*   180 filen             */
+  S_ST( 'u',   3,      302,     0 ), /*   180 filen             */
   S_ST( 'l',   3,      185,   175 ), /*   181 f                 */
   S_ST( 'a',   3,      184,     0 ), /*   182 fl                */
-  S_ST( 'g',   3,      305,     0 ), /*   183 fla               */
-  S_ST( 'k',   3,      306,   183 ), /*   184 fla               */
+  S_ST( 'g',   3,      306,     0 ), /*   183 fla               */
+  S_ST( 'k',   3,      307,   183 ), /*   184 fla               */
   S_ST( 'o',   3,      186,   182 ), /*   185 fl                */
-  S_ST( 'o',   3,      307,     0 ), /*   186 flo               */
+  S_ST( 'o',   3,      308,     0 ), /*   186 flo               */
   S_ST( 'r',   3,      188,   181 ), /*   187 f                 */
-  S_ST( 'e',   3,      308,     0 ), /*   188 fr                */
+  S_ST( 'e',   3,      309,     0 ), /*   188 fr                */
   S_ST( '_',   3,      190,     0 ), /*   189 freq              */
   S_ST( 'o',   3,      191,     0 ), /*   190 freq_             */
   S_ST( 'f',   3,      192,     0 ), /*   191 freq_o            */
   S_ST( 'f',   3,      193,     0 ), /*   192 freq_of           */
   S_ST( 's',   3,      194,     0 ), /*   193 freq_off          */
-  S_ST( 'e',   3,      456,     0 ), /*   194 freq_offs         */
-  S_ST( 'u',   3,      196,   187 ), /*   195 f                 */
+  S_ST( 'e',   3,      462,     0 ), /*   194 freq_offs         */
+  S_ST( 'u',   3,      198,   187 ), /*   195 f                 */
   S_ST( 'd',   3,      197,     0 ), /*   196 fu                */
-  S_ST( 'g',   3,      309,     0 ), /*   197 fud               */
-  S_ST( 'h',   3,      201,   174 ), /*   198                   */
-  S_ST( 'o',   3,      200,     0 ), /*   199 h                 */
-  S_ST( 's',   3,      310,     0 ), /*   200 ho                */
-  S_ST( 'u',   3,      202,   199 ), /*   201 h                 */
-  S_ST( 'f',   3,      203,     0 ), /*   202 hu                */
-  S_ST( 'f',   3,      204,     0 ), /*   203 huf               */
-  S_ST( 'p',   3,      205,     0 ), /*   204 huff              */
-  S_ST( 'u',   3,      206,     0 ), /*   205 huffp             */
-  S_ST( 'f',   3,      311,     0 ), /*   206 huffpu            */
-  S_ST( 'i',   3,      251,   198 ), /*   207                   */
-  S_ST( 'b',   3,      209,     0 ), /*   208 i                 */
-  S_ST( 'u',   3,      210,     0 ), /*   209 ib                */
-  S_ST( 'r',   3,      211,     0 ), /*   210 ibu               */
-  S_ST( 's',   3,      312,     0 ), /*   211 ibur              */
-  S_ST( 'd',   3,      213,   208 ), /*   212 i                 */
-  S_ST( 'e',   3,      214,     0 ), /*   213 id                */
-  S_ST( 'n',   3,      313,     0 ), /*   214 ide               */
-  S_ST( 'g',   3,      216,   212 ), /*   215 i                 */
-  S_ST( 'n',   3,      217,     0 ), /*   216 ig                */
-  S_ST( 'o',   3,      218,     0 ), /*   217 ign               */
-  S_ST( 'r',   3,      314,     0 ), /*   218 igno              */
-  S_ST( 'h',   3,      220,     0 ), /*   219 ignore            */
-  S_ST( 'a',   3,      221,     0 ), /*   220 ignoreh           */
-  S_ST( 's',   3,      315,     0 ), /*   221 ignoreha          */
-  S_ST( 'n',   3,      245,   215 ), /*   222 i                 */
-  S_ST( 'c',   3,      235,     0 ), /*   223 in                */
-  S_ST( 'a',   3,      225,     0 ), /*   224 inc               */
-  S_ST( 'l',   3,      226,     0 ), /*   225 inca              */
-  S_ST( 'l',   3,      227,     0 ), /*   226 incal             */
-  S_ST( 'o',   3,      316,     0 ), /*   227 incall            */
-  S_ST( 'l',   3,      229,   224 ), /*   228 inc               */
-  S_ST( 'u',   3,      230,     0 ), /*   229 incl              */
-  S_ST( 'd',   3,      231,     0 ), /*   230 inclu             */
-  S_ST( 'e',   3,      232,     0 ), /*   231 includ            */
-  S_ST( 'f',   3,      233,     0 ), /*   232 include           */
-  S_ST( 'i',   3,      234,     0 ), /*   233 includef          */
-  S_ST( 'l',   3,      320,     0 ), /*   234 includefi         */
-  S_ST( 'm',   3,      236,   228 ), /*   235 inc               */
-  S_ST( 'e',   3,      317,     0 ), /*   236 incm              */
-  S_ST( 'i',   3,      238,   223 ), /*   237 in                */
-  S_ST( 't',   3,      243,     0 ), /*   238 ini               */
-  S_ST( 'a',   3,      240,     0 ), /*   239 init              */
-  S_ST( 'l',   3,      241,     0 ), /*   240 inita             */
-  S_ST( 'l',   3,      242,     0 ), /*   241 inital            */
-  S_ST( 'o',   3,      318,     0 ), /*   242 initall           */
-  S_ST( 'm',   3,      244,   239 ), /*   243 init              */
-  S_ST( 'e',   3,      319,     0 ), /*   244 initm             */
-  S_ST( 't',   3,      246,   237 ), /*   245 in                */
-  S_ST( 'e',   3,      247,     0 ), /*   246 int               */
-  S_ST( 'r',   3,      248,     0 ), /*   247 inte              */
-  S_ST( 'f',   3,      249,     0 ), /*   248 inter             */
-  S_ST( 'a',   3,      250,     0 ), /*   249 interf            */
-  S_ST( 'c',   3,      322,     0 ), /*   250 interfa           */
-  S_ST( 'p',   3,      321,   324 ), /*   251 i                 */
-  S_ST( 'p',   3,      253,     0 ), /*   252 ip                */
-  S_ST( 'e',   3,      254,     0 ), /*   253 ipp               */
-  S_ST( 'e',   3,      255,     0 ), /*   254 ippe              */
-  S_ST( 'r',   3,      256,     0 ), /*   255 ippee             */
-  S_ST( 'l',   3,      257,     0 ), /*   256 ippeer            */
-  S_ST( 'i',   3,      290,     0 ), /*   257 ippeerl           */
+  S_ST( 'g',   3,      310,     0 ), /*   197 fud               */
+  S_ST( 'z',   3,      311,   196 ), /*   198 fu                */
+  S_ST( 'h',   3,      202,   174 ), /*   199                   */
+  S_ST( 'o',   3,      201,     0 ), /*   200 h                 */
+  S_ST( 's',   3,      312,     0 ), /*   201 ho                */
+  S_ST( 'u',   3,      203,   200 ), /*   202 h                 */
+  S_ST( 'f',   3,      204,     0 ), /*   203 hu                */
+  S_ST( 'f',   3,      205,     0 ), /*   204 huf               */
+  S_ST( 'p',   3,      206,     0 ), /*   205 huff              */
+  S_ST( 'u',   3,      207,     0 ), /*   206 huffp             */
+  S_ST( 'f',   3,      313,     0 ), /*   207 huffpu            */
+  S_ST( 'i',   3,      252,   199 ), /*   208                   */
+  S_ST( 'b',   3,      210,     0 ), /*   209 i                 */
+  S_ST( 'u',   3,      211,     0 ), /*   210 ib                */
+  S_ST( 'r',   3,      212,     0 ), /*   211 ibu               */
+  S_ST( 's',   3,      314,     0 ), /*   212 ibur              */
+  S_ST( 'd',   3,      214,   209 ), /*   213 i                 */
+  S_ST( 'e',   3,      215,     0 ), /*   214 id                */
+  S_ST( 'n',   3,      315,     0 ), /*   215 ide               */
+  S_ST( 'g',   3,      217,   213 ), /*   216 i                 */
+  S_ST( 'n',   3,      218,     0 ), /*   217 ig                */
+  S_ST( 'o',   3,      219,     0 ), /*   218 ign               */
+  S_ST( 'r',   3,      316,     0 ), /*   219 igno              */
+  S_ST( 'h',   3,      221,     0 ), /*   220 ignore            */
+  S_ST( 'a',   3,      222,     0 ), /*   221 ignoreh           */
+  S_ST( 's',   3,      317,     0 ), /*   222 ignoreha          */
+  S_ST( 'n',   3,      246,   216 ), /*   223 i                 */
+  S_ST( 'c',   3,      236,     0 ), /*   224 in                */
+  S_ST( 'a',   3,      226,     0 ), /*   225 inc               */
+  S_ST( 'l',   3,      227,     0 ), /*   226 inca              */
+  S_ST( 'l',   3,      228,     0 ), /*   227 incal             */
+  S_ST( 'o',   3,      318,     0 ), /*   228 incall            */
+  S_ST( 'l',   3,      230,   225 ), /*   229 inc               */
+  S_ST( 'u',   3,      231,     0 ), /*   230 incl              */
+  S_ST( 'd',   3,      232,     0 ), /*   231 inclu             */
+  S_ST( 'e',   3,      233,     0 ), /*   232 includ            */
+  S_ST( 'f',   3,      234,     0 ), /*   233 include           */
+  S_ST( 'i',   3,      235,     0 ), /*   234 includef          */
+  S_ST( 'l',   3,      322,     0 ), /*   235 includefi         */
+  S_ST( 'm',   3,      237,   229 ), /*   236 inc               */
+  S_ST( 'e',   3,      319,     0 ), /*   237 incm              */
+  S_ST( 'i',   3,      239,   224 ), /*   238 in                */
+  S_ST( 't',   3,      244,     0 ), /*   239 ini               */
+  S_ST( 'a',   3,      241,     0 ), /*   240 init              */
+  S_ST( 'l',   3,      242,     0 ), /*   241 inita             */
+  S_ST( 'l',   3,      243,     0 ), /*   242 inital            */
+  S_ST( 'o',   3,      320,     0 ), /*   243 initall           */
+  S_ST( 'm',   3,      245,   240 ), /*   244 init              */
+  S_ST( 'e',   3,      321,     0 ), /*   245 initm             */
+  S_ST( 't',   3,      247,   238 ), /*   246 in                */
+  S_ST( 'e',   3,      248,     0 ), /*   247 int               */
+  S_ST( 'r',   3,      249,     0 ), /*   248 inte              */
+  S_ST( 'f',   3,      250,     0 ), /*   249 inter             */
+  S_ST( 'a',   3,      251,     0 ), /*   250 interf            */
+  S_ST( 'c',   3,      324,     0 ), /*   251 interfa           */
+  S_ST( 'p',   3,      323,   326 ), /*   252 i                 */
+  S_ST( 'p',   3,      254,     0 ), /*   253 ip                */
+  S_ST( 'e',   3,      255,     0 ), /*   254 ipp               */
+  S_ST( 'e',   3,      256,     0 ), /*   255 ippe              */
+  S_ST( 'r',   3,      257,     0 ), /*   256 ippee             */
+  S_ST( 'l',   3,      290,     0 ), /*   257 ippeer            */
   S_ST( 'v',   1,        0,     0 ), /*   258 T_Abbrev          */
   S_ST( 'e',   0,        0,     0 ), /*   259 T_Age             */
   S_ST( 'l',   0,       12,     0 ), /*   260 T_All             */
@@ -510,676 +516,697 @@ const scan_state sst[961] = {
   S_ST( 'e',   0,        0,     0 ), /*   287 T_Disable         */
   S_ST( 'd',   0,        0,     0 ), /*   288 T_Discard         */
   S_ST( 'n',   0,        0,     0 ), /*   289 T_Dispersion      */
-  S_ST( 'm',   3,      298,     0 ), /*   290 ippeerli          */
+  S_ST( 'i',   3,      295,     0 ), /*   290 ippeerl           */
   S_ST( 'e',   1,        0,     0 ), /*   291 T_Driftfile       */
   S_ST( 'p',   0,        0,     0 ), /*   292 T_Drop            */
   S_ST( 'p',   0,        0,     0 ), /*   293 T_Dscp            */
   S_ST( '.',   0,        0,     0 ), /*   294 T_Ellipsis        */
-  S_ST( 'e',   0,        0,     0 ), /*   295 T_Enable          */
-  S_ST( 'd',   0,        0,   168 ), /*   296 T_End             */
-  S_ST( 'r',   0,        0,     0 ), /*   297 T_Epeer           */
-  S_ST( 'i',   3,      325,     0 ), /*   298 ippeerlim         */
-  S_ST( 'e',   1,      179,     0 ), /*   299 T_File            */
-  S_ST( 'n',   0,        0,     0 ), /*   300 T_Filegen         */
-  S_ST( 'm',   0,        0,     0 ), /*   301 T_Filenum         */
-  S_ST( '1',   0,        0,     0 ), /*   302 T_Flag1           */
-  S_ST( '2',   0,        0,   302 ), /*   303 T_Flag2           */
-  S_ST( '3',   0,        0,   303 ), /*   304 T_Flag3           */
-  S_ST( '4',   0,        0,   304 ), /*   305 T_Flag4           */
-  S_ST( 'e',   0,        0,     0 ), /*   306 T_Flake           */
-  S_ST( 'r',   0,        0,     0 ), /*   307 T_Floor           */
-  S_ST( 'q',   0,      189,     0 ), /*   308 T_Freq            */
-  S_ST( 'e',   1,        0,     0 ), /*   309 T_Fudge           */
-  S_ST( 't',   1,        0,     0 ), /*   310 T_Host            */
-  S_ST( 'f',   0,        0,     0 ), /*   311 T_Huffpuff        */
-  S_ST( 't',   0,        0,     0 ), /*   312 T_Iburst          */
-  S_ST( 't',   1,        0,     0 ), /*   313 T_Ident           */
-  S_ST( 'e',   0,      219,     0 ), /*   314 T_Ignore          */
-  S_ST( 'h',   0,        0,     0 ), /*   315 T_Ignorehash      */
-  S_ST( 'c',   0,        0,     0 ), /*   316 T_Incalloc        */
-  S_ST( 'm',   0,        0,     0 ), /*   317 T_Incmem          */
-  S_ST( 'c',   0,        0,     0 ), /*   318 T_Initalloc       */
-  S_ST( 'm',   0,        0,     0 ), /*   319 T_Initmem         */
-  S_ST( 'e',   1,        0,     0 ), /*   320 T_Includefile     */
-  S_ST( 'v',   3,      328,   252 ), /*   321 ip                */
-  S_ST( 'e',   0,        0,     0 ), /*   322 T_Interface       */
-  S_ST( 'j',   3,      422,   207 ), /*   323                   */
-  S_ST( 'o',   0,        0,   222 ), /*   324 T_Io              */
-  S_ST( 't',   0,        0,     0 ), /*   325 T_Ippeerlimit     */
-  S_ST( '4',   0,        0,     0 ), /*   326 T_Ipv4            */
-  S_ST( '4',   0,        0,     0 ), /*   327 T_Ipv4_flag       */
-  S_ST( '6',   0,        0,   326 ), /*   328 T_Ipv6            */
-  S_ST( '6',   0,        0,   327 ), /*   329 T_Ipv6_flag       */
-  S_ST( 'l',   0,        0,     0 ), /*   330 T_Kernel          */
-  S_ST( 'y',   0,      332,   462 ), /*   331 T_Key             */
-  S_ST( 's',   1,      465,     0 ), /*   332 T_Keys            */
-  S_ST( 'r',   1,        0,     0 ), /*   333 T_Keysdir         */
-  S_ST( 'd',   0,        0,     0 ), /*   334 T_Kod             */
-  S_ST( 'p',   0,        0,     0 ), /*   335 T_Mssntp          */
-  S_ST( 'e',   1,        0,     0 ), /*   336 T_Leapfile        */
-  S_ST( 'l',   0,        0,     0 ), /*   337 T_Leapsmearinterval */
-  S_ST( 'd',   0,        0,     0 ), /*   338 T_Limited         */
-  S_ST( 'k',   0,        0,     0 ), /*   339 T_Link            */
-  S_ST( 'n',   0,        0,     0 ), /*   340 T_Listen          */
-  S_ST( 'g',   2,        0,     0 ), /*   341 T_Logconfig       */
-  S_ST( 'e',   1,        0,     0 ), /*   342 T_Logfile         */
-  S_ST( 's',   0,        0,     0 ), /*   343 T_Loopstats       */
-  S_ST( 'p',   0,        0,     0 ), /*   344 T_Lowpriotrap     */
-  S_ST( 't',   1,        0,     0 ), /*   345 T_Manycastclient  */
-  S_ST( 'r',   2,        0,     0 ), /*   346 T_Manycastserver  */
-  S_ST( 'k',   0,        0,     0 ), /*   347 T_Mask            */
-  S_ST( 'e',   0,        0,     0 ), /*   348 T_Maxage          */
-  S_ST( 'k',   0,        0,     0 ), /*   349 T_Maxclock        */
-  S_ST( 'h',   0,        0,     0 ), /*   350 T_Maxdepth        */
-  S_ST( 't',   0,        0,     0 ), /*   351 T_Maxdist         */
-  S_ST( 'm',   0,        0,     0 ), /*   352 T_Maxmem          */
-  S_ST( 'l',   0,        0,     0 ), /*   353 T_Maxpoll         */
-  S_ST( 's',   0,        0,     0 ), /*   354 T_Mdnstries       */
-  S_ST( 'm',   0,      565,     0 ), /*   355 T_Mem             */
-  S_ST( 'k',   0,        0,     0 ), /*   356 T_Memlock         */
-  S_ST( 'k',   0,        0,     0 ), /*   357 T_Minclock        */
-  S_ST( 'h',   0,        0,     0 ), /*   358 T_Mindepth        */
-  S_ST( 't',   0,        0,     0 ), /*   359 T_Mindist         */
-  S_ST( 'm',   0,        0,     0 ), /*   360 T_Minimum         */
-  S_ST( 'r',   0,        0,     0 ), /*   361 T_Minjitter       */
-  S_ST( 'l',   0,        0,     0 ), /*   362 T_Minpoll         */
-  S_ST( 'e',   0,        0,     0 ), /*   363 T_Minsane         */
-  S_ST( 'e',   0,      365,     0 ), /*   364 T_Mode            */
-  S_ST( '7',   0,        0,     0 ), /*   365 T_Mode7           */
-  S_ST( 'r',   0,        0,     0 ), /*   366 T_Monitor         */
-  S_ST( 'h',   0,        0,     0 ), /*   367 T_Month           */
-  S_ST( 'u',   0,        0,     0 ), /*   368 T_Mru             */
-  S_ST( 't',   2,        0,     0 ), /*   369 T_Multicastclient */
-  S_ST( 'c',   0,        0,     0 ), /*   370 T_Nic             */
-  S_ST( 'k',   0,        0,     0 ), /*   371 T_Nolink          */
-  S_ST( 'y',   0,        0,     0 ), /*   372 T_Nomodify        */
-  S_ST( 't',   0,        0,     0 ), /*   373 T_Nomrulist       */
-  S_ST( 'e',   0,        0,     0 ), /*   374 T_None            */
-  S_ST( 'e',   0,        0,     0 ), /*   375 T_Nonvolatile     */
-  S_ST( 'r',   0,        0,     0 ), /*   376 T_Noepeer         */
-  S_ST( 'r',   0,        0,     0 ), /*   377 T_Nopeer          */
-  S_ST( 'y',   0,        0,     0 ), /*   378 T_Noquery         */
-  S_ST( 't',   0,        0,     0 ), /*   379 T_Noselect        */
-  S_ST( 'e',   0,        0,     0 ), /*   380 T_Noserve         */
-  S_ST( 'p',   0,        0,     0 ), /*   381 T_Notrap          */
-  S_ST( 't',   0,        0,     0 ), /*   382 T_Notrust         */
-  S_ST( 'p',   0,      670,     0 ), /*   383 T_Ntp             */
-  S_ST( 't',   0,        0,     0 ), /*   384 T_Ntpport         */
-  S_ST( 't',   1,        0,     0 ), /*   385 T_NtpSignDsocket  */
-  S_ST( 'n',   0,      685,     0 ), /*   386 T_Orphan          */
-  S_ST( 't',   0,        0,     0 ), /*   387 T_Orphanwait      */
-  S_ST( 'y',   0,        0,     0 ), /*   388 T_PCEdigest       */
-  S_ST( 'c',   0,        0,     0 ), /*   389 T_Panic           */
-  S_ST( 'r',   1,      712,     0 ), /*   390 T_Peer            */
-  S_ST( 's',   0,        0,     0 ), /*   391 T_Peerstats       */
-  S_ST( 'e',   2,        0,     0 ), /*   392 T_Phone           */
-  S_ST( 'd',   0,      720,     0 ), /*   393 T_Pid             */
-  S_ST( 'e',   1,        0,     0 ), /*   394 T_Pidfile         */
-  S_ST( 'l',   1,        0,     0 ), /*   395 T_Pool            */
-  S_ST( 't',   0,        0,     0 ), /*   396 T_Port            */
-  S_ST( 't',   0,        0,     0 ), /*   397 T_Preempt         */
-  S_ST( 'r',   0,        0,     0 ), /*   398 T_Prefer          */
-  S_ST( 's',   0,        0,     0 ), /*   399 T_Protostats      */
-  S_ST( 'w',   1,        0,   726 ), /*   400 T_Pw              */
-  S_ST( 'e',   1,        0,     0 ), /*   401 T_Randfile        */
-  S_ST( 's',   0,        0,     0 ), /*   402 T_Rawstats        */
-  S_ST( 'd',   1,        0,     0 ), /*   403 T_Refid           */
-  S_ST( 'y',   0,        0,     0 ), /*   404 T_Requestkey      */
-  S_ST( 't',   0,        0,     0 ), /*   405 T_Reset           */
-  S_ST( 't',   0,        0,     0 ), /*   406 T_Restrict        */
-  S_ST( 'e',   0,        0,     0 ), /*   407 T_Revoke          */
-  S_ST( 't',   0,        0,     0 ), /*   408 T_Rlimit          */
-  S_ST( 'r',   1,        0,     0 ), /*   409 T_Saveconfigdir   */
-  S_ST( 'r',   1,      803,     0 ), /*   410 T_Server          */
-  S_ST( 'r',   1,        0,     0 ), /*   411 T_Setvar          */
-  S_ST( 'e',   0,        0,     0 ), /*   412 T_Source          */
-  S_ST( 'e',   0,        0,     0 ), /*   413 T_Stacksize       */
-  S_ST( 's',   0,        0,     0 ), /*   414 T_Statistics      */
-  S_ST( 's',   0,      846,   841 ), /*   415 T_Stats           */
-  S_ST( 'r',   1,        0,     0 ), /*   416 T_Statsdir        */
-  S_ST( 'p',   0,      854,     0 ), /*   417 T_Step            */
-  S_ST( 'k',   0,        0,     0 ), /*   418 T_Stepback        */
-  S_ST( 'd',   0,        0,     0 ), /*   419 T_Stepfwd         */
-  S_ST( 't',   0,        0,     0 ), /*   420 T_Stepout         */
-  S_ST( 'm',   0,        0,     0 ), /*   421 T_Stratum         */
-  S_ST( 'i',   3,      437,     0 ), /*   422 j                 */
-  S_ST( 's',   0,      861,     0 ), /*   423 T_Sys             */
-  S_ST( 's',   0,        0,     0 ), /*   424 T_Sysstats        */
-  S_ST( 'k',   0,        0,     0 ), /*   425 T_Tick            */
-  S_ST( '1',   0,        0,     0 ), /*   426 T_Time1           */
-  S_ST( '2',   0,        0,   426 ), /*   427 T_Time2           */
-  S_ST( 'r',   0,        0,   427 ), /*   428 T_Timer           */
-  S_ST( 's',   0,        0,     0 ), /*   429 T_Timingstats     */
-  S_ST( 'r',   0,        0,     0 ), /*   430 T_Tinker          */
-  S_ST( 's',   0,        0,     0 ), /*   431 T_Tos             */
-  S_ST( 'p',   1,        0,     0 ), /*   432 T_Trap            */
-  S_ST( 'e',   0,        0,     0 ), /*   433 T_True            */
-  S_ST( 'y',   0,        0,     0 ), /*   434 T_Trustedkey      */
-  S_ST( 'l',   0,        0,     0 ), /*   435 T_Ttl             */
-  S_ST( 'e',   0,        0,     0 ), /*   436 T_Type            */
-  S_ST( 't',   3,      444,     0 ), /*   437 ji                */
-  S_ST( 'y',   0,        0,     0 ), /*   438 T_UEcrypto        */
-  S_ST( 'y',   0,        0,     0 ), /*   439 T_UEcryptonak     */
-  S_ST( 'y',   0,        0,     0 ), /*   440 T_UEdigest        */
-  S_ST( 'g',   1,        0,     0 ), /*   441 T_Unconfig        */
-  S_ST( 'r',   1,      903,     0 ), /*   442 T_Unpeer          */
-  S_ST( 'n',   0,        0,     0 ), /*   443 T_Version         */
-  S_ST( 't',   3,      449,     0 ), /*   444 jit               */
-  S_ST( 'k',   0,        0,     0 ), /*   445 T_Week            */
-  S_ST( 'd',   0,        0,     0 ), /*   446 T_Wildcard        */
-  S_ST( 'e',   0,        0,     0 ), /*   447 T_Xleave          */
-  S_ST( 'r',   0,        0,     0 ), /*   448 T_Year            */
-  S_ST( 'e',   3,      458,     0 ), /*   449 jitt              */
-  S_ST( 'k',   3,      467,   323 ), /*   450                   */
-  S_ST( 'e',   0,        0,     0 ), /*   451 T_Simulate        */
-  S_ST( 'y',   0,        0,     0 ), /*   452 T_Beep_Delay      */
-  S_ST( 'n',   0,        0,     0 ), /*   453 T_Sim_Duration    */
-  S_ST( 't',   0,        0,     0 ), /*   454 T_Server_Offset   */
-  S_ST( 'n',   0,        0,     0 ), /*   455 T_Duration        */
-  S_ST( 't',   0,        0,     0 ), /*   456 T_Freq_Offset     */
-  S_ST( 'r',   0,        0,     0 ), /*   457 T_Wander          */
-  S_ST( 'r',   0,        0,     0 ), /*   458 T_Jitter          */
-  S_ST( 'y',   0,        0,     0 ), /*   459 T_Prop_Delay      */
-  S_ST( 'y',   0,        0,     0 ), /*   460 T_Proc_Delay      */
-  S_ST( 'e',   3,      331,     0 ), /*   461 k                 */
-  S_ST( 'r',   3,      463,     0 ), /*   462 ke                */
-  S_ST( 'n',   3,      464,     0 ), /*   463 ker               */
-  S_ST( 'e',   3,      330,     0 ), /*   464 kern              */
-  S_ST( 'd',   3,      466,     0 ), /*   465 keys              */
-  S_ST( 'i',   3,      333,     0 ), /*   466 keysd             */
-  S_ST( 'o',   3,      334,   461 ), /*   467 k                 */
-  S_ST( 'l',   3,      496,   450 ), /*   468                   */
-  S_ST( 'e',   3,      470,     0 ), /*   469 l                 */
-  S_ST( 'a',   3,      471,     0 ), /*   470 le                */
-  S_ST( 'p',   3,      475,     0 ), /*   471 lea               */
-  S_ST( 'f',   3,      473,     0 ), /*   472 leap              */
-  S_ST( 'i',   3,      474,     0 ), /*   473 leapf             */
-  S_ST( 'l',   3,      336,     0 ), /*   474 leapfi            */
-  S_ST( 's',   3,      476,   472 ), /*   475 leap              */
-  S_ST( 'm',   3,      477,     0 ), /*   476 leaps             */
-  S_ST( 'e',   3,      478,     0 ), /*   477 leapsm            */
-  S_ST( 'a',   3,      479,     0 ), /*   478 leapsme           */
-  S_ST( 'r',   3,      480,     0 ), /*   479 leapsmea          */
-  S_ST( 'i',   3,      481,     0 ), /*   480 leapsmear         */
-  S_ST( 'n',   3,      482,     0 ), /*   481 leapsmeari        */
-  S_ST( 't',   3,      483,     0 ), /*   482 leapsmearin       */
-  S_ST( 'e',   3,      484,     0 ), /*   483 leapsmearint      */
-  S_ST( 'r',   3,      485,     0 ), /*   484 leapsmearinte     */
-  S_ST( 'v',   3,      486,     0 ), /*   485 leapsmearinter    */
-  S_ST( 'a',   3,      337,     0 ), /*   486 leapsmearinterv   */
-  S_ST( 'i',   3,      493,   469 ), /*   487 l                 */
-  S_ST( 'm',   3,      489,     0 ), /*   488 li                */
-  S_ST( 'i',   3,      490,     0 ), /*   489 lim               */
-  S_ST( 't',   3,      491,     0 ), /*   490 limi              */
-  S_ST( 'e',   3,      338,     0 ), /*   491 limit             */
-  S_ST( 'n',   3,      339,   488 ), /*   492 li                */
-  S_ST( 's',   3,      494,   492 ), /*   493 li                */
-  S_ST( 't',   3,      495,     0 ), /*   494 lis               */
-  S_ST( 'e',   3,      340,     0 ), /*   495 list              */
-  S_ST( 'o',   3,      512,   487 ), /*   496 l                 */
-  S_ST( 'g',   3,      503,     0 ), /*   497 lo                */
-  S_ST( 'c',   3,      499,     0 ), /*   498 log               */
-  S_ST( 'o',   3,      500,     0 ), /*   499 logc              */
-  S_ST( 'n',   3,      501,     0 ), /*   500 logco             */
-  S_ST( 'f',   3,      502,     0 ), /*   501 logcon            */
-  S_ST( 'i',   3,      341,     0 ), /*   502 logconf           */
-  S_ST( 'f',   3,      504,   498 ), /*   503 log               */
-  S_ST( 'i',   3,      505,     0 ), /*   504 logf              */
-  S_ST( 'l',   3,      342,     0 ), /*   505 logfi             */
-  S_ST( 'o',   3,      507,   497 ), /*   506 lo                */
-  S_ST( 'p',   3,      508,     0 ), /*   507 loo               */
-  S_ST( 's',   3,      509,     0 ), /*   508 loop              */
-  S_ST( 't',   3,      510,     0 ), /*   509 loops             */
-  S_ST( 'a',   3,      511,     0 ), /*   510 loopst            */
-  S_ST( 't',   3,      343,     0 ), /*   511 loopsta           */
-  S_ST( 'w',   3,      513,   506 ), /*   512 lo                */
-  S_ST( 'p',   3,      514,     0 ), /*   513 low               */
-  S_ST( 'r',   3,      515,     0 ), /*   514 lowp              */
-  S_ST( 'i',   3,      516,     0 ), /*   515 lowpr             */
-  S_ST( 'o',   3,      517,     0 ), /*   516 lowpri            */
-  S_ST( 't',   3,      518,     0 ), /*   517 lowprio           */
-  S_ST( 'r',   3,      519,     0 ), /*   518 lowpriot          */
-  S_ST( 'a',   3,      344,     0 ), /*   519 lowpriotr         */
-  S_ST( 'm',   3,      606,   468 ), /*   520                   */
-  S_ST( 'a',   3,      539,     0 ), /*   521 m                 */
-  S_ST( 'n',   3,      523,     0 ), /*   522 ma                */
-  S_ST( 'y',   3,      524,     0 ), /*   523 man               */
-  S_ST( 'c',   3,      525,     0 ), /*   524 many              */
-  S_ST( 'a',   3,      526,     0 ), /*   525 manyc             */
-  S_ST( 's',   3,      527,     0 ), /*   526 manyca            */
-  S_ST( 't',   3,      533,     0 ), /*   527 manycas           */
-  S_ST( 'c',   3,      529,     0 ), /*   528 manycast          */
-  S_ST( 'l',   3,      530,     0 ), /*   529 manycastc         */
-  S_ST( 'i',   3,      531,     0 ), /*   530 manycastcl        */
-  S_ST( 'e',   3,      532,     0 ), /*   531 manycastcli       */
-  S_ST( 'n',   3,      345,     0 ), /*   532 manycastclie      */
-  S_ST( 's',   3,      534,   528 ), /*   533 manycast          */
-  S_ST( 'e',   3,      535,     0 ), /*   534 manycasts         */
-  S_ST( 'r',   3,      536,     0 ), /*   535 manycastse        */
-  S_ST( 'v',   3,      537,     0 ), /*   536 manycastser       */
-  S_ST( 'e',   3,      346,     0 ), /*   537 manycastserv      */
-  S_ST( 's',   3,      347,   522 ), /*   538 ma                */
-  S_ST( 'x',   3,      554,   538 ), /*   539 ma                */
-  S_ST( 'a',   3,      541,     0 ), /*   540 max               */
-  S_ST( 'g',   3,      348,     0 ), /*   541 maxa              */
-  S_ST( 'c',   3,      543,   540 ), /*   542 max               */
-  S_ST( 'l',   3,      544,     0 ), /*   543 maxc              */
-  S_ST( 'o',   3,      545,     0 ), /*   544 maxcl             */
-  S_ST( 'c',   3,      349,     0 ), /*   545 maxclo            */
-  S_ST( 'd',   3,      550,   542 ), /*   546 max               */
-  S_ST( 'e',   3,      548,     0 ), /*   547 maxd              */
-  S_ST( 'p',   3,      549,     0 ), /*   548 maxde             */
-  S_ST( 't',   3,      350,     0 ), /*   549 maxdep            */
-  S_ST( 'i',   3,      551,   547 ), /*   550 maxd              */
-  S_ST( 's',   3,      351,     0 ), /*   551 maxdi             */
-  S_ST( 'm',   3,      553,   546 ), /*   552 max               */
-  S_ST( 'e',   3,      352,     0 ), /*   553 maxm              */
-  S_ST( 'p',   3,      555,   552 ), /*   554 max               */
-  S_ST( 'o',   3,      556,     0 ), /*   555 maxp              */
-  S_ST( 'l',   3,      353,     0 ), /*   556 maxpo             */
-  S_ST( 'd',   3,      558,   521 ), /*   557 m                 */
-  S_ST( 'n',   3,      559,     0 ), /*   558 md                */
-  S_ST( 's',   3,      560,     0 ), /*   559 mdn               */
-  S_ST( 't',   3,      561,     0 ), /*   560 mdns              */
-  S_ST( 'r',   3,      562,     0 ), /*   561 mdnst             */
-  S_ST( 'i',   3,      563,     0 ), /*   562 mdnstr            */
-  S_ST( 'e',   3,      354,     0 ), /*   563 mdnstri           */
-  S_ST( 'e',   3,      355,   557 ), /*   564 m                 */
-  S_ST( 'l',   3,      566,     0 ), /*   565 mem               */
-  S_ST( 'o',   3,      567,     0 ), /*   566 meml              */
-  S_ST( 'c',   3,      356,     0 ), /*   567 memlo             */
-  S_ST( 'i',   3,      569,   564 ), /*   568 m                 */
-  S_ST( 'n',   3,      591,     0 ), /*   569 mi                */
-  S_ST( 'c',   3,      571,     0 ), /*   570 min               */
-  S_ST( 'l',   3,      572,     0 ), /*   571 minc              */
-  S_ST( 'o',   3,      573,     0 ), /*   572 mincl             */
-  S_ST( 'c',   3,      357,     0 ), /*   573 minclo            */
-  S_ST( 'd',   3,      578,   570 ), /*   574 min               */
-  S_ST( 'e',   3,      576,     0 ), /*   575 mind              */
-  S_ST( 'p',   3,      577,     0 ), /*   576 minde             */
-  S_ST( 't',   3,      358,     0 ), /*   577 mindep            */
-  S_ST( 'i',   3,      579,   575 ), /*   578 mind              */
-  S_ST( 's',   3,      359,     0 ), /*   579 mindi             */
-  S_ST( 'i',   3,      581,   574 ), /*   580 min               */
-  S_ST( 'm',   3,      582,     0 ), /*   581 mini              */
-  S_ST( 'u',   3,      360,     0 ), /*   582 minim             */
-  S_ST( 'j',   3,      584,   580 ), /*   583 min               */
-  S_ST( 'i',   3,      585,     0 ), /*   584 minj              */
-  S_ST( 't',   3,      586,     0 ), /*   585 minji             */
-  S_ST( 't',   3,      587,     0 ), /*   586 minjit            */
-  S_ST( 'e',   3,      361,     0 ), /*   587 minjitt           */
-  S_ST( 'p',   3,      589,   583 ), /*   588 min               */
-  S_ST( 'o',   3,      590,     0 ), /*   589 minp              */
-  S_ST( 'l',   3,      362,     0 ), /*   590 minpo             */
-  S_ST( 's',   3,      592,   588 ), /*   591 min               */
-  S_ST( 'a',   3,      593,     0 ), /*   592 mins              */
-  S_ST( 'n',   3,      363,     0 ), /*   593 minsa             */
-  S_ST( 'o',   3,      596,   568 ), /*   594 m                 */
-  S_ST( 'd',   3,      364,     0 ), /*   595 mo                */
-  S_ST( 'n',   3,      600,   595 ), /*   596 mo                */
-  S_ST( 'i',   3,      598,     0 ), /*   597 mon               */
-  S_ST( 't',   3,      599,     0 ), /*   598 moni              */
-  S_ST( 'o',   3,      366,     0 ), /*   599 monit             */
-  S_ST( 't',   3,      367,   597 ), /*   600 mon               */
-  S_ST( 'r',   3,      368,   594 ), /*   601 m                 */
-  S_ST( 's',   3,      603,   601 ), /*   602 m                 */
-  S_ST( 's',   3,      604,     0 ), /*   603 ms                */
-  S_ST( 'n',   3,      605,     0 ), /*   604 mss               */
-  S_ST( 't',   3,      335,     0 ), /*   605 mssn              */
-  S_ST( 'u',   3,      607,   602 ), /*   606 m                 */
-  S_ST( 'l',   3,      608,     0 ), /*   607 mu                */
-  S_ST( 't',   3,      609,     0 ), /*   608 mul               */
-  S_ST( 'i',   3,      610,     0 ), /*   609 mult              */
-  S_ST( 'c',   3,      611,     0 ), /*   610 multi             */
-  S_ST( 'a',   3,      612,     0 ), /*   611 multic            */
-  S_ST( 's',   3,      613,     0 ), /*   612 multica           */
-  S_ST( 't',   3,      614,     0 ), /*   613 multicas          */
-  S_ST( 'c',   3,      615,     0 ), /*   614 multicast         */
-  S_ST( 'l',   3,      616,     0 ), /*   615 multicastc        */
-  S_ST( 'i',   3,      617,     0 ), /*   616 multicastcl       */
-  S_ST( 'e',   3,      618,     0 ), /*   617 multicastcli      */
-  S_ST( 'n',   3,      369,     0 ), /*   618 multicastclie     */
-  S_ST( 'n',   3,      666,   520 ), /*   619                   */
-  S_ST( 'i',   3,      370,     0 ), /*   620 n                 */
-  S_ST( 'o',   3,      661,   620 ), /*   621 n                 */
-  S_ST( 'e',   3,      623,     0 ), /*   622 no                */
-  S_ST( 'p',   3,      624,     0 ), /*   623 noe               */
-  S_ST( 'e',   3,      625,     0 ), /*   624 noep              */
-  S_ST( 'e',   3,      376,     0 ), /*   625 noepe             */
-  S_ST( 'l',   3,      627,   622 ), /*   626 no                */
-  S_ST( 'i',   3,      628,     0 ), /*   627 nol               */
-  S_ST( 'n',   3,      371,     0 ), /*   628 noli              */
-  S_ST( 'm',   3,      634,   626 ), /*   629 no                */
-  S_ST( 'o',   3,      631,     0 ), /*   630 nom               */
-  S_ST( 'd',   3,      632,     0 ), /*   631 nomo              */
-  S_ST( 'i',   3,      633,     0 ), /*   632 nomod             */
-  S_ST( 'f',   3,      372,     0 ), /*   633 nomodi            */
-  S_ST( 'r',   3,      635,   630 ), /*   634 nom               */
-  S_ST( 'u',   3,      636,     0 ), /*   635 nomr              */
-  S_ST( 'l',   3,      637,     0 ), /*   636 nomru             */
-  S_ST( 'i',   3,      638,     0 ), /*   637 nomrul            */
-  S_ST( 's',   3,      373,     0 ), /*   638 nomruli           */
-  S_ST( 'n',   3,      640,   629 ), /*   639 no                */
-  S_ST( 'v',   3,      641,   374 ), /*   640 non               */
-  S_ST( 'o',   3,      642,     0 ), /*   641 nonv              */
-  S_ST( 'l',   3,      643,     0 ), /*   642 nonvo             */
-  S_ST( 'a',   3,      644,     0 ), /*   643 nonvol            */
-  S_ST( 't',   3,      645,     0 ), /*   644 nonvola           */
-  S_ST( 'i',   3,      646,     0 ), /*   645 nonvolat          */
-  S_ST( 'l',   3,      375,     0 ), /*   646 nonvolati         */
-  S_ST( 'p',   3,      648,   639 ), /*   647 no                */
-  S_ST( 'e',   3,      649,     0 ), /*   648 nop               */
-  S_ST( 'e',   3,      377,     0 ), /*   649 nope              */
-  S_ST( 'q',   3,      651,   647 ), /*   650 no                */
-  S_ST( 'u',   3,      652,     0 ), /*   651 noq               */
-  S_ST( 'e',   3,      653,     0 ), /*   652 noqu              */
-  S_ST( 'r',   3,      378,     0 ), /*   653 noque             */
-  S_ST( 's',   3,      655,   650 ), /*   654 no                */
-  S_ST( 'e',   3,      659,     0 ), /*   655 nos               */
-  S_ST( 'l',   3,      657,     0 ), /*   656 nose              */
-  S_ST( 'e',   3,      658,     0 ), /*   657 nosel             */
-  S_ST( 'c',   3,      379,     0 ), /*   658 nosele            */
-  S_ST( 'r',   3,      660,   656 ), /*   659 nose              */
-  S_ST( 'v',   3,      380,     0 ), /*   660 noser             */
-  S_ST( 't',   3,      662,   654 ), /*   661 no                */
-  S_ST( 'r',   3,      664,     0 ), /*   662 not               */
-  S_ST( 'a',   3,      381,     0 ), /*   663 notr              */
-  S_ST( 'u',   3,      665,   663 ), /*   664 notr              */
-  S_ST( 's',   3,      382,     0 ), /*   665 notru             */
-  S_ST( 't',   3,      383,   621 ), /*   666 n                 */
-  S_ST( 'p',   3,      668,     0 ), /*   667 ntp               */
-  S_ST( 'o',   3,      669,     0 ), /*   668 ntpp              */
-  S_ST( 'r',   3,      384,     0 ), /*   669 ntppo             */
-  S_ST( 's',   3,      671,   667 ), /*   670 ntp               */
-  S_ST( 'i',   3,      672,     0 ), /*   671 ntps              */
-  S_ST( 'g',   3,      673,     0 ), /*   672 ntpsi             */
-  S_ST( 'n',   3,      674,     0 ), /*   673 ntpsig            */
-  S_ST( 'd',   3,      675,     0 ), /*   674 ntpsign           */
-  S_ST( 's',   3,      676,     0 ), /*   675 ntpsignd          */
-  S_ST( 'o',   3,      677,     0 ), /*   676 ntpsignds         */
-  S_ST( 'c',   3,      678,     0 ), /*   677 ntpsigndso        */
-  S_ST( 'k',   3,      679,     0 ), /*   678 ntpsigndsoc       */
-  S_ST( 'e',   3,      385,     0 ), /*   679 ntpsigndsock      */
-  S_ST( 'o',   3,      681,   619 ), /*   680                   */
-  S_ST( 'r',   3,      682,     0 ), /*   681 o                 */
-  S_ST( 'p',   3,      683,     0 ), /*   682 or                */
-  S_ST( 'h',   3,      684,     0 ), /*   683 orp               */
-  S_ST( 'a',   3,      386,     0 ), /*   684 orph              */
-  S_ST( 'w',   3,      686,     0 ), /*   685 orphan            */
-  S_ST( 'a',   3,      687,     0 ), /*   686 orphanw           */
-  S_ST( 'i',   3,      387,     0 ), /*   687 orphanwa          */
-  S_ST( 'p',   3,      400,   680 ), /*   688                   */
-  S_ST( 'a',   3,      690,     0 ), /*   689 p                 */
-  S_ST( 'n',   3,      691,     0 ), /*   690 pa                */
-  S_ST( 'i',   3,      389,     0 ), /*   691 pan               */
-  S_ST( 'e',   3,      693,   689 ), /*   692 p                 */
-  S_ST( 'e',   3,      390,     0 ), /*   693 pe                */
-  S_ST( '_',   3,      695,     0 ), /*   694 peer              */
-  S_ST( 'c',   3,      696,     0 ), /*   695 peer_             */
-  S_ST( 'l',   3,      697,     0 ), /*   696 peer_c            */
-  S_ST( 'e',   3,      698,     0 ), /*   697 peer_cl           */
-  S_ST( 'a',   3,      699,     0 ), /*   698 peer_cle          */
-  S_ST( 'r',   3,      700,     0 ), /*   699 peer_clea         */
-  S_ST( '_',   3,      701,     0 ), /*   700 peer_clear        */
-  S_ST( 'd',   3,      702,     0 ), /*   701 peer_clear_       */
-  S_ST( 'i',   3,      703,     0 ), /*   702 peer_clear_d      */
-  S_ST( 'g',   3,      704,     0 ), /*   703 peer_clear_di     */
-  S_ST( 'e',   3,      705,     0 ), /*   704 peer_clear_dig    */
-  S_ST( 's',   3,      706,     0 ), /*   705 peer_clear_dige   */
-  S_ST( 't',   3,      707,     0 ), /*   706 peer_clear_diges  */
-  S_ST( '_',   3,      708,     0 ), /*   707 peer_clear_digest */
-  S_ST( 'e',   3,      709,     0 ), /*   708 peer_clear_digest_ */
-  S_ST( 'a',   3,      710,     0 ), /*   709 peer_clear_digest_e */
-  S_ST( 'r',   3,      711,     0 ), /*   710 peer_clear_digest_ea */
-  S_ST( 'l',   3,      388,     0 ), /*   711 peer_clear_digest_ear */
-  S_ST( 's',   3,      713,   694 ), /*   712 peer              */
-  S_ST( 't',   3,      714,     0 ), /*   713 peers             */
-  S_ST( 'a',   3,      715,     0 ), /*   714 peerst            */
-  S_ST( 't',   3,      391,     0 ), /*   715 peersta           */
-  S_ST( 'h',   3,      717,   692 ), /*   716 p                 */
-  S_ST( 'o',   3,      718,     0 ), /*   717 ph                */
-  S_ST( 'n',   3,      392,     0 ), /*   718 pho               */
-  S_ST( 'i',   3,      393,   716 ), /*   719 p                 */
-  S_ST( 'f',   3,      721,     0 ), /*   720 pid               */
-  S_ST( 'i',   3,      722,     0 ), /*   721 pidf              */
-  S_ST( 'l',   3,      394,     0 ), /*   722 pidfi             */
-  S_ST( 'o',   3,      725,   719 ), /*   723 p                 */
-  S_ST( 'o',   3,      395,     0 ), /*   724 po                */
-  S_ST( 'r',   3,      396,   724 ), /*   725 po                */
-  S_ST( 'r',   3,      733,   723 ), /*   726 p                 */
-  S_ST( 'e',   3,      731,     0 ), /*   727 pr                */
-  S_ST( 'e',   3,      729,     0 ), /*   728 pre               */
-  S_ST( 'm',   3,      730,     0 ), /*   729 pree              */
-  S_ST( 'p',   3,      397,     0 ), /*   730 preem             */
-  S_ST( 'f',   3,      732,   728 ), /*   731 pre               */
-  S_ST( 'e',   3,      398,     0 ), /*   732 pref              */
-  S_ST( 'o',   3,      746,   727 ), /*   733 pr                */
-  S_ST( 'c',   3,      735,     0 ), /*   734 pro               */
-  S_ST( '_',   3,      736,     0 ), /*   735 proc              */
-  S_ST( 'd',   3,      737,     0 ), /*   736 proc_             */
-  S_ST( 'e',   3,      738,     0 ), /*   737 proc_d            */
-  S_ST( 'l',   3,      739,     0 ), /*   738 proc_de           */
-  S_ST( 'a',   3,      460,     0 ), /*   739 proc_del          */
-  S_ST( 'p',   3,      741,   734 ), /*   740 pro               */
-  S_ST( '_',   3,      742,     0 ), /*   741 prop              */
-  S_ST( 'd',   3,      743,     0 ), /*   742 prop_             */
-  S_ST( 'e',   3,      744,     0 ), /*   743 prop_d            */
-  S_ST( 'l',   3,      745,     0 ), /*   744 prop_de           */
-  S_ST( 'a',   3,      459,     0 ), /*   745 prop_del          */
-  S_ST( 't',   3,      747,   740 ), /*   746 pro               */
-  S_ST( 'o',   3,      748,     0 ), /*   747 prot              */
-  S_ST( 's',   3,      749,     0 ), /*   748 proto             */
-  S_ST( 't',   3,      750,     0 ), /*   749 protos            */
-  S_ST( 'a',   3,      751,     0 ), /*   750 protost           */
-  S_ST( 't',   3,      399,     0 ), /*   751 protosta          */
-  S_ST( 'r',   3,      783,   688 ), /*   752                   */
-  S_ST( 'a',   3,      759,     0 ), /*   753 r                 */
-  S_ST( 'n',   3,      755,     0 ), /*   754 ra                */
-  S_ST( 'd',   3,      756,     0 ), /*   755 ran               */
-  S_ST( 'f',   3,      757,     0 ), /*   756 rand              */
-  S_ST( 'i',   3,      758,     0 ), /*   757 randf             */
-  S_ST( 'l',   3,      401,     0 ), /*   758 randfi            */
-  S_ST( 'w',   3,      760,   754 ), /*   759 ra                */
-  S_ST( 's',   3,      761,     0 ), /*   760 raw               */
-  S_ST( 't',   3,      762,     0 ), /*   761 raws              */
-  S_ST( 'a',   3,      763,     0 ), /*   762 rawst             */
-  S_ST( 't',   3,      402,     0 ), /*   763 rawsta            */
-  S_ST( 'e',   3,      780,   753 ), /*   764 r                 */
-  S_ST( 'f',   3,      766,     0 ), /*   765 re                */
-  S_ST( 'i',   3,      403,     0 ), /*   766 ref               */
-  S_ST( 'q',   3,      768,   765 ), /*   767 re                */
-  S_ST( 'u',   3,      769,     0 ), /*   768 req               */
-  S_ST( 'e',   3,      770,     0 ), /*   769 requ              */
-  S_ST( 's',   3,      771,     0 ), /*   770 reque             */
-  S_ST( 't',   3,      772,     0 ), /*   771 reques            */
-  S_ST( 'k',   3,      773,     0 ), /*   772 request           */
-  S_ST( 'e',   3,      404,     0 ), /*   773 requestk          */
-  S_ST( 's',   3,      776,   767 ), /*   774 re                */
-  S_ST( 'e',   3,      405,     0 ), /*   775 res               */
-  S_ST( 't',   3,      777,   775 ), /*   776 res               */
-  S_ST( 'r',   3,      778,     0 ), /*   777 rest              */
-  S_ST( 'i',   3,      779,     0 ), /*   778 restr             */
-  S_ST( 'c',   3,      406,     0 ), /*   779 restri            */
-  S_ST( 'v',   3,      781,   774 ), /*   780 re                */
-  S_ST( 'o',   3,      782,     0 ), /*   781 rev               */
-  S_ST( 'k',   3,      407,     0 ), /*   782 revo              */
-  S_ST( 'l',   3,      784,   764 ), /*   783 r                 */
-  S_ST( 'i',   3,      785,     0 ), /*   784 rl                */
-  S_ST( 'm',   3,      786,     0 ), /*   785 rli               */
-  S_ST( 'i',   3,      408,     0 ), /*   786 rlim              */
-  S_ST( 's',   3,      860,   752 ), /*   787                   */
-  S_ST( 'a',   3,      789,     0 ), /*   788 s                 */
-  S_ST( 'v',   3,      790,     0 ), /*   789 sa                */
-  S_ST( 'e',   3,      791,     0 ), /*   790 sav               */
-  S_ST( 'c',   3,      792,     0 ), /*   791 save              */
-  S_ST( 'o',   3,      793,     0 ), /*   792 savec             */
-  S_ST( 'n',   3,      794,     0 ), /*   793 saveco            */
-  S_ST( 'f',   3,      795,     0 ), /*   794 savecon           */
-  S_ST( 'i',   3,      796,     0 ), /*   795 saveconf          */
-  S_ST( 'g',   3,      797,     0 ), /*   796 saveconfi         */
-  S_ST( 'd',   3,      798,     0 ), /*   797 saveconfig        */
-  S_ST( 'i',   3,      409,     0 ), /*   798 saveconfigd       */
-  S_ST( 'e',   3,      809,   788 ), /*   799 s                 */
-  S_ST( 'r',   3,      801,     0 ), /*   800 se                */
-  S_ST( 'v',   3,      802,     0 ), /*   801 ser               */
-  S_ST( 'e',   3,      410,     0 ), /*   802 serv              */
-  S_ST( '_',   3,      804,     0 ), /*   803 server            */
-  S_ST( 'o',   3,      805,     0 ), /*   804 server_           */
-  S_ST( 'f',   3,      806,     0 ), /*   805 server_o          */
-  S_ST( 'f',   3,      807,     0 ), /*   806 server_of         */
-  S_ST( 's',   3,      808,     0 ), /*   807 server_off        */
-  S_ST( 'e',   3,      454,     0 ), /*   808 server_offs       */
-  S_ST( 't',   3,      810,   800 ), /*   809 se                */
-  S_ST( 'v',   3,      811,     0 ), /*   810 set               */
-  S_ST( 'a',   3,      411,     0 ), /*   811 setv              */
-  S_ST( 'i',   3,      813,   799 ), /*   812 s                 */
-  S_ST( 'm',   3,      814,     0 ), /*   813 si                */
-  S_ST( 'u',   3,      815,     0 ), /*   814 sim               */
-  S_ST( 'l',   3,      816,     0 ), /*   815 simu              */
-  S_ST( 'a',   3,      817,     0 ), /*   816 simul             */
-  S_ST( 't',   3,      818,     0 ), /*   817 simula            */
-  S_ST( 'i',   3,      819,   451 ), /*   818 simulat           */
-  S_ST( 'o',   3,      820,     0 ), /*   819 simulati          */
-  S_ST( 'n',   3,      821,     0 ), /*   820 simulatio         */
-  S_ST( '_',   3,      822,     0 ), /*   821 simulation        */
-  S_ST( 'd',   3,      823,     0 ), /*   822 simulation_       */
-  S_ST( 'u',   3,      824,     0 ), /*   823 simulation_d      */
-  S_ST( 'r',   3,      825,     0 ), /*   824 simulation_du     */
-  S_ST( 'a',   3,      826,     0 ), /*   825 simulation_dur    */
-  S_ST( 't',   3,      827,     0 ), /*   826 simulation_dura   */
-  S_ST( 'i',   3,      828,     0 ), /*   827 simulation_durat  */
-  S_ST( 'o',   3,      453,     0 ), /*   828 simulation_durati */
-  S_ST( 'o',   3,      830,   812 ), /*   829 s                 */
-  S_ST( 'u',   3,      831,     0 ), /*   830 so                */
-  S_ST( 'r',   3,      832,     0 ), /*   831 sou               */
-  S_ST( 'c',   3,      412,     0 ), /*   832 sour              */
-  S_ST( 't',   3,      856,   829 ), /*   833 s                 */
-  S_ST( 'a',   3,      840,     0 ), /*   834 st                */
-  S_ST( 'c',   3,      836,     0 ), /*   835 sta               */
-  S_ST( 'k',   3,      837,     0 ), /*   836 stac              */
-  S_ST( 's',   3,      838,     0 ), /*   837 stack             */
-  S_ST( 'i',   3,      839,     0 ), /*   838 stacks            */
-  S_ST( 'z',   3,      413,     0 ), /*   839 stacksi           */
-  S_ST( 't',   3,      415,   835 ), /*   840 sta               */
-  S_ST( 'i',   3,      842,     0 ), /*   841 stat              */
-  S_ST( 's',   3,      843,     0 ), /*   842 stati             */
-  S_ST( 't',   3,      844,     0 ), /*   843 statis            */
-  S_ST( 'i',   3,      845,     0 ), /*   844 statist           */
-  S_ST( 'c',   3,      414,     0 ), /*   845 statisti          */
-  S_ST( 'd',   3,      847,     0 ), /*   846 stats             */
-  S_ST( 'i',   3,      416,     0 ), /*   847 statsd            */
-  S_ST( 'e',   3,      417,   834 ), /*   848 st                */
-  S_ST( 'b',   3,      850,     0 ), /*   849 step              */
-  S_ST( 'a',   3,      851,     0 ), /*   850 stepb             */
-  S_ST( 'c',   3,      418,     0 ), /*   851 stepba            */
-  S_ST( 'f',   3,      853,   849 ), /*   852 step              */
-  S_ST( 'w',   3,      419,     0 ), /*   853 stepf             */
-  S_ST( 'o',   3,      855,   852 ), /*   854 step              */
-  S_ST( 'u',   3,      420,     0 ), /*   855 stepo             */
-  S_ST( 'r',   3,      857,   848 ), /*   856 st                */
-  S_ST( 'a',   3,      858,     0 ), /*   857 str               */
-  S_ST( 't',   3,      859,     0 ), /*   858 stra              */
-  S_ST( 'u',   3,      421,     0 ), /*   859 strat             */
-  S_ST( 'y',   3,      423,   833 ), /*   860 s                 */
-  S_ST( 's',   3,      862,     0 ), /*   861 sys               */
-  S_ST( 't',   3,      863,     0 ), /*   862 syss              */
-  S_ST( 'a',   3,      864,     0 ), /*   863 sysst             */
-  S_ST( 't',   3,      424,     0 ), /*   864 syssta            */
-  S_ST( 't',   3,      891,   787 ), /*   865                   */
-  S_ST( 'i',   3,      877,     0 ), /*   866 t                 */
-  S_ST( 'c',   3,      425,     0 ), /*   867 ti                */
-  S_ST( 'm',   3,      870,   867 ), /*   868 ti                */
-  S_ST( 'e',   3,      428,     0 ), /*   869 tim               */
-  S_ST( 'i',   3,      871,   869 ), /*   870 tim               */
-  S_ST( 'n',   3,      872,     0 ), /*   871 timi              */
-  S_ST( 'g',   3,      873,     0 ), /*   872 timin             */
-  S_ST( 's',   3,      874,     0 ), /*   873 timing            */
-  S_ST( 't',   3,      875,     0 ), /*   874 timings           */
-  S_ST( 'a',   3,      876,     0 ), /*   875 timingst          */
-  S_ST( 't',   3,      429,     0 ), /*   876 timingsta         */
-  S_ST( 'n',   3,      878,   868 ), /*   877 ti                */
-  S_ST( 'k',   3,      879,     0 ), /*   878 tin               */
-  S_ST( 'e',   3,      430,     0 ), /*   879 tink              */
-  S_ST( 'o',   3,      431,   866 ), /*   880 t                 */
-  S_ST( 'r',   3,      883,   880 ), /*   881 t                 */
-  S_ST( 'a',   3,      432,     0 ), /*   882 tr                */
-  S_ST( 'u',   3,      884,   882 ), /*   883 tr                */
-  S_ST( 's',   3,      885,   433 ), /*   884 tru               */
-  S_ST( 't',   3,      886,     0 ), /*   885 trus              */
-  S_ST( 'e',   3,      887,     0 ), /*   886 trust             */
-  S_ST( 'd',   3,      888,     0 ), /*   887 truste            */
-  S_ST( 'k',   3,      889,     0 ), /*   888 trusted           */
-  S_ST( 'e',   3,      434,     0 ), /*   889 trustedk          */
-  S_ST( 't',   3,      435,   881 ), /*   890 t                 */
-  S_ST( 'y',   3,      892,   890 ), /*   891 t                 */
-  S_ST( 'p',   3,      436,     0 ), /*   892 ty                */
-  S_ST( 'u',   3,      894,   865 ), /*   893                   */
-  S_ST( 'n',   3,      900,     0 ), /*   894 u                 */
-  S_ST( 'c',   3,      896,     0 ), /*   895 un                */
-  S_ST( 'o',   3,      897,     0 ), /*   896 unc               */
-  S_ST( 'n',   3,      898,     0 ), /*   897 unco              */
-  S_ST( 'f',   3,      899,     0 ), /*   898 uncon             */
-  S_ST( 'i',   3,      441,     0 ), /*   899 unconf            */
-  S_ST( 'p',   3,      901,   895 ), /*   900 un                */
-  S_ST( 'e',   3,      902,     0 ), /*   901 unp               */
-  S_ST( 'e',   3,      442,     0 ), /*   902 unpe              */
-  S_ST( '_',   3,      923,     0 ), /*   903 unpeer            */
-  S_ST( 'c',   3,      905,     0 ), /*   904 unpeer_           */
-  S_ST( 'r',   3,      906,     0 ), /*   905 unpeer_c          */
-  S_ST( 'y',   3,      907,     0 ), /*   906 unpeer_cr         */
-  S_ST( 'p',   3,      908,     0 ), /*   907 unpeer_cry        */
-  S_ST( 't',   3,      909,     0 ), /*   908 unpeer_cryp       */
-  S_ST( 'o',   3,      910,     0 ), /*   909 unpeer_crypt      */
-  S_ST( '_',   3,      915,     0 ), /*   910 unpeer_crypto     */
-  S_ST( 'e',   3,      912,     0 ), /*   911 unpeer_crypto_    */
-  S_ST( 'a',   3,      913,     0 ), /*   912 unpeer_crypto_e   */
-  S_ST( 'r',   3,      914,     0 ), /*   913 unpeer_crypto_ea  */
-  S_ST( 'l',   3,      438,     0 ), /*   914 unpeer_crypto_ear */
-  S_ST( 'n',   3,      916,   911 ), /*   915 unpeer_crypto_    */
-  S_ST( 'a',   3,      917,     0 ), /*   916 unpeer_crypto_n   */
-  S_ST( 'k',   3,      918,     0 ), /*   917 unpeer_crypto_na  */
-  S_ST( '_',   3,      919,     0 ), /*   918 unpeer_crypto_nak */
-  S_ST( 'e',   3,      920,     0 ), /*   919 unpeer_crypto_nak_ */
-  S_ST( 'a',   3,      921,     0 ), /*   920 unpeer_crypto_nak_e */
-  S_ST( 'r',   3,      922,     0 ), /*   921 unpeer_crypto_nak_ea */
-  S_ST( 'l',   3,      439,     0 ), /*   922 unpeer_crypto_nak_ear */
-  S_ST( 'd',   3,      924,   904 ), /*   923 unpeer_           */
-  S_ST( 'i',   3,      925,     0 ), /*   924 unpeer_d          */
-  S_ST( 'g',   3,      926,     0 ), /*   925 unpeer_di         */
-  S_ST( 'e',   3,      927,     0 ), /*   926 unpeer_dig        */
-  S_ST( 's',   3,      928,     0 ), /*   927 unpeer_dige       */
-  S_ST( 't',   3,      929,     0 ), /*   928 unpeer_diges      */
-  S_ST( '_',   3,      930,     0 ), /*   929 unpeer_digest     */
-  S_ST( 'e',   3,      931,     0 ), /*   930 unpeer_digest_    */
-  S_ST( 'a',   3,      932,     0 ), /*   931 unpeer_digest_e   */
-  S_ST( 'r',   3,      933,     0 ), /*   932 unpeer_digest_ea  */
-  S_ST( 'l',   3,      440,     0 ), /*   933 unpeer_digest_ear */
-  S_ST( 'v',   3,      935,   893 ), /*   934                   */
-  S_ST( 'e',   3,      936,     0 ), /*   935 v                 */
-  S_ST( 'r',   3,      937,     0 ), /*   936 ve                */
-  S_ST( 's',   3,      938,     0 ), /*   937 ver               */
-  S_ST( 'i',   3,      939,     0 ), /*   938 vers              */
-  S_ST( 'o',   3,      443,     0 ), /*   939 versi             */
-  S_ST( 'w',   3,      947,   934 ), /*   940                   */
-  S_ST( 'a',   3,      942,     0 ), /*   941 w                 */
-  S_ST( 'n',   3,      943,     0 ), /*   942 wa                */
-  S_ST( 'd',   3,      944,     0 ), /*   943 wan               */
-  S_ST( 'e',   3,      457,     0 ), /*   944 wand              */
-  S_ST( 'e',   3,      946,   941 ), /*   945 w                 */
-  S_ST( 'e',   3,      445,     0 ), /*   946 we                */
-  S_ST( 'i',   3,      948,   945 ), /*   947 w                 */
-  S_ST( 'l',   3,      949,     0 ), /*   948 wi                */
-  S_ST( 'd',   3,      950,     0 ), /*   949 wil               */
-  S_ST( 'c',   3,      951,     0 ), /*   950 wild              */
-  S_ST( 'a',   3,      952,     0 ), /*   951 wildc             */
-  S_ST( 'r',   3,      446,     0 ), /*   952 wildca            */
-  S_ST( 'x',   3,      954,   940 ), /*   953                   */
-  S_ST( 'l',   3,      955,     0 ), /*   954 x                 */
-  S_ST( 'e',   3,      956,     0 ), /*   955 xl                */
-  S_ST( 'a',   3,      957,     0 ), /*   956 xle               */
-  S_ST( 'v',   3,      447,     0 ), /*   957 xlea              */
-  S_ST( 'y',   3,      959,   953 ), /*   958 [initial state]   */
-  S_ST( 'e',   3,      960,     0 ), /*   959 y                 */
-  S_ST( 'a',   3,      448,     0 )  /*   960 ye                */
+  S_ST( 'm',   3,      299,     0 ), /*   295 ippeerli          */
+  S_ST( 'e',   0,        0,     0 ), /*   296 T_Enable          */
+  S_ST( 'd',   0,        0,   168 ), /*   297 T_End             */
+  S_ST( 'r',   0,        0,     0 ), /*   298 T_Epeer           */
+  S_ST( 'i',   3,      327,     0 ), /*   299 ippeerlim         */
+  S_ST( 'e',   1,      179,     0 ), /*   300 T_File            */
+  S_ST( 'n',   0,        0,     0 ), /*   301 T_Filegen         */
+  S_ST( 'm',   0,        0,     0 ), /*   302 T_Filenum         */
+  S_ST( '1',   0,        0,     0 ), /*   303 T_Flag1           */
+  S_ST( '2',   0,        0,   303 ), /*   304 T_Flag2           */
+  S_ST( '3',   0,        0,   304 ), /*   305 T_Flag3           */
+  S_ST( '4',   0,        0,   305 ), /*   306 T_Flag4           */
+  S_ST( 'e',   0,        0,     0 ), /*   307 T_Flake           */
+  S_ST( 'r',   0,        0,     0 ), /*   308 T_Floor           */
+  S_ST( 'q',   0,      189,     0 ), /*   309 T_Freq            */
+  S_ST( 'e',   1,        0,     0 ), /*   310 T_Fudge           */
+  S_ST( 'z',   0,        0,     0 ), /*   311 T_Fuzz            */
+  S_ST( 't',   1,        0,     0 ), /*   312 T_Host            */
+  S_ST( 'f',   0,        0,     0 ), /*   313 T_Huffpuff        */
+  S_ST( 't',   0,        0,     0 ), /*   314 T_Iburst          */
+  S_ST( 't',   1,        0,     0 ), /*   315 T_Ident           */
+  S_ST( 'e',   0,      220,     0 ), /*   316 T_Ignore          */
+  S_ST( 'h',   0,        0,     0 ), /*   317 T_Ignorehash      */
+  S_ST( 'c',   0,        0,     0 ), /*   318 T_Incalloc        */
+  S_ST( 'm',   0,        0,     0 ), /*   319 T_Incmem          */
+  S_ST( 'c',   0,        0,     0 ), /*   320 T_Initalloc       */
+  S_ST( 'm',   0,        0,     0 ), /*   321 T_Initmem         */
+  S_ST( 'e',   1,        0,     0 ), /*   322 T_Includefile     */
+  S_ST( 'v',   3,      330,   253 ), /*   323 ip                */
+  S_ST( 'e',   0,        0,     0 ), /*   324 T_Interface       */
+  S_ST( 'j',   3,      428,   208 ), /*   325                   */
+  S_ST( 'o',   0,        0,   223 ), /*   326 T_Io              */
+  S_ST( 't',   0,        0,     0 ), /*   327 T_Ippeerlimit     */
+  S_ST( '4',   0,        0,     0 ), /*   328 T_Ipv4            */
+  S_ST( '4',   0,        0,     0 ), /*   329 T_Ipv4_flag       */
+  S_ST( '6',   0,        0,   328 ), /*   330 T_Ipv6            */
+  S_ST( '6',   0,        0,   329 ), /*   331 T_Ipv6_flag       */
+  S_ST( 'l',   0,        0,     0 ), /*   332 T_Kernel          */
+  S_ST( 'y',   0,      334,   468 ), /*   333 T_Key             */
+  S_ST( 's',   1,      471,     0 ), /*   334 T_Keys            */
+  S_ST( 'r',   1,        0,     0 ), /*   335 T_Keysdir         */
+  S_ST( 'd',   0,        0,     0 ), /*   336 T_Kod             */
+  S_ST( 'p',   0,        0,     0 ), /*   337 T_Mssntp          */
+  S_ST( 'e',   1,        0,     0 ), /*   338 T_Leapfile        */
+  S_ST( 'l',   0,        0,     0 ), /*   339 T_Leapsmearinterval */
+  S_ST( 'd',   0,        0,     0 ), /*   340 T_Limited         */
+  S_ST( 'k',   0,        0,     0 ), /*   341 T_Link            */
+  S_ST( 'n',   0,        0,     0 ), /*   342 T_Listen          */
+  S_ST( 'g',   2,        0,     0 ), /*   343 T_Logconfig       */
+  S_ST( 'e',   1,        0,     0 ), /*   344 T_Logfile         */
+  S_ST( 's',   0,        0,     0 ), /*   345 T_Loopstats       */
+  S_ST( 'p',   0,        0,     0 ), /*   346 T_Lowpriotrap     */
+  S_ST( 't',   1,        0,     0 ), /*   347 T_Manycastclient  */
+  S_ST( 'r',   2,        0,     0 ), /*   348 T_Manycastserver  */
+  S_ST( 'k',   0,        0,     0 ), /*   349 T_Mask            */
+  S_ST( 'e',   0,        0,     0 ), /*   350 T_Maxage          */
+  S_ST( 'k',   0,        0,     0 ), /*   351 T_Maxclock        */
+  S_ST( 'h',   0,        0,     0 ), /*   352 T_Maxdepth        */
+  S_ST( 't',   0,        0,     0 ), /*   353 T_Maxdist         */
+  S_ST( 'm',   0,        0,     0 ), /*   354 T_Maxmem          */
+  S_ST( 'l',   0,        0,     0 ), /*   355 T_Maxpoll         */
+  S_ST( 's',   0,        0,     0 ), /*   356 T_Mdnstries       */
+  S_ST( 'm',   0,      571,     0 ), /*   357 T_Mem             */
+  S_ST( 'k',   0,        0,     0 ), /*   358 T_Memlock         */
+  S_ST( 'k',   0,        0,     0 ), /*   359 T_Minclock        */
+  S_ST( 'h',   0,        0,     0 ), /*   360 T_Mindepth        */
+  S_ST( 't',   0,        0,     0 ), /*   361 T_Mindist         */
+  S_ST( 'm',   0,        0,     0 ), /*   362 T_Minimum         */
+  S_ST( 'r',   0,        0,     0 ), /*   363 T_Minjitter       */
+  S_ST( 'l',   0,        0,     0 ), /*   364 T_Minpoll         */
+  S_ST( 'e',   0,        0,     0 ), /*   365 T_Minsane         */
+  S_ST( 'e',   0,      367,     0 ), /*   366 T_Mode            */
+  S_ST( '7',   0,        0,     0 ), /*   367 T_Mode7           */
+  S_ST( 'r',   0,        0,     0 ), /*   368 T_Monitor         */
+  S_ST( 'h',   0,        0,     0 ), /*   369 T_Month           */
+  S_ST( 'u',   0,        0,     0 ), /*   370 T_Mru             */
+  S_ST( 't',   2,        0,     0 ), /*   371 T_Multicastclient */
+  S_ST( 'c',   0,        0,     0 ), /*   372 T_Nic             */
+  S_ST( 'k',   0,        0,     0 ), /*   373 T_Nolink          */
+  S_ST( 'y',   0,        0,     0 ), /*   374 T_Nomodify        */
+  S_ST( 't',   0,        0,     0 ), /*   375 T_Nomrulist       */
+  S_ST( 'e',   0,        0,     0 ), /*   376 T_None            */
+  S_ST( 'e',   0,        0,     0 ), /*   377 T_Nonvolatile     */
+  S_ST( 'r',   0,        0,     0 ), /*   378 T_Noepeer         */
+  S_ST( 'r',   0,        0,     0 ), /*   379 T_Nopeer          */
+  S_ST( 'y',   0,        0,     0 ), /*   380 T_Noquery         */
+  S_ST( 't',   0,        0,     0 ), /*   381 T_Noselect        */
+  S_ST( 'e',   0,        0,     0 ), /*   382 T_Noserve         */
+  S_ST( 'p',   0,        0,     0 ), /*   383 T_Notrap          */
+  S_ST( 't',   0,        0,     0 ), /*   384 T_Notrust         */
+  S_ST( 'p',   0,      676,     0 ), /*   385 T_Ntp             */
+  S_ST( 't',   0,        0,     0 ), /*   386 T_Ntpport         */
+  S_ST( 't',   1,        0,     0 ), /*   387 T_NtpSignDsocket  */
+  S_ST( 'n',   0,      691,     0 ), /*   388 T_Orphan          */
+  S_ST( 't',   0,        0,     0 ), /*   389 T_Orphanwait      */
+  S_ST( 'y',   0,        0,     0 ), /*   390 T_PCEdigest       */
+  S_ST( 'c',   0,        0,     0 ), /*   391 T_Panic           */
+  S_ST( 'r',   1,      718,     0 ), /*   392 T_Peer            */
+  S_ST( 's',   0,        0,     0 ), /*   393 T_Peerstats       */
+  S_ST( 'e',   2,        0,     0 ), /*   394 T_Phone           */
+  S_ST( 'd',   0,      726,     0 ), /*   395 T_Pid             */
+  S_ST( 'e',   1,        0,     0 ), /*   396 T_Pidfile         */
+  S_ST( 'l',   0,        0,     0 ), /*   397 T_Poll            */
+  S_ST( 'l',   1,        0,     0 ), /*   398 T_Pool            */
+  S_ST( 't',   0,        0,     0 ), /*   399 T_Port            */
+  S_ST( 't',   0,        0,     0 ), /*   400 T_Preempt         */
+  S_ST( 'r',   0,        0,     0 ), /*   401 T_Prefer          */
+  S_ST( 's',   0,        0,     0 ), /*   402 T_Protostats      */
+  S_ST( 'w',   1,        0,   733 ), /*   403 T_Pw              */
+  S_ST( 'e',   1,        0,     0 ), /*   404 T_Randfile        */
+  S_ST( 'l',   0,        0,     0 ), /*   405 T_Randomizepoll   */
+  S_ST( 'l',   0,        0,     0 ), /*   406 T_Randompoll      */
+  S_ST( 's',   0,        0,     0 ), /*   407 T_Rawstats        */
+  S_ST( 'd',   1,        0,     0 ), /*   408 T_Refid           */
+  S_ST( 'e',   0,        0,     0 ), /*   409 T_Reftime         */
+  S_ST( 'y',   0,        0,     0 ), /*   410 T_Requestkey      */
+  S_ST( 't',   0,        0,     0 ), /*   411 T_Reset           */
+  S_ST( 't',   0,        0,     0 ), /*   412 T_Restrict        */
+  S_ST( 'e',   0,        0,     0 ), /*   413 T_Revoke          */
+  S_ST( 't',   0,        0,     0 ), /*   414 T_Rlimit          */
+  S_ST( 'r',   1,        0,     0 ), /*   415 T_Saveconfigdir   */
+  S_ST( 'r',   1,      824,     0 ), /*   416 T_Server          */
+  S_ST( 'r',   1,        0,     0 ), /*   417 T_Setvar          */
+  S_ST( 'e',   0,        0,     0 ), /*   418 T_Source          */
+  S_ST( 'e',   0,        0,     0 ), /*   419 T_Stacksize       */
+  S_ST( 's',   0,        0,     0 ), /*   420 T_Statistics      */
+  S_ST( 's',   0,      867,   862 ), /*   421 T_Stats           */
+  S_ST( 'r',   1,        0,     0 ), /*   422 T_Statsdir        */
+  S_ST( 'p',   0,      875,     0 ), /*   423 T_Step            */
+  S_ST( 'k',   0,        0,     0 ), /*   424 T_Stepback        */
+  S_ST( 'd',   0,        0,     0 ), /*   425 T_Stepfwd         */
+  S_ST( 't',   0,        0,     0 ), /*   426 T_Stepout         */
+  S_ST( 'm',   0,        0,     0 ), /*   427 T_Stratum         */
+  S_ST( 'i',   3,      443,     0 ), /*   428 j                 */
+  S_ST( 's',   0,      882,     0 ), /*   429 T_Sys             */
+  S_ST( 's',   0,        0,     0 ), /*   430 T_Sysstats        */
+  S_ST( 'k',   0,        0,     0 ), /*   431 T_Tick            */
+  S_ST( '1',   0,        0,     0 ), /*   432 T_Time1           */
+  S_ST( '2',   0,        0,   432 ), /*   433 T_Time2           */
+  S_ST( 'r',   0,        0,   433 ), /*   434 T_Timer           */
+  S_ST( 's',   0,        0,     0 ), /*   435 T_Timingstats     */
+  S_ST( 'r',   0,        0,     0 ), /*   436 T_Tinker          */
+  S_ST( 's',   0,        0,     0 ), /*   437 T_Tos             */
+  S_ST( 'p',   1,        0,     0 ), /*   438 T_Trap            */
+  S_ST( 'e',   0,        0,     0 ), /*   439 T_True            */
+  S_ST( 'y',   0,        0,     0 ), /*   440 T_Trustedkey      */
+  S_ST( 'l',   0,        0,     0 ), /*   441 T_Ttl             */
+  S_ST( 'e',   0,        0,     0 ), /*   442 T_Type            */
+  S_ST( 't',   3,      450,     0 ), /*   443 ji                */
+  S_ST( 'y',   0,        0,     0 ), /*   444 T_UEcrypto        */
+  S_ST( 'y',   0,        0,     0 ), /*   445 T_UEcryptonak     */
+  S_ST( 'y',   0,        0,     0 ), /*   446 T_UEdigest        */
+  S_ST( 'g',   1,        0,     0 ), /*   447 T_Unconfig        */
+  S_ST( 'r',   1,      924,     0 ), /*   448 T_Unpeer          */
+  S_ST( 'n',   0,        0,     0 ), /*   449 T_Version         */
+  S_ST( 't',   3,      455,     0 ), /*   450 jit               */
+  S_ST( 'k',   0,        0,     0 ), /*   451 T_Week            */
+  S_ST( 'd',   0,        0,     0 ), /*   452 T_Wildcard        */
+  S_ST( 'e',   0,        0,     0 ), /*   453 T_Xleave          */
+  S_ST( 'r',   0,        0,     0 ), /*   454 T_Year            */
+  S_ST( 'e',   3,      464,     0 ), /*   455 jitt              */
+  S_ST( 'k',   3,      473,   325 ), /*   456                   */
+  S_ST( 'e',   0,        0,     0 ), /*   457 T_Simulate        */
+  S_ST( 'y',   0,        0,     0 ), /*   458 T_Beep_Delay      */
+  S_ST( 'n',   0,        0,     0 ), /*   459 T_Sim_Duration    */
+  S_ST( 't',   0,        0,     0 ), /*   460 T_Server_Offset   */
+  S_ST( 'n',   0,        0,     0 ), /*   461 T_Duration        */
+  S_ST( 't',   0,        0,     0 ), /*   462 T_Freq_Offset     */
+  S_ST( 'r',   0,        0,     0 ), /*   463 T_Wander          */
+  S_ST( 'r',   0,        0,     0 ), /*   464 T_Jitter          */
+  S_ST( 'y',   0,        0,     0 ), /*   465 T_Prop_Delay      */
+  S_ST( 'y',   0,        0,     0 ), /*   466 T_Proc_Delay      */
+  S_ST( 'e',   3,      333,     0 ), /*   467 k                 */
+  S_ST( 'r',   3,      469,     0 ), /*   468 ke                */
+  S_ST( 'n',   3,      470,     0 ), /*   469 ker               */
+  S_ST( 'e',   3,      332,     0 ), /*   470 kern              */
+  S_ST( 'd',   3,      472,     0 ), /*   471 keys              */
+  S_ST( 'i',   3,      335,     0 ), /*   472 keysd             */
+  S_ST( 'o',   3,      336,   467 ), /*   473 k                 */
+  S_ST( 'l',   3,      502,   456 ), /*   474                   */
+  S_ST( 'e',   3,      476,     0 ), /*   475 l                 */
+  S_ST( 'a',   3,      477,     0 ), /*   476 le                */
+  S_ST( 'p',   3,      481,     0 ), /*   477 lea               */
+  S_ST( 'f',   3,      479,     0 ), /*   478 leap              */
+  S_ST( 'i',   3,      480,     0 ), /*   479 leapf             */
+  S_ST( 'l',   3,      338,     0 ), /*   480 leapfi            */
+  S_ST( 's',   3,      482,   478 ), /*   481 leap              */
+  S_ST( 'm',   3,      483,     0 ), /*   482 leaps             */
+  S_ST( 'e',   3,      484,     0 ), /*   483 leapsm            */
+  S_ST( 'a',   3,      485,     0 ), /*   484 leapsme           */
+  S_ST( 'r',   3,      486,     0 ), /*   485 leapsmea          */
+  S_ST( 'i',   3,      487,     0 ), /*   486 leapsmear         */
+  S_ST( 'n',   3,      488,     0 ), /*   487 leapsmeari        */
+  S_ST( 't',   3,      489,     0 ), /*   488 leapsmearin       */
+  S_ST( 'e',   3,      490,     0 ), /*   489 leapsmearint      */
+  S_ST( 'r',   3,      491,     0 ), /*   490 leapsmearinte     */
+  S_ST( 'v',   3,      492,     0 ), /*   491 leapsmearinter    */
+  S_ST( 'a',   3,      339,     0 ), /*   492 leapsmearinterv   */
+  S_ST( 'i',   3,      499,   475 ), /*   493 l                 */
+  S_ST( 'm',   3,      495,     0 ), /*   494 li                */
+  S_ST( 'i',   3,      496,     0 ), /*   495 lim               */
+  S_ST( 't',   3,      497,     0 ), /*   496 limi              */
+  S_ST( 'e',   3,      340,     0 ), /*   497 limit             */
+  S_ST( 'n',   3,      341,   494 ), /*   498 li                */
+  S_ST( 's',   3,      500,   498 ), /*   499 li                */
+  S_ST( 't',   3,      501,     0 ), /*   500 lis               */
+  S_ST( 'e',   3,      342,     0 ), /*   501 list              */
+  S_ST( 'o',   3,      518,   493 ), /*   502 l                 */
+  S_ST( 'g',   3,      509,     0 ), /*   503 lo                */
+  S_ST( 'c',   3,      505,     0 ), /*   504 log               */
+  S_ST( 'o',   3,      506,     0 ), /*   505 logc              */
+  S_ST( 'n',   3,      507,     0 ), /*   506 logco             */
+  S_ST( 'f',   3,      508,     0 ), /*   507 logcon            */
+  S_ST( 'i',   3,      343,     0 ), /*   508 logconf           */
+  S_ST( 'f',   3,      510,   504 ), /*   509 log               */
+  S_ST( 'i',   3,      511,     0 ), /*   510 logf              */
+  S_ST( 'l',   3,      344,     0 ), /*   511 logfi             */
+  S_ST( 'o',   3,      513,   503 ), /*   512 lo                */
+  S_ST( 'p',   3,      514,     0 ), /*   513 loo               */
+  S_ST( 's',   3,      515,     0 ), /*   514 loop              */
+  S_ST( 't',   3,      516,     0 ), /*   515 loops             */
+  S_ST( 'a',   3,      517,     0 ), /*   516 loopst            */
+  S_ST( 't',   3,      345,     0 ), /*   517 loopsta           */
+  S_ST( 'w',   3,      519,   512 ), /*   518 lo                */
+  S_ST( 'p',   3,      520,     0 ), /*   519 low               */
+  S_ST( 'r',   3,      521,     0 ), /*   520 lowp              */
+  S_ST( 'i',   3,      522,     0 ), /*   521 lowpr             */
+  S_ST( 'o',   3,      523,     0 ), /*   522 lowpri            */
+  S_ST( 't',   3,      524,     0 ), /*   523 lowprio           */
+  S_ST( 'r',   3,      525,     0 ), /*   524 lowpriot          */
+  S_ST( 'a',   3,      346,     0 ), /*   525 lowpriotr         */
+  S_ST( 'm',   3,      612,   474 ), /*   526                   */
+  S_ST( 'a',   3,      545,     0 ), /*   527 m                 */
+  S_ST( 'n',   3,      529,     0 ), /*   528 ma                */
+  S_ST( 'y',   3,      530,     0 ), /*   529 man               */
+  S_ST( 'c',   3,      531,     0 ), /*   530 many              */
+  S_ST( 'a',   3,      532,     0 ), /*   531 manyc             */
+  S_ST( 's',   3,      533,     0 ), /*   532 manyca            */
+  S_ST( 't',   3,      539,     0 ), /*   533 manycas           */
+  S_ST( 'c',   3,      535,     0 ), /*   534 manycast          */
+  S_ST( 'l',   3,      536,     0 ), /*   535 manycastc         */
+  S_ST( 'i',   3,      537,     0 ), /*   536 manycastcl        */
+  S_ST( 'e',   3,      538,     0 ), /*   537 manycastcli       */
+  S_ST( 'n',   3,      347,     0 ), /*   538 manycastclie      */
+  S_ST( 's',   3,      540,   534 ), /*   539 manycast          */
+  S_ST( 'e',   3,      541,     0 ), /*   540 manycasts         */
+  S_ST( 'r',   3,      542,     0 ), /*   541 manycastse        */
+  S_ST( 'v',   3,      543,     0 ), /*   542 manycastser       */
+  S_ST( 'e',   3,      348,     0 ), /*   543 manycastserv      */
+  S_ST( 's',   3,      349,   528 ), /*   544 ma                */
+  S_ST( 'x',   3,      560,   544 ), /*   545 ma                */
+  S_ST( 'a',   3,      547,     0 ), /*   546 max               */
+  S_ST( 'g',   3,      350,     0 ), /*   547 maxa              */
+  S_ST( 'c',   3,      549,   546 ), /*   548 max               */
+  S_ST( 'l',   3,      550,     0 ), /*   549 maxc              */
+  S_ST( 'o',   3,      551,     0 ), /*   550 maxcl             */
+  S_ST( 'c',   3,      351,     0 ), /*   551 maxclo            */
+  S_ST( 'd',   3,      556,   548 ), /*   552 max               */
+  S_ST( 'e',   3,      554,     0 ), /*   553 maxd              */
+  S_ST( 'p',   3,      555,     0 ), /*   554 maxde             */
+  S_ST( 't',   3,      352,     0 ), /*   555 maxdep            */
+  S_ST( 'i',   3,      557,   553 ), /*   556 maxd              */
+  S_ST( 's',   3,      353,     0 ), /*   557 maxdi             */
+  S_ST( 'm',   3,      559,   552 ), /*   558 max               */
+  S_ST( 'e',   3,      354,     0 ), /*   559 maxm              */
+  S_ST( 'p',   3,      561,   558 ), /*   560 max               */
+  S_ST( 'o',   3,      562,     0 ), /*   561 maxp              */
+  S_ST( 'l',   3,      355,     0 ), /*   562 maxpo             */
+  S_ST( 'd',   3,      564,   527 ), /*   563 m                 */
+  S_ST( 'n',   3,      565,     0 ), /*   564 md                */
+  S_ST( 's',   3,      566,     0 ), /*   565 mdn               */
+  S_ST( 't',   3,      567,     0 ), /*   566 mdns              */
+  S_ST( 'r',   3,      568,     0 ), /*   567 mdnst             */
+  S_ST( 'i',   3,      569,     0 ), /*   568 mdnstr            */
+  S_ST( 'e',   3,      356,     0 ), /*   569 mdnstri           */
+  S_ST( 'e',   3,      357,   563 ), /*   570 m                 */
+  S_ST( 'l',   3,      572,     0 ), /*   571 mem               */
+  S_ST( 'o',   3,      573,     0 ), /*   572 meml              */
+  S_ST( 'c',   3,      358,     0 ), /*   573 memlo             */
+  S_ST( 'i',   3,      575,   570 ), /*   574 m                 */
+  S_ST( 'n',   3,      597,     0 ), /*   575 mi                */
+  S_ST( 'c',   3,      577,     0 ), /*   576 min               */
+  S_ST( 'l',   3,      578,     0 ), /*   577 minc              */
+  S_ST( 'o',   3,      579,     0 ), /*   578 mincl             */
+  S_ST( 'c',   3,      359,     0 ), /*   579 minclo            */
+  S_ST( 'd',   3,      584,   576 ), /*   580 min               */
+  S_ST( 'e',   3,      582,     0 ), /*   581 mind              */
+  S_ST( 'p',   3,      583,     0 ), /*   582 minde             */
+  S_ST( 't',   3,      360,     0 ), /*   583 mindep            */
+  S_ST( 'i',   3,      585,   581 ), /*   584 mind              */
+  S_ST( 's',   3,      361,     0 ), /*   585 mindi             */
+  S_ST( 'i',   3,      587,   580 ), /*   586 min               */
+  S_ST( 'm',   3,      588,     0 ), /*   587 mini              */
+  S_ST( 'u',   3,      362,     0 ), /*   588 minim             */
+  S_ST( 'j',   3,      590,   586 ), /*   589 min               */
+  S_ST( 'i',   3,      591,     0 ), /*   590 minj              */
+  S_ST( 't',   3,      592,     0 ), /*   591 minji             */
+  S_ST( 't',   3,      593,     0 ), /*   592 minjit            */
+  S_ST( 'e',   3,      363,     0 ), /*   593 minjitt           */
+  S_ST( 'p',   3,      595,   589 ), /*   594 min               */
+  S_ST( 'o',   3,      596,     0 ), /*   595 minp              */
+  S_ST( 'l',   3,      364,     0 ), /*   596 minpo             */
+  S_ST( 's',   3,      598,   594 ), /*   597 min               */
+  S_ST( 'a',   3,      599,     0 ), /*   598 mins              */
+  S_ST( 'n',   3,      365,     0 ), /*   599 minsa             */
+  S_ST( 'o',   3,      602,   574 ), /*   600 m                 */
+  S_ST( 'd',   3,      366,     0 ), /*   601 mo                */
+  S_ST( 'n',   3,      606,   601 ), /*   602 mo                */
+  S_ST( 'i',   3,      604,     0 ), /*   603 mon               */
+  S_ST( 't',   3,      605,     0 ), /*   604 moni              */
+  S_ST( 'o',   3,      368,     0 ), /*   605 monit             */
+  S_ST( 't',   3,      369,   603 ), /*   606 mon               */
+  S_ST( 'r',   3,      370,   600 ), /*   607 m                 */
+  S_ST( 's',   3,      609,   607 ), /*   608 m                 */
+  S_ST( 's',   3,      610,     0 ), /*   609 ms                */
+  S_ST( 'n',   3,      611,     0 ), /*   610 mss               */
+  S_ST( 't',   3,      337,     0 ), /*   611 mssn              */
+  S_ST( 'u',   3,      613,   608 ), /*   612 m                 */
+  S_ST( 'l',   3,      614,     0 ), /*   613 mu                */
+  S_ST( 't',   3,      615,     0 ), /*   614 mul               */
+  S_ST( 'i',   3,      616,     0 ), /*   615 mult              */
+  S_ST( 'c',   3,      617,     0 ), /*   616 multi             */
+  S_ST( 'a',   3,      618,     0 ), /*   617 multic            */
+  S_ST( 's',   3,      619,     0 ), /*   618 multica           */
+  S_ST( 't',   3,      620,     0 ), /*   619 multicas          */
+  S_ST( 'c',   3,      621,     0 ), /*   620 multicast         */
+  S_ST( 'l',   3,      622,     0 ), /*   621 multicastc        */
+  S_ST( 'i',   3,      623,     0 ), /*   622 multicastcl       */
+  S_ST( 'e',   3,      624,     0 ), /*   623 multicastcli      */
+  S_ST( 'n',   3,      371,     0 ), /*   624 multicastclie     */
+  S_ST( 'n',   3,      672,   526 ), /*   625                   */
+  S_ST( 'i',   3,      372,     0 ), /*   626 n                 */
+  S_ST( 'o',   3,      667,   626 ), /*   627 n                 */
+  S_ST( 'e',   3,      629,     0 ), /*   628 no                */
+  S_ST( 'p',   3,      630,     0 ), /*   629 noe               */
+  S_ST( 'e',   3,      631,     0 ), /*   630 noep              */
+  S_ST( 'e',   3,      378,     0 ), /*   631 noepe             */
+  S_ST( 'l',   3,      633,   628 ), /*   632 no                */
+  S_ST( 'i',   3,      634,     0 ), /*   633 nol               */
+  S_ST( 'n',   3,      373,     0 ), /*   634 noli              */
+  S_ST( 'm',   3,      640,   632 ), /*   635 no                */
+  S_ST( 'o',   3,      637,     0 ), /*   636 nom               */
+  S_ST( 'd',   3,      638,     0 ), /*   637 nomo              */
+  S_ST( 'i',   3,      639,     0 ), /*   638 nomod             */
+  S_ST( 'f',   3,      374,     0 ), /*   639 nomodi            */
+  S_ST( 'r',   3,      641,   636 ), /*   640 nom               */
+  S_ST( 'u',   3,      642,     0 ), /*   641 nomr              */
+  S_ST( 'l',   3,      643,     0 ), /*   642 nomru             */
+  S_ST( 'i',   3,      644,     0 ), /*   643 nomrul            */
+  S_ST( 's',   3,      375,     0 ), /*   644 nomruli           */
+  S_ST( 'n',   3,      646,   635 ), /*   645 no                */
+  S_ST( 'v',   3,      647,   376 ), /*   646 non               */
+  S_ST( 'o',   3,      648,     0 ), /*   647 nonv              */
+  S_ST( 'l',   3,      649,     0 ), /*   648 nonvo             */
+  S_ST( 'a',   3,      650,     0 ), /*   649 nonvol            */
+  S_ST( 't',   3,      651,     0 ), /*   650 nonvola           */
+  S_ST( 'i',   3,      652,     0 ), /*   651 nonvolat          */
+  S_ST( 'l',   3,      377,     0 ), /*   652 nonvolati         */
+  S_ST( 'p',   3,      654,   645 ), /*   653 no                */
+  S_ST( 'e',   3,      655,     0 ), /*   654 nop               */
+  S_ST( 'e',   3,      379,     0 ), /*   655 nope              */
+  S_ST( 'q',   3,      657,   653 ), /*   656 no                */
+  S_ST( 'u',   3,      658,     0 ), /*   657 noq               */
+  S_ST( 'e',   3,      659,     0 ), /*   658 noqu              */
+  S_ST( 'r',   3,      380,     0 ), /*   659 noque             */
+  S_ST( 's',   3,      661,   656 ), /*   660 no                */
+  S_ST( 'e',   3,      665,     0 ), /*   661 nos               */
+  S_ST( 'l',   3,      663,     0 ), /*   662 nose              */
+  S_ST( 'e',   3,      664,     0 ), /*   663 nosel             */
+  S_ST( 'c',   3,      381,     0 ), /*   664 nosele            */
+  S_ST( 'r',   3,      666,   662 ), /*   665 nose              */
+  S_ST( 'v',   3,      382,     0 ), /*   666 noser             */
+  S_ST( 't',   3,      668,   660 ), /*   667 no                */
+  S_ST( 'r',   3,      670,     0 ), /*   668 not               */
+  S_ST( 'a',   3,      383,     0 ), /*   669 notr              */
+  S_ST( 'u',   3,      671,   669 ), /*   670 notr              */
+  S_ST( 's',   3,      384,     0 ), /*   671 notru             */
+  S_ST( 't',   3,      385,   627 ), /*   672 n                 */
+  S_ST( 'p',   3,      674,     0 ), /*   673 ntp               */
+  S_ST( 'o',   3,      675,     0 ), /*   674 ntpp              */
+  S_ST( 'r',   3,      386,     0 ), /*   675 ntppo             */
+  S_ST( 's',   3,      677,   673 ), /*   676 ntp               */
+  S_ST( 'i',   3,      678,     0 ), /*   677 ntps              */
+  S_ST( 'g',   3,      679,     0 ), /*   678 ntpsi             */
+  S_ST( 'n',   3,      680,     0 ), /*   679 ntpsig            */
+  S_ST( 'd',   3,      681,     0 ), /*   680 ntpsign           */
+  S_ST( 's',   3,      682,     0 ), /*   681 ntpsignd          */
+  S_ST( 'o',   3,      683,     0 ), /*   682 ntpsignds         */
+  S_ST( 'c',   3,      684,     0 ), /*   683 ntpsigndso        */
+  S_ST( 'k',   3,      685,     0 ), /*   684 ntpsigndsoc       */
+  S_ST( 'e',   3,      387,     0 ), /*   685 ntpsigndsock      */
+  S_ST( 'o',   3,      687,   625 ), /*   686                   */
+  S_ST( 'r',   3,      688,     0 ), /*   687 o                 */
+  S_ST( 'p',   3,      689,     0 ), /*   688 or                */
+  S_ST( 'h',   3,      690,     0 ), /*   689 orp               */
+  S_ST( 'a',   3,      388,     0 ), /*   690 orph              */
+  S_ST( 'w',   3,      692,     0 ), /*   691 orphan            */
+  S_ST( 'a',   3,      693,     0 ), /*   692 orphanw           */
+  S_ST( 'i',   3,      389,     0 ), /*   693 orphanwa          */
+  S_ST( 'p',   3,      403,   686 ), /*   694                   */
+  S_ST( 'a',   3,      696,     0 ), /*   695 p                 */
+  S_ST( 'n',   3,      697,     0 ), /*   696 pa                */
+  S_ST( 'i',   3,      391,     0 ), /*   697 pan               */
+  S_ST( 'e',   3,      699,   695 ), /*   698 p                 */
+  S_ST( 'e',   3,      392,     0 ), /*   699 pe                */
+  S_ST( '_',   3,      701,     0 ), /*   700 peer              */
+  S_ST( 'c',   3,      702,     0 ), /*   701 peer_             */
+  S_ST( 'l',   3,      703,     0 ), /*   702 peer_c            */
+  S_ST( 'e',   3,      704,     0 ), /*   703 peer_cl           */
+  S_ST( 'a',   3,      705,     0 ), /*   704 peer_cle          */
+  S_ST( 'r',   3,      706,     0 ), /*   705 peer_clea         */
+  S_ST( '_',   3,      707,     0 ), /*   706 peer_clear        */
+  S_ST( 'd',   3,      708,     0 ), /*   707 peer_clear_       */
+  S_ST( 'i',   3,      709,     0 ), /*   708 peer_clear_d      */
+  S_ST( 'g',   3,      710,     0 ), /*   709 peer_clear_di     */
+  S_ST( 'e',   3,      711,     0 ), /*   710 peer_clear_dig    */
+  S_ST( 's',   3,      712,     0 ), /*   711 peer_clear_dige   */
+  S_ST( 't',   3,      713,     0 ), /*   712 peer_clear_diges  */
+  S_ST( '_',   3,      714,     0 ), /*   713 peer_clear_digest */
+  S_ST( 'e',   3,      715,     0 ), /*   714 peer_clear_digest_ */
+  S_ST( 'a',   3,      716,     0 ), /*   715 peer_clear_digest_e */
+  S_ST( 'r',   3,      717,     0 ), /*   716 peer_clear_digest_ea */
+  S_ST( 'l',   3,      390,     0 ), /*   717 peer_clear_digest_ear */
+  S_ST( 's',   3,      719,   700 ), /*   718 peer              */
+  S_ST( 't',   3,      720,     0 ), /*   719 peers             */
+  S_ST( 'a',   3,      721,     0 ), /*   720 peerst            */
+  S_ST( 't',   3,      393,     0 ), /*   721 peersta           */
+  S_ST( 'h',   3,      723,   698 ), /*   722 p                 */
+  S_ST( 'o',   3,      724,     0 ), /*   723 ph                */
+  S_ST( 'n',   3,      394,     0 ), /*   724 pho               */
+  S_ST( 'i',   3,      395,   722 ), /*   725 p                 */
+  S_ST( 'f',   3,      727,     0 ), /*   726 pid               */
+  S_ST( 'i',   3,      728,     0 ), /*   727 pidf              */
+  S_ST( 'l',   3,      396,     0 ), /*   728 pidfi             */
+  S_ST( 'o',   3,      732,   725 ), /*   729 p                 */
+  S_ST( 'l',   3,      397,     0 ), /*   730 po                */
+  S_ST( 'o',   3,      398,   730 ), /*   731 po                */
+  S_ST( 'r',   3,      399,   731 ), /*   732 po                */
+  S_ST( 'r',   3,      740,   729 ), /*   733 p                 */
+  S_ST( 'e',   3,      738,     0 ), /*   734 pr                */
+  S_ST( 'e',   3,      736,     0 ), /*   735 pre               */
+  S_ST( 'm',   3,      737,     0 ), /*   736 pree              */
+  S_ST( 'p',   3,      400,     0 ), /*   737 preem             */
+  S_ST( 'f',   3,      739,   735 ), /*   738 pre               */
+  S_ST( 'e',   3,      401,     0 ), /*   739 pref              */
+  S_ST( 'o',   3,      753,   734 ), /*   740 pr                */
+  S_ST( 'c',   3,      742,     0 ), /*   741 pro               */
+  S_ST( '_',   3,      743,     0 ), /*   742 proc              */
+  S_ST( 'd',   3,      744,     0 ), /*   743 proc_             */
+  S_ST( 'e',   3,      745,     0 ), /*   744 proc_d            */
+  S_ST( 'l',   3,      746,     0 ), /*   745 proc_de           */
+  S_ST( 'a',   3,      466,     0 ), /*   746 proc_del          */
+  S_ST( 'p',   3,      748,   741 ), /*   747 pro               */
+  S_ST( '_',   3,      749,     0 ), /*   748 prop              */
+  S_ST( 'd',   3,      750,     0 ), /*   749 prop_             */
+  S_ST( 'e',   3,      751,     0 ), /*   750 prop_d            */
+  S_ST( 'l',   3,      752,     0 ), /*   751 prop_de           */
+  S_ST( 'a',   3,      465,     0 ), /*   752 prop_del          */
+  S_ST( 't',   3,      754,   747 ), /*   753 pro               */
+  S_ST( 'o',   3,      755,     0 ), /*   754 prot              */
+  S_ST( 's',   3,      756,     0 ), /*   755 proto             */
+  S_ST( 't',   3,      757,     0 ), /*   756 protos            */
+  S_ST( 'a',   3,      758,     0 ), /*   757 protost           */
+  S_ST( 't',   3,      402,     0 ), /*   758 protosta          */
+  S_ST( 'r',   3,      804,   694 ), /*   759                   */
+  S_ST( 'a',   3,      777,     0 ), /*   760 r                 */
+  S_ST( 'n',   3,      762,     0 ), /*   761 ra                */
+  S_ST( 'd',   3,      766,     0 ), /*   762 ran               */
+  S_ST( 'f',   3,      764,     0 ), /*   763 rand              */
+  S_ST( 'i',   3,      765,     0 ), /*   764 randf             */
+  S_ST( 'l',   3,      404,     0 ), /*   765 randfi            */
+  S_ST( 'o',   3,      767,   763 ), /*   766 rand              */
+  S_ST( 'm',   3,      774,     0 ), /*   767 rando             */
+  S_ST( 'i',   3,      769,     0 ), /*   768 random            */
+  S_ST( 'z',   3,      770,     0 ), /*   769 randomi           */
+  S_ST( 'e',   3,      771,     0 ), /*   770 randomiz          */
+  S_ST( 'p',   3,      772,     0 ), /*   771 randomize         */
+  S_ST( 'o',   3,      773,     0 ), /*   772 randomizep        */
+  S_ST( 'l',   3,      405,     0 ), /*   773 randomizepo       */
+  S_ST( 'p',   3,      775,   768 ), /*   774 random            */
+  S_ST( 'o',   3,      776,     0 ), /*   775 randomp           */
+  S_ST( 'l',   3,      406,     0 ), /*   776 randompo          */
+  S_ST( 'w',   3,      778,   761 ), /*   777 ra                */
+  S_ST( 's',   3,      779,     0 ), /*   778 raw               */
+  S_ST( 't',   3,      780,     0 ), /*   779 raws              */
+  S_ST( 'a',   3,      781,     0 ), /*   780 rawst             */
+  S_ST( 't',   3,      407,     0 ), /*   781 rawsta            */
+  S_ST( 'e',   3,      801,   760 ), /*   782 r                 */
+  S_ST( 'f',   3,      785,     0 ), /*   783 re                */
+  S_ST( 'i',   3,      408,     0 ), /*   784 ref               */
+  S_ST( 't',   3,      786,   784 ), /*   785 ref               */
+  S_ST( 'i',   3,      787,     0 ), /*   786 reft              */
+  S_ST( 'm',   3,      409,     0 ), /*   787 refti             */
+  S_ST( 'q',   3,      789,   783 ), /*   788 re                */
+  S_ST( 'u',   3,      790,     0 ), /*   789 req               */
+  S_ST( 'e',   3,      791,     0 ), /*   790 requ              */
+  S_ST( 's',   3,      792,     0 ), /*   791 reque             */
+  S_ST( 't',   3,      793,     0 ), /*   792 reques            */
+  S_ST( 'k',   3,      794,     0 ), /*   793 request           */
+  S_ST( 'e',   3,      410,     0 ), /*   794 requestk          */
+  S_ST( 's',   3,      797,   788 ), /*   795 re                */
+  S_ST( 'e',   3,      411,     0 ), /*   796 res               */
+  S_ST( 't',   3,      798,   796 ), /*   797 res               */
+  S_ST( 'r',   3,      799,     0 ), /*   798 rest              */
+  S_ST( 'i',   3,      800,     0 ), /*   799 restr             */
+  S_ST( 'c',   3,      412,     0 ), /*   800 restri            */
+  S_ST( 'v',   3,      802,   795 ), /*   801 re                */
+  S_ST( 'o',   3,      803,     0 ), /*   802 rev               */
+  S_ST( 'k',   3,      413,     0 ), /*   803 revo              */
+  S_ST( 'l',   3,      805,   782 ), /*   804 r                 */
+  S_ST( 'i',   3,      806,     0 ), /*   805 rl                */
+  S_ST( 'm',   3,      807,     0 ), /*   806 rli               */
+  S_ST( 'i',   3,      414,     0 ), /*   807 rlim              */
+  S_ST( 's',   3,      881,   759 ), /*   808                   */
+  S_ST( 'a',   3,      810,     0 ), /*   809 s                 */
+  S_ST( 'v',   3,      811,     0 ), /*   810 sa                */
+  S_ST( 'e',   3,      812,     0 ), /*   811 sav               */
+  S_ST( 'c',   3,      813,     0 ), /*   812 save              */
+  S_ST( 'o',   3,      814,     0 ), /*   813 savec             */
+  S_ST( 'n',   3,      815,     0 ), /*   814 saveco            */
+  S_ST( 'f',   3,      816,     0 ), /*   815 savecon           */
+  S_ST( 'i',   3,      817,     0 ), /*   816 saveconf          */
+  S_ST( 'g',   3,      818,     0 ), /*   817 saveconfi         */
+  S_ST( 'd',   3,      819,     0 ), /*   818 saveconfig        */
+  S_ST( 'i',   3,      415,     0 ), /*   819 saveconfigd       */
+  S_ST( 'e',   3,      830,   809 ), /*   820 s                 */
+  S_ST( 'r',   3,      822,     0 ), /*   821 se                */
+  S_ST( 'v',   3,      823,     0 ), /*   822 ser               */
+  S_ST( 'e',   3,      416,     0 ), /*   823 serv              */
+  S_ST( '_',   3,      825,     0 ), /*   824 server            */
+  S_ST( 'o',   3,      826,     0 ), /*   825 server_           */
+  S_ST( 'f',   3,      827,     0 ), /*   826 server_o          */
+  S_ST( 'f',   3,      828,     0 ), /*   827 server_of         */
+  S_ST( 's',   3,      829,     0 ), /*   828 server_off        */
+  S_ST( 'e',   3,      460,     0 ), /*   829 server_offs       */
+  S_ST( 't',   3,      831,   821 ), /*   830 se                */
+  S_ST( 'v',   3,      832,     0 ), /*   831 set               */
+  S_ST( 'a',   3,      417,     0 ), /*   832 setv              */
+  S_ST( 'i',   3,      834,   820 ), /*   833 s                 */
+  S_ST( 'm',   3,      835,     0 ), /*   834 si                */
+  S_ST( 'u',   3,      836,     0 ), /*   835 sim               */
+  S_ST( 'l',   3,      837,     0 ), /*   836 simu              */
+  S_ST( 'a',   3,      838,     0 ), /*   837 simul             */
+  S_ST( 't',   3,      839,     0 ), /*   838 simula            */
+  S_ST( 'i',   3,      840,   457 ), /*   839 simulat           */
+  S_ST( 'o',   3,      841,     0 ), /*   840 simulati          */
+  S_ST( 'n',   3,      842,     0 ), /*   841 simulatio         */
+  S_ST( '_',   3,      843,     0 ), /*   842 simulation        */
+  S_ST( 'd',   3,      844,     0 ), /*   843 simulation_       */
+  S_ST( 'u',   3,      845,     0 ), /*   844 simulation_d      */
+  S_ST( 'r',   3,      846,     0 ), /*   845 simulation_du     */
+  S_ST( 'a',   3,      847,     0 ), /*   846 simulation_dur    */
+  S_ST( 't',   3,      848,     0 ), /*   847 simulation_dura   */
+  S_ST( 'i',   3,      849,     0 ), /*   848 simulation_durat  */
+  S_ST( 'o',   3,      459,     0 ), /*   849 simulation_durati */
+  S_ST( 'o',   3,      851,   833 ), /*   850 s                 */
+  S_ST( 'u',   3,      852,     0 ), /*   851 so                */
+  S_ST( 'r',   3,      853,     0 ), /*   852 sou               */
+  S_ST( 'c',   3,      418,     0 ), /*   853 sour              */
+  S_ST( 't',   3,      877,   850 ), /*   854 s                 */
+  S_ST( 'a',   3,      861,     0 ), /*   855 st                */
+  S_ST( 'c',   3,      857,     0 ), /*   856 sta               */
+  S_ST( 'k',   3,      858,     0 ), /*   857 stac              */
+  S_ST( 's',   3,      859,     0 ), /*   858 stack             */
+  S_ST( 'i',   3,      860,     0 ), /*   859 stacks            */
+  S_ST( 'z',   3,      419,     0 ), /*   860 stacksi           */
+  S_ST( 't',   3,      421,   856 ), /*   861 sta               */
+  S_ST( 'i',   3,      863,     0 ), /*   862 stat              */
+  S_ST( 's',   3,      864,     0 ), /*   863 stati             */
+  S_ST( 't',   3,      865,     0 ), /*   864 statis            */
+  S_ST( 'i',   3,      866,     0 ), /*   865 statist           */
+  S_ST( 'c',   3,      420,     0 ), /*   866 statisti          */
+  S_ST( 'd',   3,      868,     0 ), /*   867 stats             */
+  S_ST( 'i',   3,      422,     0 ), /*   868 statsd            */
+  S_ST( 'e',   3,      423,   855 ), /*   869 st                */
+  S_ST( 'b',   3,      871,     0 ), /*   870 step              */
+  S_ST( 'a',   3,      872,     0 ), /*   871 stepb             */
+  S_ST( 'c',   3,      424,     0 ), /*   872 stepba            */
+  S_ST( 'f',   3,      874,   870 ), /*   873 step              */
+  S_ST( 'w',   3,      425,     0 ), /*   874 stepf             */
+  S_ST( 'o',   3,      876,   873 ), /*   875 step              */
+  S_ST( 'u',   3,      426,     0 ), /*   876 stepo             */
+  S_ST( 'r',   3,      878,   869 ), /*   877 st                */
+  S_ST( 'a',   3,      879,     0 ), /*   878 str               */
+  S_ST( 't',   3,      880,     0 ), /*   879 stra              */
+  S_ST( 'u',   3,      427,     0 ), /*   880 strat             */
+  S_ST( 'y',   3,      429,   854 ), /*   881 s                 */
+  S_ST( 's',   3,      883,     0 ), /*   882 sys               */
+  S_ST( 't',   3,      884,     0 ), /*   883 syss              */
+  S_ST( 'a',   3,      885,     0 ), /*   884 sysst             */
+  S_ST( 't',   3,      430,     0 ), /*   885 syssta            */
+  S_ST( 't',   3,      912,   808 ), /*   886                   */
+  S_ST( 'i',   3,      898,     0 ), /*   887 t                 */
+  S_ST( 'c',   3,      431,     0 ), /*   888 ti                */
+  S_ST( 'm',   3,      891,   888 ), /*   889 ti                */
+  S_ST( 'e',   3,      434,     0 ), /*   890 tim               */
+  S_ST( 'i',   3,      892,   890 ), /*   891 tim               */
+  S_ST( 'n',   3,      893,     0 ), /*   892 timi              */
+  S_ST( 'g',   3,      894,     0 ), /*   893 timin             */
+  S_ST( 's',   3,      895,     0 ), /*   894 timing            */
+  S_ST( 't',   3,      896,     0 ), /*   895 timings           */
+  S_ST( 'a',   3,      897,     0 ), /*   896 timingst          */
+  S_ST( 't',   3,      435,     0 ), /*   897 timingsta         */
+  S_ST( 'n',   3,      899,   889 ), /*   898 ti                */
+  S_ST( 'k',   3,      900,     0 ), /*   899 tin               */
+  S_ST( 'e',   3,      436,     0 ), /*   900 tink              */
+  S_ST( 'o',   3,      437,   887 ), /*   901 t                 */
+  S_ST( 'r',   3,      904,   901 ), /*   902 t                 */
+  S_ST( 'a',   3,      438,     0 ), /*   903 tr                */
+  S_ST( 'u',   3,      905,   903 ), /*   904 tr                */
+  S_ST( 's',   3,      906,   439 ), /*   905 tru               */
+  S_ST( 't',   3,      907,     0 ), /*   906 trus              */
+  S_ST( 'e',   3,      908,     0 ), /*   907 trust             */
+  S_ST( 'd',   3,      909,     0 ), /*   908 truste            */
+  S_ST( 'k',   3,      910,     0 ), /*   909 trusted           */
+  S_ST( 'e',   3,      440,     0 ), /*   910 trustedk          */
+  S_ST( 't',   3,      441,   902 ), /*   911 t                 */
+  S_ST( 'y',   3,      913,   911 ), /*   912 t                 */
+  S_ST( 'p',   3,      442,     0 ), /*   913 ty                */
+  S_ST( 'u',   3,      915,   886 ), /*   914                   */
+  S_ST( 'n',   3,      921,     0 ), /*   915 u                 */
+  S_ST( 'c',   3,      917,     0 ), /*   916 un                */
+  S_ST( 'o',   3,      918,     0 ), /*   917 unc               */
+  S_ST( 'n',   3,      919,     0 ), /*   918 unco              */
+  S_ST( 'f',   3,      920,     0 ), /*   919 uncon             */
+  S_ST( 'i',   3,      447,     0 ), /*   920 unconf            */
+  S_ST( 'p',   3,      922,   916 ), /*   921 un                */
+  S_ST( 'e',   3,      923,     0 ), /*   922 unp               */
+  S_ST( 'e',   3,      448,     0 ), /*   923 unpe              */
+  S_ST( '_',   3,      944,     0 ), /*   924 unpeer            */
+  S_ST( 'c',   3,      926,     0 ), /*   925 unpeer_           */
+  S_ST( 'r',   3,      927,     0 ), /*   926 unpeer_c          */
+  S_ST( 'y',   3,      928,     0 ), /*   927 unpeer_cr         */
+  S_ST( 'p',   3,      929,     0 ), /*   928 unpeer_cry        */
+  S_ST( 't',   3,      930,     0 ), /*   929 unpeer_cryp       */
+  S_ST( 'o',   3,      931,     0 ), /*   930 unpeer_crypt      */
+  S_ST( '_',   3,      936,     0 ), /*   931 unpeer_crypto     */
+  S_ST( 'e',   3,      933,     0 ), /*   932 unpeer_crypto_    */
+  S_ST( 'a',   3,      934,     0 ), /*   933 unpeer_crypto_e   */
+  S_ST( 'r',   3,      935,     0 ), /*   934 unpeer_crypto_ea  */
+  S_ST( 'l',   3,      444,     0 ), /*   935 unpeer_crypto_ear */
+  S_ST( 'n',   3,      937,   932 ), /*   936 unpeer_crypto_    */
+  S_ST( 'a',   3,      938,     0 ), /*   937 unpeer_crypto_n   */
+  S_ST( 'k',   3,      939,     0 ), /*   938 unpeer_crypto_na  */
+  S_ST( '_',   3,      940,     0 ), /*   939 unpeer_crypto_nak */
+  S_ST( 'e',   3,      941,     0 ), /*   940 unpeer_crypto_nak_ */
+  S_ST( 'a',   3,      942,     0 ), /*   941 unpeer_crypto_nak_e */
+  S_ST( 'r',   3,      943,     0 ), /*   942 unpeer_crypto_nak_ea */
+  S_ST( 'l',   3,      445,     0 ), /*   943 unpeer_crypto_nak_ear */
+  S_ST( 'd',   3,      945,   925 ), /*   944 unpeer_           */
+  S_ST( 'i',   3,      946,     0 ), /*   945 unpeer_d          */
+  S_ST( 'g',   3,      947,     0 ), /*   946 unpeer_di         */
+  S_ST( 'e',   3,      948,     0 ), /*   947 unpeer_dig        */
+  S_ST( 's',   3,      949,     0 ), /*   948 unpeer_dige       */
+  S_ST( 't',   3,      950,     0 ), /*   949 unpeer_diges      */
+  S_ST( '_',   3,      951,     0 ), /*   950 unpeer_digest     */
+  S_ST( 'e',   3,      952,     0 ), /*   951 unpeer_digest_    */
+  S_ST( 'a',   3,      953,     0 ), /*   952 unpeer_digest_e   */
+  S_ST( 'r',   3,      954,     0 ), /*   953 unpeer_digest_ea  */
+  S_ST( 'l',   3,      446,     0 ), /*   954 unpeer_digest_ear */
+  S_ST( 'v',   3,      956,   914 ), /*   955                   */
+  S_ST( 'e',   3,      957,     0 ), /*   956 v                 */
+  S_ST( 'r',   3,      958,     0 ), /*   957 ve                */
+  S_ST( 's',   3,      959,     0 ), /*   958 ver               */
+  S_ST( 'i',   3,      960,     0 ), /*   959 vers              */
+  S_ST( 'o',   3,      449,     0 ), /*   960 versi             */
+  S_ST( 'w',   3,      968,   955 ), /*   961                   */
+  S_ST( 'a',   3,      963,     0 ), /*   962 w                 */
+  S_ST( 'n',   3,      964,     0 ), /*   963 wa                */
+  S_ST( 'd',   3,      965,     0 ), /*   964 wan               */
+  S_ST( 'e',   3,      463,     0 ), /*   965 wand              */
+  S_ST( 'e',   3,      967,   962 ), /*   966 w                 */
+  S_ST( 'e',   3,      451,     0 ), /*   967 we                */
+  S_ST( 'i',   3,      969,   966 ), /*   968 w                 */
+  S_ST( 'l',   3,      970,     0 ), /*   969 wi                */
+  S_ST( 'd',   3,      971,     0 ), /*   970 wil               */
+  S_ST( 'c',   3,      972,     0 ), /*   971 wild              */
+  S_ST( 'a',   3,      973,     0 ), /*   972 wildc             */
+  S_ST( 'r',   3,      452,     0 ), /*   973 wildca            */
+  S_ST( 'x',   3,      975,   961 ), /*   974                   */
+  S_ST( 'l',   3,      976,     0 ), /*   975 x                 */
+  S_ST( 'e',   3,      977,     0 ), /*   976 xl                */
+  S_ST( 'a',   3,      978,     0 ), /*   977 xle               */
+  S_ST( 'v',   3,      453,     0 ), /*   978 xlea              */
+  S_ST( 'y',   3,      980,   974 ), /*   979 [initial state]   */
+  S_ST( 'e',   3,      981,     0 ), /*   980 y                 */
+  S_ST( 'a',   3,      454,     0 )  /*   981 ye                */
 };
 
index 71c46b941fe51fad58a168f172abe45a37a4b62a..14a577a0c2549dc8c16d9fd272eb26f9074853a8 100644 (file)
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.4.1.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
-   Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
 
-/* Undocumented macros, especially those whose name start with YY_,
-   are private implementation details.  Do not rely on them.  */
-
 /* Identify Bison output.  */
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.4.1"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -65,8 +61,8 @@
 
 
 
-/* First part of user prologue.  */
-#line 11 "ntp_parser.y"
+/* Copy the first part of user declarations.  */
+#line 11 "../../ntpd/ntp_parser.y" /* yacc.c:339  */
 
   #ifdef HAVE_CONFIG_H
   # include <config.h>
   #  define ONLY_SIM(a)        NULL
   #endif
 
-#line 105 "ntp_parser.c"
+#line 101 "../../ntpd/ntp_parser.c" /* yacc.c:339  */
 
 # ifndef YY_NULLPTR
-#  if defined __cplusplus
-#   if 201103L <= __cplusplus
-#    define YY_NULLPTR nullptr
-#   else
-#    define YY_NULLPTR 0
-#   endif
+#  if defined __cplusplus && 201103L <= __cplusplus
+#   define YY_NULLPTR nullptr
 #  else
-#   define YY_NULLPTR ((void*)0)
+#   define YY_NULLPTR 0
 #  endif
 # endif
 
 # define YYERROR_VERBOSE 0
 #endif
 
-/* Use api.header.include to #include this header
-   instead of duplicating it here.  */
-#ifndef YY_YY__SRC_NTP_STABLE_NTPD_NTP_PARSER_H_INCLUDED
-# define YY_YY__SRC_NTP_STABLE_NTPD_NTP_PARSER_H_INCLUDED
+/* In a future release of Bison, this section will be replaced
+   by #include "y.tab.h".  */
+#ifndef YY_YY__NTPD_NTP_PARSER_H_INCLUDED
+# define YY_YY__NTPD_NTP_PARSER_H_INCLUDED
 /* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 1
@@ -177,172 +169,179 @@ extern int yydebug;
     T_Drop = 292,
     T_Dscp = 293,
     T_Ellipsis = 294,
-    T_Enable = 295,
-    T_End = 296,
-    T_Epeer = 297,
-    T_False = 298,
-    T_File = 299,
-    T_Filegen = 300,
-    T_Filenum = 301,
-    T_Flag1 = 302,
-    T_Flag2 = 303,
-    T_Flag3 = 304,
-    T_Flag4 = 305,
-    T_Flake = 306,
-    T_Floor = 307,
-    T_Freq = 308,
-    T_Fudge = 309,
-    T_Host = 310,
-    T_Huffpuff = 311,
-    T_Iburst = 312,
-    T_Ident = 313,
-    T_Ignore = 314,
-    T_Ignorehash = 315,
-    T_Incalloc = 316,
-    T_Incmem = 317,
-    T_Initalloc = 318,
-    T_Initmem = 319,
-    T_Includefile = 320,
-    T_Integer = 321,
-    T_Interface = 322,
-    T_Intrange = 323,
-    T_Io = 324,
-    T_Ippeerlimit = 325,
-    T_Ipv4 = 326,
-    T_Ipv4_flag = 327,
-    T_Ipv6 = 328,
-    T_Ipv6_flag = 329,
-    T_Kernel = 330,
-    T_Key = 331,
-    T_Keys = 332,
-    T_Keysdir = 333,
-    T_Kod = 334,
-    T_Mssntp = 335,
-    T_Leapfile = 336,
-    T_Leapsmearinterval = 337,
-    T_Limited = 338,
-    T_Link = 339,
-    T_Listen = 340,
-    T_Logconfig = 341,
-    T_Logfile = 342,
-    T_Loopstats = 343,
-    T_Lowpriotrap = 344,
-    T_Manycastclient = 345,
-    T_Manycastserver = 346,
-    T_Mask = 347,
-    T_Maxage = 348,
-    T_Maxclock = 349,
-    T_Maxdepth = 350,
-    T_Maxdist = 351,
-    T_Maxmem = 352,
-    T_Maxpoll = 353,
-    T_Mdnstries = 354,
-    T_Mem = 355,
-    T_Memlock = 356,
-    T_Minclock = 357,
-    T_Mindepth = 358,
-    T_Mindist = 359,
-    T_Minimum = 360,
-    T_Minjitter = 361,
-    T_Minpoll = 362,
-    T_Minsane = 363,
-    T_Mode = 364,
-    T_Mode7 = 365,
-    T_Monitor = 366,
-    T_Month = 367,
-    T_Mru = 368,
-    T_Multicastclient = 369,
-    T_Nic = 370,
-    T_Nolink = 371,
-    T_Nomodify = 372,
-    T_Nomrulist = 373,
-    T_None = 374,
-    T_Nonvolatile = 375,
-    T_Noepeer = 376,
-    T_Nopeer = 377,
-    T_Noquery = 378,
-    T_Noselect = 379,
-    T_Noserve = 380,
-    T_Notrap = 381,
-    T_Notrust = 382,
-    T_Ntp = 383,
-    T_Ntpport = 384,
-    T_NtpSignDsocket = 385,
-    T_Orphan = 386,
-    T_Orphanwait = 387,
-    T_PCEdigest = 388,
-    T_Panic = 389,
-    T_Peer = 390,
-    T_Peerstats = 391,
-    T_Phone = 392,
-    T_Pid = 393,
-    T_Pidfile = 394,
-    T_Pool = 395,
-    T_Port = 396,
-    T_Preempt = 397,
-    T_Prefer = 398,
-    T_Protostats = 399,
-    T_Pw = 400,
-    T_Randfile = 401,
-    T_Rawstats = 402,
-    T_Refid = 403,
-    T_Requestkey = 404,
-    T_Reset = 405,
-    T_Restrict = 406,
-    T_Revoke = 407,
-    T_Rlimit = 408,
-    T_Saveconfigdir = 409,
-    T_Server = 410,
-    T_Setvar = 411,
-    T_Source = 412,
-    T_Stacksize = 413,
-    T_Statistics = 414,
-    T_Stats = 415,
-    T_Statsdir = 416,
-    T_Step = 417,
-    T_Stepback = 418,
-    T_Stepfwd = 419,
-    T_Stepout = 420,
-    T_Stratum = 421,
-    T_String = 422,
-    T_Sys = 423,
-    T_Sysstats = 424,
-    T_Tick = 425,
-    T_Time1 = 426,
-    T_Time2 = 427,
-    T_Timer = 428,
-    T_Timingstats = 429,
-    T_Tinker = 430,
-    T_Tos = 431,
-    T_Trap = 432,
-    T_True = 433,
-    T_Trustedkey = 434,
-    T_Ttl = 435,
-    T_Type = 436,
-    T_U_int = 437,
-    T_UEcrypto = 438,
-    T_UEcryptonak = 439,
-    T_UEdigest = 440,
-    T_Unconfig = 441,
-    T_Unpeer = 442,
-    T_Version = 443,
-    T_WanderThreshold = 444,
-    T_Week = 445,
-    T_Wildcard = 446,
-    T_Xleave = 447,
-    T_Year = 448,
-    T_Flag = 449,
-    T_EOC = 450,
-    T_Simulate = 451,
-    T_Beep_Delay = 452,
-    T_Sim_Duration = 453,
-    T_Server_Offset = 454,
-    T_Duration = 455,
-    T_Freq_Offset = 456,
-    T_Wander = 457,
-    T_Jitter = 458,
-    T_Prop_Delay = 459,
-    T_Proc_Delay = 460
+    T_Else = 295,
+    T_Enable = 296,
+    T_End = 297,
+    T_Epeer = 298,
+    T_False = 299,
+    T_File = 300,
+    T_Filegen = 301,
+    T_Filenum = 302,
+    T_Flag1 = 303,
+    T_Flag2 = 304,
+    T_Flag3 = 305,
+    T_Flag4 = 306,
+    T_Flake = 307,
+    T_Floor = 308,
+    T_Freq = 309,
+    T_Fudge = 310,
+    T_Fuzz = 311,
+    T_Host = 312,
+    T_Huffpuff = 313,
+    T_Iburst = 314,
+    T_Ident = 315,
+    T_Ignore = 316,
+    T_Ignorehash = 317,
+    T_Incalloc = 318,
+    T_Incmem = 319,
+    T_Initalloc = 320,
+    T_Initmem = 321,
+    T_Includefile = 322,
+    T_Integer = 323,
+    T_Interface = 324,
+    T_Intrange = 325,
+    T_Io = 326,
+    T_Ippeerlimit = 327,
+    T_Ipv4 = 328,
+    T_Ipv4_flag = 329,
+    T_Ipv6 = 330,
+    T_Ipv6_flag = 331,
+    T_Kernel = 332,
+    T_Key = 333,
+    T_Keys = 334,
+    T_Keysdir = 335,
+    T_Kod = 336,
+    T_Mssntp = 337,
+    T_Leapfile = 338,
+    T_Leapsmearinterval = 339,
+    T_Limited = 340,
+    T_Link = 341,
+    T_Listen = 342,
+    T_Logconfig = 343,
+    T_Logfile = 344,
+    T_Loopstats = 345,
+    T_Lowpriotrap = 346,
+    T_Manycastclient = 347,
+    T_Manycastserver = 348,
+    T_Mask = 349,
+    T_Maxage = 350,
+    T_Maxclock = 351,
+    T_Maxdepth = 352,
+    T_Maxdist = 353,
+    T_Maxmem = 354,
+    T_Maxpoll = 355,
+    T_Mdnstries = 356,
+    T_Mem = 357,
+    T_Memlock = 358,
+    T_Minclock = 359,
+    T_Mindepth = 360,
+    T_Mindist = 361,
+    T_Minimum = 362,
+    T_Minjitter = 363,
+    T_Minpoll = 364,
+    T_Minsane = 365,
+    T_Mode = 366,
+    T_Mode7 = 367,
+    T_Monitor = 368,
+    T_Month = 369,
+    T_Mru = 370,
+    T_Multicastclient = 371,
+    T_Nic = 372,
+    T_Nolink = 373,
+    T_Nomodify = 374,
+    T_Nomrulist = 375,
+    T_None = 376,
+    T_Nonvolatile = 377,
+    T_Noepeer = 378,
+    T_Nopeer = 379,
+    T_Noquery = 380,
+    T_Noselect = 381,
+    T_Noserve = 382,
+    T_Notrap = 383,
+    T_Notrust = 384,
+    T_Ntp = 385,
+    T_Ntpport = 386,
+    T_NtpSignDsocket = 387,
+    T_Orphan = 388,
+    T_Orphanwait = 389,
+    T_PCEdigest = 390,
+    T_Panic = 391,
+    T_Peer = 392,
+    T_Peerstats = 393,
+    T_Phone = 394,
+    T_Pid = 395,
+    T_Pidfile = 396,
+    T_Poll = 397,
+    T_Pool = 398,
+    T_Port = 399,
+    T_Preempt = 400,
+    T_Prefer = 401,
+    T_Protostats = 402,
+    T_Pw = 403,
+    T_Randfile = 404,
+    T_Randomizepoll = 405,
+    T_Randompoll = 406,
+    T_Rawstats = 407,
+    T_Refid = 408,
+    T_Reftime = 409,
+    T_Requestkey = 410,
+    T_Reset = 411,
+    T_Restrict = 412,
+    T_Revoke = 413,
+    T_Rlimit = 414,
+    T_Saveconfigdir = 415,
+    T_Server = 416,
+    T_ServerFuzzReftime = 417,
+    T_Setvar = 418,
+    T_Source = 419,
+    T_Stacksize = 420,
+    T_Statistics = 421,
+    T_Stats = 422,
+    T_Statsdir = 423,
+    T_Step = 424,
+    T_Stepback = 425,
+    T_Stepfwd = 426,
+    T_Stepout = 427,
+    T_Stratum = 428,
+    T_String = 429,
+    T_Sys = 430,
+    T_Sysstats = 431,
+    T_Tick = 432,
+    T_Time1 = 433,
+    T_Time2 = 434,
+    T_Timer = 435,
+    T_Timingstats = 436,
+    T_Tinker = 437,
+    T_Tos = 438,
+    T_Trap = 439,
+    T_True = 440,
+    T_Trustedkey = 441,
+    T_Ttl = 442,
+    T_Type = 443,
+    T_U_int = 444,
+    T_UEcrypto = 445,
+    T_UEcryptonak = 446,
+    T_UEdigest = 447,
+    T_Unconfig = 448,
+    T_Unpeer = 449,
+    T_Version = 450,
+    T_WanderThreshold = 451,
+    T_Week = 452,
+    T_Wildcard = 453,
+    T_Xleave = 454,
+    T_Year = 455,
+    T_Flag = 456,
+    T_EOC = 457,
+    T_Simulate = 458,
+    T_Beep_Delay = 459,
+    T_Sim_Duration = 460,
+    T_Server_Offset = 461,
+    T_Duration = 462,
+    T_Freq_Offset = 463,
+    T_Wander = 464,
+    T_Jitter = 465,
+    T_Prop_Delay = 466,
+    T_Proc_Delay = 467
   };
 #endif
 /* Tokens.  */
@@ -383,178 +382,186 @@ extern int yydebug;
 #define T_Drop 292
 #define T_Dscp 293
 #define T_Ellipsis 294
-#define T_Enable 295
-#define T_End 296
-#define T_Epeer 297
-#define T_False 298
-#define T_File 299
-#define T_Filegen 300
-#define T_Filenum 301
-#define T_Flag1 302
-#define T_Flag2 303
-#define T_Flag3 304
-#define T_Flag4 305
-#define T_Flake 306
-#define T_Floor 307
-#define T_Freq 308
-#define T_Fudge 309
-#define T_Host 310
-#define T_Huffpuff 311
-#define T_Iburst 312
-#define T_Ident 313
-#define T_Ignore 314
-#define T_Ignorehash 315
-#define T_Incalloc 316
-#define T_Incmem 317
-#define T_Initalloc 318
-#define T_Initmem 319
-#define T_Includefile 320
-#define T_Integer 321
-#define T_Interface 322
-#define T_Intrange 323
-#define T_Io 324
-#define T_Ippeerlimit 325
-#define T_Ipv4 326
-#define T_Ipv4_flag 327
-#define T_Ipv6 328
-#define T_Ipv6_flag 329
-#define T_Kernel 330
-#define T_Key 331
-#define T_Keys 332
-#define T_Keysdir 333
-#define T_Kod 334
-#define T_Mssntp 335
-#define T_Leapfile 336
-#define T_Leapsmearinterval 337
-#define T_Limited 338
-#define T_Link 339
-#define T_Listen 340
-#define T_Logconfig 341
-#define T_Logfile 342
-#define T_Loopstats 343
-#define T_Lowpriotrap 344
-#define T_Manycastclient 345
-#define T_Manycastserver 346
-#define T_Mask 347
-#define T_Maxage 348
-#define T_Maxclock 349
-#define T_Maxdepth 350
-#define T_Maxdist 351
-#define T_Maxmem 352
-#define T_Maxpoll 353
-#define T_Mdnstries 354
-#define T_Mem 355
-#define T_Memlock 356
-#define T_Minclock 357
-#define T_Mindepth 358
-#define T_Mindist 359
-#define T_Minimum 360
-#define T_Minjitter 361
-#define T_Minpoll 362
-#define T_Minsane 363
-#define T_Mode 364
-#define T_Mode7 365
-#define T_Monitor 366
-#define T_Month 367
-#define T_Mru 368
-#define T_Multicastclient 369
-#define T_Nic 370
-#define T_Nolink 371
-#define T_Nomodify 372
-#define T_Nomrulist 373
-#define T_None 374
-#define T_Nonvolatile 375
-#define T_Noepeer 376
-#define T_Nopeer 377
-#define T_Noquery 378
-#define T_Noselect 379
-#define T_Noserve 380
-#define T_Notrap 381
-#define T_Notrust 382
-#define T_Ntp 383
-#define T_Ntpport 384
-#define T_NtpSignDsocket 385
-#define T_Orphan 386
-#define T_Orphanwait 387
-#define T_PCEdigest 388
-#define T_Panic 389
-#define T_Peer 390
-#define T_Peerstats 391
-#define T_Phone 392
-#define T_Pid 393
-#define T_Pidfile 394
-#define T_Pool 395
-#define T_Port 396
-#define T_Preempt 397
-#define T_Prefer 398
-#define T_Protostats 399
-#define T_Pw 400
-#define T_Randfile 401
-#define T_Rawstats 402
-#define T_Refid 403
-#define T_Requestkey 404
-#define T_Reset 405
-#define T_Restrict 406
-#define T_Revoke 407
-#define T_Rlimit 408
-#define T_Saveconfigdir 409
-#define T_Server 410
-#define T_Setvar 411
-#define T_Source 412
-#define T_Stacksize 413
-#define T_Statistics 414
-#define T_Stats 415
-#define T_Statsdir 416
-#define T_Step 417
-#define T_Stepback 418
-#define T_Stepfwd 419
-#define T_Stepout 420
-#define T_Stratum 421
-#define T_String 422
-#define T_Sys 423
-#define T_Sysstats 424
-#define T_Tick 425
-#define T_Time1 426
-#define T_Time2 427
-#define T_Timer 428
-#define T_Timingstats 429
-#define T_Tinker 430
-#define T_Tos 431
-#define T_Trap 432
-#define T_True 433
-#define T_Trustedkey 434
-#define T_Ttl 435
-#define T_Type 436
-#define T_U_int 437
-#define T_UEcrypto 438
-#define T_UEcryptonak 439
-#define T_UEdigest 440
-#define T_Unconfig 441
-#define T_Unpeer 442
-#define T_Version 443
-#define T_WanderThreshold 444
-#define T_Week 445
-#define T_Wildcard 446
-#define T_Xleave 447
-#define T_Year 448
-#define T_Flag 449
-#define T_EOC 450
-#define T_Simulate 451
-#define T_Beep_Delay 452
-#define T_Sim_Duration 453
-#define T_Server_Offset 454
-#define T_Duration 455
-#define T_Freq_Offset 456
-#define T_Wander 457
-#define T_Jitter 458
-#define T_Prop_Delay 459
-#define T_Proc_Delay 460
+#define T_Else 295
+#define T_Enable 296
+#define T_End 297
+#define T_Epeer 298
+#define T_False 299
+#define T_File 300
+#define T_Filegen 301
+#define T_Filenum 302
+#define T_Flag1 303
+#define T_Flag2 304
+#define T_Flag3 305
+#define T_Flag4 306
+#define T_Flake 307
+#define T_Floor 308
+#define T_Freq 309
+#define T_Fudge 310
+#define T_Fuzz 311
+#define T_Host 312
+#define T_Huffpuff 313
+#define T_Iburst 314
+#define T_Ident 315
+#define T_Ignore 316
+#define T_Ignorehash 317
+#define T_Incalloc 318
+#define T_Incmem 319
+#define T_Initalloc 320
+#define T_Initmem 321
+#define T_Includefile 322
+#define T_Integer 323
+#define T_Interface 324
+#define T_Intrange 325
+#define T_Io 326
+#define T_Ippeerlimit 327
+#define T_Ipv4 328
+#define T_Ipv4_flag 329
+#define T_Ipv6 330
+#define T_Ipv6_flag 331
+#define T_Kernel 332
+#define T_Key 333
+#define T_Keys 334
+#define T_Keysdir 335
+#define T_Kod 336
+#define T_Mssntp 337
+#define T_Leapfile 338
+#define T_Leapsmearinterval 339
+#define T_Limited 340
+#define T_Link 341
+#define T_Listen 342
+#define T_Logconfig 343
+#define T_Logfile 344
+#define T_Loopstats 345
+#define T_Lowpriotrap 346
+#define T_Manycastclient 347
+#define T_Manycastserver 348
+#define T_Mask 349
+#define T_Maxage 350
+#define T_Maxclock 351
+#define T_Maxdepth 352
+#define T_Maxdist 353
+#define T_Maxmem 354
+#define T_Maxpoll 355
+#define T_Mdnstries 356
+#define T_Mem 357
+#define T_Memlock 358
+#define T_Minclock 359
+#define T_Mindepth 360
+#define T_Mindist 361
+#define T_Minimum 362
+#define T_Minjitter 363
+#define T_Minpoll 364
+#define T_Minsane 365
+#define T_Mode 366
+#define T_Mode7 367
+#define T_Monitor 368
+#define T_Month 369
+#define T_Mru 370
+#define T_Multicastclient 371
+#define T_Nic 372
+#define T_Nolink 373
+#define T_Nomodify 374
+#define T_Nomrulist 375
+#define T_None 376
+#define T_Nonvolatile 377
+#define T_Noepeer 378
+#define T_Nopeer 379
+#define T_Noquery 380
+#define T_Noselect 381
+#define T_Noserve 382
+#define T_Notrap 383
+#define T_Notrust 384
+#define T_Ntp 385
+#define T_Ntpport 386
+#define T_NtpSignDsocket 387
+#define T_Orphan 388
+#define T_Orphanwait 389
+#define T_PCEdigest 390
+#define T_Panic 391
+#define T_Peer 392
+#define T_Peerstats 393
+#define T_Phone 394
+#define T_Pid 395
+#define T_Pidfile 396
+#define T_Poll 397
+#define T_Pool 398
+#define T_Port 399
+#define T_Preempt 400
+#define T_Prefer 401
+#define T_Protostats 402
+#define T_Pw 403
+#define T_Randfile 404
+#define T_Randomizepoll 405
+#define T_Randompoll 406
+#define T_Rawstats 407
+#define T_Refid 408
+#define T_Reftime 409
+#define T_Requestkey 410
+#define T_Reset 411
+#define T_Restrict 412
+#define T_Revoke 413
+#define T_Rlimit 414
+#define T_Saveconfigdir 415
+#define T_Server 416
+#define T_ServerFuzzReftime 417
+#define T_Setvar 418
+#define T_Source 419
+#define T_Stacksize 420
+#define T_Statistics 421
+#define T_Stats 422
+#define T_Statsdir 423
+#define T_Step 424
+#define T_Stepback 425
+#define T_Stepfwd 426
+#define T_Stepout 427
+#define T_Stratum 428
+#define T_String 429
+#define T_Sys 430
+#define T_Sysstats 431
+#define T_Tick 432
+#define T_Time1 433
+#define T_Time2 434
+#define T_Timer 435
+#define T_Timingstats 436
+#define T_Tinker 437
+#define T_Tos 438
+#define T_Trap 439
+#define T_True 440
+#define T_Trustedkey 441
+#define T_Ttl 442
+#define T_Type 443
+#define T_U_int 444
+#define T_UEcrypto 445
+#define T_UEcryptonak 446
+#define T_UEdigest 447
+#define T_Unconfig 448
+#define T_Unpeer 449
+#define T_Version 450
+#define T_WanderThreshold 451
+#define T_Week 452
+#define T_Wildcard 453
+#define T_Xleave 454
+#define T_Year 455
+#define T_Flag 456
+#define T_EOC 457
+#define T_Simulate 458
+#define T_Beep_Delay 459
+#define T_Sim_Duration 460
+#define T_Server_Offset 461
+#define T_Duration 462
+#define T_Freq_Offset 463
+#define T_Wander 464
+#define T_Jitter 465
+#define T_Prop_Delay 466
+#define T_Proc_Delay 467
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
 union YYSTYPE
 {
-#line 52 "ntp_parser.y"
+#line 52 "../../ntpd/ntp_parser.y" /* yacc.c:355  */
 
        char *                  String;
        double                  Double;
@@ -564,6 +571,7 @@ union YYSTYPE
        attr_val *              Attr_val;
        attr_val_fifo *         Attr_val_fifo;
        int_fifo *              Int_fifo;
+       randpoll_node *         Randpoll_node;
        string_fifo *           String_fifo;
        address_node *          Address_node;
        address_fifo *          Address_fifo;
@@ -573,9 +581,9 @@ union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
-#line 577 "ntp_parser.c"
-
+#line 585 "../../ntpd/ntp_parser.c" /* yacc.c:355  */
 };
+
 typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
@@ -586,9 +594,11 @@ extern YYSTYPE yylval;
 
 int yyparse (void);
 
-#endif /* !YY_YY__SRC_NTP_STABLE_NTPD_NTP_PARSER_H_INCLUDED  */
+#endif /* !YY_YY__NTPD_NTP_PARSER_H_INCLUDED  */
 
+/* Copy the second part of user declarations.  */
 
+#line 602 "../../ntpd/ntp_parser.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -609,13 +619,13 @@ typedef signed char yytype_int8;
 #ifdef YYTYPE_UINT16
 typedef YYTYPE_UINT16 yytype_uint16;
 #else
-typedef unsigned short yytype_uint16;
+typedef unsigned short int yytype_uint16;
 #endif
 
 #ifdef YYTYPE_INT16
 typedef YYTYPE_INT16 yytype_int16;
 #else
-typedef short yytype_int16;
+typedef short int yytype_int16;
 #endif
 
 #ifndef YYSIZE_T
@@ -627,7 +637,7 @@ typedef short yytype_int16;
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 # else
-#  define YYSIZE_T unsigned
+#  define YYSIZE_T unsigned int
 # endif
 #endif
 
@@ -663,6 +673,15 @@ typedef short yytype_int16;
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 #endif
 
+#if !defined _Noreturn \
+     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
@@ -670,7 +689,7 @@ typedef short yytype_int16;
 # define YYUSE(E) /* empty */
 #endif
 
-#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
     _Pragma ("GCC diagnostic push") \
@@ -690,8 +709,6 @@ typedef short yytype_int16;
 #endif
 
 
-#define YY_ASSERT(E) ((void) (0 && (E)))
-
 #if ! defined yyoverflow || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
@@ -821,44 +838,44 @@ union yyalloc
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  217
+#define YYFINAL  221
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   709
+#define YYLAST   694
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  211
+#define YYNTOKENS  221
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  108
+#define YYNNTS  110
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  328
+#define YYNRULES  337
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  441
+#define YYNSTATES  460
 
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   460
+#define YYMAXUTOK   467
 
-/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex, with out-of-bounds checking.  */
 #define YYTRANSLATE(YYX)                                                \
-  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex.  */
+   as returned by yylex, without out-of-bounds checking.  */
 static const yytype_uint8 yytranslate[] =
 {
        0,     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,
-     207,   208,     2,     2,     2,     2,     2,     2,     2,     2,
+     217,   218,     2,     2,     2,   215,     2,   214,   213,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   206,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,   216,     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,   209,     2,   210,     2,     2,     2,     2,
+       2,     2,     2,   219,     2,   220,     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,
@@ -892,46 +909,47 @@ static const yytype_uint8 yytranslate[] =
      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,   203,   204,
-     205
+     205,   206,   207,   208,   209,   210,   211,   212
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   382,   382,   386,   387,   388,   403,   404,   405,   406,
-     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
-     424,   434,   435,   436,   437,   438,   442,   443,   448,   453,
-     455,   461,   462,   470,   471,   472,   476,   481,   482,   483,
-     484,   485,   486,   487,   488,   492,   494,   499,   500,   501,
-     502,   503,   504,   508,   513,   522,   532,   533,   543,   545,
-     547,   549,   560,   567,   569,   574,   576,   578,   580,   582,
-     592,   598,   599,   607,   609,   621,   622,   623,   624,   625,
-     634,   639,   644,   652,   654,   656,   658,   663,   664,   665,
-     666,   667,   668,   669,   670,   671,   675,   676,   685,   687,
-     696,   706,   711,   719,   720,   721,   722,   723,   724,   725,
-     726,   731,   732,   740,   750,   759,   774,   779,   780,   784,
-     785,   789,   790,   791,   792,   793,   794,   795,   804,   808,
-     812,   820,   828,   836,   851,   866,   879,   880,   900,   901,
-     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
-     919,   920,   921,   922,   923,   924,   925,   929,   934,   942,
-     947,   948,   949,   953,   958,   966,   971,   972,   973,   974,
-     975,   976,   977,   978,   986,   996,  1001,  1009,  1011,  1013,
-    1022,  1024,  1029,  1030,  1031,  1035,  1036,  1037,  1038,  1046,
-    1051,  1056,  1064,  1069,  1070,  1071,  1080,  1082,  1087,  1092,
-    1100,  1102,  1119,  1120,  1121,  1122,  1123,  1124,  1128,  1129,
-    1130,  1131,  1132,  1133,  1141,  1146,  1151,  1159,  1164,  1165,
-    1166,  1167,  1168,  1169,  1170,  1171,  1172,  1173,  1182,  1183,
-    1184,  1191,  1198,  1205,  1221,  1240,  1248,  1250,  1252,  1254,
-    1256,  1258,  1265,  1270,  1271,  1272,  1276,  1280,  1289,  1291,
-    1294,  1298,  1302,  1303,  1304,  1308,  1319,  1337,  1349,  1354,
-    1356,  1361,  1362,  1370,  1372,  1380,  1385,  1393,  1418,  1425,
-    1435,  1436,  1440,  1441,  1442,  1443,  1447,  1448,  1449,  1453,
-    1458,  1463,  1471,  1472,  1473,  1474,  1475,  1476,  1477,  1487,
-    1492,  1500,  1505,  1513,  1515,  1519,  1524,  1529,  1537,  1542,
-    1550,  1559,  1560,  1564,  1565,  1569,  1577,  1595,  1599,  1604,
-    1612,  1617,  1618,  1622,  1627,  1635,  1640,  1645,  1650,  1655,
-    1663,  1668,  1673,  1681,  1686,  1687,  1688,  1689,  1690
+       0,   391,   391,   395,   396,   397,   412,   413,   414,   415,
+     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
+     433,   443,   444,   445,   446,   447,   451,   452,   457,   462,
+     464,   470,   471,   479,   480,   481,   485,   490,   491,   492,
+     493,   494,   495,   496,   497,   501,   503,   508,   509,   510,
+     511,   512,   513,   517,   522,   531,   541,   542,   552,   554,
+     556,   558,   569,   576,   578,   583,   585,   587,   589,   591,
+     601,   607,   608,   616,   618,   630,   631,   632,   633,   634,
+     643,   648,   653,   661,   663,   665,   667,   672,   673,   674,
+     675,   676,   677,   678,   679,   680,   684,   685,   694,   696,
+     705,   715,   720,   728,   729,   730,   731,   732,   733,   734,
+     735,   740,   741,   749,   759,   768,   783,   788,   789,   793,
+     794,   798,   799,   800,   801,   802,   803,   804,   813,   817,
+     821,   829,   837,   845,   860,   875,   888,   889,   909,   910,
+     918,   926,   937,   938,   939,   940,   941,   942,   943,   944,
+     945,   946,   947,   948,   949,   950,   951,   952,   953,   954,
+     958,   963,   971,   976,   977,   978,   982,   987,   995,  1000,
+    1001,  1002,  1003,  1004,  1005,  1006,  1007,  1015,  1025,  1030,
+    1038,  1040,  1042,  1051,  1053,  1058,  1059,  1060,  1064,  1065,
+    1066,  1067,  1075,  1080,  1085,  1093,  1098,  1099,  1100,  1109,
+    1111,  1116,  1121,  1129,  1131,  1148,  1149,  1150,  1151,  1152,
+    1153,  1157,  1158,  1159,  1160,  1161,  1162,  1170,  1175,  1180,
+    1188,  1193,  1194,  1195,  1196,  1197,  1198,  1199,  1200,  1201,
+    1202,  1211,  1212,  1213,  1220,  1227,  1234,  1250,  1269,  1277,
+    1279,  1281,  1283,  1285,  1293,  1295,  1302,  1307,  1308,  1309,
+    1313,  1317,  1326,  1328,  1331,  1335,  1339,  1340,  1341,  1345,
+    1356,  1374,  1385,  1388,  1390,  1395,  1404,  1417,  1422,  1424,
+    1429,  1430,  1438,  1440,  1448,  1453,  1461,  1486,  1493,  1503,
+    1504,  1508,  1509,  1510,  1511,  1515,  1516,  1517,  1521,  1526,
+    1531,  1539,  1540,  1541,  1542,  1543,  1544,  1545,  1555,  1560,
+    1568,  1573,  1581,  1583,  1587,  1592,  1597,  1605,  1610,  1618,
+    1627,  1628,  1632,  1633,  1637,  1645,  1663,  1667,  1672,  1680,
+    1685,  1686,  1690,  1695,  1703,  1708,  1713,  1718,  1723,  1731,
+    1736,  1741,  1749,  1754,  1755,  1756,  1757,  1758
 };
 #endif
 
@@ -947,16 +965,16 @@ static const char *const yytname[] =
   "T_Ceiling", "T_Checkhash", "T_Clockstats", "T_Cohort", "T_ControlKey",
   "T_Crypto", "T_Cryptostats", "T_Ctl", "T_Day", "T_Default", "T_Digest",
   "T_Disable", "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile",
-  "T_Drop", "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_Epeer",
-  "T_False", "T_File", "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2",
-  "T_Flag3", "T_Flag4", "T_Flake", "T_Floor", "T_Freq", "T_Fudge",
-  "T_Host", "T_Huffpuff", "T_Iburst", "T_Ident", "T_Ignore",
-  "T_Ignorehash", "T_Incalloc", "T_Incmem", "T_Initalloc", "T_Initmem",
-  "T_Includefile", "T_Integer", "T_Interface", "T_Intrange", "T_Io",
-  "T_Ippeerlimit", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag",
-  "T_Kernel", "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp",
-  "T_Leapfile", "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen",
-  "T_Logconfig", "T_Logfile", "T_Loopstats", "T_Lowpriotrap",
+  "T_Drop", "T_Dscp", "T_Ellipsis", "T_Else", "T_Enable", "T_End",
+  "T_Epeer", "T_False", "T_File", "T_Filegen", "T_Filenum", "T_Flag1",
+  "T_Flag2", "T_Flag3", "T_Flag4", "T_Flake", "T_Floor", "T_Freq",
+  "T_Fudge", "T_Fuzz", "T_Host", "T_Huffpuff", "T_Iburst", "T_Ident",
+  "T_Ignore", "T_Ignorehash", "T_Incalloc", "T_Incmem", "T_Initalloc",
+  "T_Initmem", "T_Includefile", "T_Integer", "T_Interface", "T_Intrange",
+  "T_Io", "T_Ippeerlimit", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6",
+  "T_Ipv6_flag", "T_Kernel", "T_Key", "T_Keys", "T_Keysdir", "T_Kod",
+  "T_Mssntp", "T_Leapfile", "T_Leapsmearinterval", "T_Limited", "T_Link",
+  "T_Listen", "T_Logconfig", "T_Logfile", "T_Loopstats", "T_Lowpriotrap",
   "T_Manycastclient", "T_Manycastserver", "T_Mask", "T_Maxage",
   "T_Maxclock", "T_Maxdepth", "T_Maxdist", "T_Maxmem", "T_Maxpoll",
   "T_Mdnstries", "T_Mem", "T_Memlock", "T_Minclock", "T_Mindepth",
@@ -966,24 +984,25 @@ static const char *const yytname[] =
   "T_None", "T_Nonvolatile", "T_Noepeer", "T_Nopeer", "T_Noquery",
   "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport",
   "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic",
-  "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool",
-  "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
-  "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict",
-  "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar",
-  "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir",
-  "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum",
-  "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2",
-  "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True",
-  "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto",
+  "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Poll",
+  "T_Pool", "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw",
+  "T_Randfile", "T_Randomizepoll", "T_Randompoll", "T_Rawstats", "T_Refid",
+  "T_Reftime", "T_Requestkey", "T_Reset", "T_Restrict", "T_Revoke",
+  "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_ServerFuzzReftime",
+  "T_Setvar", "T_Source", "T_Stacksize", "T_Statistics", "T_Stats",
+  "T_Statsdir", "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout",
+  "T_Stratum", "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1",
+  "T_Time2", "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap",
+  "T_True", "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto",
   "T_UEcryptonak", "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version",
   "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year",
   "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration",
   "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter",
-  "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'",
-  "$accept", "configuration", "command_list", "command", "server_command",
-  "client_type", "address", "ip_address", "address_fam", "option_list",
-  "option", "option_flag", "option_flag_keyword", "option_int",
-  "option_int_keyword", "option_str", "option_str_keyword",
+  "T_Prop_Delay", "T_Proc_Delay", "'0'", "'/'", "'-'", "'='", "'('", "')'",
+  "'{'", "'}'", "$accept", "configuration", "command_list", "command",
+  "server_command", "client_type", "address", "ip_address", "address_fam",
+  "option_list", "option", "option_flag", "option_flag_keyword",
+  "option_int", "option_int_keyword", "option_str", "option_str_keyword",
   "unpeer_command", "unpeer_keyword", "other_mode_command",
   "authentication_command", "crypto_command_list", "crypto_command",
   "crypto_str_keyword", "orphan_mode_command", "tos_option_list",
@@ -1002,17 +1021,17 @@ static const char *const yytname[] =
   "tinker_option_list", "tinker_option", "tinker_option_keyword",
   "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
   "opt_hash_check", "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword",
-  "drift_parm", "variable_assign", "t_default_or_zero", "trap_option_list",
-  "trap_option", "log_config_list", "log_config_command",
-  "interface_command", "interface_nic", "nic_rule_class",
-  "nic_rule_action", "reset_command", "counter_set_list",
-  "counter_set_keyword", "integer_list", "integer_list_range",
-  "integer_list_range_elt", "integer_range", "string_list", "address_list",
-  "boolean", "number", "basedate", "simulate_command", "sim_conf_start",
-  "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
-  "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
-  "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
-  "sim_act_keyword", YY_NULLPTR
+  "drift_parm", "randompoll_list", "randompoll_spec", "variable_assign",
+  "t_default_or_zero", "trap_option_list", "trap_option",
+  "log_config_list", "log_config_command", "interface_command",
+  "interface_nic", "nic_rule_class", "nic_rule_action", "reset_command",
+  "counter_set_list", "counter_set_keyword", "integer_list",
+  "integer_list_range", "integer_list_range_elt", "integer_range",
+  "string_list", "address_list", "boolean", "number", "basedate",
+  "simulate_command", "sim_conf_start", "sim_init_statement_list",
+  "sim_init_statement", "sim_init_keyword", "sim_server_list",
+  "sim_server", "sim_server_offset", "sim_server_name", "sim_act_list",
+  "sim_act", "sim_act_stmt_list", "sim_act_stmt", "sim_act_keyword", YY_NULLPTR
 };
 #endif
 
@@ -1041,15 +1060,16 @@ static const yytype_uint16 yytoknum[] =
      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
-     455,   456,   457,   458,   459,   460,    61,    40,    41,   123,
+     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
+     465,   466,   467,    48,    47,    45,    61,    40,    41,   123,
      125
 };
 # endif
 
-#define YYPACT_NINF -202
+#define YYPACT_NINF -251
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-202)))
+  (!!((Yystate) == (-251)))
 
 #define YYTABLE_NINF -7
 
@@ -1060,51 +1080,52 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-      10,  -172,   -14,  -202,  -202,  -202,   -12,  -202,    24,    -7,
-    -133,  -202,    24,  -202,   165,   -59,  -202,  -108,  -202,  -102,
-     -85,   -83,  -202,   -82,  -202,  -202,   -59,    27,   173,   -59,
-    -202,  -202,   -72,  -202,   -64,  -202,  -202,    40,    53,   -16,
-      41,    17,  -202,  -202,   -57,   165,   -53,  -202,   310,   577,
-     -50,   -63,    55,  -202,  -202,  -202,   129,   206,   -62,  -202,
-     -59,  -202,   -59,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,   -13,    65,   -31,   -30,  -202,   -19,  -202,
-    -202,   -71,  -202,  -202,  -202,    31,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,    24,  -202,
-    -202,  -202,  -202,  -202,  -202,    -7,  -202,    82,   107,  -202,
-      24,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,   152,  -202,    -9,   378,  -202,  -202,    19,
-    -202,   -82,  -202,  -202,   -59,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,   173,  -202,    88,   -59,  -202,  -202,
-       0,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,    53,
-    -202,    86,   138,   142,    86,   -21,  -202,  -202,  -202,  -202,
-      17,  -202,   113,   -25,  -202,   165,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,   310,  -202,
-     -13,    15,  -202,  -202,  -202,   -35,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,   577,  -202,   127,   -13,  -202,  -202,
-    -202,   137,   -63,  -202,  -202,  -202,   149,  -202,    22,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,     7,  -159,  -202,  -202,  -202,  -202,  -202,   154,  -202,
-      37,  -202,  -202,  -202,  -202,   -11,    51,  -202,  -202,  -202,
-    -202,  -202,    58,   163,  -202,  -202,   152,  -202,   -13,   -35,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,   164,  -202,    86,    86,  -202,   -50,  -202,  -202,  -202,
-      73,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,   -58,   202,  -202,  -202,  -202,   438,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,   -86,    48,    39,  -202,
-    -202,  -202,  -202,    81,  -202,  -202,     1,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,   461,  -202,  -202,
-     461,    86,   461,   219,   -50,   186,  -202,   188,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,   -56,  -202,    89,
-      49,    62,  -138,  -202,    50,  -202,   -13,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,   461,   461,  -202,  -202,  -202,  -202,
-    -202,    54,  -202,  -202,  -202,   -59,  -202,  -202,  -202,    64,
-    -202,   461,  -202,  -202,    59,    61,   -13,    63,  -143,  -202,
-      72,   -13,  -202,  -202,  -202,    66,    76,  -202,  -202,  -202,
-    -202,  -202,     9,    77,    68,  -202,    87,  -202,   -13,  -202,
-    -202
+      35,  -171,   -26,  -251,  -251,  -251,   -24,  -251,   162,    -8,
+    -127,  -251,   162,  -251,   135,   -63,  -251,  -125,  -251,  -119,
+    -116,  -109,  -251,  -105,  -251,  -251,   -63,    26,   420,   -63,
+    -251,  -251,   -78,  -251,   -77,  -251,  -251,   -25,    30,    75,
+     -10,    44,   -40,  -251,  -251,   -61,   135,   -57,  -251,   153,
+     264,   -53,   -62,    48,  -251,  -251,  -251,   126,   226,   -72,
+    -251,   -63,  -251,   -63,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,   -12,    64,   -39,   -33,  -251,    -7,
+    -251,  -251,   -85,  -251,  -251,  -251,   189,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,   162,
+    -251,  -251,  -251,  -251,  -251,  -251,    -8,  -251,    69,   103,
+    -251,   162,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,    36,  -251,   -31,   389,  -251,  -251,
+       0,  -251,  -105,  -251,  -251,   -63,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,   420,  -251,    77,   -63,  -251,
+    -251,   -21,  -175,  -175,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,    75,  -251,    84,   117,   133,    84,   -44,
+    -251,  -251,  -251,  -251,   -40,  -251,    97,   -48,  -251,   135,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,   153,  -251,   -12,    -5,  -251,  -251,  -251,   -36,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,   264,  -251,
+      98,   -12,  -251,  -251,  -251,   111,   -62,  -251,  -251,  -251,
+     112,  -251,   -19,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,    -1,  -126,  -251,  -251,  -251,
+    -251,  -251,   113,  -251,    -3,  -251,  -251,  -251,  -251,   -27,
+      11,  -251,  -251,  -251,  -251,  -251,    14,   132,  -251,  -251,
+      36,  -251,   -12,   -36,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,    -4,   134,  -251,  -251,  -251,   136,
+    -251,    84,    84,  -251,   -53,  -251,  -251,  -251,    32,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+     -52,   174,  -251,  -251,  -251,   392,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -104,    21,    10,  -251,  -251,  -251,
+    -251,    42,  -251,  -251,     8,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,   156,    13,  -251,   499,  -251,  -251,
+     499,    84,   499,   200,   -53,   163,  -251,   164,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,   -58,  -251,    59,
+      19,    38,  -145,  -251,    29,  -251,   -12,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,   177,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,   197,  -251,  -251,   499,   499,
+    -251,  -251,  -251,  -251,  -251,    39,  -251,  -251,  -251,   -63,
+    -251,  -251,  -251,    50,  -251,  -251,   100,   499,  -251,  -251,
+      45,    53,   121,   -12,    54,  -186,  -251,   198,    67,   -12,
+    -251,  -251,  -251,  -251,    52,  -102,  -251,  -251,  -251,  -251,
+    -251,    92,    78,    61,  -251,    81,  -251,   -12,  -251,  -251
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1112,83 +1133,84 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     0,     0,    24,    58,   243,     0,    71,     0,     0,
-     257,   246,     0,   236,     0,     0,   251,     0,   270,     0,
-       0,     0,   247,     0,   252,    25,     0,     0,     0,     0,
-     271,   244,     0,    23,     0,   253,    22,     0,     0,     0,
-       0,     0,   254,    21,     0,     0,     0,   245,     0,     0,
-       0,     0,     0,    56,    57,   307,     0,     2,     0,     7,
-       0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
-      16,    17,    18,     0,     0,     0,     0,   228,     0,   229,
-      19,     0,     5,    62,    63,    64,   202,   203,   204,   205,
-     208,   206,   207,   209,   210,   211,   212,   213,   197,   199,
-     200,   201,   160,   161,   162,   128,   158,     0,   255,   237,
-     196,   103,   104,   105,   106,   110,   107,   108,   109,   111,
-      29,    30,    28,     0,    26,     0,     6,    65,    66,   250,
-     267,   238,   266,   299,    59,    61,   166,   167,   168,   169,
-     170,   171,   172,   173,   129,   164,     0,    60,    70,   297,
-     239,    67,   282,   283,   284,   285,   286,   287,   288,   279,
-     281,   136,    29,    30,   136,   136,    68,   195,   193,   194,
-     189,   191,     0,     0,   240,    98,   102,    99,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   214,   216,
-       0,     0,    87,    88,    89,     0,    90,    91,    97,    92,
-      96,    93,    94,    95,    80,    82,     0,     0,    86,   261,
-     293,     0,    69,   292,   294,   290,   242,     1,     0,     4,
-      31,    55,   304,   303,   230,   231,   232,   233,   278,   277,
-     276,     0,     0,    79,    75,    76,    77,    78,     0,    72,
-       0,   198,   157,   159,   256,   100,     0,   185,   186,   187,
-     188,   184,     0,     0,   182,   183,   174,   176,     0,     0,
-      27,   234,   249,   248,   235,   265,   298,   163,   165,   296,
-     280,     0,   138,   136,   136,   138,     0,   138,   190,   192,
-       0,   101,   215,   217,   305,   302,   300,   301,    85,    81,
-      83,    84,   241,     0,   291,   289,     3,    20,   272,   273,
-     274,   269,   275,   268,   311,   312,     0,     0,     0,    74,
-      73,   120,   119,     0,   117,   118,     0,   112,   115,   116,
-     180,   181,   179,   175,   177,   178,   137,   132,   138,   138,
-     135,   136,   130,   260,     0,     0,   262,     0,    37,    38,
+       0,     0,     0,    24,    58,   247,     0,    71,     0,     0,
+     261,   250,     0,   239,     0,     0,   255,     0,   279,     0,
+       0,     0,   251,     0,   256,    25,     0,     0,     0,     0,
+     280,   248,     0,    23,     0,   257,    22,   262,     0,     0,
+       0,     0,     0,   258,    21,     0,     0,     0,   249,     0,
+       0,     0,     0,     0,    56,    57,   316,     0,     2,     0,
+       7,     0,     8,     0,     9,    10,    13,    11,    12,    14,
+      15,    16,    17,    18,     0,     0,     0,     0,   231,     0,
+     232,    19,     0,     5,    62,    63,    64,   205,   206,   207,
+     208,   211,   209,   210,   212,   213,   214,   215,   216,   200,
+     202,   203,   204,   163,   164,   165,   128,   161,     0,   259,
+     240,   199,   103,   104,   105,   106,   110,   107,   108,   109,
+     111,    29,    30,    28,     0,    26,     0,     6,    65,    66,
+     254,   276,   241,   275,   308,    59,    61,   169,   170,   171,
+     172,   173,   174,   175,   176,   129,   167,     0,    60,    70,
+     306,   242,     0,     0,   243,    67,   291,   292,   293,   294,
+     295,   296,   297,   288,   290,   136,    29,    30,   136,   136,
+      68,   198,   196,   197,   192,   194,     0,     0,   244,    98,
+     102,    99,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   217,   219,     0,     0,    87,    88,    89,     0,
+      90,    91,    97,    92,    96,    93,    94,    95,    80,    82,
+       0,     0,    86,   270,   302,     0,    69,   301,   303,   299,
+     246,     1,     0,     4,    31,    55,   313,   312,   233,   234,
+     235,   236,   287,   286,   285,     0,     0,    79,    75,    76,
+      77,    78,     0,    72,     0,   201,   160,   162,   260,   100,
+       0,   188,   189,   190,   191,   187,     0,     0,   185,   186,
+     177,   179,     0,     0,    27,   237,   253,   252,   238,   274,
+     307,   166,   168,   305,     0,     0,   264,   263,   289,     0,
+     138,   136,   136,   138,     0,   138,   193,   195,     0,   101,
+     218,   220,   314,   311,   309,   310,    85,    81,    83,    84,
+     245,     0,   300,   298,     3,    20,   281,   282,   283,   278,
+     284,   277,   320,   321,     0,     0,     0,    74,    73,   120,
+     119,     0,   117,   118,     0,   112,   115,   116,   183,   184,
+     182,   178,   180,   181,     0,     0,   137,   132,   138,   138,
+     135,   136,   130,   269,     0,     0,   271,     0,    37,    38,
       39,    54,    47,    49,    48,    51,    40,    41,    42,    43,
       50,    52,    44,    32,    33,    36,    34,     0,    35,     0,
-       0,     0,     0,   314,     0,   309,     0,   113,   127,   123,
-     125,   121,   122,   124,   126,   114,   140,   141,   142,   143,
-     144,   145,   146,   148,   149,   147,   150,   151,   152,   153,
-     154,   155,   156,   139,   133,   134,   138,   259,   258,   264,
-     263,     0,    45,    46,    53,     0,   308,   306,   313,     0,
-     310,   131,   295,   317,     0,     0,     0,     0,     0,   319,
-       0,     0,   315,   318,   316,     0,     0,   324,   325,   326,
-     327,   328,     0,     0,     0,   320,     0,   322,     0,   321,
-     323
+       0,     0,     0,   323,     0,   318,     0,   113,   127,   123,
+     125,   121,   122,   124,   126,   114,   265,     0,   142,   143,
+     144,   145,   146,   147,   148,   150,   151,   149,   152,   153,
+     154,   155,   156,   157,   158,     0,   159,   139,   133,   134,
+     138,   268,   267,   273,   272,     0,    45,    46,    53,     0,
+     317,   315,   322,     0,   319,   266,     0,   131,   304,   326,
+       0,     0,   140,     0,     0,     0,   328,     0,     0,     0,
+     324,   327,   141,   325,     0,     0,   333,   334,   335,   336,
+     337,     0,     0,     0,   329,     0,   331,     0,   330,   332
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -202,  -202,  -202,   -32,  -202,  -202,   -15,   -49,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,    85,  -202,  -202,  -202,
-    -202,   -29,  -202,  -202,  -202,  -202,  -202,  -202,  -158,  -201,
-    -202,  -202,   181,  -202,  -202,   146,  -202,  -202,  -202,    35,
-    -202,  -202,  -202,  -202,   124,  -202,  -202,   283,    -8,  -202,
-    -202,  -202,  -202,   110,  -202,  -202,  -202,  -202,  -202,  -202,
-    -202,  -202,  -202,  -202,  -202,  -202,  -202,   168,  -202,  -202,
-    -202,  -202,  -202,  -202,   143,  -202,  -202,    91,  -202,  -202,
-     275,    47,  -188,  -202,  -202,  -202,  -202,     2,  -202,  -202,
-     -55,  -202,  -202,  -202,  -107,  -202,  -122,  -202
+    -251,  -251,  -251,   -34,  -251,  -251,   -15,   -50,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,  -251,  -251,  -251,    76,  -251,  -251,  -251,
+    -251,   -37,  -251,  -251,  -251,  -251,  -251,  -251,  -142,  -250,
+    -251,  -251,   184,  -251,  -251,   146,  -251,  -251,  -251,    47,
+    -251,  -251,  -251,  -251,   122,  -251,  -251,   286,   -70,  -251,
+    -251,  -251,  -251,   107,  -251,  -251,  -251,  -251,  -251,  -251,
+    -251,  -251,  -251,   155,  -251,  -251,  -251,  -251,  -251,   181,
+    -251,  -251,  -251,  -251,  -251,  -251,   157,  -251,  -251,   105,
+    -251,  -251,   297,    65,  -192,  -251,  -251,  -251,  -251,    17,
+    -251,  -251,   -38,  -251,  -251,  -251,  -103,  -251,  -118,  -251
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    56,    57,    58,    59,    60,   133,   124,   125,   297,
-     353,   354,   355,   356,   357,   358,   359,    61,    62,    63,
-      64,    85,   239,   240,    65,   204,   205,   206,   207,    66,
-     175,   119,   245,   317,   318,   319,   375,    67,   272,   327,
-     393,   105,   106,   107,   144,   145,   146,    68,   256,   257,
-     258,   259,    69,   170,   171,   172,    70,    98,    99,   100,
-     101,    71,   188,   189,   190,    72,    73,    74,   264,    75,
-      76,   109,   174,   398,   292,   336,   131,   132,    77,    78,
-     303,   231,    79,   159,   160,   216,   212,   213,   214,   150,
-     134,   288,   224,   208,    80,    81,   306,   307,   308,   362,
-     363,   415,   364,   418,   419,   432,   433,   434
+      -1,    57,    58,    59,    60,    61,   134,   125,   126,   305,
+     363,   364,   365,   366,   367,   368,   369,    62,    63,    64,
+      65,    86,   243,   244,    66,   208,   209,   210,   211,    67,
+     179,   120,   249,   325,   326,   327,   385,    68,   280,   337,
+     407,   106,   107,   108,   145,   146,   147,    69,   260,   261,
+     262,   263,    70,   174,   175,   176,    71,    99,   100,   101,
+     102,    72,   192,   193,   194,    73,    74,    75,   268,    76,
+      77,   110,   154,   276,   178,   412,   300,   346,   132,   133,
+      78,    79,   311,   235,    80,   163,   164,   220,   216,   217,
+     218,   151,   135,   296,   228,   212,    81,    82,   314,   315,
+     316,   372,   373,   431,   374,   435,   436,   451,   452,   453
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1196,152 +1218,150 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     123,   209,   283,   210,   102,   368,   275,   277,   285,   334,
-     402,     1,   298,   120,   161,   121,   176,   360,   228,   291,
-       2,   311,   222,    82,   165,   218,     3,     4,     5,   312,
-     369,   286,    86,   313,   108,     6,     7,    87,   304,   305,
-     229,   262,     8,     9,    88,   220,    10,   221,    11,   271,
-      12,    13,    83,   223,    84,    14,   162,   417,   163,   126,
-     152,   153,   233,   167,    15,   127,   230,   422,    16,   360,
-     324,   276,   407,   314,   330,    17,   332,    18,   299,   263,
-     300,   154,   128,   335,   129,   130,   234,    19,    20,   235,
-     241,    21,    22,   135,   261,   148,    23,    24,   103,    89,
-      25,    26,   241,   149,   104,   315,   151,   166,   122,    27,
-     173,   304,   305,   370,   177,   328,   329,   122,   168,   266,
-     371,   215,   155,    28,    29,    30,   403,   394,   395,   217,
-      31,   225,   266,   219,    90,    91,   226,   227,   232,   372,
-      32,   164,   244,   287,   211,    33,   281,    34,   243,    35,
-      36,   122,    92,   156,   268,   246,   271,    93,   260,    37,
-      38,    39,    40,    41,    42,    43,    44,   269,   273,    45,
-     316,    46,   274,   396,   301,   169,   236,   237,   410,   279,
-      47,   280,   284,   238,    94,    48,    49,    50,   111,    51,
-      52,   373,   112,   290,   374,   411,    53,    54,   302,   247,
-     248,   249,   250,   293,   310,    -6,    55,    95,    96,    97,
-     427,   428,   429,   430,   431,   295,     2,   296,   320,   435,
-     309,   157,     3,     4,     5,   321,   158,   331,   420,   322,
-     326,     6,     7,   425,   136,   137,   138,   139,     8,     9,
-     333,   337,    10,   365,    11,   366,    12,    13,   367,   397,
-     440,    14,   400,   113,   401,   405,   404,   406,   251,   409,
-      15,   417,   412,   414,    16,   416,   140,   424,   141,   421,
-     142,    17,   437,    18,   438,   426,   143,   427,   428,   429,
-     430,   431,   439,    19,    20,   399,   242,    21,    22,   289,
-     267,   323,    23,    24,   278,   110,    25,    26,   282,   265,
-     252,   114,   270,   294,   147,    27,   325,   408,   361,   115,
-     436,   423,   116,     0,     0,     0,   178,     0,   253,    28,
-      29,    30,     0,   254,   255,     0,    31,     0,     0,     0,
-       0,     0,     0,     0,   117,     0,    32,     0,     0,   118,
-       0,    33,     0,    34,   179,    35,    36,     0,     0,     0,
-       0,     0,     0,     0,     0,    37,    38,    39,    40,    41,
-      42,    43,    44,   180,     0,    45,   181,    46,     0,     0,
-       0,     0,     0,     0,     0,     0,    47,     0,     0,     0,
-       0,    48,    49,    50,     0,    51,    52,     0,     2,     0,
-     413,     0,    53,    54,     3,     4,     5,     0,     0,     0,
-       0,    -6,    55,     6,     7,     0,     0,     0,     0,     0,
-       8,     9,     0,     0,    10,     0,    11,     0,    12,    13,
-       0,     0,     0,    14,     0,     0,     0,     0,     0,     0,
-       0,     0,    15,     0,     0,     0,    16,     0,     0,     0,
-       0,     0,     0,    17,   182,    18,     0,   338,     0,     0,
-       0,     0,     0,     0,     0,    19,    20,   339,     0,    21,
-      22,     0,     0,     0,    23,    24,     0,     0,    25,    26,
-       0,     0,   183,   184,   185,   186,     0,    27,     0,     0,
-     187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    28,    29,    30,     0,   340,   341,     0,    31,     0,
-       0,     0,     0,   376,     0,     0,     0,     0,    32,     0,
-       0,     0,   377,    33,   342,    34,     0,    35,    36,     0,
-     378,     0,     0,     0,     0,     0,     0,    37,    38,    39,
-      40,    41,    42,    43,    44,     0,   343,    45,     0,    46,
-     379,   380,     0,     0,   381,   344,     0,   345,    47,     0,
-     382,     0,     0,    48,    49,    50,     0,    51,    52,     0,
-       0,     0,   346,     0,    53,    54,     0,     0,     0,     0,
-       0,     0,     0,     0,    55,     0,     0,     0,   383,   384,
-     347,   348,   385,   386,   387,     0,   388,   389,   390,   191,
-     391,   192,   193,     0,     0,     0,     0,     0,   194,     0,
-       0,   195,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   349,     0,   350,     0,
-       0,     0,     0,     0,     0,     0,   351,     0,     0,   196,
-     352,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   392,
+     124,   213,   291,   103,   306,   319,   214,   171,   293,   180,
+     416,   121,   378,   122,   320,   152,   370,   344,   321,   299,
+     165,   434,   266,   226,   222,   169,   283,   285,   279,   245,
+     232,    83,   294,   340,   440,   342,     1,   379,   274,   250,
+     275,   245,    84,   153,    85,     2,   224,   109,   225,   127,
+     284,     3,     4,     5,   233,   128,   227,   370,   129,   322,
+       6,     7,   267,   172,   166,   130,   167,     8,     9,   131,
+     332,    10,   307,    11,   308,   421,    12,    13,   312,   313,
+     234,    14,   156,   157,   251,   252,   253,   254,   408,   409,
+      15,   323,   345,   265,   136,    16,   149,   150,   155,   104,
+     312,   313,    17,   158,    18,   105,   446,   447,   448,   449,
+     450,   123,   170,   177,    19,    20,   219,   181,    21,    22,
+     270,   123,   380,    23,    24,   173,   221,    25,    26,   381,
+     223,   417,   229,   270,   236,   230,    27,   247,   248,   338,
+     339,   231,   289,   264,   255,   272,   159,   281,   382,   295,
+      28,    29,    30,   273,   168,   215,   279,    31,   112,   182,
+     427,   324,   113,   282,   123,   287,   298,    32,   288,   292,
+      87,   318,    33,   309,    34,    88,    35,   160,    36,   301,
+     303,   317,    89,   304,   424,   328,    37,   183,   329,   256,
+      38,    39,    40,    41,    42,    43,    44,   310,    45,   410,
+     330,    46,   335,    47,   336,   383,   343,   184,   384,   257,
+     334,   185,    48,   347,   258,   259,   377,    49,    50,    51,
+     237,    52,    53,   375,   386,   114,   376,   387,    54,    55,
+     411,   414,   415,   418,   341,   419,     2,    -6,    56,    90,
+     420,   438,     3,     4,     5,   425,   238,   444,   423,   239,
+     161,     6,     7,   426,   432,   162,   430,   428,     8,     9,
+     434,   433,    10,   437,    11,   459,   442,    12,    13,   443,
+     439,   445,    14,   115,    91,    92,   195,   457,   196,   197,
+     456,    15,   116,   458,   297,   198,    16,   117,   199,   186,
+     246,   271,    93,    17,   413,    18,   286,    94,   111,   290,
+     446,   447,   448,   449,   450,    19,    20,   331,   277,    21,
+      22,   118,   454,   269,    23,    24,   119,   200,    25,    26,
+     278,   302,   187,   188,   189,   190,   148,    27,   333,    95,
+     191,   371,   441,   455,   422,     0,     0,   240,   241,     0,
+       0,    28,    29,    30,     0,     0,     0,   242,    31,     0,
+       0,     0,    96,    97,    98,     0,     0,     0,    32,     0,
+     201,     0,   202,    33,     0,    34,     0,    35,   203,    36,
+     204,     0,     0,     0,   205,     0,     0,    37,     0,     0,
+       0,    38,    39,    40,    41,    42,    43,    44,     0,    45,
+       0,     0,    46,     0,    47,     0,     0,   206,   207,     2,
+       0,   348,     0,    48,   429,     3,     4,     5,    49,    50,
+      51,   349,    52,    53,     6,     7,     0,     0,     0,    54,
+      55,     8,     9,     0,     0,    10,     0,    11,    -6,    56,
+      12,    13,     0,     0,     0,    14,     0,     0,     0,     0,
+       0,     0,     0,     0,    15,     0,     0,     0,     0,    16,
+       0,   350,   351,     0,     0,     0,    17,     0,    18,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    19,    20,
+     352,     0,    21,    22,     0,     0,     0,    23,    24,     0,
+       0,    25,    26,   137,   138,   139,   140,     0,     0,     0,
+      27,     0,   353,     0,     0,     0,     0,     0,     0,     0,
+       0,   354,     0,   355,    28,    29,    30,     0,     0,     0,
+       0,    31,     0,     0,     0,   141,     0,   142,   356,   143,
+       0,    32,     0,     0,     0,   144,    33,     0,    34,     0,
+      35,     0,    36,     0,     0,     0,     0,   357,   358,     0,
+      37,     0,   388,     0,    38,    39,    40,    41,    42,    43,
+      44,   389,    45,     0,     0,    46,     0,    47,     0,     0,
+     390,     0,     0,     0,     0,     0,    48,     0,     0,     0,
+       0,    49,    50,    51,     0,    52,    53,   359,     0,   360,
+     391,   392,    54,    55,   393,     0,     0,   361,     0,     0,
+     394,   362,    56,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   395,   396,
+       0,     0,   397,   398,   399,     0,   400,   401,   402,     0,
+     403,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   404,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   197,     0,   198,     0,     0,     0,     0,     0,   199,
-       0,   200,     0,     0,     0,   201,     0,     0,     0,     0,
+     405,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   202,   203
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   406
 };
 
 static const yytype_int16 yycheck[] =
 {
-      15,    50,   190,    66,    11,     4,   164,   165,    43,    67,
-      66,     1,     5,    72,    30,    74,    45,   155,    37,   207,
-      10,    32,    35,   195,    39,    57,    16,    17,    18,    40,
-      29,    66,     8,    44,   167,    25,    26,    13,   197,   198,
-      59,    22,    32,    33,    20,    60,    36,    62,    38,    70,
-      40,    41,    66,    66,    66,    45,    72,   200,    74,   167,
-       7,     8,    31,    46,    54,   167,    85,   210,    58,   155,
-     258,    92,   210,    84,   275,    65,   277,    67,    71,    60,
-      73,    28,   167,   141,   167,   167,    55,    77,    78,    58,
-      98,    81,    82,    66,   126,   167,    86,    87,   105,    75,
-      90,    91,   110,   167,   111,   116,    66,    66,   167,    99,
-     167,   197,   198,   112,   167,   273,   274,   167,   101,   134,
-     119,    66,    69,   113,   114,   115,   182,   328,   329,     0,
-     120,    66,   147,   195,   110,   111,   167,   167,   209,   138,
-     130,   157,    35,   178,   207,   135,   175,   137,    66,   139,
-     140,   167,   128,   100,    66,     3,    70,   133,   167,   149,
-     150,   151,   152,   153,   154,   155,   156,   167,    30,   159,
-     181,   161,    30,   331,   167,   158,   145,   146,   366,    66,
-     170,   206,   167,   152,   160,   175,   176,   177,    23,   179,
-     180,   190,    27,    66,   193,   396,   186,   187,   191,    47,
-      48,    49,    50,    66,   167,   195,   196,   183,   184,   185,
-     201,   202,   203,   204,   205,    66,    10,   195,   167,   210,
-      66,   168,    16,    17,    18,   167,   173,   276,   416,    66,
-      66,    25,    26,   421,    61,    62,    63,    64,    32,    33,
-     167,    39,    36,   195,    38,   206,    40,    41,   167,    30,
-     438,    45,    66,    88,    66,   206,   167,   195,   106,   209,
-      54,   200,   208,   199,    58,   206,    93,   195,    95,   206,
-      97,    65,   195,    67,   206,   209,   103,   201,   202,   203,
-     204,   205,   195,    77,    78,   334,   105,    81,    82,   204,
-     144,   256,    86,    87,   170,    12,    90,    91,   188,   131,
-     148,   136,   159,   212,    29,    99,   259,   362,   306,   144,
-     432,   418,   147,    -1,    -1,    -1,     6,    -1,   166,   113,
-     114,   115,    -1,   171,   172,    -1,   120,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   169,    -1,   130,    -1,    -1,   174,
-      -1,   135,    -1,   137,    34,   139,   140,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   149,   150,   151,   152,   153,
-     154,   155,   156,    53,    -1,   159,    56,   161,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   170,    -1,    -1,    -1,
-      -1,   175,   176,   177,    -1,   179,   180,    -1,    10,    -1,
-     405,    -1,   186,   187,    16,    17,    18,    -1,    -1,    -1,
-      -1,   195,   196,    25,    26,    -1,    -1,    -1,    -1,    -1,
-      32,    33,    -1,    -1,    36,    -1,    38,    -1,    40,    41,
-      -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    54,    -1,    -1,    -1,    58,    -1,    -1,    -1,
-      -1,    -1,    -1,    65,   134,    67,    -1,     9,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    77,    78,    19,    -1,    81,
-      82,    -1,    -1,    -1,    86,    87,    -1,    -1,    90,    91,
-      -1,    -1,   162,   163,   164,   165,    -1,    99,    -1,    -1,
-     170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   113,   114,   115,    -1,    57,    58,    -1,   120,    -1,
-      -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,   130,    -1,
-      -1,    -1,    51,   135,    76,   137,    -1,   139,   140,    -1,
-      59,    -1,    -1,    -1,    -1,    -1,    -1,   149,   150,   151,
-     152,   153,   154,   155,   156,    -1,    98,   159,    -1,   161,
-      79,    80,    -1,    -1,    83,   107,    -1,   109,   170,    -1,
-      89,    -1,    -1,   175,   176,   177,    -1,   179,   180,    -1,
-      -1,    -1,   124,    -1,   186,   187,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,   117,   118,
-     142,   143,   121,   122,   123,    -1,   125,   126,   127,    12,
-     129,    14,    15,    -1,    -1,    -1,    -1,    -1,    21,    -1,
-      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,   180,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,    -1,    52,
-     192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,
+      15,    51,   194,    11,     5,    32,    68,    47,    44,    46,
+      68,    74,     4,    76,    41,    40,   161,    69,    45,   211,
+      30,   207,    22,    35,    58,    40,   168,   169,    72,    99,
+      37,   202,    68,   283,   220,   285,     1,    29,   213,     3,
+     215,   111,    68,    68,    68,    10,    61,   174,    63,   174,
+      94,    16,    17,    18,    61,   174,    68,   161,   174,    86,
+      25,    26,    62,   103,    74,   174,    76,    32,    33,   174,
+     262,    36,    73,    38,    75,   220,    41,    42,   204,   205,
+      87,    46,     7,     8,    48,    49,    50,    51,   338,   339,
+      55,   118,   144,   127,    68,    60,   174,   174,    68,   107,
+     204,   205,    67,    28,    69,   113,   208,   209,   210,   211,
+     212,   174,    68,   174,    79,    80,    68,   174,    83,    84,
+     135,   174,   114,    88,    89,   165,     0,    92,    93,   121,
+     202,   189,    68,   148,   219,   174,   101,    68,    35,   281,
+     282,   174,   179,   174,   108,    68,    71,    30,   140,   185,
+     115,   116,   117,   174,   164,   217,    72,   122,    23,     6,
+     410,   188,    27,    30,   174,    68,    68,   132,   216,   174,
+       8,   174,   137,   174,   139,    13,   141,   102,   143,    68,
+      68,    68,    20,   202,   376,   174,   151,    34,   174,   153,
+     155,   156,   157,   158,   159,   160,   161,   198,   163,   341,
+      68,   166,    68,   168,    68,   197,   174,    54,   200,   173,
+     214,    58,   177,    39,   178,   179,   174,   182,   183,   184,
+      31,   186,   187,   202,    68,    90,   216,   214,   193,   194,
+      30,    68,    68,   174,   284,   216,    10,   202,   203,    77,
+     202,   433,    16,    17,    18,    68,    57,   439,   219,    60,
+     175,    25,    26,    56,   154,   180,   206,   218,    32,    33,
+     207,   216,    36,   142,    38,   457,    68,    41,    42,   202,
+     216,   219,    46,   138,   112,   113,    12,   216,    14,    15,
+     202,    55,   147,   202,   208,    21,    60,   152,    24,   136,
+     106,   145,   130,    67,   344,    69,   174,   135,    12,   192,
+     208,   209,   210,   211,   212,    79,    80,   260,   153,    83,
+      84,   176,   220,   132,    88,    89,   181,    53,    92,    93,
+     163,   216,   169,   170,   171,   172,    29,   101,   263,   167,
+     177,   314,   435,   451,   372,    -1,    -1,   148,   149,    -1,
+      -1,   115,   116,   117,    -1,    -1,    -1,   158,   122,    -1,
+      -1,    -1,   190,   191,   192,    -1,    -1,    -1,   132,    -1,
+      96,    -1,    98,   137,    -1,   139,    -1,   141,   104,   143,
+     106,    -1,    -1,    -1,   110,    -1,    -1,   151,    -1,    -1,
+      -1,   155,   156,   157,   158,   159,   160,   161,    -1,   163,
+      -1,    -1,   166,    -1,   168,    -1,    -1,   133,   134,    10,
+      -1,     9,    -1,   177,   419,    16,    17,    18,   182,   183,
+     184,    19,   186,   187,    25,    26,    -1,    -1,    -1,   193,
+     194,    32,    33,    -1,    -1,    36,    -1,    38,   202,   203,
+      41,    42,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,
+      -1,    59,    60,    -1,    -1,    -1,    67,    -1,    69,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,
+      78,    -1,    83,    84,    -1,    -1,    -1,    88,    89,    -1,
+      -1,    92,    93,    63,    64,    65,    66,    -1,    -1,    -1,
+     101,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   109,    -1,   111,   115,   116,   117,    -1,    -1,    -1,
+      -1,   122,    -1,    -1,    -1,    95,    -1,    97,   126,    99,
+      -1,   132,    -1,    -1,    -1,   105,   137,    -1,   139,    -1,
+     141,    -1,   143,    -1,    -1,    -1,    -1,   145,   146,    -1,
+     151,    -1,    43,    -1,   155,   156,   157,   158,   159,   160,
+     161,    52,   163,    -1,    -1,   166,    -1,   168,    -1,    -1,
+      61,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
+      -1,   182,   183,   184,    -1,   186,   187,   185,    -1,   187,
+      81,    82,   193,   194,    85,    -1,    -1,   195,    -1,    -1,
+      91,   199,   203,    -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,   119,   120,
+      -1,    -1,   123,   124,   125,    -1,   127,   128,   129,    -1,
+     131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   150,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    94,    -1,    96,    -1,    -1,    -1,    -1,    -1,   102,
-      -1,   104,    -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132
+      -1,    -1,    -1,    -1,   195
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1349,88 +1369,90 @@ static const yytype_int16 yycheck[] =
 static const yytype_uint16 yystos[] =
 {
        0,     1,    10,    16,    17,    18,    25,    26,    32,    33,
-      36,    38,    40,    41,    45,    54,    58,    65,    67,    77,
-      78,    81,    82,    86,    87,    90,    91,    99,   113,   114,
-     115,   120,   130,   135,   137,   139,   140,   149,   150,   151,
-     152,   153,   154,   155,   156,   159,   161,   170,   175,   176,
-     177,   179,   180,   186,   187,   196,   212,   213,   214,   215,
-     216,   228,   229,   230,   231,   235,   240,   248,   258,   263,
-     267,   272,   276,   277,   278,   280,   281,   289,   290,   293,
-     305,   306,   195,    66,    66,   232,     8,    13,    20,    75,
-     110,   111,   128,   133,   160,   183,   184,   185,   268,   269,
-     270,   271,    11,   105,   111,   252,   253,   254,   167,   282,
-     268,    23,    27,    88,   136,   144,   147,   169,   174,   242,
-      72,    74,   167,   217,   218,   219,   167,   167,   167,   167,
-     167,   287,   288,   217,   301,    66,    61,    62,    63,    64,
-      93,    95,    97,   103,   255,   256,   257,   301,   167,   167,
-     300,    66,     7,     8,    28,    69,   100,   168,   173,   294,
-     295,    30,    72,    74,   157,   217,    66,    46,   101,   158,
-     264,   265,   266,   167,   283,   241,   242,   167,     6,    34,
-      53,    56,   134,   162,   163,   164,   165,   170,   273,   274,
-     275,    12,    14,    15,    21,    24,    52,    94,    96,   102,
-     104,   108,   131,   132,   236,   237,   238,   239,   304,   218,
-      66,   207,   297,   298,   299,    66,   296,     0,   214,   195,
-     217,   217,    35,    66,   303,    66,   167,   167,    37,    59,
-      85,   292,   209,    31,    55,    58,   145,   146,   152,   233,
-     234,   269,   253,    66,    35,   243,     3,    47,    48,    49,
-      50,   106,   148,   166,   171,   172,   259,   260,   261,   262,
-     167,   214,    22,    60,   279,   288,   217,   256,    66,   167,
-     295,    70,   249,    30,    30,   249,    92,   249,   265,    66,
-     206,   242,   274,   303,   167,    43,    66,   178,   302,   237,
-      66,   303,   285,    66,   298,    66,   195,   220,     5,    71,
-      73,   167,   191,   291,   197,   198,   307,   308,   309,    66,
-     167,    32,    40,    44,    84,   116,   181,   244,   245,   246,
-     167,   167,    66,   260,   303,   302,    66,   250,   249,   249,
-     250,   218,   250,   167,    67,   141,   286,    39,     9,    19,
-      57,    58,    76,    98,   107,   109,   124,   142,   143,   178,
-     180,   188,   192,   221,   222,   223,   224,   225,   226,   227,
-     155,   308,   310,   311,   313,   195,   206,   167,     4,    29,
-     112,   119,   138,   190,   193,   247,    42,    51,    59,    79,
-      80,    83,    89,   117,   118,   121,   122,   123,   125,   126,
-     127,   129,   188,   251,   250,   250,   249,    30,   284,   218,
-      66,    66,    66,   182,   167,   206,   195,   210,   311,   209,
-     303,   250,   208,   217,   199,   312,   206,   200,   314,   315,
-     303,   206,   210,   315,   195,   303,   209,   201,   202,   203,
-     204,   205,   316,   317,   318,   210,   317,   195,   206,   195,
-     303
+      36,    38,    41,    42,    46,    55,    60,    67,    69,    79,
+      80,    83,    84,    88,    89,    92,    93,   101,   115,   116,
+     117,   122,   132,   137,   139,   141,   143,   151,   155,   156,
+     157,   158,   159,   160,   161,   163,   166,   168,   177,   182,
+     183,   184,   186,   187,   193,   194,   203,   222,   223,   224,
+     225,   226,   238,   239,   240,   241,   245,   250,   258,   268,
+     273,   277,   282,   286,   287,   288,   290,   291,   301,   302,
+     305,   317,   318,   202,    68,    68,   242,     8,    13,    20,
+      77,   112,   113,   130,   135,   167,   190,   191,   192,   278,
+     279,   280,   281,    11,   107,   113,   262,   263,   264,   174,
+     292,   278,    23,    27,    90,   138,   147,   152,   176,   181,
+     252,    74,    76,   174,   227,   228,   229,   174,   174,   174,
+     174,   174,   299,   300,   227,   313,    68,    63,    64,    65,
+      66,    95,    97,    99,   105,   265,   266,   267,   313,   174,
+     174,   312,    40,    68,   293,    68,     7,     8,    28,    71,
+     102,   175,   180,   306,   307,    30,    74,    76,   164,   227,
+      68,    47,   103,   165,   274,   275,   276,   174,   295,   251,
+     252,   174,     6,    34,    54,    58,   136,   169,   170,   171,
+     172,   177,   283,   284,   285,    12,    14,    15,    21,    24,
+      53,    96,    98,   104,   106,   110,   133,   134,   246,   247,
+     248,   249,   316,   228,    68,   217,   309,   310,   311,    68,
+     308,     0,   224,   202,   227,   227,    35,    68,   315,    68,
+     174,   174,    37,    61,    87,   304,   219,    31,    57,    60,
+     148,   149,   158,   243,   244,   279,   263,    68,    35,   253,
+       3,    48,    49,    50,    51,   108,   153,   173,   178,   179,
+     269,   270,   271,   272,   174,   224,    22,    62,   289,   300,
+     227,   266,    68,   174,   213,   215,   294,   294,   307,    72,
+     259,    30,    30,   259,    94,   259,   275,    68,   216,   252,
+     284,   315,   174,    44,    68,   185,   314,   247,    68,   315,
+     297,    68,   310,    68,   202,   230,     5,    73,    75,   174,
+     198,   303,   204,   205,   319,   320,   321,    68,   174,    32,
+      41,    45,    86,   118,   188,   254,   255,   256,   174,   174,
+      68,   270,   315,   314,   214,    68,    68,   260,   259,   259,
+     260,   228,   260,   174,    69,   144,   298,    39,     9,    19,
+      59,    60,    78,   100,   109,   111,   126,   145,   146,   185,
+     187,   195,   199,   231,   232,   233,   234,   235,   236,   237,
+     161,   320,   322,   323,   325,   202,   216,   174,     4,    29,
+     114,   121,   140,   197,   200,   257,    68,   214,    43,    52,
+      61,    81,    82,    85,    91,   119,   120,   123,   124,   125,
+     127,   128,   129,   131,   150,   161,   195,   261,   260,   260,
+     259,    30,   296,   228,    68,    68,    68,   189,   174,   216,
+     202,   220,   323,   219,   315,    68,    56,   260,   218,   227,
+     206,   324,   154,   216,   207,   326,   327,   142,   315,   216,
+     220,   327,    68,   202,   315,   219,   208,   209,   210,   211,
+     212,   328,   329,   330,   220,   329,   202,   216,   202,   315
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   211,   212,   213,   213,   213,   214,   214,   214,   214,
-     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
-     215,   216,   216,   216,   216,   216,   217,   217,   218,   219,
-     219,   220,   220,   221,   221,   221,   222,   223,   223,   223,
-     223,   223,   223,   223,   223,   224,   224,   225,   225,   225,
-     225,   225,   225,   226,   227,   228,   229,   229,   230,   230,
-     230,   230,   231,   231,   231,   231,   231,   231,   231,   231,
-     231,   232,   232,   233,   233,   234,   234,   234,   234,   234,
-     235,   236,   236,   237,   237,   237,   237,   238,   238,   238,
-     238,   238,   238,   238,   238,   238,   239,   239,   240,   240,
-     240,   241,   241,   242,   242,   242,   242,   242,   242,   242,
-     242,   243,   243,   244,   244,   244,   244,   245,   245,   246,
-     246,   247,   247,   247,   247,   247,   247,   247,   248,   248,
+       0,   221,   222,   223,   223,   223,   224,   224,   224,   224,
+     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
+     225,   226,   226,   226,   226,   226,   227,   227,   228,   229,
+     229,   230,   230,   231,   231,   231,   232,   233,   233,   233,
+     233,   233,   233,   233,   233,   234,   234,   235,   235,   235,
+     235,   235,   235,   236,   237,   238,   239,   239,   240,   240,
+     240,   240,   241,   241,   241,   241,   241,   241,   241,   241,
+     241,   242,   242,   243,   243,   244,   244,   244,   244,   244,
+     245,   246,   246,   247,   247,   247,   247,   248,   248,   248,
      248,   248,   248,   248,   248,   248,   249,   249,   250,   250,
-     251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
-     251,   251,   251,   251,   251,   251,   251,   252,   252,   253,
-     254,   254,   254,   255,   255,   256,   257,   257,   257,   257,
-     257,   257,   257,   257,   258,   259,   259,   260,   260,   260,
-     260,   260,   261,   261,   261,   262,   262,   262,   262,   263,
-     264,   264,   265,   266,   266,   266,   267,   267,   268,   268,
-     269,   269,   270,   270,   270,   270,   270,   270,   271,   271,
-     271,   271,   271,   271,   272,   273,   273,   274,   275,   275,
-     275,   275,   275,   275,   275,   275,   275,   275,   276,   276,
-     276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
-     276,   276,   276,   277,   277,   277,   278,   278,   279,   279,
-     279,   280,   281,   281,   281,   282,   282,   282,   283,   284,
-     284,   285,   285,   286,   286,   287,   287,   288,   289,   289,
-     290,   290,   291,   291,   291,   291,   292,   292,   292,   293,
-     294,   294,   295,   295,   295,   295,   295,   295,   295,   296,
-     296,   297,   297,   298,   298,   299,   300,   300,   301,   301,
-     302,   302,   302,   303,   303,   304,   305,   306,   307,   307,
-     308,   309,   309,   310,   310,   311,   312,   313,   314,   314,
-     315,   316,   316,   317,   318,   318,   318,   318,   318
+     250,   251,   251,   252,   252,   252,   252,   252,   252,   252,
+     252,   253,   253,   254,   254,   254,   254,   255,   255,   256,
+     256,   257,   257,   257,   257,   257,   257,   257,   258,   258,
+     258,   258,   258,   258,   258,   258,   259,   259,   260,   260,
+     260,   260,   261,   261,   261,   261,   261,   261,   261,   261,
+     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
+     262,   262,   263,   264,   264,   264,   265,   265,   266,   267,
+     267,   267,   267,   267,   267,   267,   267,   268,   269,   269,
+     270,   270,   270,   270,   270,   271,   271,   271,   272,   272,
+     272,   272,   273,   274,   274,   275,   276,   276,   276,   277,
+     277,   278,   278,   279,   279,   280,   280,   280,   280,   280,
+     280,   281,   281,   281,   281,   281,   281,   282,   283,   283,
+     284,   285,   285,   285,   285,   285,   285,   285,   285,   285,
+     285,   286,   286,   286,   286,   286,   286,   286,   286,   286,
+     286,   286,   286,   286,   286,   286,   286,   287,   287,   287,
+     288,   288,   289,   289,   289,   290,   291,   291,   291,   292,
+     292,   292,   293,   293,   293,   294,   294,   295,   296,   296,
+     297,   297,   298,   298,   299,   299,   300,   301,   301,   302,
+     302,   303,   303,   303,   303,   304,   304,   304,   305,   306,
+     306,   307,   307,   307,   307,   307,   307,   307,   308,   308,
+     309,   309,   310,   310,   311,   312,   312,   313,   313,   314,
+     314,   314,   315,   315,   316,   317,   318,   319,   319,   320,
+     321,   321,   322,   322,   323,   324,   325,   326,   326,   327,
+     328,   328,   329,   330,   330,   330,   330,   330
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1450,25 +1472,26 @@ static const yytype_uint8 yyr2[] =
        1,     0,     2,     2,     2,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
        4,     6,     4,     5,     5,     4,     0,     2,     0,     2,
+       4,     6,     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,     1,     2,
-       1,     1,     1,     2,     1,     2,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     2,     1,     2,     2,     2,
-       2,     2,     1,     1,     1,     1,     1,     1,     1,     2,
-       2,     1,     2,     1,     1,     1,     2,     2,     2,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     2,     2,     1,     2,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       2,     2,     2,     2,     3,     3,     1,     2,     2,     2,
-       2,     3,     2,     1,     1,     1,     1,     1,     1,     1,
-       0,     1,     1,     1,     1,     1,     2,     0,     4,     1,
-       0,     0,     2,     2,     2,     2,     1,     1,     3,     3,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
-       2,     1,     1,     1,     1,     1,     1,     1,     1,     2,
-       1,     2,     1,     1,     1,     5,     2,     1,     2,     1,
-       1,     1,     1,     1,     1,     2,     5,     1,     3,     2,
-       3,     1,     1,     2,     1,     5,     4,     3,     2,     1,
-       6,     3,     2,     3,     1,     1,     1,     1,     1
+       2,     1,     2,     1,     1,     1,     2,     1,     2,     1,
+       1,     1,     1,     1,     1,     1,     1,     3,     2,     1,
+       2,     2,     2,     2,     2,     1,     1,     1,     1,     1,
+       1,     1,     2,     2,     1,     2,     1,     1,     1,     2,
+       2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     2,     1,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     2,     2,     2,     2,     3,     3,     1,
+       2,     2,     2,     2,     2,     3,     2,     1,     1,     1,
+       1,     1,     1,     1,     0,     1,     1,     1,     1,     1,
+       2,     0,     0,     2,     2,     3,     4,     4,     1,     0,
+       0,     2,     2,     2,     2,     1,     1,     3,     3,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
+       2,     1,     1,     1,     5,     2,     1,     2,     1,     1,
+       1,     1,     1,     1,     2,     5,     1,     3,     2,     3,
+       1,     1,     2,     1,     5,     4,     3,     2,     1,     6,
+       3,     2,     3,     1,     1,     1,     1,     1
 };
 
 
@@ -1484,22 +1507,22 @@ static const yytype_uint8 yyr2[] =
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
-#define YYBACKUP(Token, Value)                                    \
-  do                                                              \
-    if (yychar == YYEMPTY)                                        \
-      {                                                           \
-        yychar = (Token);                                         \
-        yylval = (Value);                                         \
-        YYPOPSTACK (yylen);                                       \
-        yystate = *yyssp;                                         \
-        goto yybackup;                                            \
-      }                                                           \
-    else                                                          \
-      {                                                           \
-        yyerror (YY_("syntax error: cannot back up")); \
-        YYERROR;                                                  \
-      }                                                           \
-  while (0)
+#define YYBACKUP(Token, Value)                                  \
+do                                                              \
+  if (yychar == YYEMPTY)                                        \
+    {                                                           \
+      yychar = (Token);                                         \
+      yylval = (Value);                                         \
+      YYPOPSTACK (yylen);                                       \
+      yystate = *yyssp;                                         \
+      goto yybackup;                                            \
+    }                                                           \
+  else                                                          \
+    {                                                           \
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;                                                  \
+    }                                                           \
+while (0)
 
 /* Error token number */
 #define YYTERROR        1
@@ -1539,37 +1562,37 @@ do {                                                                      \
 } while (0)
 
 
-/*-----------------------------------.
-| Print this symbol's value on YYO.  |
-`-----------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT.  |
+`----------------------------------------*/
 
 static void
-yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 {
-  FILE *yyoutput = yyo;
-  YYUSE (yyoutput);
+  FILE *yyo = yyoutput;
+  YYUSE (yyo);
   if (!yyvaluep)
     return;
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
-    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
 # endif
   YYUSE (yytype);
 }
 
 
-/*---------------------------.
-| Print this symbol on YYO.  |
-`---------------------------*/
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
 
 static void
-yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 {
-  YYFPRINTF (yyo, "%s %s (",
+  YYFPRINTF (yyoutput, "%s %s (",
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
-  yy_symbol_value_print (yyo, yytype, yyvaluep);
-  YYFPRINTF (yyo, ")");
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
 }
 
 /*------------------------------------------------------------------.
@@ -1603,7 +1626,7 @@ do {                                                            \
 static void
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
 {
-  unsigned long yylno = yyrline[yyrule];
+  unsigned long int yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -1614,7 +1637,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
                        yystos[yyssp[yyi + 1 - yynrhs]],
-                       &yyvsp[(yyi + 1) - (yynrhs)]
+                       &(yyvsp[(yyi + 1) - (yynrhs)])
                                               );
       YYFPRINTF (stderr, "\n");
     }
@@ -1718,10 +1741,7 @@ yytnamerr (char *yyres, const char *yystr)
           case '\\':
             if (*++yyp != '\\')
               goto do_not_strip_quotes;
-            else
-              goto append;
-
-          append:
+            /* Fall through.  */
           default:
             if (yyres)
               yyres[yyn] = *yyp;
@@ -1739,7 +1759,7 @@ yytnamerr (char *yyres, const char *yystr)
   if (! yyres)
     return yystrlen (yystr);
 
-  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
+  return yystpcpy (yyres, yystr) - yyres;
 }
 # endif
 
@@ -1817,10 +1837,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yyarg[yycount++] = yytname[yyx];
                 {
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
-                    yysize = yysize1;
-                  else
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
+                  yysize = yysize1;
                 }
               }
         }
@@ -1832,7 +1852,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
       case N:                               \
         yyformat = S;                       \
       break
-    default: /* Avoid compiler warnings. */
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1844,10 +1863,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
   {
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
-      yysize = yysize1;
-    else
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
       return 2;
+    yysize = yysize1;
   }
 
   if (*yymsg_alloc < yysize)
@@ -1973,33 +1991,23 @@ yyparse (void)
   yychar = YYEMPTY; /* Cause a token to be read.  */
   goto yysetstate;
 
-
 /*------------------------------------------------------------.
-| yynewstate -- push a new state, which is found in yystate.  |
+| yynewstate -- Push a new state, which is found in yystate.  |
 `------------------------------------------------------------*/
-yynewstate:
+ yynewstate:
   /* In all cases, when you get here, the value and location stacks
      have just been pushed.  So pushing a state here evens the stacks.  */
   yyssp++;
 
-
-/*--------------------------------------------------------------------.
-| yynewstate -- set current state (the top of the stack) to yystate.  |
-`--------------------------------------------------------------------*/
-yysetstate:
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
-  *yyssp = (yytype_int16) yystate;
+ yysetstate:
+  *yyssp = yystate;
 
   if (yyss + yystacksize - 1 <= yyssp)
-#if !defined yyoverflow && !defined YYSTACK_RELOCATE
-    goto yyexhaustedlab;
-#else
     {
       /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
-# if defined yyoverflow
+#ifdef yyoverflow
       {
         /* Give user a chance to reallocate the stack.  Use copies of
            these so that the &'s don't force the real ones into
@@ -2015,10 +2023,14 @@ yysetstate:
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yystacksize);
+
         yyss = yyss1;
         yyvs = yyvs1;
       }
-# else /* defined YYSTACK_RELOCATE */
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
         goto yyexhaustedlab;
@@ -2034,33 +2046,35 @@ yysetstate:
           goto yyexhaustedlab;
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+#  undef YYSTACK_RELOCATE
         if (yyss1 != yyssa)
           YYSTACK_FREE (yyss1);
       }
 # endif
+#endif /* no yyoverflow */
 
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                  (unsigned long) yystacksize));
+                  (unsigned long int) yystacksize));
 
       if (yyss + yystacksize - 1 <= yyssp)
         YYABORT;
     }
-#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   if (yystate == YYFINAL)
     YYACCEPT;
 
   goto yybackup;
 
-
 /*-----------.
 | yybackup.  |
 `-----------*/
 yybackup:
+
   /* Do appropriate processing given the current state.  Read a
      lookahead token if we need one and don't already have one.  */
 
@@ -2118,6 +2132,7 @@ yybackup:
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
   YY_IGNORE_MAYBE_UNINITIALIZED_END
+
   goto yynewstate;
 
 
@@ -2132,7 +2147,7 @@ yydefault:
 
 
 /*-----------------------------.
-| yyreduce -- do a reduction.  |
+| yyreduce -- Do a reduction.  |
 `-----------------------------*/
 yyreduce:
   /* yyn is the number of a rule to reduce with.  */
@@ -2152,8 +2167,8 @@ yyreduce:
   YY_REDUCE_PRINT (yyn);
   switch (yyn)
     {
-  case 5:
-#line 389 "ntp_parser.y"
+        case 5:
+#line 398 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        /* I will need to incorporate much more fine grained
                         * error messages. The following should suffice for
@@ -2166,85 +2181,85 @@ yyreduce:
                                ip_ctx->errpos.nline,
                                ip_ctx->errpos.ncol);
                }
-#line 2170 "ntp_parser.c"
+#line 2185 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 20:
-#line 425 "ntp_parser.y"
+#line 434 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        peer_node *my_node;
 
                        my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.peers, my_node);
                }
-#line 2181 "ntp_parser.c"
+#line 2196 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 27:
-#line 444 "ntp_parser.y"
+#line 453 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
-#line 2187 "ntp_parser.c"
+#line 2202 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 28:
-#line 449 "ntp_parser.y"
+#line 458 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
-#line 2193 "ntp_parser.c"
+#line 2208 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 29:
-#line 454 "ntp_parser.y"
+#line 463 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET; }
-#line 2199 "ntp_parser.c"
+#line 2214 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 30:
-#line 456 "ntp_parser.y"
+#line 465 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET6; }
-#line 2205 "ntp_parser.c"
+#line 2220 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 31:
-#line 461 "ntp_parser.y"
+#line 470 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2211 "ntp_parser.c"
+#line 2226 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 32:
-#line 463 "ntp_parser.y"
+#line 472 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2220 "ntp_parser.c"
+#line 2235 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 36:
-#line 477 "ntp_parser.y"
+#line 486 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2226 "ntp_parser.c"
+#line 2241 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 45:
-#line 493 "ntp_parser.y"
+#line 502 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2232 "ntp_parser.c"
+#line 2247 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 46:
-#line 495 "ntp_parser.y"
+#line 504 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2238 "ntp_parser.c"
+#line 2253 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 53:
-#line 509 "ntp_parser.y"
+#line 518 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2244 "ntp_parser.c"
+#line 2259 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 55:
-#line 523 "ntp_parser.y"
+#line 532 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        unpeer_node *my_node;
 
@@ -2252,85 +2267,85 @@ yyreduce:
                        if (my_node)
                                APPEND_G_FIFO(cfgt.unpeers, my_node);
                }
-#line 2256 "ntp_parser.c"
+#line 2271 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 58:
-#line 544 "ntp_parser.y"
+#line 553 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.broadcastclient = 1; }
-#line 2262 "ntp_parser.c"
+#line 2277 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 59:
-#line 546 "ntp_parser.y"
+#line 555 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
-#line 2268 "ntp_parser.c"
+#line 2283 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 60:
-#line 548 "ntp_parser.y"
+#line 557 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
-#line 2274 "ntp_parser.c"
+#line 2289 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 61:
-#line 550 "ntp_parser.y"
+#line 559 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.mdnstries = (yyvsp[0].Integer); }
-#line 2280 "ntp_parser.c"
+#line 2295 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 62:
-#line 561 "ntp_parser.y"
+#line 570 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *atrv;
 
                        atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        APPEND_G_FIFO(cfgt.vars, atrv);
                }
-#line 2291 "ntp_parser.c"
+#line 2306 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 63:
-#line 568 "ntp_parser.y"
+#line 577 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.control_key = (yyvsp[0].Integer); }
-#line 2297 "ntp_parser.c"
+#line 2312 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 64:
-#line 570 "ntp_parser.y"
+#line 579 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        cfgt.auth.cryptosw++;
                        CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
                }
-#line 2306 "ntp_parser.c"
+#line 2321 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 65:
-#line 575 "ntp_parser.y"
+#line 584 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.keys = (yyvsp[0].String); }
-#line 2312 "ntp_parser.c"
+#line 2327 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 66:
-#line 577 "ntp_parser.y"
+#line 586 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.keysdir = (yyvsp[0].String); }
-#line 2318 "ntp_parser.c"
+#line 2333 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 67:
-#line 579 "ntp_parser.y"
+#line 588 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.request_key = (yyvsp[0].Integer); }
-#line 2324 "ntp_parser.c"
+#line 2339 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 68:
-#line 581 "ntp_parser.y"
+#line 590 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.revoke = (yyvsp[0].Integer); }
-#line 2330 "ntp_parser.c"
+#line 2345 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 69:
-#line 583 "ntp_parser.y"
+#line 592 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        /* [Bug 948] leaves it open if appending or
                         * replacing the trusted key list is the right
@@ -2340,38 +2355,38 @@ yyreduce:
                        DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */
                        CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo));
                }
-#line 2344 "ntp_parser.c"
+#line 2359 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 70:
-#line 593 "ntp_parser.y"
+#line 602 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
-#line 2350 "ntp_parser.c"
+#line 2365 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 71:
-#line 598 "ntp_parser.y"
+#line 607 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2356 "ntp_parser.c"
+#line 2371 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 72:
-#line 600 "ntp_parser.y"
+#line 609 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2365 "ntp_parser.c"
+#line 2380 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 73:
-#line 608 "ntp_parser.y"
+#line 617 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2371 "ntp_parser.c"
+#line 2386 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 74:
-#line 610 "ntp_parser.y"
+#line 619 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val) = NULL;
                        cfgt.auth.revoke = (yyvsp[0].Integer);
@@ -2380,65 +2395,65 @@ yyreduce:
                                "please use 'revoke %d' instead.",
                                cfgt.auth.revoke, cfgt.auth.revoke);
                }
-#line 2384 "ntp_parser.c"
+#line 2399 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 80:
-#line 635 "ntp_parser.y"
+#line 644 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
-#line 2390 "ntp_parser.c"
+#line 2405 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 81:
-#line 640 "ntp_parser.y"
+#line 649 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2399 "ntp_parser.c"
+#line 2414 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 82:
-#line 645 "ntp_parser.y"
+#line 654 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2408 "ntp_parser.c"
+#line 2423 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 83:
-#line 653 "ntp_parser.y"
+#line 662 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2414 "ntp_parser.c"
+#line 2429 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 84:
-#line 655 "ntp_parser.y"
+#line 664 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2420 "ntp_parser.c"
+#line 2435 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 85:
-#line 657 "ntp_parser.y"
+#line 666 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2426 "ntp_parser.c"
+#line 2441 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 86:
-#line 659 "ntp_parser.y"
+#line 668 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); }
-#line 2432 "ntp_parser.c"
+#line 2447 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 98:
-#line 686 "ntp_parser.y"
+#line 695 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
-#line 2438 "ntp_parser.c"
+#line 2453 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 99:
-#line 688 "ntp_parser.y"
+#line 697 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                cfgt.stats_dir = (yyvsp[0].String);
@@ -2447,55 +2462,55 @@ yyreduce:
                                yyerror("statsdir remote configuration ignored");
                        }
                }
-#line 2451 "ntp_parser.c"
+#line 2466 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 100:
-#line 697 "ntp_parser.y"
+#line 706 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        filegen_node *fgn;
 
                        fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.filegen_opts, fgn);
                }
-#line 2462 "ntp_parser.c"
+#line 2477 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 101:
-#line 707 "ntp_parser.y"
+#line 716 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 2471 "ntp_parser.c"
+#line 2486 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 102:
-#line 712 "ntp_parser.y"
+#line 721 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 2480 "ntp_parser.c"
+#line 2495 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 111:
-#line 731 "ntp_parser.y"
+#line 740 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2486 "ntp_parser.c"
+#line 2501 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 112:
-#line 733 "ntp_parser.y"
+#line 742 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2495 "ntp_parser.c"
+#line 2510 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 113:
-#line 741 "ntp_parser.y"
+#line 750 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
@@ -2505,11 +2520,11 @@ yyreduce:
                                yyerror("filegen file remote config ignored");
                        }
                }
-#line 2509 "ntp_parser.c"
+#line 2524 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 114:
-#line 751 "ntp_parser.y"
+#line 760 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
@@ -2518,11 +2533,11 @@ yyreduce:
                                yyerror("filegen type remote config ignored");
                        }
                }
-#line 2522 "ntp_parser.c"
+#line 2537 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 115:
-#line 760 "ntp_parser.y"
+#line 769 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        const char *err;
 
@@ -2537,69 +2552,69 @@ yyreduce:
                                yyerror(err);
                        }
                }
-#line 2541 "ntp_parser.c"
+#line 2556 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 116:
-#line 775 "ntp_parser.y"
+#line 784 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2547 "ntp_parser.c"
+#line 2562 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 128:
-#line 805 "ntp_parser.y"
+#line 814 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
                }
-#line 2555 "ntp_parser.c"
+#line 2570 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 129:
-#line 809 "ntp_parser.y"
+#line 818 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
                }
-#line 2563 "ntp_parser.c"
+#line 2578 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 130:
-#line 813 "ntp_parser.y"
+#line 822 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node((yyvsp[-2].Address_node), NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
+                       rn = create_restrict_node((yyvsp[-2].Address_node), NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2575 "ntp_parser.c"
+#line 2590 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 131:
-#line 821 "ntp_parser.y"
+#line 830 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node((yyvsp[-4].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
+                       rn = create_restrict_node((yyvsp[-4].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2587 "ntp_parser.c"
+#line 2602 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 132:
-#line 829 "ntp_parser.y"
+#line 838 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
-                       rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
+                       rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2599 "ntp_parser.c"
+#line 2614 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 133:
-#line 837 "ntp_parser.y"
+#line 846 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2610,15 +2625,15 @@ yyreduce:
                                create_address_node(
                                        estrdup("0.0.0.0"),
                                        AF_INET),
-                               (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
+                               (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2618 "ntp_parser.c"
+#line 2633 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 134:
-#line 852 "ntp_parser.y"
+#line 861 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2629,34 +2644,34 @@ yyreduce:
                                create_address_node(
                                        estrdup("::"),
                                        AF_INET6),
-                               (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
+                               (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2637 "ntp_parser.c"
+#line 2652 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 867 "ntp_parser.y"
+#line 876 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node * rn;
 
-                       APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-2].Integer)));
+                       APPEND_G_FIFO((yyvsp[0].Attr_val_fifo), create_int_node((yyvsp[-2].Integer)));
                        rn = create_restrict_node(
-                               NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
+                               NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2650 "ntp_parser.c"
+#line 2665 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 136:
-#line 879 "ntp_parser.y"
+#line 888 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = -1; }
-#line 2656 "ntp_parser.c"
+#line 2671 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 137:
-#line 881 "ntp_parser.y"
+#line 890 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (((yyvsp[0].Integer) < -1) || ((yyvsp[0].Integer) > 100)) {
                                struct FILE_INFO * ip_ctx;
@@ -2672,115 +2687,142 @@ yyreduce:
                        }
                        (yyval.Integer) = (yyvsp[0].Integer);
                }
-#line 2676 "ntp_parser.c"
+#line 2691 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 138:
-#line 900 "ntp_parser.y"
-    { (yyval.Int_fifo) = NULL; }
-#line 2682 "ntp_parser.c"
+#line 909 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val_fifo) = NULL; }
+#line 2697 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 139:
-#line 902 "ntp_parser.y"
+#line 911 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
-                       (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
-                       APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
+                       attr_val *av;
+
+                       (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
+                       av = create_attr_ival((yyvsp[0].Integer), 1);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), av);
+               }
+#line 2709 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 140:
+#line 919 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       attr_val *av;
+
+                       (yyval.Attr_val_fifo) = (yyvsp[-3].Attr_val_fifo);
+                       av = create_attr_ival(T_ServerFuzzReftime, 6);
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), av);
                }
-#line 2691 "ntp_parser.c"
+#line 2721 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 157:
-#line 930 "ntp_parser.y"
+  case 141:
+#line 927 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       attr_val *av;
+
+                       (yyval.Attr_val_fifo) = (yyvsp[-5].Attr_val_fifo);
+                       av = create_attr_ival(T_ServerFuzzReftime, (yyvsp[-1].Integer));
+                       APPEND_G_FIFO((yyval.Attr_val_fifo), av);
+               }
+#line 2733 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 160:
+#line 959 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2700 "ntp_parser.c"
+#line 2742 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 158:
-#line 935 "ntp_parser.y"
+  case 161:
+#line 964 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2709 "ntp_parser.c"
+#line 2751 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 159:
-#line 943 "ntp_parser.y"
+  case 162:
+#line 972 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2715 "ntp_parser.c"
+#line 2757 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 163:
-#line 954 "ntp_parser.y"
+  case 166:
+#line 983 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2724 "ntp_parser.c"
+#line 2766 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 164:
-#line 959 "ntp_parser.y"
+  case 167:
+#line 988 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2733 "ntp_parser.c"
+#line 2775 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 165:
-#line 967 "ntp_parser.y"
+  case 168:
+#line 996 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2739 "ntp_parser.c"
+#line 2781 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 987 "ntp_parser.y"
+  case 177:
+#line 1016 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        addr_opts_node *aon;
 
                        aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.fudge, aon);
                }
-#line 2750 "ntp_parser.c"
+#line 2792 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 997 "ntp_parser.y"
+  case 178:
+#line 1026 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2759 "ntp_parser.c"
+#line 2801 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 1002 "ntp_parser.y"
+  case 179:
+#line 1031 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2768 "ntp_parser.c"
+#line 2810 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 177:
-#line 1010 "ntp_parser.y"
+  case 180:
+#line 1039 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2774 "ntp_parser.c"
+#line 2816 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 178:
-#line 1012 "ntp_parser.y"
+  case 181:
+#line 1041 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2780 "ntp_parser.c"
+#line 2822 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 179:
-#line 1014 "ntp_parser.y"
+  case 182:
+#line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
                                (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
@@ -2789,89 +2831,89 @@ yyreduce:
                                yyerror("fudge factor: stratum value not in [0..16], ignored");
                        }
                }
-#line 2793 "ntp_parser.c"
+#line 2835 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 180:
-#line 1023 "ntp_parser.y"
+  case 183:
+#line 1052 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2799 "ntp_parser.c"
+#line 2841 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 181:
-#line 1025 "ntp_parser.y"
+  case 184:
+#line 1054 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2805 "ntp_parser.c"
+#line 2847 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 189:
-#line 1047 "ntp_parser.y"
+  case 192:
+#line 1076 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
-#line 2811 "ntp_parser.c"
+#line 2853 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 190:
-#line 1052 "ntp_parser.y"
+  case 193:
+#line 1081 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2820 "ntp_parser.c"
+#line 2862 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 191:
-#line 1057 "ntp_parser.y"
+  case 194:
+#line 1086 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2829 "ntp_parser.c"
+#line 2871 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 192:
-#line 1065 "ntp_parser.y"
+  case 195:
+#line 1094 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2835 "ntp_parser.c"
+#line 2877 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 196:
-#line 1081 "ntp_parser.y"
+  case 199:
+#line 1110 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 2841 "ntp_parser.c"
+#line 2883 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 197:
-#line 1083 "ntp_parser.y"
+  case 200:
+#line 1112 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 2847 "ntp_parser.c"
+#line 2889 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 198:
-#line 1088 "ntp_parser.y"
+  case 201:
+#line 1117 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2856 "ntp_parser.c"
+#line 2898 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 199:
-#line 1093 "ntp_parser.y"
+  case 202:
+#line 1122 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2865 "ntp_parser.c"
+#line 2907 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 200:
-#line 1101 "ntp_parser.y"
+  case 203:
+#line 1130 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2871 "ntp_parser.c"
+#line 2913 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 201:
-#line 1103 "ntp_parser.y"
+  case 204:
+#line 1132 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
@@ -2885,74 +2927,74 @@ yyreduce:
                                yyerror(err_str);
                        }
                }
-#line 2889 "ntp_parser.c"
+#line 2931 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 214:
-#line 1142 "ntp_parser.y"
+  case 217:
+#line 1171 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
-#line 2895 "ntp_parser.c"
+#line 2937 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 215:
-#line 1147 "ntp_parser.y"
+  case 218:
+#line 1176 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2904 "ntp_parser.c"
+#line 2946 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 216:
-#line 1152 "ntp_parser.y"
+  case 219:
+#line 1181 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2913 "ntp_parser.c"
+#line 2955 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 217:
-#line 1160 "ntp_parser.y"
+  case 220:
+#line 1189 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2919 "ntp_parser.c"
+#line 2961 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 230:
-#line 1185 "ntp_parser.y"
+  case 233:
+#line 1214 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
                        av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
-#line 2930 "ntp_parser.c"
+#line 2972 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 231:
-#line 1192 "ntp_parser.y"
+  case 234:
+#line 1221 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
                        av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
-#line 2941 "ntp_parser.c"
+#line 2983 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 232:
-#line 1199 "ntp_parser.y"
+  case 235:
+#line 1228 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
                        av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
                        APPEND_G_FIFO(cfgt.vars, av);
                }
-#line 2952 "ntp_parser.c"
+#line 2994 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 233:
-#line 1206 "ntp_parser.y"
+  case 236:
+#line 1235 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        char error_text[64];
                        attr_val *av;
@@ -2968,11 +3010,11 @@ yyreduce:
                                yyerror(error_text);
                        }
                }
-#line 2972 "ntp_parser.c"
+#line 3014 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 234:
-#line 1222 "ntp_parser.y"
+  case 237:
+#line 1251 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (!lex_from_file()) {
                                YYFREE((yyvsp[-1].String)); /* avoid leak */
@@ -2991,11 +3033,11 @@ yyreduce:
                        }
                        YYFREE((yyvsp[-1].String)); /* avoid leak */
                }
-#line 2995 "ntp_parser.c"
+#line 3037 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 235:
-#line 1241 "ntp_parser.y"
+  case 238:
+#line 1270 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        attr_val *av;
 
@@ -3003,86 +3045,98 @@ yyreduce:
                        av->flag = (yyvsp[0].Integer);
                        APPEND_G_FIFO(cfgt.vars, av);                   
                }
-#line 3007 "ntp_parser.c"
+#line 3049 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 236:
-#line 1249 "ntp_parser.y"
+  case 239:
+#line 1278 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { lex_flush_stack(); }
-#line 3013 "ntp_parser.c"
+#line 3055 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 237:
-#line 1251 "ntp_parser.y"
+  case 240:
+#line 1280 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { /* see drift_parm below for actions */ }
-#line 3019 "ntp_parser.c"
+#line 3061 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 238:
-#line 1253 "ntp_parser.y"
+  case 241:
+#line 1282 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
-#line 3025 "ntp_parser.c"
+#line 3067 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 239:
-#line 1255 "ntp_parser.y"
+  case 242:
+#line 1284 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
-#line 3031 "ntp_parser.c"
+#line 3073 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 240:
-#line 1257 "ntp_parser.y"
+  case 243:
+#line 1286 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+#if 1
+                               yyerror("randompoll is unimplemented.");
+#else
+                               // CONCAT_G_FIFOS(cfgt.randompoll, $2);
+#endif
+                       }
+#line 3085 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 244:
+#line 1294 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
-#line 3037 "ntp_parser.c"
+#line 3091 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 241:
-#line 1259 "ntp_parser.y"
+  case 245:
+#line 1296 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        addr_opts_node *aon;
 
                        aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
                        APPEND_G_FIFO(cfgt.trap, aon);
                }
-#line 3048 "ntp_parser.c"
+#line 3102 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 242:
-#line 1266 "ntp_parser.y"
+  case 246:
+#line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
-#line 3054 "ntp_parser.c"
+#line 3108 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 247:
-#line 1281 "ntp_parser.y"
+  case 251:
+#line 1318 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
 #ifndef LEAP_SMEAR
                        yyerror("Built without LEAP_SMEAR support.");
 #endif
                }
-#line 3064 "ntp_parser.c"
+#line 3118 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 248:
-#line 1290 "ntp_parser.y"
+  case 252:
+#line 1327 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = FALSE; }
-#line 3070 "ntp_parser.c"
+#line 3124 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 249:
-#line 1292 "ntp_parser.y"
+  case 253:
+#line 1329 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = TRUE; }
-#line 3076 "ntp_parser.c"
+#line 3130 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 250:
-#line 1294 "ntp_parser.y"
+  case 254:
+#line 1331 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {  (yyval.Integer) = TRUE; }
-#line 3082 "ntp_parser.c"
+#line 3136 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 255:
-#line 1309 "ntp_parser.y"
+  case 259:
+#line 1346 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3093,11 +3147,11 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3097 "ntp_parser.c"
+#line 3151 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 256:
-#line 1320 "ntp_parser.y"
+  case 260:
+#line 1357 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3114,11 +3168,11 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3118 "ntp_parser.c"
+#line 3172 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 257:
-#line 1337 "ntp_parser.y"
+  case 261:
+#line 1374 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3128,71 +3182,98 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3132 "ntp_parser.c"
+#line 3186 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 265:
+#line 1396 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       if (   (yyvsp[0].Integer) > (1 << (POLL - 1)) ) {
+                               (yyval.Randpoll_node) = NULL;
+                               yyerror("randompoll: randomization limit must be <= half the poll interval");
+                       } else {
+                               // $$ = create_random_poll_range(POLL, 0, $3); XXX
+                       }
+               }
+#line 3199 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 266:
+#line 1405 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+    {
+                       if (   (yyvsp[-2].Integer) > (1 << (POLL - 1))
+                           || (yyvsp[0].Integer) > (1 << (POLL - 1)) ) {
+                               (yyval.Randpoll_node) = NULL;
+                               yyerror("randompoll: randomization limit must be <= half the poll interval");
+                       } else {
+                               // $$ = create_random_poll_range(POLL, -$2, $4); XXX
+                       }
+               }
+#line 3213 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 258:
-#line 1350 "ntp_parser.y"
+  case 267:
+#line 1418 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
-#line 3138 "ntp_parser.c"
+#line 3219 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 260:
-#line 1356 "ntp_parser.y"
+  case 269:
+#line 1424 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3144 "ntp_parser.c"
+#line 3225 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 261:
-#line 1361 "ntp_parser.y"
+  case 270:
+#line 1429 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 3150 "ntp_parser.c"
+#line 3231 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 262:
-#line 1363 "ntp_parser.y"
+  case 271:
+#line 1431 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3159 "ntp_parser.c"
+#line 3240 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 263:
-#line 1371 "ntp_parser.y"
+  case 272:
+#line 1439 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3165 "ntp_parser.c"
+#line 3246 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 264:
-#line 1373 "ntp_parser.y"
+  case 273:
+#line 1441 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
                        destroy_address_node((yyvsp[0].Address_node));
                }
-#line 3174 "ntp_parser.c"
+#line 3255 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 265:
-#line 1381 "ntp_parser.y"
+  case 274:
+#line 1449 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3183 "ntp_parser.c"
+#line 3264 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 266:
-#line 1386 "ntp_parser.y"
+  case 275:
+#line 1454 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3192 "ntp_parser.c"
+#line 3273 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 267:
-#line 1394 "ntp_parser.y"
+  case 276:
+#line 1462 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        char    prefix;
                        char *  type;
@@ -3214,141 +3295,141 @@ yyreduce:
                        (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
                        YYFREE((yyvsp[0].String));
                }
-#line 3218 "ntp_parser.c"
+#line 3299 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 268:
-#line 1419 "ntp_parser.y"
+  case 277:
+#line 1487 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
                        nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
-#line 3229 "ntp_parser.c"
+#line 3310 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 269:
-#line 1426 "ntp_parser.y"
+  case 278:
+#line 1494 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
                        nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
-#line 3240 "ntp_parser.c"
+#line 3321 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 279:
-#line 1454 "ntp_parser.y"
+  case 288:
+#line 1522 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
-#line 3246 "ntp_parser.c"
+#line 3327 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 280:
-#line 1459 "ntp_parser.y"
+  case 289:
+#line 1527 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3255 "ntp_parser.c"
+#line 3336 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 281:
-#line 1464 "ntp_parser.y"
+  case 290:
+#line 1532 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3264 "ntp_parser.c"
+#line 3345 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 289:
-#line 1488 "ntp_parser.y"
+  case 298:
+#line 1556 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3273 "ntp_parser.c"
+#line 3354 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 290:
-#line 1493 "ntp_parser.y"
+  case 299:
+#line 1561 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3282 "ntp_parser.c"
+#line 3363 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 291:
-#line 1501 "ntp_parser.y"
+  case 300:
+#line 1569 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3291 "ntp_parser.c"
+#line 3372 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 292:
-#line 1506 "ntp_parser.y"
+  case 301:
+#line 1574 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3300 "ntp_parser.c"
+#line 3381 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 293:
-#line 1514 "ntp_parser.y"
+  case 302:
+#line 1582 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
-#line 3306 "ntp_parser.c"
+#line 3387 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 295:
-#line 1520 "ntp_parser.y"
+  case 304:
+#line 1588 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
-#line 3312 "ntp_parser.c"
+#line 3393 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 296:
-#line 1525 "ntp_parser.y"
+  case 305:
+#line 1593 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.String_fifo) = (yyvsp[-1].String_fifo);
                        APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
-#line 3321 "ntp_parser.c"
+#line 3402 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 297:
-#line 1530 "ntp_parser.y"
+  case 306:
+#line 1598 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.String_fifo) = NULL;
                        APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
-#line 3330 "ntp_parser.c"
+#line 3411 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 298:
-#line 1538 "ntp_parser.y"
+  case 307:
+#line 1606 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3339 "ntp_parser.c"
+#line 3420 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 299:
-#line 1543 "ntp_parser.y"
+  case 308:
+#line 1611 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3348 "ntp_parser.c"
+#line 3429 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 300:
-#line 1551 "ntp_parser.y"
+  case 309:
+#line 1619 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
                                yyerror("Integer value is not boolean (0 or 1). Assuming 1");
@@ -3357,35 +3438,35 @@ yyreduce:
                                (yyval.Integer) = (yyvsp[0].Integer);
                        }
                }
-#line 3361 "ntp_parser.c"
+#line 3442 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 301:
-#line 1559 "ntp_parser.y"
+  case 310:
+#line 1627 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 1; }
-#line 3367 "ntp_parser.c"
+#line 3448 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 302:
-#line 1560 "ntp_parser.y"
+  case 311:
+#line 1628 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3373 "ntp_parser.c"
+#line 3454 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 1564 "ntp_parser.y"
+  case 312:
+#line 1632 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (double)(yyvsp[0].Integer); }
-#line 3379 "ntp_parser.c"
+#line 3460 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 1570 "ntp_parser.y"
+  case 314:
+#line 1638 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); }
-#line 3385 "ntp_parser.c"
+#line 3466 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 1578 "ntp_parser.y"
+  case 315:
+#line 1646 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        sim_node *sn;
 
@@ -3395,126 +3476,125 @@ yyreduce:
                        /* Revert from ; to \n for end-of-command */
                        old_config_style = 1;
                }
-#line 3399 "ntp_parser.c"
+#line 3480 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 1595 "ntp_parser.y"
+  case 316:
+#line 1663 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { old_config_style = 0; }
-#line 3405 "ntp_parser.c"
+#line 3486 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 1600 "ntp_parser.y"
+  case 317:
+#line 1668 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3414 "ntp_parser.c"
+#line 3495 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 1605 "ntp_parser.y"
+  case 318:
+#line 1673 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3423 "ntp_parser.c"
+#line 3504 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 1613 "ntp_parser.y"
+  case 319:
+#line 1681 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3429 "ntp_parser.c"
+#line 3510 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 313:
-#line 1623 "ntp_parser.y"
+  case 322:
+#line 1691 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
                        APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-#line 3438 "ntp_parser.c"
+#line 3519 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 314:
-#line 1628 "ntp_parser.y"
+  case 323:
+#line 1696 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-#line 3447 "ntp_parser.c"
+#line 3528 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 315:
-#line 1636 "ntp_parser.y"
+  case 324:
+#line 1704 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
-#line 3453 "ntp_parser.c"
+#line 3534 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 316:
-#line 1641 "ntp_parser.y"
+  case 325:
+#line 1709 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (yyvsp[-1].Double); }
-#line 3459 "ntp_parser.c"
+#line 3540 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 317:
-#line 1646 "ntp_parser.y"
+  case 326:
+#line 1714 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = (yyvsp[0].Address_node); }
-#line 3465 "ntp_parser.c"
+#line 3546 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 318:
-#line 1651 "ntp_parser.y"
+  case 327:
+#line 1719 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
                        APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
-#line 3474 "ntp_parser.c"
+#line 3555 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 319:
-#line 1656 "ntp_parser.y"
+  case 328:
+#line 1724 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_script_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
-#line 3483 "ntp_parser.c"
+#line 3564 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 320:
-#line 1664 "ntp_parser.y"
+  case 329:
+#line 1732 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
-#line 3489 "ntp_parser.c"
+#line 3570 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 321:
-#line 1669 "ntp_parser.y"
+  case 330:
+#line 1737 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3498 "ntp_parser.c"
+#line 3579 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 322:
-#line 1674 "ntp_parser.y"
+  case 331:
+#line 1742 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3507 "ntp_parser.c"
+#line 3588 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 323:
-#line 1682 "ntp_parser.y"
+  case 332:
+#line 1750 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3513 "ntp_parser.c"
+#line 3594 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
     break;
 
 
-#line 3517 "ntp_parser.c"
-
+#line 3598 "../../ntpd/ntp_parser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3539,13 +3619,14 @@ yyreduce:
   /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
-  {
-    const int yylhs = yyr1[yyn] - YYNTOKENS;
-    const int yyi = yypgoto[yylhs] + *yyssp;
-    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
-               ? yytable[yyi]
-               : yydefgoto[yylhs]);
-  }
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
@@ -3628,10 +3709,12 @@ yyerrlab:
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 `---------------------------------------------------*/
 yyerrorlab:
-  /* Pacify compilers when the user code never invokes YYERROR and the
-     label yyerrorlab therefore never appears in user code.  */
-  if (0)
-    YYERROR;
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
 
   /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
@@ -3693,7 +3776,6 @@ yyacceptlab:
   yyresult = 0;
   goto yyreturn;
 
-
 /*-----------------------------------.
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
@@ -3701,7 +3783,6 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
-
 #if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
@@ -3712,10 +3793,6 @@ yyexhaustedlab:
   /* Fall through.  */
 #endif
 
-
-/*-----------------------------------------------------.
-| yyreturn -- parsing is finished, return the result.  |
-`-----------------------------------------------------*/
 yyreturn:
   if (yychar != YYEMPTY)
     {
@@ -3745,7 +3822,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 1693 "ntp_parser.y"
+#line 1761 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
 
 
 void
index e0493142a9c0c2bd2a36b8f55ca1976e9eac48bb..43a572b2257549a86b03441544e8ee9256318910 100644 (file)
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.4.1.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
-   Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
-/* Undocumented macros, especially those whose name start with YY_,
-   are private implementation details.  Do not rely on them.  */
-
-#ifndef YY_YY_NTP_PARSER_H_INCLUDED
-# define YY_YY_NTP_PARSER_H_INCLUDED
+#ifndef YY_YY__NTPD_NTP_PARSER_H_INCLUDED
+# define YY_YY__NTPD_NTP_PARSER_H_INCLUDED
 /* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 1
@@ -86,172 +82,179 @@ extern int yydebug;
     T_Drop = 292,
     T_Dscp = 293,
     T_Ellipsis = 294,
-    T_Enable = 295,
-    T_End = 296,
-    T_Epeer = 297,
-    T_False = 298,
-    T_File = 299,
-    T_Filegen = 300,
-    T_Filenum = 301,
-    T_Flag1 = 302,
-    T_Flag2 = 303,
-    T_Flag3 = 304,
-    T_Flag4 = 305,
-    T_Flake = 306,
-    T_Floor = 307,
-    T_Freq = 308,
-    T_Fudge = 309,
-    T_Host = 310,
-    T_Huffpuff = 311,
-    T_Iburst = 312,
-    T_Ident = 313,
-    T_Ignore = 314,
-    T_Ignorehash = 315,
-    T_Incalloc = 316,
-    T_Incmem = 317,
-    T_Initalloc = 318,
-    T_Initmem = 319,
-    T_Includefile = 320,
-    T_Integer = 321,
-    T_Interface = 322,
-    T_Intrange = 323,
-    T_Io = 324,
-    T_Ippeerlimit = 325,
-    T_Ipv4 = 326,
-    T_Ipv4_flag = 327,
-    T_Ipv6 = 328,
-    T_Ipv6_flag = 329,
-    T_Kernel = 330,
-    T_Key = 331,
-    T_Keys = 332,
-    T_Keysdir = 333,
-    T_Kod = 334,
-    T_Mssntp = 335,
-    T_Leapfile = 336,
-    T_Leapsmearinterval = 337,
-    T_Limited = 338,
-    T_Link = 339,
-    T_Listen = 340,
-    T_Logconfig = 341,
-    T_Logfile = 342,
-    T_Loopstats = 343,
-    T_Lowpriotrap = 344,
-    T_Manycastclient = 345,
-    T_Manycastserver = 346,
-    T_Mask = 347,
-    T_Maxage = 348,
-    T_Maxclock = 349,
-    T_Maxdepth = 350,
-    T_Maxdist = 351,
-    T_Maxmem = 352,
-    T_Maxpoll = 353,
-    T_Mdnstries = 354,
-    T_Mem = 355,
-    T_Memlock = 356,
-    T_Minclock = 357,
-    T_Mindepth = 358,
-    T_Mindist = 359,
-    T_Minimum = 360,
-    T_Minjitter = 361,
-    T_Minpoll = 362,
-    T_Minsane = 363,
-    T_Mode = 364,
-    T_Mode7 = 365,
-    T_Monitor = 366,
-    T_Month = 367,
-    T_Mru = 368,
-    T_Multicastclient = 369,
-    T_Nic = 370,
-    T_Nolink = 371,
-    T_Nomodify = 372,
-    T_Nomrulist = 373,
-    T_None = 374,
-    T_Nonvolatile = 375,
-    T_Noepeer = 376,
-    T_Nopeer = 377,
-    T_Noquery = 378,
-    T_Noselect = 379,
-    T_Noserve = 380,
-    T_Notrap = 381,
-    T_Notrust = 382,
-    T_Ntp = 383,
-    T_Ntpport = 384,
-    T_NtpSignDsocket = 385,
-    T_Orphan = 386,
-    T_Orphanwait = 387,
-    T_PCEdigest = 388,
-    T_Panic = 389,
-    T_Peer = 390,
-    T_Peerstats = 391,
-    T_Phone = 392,
-    T_Pid = 393,
-    T_Pidfile = 394,
-    T_Pool = 395,
-    T_Port = 396,
-    T_Preempt = 397,
-    T_Prefer = 398,
-    T_Protostats = 399,
-    T_Pw = 400,
-    T_Randfile = 401,
-    T_Rawstats = 402,
-    T_Refid = 403,
-    T_Requestkey = 404,
-    T_Reset = 405,
-    T_Restrict = 406,
-    T_Revoke = 407,
-    T_Rlimit = 408,
-    T_Saveconfigdir = 409,
-    T_Server = 410,
-    T_Setvar = 411,
-    T_Source = 412,
-    T_Stacksize = 413,
-    T_Statistics = 414,
-    T_Stats = 415,
-    T_Statsdir = 416,
-    T_Step = 417,
-    T_Stepback = 418,
-    T_Stepfwd = 419,
-    T_Stepout = 420,
-    T_Stratum = 421,
-    T_String = 422,
-    T_Sys = 423,
-    T_Sysstats = 424,
-    T_Tick = 425,
-    T_Time1 = 426,
-    T_Time2 = 427,
-    T_Timer = 428,
-    T_Timingstats = 429,
-    T_Tinker = 430,
-    T_Tos = 431,
-    T_Trap = 432,
-    T_True = 433,
-    T_Trustedkey = 434,
-    T_Ttl = 435,
-    T_Type = 436,
-    T_U_int = 437,
-    T_UEcrypto = 438,
-    T_UEcryptonak = 439,
-    T_UEdigest = 440,
-    T_Unconfig = 441,
-    T_Unpeer = 442,
-    T_Version = 443,
-    T_WanderThreshold = 444,
-    T_Week = 445,
-    T_Wildcard = 446,
-    T_Xleave = 447,
-    T_Year = 448,
-    T_Flag = 449,
-    T_EOC = 450,
-    T_Simulate = 451,
-    T_Beep_Delay = 452,
-    T_Sim_Duration = 453,
-    T_Server_Offset = 454,
-    T_Duration = 455,
-    T_Freq_Offset = 456,
-    T_Wander = 457,
-    T_Jitter = 458,
-    T_Prop_Delay = 459,
-    T_Proc_Delay = 460
+    T_Else = 295,
+    T_Enable = 296,
+    T_End = 297,
+    T_Epeer = 298,
+    T_False = 299,
+    T_File = 300,
+    T_Filegen = 301,
+    T_Filenum = 302,
+    T_Flag1 = 303,
+    T_Flag2 = 304,
+    T_Flag3 = 305,
+    T_Flag4 = 306,
+    T_Flake = 307,
+    T_Floor = 308,
+    T_Freq = 309,
+    T_Fudge = 310,
+    T_Fuzz = 311,
+    T_Host = 312,
+    T_Huffpuff = 313,
+    T_Iburst = 314,
+    T_Ident = 315,
+    T_Ignore = 316,
+    T_Ignorehash = 317,
+    T_Incalloc = 318,
+    T_Incmem = 319,
+    T_Initalloc = 320,
+    T_Initmem = 321,
+    T_Includefile = 322,
+    T_Integer = 323,
+    T_Interface = 324,
+    T_Intrange = 325,
+    T_Io = 326,
+    T_Ippeerlimit = 327,
+    T_Ipv4 = 328,
+    T_Ipv4_flag = 329,
+    T_Ipv6 = 330,
+    T_Ipv6_flag = 331,
+    T_Kernel = 332,
+    T_Key = 333,
+    T_Keys = 334,
+    T_Keysdir = 335,
+    T_Kod = 336,
+    T_Mssntp = 337,
+    T_Leapfile = 338,
+    T_Leapsmearinterval = 339,
+    T_Limited = 340,
+    T_Link = 341,
+    T_Listen = 342,
+    T_Logconfig = 343,
+    T_Logfile = 344,
+    T_Loopstats = 345,
+    T_Lowpriotrap = 346,
+    T_Manycastclient = 347,
+    T_Manycastserver = 348,
+    T_Mask = 349,
+    T_Maxage = 350,
+    T_Maxclock = 351,
+    T_Maxdepth = 352,
+    T_Maxdist = 353,
+    T_Maxmem = 354,
+    T_Maxpoll = 355,
+    T_Mdnstries = 356,
+    T_Mem = 357,
+    T_Memlock = 358,
+    T_Minclock = 359,
+    T_Mindepth = 360,
+    T_Mindist = 361,
+    T_Minimum = 362,
+    T_Minjitter = 363,
+    T_Minpoll = 364,
+    T_Minsane = 365,
+    T_Mode = 366,
+    T_Mode7 = 367,
+    T_Monitor = 368,
+    T_Month = 369,
+    T_Mru = 370,
+    T_Multicastclient = 371,
+    T_Nic = 372,
+    T_Nolink = 373,
+    T_Nomodify = 374,
+    T_Nomrulist = 375,
+    T_None = 376,
+    T_Nonvolatile = 377,
+    T_Noepeer = 378,
+    T_Nopeer = 379,
+    T_Noquery = 380,
+    T_Noselect = 381,
+    T_Noserve = 382,
+    T_Notrap = 383,
+    T_Notrust = 384,
+    T_Ntp = 385,
+    T_Ntpport = 386,
+    T_NtpSignDsocket = 387,
+    T_Orphan = 388,
+    T_Orphanwait = 389,
+    T_PCEdigest = 390,
+    T_Panic = 391,
+    T_Peer = 392,
+    T_Peerstats = 393,
+    T_Phone = 394,
+    T_Pid = 395,
+    T_Pidfile = 396,
+    T_Poll = 397,
+    T_Pool = 398,
+    T_Port = 399,
+    T_Preempt = 400,
+    T_Prefer = 401,
+    T_Protostats = 402,
+    T_Pw = 403,
+    T_Randfile = 404,
+    T_Randomizepoll = 405,
+    T_Randompoll = 406,
+    T_Rawstats = 407,
+    T_Refid = 408,
+    T_Reftime = 409,
+    T_Requestkey = 410,
+    T_Reset = 411,
+    T_Restrict = 412,
+    T_Revoke = 413,
+    T_Rlimit = 414,
+    T_Saveconfigdir = 415,
+    T_Server = 416,
+    T_ServerFuzzReftime = 417,
+    T_Setvar = 418,
+    T_Source = 419,
+    T_Stacksize = 420,
+    T_Statistics = 421,
+    T_Stats = 422,
+    T_Statsdir = 423,
+    T_Step = 424,
+    T_Stepback = 425,
+    T_Stepfwd = 426,
+    T_Stepout = 427,
+    T_Stratum = 428,
+    T_String = 429,
+    T_Sys = 430,
+    T_Sysstats = 431,
+    T_Tick = 432,
+    T_Time1 = 433,
+    T_Time2 = 434,
+    T_Timer = 435,
+    T_Timingstats = 436,
+    T_Tinker = 437,
+    T_Tos = 438,
+    T_Trap = 439,
+    T_True = 440,
+    T_Trustedkey = 441,
+    T_Ttl = 442,
+    T_Type = 443,
+    T_U_int = 444,
+    T_UEcrypto = 445,
+    T_UEcryptonak = 446,
+    T_UEdigest = 447,
+    T_Unconfig = 448,
+    T_Unpeer = 449,
+    T_Version = 450,
+    T_WanderThreshold = 451,
+    T_Week = 452,
+    T_Wildcard = 453,
+    T_Xleave = 454,
+    T_Year = 455,
+    T_Flag = 456,
+    T_EOC = 457,
+    T_Simulate = 458,
+    T_Beep_Delay = 459,
+    T_Sim_Duration = 460,
+    T_Server_Offset = 461,
+    T_Duration = 462,
+    T_Freq_Offset = 463,
+    T_Wander = 464,
+    T_Jitter = 465,
+    T_Prop_Delay = 466,
+    T_Proc_Delay = 467
   };
 #endif
 /* Tokens.  */
@@ -292,178 +295,186 @@ extern int yydebug;
 #define T_Drop 292
 #define T_Dscp 293
 #define T_Ellipsis 294
-#define T_Enable 295
-#define T_End 296
-#define T_Epeer 297
-#define T_False 298
-#define T_File 299
-#define T_Filegen 300
-#define T_Filenum 301
-#define T_Flag1 302
-#define T_Flag2 303
-#define T_Flag3 304
-#define T_Flag4 305
-#define T_Flake 306
-#define T_Floor 307
-#define T_Freq 308
-#define T_Fudge 309
-#define T_Host 310
-#define T_Huffpuff 311
-#define T_Iburst 312
-#define T_Ident 313
-#define T_Ignore 314
-#define T_Ignorehash 315
-#define T_Incalloc 316
-#define T_Incmem 317
-#define T_Initalloc 318
-#define T_Initmem 319
-#define T_Includefile 320
-#define T_Integer 321
-#define T_Interface 322
-#define T_Intrange 323
-#define T_Io 324
-#define T_Ippeerlimit 325
-#define T_Ipv4 326
-#define T_Ipv4_flag 327
-#define T_Ipv6 328
-#define T_Ipv6_flag 329
-#define T_Kernel 330
-#define T_Key 331
-#define T_Keys 332
-#define T_Keysdir 333
-#define T_Kod 334
-#define T_Mssntp 335
-#define T_Leapfile 336
-#define T_Leapsmearinterval 337
-#define T_Limited 338
-#define T_Link 339
-#define T_Listen 340
-#define T_Logconfig 341
-#define T_Logfile 342
-#define T_Loopstats 343
-#define T_Lowpriotrap 344
-#define T_Manycastclient 345
-#define T_Manycastserver 346
-#define T_Mask 347
-#define T_Maxage 348
-#define T_Maxclock 349
-#define T_Maxdepth 350
-#define T_Maxdist 351
-#define T_Maxmem 352
-#define T_Maxpoll 353
-#define T_Mdnstries 354
-#define T_Mem 355
-#define T_Memlock 356
-#define T_Minclock 357
-#define T_Mindepth 358
-#define T_Mindist 359
-#define T_Minimum 360
-#define T_Minjitter 361
-#define T_Minpoll 362
-#define T_Minsane 363
-#define T_Mode 364
-#define T_Mode7 365
-#define T_Monitor 366
-#define T_Month 367
-#define T_Mru 368
-#define T_Multicastclient 369
-#define T_Nic 370
-#define T_Nolink 371
-#define T_Nomodify 372
-#define T_Nomrulist 373
-#define T_None 374
-#define T_Nonvolatile 375
-#define T_Noepeer 376
-#define T_Nopeer 377
-#define T_Noquery 378
-#define T_Noselect 379
-#define T_Noserve 380
-#define T_Notrap 381
-#define T_Notrust 382
-#define T_Ntp 383
-#define T_Ntpport 384
-#define T_NtpSignDsocket 385
-#define T_Orphan 386
-#define T_Orphanwait 387
-#define T_PCEdigest 388
-#define T_Panic 389
-#define T_Peer 390
-#define T_Peerstats 391
-#define T_Phone 392
-#define T_Pid 393
-#define T_Pidfile 394
-#define T_Pool 395
-#define T_Port 396
-#define T_Preempt 397
-#define T_Prefer 398
-#define T_Protostats 399
-#define T_Pw 400
-#define T_Randfile 401
-#define T_Rawstats 402
-#define T_Refid 403
-#define T_Requestkey 404
-#define T_Reset 405
-#define T_Restrict 406
-#define T_Revoke 407
-#define T_Rlimit 408
-#define T_Saveconfigdir 409
-#define T_Server 410
-#define T_Setvar 411
-#define T_Source 412
-#define T_Stacksize 413
-#define T_Statistics 414
-#define T_Stats 415
-#define T_Statsdir 416
-#define T_Step 417
-#define T_Stepback 418
-#define T_Stepfwd 419
-#define T_Stepout 420
-#define T_Stratum 421
-#define T_String 422
-#define T_Sys 423
-#define T_Sysstats 424
-#define T_Tick 425
-#define T_Time1 426
-#define T_Time2 427
-#define T_Timer 428
-#define T_Timingstats 429
-#define T_Tinker 430
-#define T_Tos 431
-#define T_Trap 432
-#define T_True 433
-#define T_Trustedkey 434
-#define T_Ttl 435
-#define T_Type 436
-#define T_U_int 437
-#define T_UEcrypto 438
-#define T_UEcryptonak 439
-#define T_UEdigest 440
-#define T_Unconfig 441
-#define T_Unpeer 442
-#define T_Version 443
-#define T_WanderThreshold 444
-#define T_Week 445
-#define T_Wildcard 446
-#define T_Xleave 447
-#define T_Year 448
-#define T_Flag 449
-#define T_EOC 450
-#define T_Simulate 451
-#define T_Beep_Delay 452
-#define T_Sim_Duration 453
-#define T_Server_Offset 454
-#define T_Duration 455
-#define T_Freq_Offset 456
-#define T_Wander 457
-#define T_Jitter 458
-#define T_Prop_Delay 459
-#define T_Proc_Delay 460
+#define T_Else 295
+#define T_Enable 296
+#define T_End 297
+#define T_Epeer 298
+#define T_False 299
+#define T_File 300
+#define T_Filegen 301
+#define T_Filenum 302
+#define T_Flag1 303
+#define T_Flag2 304
+#define T_Flag3 305
+#define T_Flag4 306
+#define T_Flake 307
+#define T_Floor 308
+#define T_Freq 309
+#define T_Fudge 310
+#define T_Fuzz 311
+#define T_Host 312
+#define T_Huffpuff 313
+#define T_Iburst 314
+#define T_Ident 315
+#define T_Ignore 316
+#define T_Ignorehash 317
+#define T_Incalloc 318
+#define T_Incmem 319
+#define T_Initalloc 320
+#define T_Initmem 321
+#define T_Includefile 322
+#define T_Integer 323
+#define T_Interface 324
+#define T_Intrange 325
+#define T_Io 326
+#define T_Ippeerlimit 327
+#define T_Ipv4 328
+#define T_Ipv4_flag 329
+#define T_Ipv6 330
+#define T_Ipv6_flag 331
+#define T_Kernel 332
+#define T_Key 333
+#define T_Keys 334
+#define T_Keysdir 335
+#define T_Kod 336
+#define T_Mssntp 337
+#define T_Leapfile 338
+#define T_Leapsmearinterval 339
+#define T_Limited 340
+#define T_Link 341
+#define T_Listen 342
+#define T_Logconfig 343
+#define T_Logfile 344
+#define T_Loopstats 345
+#define T_Lowpriotrap 346
+#define T_Manycastclient 347
+#define T_Manycastserver 348
+#define T_Mask 349
+#define T_Maxage 350
+#define T_Maxclock 351
+#define T_Maxdepth 352
+#define T_Maxdist 353
+#define T_Maxmem 354
+#define T_Maxpoll 355
+#define T_Mdnstries 356
+#define T_Mem 357
+#define T_Memlock 358
+#define T_Minclock 359
+#define T_Mindepth 360
+#define T_Mindist 361
+#define T_Minimum 362
+#define T_Minjitter 363
+#define T_Minpoll 364
+#define T_Minsane 365
+#define T_Mode 366
+#define T_Mode7 367
+#define T_Monitor 368
+#define T_Month 369
+#define T_Mru 370
+#define T_Multicastclient 371
+#define T_Nic 372
+#define T_Nolink 373
+#define T_Nomodify 374
+#define T_Nomrulist 375
+#define T_None 376
+#define T_Nonvolatile 377
+#define T_Noepeer 378
+#define T_Nopeer 379
+#define T_Noquery 380
+#define T_Noselect 381
+#define T_Noserve 382
+#define T_Notrap 383
+#define T_Notrust 384
+#define T_Ntp 385
+#define T_Ntpport 386
+#define T_NtpSignDsocket 387
+#define T_Orphan 388
+#define T_Orphanwait 389
+#define T_PCEdigest 390
+#define T_Panic 391
+#define T_Peer 392
+#define T_Peerstats 393
+#define T_Phone 394
+#define T_Pid 395
+#define T_Pidfile 396
+#define T_Poll 397
+#define T_Pool 398
+#define T_Port 399
+#define T_Preempt 400
+#define T_Prefer 401
+#define T_Protostats 402
+#define T_Pw 403
+#define T_Randfile 404
+#define T_Randomizepoll 405
+#define T_Randompoll 406
+#define T_Rawstats 407
+#define T_Refid 408
+#define T_Reftime 409
+#define T_Requestkey 410
+#define T_Reset 411
+#define T_Restrict 412
+#define T_Revoke 413
+#define T_Rlimit 414
+#define T_Saveconfigdir 415
+#define T_Server 416
+#define T_ServerFuzzReftime 417
+#define T_Setvar 418
+#define T_Source 419
+#define T_Stacksize 420
+#define T_Statistics 421
+#define T_Stats 422
+#define T_Statsdir 423
+#define T_Step 424
+#define T_Stepback 425
+#define T_Stepfwd 426
+#define T_Stepout 427
+#define T_Stratum 428
+#define T_String 429
+#define T_Sys 430
+#define T_Sysstats 431
+#define T_Tick 432
+#define T_Time1 433
+#define T_Time2 434
+#define T_Timer 435
+#define T_Timingstats 436
+#define T_Tinker 437
+#define T_Tos 438
+#define T_Trap 439
+#define T_True 440
+#define T_Trustedkey 441
+#define T_Ttl 442
+#define T_Type 443
+#define T_U_int 444
+#define T_UEcrypto 445
+#define T_UEcryptonak 446
+#define T_UEdigest 447
+#define T_Unconfig 448
+#define T_Unpeer 449
+#define T_Version 450
+#define T_WanderThreshold 451
+#define T_Week 452
+#define T_Wildcard 453
+#define T_Xleave 454
+#define T_Year 455
+#define T_Flag 456
+#define T_EOC 457
+#define T_Simulate 458
+#define T_Beep_Delay 459
+#define T_Sim_Duration 460
+#define T_Server_Offset 461
+#define T_Duration 462
+#define T_Freq_Offset 463
+#define T_Wander 464
+#define T_Jitter 465
+#define T_Prop_Delay 466
+#define T_Proc_Delay 467
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
 union YYSTYPE
 {
-#line 52 "ntp_parser.y"
+#line 52 "../../ntpd/ntp_parser.y" /* yacc.c:1909  */
 
        char *                  String;
        double                  Double;
@@ -473,6 +484,7 @@ union YYSTYPE
        attr_val *              Attr_val;
        attr_val_fifo *         Attr_val_fifo;
        int_fifo *              Int_fifo;
+       randpoll_node *         Randpoll_node;
        string_fifo *           String_fifo;
        address_node *          Address_node;
        address_fifo *          Address_fifo;
@@ -482,9 +494,9 @@ union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
-#line 486 "ntp_parser.h"
-
+#line 498 "../../ntpd/ntp_parser.h" /* yacc.c:1909  */
 };
+
 typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
@@ -495,4 +507,4 @@ extern YYSTYPE yylval;
 
 int yyparse (void);
 
-#endif /* !YY_YY__SRC_NTP_STABLE_NTPD_NTP_PARSER_H_INCLUDED  */
+#endif /* !YY_YY__NTPD_NTP_PARSER_H_INCLUDED  */
index 0a520c160af53e925b9e56124ad3b467d76a69b3..7eeeb9a8fcfd8d90f0a504c98992928c97291d90 100644 (file)
@@ -58,6 +58,7 @@
        attr_val *              Attr_val;
        attr_val_fifo *         Attr_val_fifo;
        int_fifo *              Int_fifo;
+       randpoll_node *         Randpoll_node;
        string_fifo *           String_fifo;
        address_node *          Address_node;
        address_fifo *          Address_fifo;
 %token <Integer>       T_Drop
 %token <Integer>       T_Dscp
 %token <Integer>       T_Ellipsis      /* "..." not "ellipsis" */
+%token <Integer>       T_Else
 %token <Integer>       T_Enable
 %token <Integer>       T_End
 %token <Integer>       T_Epeer
 %token <Integer>       T_Floor
 %token <Integer>       T_Freq
 %token <Integer>       T_Fudge
+%token <Integer>       T_Fuzz
 %token <Integer>       T_Host
 %token <Integer>       T_Huffpuff
 %token <Integer>       T_Iburst
 %token <Integer>       T_Phone
 %token <Integer>       T_Pid
 %token <Integer>       T_Pidfile
+%token <Integer>       T_Poll
 %token <Integer>       T_Pool
 %token <Integer>       T_Port
 %token <Integer>       T_Preempt
 %token <Integer>       T_Protostats
 %token <Integer>       T_Pw
 %token <Integer>       T_Randfile
+%token <Integer>       T_Randomizepoll
+%token <Integer>       T_Randompoll
 %token <Integer>       T_Rawstats
 %token <Integer>       T_Refid
+%token <Integer>       T_Reftime
 %token <Integer>       T_Requestkey
 %token <Integer>       T_Reset
 %token <Integer>       T_Restrict
 %token <Integer>       T_Rlimit
 %token <Integer>       T_Saveconfigdir
 %token <Integer>       T_Server
+%token <Integer>       T_ServerFuzzReftime     /* Not a token */
 %token <Integer>       T_Setvar
 %token <Integer>       T_Source
 %token <Integer>       T_Stacksize
 
 /*** NON-TERMINALS ***/
 %type  <Integer>       access_control_flag
-%type  <Int_fifo>      ac_flag_list
+%type  <Attr_val_fifo> ac_flag_list
 %type  <Address_node>  address
 %type  <Integer>       address_fam
 %type  <Address_fifo>  address_list
 %type  <Attr_val>      option_str
 %type  <Integer>       option_str_keyword
 %type  <Integer>       reset_command
+%type  <Randpoll_node> randompoll_spec
 %type  <Integer>       rlimit_option_keyword
 %type  <Attr_val>      rlimit_option
 %type  <Attr_val_fifo> rlimit_option_list
@@ -900,8 +909,27 @@ ac_flag_list
                        { $$ = NULL; }
        |       ac_flag_list access_control_flag
                {
+                       attr_val *av;
+
                        $$ = $1;
-                       APPEND_G_FIFO($$, create_int_node($2));
+                       av = create_attr_ival($2, 1);
+                       APPEND_G_FIFO($$, av);
+               }
+       |       ac_flag_list T_Server T_Fuzz T_Reftime
+               {
+                       attr_val *av;
+
+                       $$ = $1;
+                       av = create_attr_ival(T_ServerFuzzReftime, 6);
+                       APPEND_G_FIFO($$, av);
+               }
+       |       ac_flag_list T_Server T_Fuzz T_Reftime T_Poll T_Integer
+               {
+                       attr_val *av;
+
+                       $$ = $1;
+                       av = create_attr_ival(T_ServerFuzzReftime, $5);
+                       APPEND_G_FIFO($$, av);
                }
        ;
 
@@ -922,6 +950,7 @@ access_control_flag
        |       T_Notrap
        |       T_Notrust
        |       T_Ntpport
+       |       T_Randomizepoll
        |       T_Version
        ;
 
@@ -1253,6 +1282,14 @@ miscellaneous_command
                        { CONCAT_G_FIFOS(cfgt.logconfig, $2); }
        |       T_Phone string_list
                        { CONCAT_G_FIFOS(cfgt.phone, $2); }
+       |       T_Randompoll randompoll_list
+                       {
+#if 1
+                               yyerror("randompoll is unimplemented.");
+#else
+                               // CONCAT_G_FIFOS(cfgt.randompoll, $2);
+#endif
+                       }
        |       T_Setvar variable_assign
                        { APPEND_G_FIFO(cfgt.setvar, $2); }
        |       T_Trap ip_address trap_option_list
@@ -1345,6 +1382,37 @@ drift_parm
                }
        ;
 
+randompoll_list
+       :       /* empty: no randomization of any poll times */
+               // This is the default case with 0/0
+       |       T_Integer randompoll_spec
+               // { $$ = ...; } XXX
+       |       T_Else randompoll_spec
+               // { $$ = ...; } XXX
+       ;
+
+randompoll_spec
+       :       '0' '/' T_Integer       
+               {
+                       if (   $3 > (1 << (POLL - 1)) ) {
+                               $$ = NULL;
+                               yyerror("randompoll: randomization limit must be <= half the poll interval");
+                       } else {
+                               // $$ = create_random_poll_range(POLL, 0, $3); XXX
+                       }
+               }
+       |       '-' T_Integer '/' T_Integer     
+               {
+                       if (   $2 > (1 << (POLL - 1))
+                           || $4 > (1 << (POLL - 1)) ) {
+                               $$ = NULL;
+                               yyerror("randompoll: randomization limit must be <= half the poll interval");
+                       } else {
+                               // $$ = create_random_poll_range(POLL, -$2, $4); XXX
+                       }
+               }
+       ;
+
 variable_assign
        :       T_String '=' T_String t_default_or_zero
                        { $$ = create_setvar_node($1, $3, $4); }
index 38a4682dfa9a58ea70b27414318c3a80440950fe..7fe13396d5deea7fc664de782b6fd3350b59d106 100644 (file)
@@ -106,6 +106,7 @@ double      sys_rootdelay;          /* roundtrip delay to primary source */
 double sys_rootdisp;           /* dispersion to primary source */
 u_int32 sys_refid;             /* reference id (network byte order) */
 l_fp   sys_reftime;            /* last update time */
+l_fp   prev_reftime;           /* previous sys_reftime */
 struct peer *sys_peer;         /* current peer */
 
 #ifdef LEAP_SMEAR
@@ -2830,6 +2831,7 @@ clock_update(
        else
                sys_rootdisp = sys_mindisp;
        sys_rootdelay = peer->delay + peer->rootdelay;
+       prev_reftime = sys_reftime;
        sys_reftime = peer->dst;
 
        DPRINTF(1, ("clock_update: at %lu sample %lu associd %d\n",
@@ -2875,6 +2877,7 @@ clock_update(
                memcpy(&sys_refid, "STEP", 4);
                sys_rootdelay = 0;
                sys_rootdisp = 0;
+               /* Should we clear prev_reftime? */
                L_CLR(&sys_reftime);
                sys_jitter = LOGTOD(sys_precision);
                leapsec_reset_frame();
@@ -3972,6 +3975,7 @@ peer_xmit(
        xpkt.refid = sys_refid;
        xpkt.rootdelay = HTONS_FP(DTOFP(sys_rootdelay));
        xpkt.rootdisp =  HTONS_FP(DTOUFP(sys_rootdisp));
+       /* Use sys_reftime for peer exchanges */
        HTONL_FP(&sys_reftime, &xpkt.reftime);
        HTONL_FP(&peer->rec, &xpkt.org);
        HTONL_FP(&peer->dst, &xpkt.rec);
@@ -4474,6 +4478,7 @@ fast_xmit(
                xpkt.rootdisp = HTONS_FP(DTOUFP(sys_rootdisp));
 
 #ifdef LEAP_SMEAR
+               /* XXX: Do we want to be using sys_reftime here? */
                this_ref_time = sys_reftime;
                if (leap_smear.in_progress) {
                        leap_smear_add_offs(&this_ref_time, NULL);
@@ -4485,6 +4490,8 @@ fast_xmit(
                }
                HTONL_FP(&this_ref_time, &xpkt.reftime);
 #else
+               /* Bug 3596: Put a fuzzed sys_reftime in the response? */
+               // Check the restrict list to see...
                HTONL_FP(&sys_reftime, &xpkt.reftime);
 #endif
 
@@ -4654,6 +4661,7 @@ pool_xmit(
        xpkt.refid = sys_refid;
        xpkt.rootdelay = HTONS_FP(DTOFP(sys_rootdelay));
        xpkt.rootdisp = HTONS_FP(DTOUFP(sys_rootdisp));
+       /* Bug 3596: What are the pros/cons of using sys_reftime here? */
        HTONL_FP(&sys_reftime, &xpkt.reftime);
        get_systime(&xmt_tx);
        pool->aorg = xmt_tx;