]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 3435] anchor NTP era alignment
authorJuergen Perlinger <perlinger@ntp.org>
Tue, 10 Oct 2017 06:44:16 +0000 (08:44 +0200)
committerJuergen Perlinger <perlinger@ntp.org>
Tue, 10 Oct 2017 06:44:16 +0000 (08:44 +0200)
bk: 59dc6c40uf6hiVTSN0PzWb5ccuDPxQ

13 files changed:
ChangeLog
html/miscopt.html
include/ntp_calendar.h
include/ntp_fp.h
libntp/ntp_calendar.c
libntp/systime.c
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

index a1a1cfae45a59975bb12958d206f6c0a48e631b5..b8b3e58a34123c1cac480fbe85fdca1d3426eb73 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+---
+* [Bug 3435] anchor NTP era alignment <perlinger@ntp.org>
+
 ---
 (4.2.8p10-win-beta1) 2017/03/21 Released by Harlan Stenn <stenn@ntp.org>
 (4.2.8p10)
index 6e03963326ead0972e5771492aa677d98abd990f..b458d799ab329f84badcb79e9dff4bf86fb0b448 100644 (file)
       <dd>Specifies the stepout threshold in seconds. The default without this command is 300 s. Since this option also affects the training and startup intervals, it should not be set less than the default. Further details are on the <a href="clock.html">Clock State Machine</a> page.</dd>
     </dl>
   </dd>
-  <dt id="tos"><tt>tos [bcpollbstep <i>poll-gate</i> | beacon <i>beacon</i> | ceiling <i>ceiling</i> | cohort {0 | 1} | floor <i>floor</i> | maxclock <i>maxclock </i>| maxdist <i>maxdist</i> | minclock <i>minclock</i> | mindist <i>mindist </i>| minsane <i>minsane</i> | orphan <i>stratum</i> | orphanwait <em>delay</em>]</tt></dt>
+  <dt id="tos"><tt>tos [basedate <i>date<i> | bcpollbstep <i>poll-gate</i> | beacon <i>beacon</i> | ceiling <i>ceiling</i> | cohort {0 | 1} | floor <i>floor</i> | maxclock <i>maxclock </i>| maxdist <i>maxdist</i> | minclock <i>minclock</i> | mindist <i>mindist </i>| minsane <i>minsane</i> | orphan <i>stratum</i> | orphanwait <em>delay</em>]</tt></dt>
   <dd>This command alters certain system variables used by the the clock selection and clustering algorithms. The default values of these variables have been carefully optimized for a wide range of network speeds and reliability expectations. Very rarely is it necessary to change the default values; but, some folks can't resist twisting the knobs. It can be used to select the quality and quantity of peers used to synchronize the system clock and is most useful in dynamic server discovery schemes. The options are as follows:</dd>
   <dd>
     <dl>
+      <dt><tt>basedate <i>date</i></tt></dt>
+      <dd>Set NTP era anchor. <tt><i>date</i></tt> is either a date in ISO8601 format (<i>YYYY-MM-DD<i>) or an integer giving the days since 1900-01-01, the start of the NTP epoch. <tt>ntpd</tt> will clamp the system time to an era starting with the begin of this this day (00:00:00Z), covering a range of 2<sup>32</sup> seconds or roughly 136 years. The default is the begin of the UNIX epoch, 1970-01-01.</dd>
       <dt><tt>bcpollbstep <i>poll-gate</i></tt></dt>
       <dd>This option will cause the client to delay believing backward time steps from a broadcast server for <tt>bcpollbstep</tt> poll intervals.  NTP Broadcast networks are expected to be trusted, and if the server's time gets stepped backwards then it's desireable that the clients follow this change as soon as possible.  However, in spite of various protections built-in to the broadcast protocol, it is possible that an attacker could perform a carefully-constructed replay attack and cause clients to erroneously step their clocks backward.  If the risk of a successful broadcast replay attack is greater than the risk of the clients being out of sync in the event that there is a backward step on the broadcast time servers, this option may be used to cause the clients to delay beliveving backward time steps until <i>poll-gate</i> consecutive polls have been received.  The default is 0, which means the client will accept these steps upon receipt.  Any value from 0 to 4 can be specified.</dd>
       <dt><tt>beacon <i>beacon</i></tt></dt>
index 6f36c0777aba6dce02b7303fbae5d13c96890aff..41c58797b2c785b350965cbca628d6993ba8596c 100644 (file)
@@ -382,6 +382,29 @@ ntpcal_weekday_le(int32_t /* rdn */, int32_t /* dow */);
 extern int32_t
 ntpcal_weekday_lt(int32_t /* rdn */, int32_t /* dow */);
 
+
+/*
+ * handling of base date spec
+ */
+extern int32_t
+basedate_eval_buildstamp(void);
+
+extern int32_t
+basedate_eval_string(const char *str);
+
+extern int32_t
+basedate_set_day(int32_t dayno);
+
+extern uint32_t
+basedate_get_day(void);
+
+extern time_t
+basedate_get_eracenter(void);
+
+extern time_t
+basedate_get_erabase(void);
+
+
 /*
  * Additional support stuff for Ed Rheingold's calendrical calculations
  */
index b5d28205541b34adaea88e8dca3d5b8768cdbb64..2782ebfe921ac1ba2fd85f02c890135c857a5f7a 100644 (file)
@@ -364,6 +364,7 @@ extern      void    init_systime    (void);
 extern void    get_systime     (l_fp *);
 extern int     step_systime    (double);
 extern int     adj_systime     (double);
+extern int     clamp_systime   (void);
 
 extern struct tm * ntp2unix_tm (u_int32 ntp, int local);
 
index 4bfb0e723c01c0bc762dc43c1b58c19ac045a2f0..a550d5d3a2c7d27c333cbac1d344dda57523f373 100644 (file)
@@ -1825,4 +1825,113 @@ isocal_date_to_ntp(
        return isocal_date_to_ntp64(id).d_s.lo;
 }
 
+/*
+ * ====================================================================
+ * 'basedate' support functions
+ * ====================================================================
+ */
+
+static int32_t s_baseday = NTP_TO_UNIX_DAYS;
+
+int32_t
+basedate_eval_buildstamp(void)
+{
+       struct calendar jd;
+       int32_t         ed;
+       
+       if (!ntpcal_get_build_date(&jd))
+               return NTP_TO_UNIX_DAYS;
+
+       /* The time zone of the build stamp is unspecified; we remove
+        * one day to provide a certain slack. And in case somebody
+        * fiddled with the system clock, we make sure we do not go
+        * before the UNIX epoch (1970-01-01). It's probably not possible
+        * to do this to the clock on most systems, but there are other
+        * ways to tweak the build stamp.
+        */
+       jd.monthday -= 1;
+       ed = ntpcal_date_to_rd(&jd) - DAY_NTP_STARTS;
+       return (ed < NTP_TO_UNIX_DAYS) ? NTP_TO_UNIX_DAYS : ed;
+}
+
+int32_t
+basedate_eval_string(
+       const char * str
+       )
+{
+       u_short y,m,d;
+       u_long  ned;
+       int     rc, nc;
+       size_t  sl;
+
+       sl = strlen(str);       
+       rc = sscanf(str, "%4hu-%2hu-%2hu%n", &y, &m, &d, &nc);
+       if (rc == 3 && (size_t)nc == sl) {
+               if (m >= 1 && m <= 12 && d >= 1 && d <= 31)
+                       return ntpcal_edate_to_eradays(y-1, m-1, d)
+                           - DAY_NTP_STARTS;
+               goto buildstamp;
+       }
+
+       rc = scanf(str, "%lu%n", &ned, &nc);
+       if (rc == 1 && (size_t)nc == sl) {
+               if (ned <= INT32_MAX)
+                       return (int32_t)ned;
+               goto buildstamp;
+       }
+
+  buildstamp:
+       msyslog(LOG_WARNING,
+               "basedate string \"%s\" invalid, build date substituted!",
+               str);
+       return basedate_eval_buildstamp();
+}
+
+uint32_t
+basedate_get_day(void)
+{
+       return s_baseday;
+}
+
+int32_t
+basedate_set_day(
+       int32_t day
+       )
+{
+       struct calendar jd;
+       int32_t         retv;
+
+       if (day < NTP_TO_UNIX_DAYS) {
+               msyslog(LOG_WARNING,
+                       "baseday_set_day: invalid day (%lu), UNIX epoch substituted",
+                       (unsigned long)day);
+               day = NTP_TO_UNIX_DAYS;
+       }
+       retv = s_baseday; 
+       s_baseday = day;
+       ntpcal_rd_to_date(&jd, day + DAY_NTP_STARTS);
+       msyslog(LOG_INFO, "basedate set to %04hu-%02hu-%02hu",
+               jd.year, (u_short)jd.month, (u_short)jd.monthday);
+       return retv;
+}
+
+time_t
+basedate_get_eracenter(void)
+{
+       time_t retv;
+       retv  = (time_t)(s_baseday - NTP_TO_UNIX_DAYS);
+       retv *= SECSPERDAY;
+       retv += (UINT32_C(1) << 31);
+       return retv;
+}
+
+time_t
+basedate_get_erabase(void)
+{
+       time_t retv;
+       retv  = (time_t)(s_baseday - NTP_TO_UNIX_DAYS);
+       retv *= SECSPERDAY;
+       return retv;
+}
+
 /* -*-EOF-*- */
index 29f1e86375e2c73130ffe1c2116dc5f4e988d763..d0a5359d0e0922e64a86a3f63e2a1acc23e95ca2 100644 (file)
@@ -14,6 +14,7 @@
 #include "timevalops.h"
 #include "timespecops.h"
 #include "ntp_calendar.h"
+#include "lib_strbuf.h"
 
 #ifdef HAVE_SYS_PARAM_H
 # include <sys/param.h>
@@ -362,105 +363,16 @@ adj_systime(
 }
 #endif
 
-
 /*
- * step_systime - step the system clock.
+ * helper to keep utmp/wtmp up to date
  */
-
-int
-step_systime(
-       double step
+static void
+update_uwtmp(
+       struct timeval timetv,
+       struct timeval tvlast
        )
 {
-       time_t pivot; /* for ntp era unfolding */
-       struct timeval timetv, tvlast, tvdiff;
-       struct timespec timets;
-       struct calendar jd;
-       l_fp fp_ofs, fp_sys; /* offset and target system time in FP */
-
-       /*
-        * Get pivot time for NTP era unfolding. Since we don't step
-        * very often, we can afford to do the whole calculation from
-        * scratch. And we're not in the time-critical path yet.
-        */
-#if SIZEOF_TIME_T > 4
-       /*
-        * This code makes sure the resulting time stamp for the new
-        * system time is in the 2^32 seconds starting at 1970-01-01,
-        * 00:00:00 UTC.
-        */
-       pivot = 0x80000000;
-#if USE_COMPILETIME_PIVOT
-       /*
-        * Add the compile time minus 10 years to get a possible target
-        * area of (compile time - 10 years) to (compile time + 126
-        * years).  This should be sufficient for a given binary of
-        * NTPD.
-        */
-       if (ntpcal_get_build_date(&jd)) {
-               jd.year -= 10;
-               pivot += ntpcal_date_to_time(&jd);
-       } else {
-               msyslog(LOG_ERR,
-                       "step-systime: assume 1970-01-01 as build date");
-       }
-#else
-       UNUSED_LOCAL(jd);
-#endif /* USE_COMPILETIME_PIVOT */
-#else
-       UNUSED_LOCAL(jd);
-       /* This makes sure the resulting time stamp is on or after
-        * 1969-12-31/23:59:59 UTC and gives us additional two years,
-        * from the change of NTP era in 2036 to the UNIX rollover in
-        * 2038. (Minus one second, but that won't hurt.) We *really*
-        * need a longer 'time_t' after that!  Or a different baseline,
-        * but that would cause other serious trouble, too.
-        */
-       pivot = 0x7FFFFFFF;
-#endif
-
-       /* get the complete jump distance as l_fp */
-       DTOLFP(sys_residual, &fp_sys);
-       DTOLFP(step,         &fp_ofs);
-       L_ADD(&fp_ofs, &fp_sys);
-
-       /* ---> time-critical path starts ---> */
-
-       /* get the current time as l_fp (without fuzz) and as struct timeval */
-       get_ostime(&timets);
-       fp_sys = tspec_stamp_to_lfp(timets);
-       tvlast.tv_sec = timets.tv_sec;
-       tvlast.tv_usec = (timets.tv_nsec + 500) / 1000;
-
-       /* get the target time as l_fp */
-       L_ADD(&fp_sys, &fp_ofs);
-
-       /* unfold the new system time */
-       timetv = lfp_stamp_to_tval(fp_sys, &pivot);
-
-       /* now set new system time */
-       if (ntp_set_tod(&timetv, NULL) != 0) {
-               msyslog(LOG_ERR, "step-systime: %m");
-               if (enable_panic_check && allow_panic) {
-                       msyslog(LOG_ERR, "step_systime: allow_panic is TRUE!");
-               }
-               return FALSE;
-       }
-
-       /* <--- time-critical path ended with 'ntp_set_tod()' <--- */
-
-       sys_residual = 0;
-       lamport_violated = (step < 0);
-       if (step_callback)
-               (*step_callback)();
-
-#ifdef NEED_HPUX_ADJTIME
-       /*
-        * CHECKME: is this correct when called by ntpdate?????
-        */
-       _clear_adjtime();
-#endif
-
+       struct timeval tvdiff;
        /*
         * FreeBSD, for example, has:
         * struct utmp {
@@ -589,6 +501,83 @@ step_systime(
 #endif /* UPDATE_WTMPX */
 
        }
+}
+
+/*
+ * step_systime - step the system clock.
+ */
+
+int
+step_systime(
+       double step
+       )
+{
+       time_t pivot; /* for ntp era unfolding */
+       struct timeval timetv, tvlast;
+       struct timespec timets;
+       l_fp fp_ofs, fp_sys; /* offset and target system time in FP */
+
+       /*
+        * Get pivot time for NTP era unfolding. Since we don't step
+        * very often, we can afford to do the whole calculation from
+        * scratch. And we're not in the time-critical path yet.
+        */
+#if SIZEOF_TIME_T > 4
+       pivot = basedate_get_eracenter();
+#else
+       /* This makes sure the resulting time stamp is on or after
+        * 1969-12-31/23:59:59 UTC and gives us additional two years,
+        * from the change of NTP era in 2036 to the UNIX rollover in
+        * 2038. (Minus one second, but that won't hurt.) We *really*
+        * need a longer 'time_t' after that!  Or a different baseline,
+        * but that would cause other serious trouble, too.
+        */
+       pivot = 0x7FFFFFFF;
+#endif
+
+       /* get the complete jump distance as l_fp */
+       DTOLFP(sys_residual, &fp_sys);
+       DTOLFP(step,         &fp_ofs);
+       L_ADD(&fp_ofs, &fp_sys);
+
+       /* ---> time-critical path starts ---> */
+
+       /* get the current time as l_fp (without fuzz) and as struct timeval */
+       get_ostime(&timets);
+       fp_sys = tspec_stamp_to_lfp(timets);
+       tvlast.tv_sec = timets.tv_sec;
+       tvlast.tv_usec = (timets.tv_nsec + 500) / 1000;
+
+       /* get the target time as l_fp */
+       L_ADD(&fp_sys, &fp_ofs);
+
+       /* unfold the new system time */
+       timetv = lfp_stamp_to_tval(fp_sys, &pivot);
+
+       /* now set new system time */
+       if (ntp_set_tod(&timetv, NULL) != 0) {
+               msyslog(LOG_ERR, "step-systime: %m");
+               if (enable_panic_check && allow_panic) {
+                       msyslog(LOG_ERR, "step_systime: allow_panic is TRUE!");
+               }
+               return FALSE;
+       }
+
+       /* <--- time-critical path ended with 'ntp_set_tod()' <--- */
+
+       sys_residual = 0;
+       lamport_violated = (step < 0);
+       if (step_callback)
+               (*step_callback)();
+
+#ifdef NEED_HPUX_ADJTIME
+       /*
+        * CHECKME: is this correct when called by ntpdate?????
+        */
+       _clear_adjtime();
+#endif
+
+       update_uwtmp(timetv, tvlast);
        if (enable_panic_check && allow_panic) {
                msyslog(LOG_ERR, "step_systime: allow_panic is TRUE!");
                INSIST(!allow_panic);
@@ -596,4 +585,93 @@ step_systime(
        return TRUE;
 }
 
+static const char *
+tv_fmt_libbuf(
+       const struct timeval * ptv
+       )
+{
+       char *          retv;
+       vint64          secs;
+       ntpcal_split    dds;
+       struct calendar jd;
+
+       secs = time_to_vint64(&ptv->tv_sec);
+       dds  = ntpcal_daysplit(&secs);
+       ntpcal_daysplit_to_date(&jd, &dds, DAY_UNIX_STARTS);
+       LIB_GETBUF(retv);
+       snprintf(retv, LIB_BUFLENGTH,
+                "%04hu-%02hu-%02hu/%02hu:%02hu:%02hu.%06u",
+                jd.year, (u_short)jd.month, (u_short)jd.monthday,
+                (u_short)jd.hour, (u_short)jd.minute, (u_short)jd.second,
+                (u_int)ptv->tv_usec);
+       return retv;
+}
+
+
+int /*BOOL*/
+clamp_systime(void)
+{
+#if SIZEOF_TIME_T > 4
+
+       struct timeval timetv, tvlast;
+       struct timespec timets;
+       uint32_t        tdiff;
+
+       
+       timetv.tv_sec = basedate_get_erabase();
+       
+       /* ---> time-critical path starts ---> */
+
+       /* get the current time as l_fp (without fuzz) and as struct timeval */
+       get_ostime(&timets);
+       tvlast.tv_sec = timets.tv_sec;
+       tvlast.tv_usec = (timets.tv_nsec + 500) / 1000;
+       if (tvlast.tv_usec >= 1000000) {
+               tvlast.tv_usec -= 1000000;
+               tvlast.tv_sec  += 1;
+       }
+       timetv.tv_usec = tvlast.tv_usec;
+
+       tdiff = (uint32_t)(tvlast.tv_sec & UINT32_MAX) -
+               (uint32_t)(timetv.tv_sec & UINT32_MAX);
+       timetv.tv_sec += tdiff;
+       if (timetv.tv_sec != tvlast.tv_sec) {
+               /* now set new system time */
+               if (ntp_set_tod(&timetv, NULL) != 0) {
+                       msyslog(LOG_ERR, "clamp-systime: %m");
+                       return FALSE;
+               }
+       } else {
+               msyslog(LOG_INFO,
+                       "clamp-systime: clock (%s) in allowed range",
+                       tv_fmt_libbuf(&timetv));
+               return FALSE;
+       }
+
+       /* <--- time-critical path ended with 'ntp_set_tod()' <--- */
+
+       sys_residual = 0;
+       lamport_violated = (timetv.tv_sec < tvlast.tv_sec);
+       if (step_callback)
+               (*step_callback)();
+
+#   ifdef NEED_HPUX_ADJTIME
+       /*
+        * CHECKME: is this correct when called by ntpdate?????
+        */
+       _clear_adjtime();
+#   endif
+
+       update_uwtmp(timetv, tvlast);
+       msyslog(LOG_WARNING,
+               "clamp-systime: clock stepped from %s to %s!",
+               tv_fmt_libbuf(&tvlast), tv_fmt_libbuf(&timetv));
+       return TRUE;
+               
+#else
+
+       return 0;
+#endif
+}
+
 #endif /* !SIM */
index 683453dc64406fdb972887b4ea75eaceb56f2b23..bf736c1ceebef27dc39001df449f3538c53c0361 100644 (file)
@@ -1 +1 @@
- *      Generated 2016-11-09 11:39:28 UTC        diff_ignore_line
+ *      Generated 2017-10-03 09:37:20 UTC        diff_ignore_line
index c9d30bece22652cd712c1a43dfa6b7fa6c57bb13..600292feb6005f0ec5a16462fa25ecfeaef4653c 100644 (file)
@@ -153,6 +153,7 @@ struct key_tok ntp_keywords[] = {
 { "orphan",            T_Orphan,               FOLLBY_TOKEN },
 { "orphanwait",                T_Orphanwait,           FOLLBY_TOKEN },
 { "nonvolatile",       T_Nonvolatile,          FOLLBY_TOKEN },
+{ "basedate",          T_Basedate,             FOLLBY_STRING },
 /* access_control_flag */
 { "default",           T_Default,              FOLLBY_TOKEN },
 { "source",            T_Source,               FOLLBY_TOKEN },
index 428ab9f467d6791d1b1e4ade64016887da49e1ca..16fccb76ee818276aba2e2c7acb53451abc5b7c9 100644 (file)
@@ -312,6 +312,7 @@ static void config_monitor(config_tree *);
 static void config_rlimit(config_tree *);
 static void config_system_opts(config_tree *);
 static void config_tinker(config_tree *);
+static void config_tos_clock(config_tree *);
 static void config_tos(config_tree *);
 static void config_vars(config_tree *);
 
@@ -722,6 +723,21 @@ dump_config_tree(
                                        token_name(atrv->type));
                                break;
 #endif
+                       case T_Integer:
+                               if (atrv->attr == T_Basedate) {
+                                       struct calendar jd;
+                                       ntpcal_rd_to_date(&jd, atrv->value.i + DAY_NTP_STARTS);
+                                       fprintf(df, " %s \"%04hu-%02hu-%02hu\"",
+                                               keyword(atrv->attr), jd.year,
+                                               (u_short)jd.month,
+                                               (u_short)jd.monthday);
+                               } else {
+                                       fprintf(df, " %s %d",
+                                       keyword(atrv->attr),
+                                       atrv->value.i);
+                               }
+                               break;
+                               
                        case T_Double:
                                fprintf(df, " %s %s",
                                        keyword(atrv->attr),
@@ -2009,6 +2025,27 @@ free_config_auth(
 #endif /* FREE_CFG_T */
 
 
+static void
+config_tos_clock(
+       config_tree *ptree
+       )
+{
+       attr_val *      tos;
+
+       tos = HEAD_PFIFO(ptree->orphan_cmds);
+       for (; tos != NULL; tos = tos->link) {
+               switch(tos->attr) {
+
+               default:
+                       break;
+
+               case T_Basedate:
+                       basedate_set_day(tos->value.i);
+                       break;
+               }
+       }
+}
+
 static void
 config_tos(
        config_tree *ptree
@@ -2034,12 +2071,16 @@ config_tos(
        /* -*- phase one: inspect / sanitize the values */
        tos = HEAD_PFIFO(ptree->orphan_cmds);
        for (; tos != NULL; tos = tos->link) {
-               val = tos->value.d;
+               /* not all attributes are doubles (any more), so loading
+                * 'val' in all cases is not a good idea: It should be
+                * done as needed in every case processed here.
+                */
                switch(tos->attr) {
                default:
                        break;
 
                case T_Bcpollbstep:
+                       val = tos->value.d;
                        if (val > 4) {
                                msyslog(LOG_WARNING,
                                        "Using maximum bcpollbstep ceiling %d, %d requested",
@@ -2054,6 +2095,7 @@ config_tos(
                        break;
                        
                case T_Ceiling:
+                       val = tos->value.d;
                        if (val > STRATUM_UNSPEC - 1) {
                                msyslog(LOG_WARNING,
                                        "Using maximum tos ceiling %d, %d requested",
@@ -2068,18 +2110,21 @@ config_tos(
                        break;
 
                case T_Minclock:
+                       val = tos->value.d;
                        if ((int)tos->value.d < 1)
                                tos->value.d = 1;
                        l_minclock = (int)tos->value.d;
                        break;
 
                case T_Maxclock:
+                       val = tos->value.d;
                        if ((int)tos->value.d < 1)
                                tos->value.d = 1;
                        l_maxclock = (int)tos->value.d;
                        break;
 
                case T_Minsane:
+                       val = tos->value.d;
                        if ((int)tos->value.d < 1)
                                tos->value.d = 1;
                        l_minsane = (int)tos->value.d;
@@ -2097,7 +2142,6 @@ config_tos(
        /* -*- phase two: forward the values to the protocol machinery */
        tos = HEAD_PFIFO(ptree->orphan_cmds);
        for (; tos != NULL; tos = tos->link) {
-               val = tos->value.d;
                switch(tos->attr) {
 
                default:
@@ -2150,8 +2194,11 @@ config_tos(
                case T_Beacon:
                        item = PROTO_BEACON;
                        break;
+
+               case T_Basedate:
+                       continue; /* SKIP proto-config for this! */
                }
-               proto_config(item, 0, val, NULL);
+               proto_config(item, 0, tos->value.d, NULL);
        }
 }
 
@@ -4420,6 +4467,12 @@ config_ntpd(
        int/*BOOL*/ input_from_files
        )
 {
+       dump_config_tree(ptree, stderr, 1); 
+       if (input_from_files) {
+               config_tos_clock(ptree);
+               clamp_systime();
+       }
+       
        config_nic_rules(ptree, input_from_files);
        config_monitor(ptree);
        config_auth(ptree);
index 57ec764058cc8d19346c79c60cbfeb61de035b1a..fc41f115ef0e35aba12423bb1d1af41d4b10e693 100644 (file)
@@ -2,7 +2,7 @@
  * ntp_keyword.h
  * 
  * NOTE: edit this file with caution, it is generated by keyword-gen.c
- *      Generated 2016-11-09 11:39:28 UTC        diff_ignore_line
+ *      Generated 2017-10-03 09:37:20 UTC        diff_ignore_line
  *
  */
 #include "ntp_scanner.h"
@@ -10,7 +10,7 @@
 
 #define LOWEST_KEYWORD_ID 258
 
-const char * const keyword_text[196] = {
+const char * const keyword_text[197] = {
        /* 0       258             T_Abbrev */  "abbrev",
        /* 1       259                T_Age */  "age",
        /* 2       260                T_All */  "all",
@@ -20,203 +20,204 @@ const char * const keyword_text[196] = {
        /* 6       264            T_Autokey */  "autokey",
        /* 7       265            T_Automax */  "automax",
        /* 8       266            T_Average */  "average",
-       /* 9       267            T_Bclient */  "bclient",
-       /* 10      268        T_Bcpollbstep */  "bcpollbstep",
-       /* 11      269             T_Beacon */  "beacon",
-       /* 12      270          T_Broadcast */  "broadcast",
-       /* 13      271    T_Broadcastclient */  "broadcastclient",
-       /* 14      272     T_Broadcastdelay */  "broadcastdelay",
-       /* 15      273              T_Burst */  "burst",
-       /* 16      274          T_Calibrate */  "calibrate",
-       /* 17      275            T_Ceiling */  "ceiling",
-       /* 18      276         T_Clockstats */  "clockstats",
-       /* 19      277             T_Cohort */  "cohort",
-       /* 20      278         T_ControlKey */  "controlkey",
-       /* 21      279             T_Crypto */  "crypto",
-       /* 22      280        T_Cryptostats */  "cryptostats",
-       /* 23      281                T_Ctl */  "ctl",
-       /* 24      282                T_Day */  "day",
-       /* 25      283            T_Default */  "default",
-       /* 26      284             T_Digest */  "digest",
-       /* 27      285            T_Disable */  "disable",
-       /* 28      286            T_Discard */  "discard",
-       /* 29      287         T_Dispersion */  "dispersion",
-       /* 30      288             T_Double */  NULL,
-       /* 31      289          T_Driftfile */  "driftfile",
-       /* 32      290               T_Drop */  "drop",
-       /* 33      291               T_Dscp */  "dscp",
-       /* 34      292           T_Ellipsis */  "...",
-       /* 35      293             T_Enable */  "enable",
-       /* 36      294                T_End */  "end",
-       /* 37      295              T_False */  NULL,
-       /* 38      296               T_File */  "file",
-       /* 39      297            T_Filegen */  "filegen",
-       /* 40      298            T_Filenum */  "filenum",
-       /* 41      299              T_Flag1 */  "flag1",
-       /* 42      300              T_Flag2 */  "flag2",
-       /* 43      301              T_Flag3 */  "flag3",
-       /* 44      302              T_Flag4 */  "flag4",
-       /* 45      303              T_Flake */  "flake",
-       /* 46      304              T_Floor */  "floor",
-       /* 47      305               T_Freq */  "freq",
-       /* 48      306              T_Fudge */  "fudge",
-       /* 49      307               T_Host */  "host",
-       /* 50      308           T_Huffpuff */  "huffpuff",
-       /* 51      309             T_Iburst */  "iburst",
-       /* 52      310              T_Ident */  "ident",
-       /* 53      311             T_Ignore */  "ignore",
-       /* 54      312           T_Incalloc */  "incalloc",
-       /* 55      313             T_Incmem */  "incmem",
-       /* 56      314          T_Initalloc */  "initalloc",
-       /* 57      315            T_Initmem */  "initmem",
-       /* 58      316        T_Includefile */  "includefile",
-       /* 59      317            T_Integer */  NULL,
-       /* 60      318          T_Interface */  "interface",
-       /* 61      319           T_Intrange */  NULL,
-       /* 62      320                 T_Io */  "io",
-       /* 63      321               T_Ipv4 */  "ipv4",
-       /* 64      322          T_Ipv4_flag */  "-4",
-       /* 65      323               T_Ipv6 */  "ipv6",
-       /* 66      324          T_Ipv6_flag */  "-6",
-       /* 67      325             T_Kernel */  "kernel",
-       /* 68      326                T_Key */  "key",
-       /* 69      327               T_Keys */  "keys",
-       /* 70      328            T_Keysdir */  "keysdir",
-       /* 71      329                T_Kod */  "kod",
-       /* 72      330             T_Mssntp */  "mssntp",
-       /* 73      331           T_Leapfile */  "leapfile",
-       /* 74      332  T_Leapsmearinterval */  "leapsmearinterval",
-       /* 75      333            T_Limited */  "limited",
-       /* 76      334               T_Link */  "link",
-       /* 77      335             T_Listen */  "listen",
-       /* 78      336          T_Logconfig */  "logconfig",
-       /* 79      337            T_Logfile */  "logfile",
-       /* 80      338          T_Loopstats */  "loopstats",
-       /* 81      339        T_Lowpriotrap */  "lowpriotrap",
-       /* 82      340     T_Manycastclient */  "manycastclient",
-       /* 83      341     T_Manycastserver */  "manycastserver",
-       /* 84      342               T_Mask */  "mask",
-       /* 85      343             T_Maxage */  "maxage",
-       /* 86      344           T_Maxclock */  "maxclock",
-       /* 87      345           T_Maxdepth */  "maxdepth",
-       /* 88      346            T_Maxdist */  "maxdist",
-       /* 89      347             T_Maxmem */  "maxmem",
-       /* 90      348            T_Maxpoll */  "maxpoll",
-       /* 91      349          T_Mdnstries */  "mdnstries",
-       /* 92      350                T_Mem */  "mem",
-       /* 93      351            T_Memlock */  "memlock",
-       /* 94      352           T_Minclock */  "minclock",
-       /* 95      353           T_Mindepth */  "mindepth",
-       /* 96      354            T_Mindist */  "mindist",
-       /* 97      355            T_Minimum */  "minimum",
-       /* 98      356            T_Minpoll */  "minpoll",
-       /* 99      357            T_Minsane */  "minsane",
-       /* 100     358               T_Mode */  "mode",
-       /* 101     359              T_Mode7 */  "mode7",
-       /* 102     360            T_Monitor */  "monitor",
-       /* 103     361              T_Month */  "month",
-       /* 104     362                T_Mru */  "mru",
-       /* 105     363    T_Multicastclient */  "multicastclient",
-       /* 106     364                T_Nic */  "nic",
-       /* 107     365             T_Nolink */  "nolink",
-       /* 108     366           T_Nomodify */  "nomodify",
-       /* 109     367          T_Nomrulist */  "nomrulist",
-       /* 110     368               T_None */  "none",
-       /* 111     369        T_Nonvolatile */  "nonvolatile",
-       /* 112     370             T_Nopeer */  "nopeer",
-       /* 113     371            T_Noquery */  "noquery",
-       /* 114     372           T_Noselect */  "noselect",
-       /* 115     373            T_Noserve */  "noserve",
-       /* 116     374             T_Notrap */  "notrap",
-       /* 117     375            T_Notrust */  "notrust",
-       /* 118     376                T_Ntp */  "ntp",
-       /* 119     377            T_Ntpport */  "ntpport",
-       /* 120     378     T_NtpSignDsocket */  "ntpsigndsocket",
-       /* 121     379             T_Orphan */  "orphan",
-       /* 122     380         T_Orphanwait */  "orphanwait",
-       /* 123     381          T_PCEdigest */  "peer_clear_digest_early",
-       /* 124     382              T_Panic */  "panic",
-       /* 125     383               T_Peer */  "peer",
-       /* 126     384          T_Peerstats */  "peerstats",
-       /* 127     385              T_Phone */  "phone",
-       /* 128     386                T_Pid */  "pid",
-       /* 129     387            T_Pidfile */  "pidfile",
-       /* 130     388               T_Pool */  "pool",
-       /* 131     389               T_Port */  "port",
-       /* 132     390            T_Preempt */  "preempt",
-       /* 133     391             T_Prefer */  "prefer",
-       /* 134     392         T_Protostats */  "protostats",
-       /* 135     393                 T_Pw */  "pw",
-       /* 136     394           T_Randfile */  "randfile",
-       /* 137     395           T_Rawstats */  "rawstats",
-       /* 138     396              T_Refid */  "refid",
-       /* 139     397         T_Requestkey */  "requestkey",
-       /* 140     398              T_Reset */  "reset",
-       /* 141     399           T_Restrict */  "restrict",
-       /* 142     400             T_Revoke */  "revoke",
-       /* 143     401             T_Rlimit */  "rlimit",
-       /* 144     402      T_Saveconfigdir */  "saveconfigdir",
-       /* 145     403             T_Server */  "server",
-       /* 146     404             T_Setvar */  "setvar",
-       /* 147     405             T_Source */  "source",
-       /* 148     406          T_Stacksize */  "stacksize",
-       /* 149     407         T_Statistics */  "statistics",
-       /* 150     408              T_Stats */  "stats",
-       /* 151     409           T_Statsdir */  "statsdir",
-       /* 152     410               T_Step */  "step",
-       /* 153     411           T_Stepback */  "stepback",
-       /* 154     412            T_Stepfwd */  "stepfwd",
-       /* 155     413            T_Stepout */  "stepout",
-       /* 156     414            T_Stratum */  "stratum",
-       /* 157     415             T_String */  NULL,
-       /* 158     416                T_Sys */  "sys",
-       /* 159     417           T_Sysstats */  "sysstats",
-       /* 160     418               T_Tick */  "tick",
-       /* 161     419              T_Time1 */  "time1",
-       /* 162     420              T_Time2 */  "time2",
-       /* 163     421              T_Timer */  "timer",
-       /* 164     422        T_Timingstats */  "timingstats",
-       /* 165     423             T_Tinker */  "tinker",
-       /* 166     424                T_Tos */  "tos",
-       /* 167     425               T_Trap */  "trap",
-       /* 168     426               T_True */  "true",
-       /* 169     427         T_Trustedkey */  "trustedkey",
-       /* 170     428                T_Ttl */  "ttl",
-       /* 171     429               T_Type */  "type",
-       /* 172     430              T_U_int */  NULL,
-       /* 173     431           T_UEcrypto */  "unpeer_crypto_early",
-       /* 174     432        T_UEcryptonak */  "unpeer_crypto_nak_early",
-       /* 175     433           T_UEdigest */  "unpeer_digest_early",
-       /* 176     434           T_Unconfig */  "unconfig",
-       /* 177     435             T_Unpeer */  "unpeer",
-       /* 178     436            T_Version */  "version",
-       /* 179     437    T_WanderThreshold */  NULL,
-       /* 180     438               T_Week */  "week",
-       /* 181     439           T_Wildcard */  "wildcard",
-       /* 182     440             T_Xleave */  "xleave",
-       /* 183     441               T_Year */  "year",
-       /* 184     442               T_Flag */  NULL,
-       /* 185     443                T_EOC */  NULL,
-       /* 186     444           T_Simulate */  "simulate",
-       /* 187     445         T_Beep_Delay */  "beep_delay",
-       /* 188     446       T_Sim_Duration */  "simulation_duration",
-       /* 189     447      T_Server_Offset */  "server_offset",
-       /* 190     448           T_Duration */  "duration",
-       /* 191     449        T_Freq_Offset */  "freq_offset",
-       /* 192     450             T_Wander */  "wander",
-       /* 193     451             T_Jitter */  "jitter",
-       /* 194     452         T_Prop_Delay */  "prop_delay",
-       /* 195     453         T_Proc_Delay */  "proc_delay"
+       /* 9       267           T_Basedate */  "basedate",
+       /* 10      268            T_Bclient */  "bclient",
+       /* 11      269        T_Bcpollbstep */  "bcpollbstep",
+       /* 12      270             T_Beacon */  "beacon",
+       /* 13      271          T_Broadcast */  "broadcast",
+       /* 14      272    T_Broadcastclient */  "broadcastclient",
+       /* 15      273     T_Broadcastdelay */  "broadcastdelay",
+       /* 16      274              T_Burst */  "burst",
+       /* 17      275          T_Calibrate */  "calibrate",
+       /* 18      276            T_Ceiling */  "ceiling",
+       /* 19      277         T_Clockstats */  "clockstats",
+       /* 20      278             T_Cohort */  "cohort",
+       /* 21      279         T_ControlKey */  "controlkey",
+       /* 22      280             T_Crypto */  "crypto",
+       /* 23      281        T_Cryptostats */  "cryptostats",
+       /* 24      282                T_Ctl */  "ctl",
+       /* 25      283                T_Day */  "day",
+       /* 26      284            T_Default */  "default",
+       /* 27      285             T_Digest */  "digest",
+       /* 28      286            T_Disable */  "disable",
+       /* 29      287            T_Discard */  "discard",
+       /* 30      288         T_Dispersion */  "dispersion",
+       /* 31      289             T_Double */  NULL,
+       /* 32      290          T_Driftfile */  "driftfile",
+       /* 33      291               T_Drop */  "drop",
+       /* 34      292               T_Dscp */  "dscp",
+       /* 35      293           T_Ellipsis */  "...",
+       /* 36      294             T_Enable */  "enable",
+       /* 37      295                T_End */  "end",
+       /* 38      296              T_False */  NULL,
+       /* 39      297               T_File */  "file",
+       /* 40      298            T_Filegen */  "filegen",
+       /* 41      299            T_Filenum */  "filenum",
+       /* 42      300              T_Flag1 */  "flag1",
+       /* 43      301              T_Flag2 */  "flag2",
+       /* 44      302              T_Flag3 */  "flag3",
+       /* 45      303              T_Flag4 */  "flag4",
+       /* 46      304              T_Flake */  "flake",
+       /* 47      305              T_Floor */  "floor",
+       /* 48      306               T_Freq */  "freq",
+       /* 49      307              T_Fudge */  "fudge",
+       /* 50      308               T_Host */  "host",
+       /* 51      309           T_Huffpuff */  "huffpuff",
+       /* 52      310             T_Iburst */  "iburst",
+       /* 53      311              T_Ident */  "ident",
+       /* 54      312             T_Ignore */  "ignore",
+       /* 55      313           T_Incalloc */  "incalloc",
+       /* 56      314             T_Incmem */  "incmem",
+       /* 57      315          T_Initalloc */  "initalloc",
+       /* 58      316            T_Initmem */  "initmem",
+       /* 59      317        T_Includefile */  "includefile",
+       /* 60      318            T_Integer */  NULL,
+       /* 61      319          T_Interface */  "interface",
+       /* 62      320           T_Intrange */  NULL,
+       /* 63      321                 T_Io */  "io",
+       /* 64      322               T_Ipv4 */  "ipv4",
+       /* 65      323          T_Ipv4_flag */  "-4",
+       /* 66      324               T_Ipv6 */  "ipv6",
+       /* 67      325          T_Ipv6_flag */  "-6",
+       /* 68      326             T_Kernel */  "kernel",
+       /* 69      327                T_Key */  "key",
+       /* 70      328               T_Keys */  "keys",
+       /* 71      329            T_Keysdir */  "keysdir",
+       /* 72      330                T_Kod */  "kod",
+       /* 73      331             T_Mssntp */  "mssntp",
+       /* 74      332           T_Leapfile */  "leapfile",
+       /* 75      333  T_Leapsmearinterval */  "leapsmearinterval",
+       /* 76      334            T_Limited */  "limited",
+       /* 77      335               T_Link */  "link",
+       /* 78      336             T_Listen */  "listen",
+       /* 79      337          T_Logconfig */  "logconfig",
+       /* 80      338            T_Logfile */  "logfile",
+       /* 81      339          T_Loopstats */  "loopstats",
+       /* 82      340        T_Lowpriotrap */  "lowpriotrap",
+       /* 83      341     T_Manycastclient */  "manycastclient",
+       /* 84      342     T_Manycastserver */  "manycastserver",
+       /* 85      343               T_Mask */  "mask",
+       /* 86      344             T_Maxage */  "maxage",
+       /* 87      345           T_Maxclock */  "maxclock",
+       /* 88      346           T_Maxdepth */  "maxdepth",
+       /* 89      347            T_Maxdist */  "maxdist",
+       /* 90      348             T_Maxmem */  "maxmem",
+       /* 91      349            T_Maxpoll */  "maxpoll",
+       /* 92      350          T_Mdnstries */  "mdnstries",
+       /* 93      351                T_Mem */  "mem",
+       /* 94      352            T_Memlock */  "memlock",
+       /* 95      353           T_Minclock */  "minclock",
+       /* 96      354           T_Mindepth */  "mindepth",
+       /* 97      355            T_Mindist */  "mindist",
+       /* 98      356            T_Minimum */  "minimum",
+       /* 99      357            T_Minpoll */  "minpoll",
+       /* 100     358            T_Minsane */  "minsane",
+       /* 101     359               T_Mode */  "mode",
+       /* 102     360              T_Mode7 */  "mode7",
+       /* 103     361            T_Monitor */  "monitor",
+       /* 104     362              T_Month */  "month",
+       /* 105     363                T_Mru */  "mru",
+       /* 106     364    T_Multicastclient */  "multicastclient",
+       /* 107     365                T_Nic */  "nic",
+       /* 108     366             T_Nolink */  "nolink",
+       /* 109     367           T_Nomodify */  "nomodify",
+       /* 110     368          T_Nomrulist */  "nomrulist",
+       /* 111     369               T_None */  "none",
+       /* 112     370        T_Nonvolatile */  "nonvolatile",
+       /* 113     371             T_Nopeer */  "nopeer",
+       /* 114     372            T_Noquery */  "noquery",
+       /* 115     373           T_Noselect */  "noselect",
+       /* 116     374            T_Noserve */  "noserve",
+       /* 117     375             T_Notrap */  "notrap",
+       /* 118     376            T_Notrust */  "notrust",
+       /* 119     377                T_Ntp */  "ntp",
+       /* 120     378            T_Ntpport */  "ntpport",
+       /* 121     379     T_NtpSignDsocket */  "ntpsigndsocket",
+       /* 122     380             T_Orphan */  "orphan",
+       /* 123     381         T_Orphanwait */  "orphanwait",
+       /* 124     382          T_PCEdigest */  "peer_clear_digest_early",
+       /* 125     383              T_Panic */  "panic",
+       /* 126     384               T_Peer */  "peer",
+       /* 127     385          T_Peerstats */  "peerstats",
+       /* 128     386              T_Phone */  "phone",
+       /* 129     387                T_Pid */  "pid",
+       /* 130     388            T_Pidfile */  "pidfile",
+       /* 131     389               T_Pool */  "pool",
+       /* 132     390               T_Port */  "port",
+       /* 133     391            T_Preempt */  "preempt",
+       /* 134     392             T_Prefer */  "prefer",
+       /* 135     393         T_Protostats */  "protostats",
+       /* 136     394                 T_Pw */  "pw",
+       /* 137     395           T_Randfile */  "randfile",
+       /* 138     396           T_Rawstats */  "rawstats",
+       /* 139     397              T_Refid */  "refid",
+       /* 140     398         T_Requestkey */  "requestkey",
+       /* 141     399              T_Reset */  "reset",
+       /* 142     400           T_Restrict */  "restrict",
+       /* 143     401             T_Revoke */  "revoke",
+       /* 144     402             T_Rlimit */  "rlimit",
+       /* 145     403      T_Saveconfigdir */  "saveconfigdir",
+       /* 146     404             T_Server */  "server",
+       /* 147     405             T_Setvar */  "setvar",
+       /* 148     406             T_Source */  "source",
+       /* 149     407          T_Stacksize */  "stacksize",
+       /* 150     408         T_Statistics */  "statistics",
+       /* 151     409              T_Stats */  "stats",
+       /* 152     410           T_Statsdir */  "statsdir",
+       /* 153     411               T_Step */  "step",
+       /* 154     412           T_Stepback */  "stepback",
+       /* 155     413            T_Stepfwd */  "stepfwd",
+       /* 156     414            T_Stepout */  "stepout",
+       /* 157     415            T_Stratum */  "stratum",
+       /* 158     416             T_String */  NULL,
+       /* 159     417                T_Sys */  "sys",
+       /* 160     418           T_Sysstats */  "sysstats",
+       /* 161     419               T_Tick */  "tick",
+       /* 162     420              T_Time1 */  "time1",
+       /* 163     421              T_Time2 */  "time2",
+       /* 164     422              T_Timer */  "timer",
+       /* 165     423        T_Timingstats */  "timingstats",
+       /* 166     424             T_Tinker */  "tinker",
+       /* 167     425                T_Tos */  "tos",
+       /* 168     426               T_Trap */  "trap",
+       /* 169     427               T_True */  "true",
+       /* 170     428         T_Trustedkey */  "trustedkey",
+       /* 171     429                T_Ttl */  "ttl",
+       /* 172     430               T_Type */  "type",
+       /* 173     431              T_U_int */  NULL,
+       /* 174     432           T_UEcrypto */  "unpeer_crypto_early",
+       /* 175     433        T_UEcryptonak */  "unpeer_crypto_nak_early",
+       /* 176     434           T_UEdigest */  "unpeer_digest_early",
+       /* 177     435           T_Unconfig */  "unconfig",
+       /* 178     436             T_Unpeer */  "unpeer",
+       /* 179     437            T_Version */  "version",
+       /* 180     438    T_WanderThreshold */  NULL,
+       /* 181     439               T_Week */  "week",
+       /* 182     440           T_Wildcard */  "wildcard",
+       /* 183     441             T_Xleave */  "xleave",
+       /* 184     442               T_Year */  "year",
+       /* 185     443               T_Flag */  NULL,
+       /* 186     444                T_EOC */  NULL,
+       /* 187     445           T_Simulate */  "simulate",
+       /* 188     446         T_Beep_Delay */  "beep_delay",
+       /* 189     447       T_Sim_Duration */  "simulation_duration",
+       /* 190     448      T_Server_Offset */  "server_offset",
+       /* 191     449           T_Duration */  "duration",
+       /* 192     450        T_Freq_Offset */  "freq_offset",
+       /* 193     451             T_Wander */  "wander",
+       /* 194     452             T_Jitter */  "jitter",
+       /* 195     453         T_Prop_Delay */  "prop_delay",
+       /* 196     454         T_Proc_Delay */  "proc_delay"
 };
 
-#define SCANNER_INIT_S 915
+#define SCANNER_INIT_S 922
 
-const scan_state sst[918] = {
+const scan_state sst[925] = {
 /*SS_T( ch,    f-by, match, other ),                            */
   0,                                 /*     0                   */
-  S_ST( '-',   3,      324,     0 ), /*     1                   */
+  S_ST( '-',   3,      325,     0 ), /*     1                   */
   S_ST( '.',   3,        3,     1 ), /*     2                   */
-  S_ST( '.',   3,      292,     0 ), /*     3 .                 */
+  S_ST( '.',   3,      293,     0 ), /*     3 .                 */
   S_ST( 'a',   3,       23,     2 ), /*     4                   */
   S_ST( 'b',   3,        6,     0 ), /*     5 a                 */
   S_ST( 'b',   3,        7,     0 ), /*     6 ab                */
@@ -241,236 +242,236 @@ const scan_state sst[918] = {
   S_ST( 'r',   3,       26,     0 ), /*    25 ave               */
   S_ST( 'a',   3,       27,     0 ), /*    26 aver              */
   S_ST( 'g',   3,      266,     0 ), /*    27 avera             */
-  S_ST( 'b',   3,       69,     4 ), /*    28                   */
-  S_ST( 'c',   3,       34,     0 ), /*    29 b                 */
-  S_ST( 'l',   3,       31,     0 ), /*    30 bc                */
-  S_ST( 'i',   3,       32,     0 ), /*    31 bcl               */
-  S_ST( 'e',   3,       33,     0 ), /*    32 bcli              */
-  S_ST( 'n',   3,      267,     0 ), /*    33 bclie             */
-  S_ST( 'p',   3,       35,    30 ), /*    34 bc                */
-  S_ST( 'o',   3,       36,     0 ), /*    35 bcp               */
-  S_ST( 'l',   3,       37,     0 ), /*    36 bcpo              */
-  S_ST( 'l',   3,       38,     0 ), /*    37 bcpol             */
-  S_ST( 'b',   3,       39,     0 ), /*    38 bcpoll            */
-  S_ST( 's',   3,       40,     0 ), /*    39 bcpollb           */
-  S_ST( 't',   3,       41,     0 ), /*    40 bcpollbs          */
-  S_ST( 'e',   3,      268,     0 ), /*    41 bcpollbst         */
-  S_ST( 'e',   3,       46,    29 ), /*    42 b                 */
-  S_ST( 'a',   3,       44,     0 ), /*    43 be                */
-  S_ST( 'c',   3,       45,     0 ), /*    44 bea               */
-  S_ST( 'o',   3,      269,     0 ), /*    45 beac              */
-  S_ST( 'e',   3,       47,    43 ), /*    46 be                */
-  S_ST( 'p',   3,       48,     0 ), /*    47 bee               */
-  S_ST( '_',   3,       49,     0 ), /*    48 beep              */
-  S_ST( 'd',   3,       50,     0 ), /*    49 beep_             */
-  S_ST( 'e',   3,       51,     0 ), /*    50 beep_d            */
-  S_ST( 'l',   3,       52,     0 ), /*    51 beep_de           */
-  S_ST( 'a',   3,      445,     0 ), /*    52 beep_del          */
-  S_ST( 'r',   3,       54,    42 ), /*    53 b                 */
-  S_ST( 'o',   3,       55,     0 ), /*    54 br                */
-  S_ST( 'a',   3,       56,     0 ), /*    55 bro               */
-  S_ST( 'd',   3,       57,     0 ), /*    56 broa              */
-  S_ST( 'c',   3,       58,     0 ), /*    57 broad             */
-  S_ST( 'a',   3,       59,     0 ), /*    58 broadc            */
-  S_ST( 's',   3,      270,     0 ), /*    59 broadca           */
-  S_ST( 'c',   3,       61,     0 ), /*    60 broadcast         */
-  S_ST( 'l',   3,       62,     0 ), /*    61 broadcastc        */
-  S_ST( 'i',   3,       63,     0 ), /*    62 broadcastcl       */
-  S_ST( 'e',   3,       64,     0 ), /*    63 broadcastcli      */
-  S_ST( 'n',   3,      271,     0 ), /*    64 broadcastclie     */
-  S_ST( 'd',   3,       66,    60 ), /*    65 broadcast         */
-  S_ST( 'e',   3,       67,     0 ), /*    66 broadcastd        */
-  S_ST( 'l',   3,       68,     0 ), /*    67 broadcastde       */
-  S_ST( 'a',   3,      272,     0 ), /*    68 broadcastdel      */
-  S_ST( 'u',   3,       70,    53 ), /*    69 b                 */
-  S_ST( 'r',   3,       71,     0 ), /*    70 bu                */
-  S_ST( 's',   3,      273,     0 ), /*    71 bur               */
-  S_ST( 'c',   3,      112,    28 ), /*    72                   */
-  S_ST( 'a',   3,       74,     0 ), /*    73 c                 */
-  S_ST( 'l',   3,       75,     0 ), /*    74 ca                */
-  S_ST( 'i',   3,       76,     0 ), /*    75 cal               */
-  S_ST( 'b',   3,       77,     0 ), /*    76 cali              */
-  S_ST( 'r',   3,       78,     0 ), /*    77 calib             */
-  S_ST( 'a',   3,       79,     0 ), /*    78 calibr            */
-  S_ST( 't',   3,      274,     0 ), /*    79 calibra           */
-  S_ST( 'e',   3,       81,    73 ), /*    80 c                 */
-  S_ST( 'i',   3,       82,     0 ), /*    81 c               */
-  S_ST( 'l',   3,       83,     0 ), /*    82 cei               */
-  S_ST( 'i',   3,       84,     0 ), /*    83 ceil              */
-  S_ST( 'n',   3,      275,     0 ), /*    84 ceili             */
-  S_ST( 'l',   3,       86,    80 ), /*    85 c                 */
-  S_ST( 'o',   3,       87,     0 ), /*    86 cl                */
-  S_ST( 'c',   3,       88,     0 ), /*    87 clo               */
-  S_ST( 'k',   3,       89,     0 ), /*    88 cloc              */
-  S_ST( 's',   3,       90,     0 ), /*    89 clock             */
-  S_ST( 't',   3,       91,     0 ), /*    90 clocks            */
-  S_ST( 'a',   3,       92,     0 ), /*    91 clockst           */
-  S_ST( 't',   3,      276,     0 ), /*    92 clocksta          */
-  S_ST( 'o',   3,       97,    85 ), /*    93 c                 */
-  S_ST( 'h',   3,       95,     0 ), /*    94 co                */
-  S_ST( 'o',   3,       96,     0 ), /*    95 coh               */
-  S_ST( 'r',   3,      277,     0 ), /*    96 coho              */
-  S_ST( 'n',   3,       98,    94 ), /*    97 co                */
-  S_ST( 't',   3,       99,     0 ), /*    98 con               */
-  S_ST( 'r',   3,      100,     0 ), /*    99 cont              */
-  S_ST( 'o',   3,      101,     0 ), /*   100 contr             */
-  S_ST( 'l',   3,      102,     0 ), /*   101 contro            */
-  S_ST( 'k',   3,      103,     0 ), /*   102 control           */
-  S_ST( 'e',   3,      278,     0 ), /*   103 controlk          */
-  S_ST( 'r',   3,      105,    93 ), /*   104 c                 */
-  S_ST( 'y',   3,      106,     0 ), /*   105 cr                */
-  S_ST( 'p',   3,      107,     0 ), /*   106 cry               */
-  S_ST( 't',   3,      279,     0 ), /*   107 cryp              */
-  S_ST( 's',   3,      109,     0 ), /*   108 crypto            */
-  S_ST( 't',   3,      110,     0 ), /*   109 cryptos           */
-  S_ST( 'a',   3,      111,     0 ), /*   110 cryptost          */
-  S_ST( 't',   3,      280,     0 ), /*   111 cryptosta         */
-  S_ST( 't',   3,      281,   104 ), /*   112 c                 */
-  S_ST( 'd',   3,      147,    72 ), /*   113                   */
-  S_ST( 'a',   3,      282,     0 ), /*   114 d                 */
-  S_ST( 'e',   3,      116,   114 ), /*   115 d                 */
-  S_ST( 'f',   3,      117,     0 ), /*   116 de                */
-  S_ST( 'a',   3,      118,     0 ), /*   117 def               */
-  S_ST( 'u',   3,      119,     0 ), /*   118 defa              */
-  S_ST( 'l',   3,      283,     0 ), /*   119 defau             */
-  S_ST( 'i',   3,      124,   115 ), /*   120 d                 */
-  S_ST( 'g',   3,      122,     0 ), /*   121 di                */
-  S_ST( 'e',   3,      123,     0 ), /*   122 dig               */
-  S_ST( 's',   3,      284,     0 ), /*   123 dige              */
-  S_ST( 's',   3,      131,   121 ), /*   124 di                */
-  S_ST( 'a',   3,      126,     0 ), /*   125 dis               */
-  S_ST( 'b',   3,      127,     0 ), /*   126 disa              */
-  S_ST( 'l',   3,      285,     0 ), /*   127 disab             */
-  S_ST( 'c',   3,      129,   125 ), /*   128 dis               */
-  S_ST( 'a',   3,      130,     0 ), /*   129 disc              */
-  S_ST( 'r',   3,      286,     0 ), /*   130 disca             */
-  S_ST( 'p',   3,      132,   128 ), /*   131 dis               */
-  S_ST( 'e',   3,      133,     0 ), /*   132 disp              */
-  S_ST( 'r',   3,      134,     0 ), /*   133 dispe             */
-  S_ST( 's',   3,      135,     0 ), /*   134 disper            */
-  S_ST( 'i',   3,      136,     0 ), /*   135 dispers           */
-  S_ST( 'o',   3,      287,     0 ), /*   136 dispersi          */
-  S_ST( 'r',   3,      144,   120 ), /*   137 d                 */
-  S_ST( 'i',   3,      139,     0 ), /*   138 dr                */
-  S_ST( 'f',   3,      140,     0 ), /*   139 dri               */
-  S_ST( 't',   3,      141,     0 ), /*   140 drif              */
-  S_ST( 'f',   3,      142,     0 ), /*   141 drift             */
-  S_ST( 'i',   3,      143,     0 ), /*   142 driftf            */
-  S_ST( 'l',   3,      289,     0 ), /*   143 driftfi           */
-  S_ST( 'o',   3,      290,   138 ), /*   144 dr                */
-  S_ST( 's',   3,      146,   137 ), /*   145 d                 */
-  S_ST( 'c',   3,      291,     0 ), /*   146 ds                */
-  S_ST( 'u',   3,      148,   145 ), /*   147 d                 */
-  S_ST( 'r',   3,      149,     0 ), /*   148 du                */
-  S_ST( 'a',   3,      150,     0 ), /*   149 dur               */
-  S_ST( 't',   3,      151,     0 ), /*   150 dura              */
-  S_ST( 'i',   3,      152,     0 ), /*   151 durat             */
-  S_ST( 'o',   3,      448,     0 ), /*   152 durati            */
-  S_ST( 'e',   3,      154,   113 ), /*   153                   */
-  S_ST( 'n',   3,      294,     0 ), /*   154 e                 */
-  S_ST( 'a',   3,      156,     0 ), /*   155 en                */
-  S_ST( 'b',   3,      157,     0 ), /*   156 ena               */
-  S_ST( 'l',   3,      293,     0 ), /*   157 enab              */
-  S_ST( 'f',   3,      179,   153 ), /*   158                   */
-  S_ST( 'i',   3,      160,     0 ), /*   159 f                 */
-  S_ST( 'l',   3,      296,     0 ), /*   160 fi                */
-  S_ST( 'g',   3,      162,     0 ), /*   161 file              */
-  S_ST( 'e',   3,      297,     0 ), /*   162 fileg             */
-  S_ST( 'n',   3,      164,   161 ), /*   163 file              */
-  S_ST( 'u',   3,      298,     0 ), /*   164 filen             */
-  S_ST( 'l',   3,      169,   159 ), /*   165 f                 */
-  S_ST( 'a',   3,      168,     0 ), /*   166 fl                */
-  S_ST( 'g',   3,      302,     0 ), /*   167 fla               */
-  S_ST( 'k',   3,      303,   167 ), /*   168 fla               */
-  S_ST( 'o',   3,      170,   166 ), /*   169 fl                */
-  S_ST( 'o',   3,      304,     0 ), /*   170 flo               */
-  S_ST( 'r',   3,      172,   165 ), /*   171 f                 */
-  S_ST( 'e',   3,      305,     0 ), /*   172 fr                */
-  S_ST( '_',   3,      174,     0 ), /*   173 freq              */
-  S_ST( 'o',   3,      175,     0 ), /*   174 freq_             */
-  S_ST( 'f',   3,      176,     0 ), /*   175 freq_o            */
-  S_ST( 'f',   3,      177,     0 ), /*   176 freq_of           */
-  S_ST( 's',   3,      178,     0 ), /*   177 freq_off          */
-  S_ST( 'e',   3,      449,     0 ), /*   178 freq_offs         */
-  S_ST( 'u',   3,      180,   171 ), /*   179 f                 */
-  S_ST( 'd',   3,      181,     0 ), /*   180 fu                */
-  S_ST( 'g',   3,      306,     0 ), /*   181 fud               */
-  S_ST( 'h',   3,      185,   158 ), /*   182                   */
-  S_ST( 'o',   3,      184,     0 ), /*   183 h                 */
-  S_ST( 's',   3,      307,     0 ), /*   184 ho                */
-  S_ST( 'u',   3,      186,   183 ), /*   185 h                 */
-  S_ST( 'f',   3,      187,     0 ), /*   186 hu                */
-  S_ST( 'f',   3,      188,     0 ), /*   187 huf               */
-  S_ST( 'p',   3,      189,     0 ), /*   188 huff              */
-  S_ST( 'u',   3,      190,     0 ), /*   189 huffp             */
-  S_ST( 'f',   3,      308,     0 ), /*   190 huffpu            */
-  S_ST( 'i',   3,      232,   182 ), /*   191                   */
-  S_ST( 'b',   3,      193,     0 ), /*   192 i                 */
-  S_ST( 'u',   3,      194,     0 ), /*   193 ib                */
-  S_ST( 'r',   3,      195,     0 ), /*   194 ibu               */
-  S_ST( 's',   3,      309,     0 ), /*   195 ibur              */
-  S_ST( 'd',   3,      197,   192 ), /*   196 i                 */
-  S_ST( 'e',   3,      198,     0 ), /*   197 id                */
-  S_ST( 'n',   3,      310,     0 ), /*   198 ide               */
-  S_ST( 'g',   3,      200,   196 ), /*   199 i                 */
-  S_ST( 'n',   3,      201,     0 ), /*   200 ig                */
-  S_ST( 'o',   3,      202,     0 ), /*   201 ign               */
-  S_ST( 'r',   3,      311,     0 ), /*   202 igno              */
-  S_ST( 'n',   3,      226,   199 ), /*   203 i                 */
-  S_ST( 'c',   3,      216,     0 ), /*   204 in                */
-  S_ST( 'a',   3,      206,     0 ), /*   205 inc               */
-  S_ST( 'l',   3,      207,     0 ), /*   206 inca              */
-  S_ST( 'l',   3,      208,     0 ), /*   207 incal             */
-  S_ST( 'o',   3,      312,     0 ), /*   208 incall            */
-  S_ST( 'l',   3,      210,   205 ), /*   209 inc               */
-  S_ST( 'u',   3,      211,     0 ), /*   210 incl              */
-  S_ST( 'd',   3,      212,     0 ), /*   211 inclu             */
-  S_ST( 'e',   3,      213,     0 ), /*   212 includ            */
-  S_ST( 'f',   3,      214,     0 ), /*   213 include           */
-  S_ST( 'i',   3,      215,     0 ), /*   214 includef          */
-  S_ST( 'l',   3,      316,     0 ), /*   215 includefi         */
-  S_ST( 'm',   3,      217,   209 ), /*   216 inc               */
-  S_ST( 'e',   3,      313,     0 ), /*   217 incm              */
-  S_ST( 'i',   3,      219,   204 ), /*   218 in                */
-  S_ST( 't',   3,      224,     0 ), /*   219 ini               */
-  S_ST( 'a',   3,      221,     0 ), /*   220 init              */
-  S_ST( 'l',   3,      222,     0 ), /*   221 inita             */
-  S_ST( 'l',   3,      223,     0 ), /*   222 inital            */
-  S_ST( 'o',   3,      314,     0 ), /*   223 initall           */
-  S_ST( 'm',   3,      225,   220 ), /*   224 init              */
-  S_ST( 'e',   3,      315,     0 ), /*   225 initm             */
-  S_ST( 't',   3,      227,   218 ), /*   226 in                */
-  S_ST( 'e',   3,      228,     0 ), /*   227 int               */
-  S_ST( 'r',   3,      229,     0 ), /*   228 inte              */
-  S_ST( 'f',   3,      230,     0 ), /*   229 inter             */
-  S_ST( 'a',   3,      231,     0 ), /*   230 interf            */
-  S_ST( 'c',   3,      318,     0 ), /*   231 interfa           */
-  S_ST( 'p',   3,      233,   320 ), /*   232 i                 */
-  S_ST( 'v',   3,      323,     0 ), /*   233 ip                */
-  S_ST( 'j',   3,      235,   191 ), /*   234                   */
-  S_ST( 'i',   3,      236,     0 ), /*   235 j                 */
-  S_ST( 't',   3,      237,     0 ), /*   236 ji                */
-  S_ST( 't',   3,      238,     0 ), /*   237 jit               */
-  S_ST( 'e',   3,      451,     0 ), /*   238 jitt              */
-  S_ST( 'k',   3,      246,   234 ), /*   239                   */
-  S_ST( 'e',   3,      326,     0 ), /*   240 k                 */
-  S_ST( 'r',   3,      242,     0 ), /*   241 ke                */
-  S_ST( 'n',   3,      243,     0 ), /*   242 ker               */
-  S_ST( 'e',   3,      325,     0 ), /*   243 kern              */
-  S_ST( 'd',   3,      245,     0 ), /*   244 keys              */
-  S_ST( 'i',   3,      328,     0 ), /*   245 keysd             */
-  S_ST( 'o',   3,      329,   240 ), /*   246 k                 */
-  S_ST( 'l',   3,      462,   239 ), /*   247                   */
-  S_ST( 'e',   3,      249,     0 ), /*   248 l                 */
-  S_ST( 'a',   3,      250,     0 ), /*   249 le                */
-  S_ST( 'p',   3,      254,     0 ), /*   250 lea               */
-  S_ST( 'f',   3,      252,     0 ), /*   251 leap              */
-  S_ST( 'i',   3,      253,     0 ), /*   252 leapf             */
-  S_ST( 'l',   3,      331,     0 ), /*   253 leapfi            */
-  S_ST( 's',   3,      255,   251 ), /*   254 leap              */
-  S_ST( 'm',   3,      256,     0 ), /*   255 leaps             */
-  S_ST( 'e',   3,      257,     0 ), /*   256 leapsm            */
-  S_ST( 'a',   3,      288,     0 ), /*   257 leapsme           */
+  S_ST( 'b',   3,       75,     4 ), /*    28                   */
+  S_ST( 'a',   3,       30,     0 ), /*    29 b                 */
+  S_ST( 's',   3,       31,     0 ), /*    30 ba                */
+  S_ST( 'e',   3,       32,     0 ), /*    31 bas               */
+  S_ST( 'd',   3,       33,     0 ), /*    32 base              */
+  S_ST( 'a',   3,       34,     0 ), /*    33 based             */
+  S_ST( 't',   3,      267,     0 ), /*    34 baseda            */
+  S_ST( 'c',   3,       40,    29 ), /*    35 b                 */
+  S_ST( 'l',   3,       37,     0 ), /*    36 bc                */
+  S_ST( 'i',   3,       38,     0 ), /*    37 bcl               */
+  S_ST( 'e',   3,       39,     0 ), /*    38 bcli              */
+  S_ST( 'n',   3,      268,     0 ), /*    39 bclie             */
+  S_ST( 'p',   3,       41,    36 ), /*    40 bc                */
+  S_ST( 'o',   3,       42,     0 ), /*    41 bcp               */
+  S_ST( 'l',   3,       43,     0 ), /*    42 bcpo              */
+  S_ST( 'l',   3,       44,     0 ), /*    43 bcpol             */
+  S_ST( 'b',   3,       45,     0 ), /*    44 bcpoll            */
+  S_ST( 's',   3,       46,     0 ), /*    45 bcpollb           */
+  S_ST( 't',   3,       47,     0 ), /*    46 bcpollbs          */
+  S_ST( 'e',   3,      269,     0 ), /*    47 bcpollbst         */
+  S_ST( 'e',   3,       52,    35 ), /*    48 b                 */
+  S_ST( 'a',   3,       50,     0 ), /*    49 be                */
+  S_ST( 'c',   3,       51,     0 ), /*    50 bea               */
+  S_ST( 'o',   3,      270,     0 ), /*    51 beac              */
+  S_ST( 'e',   3,       53,    49 ), /*    52 be                */
+  S_ST( 'p',   3,       54,     0 ), /*    53 bee               */
+  S_ST( '_',   3,       55,     0 ), /*    54 beep              */
+  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,      446,     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               */
+  S_ST( 'd',   3,       63,     0 ), /*    62 broa              */
+  S_ST( 'c',   3,       64,     0 ), /*    63 broad             */
+  S_ST( 'a',   3,       65,     0 ), /*    64 broadc            */
+  S_ST( 's',   3,      271,     0 ), /*    65 broadca           */
+  S_ST( 'c',   3,       67,     0 ), /*    66 broadcast         */
+  S_ST( 'l',   3,       68,     0 ), /*    67 broadcast       */
+  S_ST( 'i',   3,       69,     0 ), /*    68 broadcastcl       */
+  S_ST( 'e',   3,       70,     0 ), /*    69 broadcastcli      */
+  S_ST( 'n',   3,      272,     0 ), /*    70 broadcastclie     */
+  S_ST( 'd',   3,       72,    66 ), /*    71 broadcast         */
+  S_ST( 'e',   3,       73,     0 ), /*    72 broadcastd        */
+  S_ST( 'l',   3,       74,     0 ), /*    73 broadcastde       */
+  S_ST( 'a',   3,      273,     0 ), /*    74 broadcastdel      */
+  S_ST( 'u',   3,       76,    59 ), /*    75 b                 */
+  S_ST( 'r',   3,       77,     0 ), /*    76 bu                */
+  S_ST( 's',   3,      274,     0 ), /*    77 bur               */
+  S_ST( 'c',   3,      118,    28 ), /*    78                   */
+  S_ST( 'a',   3,       80,     0 ), /*    79 c                 */
+  S_ST( 'l',   3,       81,     0 ), /*    80 ca                */
+  S_ST( 'i',   3,       82,     0 ), /*    81 cal               */
+  S_ST( 'b',   3,       83,     0 ), /*    82 cali              */
+  S_ST( 'r',   3,       84,     0 ), /*    83 calib             */
+  S_ST( 'a',   3,       85,     0 ), /*    84 calibr            */
+  S_ST( 't',   3,      275,     0 ), /*    85 calibra           */
+  S_ST( 'e',   3,       87,    79 ), /*    86 c                 */
+  S_ST( 'i',   3,       88,     0 ), /*    87 ce                */
+  S_ST( 'l',   3,       89,     0 ), /*    88 cei               */
+  S_ST( 'i',   3,       90,     0 ), /*    89 ceil              */
+  S_ST( 'n',   3,      276,     0 ), /*    90 ceili             */
+  S_ST( 'l',   3,       92,    86 ), /*    91 c                 */
+  S_ST( 'o',   3,       93,     0 ), /*    92 cl                */
+  S_ST( 'c',   3,       94,     0 ), /*    93 clo               */
+  S_ST( 'k',   3,       95,     0 ), /*    94 cloc              */
+  S_ST( 's',   3,       96,     0 ), /*    95 clock             */
+  S_ST( 't',   3,       97,     0 ), /*    96 clocks            */
+  S_ST( 'a',   3,       98,     0 ), /*    97 clockst           */
+  S_ST( 't',   3,      277,     0 ), /*    98 clocksta          */
+  S_ST( 'o',   3,      103,    91 ), /*    99 c                 */
+  S_ST( 'h',   3,      101,     0 ), /*   100 co                */
+  S_ST( 'o',   3,      102,     0 ), /*   101 coh               */
+  S_ST( 'r',   3,      278,     0 ), /*   102 coho              */
+  S_ST( 'n',   3,      104,   100 ), /*   103 co                */
+  S_ST( 't',   3,      105,     0 ), /*   104 con               */
+  S_ST( 'r',   3,      106,     0 ), /*   105 cont              */
+  S_ST( 'o',   3,      107,     0 ), /*   106 contr             */
+  S_ST( 'l',   3,      108,     0 ), /*   107 contro            */
+  S_ST( 'k',   3,      109,     0 ), /*   108 control           */
+  S_ST( 'e',   3,      279,     0 ), /*   109 controlk          */
+  S_ST( 'r',   3,      111,    99 ), /*   110 c                 */
+  S_ST( 'y',   3,      112,     0 ), /*   111 cr                */
+  S_ST( 'p',   3,      113,     0 ), /*   112 cry               */
+  S_ST( 't',   3,      280,     0 ), /*   113 cryp              */
+  S_ST( 's',   3,      115,     0 ), /*   114 crypto            */
+  S_ST( 't',   3,      116,     0 ), /*   115 cryptos           */
+  S_ST( 'a',   3,      117,     0 ), /*   116 cryptost          */
+  S_ST( 't',   3,      281,     0 ), /*   117 cryptosta         */
+  S_ST( 't',   3,      282,   110 ), /*   118 c                 */
+  S_ST( 'd',   3,      153,    78 ), /*   119                   */
+  S_ST( 'a',   3,      283,     0 ), /*   120 d                 */
+  S_ST( 'e',   3,      122,   120 ), /*   121 d                 */
+  S_ST( 'f',   3,      123,     0 ), /*   122 de                */
+  S_ST( 'a',   3,      124,     0 ), /*   123 def               */
+  S_ST( 'u',   3,      125,     0 ), /*   124 defa              */
+  S_ST( 'l',   3,      284,     0 ), /*   125 defau             */
+  S_ST( 'i',   3,      130,   121 ), /*   126 d                 */
+  S_ST( 'g',   3,      128,     0 ), /*   127 di                */
+  S_ST( 'e',   3,      129,     0 ), /*   128 dig               */
+  S_ST( 's',   3,      285,     0 ), /*   129 dige              */
+  S_ST( 's',   3,      137,   127 ), /*   130 di                */
+  S_ST( 'a',   3,      132,     0 ), /*   131 dis               */
+  S_ST( 'b',   3,      133,     0 ), /*   132 disa              */
+  S_ST( 'l',   3,      286,     0 ), /*   133 disab             */
+  S_ST( 'c',   3,      135,   131 ), /*   134 dis               */
+  S_ST( 'a',   3,      136,     0 ), /*   135 disc              */
+  S_ST( 'r',   3,      287,     0 ), /*   136 disca             */
+  S_ST( 'p',   3,      138,   134 ), /*   137 dis               */
+  S_ST( 'e',   3,      139,     0 ), /*   138 disp              */
+  S_ST( 'r',   3,      140,     0 ), /*   139 dispe             */
+  S_ST( 's',   3,      141,     0 ), /*   140 disper            */
+  S_ST( 'i',   3,      142,     0 ), /*   141 dispers           */
+  S_ST( 'o',   3,      288,     0 ), /*   142 dispersi          */
+  S_ST( 'r',   3,      150,   126 ), /*   143 d                 */
+  S_ST( 'i',   3,      145,     0 ), /*   144 dr                */
+  S_ST( 'f',   3,      146,     0 ), /*   145 dri               */
+  S_ST( 't',   3,      147,     0 ), /*   146 drif              */
+  S_ST( 'f',   3,      148,     0 ), /*   147 drift             */
+  S_ST( 'i',   3,      149,     0 ), /*   148 driftf            */
+  S_ST( 'l',   3,      290,     0 ), /*   149 driftfi           */
+  S_ST( 'o',   3,      291,   144 ), /*   150 dr                */
+  S_ST( 's',   3,      152,   143 ), /*   151 d                 */
+  S_ST( 'c',   3,      292,     0 ), /*   152 ds                */
+  S_ST( 'u',   3,      154,   151 ), /*   153 d                 */
+  S_ST( 'r',   3,      155,     0 ), /*   154 du                */
+  S_ST( 'a',   3,      156,     0 ), /*   155 dur               */
+  S_ST( 't',   3,      157,     0 ), /*   156 dura              */
+  S_ST( 'i',   3,      158,     0 ), /*   157 durat             */
+  S_ST( 'o',   3,      449,     0 ), /*   158 durati            */
+  S_ST( 'e',   3,      160,   119 ), /*   159                   */
+  S_ST( 'n',   3,      295,     0 ), /*   160 e                 */
+  S_ST( 'a',   3,      162,     0 ), /*   161 en                */
+  S_ST( 'b',   3,      163,     0 ), /*   162 ena               */
+  S_ST( 'l',   3,      294,     0 ), /*   163 enab              */
+  S_ST( 'f',   3,      185,   159 ), /*   164                   */
+  S_ST( 'i',   3,      166,     0 ), /*   165 f                 */
+  S_ST( 'l',   3,      297,     0 ), /*   166 fi                */
+  S_ST( 'g',   3,      168,     0 ), /*   167 file              */
+  S_ST( 'e',   3,      298,     0 ), /*   168 fileg             */
+  S_ST( 'n',   3,      170,   167 ), /*   169 file              */
+  S_ST( 'u',   3,      299,     0 ), /*   170 filen             */
+  S_ST( 'l',   3,      175,   165 ), /*   171 f                 */
+  S_ST( 'a',   3,      174,     0 ), /*   172 fl                */
+  S_ST( 'g',   3,      303,     0 ), /*   173 fla               */
+  S_ST( 'k',   3,      304,   173 ), /*   174 fla               */
+  S_ST( 'o',   3,      176,   172 ), /*   175 fl                */
+  S_ST( 'o',   3,      305,     0 ), /*   176 flo               */
+  S_ST( 'r',   3,      178,   171 ), /*   177 f                 */
+  S_ST( 'e',   3,      306,     0 ), /*   178 fr                */
+  S_ST( '_',   3,      180,     0 ), /*   179 freq              */
+  S_ST( 'o',   3,      181,     0 ), /*   180 freq_             */
+  S_ST( 'f',   3,      182,     0 ), /*   181 freq_o            */
+  S_ST( 'f',   3,      183,     0 ), /*   182 freq_of           */
+  S_ST( 's',   3,      184,     0 ), /*   183 freq_off          */
+  S_ST( 'e',   3,      450,     0 ), /*   184 freq_offs         */
+  S_ST( 'u',   3,      186,   177 ), /*   185 f                 */
+  S_ST( 'd',   3,      187,     0 ), /*   186 fu                */
+  S_ST( 'g',   3,      307,     0 ), /*   187 fud               */
+  S_ST( 'h',   3,      191,   164 ), /*   188                   */
+  S_ST( 'o',   3,      190,     0 ), /*   189 h                 */
+  S_ST( 's',   3,      308,     0 ), /*   190 ho                */
+  S_ST( 'u',   3,      192,   189 ), /*   191 h                 */
+  S_ST( 'f',   3,      193,     0 ), /*   192 hu                */
+  S_ST( 'f',   3,      194,     0 ), /*   193 huf               */
+  S_ST( 'p',   3,      195,     0 ), /*   194 huff              */
+  S_ST( 'u',   3,      196,     0 ), /*   195 huffp             */
+  S_ST( 'f',   3,      309,     0 ), /*   196 huffpu            */
+  S_ST( 'i',   3,      238,   188 ), /*   197                   */
+  S_ST( 'b',   3,      199,     0 ), /*   198 i                 */
+  S_ST( 'u',   3,      200,     0 ), /*   199 ib                */
+  S_ST( 'r',   3,      201,     0 ), /*   200 ibu               */
+  S_ST( 's',   3,      310,     0 ), /*   201 ibur              */
+  S_ST( 'd',   3,      203,   198 ), /*   202 i                 */
+  S_ST( 'e',   3,      204,     0 ), /*   203 id                */
+  S_ST( 'n',   3,      311,     0 ), /*   204 ide               */
+  S_ST( 'g',   3,      206,   202 ), /*   205 i                 */
+  S_ST( 'n',   3,      207,     0 ), /*   206 ig                */
+  S_ST( 'o',   3,      208,     0 ), /*   207 ign               */
+  S_ST( 'r',   3,      312,     0 ), /*   208 igno              */
+  S_ST( 'n',   3,      232,   205 ), /*   209 i                 */
+  S_ST( 'c',   3,      222,     0 ), /*   210 in                */
+  S_ST( 'a',   3,      212,     0 ), /*   211 inc               */
+  S_ST( 'l',   3,      213,     0 ), /*   212 inca              */
+  S_ST( 'l',   3,      214,     0 ), /*   213 incal             */
+  S_ST( 'o',   3,      313,     0 ), /*   214 incall            */
+  S_ST( 'l',   3,      216,   211 ), /*   215 inc               */
+  S_ST( 'u',   3,      217,     0 ), /*   216 incl              */
+  S_ST( 'd',   3,      218,     0 ), /*   217 inclu             */
+  S_ST( 'e',   3,      219,     0 ), /*   218 includ            */
+  S_ST( 'f',   3,      220,     0 ), /*   219 include           */
+  S_ST( 'i',   3,      221,     0 ), /*   220 includef          */
+  S_ST( 'l',   3,      317,     0 ), /*   221 includefi         */
+  S_ST( 'm',   3,      223,   215 ), /*   222 inc               */
+  S_ST( 'e',   3,      314,     0 ), /*   223 incm              */
+  S_ST( 'i',   3,      225,   210 ), /*   224 in                */
+  S_ST( 't',   3,      230,     0 ), /*   225 ini               */
+  S_ST( 'a',   3,      227,     0 ), /*   226 init              */
+  S_ST( 'l',   3,      228,     0 ), /*   227 inita             */
+  S_ST( 'l',   3,      229,     0 ), /*   228 inital            */
+  S_ST( 'o',   3,      315,     0 ), /*   229 initall           */
+  S_ST( 'm',   3,      231,   226 ), /*   230 init              */
+  S_ST( 'e',   3,      316,     0 ), /*   231 initm             */
+  S_ST( 't',   3,      233,   224 ), /*   232 in                */
+  S_ST( 'e',   3,      234,     0 ), /*   233 int               */
+  S_ST( 'r',   3,      235,     0 ), /*   234 inte              */
+  S_ST( 'f',   3,      236,     0 ), /*   235 inter             */
+  S_ST( 'a',   3,      237,     0 ), /*   236 interf            */
+  S_ST( 'c',   3,      319,     0 ), /*   237 interfa           */
+  S_ST( 'p',   3,      239,   321 ), /*   238 i                 */
+  S_ST( 'v',   3,      324,     0 ), /*   239 ip                */
+  S_ST( 'j',   3,      241,   197 ), /*   240                   */
+  S_ST( 'i',   3,      242,     0 ), /*   241 j                 */
+  S_ST( 't',   3,      243,     0 ), /*   242 ji                */
+  S_ST( 't',   3,      244,     0 ), /*   243 jit               */
+  S_ST( 'e',   3,      452,     0 ), /*   244 jitt              */
+  S_ST( 'k',   3,      252,   240 ), /*   245                   */
+  S_ST( 'e',   3,      327,     0 ), /*   246 k                 */
+  S_ST( 'r',   3,      248,     0 ), /*   247 ke                */
+  S_ST( 'n',   3,      249,     0 ), /*   248 ker               */
+  S_ST( 'e',   3,      326,     0 ), /*   249 kern              */
+  S_ST( 'd',   3,      251,     0 ), /*   250 keys              */
+  S_ST( 'i',   3,      329,     0 ), /*   251 keysd             */
+  S_ST( 'o',   3,      330,   246 ), /*   252 k                 */
+  S_ST( 'l',   3,      469,   245 ), /*   253                   */
+  S_ST( 'e',   3,      255,     0 ), /*   254 l                 */
+  S_ST( 'a',   3,      256,     0 ), /*   255 le                */
+  S_ST( 'p',   3,      318,     0 ), /*   256 lea               */
+  S_ST( 'f',   3,      289,     0 ), /*   257 leap              */
   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             */
@@ -480,656 +481,663 @@ const scan_state sst[918] = {
   S_ST( 'y',   0,        0,     0 ), /*   264 T_Autokey         */
   S_ST( 'x',   0,        0,     0 ), /*   265 T_Automax         */
   S_ST( 'e',   0,        0,     0 ), /*   266 T_Average         */
-  S_ST( 't',   0,        0,     0 ), /*   267 T_Bclient         */
-  S_ST( 'p',   0,        0,     0 ), /*   268 T_Bcpollbstep     */
-  S_ST( 'n',   0,        0,     0 ), /*   269 T_Beacon          */
-  S_ST( 't',   1,       65,     0 ), /*   270 T_Broadcast       */
-  S_ST( 't',   0,        0,     0 ), /*   271 T_Broadcastclient */
-  S_ST( 'y',   0,        0,     0 ), /*   272 T_Broadcastdelay  */
-  S_ST( 't',   0,        0,     0 ), /*   273 T_Burst           */
-  S_ST( 'e',   0,        0,     0 ), /*   274 T_Calibrate       */
-  S_ST( 'g',   0,        0,     0 ), /*   275 T_Ceiling         */
-  S_ST( 's',   0,        0,     0 ), /*   276 T_Clockstats      */
-  S_ST( 't',   0,        0,     0 ), /*   277 T_Cohort          */
-  S_ST( 'y',   0,        0,     0 ), /*   278 T_ControlKey      */
-  S_ST( 'o',   0,      108,     0 ), /*   279 T_Crypto          */
-  S_ST( 's',   0,        0,     0 ), /*   280 T_Cryptostats     */
-  S_ST( 'l',   0,        0,     0 ), /*   281 T_Ctl             */
-  S_ST( 'y',   0,        0,     0 ), /*   282 T_Day             */
-  S_ST( 't',   0,        0,     0 ), /*   283 T_Default         */
-  S_ST( 't',   1,        0,     0 ), /*   284 T_Digest          */
-  S_ST( 'e',   0,        0,     0 ), /*   285 T_Disable         */
-  S_ST( 'd',   0,        0,     0 ), /*   286 T_Discard         */
-  S_ST( 'n',   0,        0,     0 ), /*   287 T_Dispersion      */
-  S_ST( 'r',   3,      295,     0 ), /*   288 leapsmea          */
-  S_ST( 'e',   1,        0,     0 ), /*   289 T_Driftfile       */
-  S_ST( 'p',   0,        0,     0 ), /*   290 T_Drop            */
-  S_ST( 'p',   0,        0,     0 ), /*   291 T_Dscp            */
-  S_ST( '.',   0,        0,     0 ), /*   292 T_Ellipsis        */
-  S_ST( 'e',   0,        0,     0 ), /*   293 T_Enable          */
-  S_ST( 'd',   0,        0,   155 ), /*   294 T_End             */
-  S_ST( 'i',   3,      317,     0 ), /*   295 leapsmear         */
-  S_ST( 'e',   1,      163,     0 ), /*   296 T_File            */
-  S_ST( 'n',   0,        0,     0 ), /*   297 T_Filegen         */
-  S_ST( 'm',   0,        0,     0 ), /*   298 T_Filenum         */
-  S_ST( '1',   0,        0,     0 ), /*   299 T_Flag1           */
-  S_ST( '2',   0,        0,   299 ), /*   300 T_Flag2           */
-  S_ST( '3',   0,        0,   300 ), /*   301 T_Flag3           */
-  S_ST( '4',   0,        0,   301 ), /*   302 T_Flag4           */
-  S_ST( 'e',   0,        0,     0 ), /*   303 T_Flake           */
-  S_ST( 'r',   0,        0,     0 ), /*   304 T_Floor           */
-  S_ST( 'q',   0,      173,     0 ), /*   305 T_Freq            */
-  S_ST( 'e',   1,        0,     0 ), /*   306 T_Fudge           */
-  S_ST( 't',   1,        0,     0 ), /*   307 T_Host            */
-  S_ST( 'f',   0,        0,     0 ), /*   308 T_Huffpuff        */
-  S_ST( 't',   0,        0,     0 ), /*   309 T_Iburst          */
-  S_ST( 't',   1,        0,     0 ), /*   310 T_Ident           */
-  S_ST( 'e',   0,        0,     0 ), /*   311 T_Ignore          */
-  S_ST( 'c',   0,        0,     0 ), /*   312 T_Incalloc        */
-  S_ST( 'm',   0,        0,     0 ), /*   313 T_Incmem          */
-  S_ST( 'c',   0,        0,     0 ), /*   314 T_Initalloc       */
-  S_ST( 'm',   0,        0,     0 ), /*   315 T_Initmem         */
-  S_ST( 'e',   1,        0,     0 ), /*   316 T_Includefile     */
-  S_ST( 'n',   3,      319,     0 ), /*   317 leapsmeari        */
-  S_ST( 'e',   0,        0,     0 ), /*   318 T_Interface       */
-  S_ST( 't',   3,      415,     0 ), /*   319 leapsmearin       */
-  S_ST( 'o',   0,        0,   203 ), /*   320 T_Io              */
-  S_ST( '4',   0,        0,     0 ), /*   321 T_Ipv4            */
-  S_ST( '4',   0,        0,     0 ), /*   322 T_Ipv4_flag       */
-  S_ST( '6',   0,        0,   321 ), /*   323 T_Ipv6            */
-  S_ST( '6',   0,        0,   322 ), /*   324 T_Ipv6_flag       */
-  S_ST( 'l',   0,        0,     0 ), /*   325 T_Kernel          */
-  S_ST( 'y',   0,      327,   241 ), /*   326 T_Key             */
-  S_ST( 's',   1,      244,     0 ), /*   327 T_Keys            */
-  S_ST( 'r',   1,        0,     0 ), /*   328 T_Keysdir         */
-  S_ST( 'd',   0,        0,     0 ), /*   329 T_Kod             */
-  S_ST( 'p',   0,        0,     0 ), /*   330 T_Mssntp          */
-  S_ST( 'e',   1,        0,     0 ), /*   331 T_Leapfile        */
-  S_ST( 'l',   0,        0,     0 ), /*   332 T_Leapsmearinterval */
-  S_ST( 'd',   0,        0,     0 ), /*   333 T_Limited         */
-  S_ST( 'k',   0,        0,     0 ), /*   334 T_Link            */
-  S_ST( 'n',   0,        0,     0 ), /*   335 T_Listen          */
-  S_ST( 'g',   2,        0,     0 ), /*   336 T_Logconfig       */
-  S_ST( 'e',   1,        0,     0 ), /*   337 T_Logfile         */
-  S_ST( 's',   0,        0,     0 ), /*   338 T_Loopstats       */
-  S_ST( 'p',   0,        0,     0 ), /*   339 T_Lowpriotrap     */
-  S_ST( 't',   1,        0,     0 ), /*   340 T_Manycastclient  */
-  S_ST( 'r',   2,        0,     0 ), /*   341 T_Manycastserver  */
-  S_ST( 'k',   0,        0,     0 ), /*   342 T_Mask            */
-  S_ST( 'e',   0,        0,     0 ), /*   343 T_Maxage          */
-  S_ST( 'k',   0,        0,     0 ), /*   344 T_Maxclock        */
-  S_ST( 'h',   0,        0,     0 ), /*   345 T_Maxdepth        */
-  S_ST( 't',   0,        0,     0 ), /*   346 T_Maxdist         */
-  S_ST( 'm',   0,        0,     0 ), /*   347 T_Maxmem          */
-  S_ST( 'l',   0,        0,     0 ), /*   348 T_Maxpoll         */
-  S_ST( 's',   0,        0,     0 ), /*   349 T_Mdnstries       */
-  S_ST( 'm',   0,      531,     0 ), /*   350 T_Mem             */
-  S_ST( 'k',   0,        0,     0 ), /*   351 T_Memlock         */
-  S_ST( 'k',   0,        0,     0 ), /*   352 T_Minclock        */
-  S_ST( 'h',   0,        0,     0 ), /*   353 T_Mindepth        */
-  S_ST( 't',   0,        0,     0 ), /*   354 T_Mindist         */
-  S_ST( 'm',   0,        0,     0 ), /*   355 T_Minimum         */
-  S_ST( 'l',   0,        0,     0 ), /*   356 T_Minpoll         */
-  S_ST( 'e',   0,        0,     0 ), /*   357 T_Minsane         */
-  S_ST( 'e',   0,      359,     0 ), /*   358 T_Mode            */
-  S_ST( '7',   0,        0,     0 ), /*   359 T_Mode7           */
-  S_ST( 'r',   0,        0,     0 ), /*   360 T_Monitor         */
-  S_ST( 'h',   0,        0,     0 ), /*   361 T_Month           */
-  S_ST( 'u',   0,        0,     0 ), /*   362 T_Mru             */
-  S_ST( 't',   2,        0,     0 ), /*   363 T_Multicastclient */
-  S_ST( 'c',   0,        0,     0 ), /*   364 T_Nic             */
-  S_ST( 'k',   0,        0,     0 ), /*   365 T_Nolink          */
-  S_ST( 'y',   0,        0,     0 ), /*   366 T_Nomodify        */
-  S_ST( 't',   0,        0,     0 ), /*   367 T_Nomrulist       */
-  S_ST( 'e',   0,        0,     0 ), /*   368 T_None            */
-  S_ST( 'e',   0,        0,     0 ), /*   369 T_Nonvolatile     */
-  S_ST( 'r',   0,        0,     0 ), /*   370 T_Nopeer          */
-  S_ST( 'y',   0,        0,     0 ), /*   371 T_Noquery         */
-  S_ST( 't',   0,        0,     0 ), /*   372 T_Noselect        */
-  S_ST( 'e',   0,        0,     0 ), /*   373 T_Noserve         */
-  S_ST( 'p',   0,        0,     0 ), /*   374 T_Notrap          */
-  S_ST( 't',   0,        0,     0 ), /*   375 T_Notrust         */
-  S_ST( 'p',   0,      627,     0 ), /*   376 T_Ntp             */
-  S_ST( 't',   0,        0,     0 ), /*   377 T_Ntpport         */
-  S_ST( 't',   1,        0,     0 ), /*   378 T_NtpSignDsocket  */
-  S_ST( 'n',   0,      642,     0 ), /*   379 T_Orphan          */
-  S_ST( 't',   0,        0,     0 ), /*   380 T_Orphanwait      */
-  S_ST( 'y',   0,        0,     0 ), /*   381 T_PCEdigest       */
-  S_ST( 'c',   0,        0,     0 ), /*   382 T_Panic           */
-  S_ST( 'r',   1,      669,     0 ), /*   383 T_Peer            */
-  S_ST( 's',   0,        0,     0 ), /*   384 T_Peerstats       */
-  S_ST( 'e',   2,        0,     0 ), /*   385 T_Phone           */
-  S_ST( 'd',   0,      677,     0 ), /*   386 T_Pid             */
-  S_ST( 'e',   1,        0,     0 ), /*   387 T_Pidfile         */
-  S_ST( 'l',   1,        0,     0 ), /*   388 T_Pool            */
-  S_ST( 't',   0,        0,     0 ), /*   389 T_Port            */
-  S_ST( 't',   0,        0,     0 ), /*   390 T_Preempt         */
-  S_ST( 'r',   0,        0,     0 ), /*   391 T_Prefer          */
-  S_ST( 's',   0,        0,     0 ), /*   392 T_Protostats      */
-  S_ST( 'w',   1,        0,   683 ), /*   393 T_Pw              */
-  S_ST( 'e',   1,        0,     0 ), /*   394 T_Randfile        */
-  S_ST( 's',   0,        0,     0 ), /*   395 T_Rawstats        */
-  S_ST( 'd',   1,        0,     0 ), /*   396 T_Refid           */
-  S_ST( 'y',   0,        0,     0 ), /*   397 T_Requestkey      */
-  S_ST( 't',   0,        0,     0 ), /*   398 T_Reset           */
-  S_ST( 't',   0,        0,     0 ), /*   399 T_Restrict        */
-  S_ST( 'e',   0,        0,     0 ), /*   400 T_Revoke          */
-  S_ST( 't',   0,        0,     0 ), /*   401 T_Rlimit          */
-  S_ST( 'r',   1,        0,     0 ), /*   402 T_Saveconfigdir   */
-  S_ST( 'r',   1,      760,     0 ), /*   403 T_Server          */
-  S_ST( 'r',   1,        0,     0 ), /*   404 T_Setvar          */
-  S_ST( 'e',   0,        0,     0 ), /*   405 T_Source          */
-  S_ST( 'e',   0,        0,     0 ), /*   406 T_Stacksize       */
-  S_ST( 's',   0,        0,     0 ), /*   407 T_Statistics      */
-  S_ST( 's',   0,      803,   798 ), /*   408 T_Stats           */
-  S_ST( 'r',   1,        0,     0 ), /*   409 T_Statsdir        */
-  S_ST( 'p',   0,      811,     0 ), /*   410 T_Step            */
-  S_ST( 'k',   0,        0,     0 ), /*   411 T_Stepback        */
-  S_ST( 'd',   0,        0,     0 ), /*   412 T_Stepfwd         */
-  S_ST( 't',   0,        0,     0 ), /*   413 T_Stepout         */
-  S_ST( 'm',   0,        0,     0 ), /*   414 T_Stratum         */
-  S_ST( 'e',   3,      430,     0 ), /*   415 leapsmearint      */
-  S_ST( 's',   0,      818,     0 ), /*   416 T_Sys             */
-  S_ST( 's',   0,        0,     0 ), /*   417 T_Sysstats        */
-  S_ST( 'k',   0,        0,     0 ), /*   418 T_Tick            */
-  S_ST( '1',   0,        0,     0 ), /*   419 T_Time1           */
-  S_ST( '2',   0,        0,   419 ), /*   420 T_Time2           */
-  S_ST( 'r',   0,        0,   420 ), /*   421 T_Timer           */
-  S_ST( 's',   0,        0,     0 ), /*   422 T_Timingstats     */
-  S_ST( 'r',   0,        0,     0 ), /*   423 T_Tinker          */
-  S_ST( 's',   0,        0,     0 ), /*   424 T_Tos             */
-  S_ST( 'p',   1,        0,     0 ), /*   425 T_Trap            */
-  S_ST( 'e',   0,        0,     0 ), /*   426 T_True            */
-  S_ST( 'y',   0,        0,     0 ), /*   427 T_Trustedkey      */
-  S_ST( 'l',   0,        0,     0 ), /*   428 T_Ttl             */
-  S_ST( 'e',   0,        0,     0 ), /*   429 T_Type            */
-  S_ST( 'r',   3,      437,     0 ), /*   430 leapsmearinte     */
-  S_ST( 'y',   0,        0,     0 ), /*   431 T_UEcrypto        */
-  S_ST( 'y',   0,        0,     0 ), /*   432 T_UEcryptonak     */
-  S_ST( 'y',   0,        0,     0 ), /*   433 T_UEdigest        */
-  S_ST( 'g',   1,        0,     0 ), /*   434 T_Unconfig        */
-  S_ST( 'r',   1,      860,     0 ), /*   435 T_Unpeer          */
-  S_ST( 'n',   0,        0,     0 ), /*   436 T_Version         */
-  S_ST( 'v',   3,      442,     0 ), /*   437 leapsmearinter    */
-  S_ST( 'k',   0,        0,     0 ), /*   438 T_Week            */
-  S_ST( 'd',   0,        0,     0 ), /*   439 T_Wildcard        */
-  S_ST( 'e',   0,        0,     0 ), /*   440 T_Xleave          */
-  S_ST( 'r',   0,        0,     0 ), /*   441 T_Year            */
-  S_ST( 'a',   3,      332,     0 ), /*   442 leapsmearinterv   */
-  S_ST( 'i',   3,      459,   248 ), /*   443 l                 */
-  S_ST( 'e',   0,        0,     0 ), /*   444 T_Simulate        */
-  S_ST( 'y',   0,        0,     0 ), /*   445 T_Beep_Delay      */
-  S_ST( 'n',   0,        0,     0 ), /*   446 T_Sim_Duration    */
-  S_ST( 't',   0,        0,     0 ), /*   447 T_Server_Offset   */
-  S_ST( 'n',   0,        0,     0 ), /*   448 T_Duration        */
-  S_ST( 't',   0,        0,     0 ), /*   449 T_Freq_Offset     */
-  S_ST( 'r',   0,        0,     0 ), /*   450 T_Wander          */
-  S_ST( 'r',   0,        0,     0 ), /*   451 T_Jitter          */
-  S_ST( 'y',   0,        0,     0 ), /*   452 T_Prop_Delay      */
-  S_ST( 'y',   0,        0,     0 ), /*   453 T_Proc_Delay      */
-  S_ST( 'm',   3,      455,     0 ), /*   454 li                */
-  S_ST( 'i',   3,      456,     0 ), /*   455 lim               */
-  S_ST( 't',   3,      457,     0 ), /*   456 limi              */
-  S_ST( 'e',   3,      333,     0 ), /*   457 limit             */
-  S_ST( 'n',   3,      334,   454 ), /*   458 li                */
-  S_ST( 's',   3,      460,   458 ), /*   459 li                */
-  S_ST( 't',   3,      461,     0 ), /*   460 lis               */
-  S_ST( 'e',   3,      335,     0 ), /*   461 list              */
-  S_ST( 'o',   3,      478,   443 ), /*   462 l                 */
-  S_ST( 'g',   3,      469,     0 ), /*   463 lo                */
-  S_ST( 'c',   3,      465,     0 ), /*   464 log               */
-  S_ST( 'o',   3,      466,     0 ), /*   465 logc              */
-  S_ST( 'n',   3,      467,     0 ), /*   466 logco             */
-  S_ST( 'f',   3,      468,     0 ), /*   467 logcon            */
-  S_ST( 'i',   3,      336,     0 ), /*   468 logconf           */
-  S_ST( 'f',   3,      470,   464 ), /*   469 log               */
-  S_ST( 'i',   3,      471,     0 ), /*   470 logf              */
-  S_ST( 'l',   3,      337,     0 ), /*   471 logfi             */
-  S_ST( 'o',   3,      473,   463 ), /*   472 lo                */
-  S_ST( 'p',   3,      474,     0 ), /*   473 loo               */
-  S_ST( 's',   3,      475,     0 ), /*   474 loop              */
-  S_ST( 't',   3,      476,     0 ), /*   475 loops             */
-  S_ST( 'a',   3,      477,     0 ), /*   476 loopst            */
-  S_ST( 't',   3,      338,     0 ), /*   477 loopsta           */
-  S_ST( 'w',   3,      479,   472 ), /*   478 lo                */
-  S_ST( 'p',   3,      480,     0 ), /*   479 low               */
-  S_ST( 'r',   3,      481,     0 ), /*   480 lowp              */
-  S_ST( 'i',   3,      482,     0 ), /*   481 lowpr             */
-  S_ST( 'o',   3,      483,     0 ), /*   482 lowpri            */
-  S_ST( 't',   3,      484,     0 ), /*   483 lowprio           */
-  S_ST( 'r',   3,      485,     0 ), /*   484 lowpriot          */
-  S_ST( 'a',   3,      339,     0 ), /*   485 lowpriotr         */
-  S_ST( 'm',   3,      567,   247 ), /*   486                   */
-  S_ST( 'a',   3,      505,     0 ), /*   487 m                 */
-  S_ST( 'n',   3,      489,     0 ), /*   488 ma                */
-  S_ST( 'y',   3,      490,     0 ), /*   489 man               */
-  S_ST( 'c',   3,      491,     0 ), /*   490 many              */
-  S_ST( 'a',   3,      492,     0 ), /*   491 manyc             */
-  S_ST( 's',   3,      493,     0 ), /*   492 manyca            */
-  S_ST( 't',   3,      499,     0 ), /*   493 manycas           */
-  S_ST( 'c',   3,      495,     0 ), /*   494 manycast          */
-  S_ST( 'l',   3,      496,     0 ), /*   495 manycastc         */
-  S_ST( 'i',   3,      497,     0 ), /*   496 manycastcl        */
-  S_ST( 'e',   3,      498,     0 ), /*   497 manycastcli       */
-  S_ST( 'n',   3,      340,     0 ), /*   498 manycastclie      */
-  S_ST( 's',   3,      500,   494 ), /*   499 manycast          */
-  S_ST( 'e',   3,      501,     0 ), /*   500 manycasts         */
-  S_ST( 'r',   3,      502,     0 ), /*   501 manycastse        */
-  S_ST( 'v',   3,      503,     0 ), /*   502 manycastser       */
-  S_ST( 'e',   3,      341,     0 ), /*   503 manycastserv      */
-  S_ST( 's',   3,      342,   488 ), /*   504 ma                */
-  S_ST( 'x',   3,      520,   504 ), /*   505 ma                */
-  S_ST( 'a',   3,      507,     0 ), /*   506 max               */
-  S_ST( 'g',   3,      343,     0 ), /*   507 maxa              */
-  S_ST( 'c',   3,      509,   506 ), /*   508 max               */
-  S_ST( 'l',   3,      510,     0 ), /*   509 maxc              */
-  S_ST( 'o',   3,      511,     0 ), /*   510 maxcl             */
-  S_ST( 'c',   3,      344,     0 ), /*   511 maxclo            */
-  S_ST( 'd',   3,      516,   508 ), /*   512 max               */
-  S_ST( 'e',   3,      514,     0 ), /*   513 maxd              */
-  S_ST( 'p',   3,      515,     0 ), /*   514 maxde             */
-  S_ST( 't',   3,      345,     0 ), /*   515 maxdep            */
-  S_ST( 'i',   3,      517,   513 ), /*   516 maxd              */
-  S_ST( 's',   3,      346,     0 ), /*   517 maxdi             */
-  S_ST( 'm',   3,      519,   512 ), /*   518 max               */
-  S_ST( 'e',   3,      347,     0 ), /*   519 maxm              */
-  S_ST( 'p',   3,      521,   518 ), /*   520 max               */
-  S_ST( 'o',   3,      522,     0 ), /*   521 maxp              */
-  S_ST( 'l',   3,      348,     0 ), /*   522 maxpo             */
-  S_ST( 'd',   3,      524,   487 ), /*   523 m                 */
-  S_ST( 'n',   3,      525,     0 ), /*   524 md                */
-  S_ST( 's',   3,      526,     0 ), /*   525 mdn               */
-  S_ST( 't',   3,      527,     0 ), /*   526 mdns              */
-  S_ST( 'r',   3,      528,     0 ), /*   527 mdnst             */
-  S_ST( 'i',   3,      529,     0 ), /*   528 mdnstr            */
-  S_ST( 'e',   3,      349,     0 ), /*   529 mdnstri           */
-  S_ST( 'e',   3,      350,   523 ), /*   530 m                 */
-  S_ST( 'l',   3,      532,     0 ), /*   531 mem               */
-  S_ST( 'o',   3,      533,     0 ), /*   532 meml              */
-  S_ST( 'c',   3,      351,     0 ), /*   533 memlo             */
-  S_ST( 'i',   3,      535,   530 ), /*   534 m                 */
-  S_ST( 'n',   3,      552,     0 ), /*   535 mi                */
-  S_ST( 'c',   3,      537,     0 ), /*   536 min               */
-  S_ST( 'l',   3,      538,     0 ), /*   537 minc              */
-  S_ST( 'o',   3,      539,     0 ), /*   538 mincl             */
-  S_ST( 'c',   3,      352,     0 ), /*   539 minclo            */
-  S_ST( 'd',   3,      544,   536 ), /*   540 min               */
-  S_ST( 'e',   3,      542,     0 ), /*   541 mind              */
-  S_ST( 'p',   3,      543,     0 ), /*   542 minde             */
-  S_ST( 't',   3,      353,     0 ), /*   543 mindep            */
-  S_ST( 'i',   3,      545,   541 ), /*   544 mind              */
-  S_ST( 's',   3,      354,     0 ), /*   545 mindi             */
-  S_ST( 'i',   3,      547,   540 ), /*   546 min               */
-  S_ST( 'm',   3,      548,     0 ), /*   547 mini              */
-  S_ST( 'u',   3,      355,     0 ), /*   548 minim             */
-  S_ST( 'p',   3,      550,   546 ), /*   549 min               */
-  S_ST( 'o',   3,      551,     0 ), /*   550 minp              */
-  S_ST( 'l',   3,      356,     0 ), /*   551 minpo             */
-  S_ST( 's',   3,      553,   549 ), /*   552 min               */
-  S_ST( 'a',   3,      554,     0 ), /*   553 mins              */
-  S_ST( 'n',   3,      357,     0 ), /*   554 minsa             */
-  S_ST( 'o',   3,      557,   534 ), /*   555 m                 */
-  S_ST( 'd',   3,      358,     0 ), /*   556 mo                */
-  S_ST( 'n',   3,      561,   556 ), /*   557 mo                */
-  S_ST( 'i',   3,      559,     0 ), /*   558 mon               */
-  S_ST( 't',   3,      560,     0 ), /*   559 moni              */
-  S_ST( 'o',   3,      360,     0 ), /*   560 monit             */
-  S_ST( 't',   3,      361,   558 ), /*   561 mon               */
-  S_ST( 'r',   3,      362,   555 ), /*   562 m                 */
-  S_ST( 's',   3,      564,   562 ), /*   563 m                 */
-  S_ST( 's',   3,      565,     0 ), /*   564 ms                */
-  S_ST( 'n',   3,      566,     0 ), /*   565 mss               */
-  S_ST( 't',   3,      330,     0 ), /*   566 mssn              */
-  S_ST( 'u',   3,      568,   563 ), /*   567 m                 */
-  S_ST( 'l',   3,      569,     0 ), /*   568 mu                */
-  S_ST( 't',   3,      570,     0 ), /*   569 mul               */
-  S_ST( 'i',   3,      571,     0 ), /*   570 mult              */
-  S_ST( 'c',   3,      572,     0 ), /*   571 multi             */
-  S_ST( 'a',   3,      573,     0 ), /*   572 multic            */
-  S_ST( 's',   3,      574,     0 ), /*   573 multica           */
-  S_ST( 't',   3,      575,     0 ), /*   574 multicas          */
-  S_ST( 'c',   3,      576,     0 ), /*   575 multicast         */
-  S_ST( 'l',   3,      577,     0 ), /*   576 multicastc        */
-  S_ST( 'i',   3,      578,     0 ), /*   577 multicastcl       */
-  S_ST( 'e',   3,      579,     0 ), /*   578 multicastcli      */
-  S_ST( 'n',   3,      363,     0 ), /*   579 multicastclie     */
-  S_ST( 'n',   3,      623,   486 ), /*   580                   */
-  S_ST( 'i',   3,      364,     0 ), /*   581 n                 */
-  S_ST( 'o',   3,      618,   581 ), /*   582 n                 */
-  S_ST( 'l',   3,      584,     0 ), /*   583 no                */
-  S_ST( 'i',   3,      585,     0 ), /*   584 nol               */
-  S_ST( 'n',   3,      365,     0 ), /*   585 noli              */
-  S_ST( 'm',   3,      591,   583 ), /*   586 no                */
-  S_ST( 'o',   3,      588,     0 ), /*   587 nom               */
-  S_ST( 'd',   3,      589,     0 ), /*   588 nomo              */
-  S_ST( 'i',   3,      590,     0 ), /*   589 nomod             */
-  S_ST( 'f',   3,      366,     0 ), /*   590 nomodi            */
-  S_ST( 'r',   3,      592,   587 ), /*   591 nom               */
-  S_ST( 'u',   3,      593,     0 ), /*   592 nomr              */
-  S_ST( 'l',   3,      594,     0 ), /*   593 nomru             */
-  S_ST( 'i',   3,      595,     0 ), /*   594 nomrul            */
-  S_ST( 's',   3,      367,     0 ), /*   595 nomruli           */
-  S_ST( 'n',   3,      597,   586 ), /*   596 no                */
-  S_ST( 'v',   3,      598,   368 ), /*   597 non               */
-  S_ST( 'o',   3,      599,     0 ), /*   598 nonv              */
-  S_ST( 'l',   3,      600,     0 ), /*   599 nonvo             */
-  S_ST( 'a',   3,      601,     0 ), /*   600 nonvol            */
-  S_ST( 't',   3,      602,     0 ), /*   601 nonvola           */
-  S_ST( 'i',   3,      603,     0 ), /*   602 nonvolat          */
-  S_ST( 'l',   3,      369,     0 ), /*   603 nonvolati         */
-  S_ST( 'p',   3,      605,   596 ), /*   604 no                */
-  S_ST( 'e',   3,      606,     0 ), /*   605 nop               */
-  S_ST( 'e',   3,      370,     0 ), /*   606 nope              */
-  S_ST( 'q',   3,      608,   604 ), /*   607 no                */
-  S_ST( 'u',   3,      609,     0 ), /*   608 noq               */
-  S_ST( 'e',   3,      610,     0 ), /*   609 noqu              */
-  S_ST( 'r',   3,      371,     0 ), /*   610 noque             */
-  S_ST( 's',   3,      612,   607 ), /*   611 no                */
-  S_ST( 'e',   3,      616,     0 ), /*   612 nos               */
-  S_ST( 'l',   3,      614,     0 ), /*   613 nose              */
-  S_ST( 'e',   3,      615,     0 ), /*   614 nosel             */
-  S_ST( 'c',   3,      372,     0 ), /*   615 nosele            */
-  S_ST( 'r',   3,      617,   613 ), /*   616 nose              */
-  S_ST( 'v',   3,      373,     0 ), /*   617 noser             */
-  S_ST( 't',   3,      619,   611 ), /*   618 no                */
-  S_ST( 'r',   3,      621,     0 ), /*   619 not               */
-  S_ST( 'a',   3,      374,     0 ), /*   620 notr              */
-  S_ST( 'u',   3,      622,   620 ), /*   621 notr              */
-  S_ST( 's',   3,      375,     0 ), /*   622 notru             */
-  S_ST( 't',   3,      376,   582 ), /*   623 n                 */
-  S_ST( 'p',   3,      625,     0 ), /*   624 ntp               */
-  S_ST( 'o',   3,      626,     0 ), /*   625 ntpp              */
-  S_ST( 'r',   3,      377,     0 ), /*   626 ntppo             */
-  S_ST( 's',   3,      628,   624 ), /*   627 ntp               */
-  S_ST( 'i',   3,      629,     0 ), /*   628 ntps              */
-  S_ST( 'g',   3,      630,     0 ), /*   629 ntpsi             */
-  S_ST( 'n',   3,      631,     0 ), /*   630 ntpsig            */
-  S_ST( 'd',   3,      632,     0 ), /*   631 ntpsign           */
-  S_ST( 's',   3,      633,     0 ), /*   632 ntpsignd          */
-  S_ST( 'o',   3,      634,     0 ), /*   633 ntpsignds         */
-  S_ST( 'c',   3,      635,     0 ), /*   634 ntpsigndso        */
-  S_ST( 'k',   3,      636,     0 ), /*   635 ntpsigndsoc       */
-  S_ST( 'e',   3,      378,     0 ), /*   636 ntpsigndsock      */
-  S_ST( 'o',   3,      638,   580 ), /*   637                   */
-  S_ST( 'r',   3,      639,     0 ), /*   638 o                 */
-  S_ST( 'p',   3,      640,     0 ), /*   639 or                */
-  S_ST( 'h',   3,      641,     0 ), /*   640 orp               */
-  S_ST( 'a',   3,      379,     0 ), /*   641 orph              */
-  S_ST( 'w',   3,      643,     0 ), /*   642 orphan            */
-  S_ST( 'a',   3,      644,     0 ), /*   643 orphanw           */
-  S_ST( 'i',   3,      380,     0 ), /*   644 orphanwa          */
-  S_ST( 'p',   3,      393,   637 ), /*   645                   */
-  S_ST( 'a',   3,      647,     0 ), /*   646 p                 */
-  S_ST( 'n',   3,      648,     0 ), /*   647 pa                */
-  S_ST( 'i',   3,      382,     0 ), /*   648 pan               */
-  S_ST( 'e',   3,      650,   646 ), /*   649 p                 */
-  S_ST( 'e',   3,      383,     0 ), /*   650 pe                */
-  S_ST( '_',   3,      652,     0 ), /*   651 peer              */
-  S_ST( 'c',   3,      653,     0 ), /*   652 peer_             */
-  S_ST( 'l',   3,      654,     0 ), /*   653 peer_c            */
-  S_ST( 'e',   3,      655,     0 ), /*   654 peer_cl           */
-  S_ST( 'a',   3,      656,     0 ), /*   655 peer_cle          */
-  S_ST( 'r',   3,      657,     0 ), /*   656 peer_clea         */
-  S_ST( '_',   3,      658,     0 ), /*   657 peer_clear        */
-  S_ST( 'd',   3,      659,     0 ), /*   658 peer_clear_       */
-  S_ST( 'i',   3,      660,     0 ), /*   659 peer_clear_d      */
-  S_ST( 'g',   3,      661,     0 ), /*   660 peer_clear_di     */
-  S_ST( 'e',   3,      662,     0 ), /*   661 peer_clear_dig    */
-  S_ST( 's',   3,      663,     0 ), /*   662 peer_clear_dige   */
-  S_ST( 't',   3,      664,     0 ), /*   663 peer_clear_diges  */
-  S_ST( '_',   3,      665,     0 ), /*   664 peer_clear_digest */
-  S_ST( 'e',   3,      666,     0 ), /*   665 peer_clear_digest_ */
-  S_ST( 'a',   3,      667,     0 ), /*   666 peer_clear_digest_e */
-  S_ST( 'r',   3,      668,     0 ), /*   667 peer_clear_digest_ea */
-  S_ST( 'l',   3,      381,     0 ), /*   668 peer_clear_digest_ear */
-  S_ST( 's',   3,      670,   651 ), /*   669 peer              */
-  S_ST( 't',   3,      671,     0 ), /*   670 peers             */
-  S_ST( 'a',   3,      672,     0 ), /*   671 peerst            */
-  S_ST( 't',   3,      384,     0 ), /*   672 peersta           */
-  S_ST( 'h',   3,      674,   649 ), /*   673 p                 */
-  S_ST( 'o',   3,      675,     0 ), /*   674 ph                */
-  S_ST( 'n',   3,      385,     0 ), /*   675 pho               */
-  S_ST( 'i',   3,      386,   673 ), /*   676 p                 */
-  S_ST( 'f',   3,      678,     0 ), /*   677 pid               */
-  S_ST( 'i',   3,      679,     0 ), /*   678 pidf              */
-  S_ST( 'l',   3,      387,     0 ), /*   679 pidfi             */
-  S_ST( 'o',   3,      682,   676 ), /*   680 p                 */
-  S_ST( 'o',   3,      388,     0 ), /*   681 po                */
-  S_ST( 'r',   3,      389,   681 ), /*   682 po                */
-  S_ST( 'r',   3,      690,   680 ), /*   683 p                 */
-  S_ST( 'e',   3,      688,     0 ), /*   684 pr                */
-  S_ST( 'e',   3,      686,     0 ), /*   685 pre               */
-  S_ST( 'm',   3,      687,     0 ), /*   686 pree              */
-  S_ST( 'p',   3,      390,     0 ), /*   687 preem             */
-  S_ST( 'f',   3,      689,   685 ), /*   688 pre               */
-  S_ST( 'e',   3,      391,     0 ), /*   689 pref              */
-  S_ST( 'o',   3,      703,   684 ), /*   690 pr                */
-  S_ST( 'c',   3,      692,     0 ), /*   691 pro               */
-  S_ST( '_',   3,      693,     0 ), /*   692 proc              */
-  S_ST( 'd',   3,      694,     0 ), /*   693 proc_             */
-  S_ST( 'e',   3,      695,     0 ), /*   694 proc_d            */
-  S_ST( 'l',   3,      696,     0 ), /*   695 proc_de           */
-  S_ST( 'a',   3,      453,     0 ), /*   696 proc_del          */
-  S_ST( 'p',   3,      698,   691 ), /*   697 pro               */
-  S_ST( '_',   3,      699,     0 ), /*   698 prop              */
-  S_ST( 'd',   3,      700,     0 ), /*   699 prop_             */
-  S_ST( 'e',   3,      701,     0 ), /*   700 prop_d            */
-  S_ST( 'l',   3,      702,     0 ), /*   701 prop_de           */
-  S_ST( 'a',   3,      452,     0 ), /*   702 prop_del          */
-  S_ST( 't',   3,      704,   697 ), /*   703 pro               */
-  S_ST( 'o',   3,      705,     0 ), /*   704 prot              */
-  S_ST( 's',   3,      706,     0 ), /*   705 proto             */
-  S_ST( 't',   3,      707,     0 ), /*   706 protos            */
-  S_ST( 'a',   3,      708,     0 ), /*   707 protost           */
-  S_ST( 't',   3,      392,     0 ), /*   708 protosta          */
-  S_ST( 'r',   3,      740,   645 ), /*   709                   */
-  S_ST( 'a',   3,      716,     0 ), /*   710 r                 */
-  S_ST( 'n',   3,      712,     0 ), /*   711 ra                */
-  S_ST( 'd',   3,      713,     0 ), /*   712 ran               */
-  S_ST( 'f',   3,      714,     0 ), /*   713 rand              */
-  S_ST( 'i',   3,      715,     0 ), /*   714 randf             */
-  S_ST( 'l',   3,      394,     0 ), /*   715 randfi            */
-  S_ST( 'w',   3,      717,   711 ), /*   716 ra                */
-  S_ST( 's',   3,      718,     0 ), /*   717 raw               */
-  S_ST( 't',   3,      719,     0 ), /*   718 raws              */
-  S_ST( 'a',   3,      720,     0 ), /*   719 rawst             */
-  S_ST( 't',   3,      395,     0 ), /*   720 rawsta            */
-  S_ST( 'e',   3,      737,   710 ), /*   721 r                 */
-  S_ST( 'f',   3,      723,     0 ), /*   722 re                */
-  S_ST( 'i',   3,      396,     0 ), /*   723 ref               */
-  S_ST( 'q',   3,      725,   722 ), /*   724 re                */
-  S_ST( 'u',   3,      726,     0 ), /*   725 req               */
-  S_ST( 'e',   3,      727,     0 ), /*   726 requ              */
-  S_ST( 's',   3,      728,     0 ), /*   727 reque             */
-  S_ST( 't',   3,      729,     0 ), /*   728 reques            */
-  S_ST( 'k',   3,      730,     0 ), /*   729 request           */
-  S_ST( 'e',   3,      397,     0 ), /*   730 requestk          */
-  S_ST( 's',   3,      733,   724 ), /*   731 re                */
-  S_ST( 'e',   3,      398,     0 ), /*   732 res               */
-  S_ST( 't',   3,      734,   732 ), /*   733 res               */
-  S_ST( 'r',   3,      735,     0 ), /*   734 rest              */
-  S_ST( 'i',   3,      736,     0 ), /*   735 restr             */
-  S_ST( 'c',   3,      399,     0 ), /*   736 restri            */
-  S_ST( 'v',   3,      738,   731 ), /*   737 re                */
-  S_ST( 'o',   3,      739,     0 ), /*   738 rev               */
-  S_ST( 'k',   3,      400,     0 ), /*   739 revo              */
-  S_ST( 'l',   3,      741,   721 ), /*   740 r                 */
-  S_ST( 'i',   3,      742,     0 ), /*   741 rl                */
-  S_ST( 'm',   3,      743,     0 ), /*   742 rli               */
-  S_ST( 'i',   3,      401,     0 ), /*   743 rlim              */
-  S_ST( 's',   3,      817,   709 ), /*   744                   */
-  S_ST( 'a',   3,      746,     0 ), /*   745 s                 */
-  S_ST( 'v',   3,      747,     0 ), /*   746 sa                */
-  S_ST( 'e',   3,      748,     0 ), /*   747 sav               */
-  S_ST( 'c',   3,      749,     0 ), /*   748 save              */
-  S_ST( 'o',   3,      750,     0 ), /*   749 savec             */
-  S_ST( 'n',   3,      751,     0 ), /*   750 saveco            */
-  S_ST( 'f',   3,      752,     0 ), /*   751 savecon           */
-  S_ST( 'i',   3,      753,     0 ), /*   752 saveconf          */
-  S_ST( 'g',   3,      754,     0 ), /*   753 saveconfi         */
-  S_ST( 'd',   3,      755,     0 ), /*   754 saveconfig        */
-  S_ST( 'i',   3,      402,     0 ), /*   755 saveconfigd       */
-  S_ST( 'e',   3,      766,   745 ), /*   756 s                 */
-  S_ST( 'r',   3,      758,     0 ), /*   757 se                */
-  S_ST( 'v',   3,      759,     0 ), /*   758 ser               */
-  S_ST( 'e',   3,      403,     0 ), /*   759 serv              */
-  S_ST( '_',   3,      761,     0 ), /*   760 server            */
-  S_ST( 'o',   3,      762,     0 ), /*   761 server_           */
-  S_ST( 'f',   3,      763,     0 ), /*   762 server_o          */
-  S_ST( 'f',   3,      764,     0 ), /*   763 server_of         */
-  S_ST( 's',   3,      765,     0 ), /*   764 server_off        */
-  S_ST( 'e',   3,      447,     0 ), /*   765 server_offs       */
-  S_ST( 't',   3,      767,   757 ), /*   766 se                */
-  S_ST( 'v',   3,      768,     0 ), /*   767 set               */
-  S_ST( 'a',   3,      404,     0 ), /*   768 setv              */
-  S_ST( 'i',   3,      770,   756 ), /*   769 s                 */
-  S_ST( 'm',   3,      771,     0 ), /*   770 si                */
-  S_ST( 'u',   3,      772,     0 ), /*   771 sim               */
-  S_ST( 'l',   3,      773,     0 ), /*   772 simu              */
-  S_ST( 'a',   3,      774,     0 ), /*   773 simul             */
-  S_ST( 't',   3,      775,     0 ), /*   774 simula            */
-  S_ST( 'i',   3,      776,   444 ), /*   775 simulat           */
-  S_ST( 'o',   3,      777,     0 ), /*   776 simulati          */
-  S_ST( 'n',   3,      778,     0 ), /*   777 simulatio         */
-  S_ST( '_',   3,      779,     0 ), /*   778 simulation        */
-  S_ST( 'd',   3,      780,     0 ), /*   779 simulation_       */
-  S_ST( 'u',   3,      781,     0 ), /*   780 simulation_d      */
-  S_ST( 'r',   3,      782,     0 ), /*   781 simulation_du     */
-  S_ST( 'a',   3,      783,     0 ), /*   782 simulation_dur    */
-  S_ST( 't',   3,      784,     0 ), /*   783 simulation_dura   */
-  S_ST( 'i',   3,      785,     0 ), /*   784 simulation_durat  */
-  S_ST( 'o',   3,      446,     0 ), /*   785 simulation_durati */
-  S_ST( 'o',   3,      787,   769 ), /*   786 s                 */
-  S_ST( 'u',   3,      788,     0 ), /*   787 so                */
-  S_ST( 'r',   3,      789,     0 ), /*   788 sou               */
-  S_ST( 'c',   3,      405,     0 ), /*   789 sour              */
-  S_ST( 't',   3,      813,   786 ), /*   790 s                 */
-  S_ST( 'a',   3,      797,     0 ), /*   791 st                */
-  S_ST( 'c',   3,      793,     0 ), /*   792 sta               */
-  S_ST( 'k',   3,      794,     0 ), /*   793 stac              */
-  S_ST( 's',   3,      795,     0 ), /*   794 stack             */
-  S_ST( 'i',   3,      796,     0 ), /*   795 stacks            */
-  S_ST( 'z',   3,      406,     0 ), /*   796 stacksi           */
-  S_ST( 't',   3,      408,   792 ), /*   797 sta               */
-  S_ST( 'i',   3,      799,     0 ), /*   798 stat              */
-  S_ST( 's',   3,      800,     0 ), /*   799 stati             */
-  S_ST( 't',   3,      801,     0 ), /*   800 statis            */
-  S_ST( 'i',   3,      802,     0 ), /*   801 statist           */
-  S_ST( 'c',   3,      407,     0 ), /*   802 statisti          */
-  S_ST( 'd',   3,      804,     0 ), /*   803 stats             */
-  S_ST( 'i',   3,      409,     0 ), /*   804 statsd            */
-  S_ST( 'e',   3,      410,   791 ), /*   805 st                */
-  S_ST( 'b',   3,      807,     0 ), /*   806 step              */
-  S_ST( 'a',   3,      808,     0 ), /*   807 stepb             */
-  S_ST( 'c',   3,      411,     0 ), /*   808 stepba            */
-  S_ST( 'f',   3,      810,   806 ), /*   809 step              */
-  S_ST( 'w',   3,      412,     0 ), /*   810 stepf             */
-  S_ST( 'o',   3,      812,   809 ), /*   811 step              */
-  S_ST( 'u',   3,      413,     0 ), /*   812 stepo             */
-  S_ST( 'r',   3,      814,   805 ), /*   813 st                */
-  S_ST( 'a',   3,      815,     0 ), /*   814 str               */
-  S_ST( 't',   3,      816,     0 ), /*   815 stra              */
-  S_ST( 'u',   3,      414,     0 ), /*   816 strat             */
-  S_ST( 'y',   3,      416,   790 ), /*   817 s                 */
-  S_ST( 's',   3,      819,     0 ), /*   818 sys               */
-  S_ST( 't',   3,      820,     0 ), /*   819 syss              */
-  S_ST( 'a',   3,      821,     0 ), /*   820 sysst             */
-  S_ST( 't',   3,      417,     0 ), /*   821 syssta            */
-  S_ST( 't',   3,      848,   744 ), /*   822                   */
-  S_ST( 'i',   3,      834,     0 ), /*   823 t                 */
-  S_ST( 'c',   3,      418,     0 ), /*   824 ti                */
-  S_ST( 'm',   3,      827,   824 ), /*   825 ti                */
-  S_ST( 'e',   3,      421,     0 ), /*   826 tim               */
-  S_ST( 'i',   3,      828,   826 ), /*   827 tim               */
-  S_ST( 'n',   3,      829,     0 ), /*   828 timi              */
-  S_ST( 'g',   3,      830,     0 ), /*   829 timin             */
-  S_ST( 's',   3,      831,     0 ), /*   830 timing            */
-  S_ST( 't',   3,      832,     0 ), /*   831 timings           */
-  S_ST( 'a',   3,      833,     0 ), /*   832 timingst          */
-  S_ST( 't',   3,      422,     0 ), /*   833 timingsta         */
-  S_ST( 'n',   3,      835,   825 ), /*   834 ti                */
-  S_ST( 'k',   3,      836,     0 ), /*   835 tin               */
-  S_ST( 'e',   3,      423,     0 ), /*   836 tink              */
-  S_ST( 'o',   3,      424,   823 ), /*   837 t                 */
-  S_ST( 'r',   3,      840,   837 ), /*   838 t                 */
-  S_ST( 'a',   3,      425,     0 ), /*   839 tr                */
-  S_ST( 'u',   3,      841,   839 ), /*   840 tr                */
-  S_ST( 's',   3,      842,   426 ), /*   841 tru               */
-  S_ST( 't',   3,      843,     0 ), /*   842 trus              */
-  S_ST( 'e',   3,      844,     0 ), /*   843 trust             */
-  S_ST( 'd',   3,      845,     0 ), /*   844 truste            */
-  S_ST( 'k',   3,      846,     0 ), /*   845 trusted           */
-  S_ST( 'e',   3,      427,     0 ), /*   846 trustedk          */
-  S_ST( 't',   3,      428,   838 ), /*   847 t                 */
-  S_ST( 'y',   3,      849,   847 ), /*   848 t                 */
-  S_ST( 'p',   3,      429,     0 ), /*   849 ty                */
-  S_ST( 'u',   3,      851,   822 ), /*   850                   */
-  S_ST( 'n',   3,      857,     0 ), /*   851 u                 */
-  S_ST( 'c',   3,      853,     0 ), /*   852 un                */
-  S_ST( 'o',   3,      854,     0 ), /*   853 unc               */
-  S_ST( 'n',   3,      855,     0 ), /*   854 unco              */
-  S_ST( 'f',   3,      856,     0 ), /*   855 uncon             */
-  S_ST( 'i',   3,      434,     0 ), /*   856 unconf            */
-  S_ST( 'p',   3,      858,   852 ), /*   857 un                */
-  S_ST( 'e',   3,      859,     0 ), /*   858 unp               */
-  S_ST( 'e',   3,      435,     0 ), /*   859 unpe              */
-  S_ST( '_',   3,      880,     0 ), /*   860 unpeer            */
-  S_ST( 'c',   3,      862,     0 ), /*   861 unpeer_           */
-  S_ST( 'r',   3,      863,     0 ), /*   862 unpeer_c          */
-  S_ST( 'y',   3,      864,     0 ), /*   863 unpeer_cr         */
-  S_ST( 'p',   3,      865,     0 ), /*   864 unpeer_cry        */
-  S_ST( 't',   3,      866,     0 ), /*   865 unpeer_cryp       */
-  S_ST( 'o',   3,      867,     0 ), /*   866 unpeer_crypt      */
-  S_ST( '_',   3,      872,     0 ), /*   867 unpeer_crypto     */
-  S_ST( 'e',   3,      869,     0 ), /*   868 unpeer_crypto_    */
-  S_ST( 'a',   3,      870,     0 ), /*   869 unpeer_crypto_e   */
-  S_ST( 'r',   3,      871,     0 ), /*   870 unpeer_crypto_ea  */
-  S_ST( 'l',   3,      431,     0 ), /*   871 unpeer_crypto_ear */
-  S_ST( 'n',   3,      873,   868 ), /*   872 unpeer_crypto_    */
-  S_ST( 'a',   3,      874,     0 ), /*   873 unpeer_crypto_n   */
-  S_ST( 'k',   3,      875,     0 ), /*   874 unpeer_crypto_na  */
-  S_ST( '_',   3,      876,     0 ), /*   875 unpeer_crypto_nak */
-  S_ST( 'e',   3,      877,     0 ), /*   876 unpeer_crypto_nak_ */
-  S_ST( 'a',   3,      878,     0 ), /*   877 unpeer_crypto_nak_e */
-  S_ST( 'r',   3,      879,     0 ), /*   878 unpeer_crypto_nak_ea */
-  S_ST( 'l',   3,      432,     0 ), /*   879 unpeer_crypto_nak_ear */
-  S_ST( 'd',   3,      881,   861 ), /*   880 unpeer_           */
-  S_ST( 'i',   3,      882,     0 ), /*   881 unpeer_d          */
-  S_ST( 'g',   3,      883,     0 ), /*   882 unpeer_di         */
-  S_ST( 'e',   3,      884,     0 ), /*   883 unpeer_dig        */
-  S_ST( 's',   3,      885,     0 ), /*   884 unpeer_dige       */
-  S_ST( 't',   3,      886,     0 ), /*   885 unpeer_diges      */
-  S_ST( '_',   3,      887,     0 ), /*   886 unpeer_digest     */
-  S_ST( 'e',   3,      888,     0 ), /*   887 unpeer_digest_    */
-  S_ST( 'a',   3,      889,     0 ), /*   888 unpeer_digest_e   */
-  S_ST( 'r',   3,      890,     0 ), /*   889 unpeer_digest_ea  */
-  S_ST( 'l',   3,      433,     0 ), /*   890 unpeer_digest_ear */
-  S_ST( 'v',   3,      892,   850 ), /*   891                   */
-  S_ST( 'e',   3,      893,     0 ), /*   892 v                 */
-  S_ST( 'r',   3,      894,     0 ), /*   893 ve                */
-  S_ST( 's',   3,      895,     0 ), /*   894 ver               */
-  S_ST( 'i',   3,      896,     0 ), /*   895 vers              */
-  S_ST( 'o',   3,      436,     0 ), /*   896 versi             */
-  S_ST( 'w',   3,      904,   891 ), /*   897                   */
-  S_ST( 'a',   3,      899,     0 ), /*   898 w                 */
-  S_ST( 'n',   3,      900,     0 ), /*   899 wa                */
-  S_ST( 'd',   3,      901,     0 ), /*   900 wan               */
-  S_ST( 'e',   3,      450,     0 ), /*   901 wand              */
-  S_ST( 'e',   3,      903,   898 ), /*   902 w                 */
-  S_ST( 'e',   3,      438,     0 ), /*   903 we                */
-  S_ST( 'i',   3,      905,   902 ), /*   904 w                 */
-  S_ST( 'l',   3,      906,     0 ), /*   905 wi                */
-  S_ST( 'd',   3,      907,     0 ), /*   906 wil               */
-  S_ST( 'c',   3,      908,     0 ), /*   907 wild              */
-  S_ST( 'a',   3,      909,     0 ), /*   908 wildc             */
-  S_ST( 'r',   3,      439,     0 ), /*   909 wildca            */
-  S_ST( 'x',   3,      911,   897 ), /*   910                   */
-  S_ST( 'l',   3,      912,     0 ), /*   911 x                 */
-  S_ST( 'e',   3,      913,     0 ), /*   912 xl                */
-  S_ST( 'a',   3,      914,     0 ), /*   913 xle               */
-  S_ST( 'v',   3,      440,     0 ), /*   914 xlea              */
-  S_ST( 'y',   3,      916,   910 ), /*   915 [initial state]   */
-  S_ST( 'e',   3,      917,     0 ), /*   916 y                 */
-  S_ST( 'a',   3,      441,     0 )  /*   917 ye                */
+  S_ST( 'e',   1,        0,     0 ), /*   267 T_Basedate        */
+  S_ST( 't',   0,        0,     0 ), /*   268 T_Bclient         */
+  S_ST( 'p',   0,        0,     0 ), /*   269 T_Bcpollbstep     */
+  S_ST( 'n',   0,        0,     0 ), /*   270 T_Beacon          */
+  S_ST( 't',   1,       71,     0 ), /*   271 T_Broadcast       */
+  S_ST( 't',   0,        0,     0 ), /*   272 T_Broadcastclient */
+  S_ST( 'y',   0,        0,     0 ), /*   273 T_Broadcastdelay  */
+  S_ST( 't',   0,        0,     0 ), /*   274 T_Burst           */
+  S_ST( 'e',   0,        0,     0 ), /*   275 T_Calibrate       */
+  S_ST( 'g',   0,        0,     0 ), /*   276 T_Ceiling         */
+  S_ST( 's',   0,        0,     0 ), /*   277 T_Clockstats      */
+  S_ST( 't',   0,        0,     0 ), /*   278 T_Cohort          */
+  S_ST( 'y',   0,        0,     0 ), /*   279 T_ControlKey      */
+  S_ST( 'o',   0,      114,     0 ), /*   280 T_Crypto          */
+  S_ST( 's',   0,        0,     0 ), /*   281 T_Cryptostats     */
+  S_ST( 'l',   0,        0,     0 ), /*   282 T_Ctl             */
+  S_ST( 'y',   0,        0,     0 ), /*   283 T_Day             */
+  S_ST( 't',   0,        0,     0 ), /*   284 T_Default         */
+  S_ST( 't',   1,        0,     0 ), /*   285 T_Digest          */
+  S_ST( 'e',   0,        0,     0 ), /*   286 T_Disable         */
+  S_ST( 'd',   0,        0,     0 ), /*   287 T_Discard         */
+  S_ST( 'n',   0,        0,     0 ), /*   288 T_Dispersion      */
+  S_ST( 'i',   3,      296,     0 ), /*   289 leapf             */
+  S_ST( 'e',   1,        0,     0 ), /*   290 T_Driftfile       */
+  S_ST( 'p',   0,        0,     0 ), /*   291 T_Drop            */
+  S_ST( 'p',   0,        0,     0 ), /*   292 T_Dscp            */
+  S_ST( '.',   0,        0,     0 ), /*   293 T_Ellipsis        */
+  S_ST( 'e',   0,        0,     0 ), /*   294 T_Enable          */
+  S_ST( 'd',   0,        0,   161 ), /*   295 T_End             */
+  S_ST( 'l',   3,      332,     0 ), /*   296 leapfi            */
+  S_ST( 'e',   1,      169,     0 ), /*   297 T_File            */
+  S_ST( 'n',   0,        0,     0 ), /*   298 T_Filegen         */
+  S_ST( 'm',   0,        0,     0 ), /*   299 T_Filenum         */
+  S_ST( '1',   0,        0,     0 ), /*   300 T_Flag1           */
+  S_ST( '2',   0,        0,   300 ), /*   301 T_Flag2           */
+  S_ST( '3',   0,        0,   301 ), /*   302 T_Flag3           */
+  S_ST( '4',   0,        0,   302 ), /*   303 T_Flag4           */
+  S_ST( 'e',   0,        0,     0 ), /*   304 T_Flake           */
+  S_ST( 'r',   0,        0,     0 ), /*   305 T_Floor           */
+  S_ST( 'q',   0,      179,     0 ), /*   306 T_Freq            */
+  S_ST( 'e',   1,        0,     0 ), /*   307 T_Fudge           */
+  S_ST( 't',   1,        0,     0 ), /*   308 T_Host            */
+  S_ST( 'f',   0,        0,     0 ), /*   309 T_Huffpuff        */
+  S_ST( 't',   0,        0,     0 ), /*   310 T_Iburst          */
+  S_ST( 't',   1,        0,     0 ), /*   311 T_Ident           */
+  S_ST( 'e',   0,        0,     0 ), /*   312 T_Ignore          */
+  S_ST( 'c',   0,        0,     0 ), /*   313 T_Incalloc        */
+  S_ST( 'm',   0,        0,     0 ), /*   314 T_Incmem          */
+  S_ST( 'c',   0,        0,     0 ), /*   315 T_Initalloc       */
+  S_ST( 'm',   0,        0,     0 ), /*   316 T_Initmem         */
+  S_ST( 'e',   1,        0,     0 ), /*   317 T_Includefile     */
+  S_ST( 's',   3,      320,   257 ), /*   318 leap              */
+  S_ST( 'e',   0,        0,     0 ), /*   319 T_Interface       */
+  S_ST( 'm',   3,      416,     0 ), /*   320 leaps             */
+  S_ST( 'o',   0,        0,   209 ), /*   321 T_Io              */
+  S_ST( '4',   0,        0,     0 ), /*   322 T_Ipv4            */
+  S_ST( '4',   0,        0,     0 ), /*   323 T_Ipv4_flag       */
+  S_ST( '6',   0,        0,   322 ), /*   324 T_Ipv6            */
+  S_ST( '6',   0,        0,   323 ), /*   325 T_Ipv6_flag       */
+  S_ST( 'l',   0,        0,     0 ), /*   326 T_Kernel          */
+  S_ST( 'y',   0,      328,   247 ), /*   327 T_Key             */
+  S_ST( 's',   1,      250,     0 ), /*   328 T_Keys            */
+  S_ST( 'r',   1,        0,     0 ), /*   329 T_Keysdir         */
+  S_ST( 'd',   0,        0,     0 ), /*   330 T_Kod             */
+  S_ST( 'p',   0,        0,     0 ), /*   331 T_Mssntp          */
+  S_ST( 'e',   1,        0,     0 ), /*   332 T_Leapfile        */
+  S_ST( 'l',   0,        0,     0 ), /*   333 T_Leapsmearinterval */
+  S_ST( 'd',   0,        0,     0 ), /*   334 T_Limited         */
+  S_ST( 'k',   0,        0,     0 ), /*   335 T_Link            */
+  S_ST( 'n',   0,        0,     0 ), /*   336 T_Listen          */
+  S_ST( 'g',   2,        0,     0 ), /*   337 T_Logconfig       */
+  S_ST( 'e',   1,        0,     0 ), /*   338 T_Logfile         */
+  S_ST( 's',   0,        0,     0 ), /*   339 T_Loopstats       */
+  S_ST( 'p',   0,        0,     0 ), /*   340 T_Lowpriotrap     */
+  S_ST( 't',   1,        0,     0 ), /*   341 T_Manycastclient  */
+  S_ST( 'r',   2,        0,     0 ), /*   342 T_Manycastserver  */
+  S_ST( 'k',   0,        0,     0 ), /*   343 T_Mask            */
+  S_ST( 'e',   0,        0,     0 ), /*   344 T_Maxage          */
+  S_ST( 'k',   0,        0,     0 ), /*   345 T_Maxclock        */
+  S_ST( 'h',   0,        0,     0 ), /*   346 T_Maxdepth        */
+  S_ST( 't',   0,        0,     0 ), /*   347 T_Maxdist         */
+  S_ST( 'm',   0,        0,     0 ), /*   348 T_Maxmem          */
+  S_ST( 'l',   0,        0,     0 ), /*   349 T_Maxpoll         */
+  S_ST( 's',   0,        0,     0 ), /*   350 T_Mdnstries       */
+  S_ST( 'm',   0,      538,     0 ), /*   351 T_Mem             */
+  S_ST( 'k',   0,        0,     0 ), /*   352 T_Memlock         */
+  S_ST( 'k',   0,        0,     0 ), /*   353 T_Minclock        */
+  S_ST( 'h',   0,        0,     0 ), /*   354 T_Mindepth        */
+  S_ST( 't',   0,        0,     0 ), /*   355 T_Mindist         */
+  S_ST( 'm',   0,        0,     0 ), /*   356 T_Minimum         */
+  S_ST( 'l',   0,        0,     0 ), /*   357 T_Minpoll         */
+  S_ST( 'e',   0,        0,     0 ), /*   358 T_Minsane         */
+  S_ST( 'e',   0,      360,     0 ), /*   359 T_Mode            */
+  S_ST( '7',   0,        0,     0 ), /*   360 T_Mode7           */
+  S_ST( 'r',   0,        0,     0 ), /*   361 T_Monitor         */
+  S_ST( 'h',   0,        0,     0 ), /*   362 T_Month           */
+  S_ST( 'u',   0,        0,     0 ), /*   363 T_Mru             */
+  S_ST( 't',   2,        0,     0 ), /*   364 T_Multicastclient */
+  S_ST( 'c',   0,        0,     0 ), /*   365 T_Nic             */
+  S_ST( 'k',   0,        0,     0 ), /*   366 T_Nolink          */
+  S_ST( 'y',   0,        0,     0 ), /*   367 T_Nomodify        */
+  S_ST( 't',   0,        0,     0 ), /*   368 T_Nomrulist       */
+  S_ST( 'e',   0,        0,     0 ), /*   369 T_None            */
+  S_ST( 'e',   0,        0,     0 ), /*   370 T_Nonvolatile     */
+  S_ST( 'r',   0,        0,     0 ), /*   371 T_Nopeer          */
+  S_ST( 'y',   0,        0,     0 ), /*   372 T_Noquery         */
+  S_ST( 't',   0,        0,     0 ), /*   373 T_Noselect        */
+  S_ST( 'e',   0,        0,     0 ), /*   374 T_Noserve         */
+  S_ST( 'p',   0,        0,     0 ), /*   375 T_Notrap          */
+  S_ST( 't',   0,        0,     0 ), /*   376 T_Notrust         */
+  S_ST( 'p',   0,      634,     0 ), /*   377 T_Ntp             */
+  S_ST( 't',   0,        0,     0 ), /*   378 T_Ntpport         */
+  S_ST( 't',   1,        0,     0 ), /*   379 T_NtpSignDsocket  */
+  S_ST( 'n',   0,      649,     0 ), /*   380 T_Orphan          */
+  S_ST( 't',   0,        0,     0 ), /*   381 T_Orphanwait      */
+  S_ST( 'y',   0,        0,     0 ), /*   382 T_PCEdigest       */
+  S_ST( 'c',   0,        0,     0 ), /*   383 T_Panic           */
+  S_ST( 'r',   1,      676,     0 ), /*   384 T_Peer            */
+  S_ST( 's',   0,        0,     0 ), /*   385 T_Peerstats       */
+  S_ST( 'e',   2,        0,     0 ), /*   386 T_Phone           */
+  S_ST( 'd',   0,      684,     0 ), /*   387 T_Pid             */
+  S_ST( 'e',   1,        0,     0 ), /*   388 T_Pidfile         */
+  S_ST( 'l',   1,        0,     0 ), /*   389 T_Pool            */
+  S_ST( 't',   0,        0,     0 ), /*   390 T_Port            */
+  S_ST( 't',   0,        0,     0 ), /*   391 T_Preempt         */
+  S_ST( 'r',   0,        0,     0 ), /*   392 T_Prefer          */
+  S_ST( 's',   0,        0,     0 ), /*   393 T_Protostats      */
+  S_ST( 'w',   1,        0,   690 ), /*   394 T_Pw              */
+  S_ST( 'e',   1,        0,     0 ), /*   395 T_Randfile        */
+  S_ST( 's',   0,        0,     0 ), /*   396 T_Rawstats        */
+  S_ST( 'd',   1,        0,     0 ), /*   397 T_Refid           */
+  S_ST( 'y',   0,        0,     0 ), /*   398 T_Requestkey      */
+  S_ST( 't',   0,        0,     0 ), /*   399 T_Reset           */
+  S_ST( 't',   0,        0,     0 ), /*   400 T_Restrict        */
+  S_ST( 'e',   0,        0,     0 ), /*   401 T_Revoke          */
+  S_ST( 't',   0,        0,     0 ), /*   402 T_Rlimit          */
+  S_ST( 'r',   1,        0,     0 ), /*   403 T_Saveconfigdir   */
+  S_ST( 'r',   1,      767,     0 ), /*   404 T_Server          */
+  S_ST( 'r',   1,        0,     0 ), /*   405 T_Setvar          */
+  S_ST( 'e',   0,        0,     0 ), /*   406 T_Source          */
+  S_ST( 'e',   0,        0,     0 ), /*   407 T_Stacksize       */
+  S_ST( 's',   0,        0,     0 ), /*   408 T_Statistics      */
+  S_ST( 's',   0,      810,   805 ), /*   409 T_Stats           */
+  S_ST( 'r',   1,        0,     0 ), /*   410 T_Statsdir        */
+  S_ST( 'p',   0,      818,     0 ), /*   411 T_Step            */
+  S_ST( 'k',   0,        0,     0 ), /*   412 T_Stepback        */
+  S_ST( 'd',   0,        0,     0 ), /*   413 T_Stepfwd         */
+  S_ST( 't',   0,        0,     0 ), /*   414 T_Stepout         */
+  S_ST( 'm',   0,        0,     0 ), /*   415 T_Stratum         */
+  S_ST( 'e',   3,      431,     0 ), /*   416 leapsm            */
+  S_ST( 's',   0,      825,     0 ), /*   417 T_Sys             */
+  S_ST( 's',   0,        0,     0 ), /*   418 T_Sysstats        */
+  S_ST( 'k',   0,        0,     0 ), /*   419 T_Tick            */
+  S_ST( '1',   0,        0,     0 ), /*   420 T_Time1           */
+  S_ST( '2',   0,        0,   420 ), /*   421 T_Time2           */
+  S_ST( 'r',   0,        0,   421 ), /*   422 T_Timer           */
+  S_ST( 's',   0,        0,     0 ), /*   423 T_Timingstats     */
+  S_ST( 'r',   0,        0,     0 ), /*   424 T_Tinker          */
+  S_ST( 's',   0,        0,     0 ), /*   425 T_Tos             */
+  S_ST( 'p',   1,        0,     0 ), /*   426 T_Trap            */
+  S_ST( 'e',   0,        0,     0 ), /*   427 T_True            */
+  S_ST( 'y',   0,        0,     0 ), /*   428 T_Trustedkey      */
+  S_ST( 'l',   0,        0,     0 ), /*   429 T_Ttl             */
+  S_ST( 'e',   0,        0,     0 ), /*   430 T_Type            */
+  S_ST( 'a',   3,      438,     0 ), /*   431 leapsme           */
+  S_ST( 'y',   0,        0,     0 ), /*   432 T_UEcrypto        */
+  S_ST( 'y',   0,        0,     0 ), /*   433 T_UEcryptonak     */
+  S_ST( 'y',   0,        0,     0 ), /*   434 T_UEdigest        */
+  S_ST( 'g',   1,        0,     0 ), /*   435 T_Unconfig        */
+  S_ST( 'r',   1,      867,     0 ), /*   436 T_Unpeer          */
+  S_ST( 'n',   0,        0,     0 ), /*   437 T_Version         */
+  S_ST( 'r',   3,      443,     0 ), /*   438 leapsmea          */
+  S_ST( 'k',   0,        0,     0 ), /*   439 T_Week            */
+  S_ST( 'd',   0,        0,     0 ), /*   440 T_Wildcard        */
+  S_ST( 'e',   0,        0,     0 ), /*   441 T_Xleave          */
+  S_ST( 'r',   0,        0,     0 ), /*   442 T_Year            */
+  S_ST( 'i',   3,      444,     0 ), /*   443 leapsmear         */
+  S_ST( 'n',   3,      455,     0 ), /*   444 leapsmeari        */
+  S_ST( 'e',   0,        0,     0 ), /*   445 T_Simulate        */
+  S_ST( 'y',   0,        0,     0 ), /*   446 T_Beep_Delay      */
+  S_ST( 'n',   0,        0,     0 ), /*   447 T_Sim_Duration    */
+  S_ST( 't',   0,        0,     0 ), /*   448 T_Server_Offset   */
+  S_ST( 'n',   0,        0,     0 ), /*   449 T_Duration        */
+  S_ST( 't',   0,        0,     0 ), /*   450 T_Freq_Offset     */
+  S_ST( 'r',   0,        0,     0 ), /*   451 T_Wander          */
+  S_ST( 'r',   0,        0,     0 ), /*   452 T_Jitter          */
+  S_ST( 'y',   0,        0,     0 ), /*   453 T_Prop_Delay      */
+  S_ST( 'y',   0,        0,     0 ), /*   454 T_Proc_Delay      */
+  S_ST( 't',   3,      456,     0 ), /*   455 leapsmearin       */
+  S_ST( 'e',   3,      457,     0 ), /*   456 leapsmearint      */
+  S_ST( 'r',   3,      458,     0 ), /*   457 leapsmearinte     */
+  S_ST( 'v',   3,      459,     0 ), /*   458 leapsmearinter    */
+  S_ST( 'a',   3,      333,     0 ), /*   459 leapsmearinterv   */
+  S_ST( 'i',   3,      466,   254 ), /*   460 l                 */
+  S_ST( 'm',   3,      462,     0 ), /*   461 li                */
+  S_ST( 'i',   3,      463,     0 ), /*   462 lim               */
+  S_ST( 't',   3,      464,     0 ), /*   463 limi              */
+  S_ST( 'e',   3,      334,     0 ), /*   464 limit             */
+  S_ST( 'n',   3,      335,   461 ), /*   465 li                */
+  S_ST( 's',   3,      467,   465 ), /*   466 li                */
+  S_ST( 't',   3,      468,     0 ), /*   467 lis               */
+  S_ST( 'e',   3,      336,     0 ), /*   468 list              */
+  S_ST( 'o',   3,      485,   460 ), /*   469 l                 */
+  S_ST( 'g',   3,      476,     0 ), /*   470 lo                */
+  S_ST( 'c',   3,      472,     0 ), /*   471 log               */
+  S_ST( 'o',   3,      473,     0 ), /*   472 logc              */
+  S_ST( 'n',   3,      474,     0 ), /*   473 logco             */
+  S_ST( 'f',   3,      475,     0 ), /*   474 logcon            */
+  S_ST( 'i',   3,      337,     0 ), /*   475 logconf           */
+  S_ST( 'f',   3,      477,   471 ), /*   476 log               */
+  S_ST( 'i',   3,      478,     0 ), /*   477 logf              */
+  S_ST( 'l',   3,      338,     0 ), /*   478 logfi             */
+  S_ST( 'o',   3,      480,   470 ), /*   479 lo                */
+  S_ST( 'p',   3,      481,     0 ), /*   480 loo               */
+  S_ST( 's',   3,      482,     0 ), /*   481 loop              */
+  S_ST( 't',   3,      483,     0 ), /*   482 loops             */
+  S_ST( 'a',   3,      484,     0 ), /*   483 loopst            */
+  S_ST( 't',   3,      339,     0 ), /*   484 loopsta           */
+  S_ST( 'w',   3,      486,   479 ), /*   485 lo                */
+  S_ST( 'p',   3,      487,     0 ), /*   486 low               */
+  S_ST( 'r',   3,      488,     0 ), /*   487 lowp              */
+  S_ST( 'i',   3,      489,     0 ), /*   488 lowpr             */
+  S_ST( 'o',   3,      490,     0 ), /*   489 lowpri            */
+  S_ST( 't',   3,      491,     0 ), /*   490 lowprio           */
+  S_ST( 'r',   3,      492,     0 ), /*   491 lowpriot          */
+  S_ST( 'a',   3,      340,     0 ), /*   492 lowpriotr         */
+  S_ST( 'm',   3,      574,   253 ), /*   493                   */
+  S_ST( 'a',   3,      512,     0 ), /*   494 m                 */
+  S_ST( 'n',   3,      496,     0 ), /*   495 ma                */
+  S_ST( 'y',   3,      497,     0 ), /*   496 man               */
+  S_ST( 'c',   3,      498,     0 ), /*   497 many              */
+  S_ST( 'a',   3,      499,     0 ), /*   498 manyc             */
+  S_ST( 's',   3,      500,     0 ), /*   499 manyca            */
+  S_ST( 't',   3,      506,     0 ), /*   500 manycas           */
+  S_ST( 'c',   3,      502,     0 ), /*   501 manycast          */
+  S_ST( 'l',   3,      503,     0 ), /*   502 manycastc         */
+  S_ST( 'i',   3,      504,     0 ), /*   503 manycastcl        */
+  S_ST( 'e',   3,      505,     0 ), /*   504 manycastcli       */
+  S_ST( 'n',   3,      341,     0 ), /*   505 manycastclie      */
+  S_ST( 's',   3,      507,   501 ), /*   506 manycast          */
+  S_ST( 'e',   3,      508,     0 ), /*   507 manycasts         */
+  S_ST( 'r',   3,      509,     0 ), /*   508 manycastse        */
+  S_ST( 'v',   3,      510,     0 ), /*   509 manycastser       */
+  S_ST( 'e',   3,      342,     0 ), /*   510 manycastserv      */
+  S_ST( 's',   3,      343,   495 ), /*   511 ma                */
+  S_ST( 'x',   3,      527,   511 ), /*   512 ma                */
+  S_ST( 'a',   3,      514,     0 ), /*   513 max               */
+  S_ST( 'g',   3,      344,     0 ), /*   514 maxa              */
+  S_ST( 'c',   3,      516,   513 ), /*   515 max               */
+  S_ST( 'l',   3,      517,     0 ), /*   516 maxc              */
+  S_ST( 'o',   3,      518,     0 ), /*   517 maxcl             */
+  S_ST( 'c',   3,      345,     0 ), /*   518 maxclo            */
+  S_ST( 'd',   3,      523,   515 ), /*   519 max               */
+  S_ST( 'e',   3,      521,     0 ), /*   520 maxd              */
+  S_ST( 'p',   3,      522,     0 ), /*   521 maxde             */
+  S_ST( 't',   3,      346,     0 ), /*   522 maxdep            */
+  S_ST( 'i',   3,      524,   520 ), /*   523 maxd              */
+  S_ST( 's',   3,      347,     0 ), /*   524 maxdi             */
+  S_ST( 'm',   3,      526,   519 ), /*   525 max               */
+  S_ST( 'e',   3,      348,     0 ), /*   526 maxm              */
+  S_ST( 'p',   3,      528,   525 ), /*   527 max               */
+  S_ST( 'o',   3,      529,     0 ), /*   528 maxp              */
+  S_ST( 'l',   3,      349,     0 ), /*   529 maxpo             */
+  S_ST( 'd',   3,      531,   494 ), /*   530 m                 */
+  S_ST( 'n',   3,      532,     0 ), /*   531 md                */
+  S_ST( 's',   3,      533,     0 ), /*   532 mdn               */
+  S_ST( 't',   3,      534,     0 ), /*   533 mdns              */
+  S_ST( 'r',   3,      535,     0 ), /*   534 mdnst             */
+  S_ST( 'i',   3,      536,     0 ), /*   535 mdnstr            */
+  S_ST( 'e',   3,      350,     0 ), /*   536 mdnstri           */
+  S_ST( 'e',   3,      351,   530 ), /*   537 m                 */
+  S_ST( 'l',   3,      539,     0 ), /*   538 mem               */
+  S_ST( 'o',   3,      540,     0 ), /*   539 meml              */
+  S_ST( 'c',   3,      352,     0 ), /*   540 memlo             */
+  S_ST( 'i',   3,      542,   537 ), /*   541 m                 */
+  S_ST( 'n',   3,      559,     0 ), /*   542 mi                */
+  S_ST( 'c',   3,      544,     0 ), /*   543 min               */
+  S_ST( 'l',   3,      545,     0 ), /*   544 minc              */
+  S_ST( 'o',   3,      546,     0 ), /*   545 mincl             */
+  S_ST( 'c',   3,      353,     0 ), /*   546 minclo            */
+  S_ST( 'd',   3,      551,   543 ), /*   547 min               */
+  S_ST( 'e',   3,      549,     0 ), /*   548 mind              */
+  S_ST( 'p',   3,      550,     0 ), /*   549 minde             */
+  S_ST( 't',   3,      354,     0 ), /*   550 mindep            */
+  S_ST( 'i',   3,      552,   548 ), /*   551 mind              */
+  S_ST( 's',   3,      355,     0 ), /*   552 mindi             */
+  S_ST( 'i',   3,      554,   547 ), /*   553 min               */
+  S_ST( 'm',   3,      555,     0 ), /*   554 mini              */
+  S_ST( 'u',   3,      356,     0 ), /*   555 minim             */
+  S_ST( 'p',   3,      557,   553 ), /*   556 min               */
+  S_ST( 'o',   3,      558,     0 ), /*   557 minp              */
+  S_ST( 'l',   3,      357,     0 ), /*   558 minpo             */
+  S_ST( 's',   3,      560,   556 ), /*   559 min               */
+  S_ST( 'a',   3,      561,     0 ), /*   560 mins              */
+  S_ST( 'n',   3,      358,     0 ), /*   561 minsa             */
+  S_ST( 'o',   3,      564,   541 ), /*   562 m                 */
+  S_ST( 'd',   3,      359,     0 ), /*   563 mo                */
+  S_ST( 'n',   3,      568,   563 ), /*   564 mo                */
+  S_ST( 'i',   3,      566,     0 ), /*   565 mon               */
+  S_ST( 't',   3,      567,     0 ), /*   566 moni              */
+  S_ST( 'o',   3,      361,     0 ), /*   567 monit             */
+  S_ST( 't',   3,      362,   565 ), /*   568 mon               */
+  S_ST( 'r',   3,      363,   562 ), /*   569 m                 */
+  S_ST( 's',   3,      571,   569 ), /*   570 m                 */
+  S_ST( 's',   3,      572,     0 ), /*   571 ms                */
+  S_ST( 'n',   3,      573,     0 ), /*   572 mss               */
+  S_ST( 't',   3,      331,     0 ), /*   573 mssn              */
+  S_ST( 'u',   3,      575,   570 ), /*   574 m                 */
+  S_ST( 'l',   3,      576,     0 ), /*   575 mu                */
+  S_ST( 't',   3,      577,     0 ), /*   576 mul               */
+  S_ST( 'i',   3,      578,     0 ), /*   577 mult              */
+  S_ST( 'c',   3,      579,     0 ), /*   578 multi             */
+  S_ST( 'a',   3,      580,     0 ), /*   579 multic            */
+  S_ST( 's',   3,      581,     0 ), /*   580 multica           */
+  S_ST( 't',   3,      582,     0 ), /*   581 multicas          */
+  S_ST( 'c',   3,      583,     0 ), /*   582 multicast         */
+  S_ST( 'l',   3,      584,     0 ), /*   583 multicastc        */
+  S_ST( 'i',   3,      585,     0 ), /*   584 multicastcl       */
+  S_ST( 'e',   3,      586,     0 ), /*   585 multicastcli      */
+  S_ST( 'n',   3,      364,     0 ), /*   586 multicastclie     */
+  S_ST( 'n',   3,      630,   493 ), /*   587                   */
+  S_ST( 'i',   3,      365,     0 ), /*   588 n                 */
+  S_ST( 'o',   3,      625,   588 ), /*   589 n                 */
+  S_ST( 'l',   3,      591,     0 ), /*   590 no                */
+  S_ST( 'i',   3,      592,     0 ), /*   591 nol               */
+  S_ST( 'n',   3,      366,     0 ), /*   592 noli              */
+  S_ST( 'm',   3,      598,   590 ), /*   593 no                */
+  S_ST( 'o',   3,      595,     0 ), /*   594 nom               */
+  S_ST( 'd',   3,      596,     0 ), /*   595 nomo              */
+  S_ST( 'i',   3,      597,     0 ), /*   596 nomod             */
+  S_ST( 'f',   3,      367,     0 ), /*   597 nomodi            */
+  S_ST( 'r',   3,      599,   594 ), /*   598 nom               */
+  S_ST( 'u',   3,      600,     0 ), /*   599 nomr              */
+  S_ST( 'l',   3,      601,     0 ), /*   600 nomru             */
+  S_ST( 'i',   3,      602,     0 ), /*   601 nomrul            */
+  S_ST( 's',   3,      368,     0 ), /*   602 nomruli           */
+  S_ST( 'n',   3,      604,   593 ), /*   603 no                */
+  S_ST( 'v',   3,      605,   369 ), /*   604 non               */
+  S_ST( 'o',   3,      606,     0 ), /*   605 nonv              */
+  S_ST( 'l',   3,      607,     0 ), /*   606 nonvo             */
+  S_ST( 'a',   3,      608,     0 ), /*   607 nonvol            */
+  S_ST( 't',   3,      609,     0 ), /*   608 nonvola           */
+  S_ST( 'i',   3,      610,     0 ), /*   609 nonvolat          */
+  S_ST( 'l',   3,      370,     0 ), /*   610 nonvolati         */
+  S_ST( 'p',   3,      612,   603 ), /*   611 no                */
+  S_ST( 'e',   3,      613,     0 ), /*   612 nop               */
+  S_ST( 'e',   3,      371,     0 ), /*   613 nope              */
+  S_ST( 'q',   3,      615,   611 ), /*   614 no                */
+  S_ST( 'u',   3,      616,     0 ), /*   615 noq               */
+  S_ST( 'e',   3,      617,     0 ), /*   616 noqu              */
+  S_ST( 'r',   3,      372,     0 ), /*   617 noque             */
+  S_ST( 's',   3,      619,   614 ), /*   618 no                */
+  S_ST( 'e',   3,      623,     0 ), /*   619 nos               */
+  S_ST( 'l',   3,      621,     0 ), /*   620 nose              */
+  S_ST( 'e',   3,      622,     0 ), /*   621 nosel             */
+  S_ST( 'c',   3,      373,     0 ), /*   622 nosele            */
+  S_ST( 'r',   3,      624,   620 ), /*   623 nose              */
+  S_ST( 'v',   3,      374,     0 ), /*   624 noser             */
+  S_ST( 't',   3,      626,   618 ), /*   625 no                */
+  S_ST( 'r',   3,      628,     0 ), /*   626 not               */
+  S_ST( 'a',   3,      375,     0 ), /*   627 notr              */
+  S_ST( 'u',   3,      629,   627 ), /*   628 notr              */
+  S_ST( 's',   3,      376,     0 ), /*   629 notru             */
+  S_ST( 't',   3,      377,   589 ), /*   630 n                 */
+  S_ST( 'p',   3,      632,     0 ), /*   631 ntp               */
+  S_ST( 'o',   3,      633,     0 ), /*   632 ntpp              */
+  S_ST( 'r',   3,      378,     0 ), /*   633 ntppo             */
+  S_ST( 's',   3,      635,   631 ), /*   634 ntp               */
+  S_ST( 'i',   3,      636,     0 ), /*   635 ntps              */
+  S_ST( 'g',   3,      637,     0 ), /*   636 ntpsi             */
+  S_ST( 'n',   3,      638,     0 ), /*   637 ntpsig            */
+  S_ST( 'd',   3,      639,     0 ), /*   638 ntpsign           */
+  S_ST( 's',   3,      640,     0 ), /*   639 ntpsignd          */
+  S_ST( 'o',   3,      641,     0 ), /*   640 ntpsignds         */
+  S_ST( 'c',   3,      642,     0 ), /*   641 ntpsigndso        */
+  S_ST( 'k',   3,      643,     0 ), /*   642 ntpsigndsoc       */
+  S_ST( 'e',   3,      379,     0 ), /*   643 ntpsigndsock      */
+  S_ST( 'o',   3,      645,   587 ), /*   644                   */
+  S_ST( 'r',   3,      646,     0 ), /*   645 o                 */
+  S_ST( 'p',   3,      647,     0 ), /*   646 or                */
+  S_ST( 'h',   3,      648,     0 ), /*   647 orp               */
+  S_ST( 'a',   3,      380,     0 ), /*   648 orph              */
+  S_ST( 'w',   3,      650,     0 ), /*   649 orphan            */
+  S_ST( 'a',   3,      651,     0 ), /*   650 orphanw           */
+  S_ST( 'i',   3,      381,     0 ), /*   651 orphanwa          */
+  S_ST( 'p',   3,      394,   644 ), /*   652                   */
+  S_ST( 'a',   3,      654,     0 ), /*   653 p                 */
+  S_ST( 'n',   3,      655,     0 ), /*   654 pa                */
+  S_ST( 'i',   3,      383,     0 ), /*   655 pan               */
+  S_ST( 'e',   3,      657,   653 ), /*   656 p                 */
+  S_ST( 'e',   3,      384,     0 ), /*   657 pe                */
+  S_ST( '_',   3,      659,     0 ), /*   658 peer              */
+  S_ST( 'c',   3,      660,     0 ), /*   659 peer_             */
+  S_ST( 'l',   3,      661,     0 ), /*   660 peer_c            */
+  S_ST( 'e',   3,      662,     0 ), /*   661 peer_cl           */
+  S_ST( 'a',   3,      663,     0 ), /*   662 peer_cle          */
+  S_ST( 'r',   3,      664,     0 ), /*   663 peer_clea         */
+  S_ST( '_',   3,      665,     0 ), /*   664 peer_clear        */
+  S_ST( 'd',   3,      666,     0 ), /*   665 peer_clear_       */
+  S_ST( 'i',   3,      667,     0 ), /*   666 peer_clear_d      */
+  S_ST( 'g',   3,      668,     0 ), /*   667 peer_clear_di     */
+  S_ST( 'e',   3,      669,     0 ), /*   668 peer_clear_dig    */
+  S_ST( 's',   3,      670,     0 ), /*   669 peer_clear_dige   */
+  S_ST( 't',   3,      671,     0 ), /*   670 peer_clear_diges  */
+  S_ST( '_',   3,      672,     0 ), /*   671 peer_clear_digest */
+  S_ST( 'e',   3,      673,     0 ), /*   672 peer_clear_digest_ */
+  S_ST( 'a',   3,      674,     0 ), /*   673 peer_clear_digest_e */
+  S_ST( 'r',   3,      675,     0 ), /*   674 peer_clear_digest_ea */
+  S_ST( 'l',   3,      382,     0 ), /*   675 peer_clear_digest_ear */
+  S_ST( 's',   3,      677,   658 ), /*   676 peer              */
+  S_ST( 't',   3,      678,     0 ), /*   677 peers             */
+  S_ST( 'a',   3,      679,     0 ), /*   678 peerst            */
+  S_ST( 't',   3,      385,     0 ), /*   679 peersta           */
+  S_ST( 'h',   3,      681,   656 ), /*   680 p                 */
+  S_ST( 'o',   3,      682,     0 ), /*   681 ph                */
+  S_ST( 'n',   3,      386,     0 ), /*   682 pho               */
+  S_ST( 'i',   3,      387,   680 ), /*   683 p                 */
+  S_ST( 'f',   3,      685,     0 ), /*   684 pid               */
+  S_ST( 'i',   3,      686,     0 ), /*   685 pidf              */
+  S_ST( 'l',   3,      388,     0 ), /*   686 pidfi             */
+  S_ST( 'o',   3,      689,   683 ), /*   687 p                 */
+  S_ST( 'o',   3,      389,     0 ), /*   688 po                */
+  S_ST( 'r',   3,      390,   688 ), /*   689 po                */
+  S_ST( 'r',   3,      697,   687 ), /*   690 p                 */
+  S_ST( 'e',   3,      695,     0 ), /*   691 pr                */
+  S_ST( 'e',   3,      693,     0 ), /*   692 pre               */
+  S_ST( 'm',   3,      694,     0 ), /*   693 pree              */
+  S_ST( 'p',   3,      391,     0 ), /*   694 preem             */
+  S_ST( 'f',   3,      696,   692 ), /*   695 pre               */
+  S_ST( 'e',   3,      392,     0 ), /*   696 pref              */
+  S_ST( 'o',   3,      710,   691 ), /*   697 pr                */
+  S_ST( 'c',   3,      699,     0 ), /*   698 pro               */
+  S_ST( '_',   3,      700,     0 ), /*   699 proc              */
+  S_ST( 'd',   3,      701,     0 ), /*   700 proc_             */
+  S_ST( 'e',   3,      702,     0 ), /*   701 proc_d            */
+  S_ST( 'l',   3,      703,     0 ), /*   702 proc_de           */
+  S_ST( 'a',   3,      454,     0 ), /*   703 proc_del          */
+  S_ST( 'p',   3,      705,   698 ), /*   704 pro               */
+  S_ST( '_',   3,      706,     0 ), /*   705 prop              */
+  S_ST( 'd',   3,      707,     0 ), /*   706 prop_             */
+  S_ST( 'e',   3,      708,     0 ), /*   707 prop_d            */
+  S_ST( 'l',   3,      709,     0 ), /*   708 prop_de           */
+  S_ST( 'a',   3,      453,     0 ), /*   709 prop_del          */
+  S_ST( 't',   3,      711,   704 ), /*   710 pro               */
+  S_ST( 'o',   3,      712,     0 ), /*   711 prot              */
+  S_ST( 's',   3,      713,     0 ), /*   712 proto             */
+  S_ST( 't',   3,      714,     0 ), /*   713 protos            */
+  S_ST( 'a',   3,      715,     0 ), /*   714 protost           */
+  S_ST( 't',   3,      393,     0 ), /*   715 protosta          */
+  S_ST( 'r',   3,      747,   652 ), /*   716                   */
+  S_ST( 'a',   3,      723,     0 ), /*   717 r                 */
+  S_ST( 'n',   3,      719,     0 ), /*   718 ra                */
+  S_ST( 'd',   3,      720,     0 ), /*   719 ran               */
+  S_ST( 'f',   3,      721,     0 ), /*   720 rand              */
+  S_ST( 'i',   3,      722,     0 ), /*   721 randf             */
+  S_ST( 'l',   3,      395,     0 ), /*   722 randfi            */
+  S_ST( 'w',   3,      724,   718 ), /*   723 ra                */
+  S_ST( 's',   3,      725,     0 ), /*   724 raw               */
+  S_ST( 't',   3,      726,     0 ), /*   725 raws              */
+  S_ST( 'a',   3,      727,     0 ), /*   726 rawst             */
+  S_ST( 't',   3,      396,     0 ), /*   727 rawsta            */
+  S_ST( 'e',   3,      744,   717 ), /*   728 r                 */
+  S_ST( 'f',   3,      730,     0 ), /*   729 re                */
+  S_ST( 'i',   3,      397,     0 ), /*   730 ref               */
+  S_ST( 'q',   3,      732,   729 ), /*   731 re                */
+  S_ST( 'u',   3,      733,     0 ), /*   732 req               */
+  S_ST( 'e',   3,      734,     0 ), /*   733 requ              */
+  S_ST( 's',   3,      735,     0 ), /*   734 reque             */
+  S_ST( 't',   3,      736,     0 ), /*   735 reques            */
+  S_ST( 'k',   3,      737,     0 ), /*   736 request           */
+  S_ST( 'e',   3,      398,     0 ), /*   737 requestk          */
+  S_ST( 's',   3,      740,   731 ), /*   738 re                */
+  S_ST( 'e',   3,      399,     0 ), /*   739 res               */
+  S_ST( 't',   3,      741,   739 ), /*   740 res               */
+  S_ST( 'r',   3,      742,     0 ), /*   741 rest              */
+  S_ST( 'i',   3,      743,     0 ), /*   742 restr             */
+  S_ST( 'c',   3,      400,     0 ), /*   743 restri            */
+  S_ST( 'v',   3,      745,   738 ), /*   744 re                */
+  S_ST( 'o',   3,      746,     0 ), /*   745 rev               */
+  S_ST( 'k',   3,      401,     0 ), /*   746 revo              */
+  S_ST( 'l',   3,      748,   728 ), /*   747 r                 */
+  S_ST( 'i',   3,      749,     0 ), /*   748 rl                */
+  S_ST( 'm',   3,      750,     0 ), /*   749 rli               */
+  S_ST( 'i',   3,      402,     0 ), /*   750 rlim              */
+  S_ST( 's',   3,      824,   716 ), /*   751                   */
+  S_ST( 'a',   3,      753,     0 ), /*   752 s                 */
+  S_ST( 'v',   3,      754,     0 ), /*   753 sa                */
+  S_ST( 'e',   3,      755,     0 ), /*   754 sav               */
+  S_ST( 'c',   3,      756,     0 ), /*   755 save              */
+  S_ST( 'o',   3,      757,     0 ), /*   756 savec             */
+  S_ST( 'n',   3,      758,     0 ), /*   757 saveco            */
+  S_ST( 'f',   3,      759,     0 ), /*   758 savecon           */
+  S_ST( 'i',   3,      760,     0 ), /*   759 saveconf          */
+  S_ST( 'g',   3,      761,     0 ), /*   760 saveconfi         */
+  S_ST( 'd',   3,      762,     0 ), /*   761 saveconfig        */
+  S_ST( 'i',   3,      403,     0 ), /*   762 saveconfigd       */
+  S_ST( 'e',   3,      773,   752 ), /*   763 s                 */
+  S_ST( 'r',   3,      765,     0 ), /*   764 se                */
+  S_ST( 'v',   3,      766,     0 ), /*   765 ser               */
+  S_ST( 'e',   3,      404,     0 ), /*   766 serv              */
+  S_ST( '_',   3,      768,     0 ), /*   767 server            */
+  S_ST( 'o',   3,      769,     0 ), /*   768 server_           */
+  S_ST( 'f',   3,      770,     0 ), /*   769 server_o          */
+  S_ST( 'f',   3,      771,     0 ), /*   770 server_of         */
+  S_ST( 's',   3,      772,     0 ), /*   771 server_off        */
+  S_ST( 'e',   3,      448,     0 ), /*   772 server_offs       */
+  S_ST( 't',   3,      774,   764 ), /*   773 se                */
+  S_ST( 'v',   3,      775,     0 ), /*   774 set               */
+  S_ST( 'a',   3,      405,     0 ), /*   775 setv              */
+  S_ST( 'i',   3,      777,   763 ), /*   776 s                 */
+  S_ST( 'm',   3,      778,     0 ), /*   777 si                */
+  S_ST( 'u',   3,      779,     0 ), /*   778 sim               */
+  S_ST( 'l',   3,      780,     0 ), /*   779 simu              */
+  S_ST( 'a',   3,      781,     0 ), /*   780 simul             */
+  S_ST( 't',   3,      782,     0 ), /*   781 simula            */
+  S_ST( 'i',   3,      783,   445 ), /*   782 simulat           */
+  S_ST( 'o',   3,      784,     0 ), /*   783 simulati          */
+  S_ST( 'n',   3,      785,     0 ), /*   784 simulatio         */
+  S_ST( '_',   3,      786,     0 ), /*   785 simulation        */
+  S_ST( 'd',   3,      787,     0 ), /*   786 simulation_       */
+  S_ST( 'u',   3,      788,     0 ), /*   787 simulation_d      */
+  S_ST( 'r',   3,      789,     0 ), /*   788 simulation_du     */
+  S_ST( 'a',   3,      790,     0 ), /*   789 simulation_dur    */
+  S_ST( 't',   3,      791,     0 ), /*   790 simulation_dura   */
+  S_ST( 'i',   3,      792,     0 ), /*   791 simulation_durat  */
+  S_ST( 'o',   3,      447,     0 ), /*   792 simulation_durati */
+  S_ST( 'o',   3,      794,   776 ), /*   793 s                 */
+  S_ST( 'u',   3,      795,     0 ), /*   794 so                */
+  S_ST( 'r',   3,      796,     0 ), /*   795 sou               */
+  S_ST( 'c',   3,      406,     0 ), /*   796 sour              */
+  S_ST( 't',   3,      820,   793 ), /*   797 s                 */
+  S_ST( 'a',   3,      804,     0 ), /*   798 st                */
+  S_ST( 'c',   3,      800,     0 ), /*   799 sta               */
+  S_ST( 'k',   3,      801,     0 ), /*   800 stac              */
+  S_ST( 's',   3,      802,     0 ), /*   801 stack             */
+  S_ST( 'i',   3,      803,     0 ), /*   802 stacks            */
+  S_ST( 'z',   3,      407,     0 ), /*   803 stacksi           */
+  S_ST( 't',   3,      409,   799 ), /*   804 sta               */
+  S_ST( 'i',   3,      806,     0 ), /*   805 stat              */
+  S_ST( 's',   3,      807,     0 ), /*   806 stati             */
+  S_ST( 't',   3,      808,     0 ), /*   807 statis            */
+  S_ST( 'i',   3,      809,     0 ), /*   808 statist           */
+  S_ST( 'c',   3,      408,     0 ), /*   809 statisti          */
+  S_ST( 'd',   3,      811,     0 ), /*   810 stats             */
+  S_ST( 'i',   3,      410,     0 ), /*   811 statsd            */
+  S_ST( 'e',   3,      411,   798 ), /*   812 st                */
+  S_ST( 'b',   3,      814,     0 ), /*   813 step              */
+  S_ST( 'a',   3,      815,     0 ), /*   814 stepb             */
+  S_ST( 'c',   3,      412,     0 ), /*   815 stepba            */
+  S_ST( 'f',   3,      817,   813 ), /*   816 step              */
+  S_ST( 'w',   3,      413,     0 ), /*   817 stepf             */
+  S_ST( 'o',   3,      819,   816 ), /*   818 step              */
+  S_ST( 'u',   3,      414,     0 ), /*   819 stepo             */
+  S_ST( 'r',   3,      821,   812 ), /*   820 st                */
+  S_ST( 'a',   3,      822,     0 ), /*   821 str               */
+  S_ST( 't',   3,      823,     0 ), /*   822 stra              */
+  S_ST( 'u',   3,      415,     0 ), /*   823 strat             */
+  S_ST( 'y',   3,      417,   797 ), /*   824 s                 */
+  S_ST( 's',   3,      826,     0 ), /*   825 sys               */
+  S_ST( 't',   3,      827,     0 ), /*   826 syss              */
+  S_ST( 'a',   3,      828,     0 ), /*   827 sysst             */
+  S_ST( 't',   3,      418,     0 ), /*   828 syssta            */
+  S_ST( 't',   3,      855,   751 ), /*   829                   */
+  S_ST( 'i',   3,      841,     0 ), /*   830 t                 */
+  S_ST( 'c',   3,      419,     0 ), /*   831 ti                */
+  S_ST( 'm',   3,      834,   831 ), /*   832 ti                */
+  S_ST( 'e',   3,      422,     0 ), /*   833 tim               */
+  S_ST( 'i',   3,      835,   833 ), /*   834 tim               */
+  S_ST( 'n',   3,      836,     0 ), /*   835 timi              */
+  S_ST( 'g',   3,      837,     0 ), /*   836 timin             */
+  S_ST( 's',   3,      838,     0 ), /*   837 timing            */
+  S_ST( 't',   3,      839,     0 ), /*   838 timings           */
+  S_ST( 'a',   3,      840,     0 ), /*   839 timingst          */
+  S_ST( 't',   3,      423,     0 ), /*   840 timingsta         */
+  S_ST( 'n',   3,      842,   832 ), /*   841 ti                */
+  S_ST( 'k',   3,      843,     0 ), /*   842 tin               */
+  S_ST( 'e',   3,      424,     0 ), /*   843 tink              */
+  S_ST( 'o',   3,      425,   830 ), /*   844 t                 */
+  S_ST( 'r',   3,      847,   844 ), /*   845 t                 */
+  S_ST( 'a',   3,      426,     0 ), /*   846 tr                */
+  S_ST( 'u',   3,      848,   846 ), /*   847 tr                */
+  S_ST( 's',   3,      849,   427 ), /*   848 tru               */
+  S_ST( 't',   3,      850,     0 ), /*   849 trus              */
+  S_ST( 'e',   3,      851,     0 ), /*   850 trust             */
+  S_ST( 'd',   3,      852,     0 ), /*   851 truste            */
+  S_ST( 'k',   3,      853,     0 ), /*   852 trusted           */
+  S_ST( 'e',   3,      428,     0 ), /*   853 trustedk          */
+  S_ST( 't',   3,      429,   845 ), /*   854 t                 */
+  S_ST( 'y',   3,      856,   854 ), /*   855 t                 */
+  S_ST( 'p',   3,      430,     0 ), /*   856 ty                */
+  S_ST( 'u',   3,      858,   829 ), /*   857                   */
+  S_ST( 'n',   3,      864,     0 ), /*   858 u                 */
+  S_ST( 'c',   3,      860,     0 ), /*   859 un                */
+  S_ST( 'o',   3,      861,     0 ), /*   860 unc               */
+  S_ST( 'n',   3,      862,     0 ), /*   861 unco              */
+  S_ST( 'f',   3,      863,     0 ), /*   862 uncon             */
+  S_ST( 'i',   3,      435,     0 ), /*   863 unconf            */
+  S_ST( 'p',   3,      865,   859 ), /*   864 un                */
+  S_ST( 'e',   3,      866,     0 ), /*   865 unp               */
+  S_ST( 'e',   3,      436,     0 ), /*   866 unpe              */
+  S_ST( '_',   3,      887,     0 ), /*   867 unpeer            */
+  S_ST( 'c',   3,      869,     0 ), /*   868 unpeer_           */
+  S_ST( 'r',   3,      870,     0 ), /*   869 unpeer_c          */
+  S_ST( 'y',   3,      871,     0 ), /*   870 unpeer_cr         */
+  S_ST( 'p',   3,      872,     0 ), /*   871 unpeer_cry        */
+  S_ST( 't',   3,      873,     0 ), /*   872 unpeer_cryp       */
+  S_ST( 'o',   3,      874,     0 ), /*   873 unpeer_crypt      */
+  S_ST( '_',   3,      879,     0 ), /*   874 unpeer_crypto     */
+  S_ST( 'e',   3,      876,     0 ), /*   875 unpeer_crypto_    */
+  S_ST( 'a',   3,      877,     0 ), /*   876 unpeer_crypto_e   */
+  S_ST( 'r',   3,      878,     0 ), /*   877 unpeer_crypto_ea  */
+  S_ST( 'l',   3,      432,     0 ), /*   878 unpeer_crypto_ear */
+  S_ST( 'n',   3,      880,   875 ), /*   879 unpeer_crypto_    */
+  S_ST( 'a',   3,      881,     0 ), /*   880 unpeer_crypto_n   */
+  S_ST( 'k',   3,      882,     0 ), /*   881 unpeer_crypto_na  */
+  S_ST( '_',   3,      883,     0 ), /*   882 unpeer_crypto_nak */
+  S_ST( 'e',   3,      884,     0 ), /*   883 unpeer_crypto_nak_ */
+  S_ST( 'a',   3,      885,     0 ), /*   884 unpeer_crypto_nak_e */
+  S_ST( 'r',   3,      886,     0 ), /*   885 unpeer_crypto_nak_ea */
+  S_ST( 'l',   3,      433,     0 ), /*   886 unpeer_crypto_nak_ear */
+  S_ST( 'd',   3,      888,   868 ), /*   887 unpeer_           */
+  S_ST( 'i',   3,      889,     0 ), /*   888 unpeer_d          */
+  S_ST( 'g',   3,      890,     0 ), /*   889 unpeer_di         */
+  S_ST( 'e',   3,      891,     0 ), /*   890 unpeer_dig        */
+  S_ST( 's',   3,      892,     0 ), /*   891 unpeer_dige       */
+  S_ST( 't',   3,      893,     0 ), /*   892 unpeer_diges      */
+  S_ST( '_',   3,      894,     0 ), /*   893 unpeer_digest     */
+  S_ST( 'e',   3,      895,     0 ), /*   894 unpeer_digest_    */
+  S_ST( 'a',   3,      896,     0 ), /*   895 unpeer_digest_e   */
+  S_ST( 'r',   3,      897,     0 ), /*   896 unpeer_digest_ea  */
+  S_ST( 'l',   3,      434,     0 ), /*   897 unpeer_digest_ear */
+  S_ST( 'v',   3,      899,   857 ), /*   898                   */
+  S_ST( 'e',   3,      900,     0 ), /*   899 v                 */
+  S_ST( 'r',   3,      901,     0 ), /*   900 ve                */
+  S_ST( 's',   3,      902,     0 ), /*   901 ver               */
+  S_ST( 'i',   3,      903,     0 ), /*   902 vers              */
+  S_ST( 'o',   3,      437,     0 ), /*   903 versi             */
+  S_ST( 'w',   3,      911,   898 ), /*   904                   */
+  S_ST( 'a',   3,      906,     0 ), /*   905 w                 */
+  S_ST( 'n',   3,      907,     0 ), /*   906 wa                */
+  S_ST( 'd',   3,      908,     0 ), /*   907 wan               */
+  S_ST( 'e',   3,      451,     0 ), /*   908 wand              */
+  S_ST( 'e',   3,      910,   905 ), /*   909 w                 */
+  S_ST( 'e',   3,      439,     0 ), /*   910 we                */
+  S_ST( 'i',   3,      912,   909 ), /*   911 w                 */
+  S_ST( 'l',   3,      913,     0 ), /*   912 wi                */
+  S_ST( 'd',   3,      914,     0 ), /*   913 wil               */
+  S_ST( 'c',   3,      915,     0 ), /*   914 wild              */
+  S_ST( 'a',   3,      916,     0 ), /*   915 wildc             */
+  S_ST( 'r',   3,      440,     0 ), /*   916 wildca            */
+  S_ST( 'x',   3,      918,   904 ), /*   917                   */
+  S_ST( 'l',   3,      919,     0 ), /*   918 x                 */
+  S_ST( 'e',   3,      920,     0 ), /*   919 xl                */
+  S_ST( 'a',   3,      921,     0 ), /*   920 xle               */
+  S_ST( 'v',   3,      441,     0 ), /*   921 xlea              */
+  S_ST( 'y',   3,      923,   917 ), /*   922 [initial state]   */
+  S_ST( 'e',   3,      924,     0 ), /*   923 y                 */
+  S_ST( 'a',   3,      442,     0 )  /*   924 ye                */
 };
 
index 7114a656899610f691b5eefb6f22afbe99bfd6fa..c5387ff545af6866c3e8e0a45b7986d49cb11270 100644 (file)
@@ -140,193 +140,194 @@ extern int yydebug;
     T_Autokey = 264,
     T_Automax = 265,
     T_Average = 266,
-    T_Bclient = 267,
-    T_Bcpollbstep = 268,
-    T_Beacon = 269,
-    T_Broadcast = 270,
-    T_Broadcastclient = 271,
-    T_Broadcastdelay = 272,
-    T_Burst = 273,
-    T_Calibrate = 274,
-    T_Ceiling = 275,
-    T_Clockstats = 276,
-    T_Cohort = 277,
-    T_ControlKey = 278,
-    T_Crypto = 279,
-    T_Cryptostats = 280,
-    T_Ctl = 281,
-    T_Day = 282,
-    T_Default = 283,
-    T_Digest = 284,
-    T_Disable = 285,
-    T_Discard = 286,
-    T_Dispersion = 287,
-    T_Double = 288,
-    T_Driftfile = 289,
-    T_Drop = 290,
-    T_Dscp = 291,
-    T_Ellipsis = 292,
-    T_Enable = 293,
-    T_End = 294,
-    T_False = 295,
-    T_File = 296,
-    T_Filegen = 297,
-    T_Filenum = 298,
-    T_Flag1 = 299,
-    T_Flag2 = 300,
-    T_Flag3 = 301,
-    T_Flag4 = 302,
-    T_Flake = 303,
-    T_Floor = 304,
-    T_Freq = 305,
-    T_Fudge = 306,
-    T_Host = 307,
-    T_Huffpuff = 308,
-    T_Iburst = 309,
-    T_Ident = 310,
-    T_Ignore = 311,
-    T_Incalloc = 312,
-    T_Incmem = 313,
-    T_Initalloc = 314,
-    T_Initmem = 315,
-    T_Includefile = 316,
-    T_Integer = 317,
-    T_Interface = 318,
-    T_Intrange = 319,
-    T_Io = 320,
-    T_Ipv4 = 321,
-    T_Ipv4_flag = 322,
-    T_Ipv6 = 323,
-    T_Ipv6_flag = 324,
-    T_Kernel = 325,
-    T_Key = 326,
-    T_Keys = 327,
-    T_Keysdir = 328,
-    T_Kod = 329,
-    T_Mssntp = 330,
-    T_Leapfile = 331,
-    T_Leapsmearinterval = 332,
-    T_Limited = 333,
-    T_Link = 334,
-    T_Listen = 335,
-    T_Logconfig = 336,
-    T_Logfile = 337,
-    T_Loopstats = 338,
-    T_Lowpriotrap = 339,
-    T_Manycastclient = 340,
-    T_Manycastserver = 341,
-    T_Mask = 342,
-    T_Maxage = 343,
-    T_Maxclock = 344,
-    T_Maxdepth = 345,
-    T_Maxdist = 346,
-    T_Maxmem = 347,
-    T_Maxpoll = 348,
-    T_Mdnstries = 349,
-    T_Mem = 350,
-    T_Memlock = 351,
-    T_Minclock = 352,
-    T_Mindepth = 353,
-    T_Mindist = 354,
-    T_Minimum = 355,
-    T_Minpoll = 356,
-    T_Minsane = 357,
-    T_Mode = 358,
-    T_Mode7 = 359,
-    T_Monitor = 360,
-    T_Month = 361,
-    T_Mru = 362,
-    T_Multicastclient = 363,
-    T_Nic = 364,
-    T_Nolink = 365,
-    T_Nomodify = 366,
-    T_Nomrulist = 367,
-    T_None = 368,
-    T_Nonvolatile = 369,
-    T_Nopeer = 370,
-    T_Noquery = 371,
-    T_Noselect = 372,
-    T_Noserve = 373,
-    T_Notrap = 374,
-    T_Notrust = 375,
-    T_Ntp = 376,
-    T_Ntpport = 377,
-    T_NtpSignDsocket = 378,
-    T_Orphan = 379,
-    T_Orphanwait = 380,
-    T_PCEdigest = 381,
-    T_Panic = 382,
-    T_Peer = 383,
-    T_Peerstats = 384,
-    T_Phone = 385,
-    T_Pid = 386,
-    T_Pidfile = 387,
-    T_Pool = 388,
-    T_Port = 389,
-    T_Preempt = 390,
-    T_Prefer = 391,
-    T_Protostats = 392,
-    T_Pw = 393,
-    T_Randfile = 394,
-    T_Rawstats = 395,
-    T_Refid = 396,
-    T_Requestkey = 397,
-    T_Reset = 398,
-    T_Restrict = 399,
-    T_Revoke = 400,
-    T_Rlimit = 401,
-    T_Saveconfigdir = 402,
-    T_Server = 403,
-    T_Setvar = 404,
-    T_Source = 405,
-    T_Stacksize = 406,
-    T_Statistics = 407,
-    T_Stats = 408,
-    T_Statsdir = 409,
-    T_Step = 410,
-    T_Stepback = 411,
-    T_Stepfwd = 412,
-    T_Stepout = 413,
-    T_Stratum = 414,
-    T_String = 415,
-    T_Sys = 416,
-    T_Sysstats = 417,
-    T_Tick = 418,
-    T_Time1 = 419,
-    T_Time2 = 420,
-    T_Timer = 421,
-    T_Timingstats = 422,
-    T_Tinker = 423,
-    T_Tos = 424,
-    T_Trap = 425,
-    T_True = 426,
-    T_Trustedkey = 427,
-    T_Ttl = 428,
-    T_Type = 429,
-    T_U_int = 430,
-    T_UEcrypto = 431,
-    T_UEcryptonak = 432,
-    T_UEdigest = 433,
-    T_Unconfig = 434,
-    T_Unpeer = 435,
-    T_Version = 436,
-    T_WanderThreshold = 437,
-    T_Week = 438,
-    T_Wildcard = 439,
-    T_Xleave = 440,
-    T_Year = 441,
-    T_Flag = 442,
-    T_EOC = 443,
-    T_Simulate = 444,
-    T_Beep_Delay = 445,
-    T_Sim_Duration = 446,
-    T_Server_Offset = 447,
-    T_Duration = 448,
-    T_Freq_Offset = 449,
-    T_Wander = 450,
-    T_Jitter = 451,
-    T_Prop_Delay = 452,
-    T_Proc_Delay = 453
+    T_Basedate = 267,
+    T_Bclient = 268,
+    T_Bcpollbstep = 269,
+    T_Beacon = 270,
+    T_Broadcast = 271,
+    T_Broadcastclient = 272,
+    T_Broadcastdelay = 273,
+    T_Burst = 274,
+    T_Calibrate = 275,
+    T_Ceiling = 276,
+    T_Clockstats = 277,
+    T_Cohort = 278,
+    T_ControlKey = 279,
+    T_Crypto = 280,
+    T_Cryptostats = 281,
+    T_Ctl = 282,
+    T_Day = 283,
+    T_Default = 284,
+    T_Digest = 285,
+    T_Disable = 286,
+    T_Discard = 287,
+    T_Dispersion = 288,
+    T_Double = 289,
+    T_Driftfile = 290,
+    T_Drop = 291,
+    T_Dscp = 292,
+    T_Ellipsis = 293,
+    T_Enable = 294,
+    T_End = 295,
+    T_False = 296,
+    T_File = 297,
+    T_Filegen = 298,
+    T_Filenum = 299,
+    T_Flag1 = 300,
+    T_Flag2 = 301,
+    T_Flag3 = 302,
+    T_Flag4 = 303,
+    T_Flake = 304,
+    T_Floor = 305,
+    T_Freq = 306,
+    T_Fudge = 307,
+    T_Host = 308,
+    T_Huffpuff = 309,
+    T_Iburst = 310,
+    T_Ident = 311,
+    T_Ignore = 312,
+    T_Incalloc = 313,
+    T_Incmem = 314,
+    T_Initalloc = 315,
+    T_Initmem = 316,
+    T_Includefile = 317,
+    T_Integer = 318,
+    T_Interface = 319,
+    T_Intrange = 320,
+    T_Io = 321,
+    T_Ipv4 = 322,
+    T_Ipv4_flag = 323,
+    T_Ipv6 = 324,
+    T_Ipv6_flag = 325,
+    T_Kernel = 326,
+    T_Key = 327,
+    T_Keys = 328,
+    T_Keysdir = 329,
+    T_Kod = 330,
+    T_Mssntp = 331,
+    T_Leapfile = 332,
+    T_Leapsmearinterval = 333,
+    T_Limited = 334,
+    T_Link = 335,
+    T_Listen = 336,
+    T_Logconfig = 337,
+    T_Logfile = 338,
+    T_Loopstats = 339,
+    T_Lowpriotrap = 340,
+    T_Manycastclient = 341,
+    T_Manycastserver = 342,
+    T_Mask = 343,
+    T_Maxage = 344,
+    T_Maxclock = 345,
+    T_Maxdepth = 346,
+    T_Maxdist = 347,
+    T_Maxmem = 348,
+    T_Maxpoll = 349,
+    T_Mdnstries = 350,
+    T_Mem = 351,
+    T_Memlock = 352,
+    T_Minclock = 353,
+    T_Mindepth = 354,
+    T_Mindist = 355,
+    T_Minimum = 356,
+    T_Minpoll = 357,
+    T_Minsane = 358,
+    T_Mode = 359,
+    T_Mode7 = 360,
+    T_Monitor = 361,
+    T_Month = 362,
+    T_Mru = 363,
+    T_Multicastclient = 364,
+    T_Nic = 365,
+    T_Nolink = 366,
+    T_Nomodify = 367,
+    T_Nomrulist = 368,
+    T_None = 369,
+    T_Nonvolatile = 370,
+    T_Nopeer = 371,
+    T_Noquery = 372,
+    T_Noselect = 373,
+    T_Noserve = 374,
+    T_Notrap = 375,
+    T_Notrust = 376,
+    T_Ntp = 377,
+    T_Ntpport = 378,
+    T_NtpSignDsocket = 379,
+    T_Orphan = 380,
+    T_Orphanwait = 381,
+    T_PCEdigest = 382,
+    T_Panic = 383,
+    T_Peer = 384,
+    T_Peerstats = 385,
+    T_Phone = 386,
+    T_Pid = 387,
+    T_Pidfile = 388,
+    T_Pool = 389,
+    T_Port = 390,
+    T_Preempt = 391,
+    T_Prefer = 392,
+    T_Protostats = 393,
+    T_Pw = 394,
+    T_Randfile = 395,
+    T_Rawstats = 396,
+    T_Refid = 397,
+    T_Requestkey = 398,
+    T_Reset = 399,
+    T_Restrict = 400,
+    T_Revoke = 401,
+    T_Rlimit = 402,
+    T_Saveconfigdir = 403,
+    T_Server = 404,
+    T_Setvar = 405,
+    T_Source = 406,
+    T_Stacksize = 407,
+    T_Statistics = 408,
+    T_Stats = 409,
+    T_Statsdir = 410,
+    T_Step = 411,
+    T_Stepback = 412,
+    T_Stepfwd = 413,
+    T_Stepout = 414,
+    T_Stratum = 415,
+    T_String = 416,
+    T_Sys = 417,
+    T_Sysstats = 418,
+    T_Tick = 419,
+    T_Time1 = 420,
+    T_Time2 = 421,
+    T_Timer = 422,
+    T_Timingstats = 423,
+    T_Tinker = 424,
+    T_Tos = 425,
+    T_Trap = 426,
+    T_True = 427,
+    T_Trustedkey = 428,
+    T_Ttl = 429,
+    T_Type = 430,
+    T_U_int = 431,
+    T_UEcrypto = 432,
+    T_UEcryptonak = 433,
+    T_UEdigest = 434,
+    T_Unconfig = 435,
+    T_Unpeer = 436,
+    T_Version = 437,
+    T_WanderThreshold = 438,
+    T_Week = 439,
+    T_Wildcard = 440,
+    T_Xleave = 441,
+    T_Year = 442,
+    T_Flag = 443,
+    T_EOC = 444,
+    T_Simulate = 445,
+    T_Beep_Delay = 446,
+    T_Sim_Duration = 447,
+    T_Server_Offset = 448,
+    T_Duration = 449,
+    T_Freq_Offset = 450,
+    T_Wander = 451,
+    T_Jitter = 452,
+    T_Prop_Delay = 453,
+    T_Proc_Delay = 454
   };
 #endif
 /* Tokens.  */
@@ -339,193 +340,194 @@ extern int yydebug;
 #define T_Autokey 264
 #define T_Automax 265
 #define T_Average 266
-#define T_Bclient 267
-#define T_Bcpollbstep 268
-#define T_Beacon 269
-#define T_Broadcast 270
-#define T_Broadcastclient 271
-#define T_Broadcastdelay 272
-#define T_Burst 273
-#define T_Calibrate 274
-#define T_Ceiling 275
-#define T_Clockstats 276
-#define T_Cohort 277
-#define T_ControlKey 278
-#define T_Crypto 279
-#define T_Cryptostats 280
-#define T_Ctl 281
-#define T_Day 282
-#define T_Default 283
-#define T_Digest 284
-#define T_Disable 285
-#define T_Discard 286
-#define T_Dispersion 287
-#define T_Double 288
-#define T_Driftfile 289
-#define T_Drop 290
-#define T_Dscp 291
-#define T_Ellipsis 292
-#define T_Enable 293
-#define T_End 294
-#define T_False 295
-#define T_File 296
-#define T_Filegen 297
-#define T_Filenum 298
-#define T_Flag1 299
-#define T_Flag2 300
-#define T_Flag3 301
-#define T_Flag4 302
-#define T_Flake 303
-#define T_Floor 304
-#define T_Freq 305
-#define T_Fudge 306
-#define T_Host 307
-#define T_Huffpuff 308
-#define T_Iburst 309
-#define T_Ident 310
-#define T_Ignore 311
-#define T_Incalloc 312
-#define T_Incmem 313
-#define T_Initalloc 314
-#define T_Initmem 315
-#define T_Includefile 316
-#define T_Integer 317
-#define T_Interface 318
-#define T_Intrange 319
-#define T_Io 320
-#define T_Ipv4 321
-#define T_Ipv4_flag 322
-#define T_Ipv6 323
-#define T_Ipv6_flag 324
-#define T_Kernel 325
-#define T_Key 326
-#define T_Keys 327
-#define T_Keysdir 328
-#define T_Kod 329
-#define T_Mssntp 330
-#define T_Leapfile 331
-#define T_Leapsmearinterval 332
-#define T_Limited 333
-#define T_Link 334
-#define T_Listen 335
-#define T_Logconfig 336
-#define T_Logfile 337
-#define T_Loopstats 338
-#define T_Lowpriotrap 339
-#define T_Manycastclient 340
-#define T_Manycastserver 341
-#define T_Mask 342
-#define T_Maxage 343
-#define T_Maxclock 344
-#define T_Maxdepth 345
-#define T_Maxdist 346
-#define T_Maxmem 347
-#define T_Maxpoll 348
-#define T_Mdnstries 349
-#define T_Mem 350
-#define T_Memlock 351
-#define T_Minclock 352
-#define T_Mindepth 353
-#define T_Mindist 354
-#define T_Minimum 355
-#define T_Minpoll 356
-#define T_Minsane 357
-#define T_Mode 358
-#define T_Mode7 359
-#define T_Monitor 360
-#define T_Month 361
-#define T_Mru 362
-#define T_Multicastclient 363
-#define T_Nic 364
-#define T_Nolink 365
-#define T_Nomodify 366
-#define T_Nomrulist 367
-#define T_None 368
-#define T_Nonvolatile 369
-#define T_Nopeer 370
-#define T_Noquery 371
-#define T_Noselect 372
-#define T_Noserve 373
-#define T_Notrap 374
-#define T_Notrust 375
-#define T_Ntp 376
-#define T_Ntpport 377
-#define T_NtpSignDsocket 378
-#define T_Orphan 379
-#define T_Orphanwait 380
-#define T_PCEdigest 381
-#define T_Panic 382
-#define T_Peer 383
-#define T_Peerstats 384
-#define T_Phone 385
-#define T_Pid 386
-#define T_Pidfile 387
-#define T_Pool 388
-#define T_Port 389
-#define T_Preempt 390
-#define T_Prefer 391
-#define T_Protostats 392
-#define T_Pw 393
-#define T_Randfile 394
-#define T_Rawstats 395
-#define T_Refid 396
-#define T_Requestkey 397
-#define T_Reset 398
-#define T_Restrict 399
-#define T_Revoke 400
-#define T_Rlimit 401
-#define T_Saveconfigdir 402
-#define T_Server 403
-#define T_Setvar 404
-#define T_Source 405
-#define T_Stacksize 406
-#define T_Statistics 407
-#define T_Stats 408
-#define T_Statsdir 409
-#define T_Step 410
-#define T_Stepback 411
-#define T_Stepfwd 412
-#define T_Stepout 413
-#define T_Stratum 414
-#define T_String 415
-#define T_Sys 416
-#define T_Sysstats 417
-#define T_Tick 418
-#define T_Time1 419
-#define T_Time2 420
-#define T_Timer 421
-#define T_Timingstats 422
-#define T_Tinker 423
-#define T_Tos 424
-#define T_Trap 425
-#define T_True 426
-#define T_Trustedkey 427
-#define T_Ttl 428
-#define T_Type 429
-#define T_U_int 430
-#define T_UEcrypto 431
-#define T_UEcryptonak 432
-#define T_UEdigest 433
-#define T_Unconfig 434
-#define T_Unpeer 435
-#define T_Version 436
-#define T_WanderThreshold 437
-#define T_Week 438
-#define T_Wildcard 439
-#define T_Xleave 440
-#define T_Year 441
-#define T_Flag 442
-#define T_EOC 443
-#define T_Simulate 444
-#define T_Beep_Delay 445
-#define T_Sim_Duration 446
-#define T_Server_Offset 447
-#define T_Duration 448
-#define T_Freq_Offset 449
-#define T_Wander 450
-#define T_Jitter 451
-#define T_Prop_Delay 452
-#define T_Proc_Delay 453
+#define T_Basedate 267
+#define T_Bclient 268
+#define T_Bcpollbstep 269
+#define T_Beacon 270
+#define T_Broadcast 271
+#define T_Broadcastclient 272
+#define T_Broadcastdelay 273
+#define T_Burst 274
+#define T_Calibrate 275
+#define T_Ceiling 276
+#define T_Clockstats 277
+#define T_Cohort 278
+#define T_ControlKey 279
+#define T_Crypto 280
+#define T_Cryptostats 281
+#define T_Ctl 282
+#define T_Day 283
+#define T_Default 284
+#define T_Digest 285
+#define T_Disable 286
+#define T_Discard 287
+#define T_Dispersion 288
+#define T_Double 289
+#define T_Driftfile 290
+#define T_Drop 291
+#define T_Dscp 292
+#define T_Ellipsis 293
+#define T_Enable 294
+#define T_End 295
+#define T_False 296
+#define T_File 297
+#define T_Filegen 298
+#define T_Filenum 299
+#define T_Flag1 300
+#define T_Flag2 301
+#define T_Flag3 302
+#define T_Flag4 303
+#define T_Flake 304
+#define T_Floor 305
+#define T_Freq 306
+#define T_Fudge 307
+#define T_Host 308
+#define T_Huffpuff 309
+#define T_Iburst 310
+#define T_Ident 311
+#define T_Ignore 312
+#define T_Incalloc 313
+#define T_Incmem 314
+#define T_Initalloc 315
+#define T_Initmem 316
+#define T_Includefile 317
+#define T_Integer 318
+#define T_Interface 319
+#define T_Intrange 320
+#define T_Io 321
+#define T_Ipv4 322
+#define T_Ipv4_flag 323
+#define T_Ipv6 324
+#define T_Ipv6_flag 325
+#define T_Kernel 326
+#define T_Key 327
+#define T_Keys 328
+#define T_Keysdir 329
+#define T_Kod 330
+#define T_Mssntp 331
+#define T_Leapfile 332
+#define T_Leapsmearinterval 333
+#define T_Limited 334
+#define T_Link 335
+#define T_Listen 336
+#define T_Logconfig 337
+#define T_Logfile 338
+#define T_Loopstats 339
+#define T_Lowpriotrap 340
+#define T_Manycastclient 341
+#define T_Manycastserver 342
+#define T_Mask 343
+#define T_Maxage 344
+#define T_Maxclock 345
+#define T_Maxdepth 346
+#define T_Maxdist 347
+#define T_Maxmem 348
+#define T_Maxpoll 349
+#define T_Mdnstries 350
+#define T_Mem 351
+#define T_Memlock 352
+#define T_Minclock 353
+#define T_Mindepth 354
+#define T_Mindist 355
+#define T_Minimum 356
+#define T_Minpoll 357
+#define T_Minsane 358
+#define T_Mode 359
+#define T_Mode7 360
+#define T_Monitor 361
+#define T_Month 362
+#define T_Mru 363
+#define T_Multicastclient 364
+#define T_Nic 365
+#define T_Nolink 366
+#define T_Nomodify 367
+#define T_Nomrulist 368
+#define T_None 369
+#define T_Nonvolatile 370
+#define T_Nopeer 371
+#define T_Noquery 372
+#define T_Noselect 373
+#define T_Noserve 374
+#define T_Notrap 375
+#define T_Notrust 376
+#define T_Ntp 377
+#define T_Ntpport 378
+#define T_NtpSignDsocket 379
+#define T_Orphan 380
+#define T_Orphanwait 381
+#define T_PCEdigest 382
+#define T_Panic 383
+#define T_Peer 384
+#define T_Peerstats 385
+#define T_Phone 386
+#define T_Pid 387
+#define T_Pidfile 388
+#define T_Pool 389
+#define T_Port 390
+#define T_Preempt 391
+#define T_Prefer 392
+#define T_Protostats 393
+#define T_Pw 394
+#define T_Randfile 395
+#define T_Rawstats 396
+#define T_Refid 397
+#define T_Requestkey 398
+#define T_Reset 399
+#define T_Restrict 400
+#define T_Revoke 401
+#define T_Rlimit 402
+#define T_Saveconfigdir 403
+#define T_Server 404
+#define T_Setvar 405
+#define T_Source 406
+#define T_Stacksize 407
+#define T_Statistics 408
+#define T_Stats 409
+#define T_Statsdir 410
+#define T_Step 411
+#define T_Stepback 412
+#define T_Stepfwd 413
+#define T_Stepout 414
+#define T_Stratum 415
+#define T_String 416
+#define T_Sys 417
+#define T_Sysstats 418
+#define T_Tick 419
+#define T_Time1 420
+#define T_Time2 421
+#define T_Timer 422
+#define T_Timingstats 423
+#define T_Tinker 424
+#define T_Tos 425
+#define T_Trap 426
+#define T_True 427
+#define T_Trustedkey 428
+#define T_Ttl 429
+#define T_Type 430
+#define T_U_int 431
+#define T_UEcrypto 432
+#define T_UEcryptonak 433
+#define T_UEdigest 434
+#define T_Unconfig 435
+#define T_Unpeer 436
+#define T_Version 437
+#define T_WanderThreshold 438
+#define T_Week 439
+#define T_Wildcard 440
+#define T_Xleave 441
+#define T_Year 442
+#define T_Flag 443
+#define T_EOC 444
+#define T_Simulate 445
+#define T_Beep_Delay 446
+#define T_Sim_Duration 447
+#define T_Server_Offset 448
+#define T_Duration 449
+#define T_Freq_Offset 450
+#define T_Wander 451
+#define T_Jitter 452
+#define T_Prop_Delay 453
+#define T_Proc_Delay 454
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -551,7 +553,7 @@ union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
-#line 555 "ntp_parser.c" /* yacc.c:355  */
+#line 557 "ntp_parser.c" /* yacc.c:355  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -564,11 +566,11 @@ extern YYSTYPE yylval;
 
 int yyparse (void);
 
-#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
+#endif /* !YY_YY__SRC_NTP_STABLE_NTPD_NTP_PARSER_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
-#line 572 "ntp_parser.c" /* yacc.c:358  */
+#line 574 "ntp_parser.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -808,23 +810,23 @@ union yyalloc
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  215
+#define YYFINAL  216
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   654
+#define YYLAST   675
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  204
+#define YYNTOKENS  205
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  105
+#define YYNNTS  106
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  318
+#define YYNRULES  320
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  424
+#define YYNSTATES  426
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   453
+#define YYMAXUTOK   454
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -837,15 +839,15 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     200,   201,     2,     2,     2,     2,     2,     2,     2,     2,
+     201,   202,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   199,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,   200,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   202,     2,   203,     2,     2,     2,     2,
+       2,     2,     2,   203,     2,   204,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -878,45 +880,46 @@ static const yytype_uint8 yytranslate[] =
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198
+     195,   196,   197,   198,   199
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   371,   371,   375,   376,   377,   392,   393,   394,   395,
-     396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
-     413,   423,   424,   425,   426,   427,   431,   432,   437,   442,
-     444,   450,   451,   459,   460,   461,   465,   470,   471,   472,
-     473,   474,   475,   476,   477,   481,   483,   488,   489,   490,
-     491,   492,   493,   497,   502,   511,   521,   522,   532,   534,
-     536,   538,   549,   556,   558,   563,   565,   567,   569,   571,
-     580,   586,   587,   595,   597,   609,   610,   611,   612,   613,
-     622,   627,   632,   640,   642,   644,   649,   650,   651,   652,
-     653,   654,   655,   656,   657,   661,   662,   671,   673,   682,
-     692,   697,   705,   706,   707,   708,   709,   710,   711,   712,
-     717,   718,   726,   736,   745,   760,   765,   766,   770,   771,
-     775,   776,   777,   778,   779,   780,   781,   790,   794,   798,
-     806,   814,   822,   837,   852,   865,   866,   874,   875,   876,
-     877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
-     887,   888,   892,   897,   905,   910,   911,   912,   916,   921,
-     929,   934,   935,   936,   937,   938,   939,   940,   941,   949,
-     959,   964,   972,   974,   976,   985,   987,   992,   993,   997,
-     998,   999,  1000,  1008,  1013,  1018,  1026,  1031,  1032,  1033,
-    1042,  1044,  1049,  1054,  1062,  1064,  1081,  1082,  1083,  1084,
-    1085,  1086,  1090,  1091,  1092,  1093,  1094,  1095,  1103,  1108,
-    1113,  1121,  1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,
-    1134,  1135,  1144,  1145,  1146,  1153,  1160,  1167,  1183,  1202,
-    1204,  1206,  1208,  1210,  1212,  1219,  1224,  1225,  1226,  1230,
-    1234,  1243,  1244,  1248,  1249,  1250,  1254,  1265,  1279,  1291,
-    1296,  1298,  1303,  1304,  1312,  1314,  1322,  1327,  1335,  1360,
-    1367,  1377,  1378,  1382,  1383,  1384,  1385,  1389,  1390,  1391,
-    1395,  1400,  1405,  1413,  1414,  1415,  1416,  1417,  1418,  1419,
-    1429,  1434,  1442,  1447,  1455,  1457,  1461,  1466,  1471,  1479,
-    1484,  1492,  1501,  1502,  1506,  1507,  1516,  1534,  1538,  1543,
-    1551,  1556,  1557,  1561,  1566,  1574,  1579,  1584,  1589,  1594,
-    1602,  1607,  1612,  1620,  1625,  1626,  1627,  1628,  1629
+       0,   373,   373,   377,   378,   379,   394,   395,   396,   397,
+     398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
+     415,   425,   426,   427,   428,   429,   433,   434,   439,   444,
+     446,   452,   453,   461,   462,   463,   467,   472,   473,   474,
+     475,   476,   477,   478,   479,   483,   485,   490,   491,   492,
+     493,   494,   495,   499,   504,   513,   523,   524,   534,   536,
+     538,   540,   551,   558,   560,   565,   567,   569,   571,   573,
+     582,   588,   589,   597,   599,   611,   612,   613,   614,   615,
+     624,   629,   634,   642,   644,   646,   648,   653,   654,   655,
+     656,   657,   658,   659,   660,   661,   665,   666,   675,   677,
+     686,   696,   701,   709,   710,   711,   712,   713,   714,   715,
+     716,   721,   722,   730,   740,   749,   764,   769,   770,   774,
+     775,   779,   780,   781,   782,   783,   784,   785,   794,   798,
+     802,   810,   818,   826,   841,   856,   869,   870,   878,   879,
+     880,   881,   882,   883,   884,   885,   886,   887,   888,   889,
+     890,   891,   892,   896,   901,   909,   914,   915,   916,   920,
+     925,   933,   938,   939,   940,   941,   942,   943,   944,   945,
+     953,   963,   968,   976,   978,   980,   989,   991,   996,   997,
+    1001,  1002,  1003,  1004,  1012,  1017,  1022,  1030,  1035,  1036,
+    1037,  1046,  1048,  1053,  1058,  1066,  1068,  1085,  1086,  1087,
+    1088,  1089,  1090,  1094,  1095,  1096,  1097,  1098,  1099,  1107,
+    1112,  1117,  1125,  1130,  1131,  1132,  1133,  1134,  1135,  1136,
+    1137,  1138,  1139,  1148,  1149,  1150,  1157,  1164,  1171,  1187,
+    1206,  1208,  1210,  1212,  1214,  1216,  1223,  1228,  1229,  1230,
+    1234,  1238,  1247,  1248,  1252,  1253,  1254,  1258,  1269,  1283,
+    1295,  1300,  1302,  1307,  1308,  1316,  1318,  1326,  1331,  1339,
+    1364,  1371,  1381,  1382,  1386,  1387,  1388,  1389,  1393,  1394,
+    1395,  1399,  1404,  1409,  1417,  1418,  1419,  1420,  1421,  1422,
+    1423,  1433,  1438,  1446,  1451,  1459,  1461,  1465,  1470,  1475,
+    1483,  1488,  1496,  1505,  1506,  1510,  1511,  1515,  1523,  1541,
+    1545,  1550,  1558,  1563,  1564,  1568,  1573,  1581,  1586,  1591,
+    1596,  1601,  1609,  1614,  1619,  1627,  1632,  1633,  1634,  1635,
+    1636
 };
 #endif
 
@@ -927,7 +930,7 @@ static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
   "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
-  "T_Bclient", "T_Bcpollbstep", "T_Beacon", "T_Broadcast",
+  "T_Basedate", "T_Bclient", "T_Bcpollbstep", "T_Beacon", "T_Broadcast",
   "T_Broadcastclient", "T_Broadcastdelay", "T_Burst", "T_Calibrate",
   "T_Ceiling", "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto",
   "T_Cryptostats", "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable",
@@ -991,7 +994,7 @@ static const char *const yytname[] =
   "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", "simulate_command", "sim_conf_start",
+  "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",
@@ -1023,15 +1026,15 @@ static const yytype_uint16 yytoknum[] =
      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
      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,    61,
-      40,    41,   123,   125
+     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
+      61,    40,    41,   123,   125
 };
 # endif
 
-#define YYPACT_NINF -189
+#define YYPACT_NINF -188
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-189)))
+  (!!((Yystate) == (-188)))
 
 #define YYTABLE_NINF -7
 
@@ -1042,49 +1045,49 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-      18,  -177,   -45,  -189,  -189,  -189,   -40,  -189,    32,     5,
-    -129,  -189,    32,  -189,   204,   -44,  -189,  -117,  -189,  -110,
-    -101,  -189,  -189,   -97,  -189,  -189,   -44,    -4,   495,   -44,
-    -189,  -189,   -96,  -189,   -94,  -189,  -189,     8,    54,   258,
-      10,   -28,  -189,  -189,   -89,   204,   -86,  -189,   270,   529,
-     -85,   -56,    14,  -189,  -189,  -189,    83,   207,   -95,  -189,
-     -44,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,    -7,    24,   -73,   -68,  -189,    -3,  -189,
-    -189,  -106,  -189,  -189,  -189,   313,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    32,  -189,
-    -189,  -189,  -189,  -189,  -189,     5,  -189,    35,    65,  -189,
-      32,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,   110,  -189,   -59,   368,  -189,  -189,  -189,
-     -97,  -189,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,   495,  -189,    44,   -44,  -189,  -189,   -51,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    54,  -189,
-    -189,    86,    89,  -189,  -189,    33,  -189,  -189,  -189,  -189,
-     -28,  -189,    49,   -75,  -189,   204,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   270,  -189,
-      -7,  -189,  -189,  -189,   -33,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,   529,  -189,    66,    -7,  -189,  -189,    67,
-     -56,  -189,  -189,  -189,    68,  -189,   -53,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    16,
-    -153,  -189,  -189,  -189,  -189,  -189,    77,  -189,   -18,  -189,
-    -189,  -189,  -189,   226,   -13,  -189,  -189,  -189,  -189,    -8,
-      97,  -189,  -189,   110,  -189,    -7,   -33,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,   449,  -189,  -189,   449,   449,
-     -85,  -189,  -189,    11,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,   -49,   108,  -189,  -189,  -189,   125,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -102,   -20,
-     -30,  -189,  -189,  -189,  -189,    13,  -189,  -189,     9,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,   449,   449,  -189,   146,   -85,   113,
-    -189,   116,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,   -54,  -189,    23,   -10,     6,  -138,  -189,    -9,  -189,
-      -7,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-     449,  -189,  -189,  -189,  -189,   -17,  -189,  -189,  -189,   -44,
-    -189,  -189,  -189,    20,  -189,  -189,  -189,     0,    21,    -7,
-      22,  -173,  -189,    25,    -7,  -189,  -189,  -189,    17,     7,
-    -189,  -189,  -189,  -189,  -189,   217,    39,    36,  -189,    46,
-    -189,    -7,  -189,  -189
+      19,  -168,   -38,  -188,  -188,  -188,   -36,  -188,   162,     2,
+    -113,  -188,   162,  -188,   -19,   -40,  -188,  -108,  -188,  -104,
+    -101,  -188,  -188,   -94,  -188,  -188,   -40,   -17,   366,   -40,
+    -188,  -188,   -91,  -188,   -83,  -188,  -188,    16,    34,    20,
+      17,   -11,  -188,  -188,   -74,   -19,   -72,  -188,   397,   537,
+     -70,   -55,    35,  -188,  -188,  -188,    94,   200,   -90,  -188,
+     -40,  -188,   -40,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,    21,    41,   -54,   -48,  -188,   -18,  -188,
+    -188,   -88,  -188,  -188,  -188,   105,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,   162,  -188,
+    -188,  -188,  -188,  -188,  -188,     2,  -188,    49,    82,  -188,
+     162,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,   251,  -188,   -29,   367,  -188,  -188,  -188,
+     -94,  -188,  -188,   -40,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,   366,  -188,    57,   -40,  -188,  -188,   -28,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,    34,  -188,
+    -188,    97,   107,  -188,    50,  -188,  -188,  -188,  -188,   -11,
+    -188,    60,   -63,  -188,   -19,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,   397,  -188,    21,
+     -14,  -188,  -188,  -188,   -32,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,   537,  -188,    88,    21,  -188,  -188,  -188,
+      91,   -55,  -188,  -188,  -188,    92,  -188,   -44,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+      -1,  -118,  -188,  -188,  -188,  -188,  -188,    93,  -188,    -4,
+    -188,  -188,  -188,  -188,   -16,    12,  -188,  -188,  -188,  -188,
+      15,   114,  -188,  -188,   251,  -188,    21,   -32,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,   493,  -188,  -188,   493,
+     -70,   493,  -188,  -188,    18,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,   -53,   140,  -188,  -188,
+    -188,   186,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -115,    -3,   -13,  -188,  -188,  -188,  -188,    30,  -188,  -188,
+      10,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,   493,   493,  -188,   169,
+     -70,   139,  -188,   141,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,   -51,  -188,    42,     6,    22,  -132,  -188,
+       4,  -188,    21,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,   493,  -188,  -188,  -188,  -188,    11,  -188,  -188,
+    -188,   -40,  -188,  -188,  -188,    27,  -188,  -188,  -188,    23,
+      28,    21,    38,  -172,  -188,    26,    21,  -188,  -188,  -188,
+       9,    31,  -188,  -188,  -188,  -188,  -188,    51,    45,    53,
+    -188,    68,  -188,    21,  -188,  -188
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1092,81 +1095,81 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     0,     0,    24,    58,   236,     0,    71,     0,     0,
-     248,   239,     0,   229,     0,     0,   241,     0,   261,     0,
-       0,   242,   240,     0,   243,    25,     0,     0,     0,     0,
-     262,   237,     0,    23,     0,   244,    22,     0,     0,     0,
-       0,     0,   245,    21,     0,     0,     0,   238,     0,     0,
-       0,     0,     0,    56,    57,   297,     0,     2,     0,     7,
+       0,     0,     0,    24,    58,   237,     0,    71,     0,     0,
+     249,   240,     0,   230,     0,     0,   242,     0,   262,     0,
+       0,   243,   241,     0,   244,    25,     0,     0,     0,     0,
+     263,   238,     0,    23,     0,   245,    22,     0,     0,     0,
+       0,     0,   246,    21,     0,     0,     0,   239,     0,     0,
+       0,     0,     0,    56,    57,   299,     0,     2,     0,     7,
        0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
-      16,    17,    18,     0,     0,     0,     0,   222,     0,   223,
-      19,     0,     5,    62,    63,    64,   196,   197,   198,   199,
-     202,   200,   201,   203,   204,   205,   206,   207,   191,   193,
-     194,   195,   155,   156,   157,   127,   153,     0,   246,   230,
-     190,   102,   103,   104,   105,   109,   106,   107,   108,   110,
-      29,    30,    28,     0,    26,     0,     6,    65,    66,   258,
-     231,   257,   290,    59,    61,   161,   162,   163,   164,   165,
-     166,   167,   168,   128,   159,     0,    60,    70,   288,   232,
-      67,   273,   274,   275,   276,   277,   278,   279,   270,   272,
-     135,    29,    30,   135,   135,    26,    68,   189,   187,   188,
-     183,   185,     0,     0,   233,    97,   101,    98,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   208,   210,
-       0,    86,    87,    88,     0,    89,    90,    96,    91,    95,
-      92,    93,    94,    80,    82,     0,     0,   252,   284,     0,
-      69,   283,   285,   281,   235,     1,     0,     4,    31,    55,
-     295,   294,   224,   225,   226,   227,   269,   268,   267,     0,
-       0,    79,    75,    76,    77,    78,     0,    72,     0,   192,
-     152,   154,   247,    99,     0,   179,   180,   181,   182,     0,
-       0,   177,   178,   169,   171,     0,     0,    27,   228,   256,
-     289,   158,   160,   287,   271,   131,   135,   135,   134,   129,
-       0,   184,   186,     0,   100,   209,   211,   293,   291,   292,
-      85,    81,    83,    84,   234,     0,   282,   280,     3,    20,
-     263,   264,   265,   260,   266,   259,   301,   302,     0,     0,
-       0,    74,    73,   119,   118,     0,   116,   117,     0,   111,
-     114,   115,   175,   176,   174,   170,   172,   173,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   136,   132,   133,   135,   251,     0,     0,
-     253,     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,   304,     0,   299,
-       0,   112,   126,   122,   124,   120,   121,   123,   125,   113,
-     130,   250,   249,   255,   254,     0,    45,    46,    53,     0,
-     298,   296,   303,     0,   300,   286,   307,     0,     0,     0,
-       0,     0,   309,     0,     0,   305,   308,   306,     0,     0,
-     314,   315,   316,   317,   318,     0,     0,     0,   310,     0,
-     312,     0,   311,   313
+      16,    17,    18,     0,     0,     0,     0,   223,     0,   224,
+      19,     0,     5,    62,    63,    64,   197,   198,   199,   200,
+     203,   201,   202,   204,   205,   206,   207,   208,   192,   194,
+     195,   196,   156,   157,   158,   128,   154,     0,   247,   231,
+     191,   103,   104,   105,   106,   110,   107,   108,   109,   111,
+      29,    30,    28,     0,    26,     0,     6,    65,    66,   259,
+     232,   258,   291,    59,    61,   162,   163,   164,   165,   166,
+     167,   168,   169,   129,   160,     0,    60,    70,   289,   233,
+      67,   274,   275,   276,   277,   278,   279,   280,   271,   273,
+     136,    29,    30,   136,   136,    68,   190,   188,   189,   184,
+     186,     0,     0,   234,    98,   102,    99,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   209,   211,     0,
+       0,    87,    88,    89,     0,    90,    91,    97,    92,    96,
+      93,    94,    95,    80,    82,     0,     0,    86,   253,   285,
+       0,    69,   284,   286,   282,   236,     1,     0,     4,    31,
+      55,   296,   295,   225,   226,   227,   228,   270,   269,   268,
+       0,     0,    79,    75,    76,    77,    78,     0,    72,     0,
+     193,   153,   155,   248,   100,     0,   180,   181,   182,   183,
+       0,     0,   178,   179,   170,   172,     0,     0,    27,   229,
+     257,   290,   159,   161,   288,   272,   132,   136,   136,   135,
+       0,   130,   185,   187,     0,   101,   210,   212,   297,   294,
+     292,   293,    85,    81,    83,    84,   235,     0,   283,   281,
+       3,    20,   264,   265,   266,   261,   267,   260,   303,   304,
+       0,     0,     0,    74,    73,   120,   119,     0,   117,   118,
+       0,   112,   115,   116,   176,   177,   175,   171,   173,   174,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   137,   133,   134,   136,   252,
+       0,     0,   254,     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,   306,
+       0,   301,     0,   113,   127,   123,   125,   121,   122,   124,
+     126,   114,   131,   251,   250,   256,   255,     0,    45,    46,
+      53,     0,   300,   298,   305,     0,   302,   287,   309,     0,
+       0,     0,     0,     0,   311,     0,     0,   307,   310,   308,
+       0,     0,   316,   317,   318,   319,   320,     0,     0,     0,
+     312,     0,   314,     0,   313,   315
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -189,  -189,  -189,   -48,  -189,  -189,   -15,   -38,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,  -189,    37,  -189,  -189,  -189,
-    -189,   -42,  -189,  -189,  -189,  -189,  -189,  -189,  -159,  -189,
-    -189,   131,  -189,  -189,    96,  -189,  -189,  -189,    -6,  -189,
-    -189,  -189,  -189,    74,  -189,  -189,   236,   -71,  -189,  -189,
-    -189,  -189,    62,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
-    -189,  -189,  -189,  -189,  -189,   122,  -189,  -189,  -189,  -189,
-    -189,  -189,    95,  -189,  -189,    45,  -189,  -189,   225,     1,
-    -188,  -189,  -189,  -189,   -39,  -189,  -189,  -103,  -189,  -189,
-    -189,  -136,  -189,  -149,  -189
+    -188,  -188,  -188,   -41,  -188,  -188,   -15,   -49,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,  -188,    56,  -188,  -188,  -188,
+    -188,   -35,  -188,  -188,  -188,  -188,  -188,  -188,  -158,  -188,
+    -188,   155,  -188,  -188,   118,  -188,  -188,  -188,    25,  -188,
+    -188,  -188,  -188,    96,  -188,  -188,   254,   -58,  -188,  -188,
+    -188,  -188,    76,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
+    -188,  -188,  -188,  -188,  -188,   142,  -188,  -188,  -188,  -188,
+    -188,  -188,   111,  -188,  -188,    59,  -188,  -188,   242,    24,
+    -187,  -188,  -188,  -188,  -188,   -25,  -188,  -188,   -92,  -188,
+    -188,  -188,  -111,  -188,  -124,  -188
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    56,    57,    58,    59,    60,   132,   124,   125,   289,
-     357,   358,   359,   360,   361,   362,   363,    61,    62,    63,
-      64,    85,   237,   238,    65,   203,   204,   205,   206,    66,
-     175,   119,   243,   309,   310,   311,   379,    67,   265,   333,
-     105,   106,   107,   143,   144,   145,    68,   253,   254,   255,
-     256,    69,   170,   171,   172,    70,    98,    99,   100,   101,
-      71,   188,   189,   190,    72,    73,    74,    75,    76,   109,
-     174,   382,   284,   340,   130,   131,    77,    78,   295,   229,
-      79,   158,   159,   214,   210,   211,   212,   149,   133,   280,
-     222,    80,    81,   298,   299,   300,   366,   367,   398,   368,
-     401,   402,   415,   416,   417
+      -1,    56,    57,    58,    59,    60,   132,   124,   125,   291,
+     359,   360,   361,   362,   363,   364,   365,    61,    62,    63,
+      64,    85,   238,   239,    65,   203,   204,   205,   206,    66,
+     174,   119,   244,   311,   312,   313,   381,    67,   266,   335,
+     105,   106,   107,   143,   144,   145,    68,   254,   255,   256,
+     257,    69,   169,   170,   171,    70,    98,    99,   100,   101,
+      71,   187,   188,   189,    72,    73,    74,    75,    76,   109,
+     173,   384,   286,   342,   130,   131,    77,    78,   297,   230,
+      79,   158,   159,   215,   211,   212,   213,   149,   133,   282,
+     223,   207,    80,    81,   300,   301,   302,   368,   369,   400,
+     370,   403,   404,   417,   418,   419
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1174,228 +1177,233 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     123,   165,   276,   176,   268,   269,   208,   277,   386,   216,
-     364,    82,   207,   372,   338,   167,   102,    83,   283,     1,
-     400,   290,    84,   120,   164,   121,   220,   239,     2,   278,
-     405,   108,   226,     3,     4,     5,   373,   296,   297,   239,
-      86,     6,     7,   126,    87,   218,   364,   219,     8,     9,
-     127,    88,    10,   227,    11,   221,    12,    13,   134,   128,
-      14,   151,   152,   129,   147,   391,   148,   316,   168,    15,
-     150,   173,   166,    16,   177,   122,   213,   228,   258,    17,
-     153,    18,   291,   215,   292,   339,   223,   224,   296,   297,
-      19,    20,   225,   217,    21,    22,   230,   241,   242,    23,
-      24,   257,    89,    25,    26,   103,   262,   334,   335,   263,
-     104,   272,    27,   244,   266,   374,   122,   267,   260,   154,
-     270,   387,   375,   169,   273,    28,    29,    30,   282,   285,
-     287,   260,    31,   274,   342,   288,    90,    91,   279,   301,
-     376,    32,   302,   343,   209,   341,    33,   312,    34,   155,
-      35,    36,   313,    92,   245,   246,   247,   248,    93,   314,
-      37,    38,    39,    40,    41,    42,    43,    44,   369,   370,
-      45,   337,    46,   371,   381,   384,   293,   380,   385,   344,
-     345,    47,   394,   388,   395,    94,    48,    49,    50,   389,
-      51,    52,   377,   393,   390,   378,   346,    53,    54,   399,
-     294,   410,   411,   412,   413,   414,    -6,    55,    95,    96,
-      97,   403,   397,   407,   400,   156,   408,     2,   347,   409,
-     157,   404,     3,     4,     5,   111,   348,   420,   349,   112,
-       6,     7,   336,   423,   422,   421,   240,     8,     9,   261,
-     281,    10,   350,    11,   271,    12,    13,   315,   110,    14,
-     275,   249,   259,   264,   146,   286,   303,   317,    15,   365,
-     351,   352,    16,   392,   304,   406,   419,   305,    17,   250,
-      18,     0,     0,     0,   251,   252,   178,     0,     0,    19,
-      20,     0,     0,    21,    22,     0,   160,   113,    23,    24,
-       0,     0,    25,    26,     0,     0,   353,     0,   354,     0,
-     383,    27,   179,     0,     0,   306,   355,     0,     0,     0,
-     356,     0,     0,     0,    28,    29,    30,     0,     0,     0,
-     180,    31,     0,   181,     0,   161,     0,   162,     0,     0,
-      32,     0,     0,   114,     0,    33,   307,    34,     0,    35,
-      36,   115,   231,     0,   116,     0,     0,     0,     0,    37,
-      38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
-       0,    46,     0,     0,     0,   232,   117,     0,   233,     0,
-      47,   118,     0,     0,   396,    48,    49,    50,     2,    51,
-      52,     0,     0,     3,     4,     5,    53,    54,     0,     0,
-       0,     6,     7,     0,     0,    -6,    55,   182,     8,     9,
-     308,     0,    10,     0,    11,     0,    12,    13,   163,     0,
-      14,   410,   411,   412,   413,   414,     0,     0,   122,    15,
-     418,     0,     0,    16,     0,   183,   184,   185,   186,    17,
-       0,    18,     0,   187,     0,     0,     0,     0,     0,     0,
-      19,    20,     0,     0,    21,    22,     0,     0,     0,    23,
-      24,   234,   235,    25,    26,     0,     0,     0,   236,     0,
-       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
+     123,   208,   277,   111,   292,   269,   271,   112,   209,   279,
+     175,   340,   388,   102,   374,   305,   217,   366,   227,   285,
+       1,    82,   402,   306,   164,    83,   307,    84,   120,     2,
+     121,   280,   407,   166,   366,     3,     4,     5,   375,   228,
+     240,   151,   152,     6,     7,   219,   134,   220,   108,   160,
+       8,     9,   240,   126,    10,   221,    11,   127,    12,    13,
+     128,   153,    14,   229,   308,   113,   293,   129,   294,   318,
+     147,    15,   393,   298,   299,    16,   298,   299,   148,   150,
+     165,    17,   341,    18,   222,   259,   167,   172,   161,   176,
+     162,   122,    19,    20,   216,   309,    21,    22,   214,   218,
+     154,    23,    24,   103,   224,    25,    26,   225,   104,   336,
+     337,   114,   242,   226,    27,   231,   243,   376,   261,   115,
+     263,   122,   116,   273,   377,   389,   267,    28,    29,    30,
+     155,   261,   258,   264,    31,   232,   268,   274,   270,   275,
+     281,   168,   378,    32,   117,   290,   210,   278,    33,   118,
+      34,   284,    35,    36,   287,   289,   303,   304,   233,   310,
+     295,   234,    37,    38,    39,    40,    41,    42,    43,    44,
+      86,   163,    45,   314,    46,    87,   315,   316,   343,   339,
+     382,   122,    88,    47,   296,   396,   371,   372,    48,    49,
+      50,   373,    51,    52,   379,   344,   156,   380,   383,    53,
+      54,   157,   386,   390,   387,   345,   391,   395,    -6,    55,
+       2,   392,   411,   397,   405,   409,     3,     4,     5,   410,
+     399,   338,   402,   401,     6,     7,   412,   413,   414,   415,
+     416,     8,     9,    89,   422,    10,   425,    11,   406,    12,
+      13,   346,   347,    14,   235,   236,   412,   413,   414,   415,
+     416,   237,    15,   423,   245,   420,    16,   424,   348,   283,
+     241,   262,    17,   276,    18,   272,   110,    90,    91,   265,
+     288,   146,   260,    19,    20,   367,   394,    21,    22,   317,
+     349,   319,    23,    24,    92,     0,    25,    26,   350,    93,
+     351,   385,   408,   421,     0,    27,   246,   247,   248,   249,
+       0,     0,     0,     0,   352,     0,     0,     0,    28,    29,
+      30,     0,     0,     0,     0,    31,    94,     0,     0,     0,
+       0,     0,   353,   354,    32,     0,     0,     0,     0,    33,
+       0,    34,     0,    35,    36,     0,     0,     0,     0,    95,
+      96,    97,     0,    37,    38,    39,    40,    41,    42,    43,
+      44,     0,     0,    45,     0,    46,     0,     0,   355,     0,
+     356,     0,     0,     0,    47,     0,     0,     0,   357,    48,
+      49,    50,   358,    51,    52,     0,   398,     2,     0,     0,
+      53,    54,     0,     3,     4,     5,     0,     0,     0,    -6,
+      55,     6,     7,   250,     0,     0,     0,     0,     8,     9,
+       0,     0,    10,   177,    11,     0,    12,    13,     0,     0,
+      14,   251,     0,     0,     0,     0,   252,   253,     0,    15,
+       0,     0,     0,    16,   135,   136,   137,   138,     0,    17,
+     178,    18,     0,     0,     0,     0,     0,     0,     0,     0,
+      19,    20,     0,     0,    21,    22,     0,     0,   179,    23,
+      24,   180,     0,    25,    26,   139,     0,   140,     0,   141,
+       0,     0,    27,     0,     0,   142,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    28,    29,    30,     0,     0,
        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
-       0,    32,     0,     0,     0,     0,    33,   318,    34,     0,
-      35,    36,     0,     0,     0,   319,     0,     0,     0,     0,
+       0,    32,     0,     0,     0,     0,    33,     0,    34,     0,
+      35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
       37,    38,    39,    40,    41,    42,    43,    44,     0,     0,
-      45,     0,    46,   320,   321,     0,     0,   322,     0,     0,
-       0,    47,     0,   323,     0,     0,    48,    49,    50,     0,
-      51,    52,   191,   192,     0,     0,     0,    53,    54,   193,
-       0,   194,   135,   136,   137,   138,     0,    55,     0,     0,
-     324,   325,     0,     0,   326,   327,     0,   328,   329,   330,
-       0,   331,     0,     0,     0,     0,     0,     0,   195,     0,
-       0,     0,     0,   139,     0,   140,     0,   141,     0,     0,
-       0,     0,     0,   142,     0,     0,     0,     0,     0,     0,
+      45,     0,    46,     0,     0,   181,     0,     0,     0,     0,
+       0,    47,     0,     0,     0,     0,    48,    49,    50,     0,
+      51,    52,   320,     0,     0,     0,     0,    53,    54,   190,
+     321,   191,   192,   182,   183,   184,   185,    55,   193,     0,
+     194,   186,     0,     0,     0,     0,     0,     0,   322,   323,
+       0,     0,   324,     0,     0,     0,     0,     0,   325,     0,
+       0,     0,     0,     0,     0,     0,     0,   195,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
-     197,     0,     0,     0,     0,     0,   198,     0,   199,     0,
-     332,   200,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   326,   327,     0,     0,   328,
+     329,     0,   330,   331,   332,     0,   333,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   196,     0,   197,
+       0,     0,     0,     0,     0,   198,     0,   199,     0,     0,
+     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   201,   202
+       0,     0,   201,   202,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   334
 };
 
 static const yytype_int16 yycheck[] =
 {
-      15,    39,   190,    45,   163,   164,    62,    40,    62,    57,
-     148,   188,    50,     4,    63,    43,    11,    62,   206,     1,
-     193,     5,    62,    67,    39,    69,    33,    98,    10,    62,
-     203,   160,    35,    15,    16,    17,    27,   190,   191,   110,
-       8,    23,    24,   160,    12,    60,   148,    62,    30,    31,
-     160,    19,    34,    56,    36,    62,    38,    39,    62,   160,
-      42,     7,     8,   160,   160,   203,   160,   255,    96,    51,
-      62,   160,    62,    55,   160,   160,    62,    80,   126,    61,
-      26,    63,    66,     0,    68,   134,    62,   160,   190,   191,
-      72,    73,   160,   188,    76,    77,   202,    62,    33,    81,
-      82,   160,    70,    85,    86,   100,    62,   266,   267,   160,
-     105,    62,    94,     3,    28,   106,   160,    28,   133,    65,
-      87,   175,   113,   151,   199,   107,   108,   109,    62,    62,
-      62,   146,   114,   175,     9,   188,   104,   105,   171,    62,
-     131,   123,   160,    18,   200,    37,   128,   160,   130,    95,
-     132,   133,   160,   121,    44,    45,    46,    47,   126,    62,
-     142,   143,   144,   145,   146,   147,   148,   149,   188,   199,
-     152,   160,   154,   160,    28,    62,   160,   336,    62,    54,
-      55,   163,   370,   160,   201,   153,   168,   169,   170,   199,
-     172,   173,   183,   202,   188,   186,    71,   179,   180,   199,
-     184,   194,   195,   196,   197,   198,   188,   189,   176,   177,
-     178,   399,   192,   188,   193,   161,   404,    10,    93,   202,
-     166,   199,    15,    16,    17,    21,   101,   188,   103,    25,
-      23,    24,   270,   421,   188,   199,   105,    30,    31,   143,
-     203,    34,   117,    36,   170,    38,    39,   253,    12,    42,
-     188,   141,   130,   158,    29,   210,    30,   256,    51,   298,
-     135,   136,    55,   366,    38,   401,   415,    41,    61,   159,
-      63,    -1,    -1,    -1,   164,   165,     6,    -1,    -1,    72,
-      73,    -1,    -1,    76,    77,    -1,    28,    83,    81,    82,
-      -1,    -1,    85,    86,    -1,    -1,   171,    -1,   173,    -1,
-     338,    94,    32,    -1,    -1,    79,   181,    -1,    -1,    -1,
-     185,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,    -1,
-      50,   114,    -1,    53,    -1,    67,    -1,    69,    -1,    -1,
-     123,    -1,    -1,   129,    -1,   128,   110,   130,    -1,   132,
-     133,   137,    29,    -1,   140,    -1,    -1,    -1,    -1,   142,
-     143,   144,   145,   146,   147,   148,   149,    -1,    -1,   152,
-      -1,   154,    -1,    -1,    -1,    52,   162,    -1,    55,    -1,
-     163,   167,    -1,    -1,   389,   168,   169,   170,    10,   172,
-     173,    -1,    -1,    15,    16,    17,   179,   180,    -1,    -1,
-      -1,    23,    24,    -1,    -1,   188,   189,   127,    30,    31,
-     174,    -1,    34,    -1,    36,    -1,    38,    39,   150,    -1,
-      42,   194,   195,   196,   197,   198,    -1,    -1,   160,    51,
-     203,    -1,    -1,    55,    -1,   155,   156,   157,   158,    61,
-      -1,    63,    -1,   163,    -1,    -1,    -1,    -1,    -1,    -1,
-      72,    73,    -1,    -1,    76,    77,    -1,    -1,    -1,    81,
-      82,   138,   139,    85,    86,    -1,    -1,    -1,   145,    -1,
-      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
-      -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   123,    -1,    -1,    -1,    -1,   128,    48,   130,    -1,
-     132,   133,    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,
-     142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
-     152,    -1,   154,    74,    75,    -1,    -1,    78,    -1,    -1,
-      -1,   163,    -1,    84,    -1,    -1,   168,   169,   170,    -1,
-     172,   173,    13,    14,    -1,    -1,    -1,   179,   180,    20,
-      -1,    22,    57,    58,    59,    60,    -1,   189,    -1,    -1,
-     111,   112,    -1,    -1,   115,   116,    -1,   118,   119,   120,
-      -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,
-      -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,
-      -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
+      15,    50,   189,    22,     5,   163,   164,    26,    63,    41,
+      45,    64,    63,    11,     4,    31,    57,   149,    36,   206,
+       1,   189,   194,    39,    39,    63,    42,    63,    68,    10,
+      70,    63,   204,    44,   149,    16,    17,    18,    28,    57,
+      98,     7,     8,    24,    25,    60,    63,    62,   161,    29,
+      31,    32,   110,   161,    35,    34,    37,   161,    39,    40,
+     161,    27,    43,    81,    80,    84,    67,   161,    69,   256,
+     161,    52,   204,   191,   192,    56,   191,   192,   161,    63,
+      63,    62,   135,    64,    63,   126,    97,   161,    68,   161,
+      70,   161,    73,    74,     0,   111,    77,    78,    63,   189,
+      66,    82,    83,   101,    63,    86,    87,   161,   106,   267,
+     268,   130,    63,   161,    95,   203,    34,   107,   133,   138,
+      63,   161,   141,    63,   114,   176,    29,   108,   109,   110,
+      96,   146,   161,   161,   115,    30,    29,   200,    88,   174,
+     172,   152,   132,   124,   163,   189,   201,   161,   129,   168,
+     131,    63,   133,   134,    63,    63,    63,   161,    53,   175,
+     161,    56,   143,   144,   145,   146,   147,   148,   149,   150,
+       8,   151,   153,   161,   155,    13,   161,    63,    38,   161,
+     338,   161,    20,   164,   185,   372,   189,   200,   169,   170,
+     171,   161,   173,   174,   184,     9,   162,   187,    29,   180,
+     181,   167,    63,   161,    63,    19,   200,   203,   189,   190,
+      10,   189,   203,   202,   401,   189,    16,    17,    18,   406,
+     193,   270,   194,   200,    24,    25,   195,   196,   197,   198,
+     199,    31,    32,    71,   189,    35,   423,    37,   200,    39,
+      40,    55,    56,    43,   139,   140,   195,   196,   197,   198,
+     199,   146,    52,   200,     3,   204,    56,   189,    72,   203,
+     105,   143,    62,   187,    64,   169,    12,   105,   106,   158,
+     211,    29,   130,    73,    74,   300,   368,    77,    78,   254,
+      94,   257,    82,    83,   122,    -1,    86,    87,   102,   127,
+     104,   340,   403,   417,    -1,    95,    45,    46,    47,    48,
+      -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,   108,   109,
+     110,    -1,    -1,    -1,    -1,   115,   154,    -1,    -1,    -1,
+      -1,    -1,   136,   137,   124,    -1,    -1,    -1,    -1,   129,
+      -1,   131,    -1,   133,   134,    -1,    -1,    -1,    -1,   177,
+     178,   179,    -1,   143,   144,   145,   146,   147,   148,   149,
+     150,    -1,    -1,   153,    -1,   155,    -1,    -1,   172,    -1,
+     174,    -1,    -1,    -1,   164,    -1,    -1,    -1,   182,   169,
+     170,   171,   186,   173,   174,    -1,   391,    10,    -1,    -1,
+     180,   181,    -1,    16,    17,    18,    -1,    -1,    -1,   189,
+     190,    24,    25,   142,    -1,    -1,    -1,    -1,    31,    32,
+      -1,    -1,    35,     6,    37,    -1,    39,    40,    -1,    -1,
+      43,   160,    -1,    -1,    -1,    -1,   165,   166,    -1,    52,
+      -1,    -1,    -1,    56,    58,    59,    60,    61,    -1,    62,
+      33,    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      73,    74,    -1,    -1,    77,    78,    -1,    -1,    51,    82,
+      83,    54,    -1,    86,    87,    89,    -1,    91,    -1,    93,
+      -1,    -1,    95,    -1,    -1,    99,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   108,   109,   110,    -1,    -1,
+      -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
+     133,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     143,   144,   145,   146,   147,   148,   149,   150,    -1,    -1,
+     153,    -1,   155,    -1,    -1,   128,    -1,    -1,    -1,    -1,
+      -1,   164,    -1,    -1,    -1,    -1,   169,   170,   171,    -1,
+     173,   174,    49,    -1,    -1,    -1,    -1,   180,   181,    12,
+      57,    14,    15,   156,   157,   158,   159,   190,    21,    -1,
+      23,   164,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
+      -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,
-      91,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,    -1,
-     181,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   112,   113,    -1,    -1,   116,
+     117,    -1,   119,   120,   121,    -1,   123,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    90,    -1,    92,
+      -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,    -1,
+     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   124,   125
+      -1,    -1,   125,   126,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   182
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,     1,    10,    15,    16,    17,    23,    24,    30,    31,
-      34,    36,    38,    39,    42,    51,    55,    61,    63,    72,
-      73,    76,    77,    81,    82,    85,    86,    94,   107,   108,
-     109,   114,   123,   128,   130,   132,   133,   142,   143,   144,
-     145,   146,   147,   148,   149,   152,   154,   163,   168,   169,
-     170,   172,   173,   179,   180,   189,   205,   206,   207,   208,
-     209,   221,   222,   223,   224,   228,   233,   241,   250,   255,
-     259,   264,   268,   269,   270,   271,   272,   280,   281,   284,
-     295,   296,   188,    62,    62,   225,     8,    12,    19,    70,
-     104,   105,   121,   126,   153,   176,   177,   178,   260,   261,
-     262,   263,    11,   100,   105,   244,   245,   246,   160,   273,
-     260,    21,    25,    83,   129,   137,   140,   162,   167,   235,
-      67,    69,   160,   210,   211,   212,   160,   160,   160,   160,
-     278,   279,   210,   292,    62,    57,    58,    59,    60,    88,
-      90,    92,    98,   247,   248,   249,   292,   160,   160,   291,
-      62,     7,     8,    26,    65,    95,   161,   166,   285,   286,
-      28,    67,    69,   150,   210,   211,    62,    43,    96,   151,
-     256,   257,   258,   160,   274,   234,   235,   160,     6,    32,
-      50,    53,   127,   155,   156,   157,   158,   163,   265,   266,
-     267,    13,    14,    20,    22,    49,    89,    91,    97,    99,
-     102,   124,   125,   229,   230,   231,   232,   211,    62,   200,
-     288,   289,   290,    62,   287,     0,   207,   188,   210,   210,
-      33,    62,   294,    62,   160,   160,    35,    56,    80,   283,
-     202,    29,    52,    55,   138,   139,   145,   226,   227,   261,
-     245,    62,    33,   236,     3,    44,    45,    46,    47,   141,
-     159,   164,   165,   251,   252,   253,   254,   160,   207,   279,
-     210,   248,    62,   160,   286,   242,    28,    28,   242,   242,
-      87,   257,    62,   199,   235,   266,   294,    40,    62,   171,
-     293,   230,    62,   294,   276,    62,   289,    62,   188,   213,
-       5,    66,    68,   160,   184,   282,   190,   191,   297,   298,
-     299,    62,   160,    30,    38,    41,    79,   110,   174,   237,
-     238,   239,   160,   160,    62,   252,   294,   293,    48,    56,
-      74,    75,    78,    84,   111,   112,   115,   116,   118,   119,
-     120,   122,   181,   243,   242,   242,   211,   160,    63,   134,
-     277,    37,     9,    18,    54,    55,    71,    93,   101,   103,
-     117,   135,   136,   171,   173,   181,   185,   214,   215,   216,
-     217,   218,   219,   220,   148,   298,   300,   301,   303,   188,
-     199,   160,     4,    27,   106,   113,   131,   183,   186,   240,
-     242,    28,   275,   211,    62,    62,    62,   175,   160,   199,
-     188,   203,   301,   202,   294,   201,   210,   192,   302,   199,
-     193,   304,   305,   294,   199,   203,   305,   188,   294,   202,
-     194,   195,   196,   197,   198,   306,   307,   308,   203,   307,
-     188,   199,   188,   294
+       0,     1,    10,    16,    17,    18,    24,    25,    31,    32,
+      35,    37,    39,    40,    43,    52,    56,    62,    64,    73,
+      74,    77,    78,    82,    83,    86,    87,    95,   108,   109,
+     110,   115,   124,   129,   131,   133,   134,   143,   144,   145,
+     146,   147,   148,   149,   150,   153,   155,   164,   169,   170,
+     171,   173,   174,   180,   181,   190,   206,   207,   208,   209,
+     210,   222,   223,   224,   225,   229,   234,   242,   251,   256,
+     260,   265,   269,   270,   271,   272,   273,   281,   282,   285,
+     297,   298,   189,    63,    63,   226,     8,    13,    20,    71,
+     105,   106,   122,   127,   154,   177,   178,   179,   261,   262,
+     263,   264,    11,   101,   106,   245,   246,   247,   161,   274,
+     261,    22,    26,    84,   130,   138,   141,   163,   168,   236,
+      68,    70,   161,   211,   212,   213,   161,   161,   161,   161,
+     279,   280,   211,   293,    63,    58,    59,    60,    61,    89,
+      91,    93,    99,   248,   249,   250,   293,   161,   161,   292,
+      63,     7,     8,    27,    66,    96,   162,   167,   286,   287,
+      29,    68,    70,   151,   211,    63,    44,    97,   152,   257,
+     258,   259,   161,   275,   235,   236,   161,     6,    33,    51,
+      54,   128,   156,   157,   158,   159,   164,   266,   267,   268,
+      12,    14,    15,    21,    23,    50,    90,    92,    98,   100,
+     103,   125,   126,   230,   231,   232,   233,   296,   212,    63,
+     201,   289,   290,   291,    63,   288,     0,   208,   189,   211,
+     211,    34,    63,   295,    63,   161,   161,    36,    57,    81,
+     284,   203,    30,    53,    56,   139,   140,   146,   227,   228,
+     262,   246,    63,    34,   237,     3,    45,    46,    47,    48,
+     142,   160,   165,   166,   252,   253,   254,   255,   161,   208,
+     280,   211,   249,    63,   161,   287,   243,    29,    29,   243,
+      88,   243,   258,    63,   200,   236,   267,   295,   161,    41,
+      63,   172,   294,   231,    63,   295,   277,    63,   290,    63,
+     189,   214,     5,    67,    69,   161,   185,   283,   191,   192,
+     299,   300,   301,    63,   161,    31,    39,    42,    80,   111,
+     175,   238,   239,   240,   161,   161,    63,   253,   295,   294,
+      49,    57,    75,    76,    79,    85,   112,   113,   116,   117,
+     119,   120,   121,   123,   182,   244,   243,   243,   212,   161,
+      64,   135,   278,    38,     9,    19,    55,    56,    72,    94,
+     102,   104,   118,   136,   137,   172,   174,   182,   186,   215,
+     216,   217,   218,   219,   220,   221,   149,   300,   302,   303,
+     305,   189,   200,   161,     4,    28,   107,   114,   132,   184,
+     187,   241,   243,    29,   276,   212,    63,    63,    63,   176,
+     161,   200,   189,   204,   303,   203,   295,   202,   211,   193,
+     304,   200,   194,   306,   307,   295,   200,   204,   307,   189,
+     295,   203,   195,   196,   197,   198,   199,   308,   309,   310,
+     204,   309,   189,   200,   189,   295
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   204,   205,   206,   206,   206,   207,   207,   207,   207,
-     207,   207,   207,   207,   207,   207,   207,   207,   207,   207,
-     208,   209,   209,   209,   209,   209,   210,   210,   211,   212,
-     212,   213,   213,   214,   214,   214,   215,   216,   216,   216,
-     216,   216,   216,   216,   216,   217,   217,   218,   218,   218,
-     218,   218,   218,   219,   220,   221,   222,   222,   223,   223,
-     223,   223,   224,   224,   224,   224,   224,   224,   224,   224,
-     224,   225,   225,   226,   226,   227,   227,   227,   227,   227,
-     228,   229,   229,   230,   230,   230,   231,   231,   231,   231,
-     231,   231,   231,   231,   231,   232,   232,   233,   233,   233,
-     234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
-     236,   236,   237,   237,   237,   237,   238,   238,   239,   239,
-     240,   240,   240,   240,   240,   240,   240,   241,   241,   241,
-     241,   241,   241,   241,   241,   242,   242,   243,   243,   243,
-     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
-     243,   243,   244,   244,   245,   246,   246,   246,   247,   247,
-     248,   249,   249,   249,   249,   249,   249,   249,   249,   250,
-     251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
-     254,   254,   254,   255,   256,   256,   257,   258,   258,   258,
-     259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
-     262,   262,   263,   263,   263,   263,   263,   263,   264,   265,
-     265,   266,   267,   267,   267,   267,   267,   267,   267,   267,
-     267,   267,   268,   268,   268,   268,   268,   268,   268,   268,
-     268,   268,   268,   268,   268,   268,   269,   269,   269,   270,
-     270,   271,   271,   272,   272,   272,   273,   273,   273,   274,
-     275,   275,   276,   276,   277,   277,   278,   278,   279,   280,
-     280,   281,   281,   282,   282,   282,   282,   283,   283,   283,
-     284,   285,   285,   286,   286,   286,   286,   286,   286,   286,
-     287,   287,   288,   288,   289,   289,   290,   291,   291,   292,
-     292,   293,   293,   293,   294,   294,   295,   296,   297,   297,
-     298,   299,   299,   300,   300,   301,   302,   303,   304,   304,
-     305,   306,   306,   307,   308,   308,   308,   308,   308
+       0,   205,   206,   207,   207,   207,   208,   208,   208,   208,
+     208,   208,   208,   208,   208,   208,   208,   208,   208,   208,
+     209,   210,   210,   210,   210,   210,   211,   211,   212,   213,
+     213,   214,   214,   215,   215,   215,   216,   217,   217,   217,
+     217,   217,   217,   217,   217,   218,   218,   219,   219,   219,
+     219,   219,   219,   220,   221,   222,   223,   223,   224,   224,
+     224,   224,   225,   225,   225,   225,   225,   225,   225,   225,
+     225,   226,   226,   227,   227,   228,   228,   228,   228,   228,
+     229,   230,   230,   231,   231,   231,   231,   232,   232,   232,
+     232,   232,   232,   232,   232,   232,   233,   233,   234,   234,
+     234,   235,   235,   236,   236,   236,   236,   236,   236,   236,
+     236,   237,   237,   238,   238,   238,   238,   239,   239,   240,
+     240,   241,   241,   241,   241,   241,   241,   241,   242,   242,
+     242,   242,   242,   242,   242,   242,   243,   243,   244,   244,
+     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
+     244,   244,   244,   245,   245,   246,   247,   247,   247,   248,
+     248,   249,   250,   250,   250,   250,   250,   250,   250,   250,
+     251,   252,   252,   253,   253,   253,   253,   253,   254,   254,
+     255,   255,   255,   255,   256,   257,   257,   258,   259,   259,
+     259,   260,   260,   261,   261,   262,   262,   263,   263,   263,
+     263,   263,   263,   264,   264,   264,   264,   264,   264,   265,
+     266,   266,   267,   268,   268,   268,   268,   268,   268,   268,
+     268,   268,   268,   269,   269,   269,   269,   269,   269,   269,
+     269,   269,   269,   269,   269,   269,   269,   270,   270,   270,
+     271,   271,   272,   272,   273,   273,   273,   274,   274,   274,
+     275,   276,   276,   277,   277,   278,   278,   279,   279,   280,
+     281,   281,   282,   282,   283,   283,   283,   283,   284,   284,
+     284,   285,   286,   286,   287,   287,   287,   287,   287,   287,
+     287,   288,   288,   289,   289,   290,   290,   291,   292,   292,
+     293,   293,   294,   294,   294,   295,   295,   296,   297,   298,
+     299,   299,   300,   301,   301,   302,   302,   303,   304,   305,
+     306,   306,   307,   308,   308,   309,   310,   310,   310,   310,
+     310
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1410,29 +1418,30 @@ static const yytype_uint8 yyr2[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
        2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
-       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     2,     2,     2,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
-       5,     3,     4,     4,     3,     0,     2,     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,     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,
+       3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     2,     2,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
+       3,     5,     3,     4,     4,     3,     0,     2,     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,
-       1,     1,     1,     1,     2,     2,     2,     2,     3,     1,
-       2,     2,     2,     2,     3,     2,     1,     1,     1,     1,
-       1,     1,     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,     5,     1,     3,     2,
-       3,     1,     1,     2,     1,     5,     4,     3,     2,     1,
-       6,     3,     2,     3,     1,     1,     1,     1,     1
+       3,     2,     1,     2,     2,     2,     2,     2,     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,
+       1,     2,     2,     2,     2,     3,     2,     1,     1,     1,
+       1,     1,     1,     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
 };
 
 
@@ -2109,7 +2118,7 @@ yyreduce:
   switch (yyn)
     {
         case 5:
-#line 378 "ntp_parser.y" /* yacc.c:1646  */
+#line 380 "ntp_parser.y" /* yacc.c:1646  */
     {
                        /* I will need to incorporate much more fine grained
                         * error messages. The following should suffice for
@@ -2122,85 +2131,85 @@ yyreduce:
                                ip_ctx->errpos.nline,
                                ip_ctx->errpos.ncol);
                }
-#line 2126 "ntp_parser.c" /* yacc.c:1646  */
+#line 2135 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 20:
-#line 414 "ntp_parser.y" /* yacc.c:1646  */
+#line 416 "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 2137 "ntp_parser.c" /* yacc.c:1646  */
+#line 2146 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 27:
-#line 433 "ntp_parser.y" /* yacc.c:1646  */
+#line 435 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
-#line 2143 "ntp_parser.c" /* yacc.c:1646  */
+#line 2152 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 28:
-#line 438 "ntp_parser.y" /* yacc.c:1646  */
+#line 440 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
-#line 2149 "ntp_parser.c" /* yacc.c:1646  */
+#line 2158 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 29:
-#line 443 "ntp_parser.y" /* yacc.c:1646  */
+#line 445 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET; }
-#line 2155 "ntp_parser.c" /* yacc.c:1646  */
+#line 2164 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 30:
-#line 445 "ntp_parser.y" /* yacc.c:1646  */
+#line 447 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = AF_INET6; }
-#line 2161 "ntp_parser.c" /* yacc.c:1646  */
+#line 2170 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 31:
-#line 450 "ntp_parser.y" /* yacc.c:1646  */
+#line 452 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2167 "ntp_parser.c" /* yacc.c:1646  */
+#line 2176 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 32:
-#line 452 "ntp_parser.y" /* yacc.c:1646  */
+#line 454 "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 2176 "ntp_parser.c" /* yacc.c:1646  */
+#line 2185 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 36:
-#line 466 "ntp_parser.y" /* yacc.c:1646  */
+#line 468 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2182 "ntp_parser.c" /* yacc.c:1646  */
+#line 2191 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 45:
-#line 482 "ntp_parser.y" /* yacc.c:1646  */
+#line 484 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2188 "ntp_parser.c" /* yacc.c:1646  */
+#line 2197 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 46:
-#line 484 "ntp_parser.y" /* yacc.c:1646  */
+#line 486 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2194 "ntp_parser.c" /* yacc.c:1646  */
+#line 2203 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 53:
-#line 498 "ntp_parser.y" /* yacc.c:1646  */
+#line 500 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2200 "ntp_parser.c" /* yacc.c:1646  */
+#line 2209 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 55:
-#line 512 "ntp_parser.y" /* yacc.c:1646  */
+#line 514 "ntp_parser.y" /* yacc.c:1646  */
     {
                        unpeer_node *my_node;
 
@@ -2208,85 +2217,85 @@ yyreduce:
                        if (my_node)
                                APPEND_G_FIFO(cfgt.unpeers, my_node);
                }
-#line 2212 "ntp_parser.c" /* yacc.c:1646  */
+#line 2221 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 58:
-#line 533 "ntp_parser.y" /* yacc.c:1646  */
+#line 535 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.broadcastclient = 1; }
-#line 2218 "ntp_parser.c" /* yacc.c:1646  */
+#line 2227 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 59:
-#line 535 "ntp_parser.y" /* yacc.c:1646  */
+#line 537 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
-#line 2224 "ntp_parser.c" /* yacc.c:1646  */
+#line 2233 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 60:
-#line 537 "ntp_parser.y" /* yacc.c:1646  */
+#line 539 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
-#line 2230 "ntp_parser.c" /* yacc.c:1646  */
+#line 2239 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 61:
-#line 539 "ntp_parser.y" /* yacc.c:1646  */
+#line 541 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.mdnstries = (yyvsp[0].Integer); }
-#line 2236 "ntp_parser.c" /* yacc.c:1646  */
+#line 2245 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 62:
-#line 550 "ntp_parser.y" /* yacc.c:1646  */
+#line 552 "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 2247 "ntp_parser.c" /* yacc.c:1646  */
+#line 2256 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 63:
-#line 557 "ntp_parser.y" /* yacc.c:1646  */
+#line 559 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.control_key = (yyvsp[0].Integer); }
-#line 2253 "ntp_parser.c" /* yacc.c:1646  */
+#line 2262 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 64:
-#line 559 "ntp_parser.y" /* yacc.c:1646  */
+#line 561 "ntp_parser.y" /* yacc.c:1646  */
     {
                        cfgt.auth.cryptosw++;
                        CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
                }
-#line 2262 "ntp_parser.c" /* yacc.c:1646  */
+#line 2271 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 65:
-#line 564 "ntp_parser.y" /* yacc.c:1646  */
+#line 566 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.keys = (yyvsp[0].String); }
-#line 2268 "ntp_parser.c" /* yacc.c:1646  */
+#line 2277 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 66:
-#line 566 "ntp_parser.y" /* yacc.c:1646  */
+#line 568 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.keysdir = (yyvsp[0].String); }
-#line 2274 "ntp_parser.c" /* yacc.c:1646  */
+#line 2283 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 67:
-#line 568 "ntp_parser.y" /* yacc.c:1646  */
+#line 570 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.request_key = (yyvsp[0].Integer); }
-#line 2280 "ntp_parser.c" /* yacc.c:1646  */
+#line 2289 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 68:
-#line 570 "ntp_parser.y" /* yacc.c:1646  */
+#line 572 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.revoke = (yyvsp[0].Integer); }
-#line 2286 "ntp_parser.c" /* yacc.c:1646  */
+#line 2295 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 69:
-#line 572 "ntp_parser.y" /* yacc.c:1646  */
+#line 574 "ntp_parser.y" /* yacc.c:1646  */
     {
                        cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo);
 
@@ -2295,38 +2304,38 @@ yyreduce:
                        // else
                        //      LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
                }
-#line 2299 "ntp_parser.c" /* yacc.c:1646  */
+#line 2308 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 70:
-#line 581 "ntp_parser.y" /* yacc.c:1646  */
+#line 583 "ntp_parser.y" /* yacc.c:1646  */
     { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
-#line 2305 "ntp_parser.c" /* yacc.c:1646  */
+#line 2314 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 71:
-#line 586 "ntp_parser.y" /* yacc.c:1646  */
+#line 588 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2311 "ntp_parser.c" /* yacc.c:1646  */
+#line 2320 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 72:
-#line 588 "ntp_parser.y" /* yacc.c:1646  */
+#line 590 "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 2320 "ntp_parser.c" /* yacc.c:1646  */
+#line 2329 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 73:
-#line 596 "ntp_parser.y" /* yacc.c:1646  */
+#line 598 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2326 "ntp_parser.c" /* yacc.c:1646  */
+#line 2335 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 74:
-#line 598 "ntp_parser.y" /* yacc.c:1646  */
+#line 600 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val) = NULL;
                        cfgt.auth.revoke = (yyvsp[0].Integer);
@@ -2335,59 +2344,65 @@ yyreduce:
                                "please use 'revoke %d' instead.",
                                cfgt.auth.revoke, cfgt.auth.revoke);
                }
-#line 2339 "ntp_parser.c" /* yacc.c:1646  */
+#line 2348 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 80:
-#line 623 "ntp_parser.y" /* yacc.c:1646  */
+#line 625 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
-#line 2345 "ntp_parser.c" /* yacc.c:1646  */
+#line 2354 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 81:
-#line 628 "ntp_parser.y" /* yacc.c:1646  */
+#line 630 "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 2354 "ntp_parser.c" /* yacc.c:1646  */
+#line 2363 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 82:
-#line 633 "ntp_parser.y" /* yacc.c:1646  */
+#line 635 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2363 "ntp_parser.c" /* yacc.c:1646  */
+#line 2372 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 83:
-#line 641 "ntp_parser.y" /* yacc.c:1646  */
+#line 643 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2369 "ntp_parser.c" /* yacc.c:1646  */
+#line 2378 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 84:
-#line 643 "ntp_parser.y" /* yacc.c:1646  */
+#line 645 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2375 "ntp_parser.c" /* yacc.c:1646  */
+#line 2384 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 85:
-#line 645 "ntp_parser.y" /* yacc.c:1646  */
+#line 647 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2381 "ntp_parser.c" /* yacc.c:1646  */
+#line 2390 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 97:
-#line 672 "ntp_parser.y" /* yacc.c:1646  */
-    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
-#line 2387 "ntp_parser.c" /* yacc.c:1646  */
+  case 86:
+#line 649 "ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); }
+#line 2396 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 98:
-#line 674 "ntp_parser.y" /* yacc.c:1646  */
+#line 676 "ntp_parser.y" /* yacc.c:1646  */
+    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
+#line 2402 "ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 99:
+#line 678 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                cfgt.stats_dir = (yyvsp[0].String);
@@ -2396,55 +2411,55 @@ yyreduce:
                                yyerror("statsdir remote configuration ignored");
                        }
                }
-#line 2400 "ntp_parser.c" /* yacc.c:1646  */
+#line 2415 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 99:
-#line 683 "ntp_parser.y" /* yacc.c:1646  */
+  case 100:
+#line 687 "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 2411 "ntp_parser.c" /* yacc.c:1646  */
+#line 2426 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 100:
-#line 693 "ntp_parser.y" /* yacc.c:1646  */
+  case 101:
+#line 697 "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 2420 "ntp_parser.c" /* yacc.c:1646  */
+#line 2435 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 101:
-#line 698 "ntp_parser.y" /* yacc.c:1646  */
+  case 102:
+#line 702 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 2429 "ntp_parser.c" /* yacc.c:1646  */
+#line 2444 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 110:
-#line 717 "ntp_parser.y" /* yacc.c:1646  */
+  case 111:
+#line 721 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 2435 "ntp_parser.c" /* yacc.c:1646  */
+#line 2450 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 111:
-#line 719 "ntp_parser.y" /* yacc.c:1646  */
+  case 112:
+#line 723 "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 2444 "ntp_parser.c" /* yacc.c:1646  */
+#line 2459 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 112:
-#line 727 "ntp_parser.y" /* yacc.c:1646  */
+  case 113:
+#line 731 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
@@ -2454,11 +2469,11 @@ yyreduce:
                                yyerror("filegen file remote config ignored");
                        }
                }
-#line 2458 "ntp_parser.c" /* yacc.c:1646  */
+#line 2473 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 113:
-#line 737 "ntp_parser.y" /* yacc.c:1646  */
+  case 114:
+#line 741 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
@@ -2467,11 +2482,11 @@ yyreduce:
                                yyerror("filegen type remote config ignored");
                        }
                }
-#line 2471 "ntp_parser.c" /* yacc.c:1646  */
+#line 2486 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 114:
-#line 746 "ntp_parser.y" /* yacc.c:1646  */
+  case 115:
+#line 750 "ntp_parser.y" /* yacc.c:1646  */
     {
                        const char *err;
 
@@ -2486,33 +2501,33 @@ yyreduce:
                                yyerror(err);
                        }
                }
-#line 2490 "ntp_parser.c" /* yacc.c:1646  */
+#line 2505 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 115:
-#line 761 "ntp_parser.y" /* yacc.c:1646  */
+  case 116:
+#line 765 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2496 "ntp_parser.c" /* yacc.c:1646  */
+#line 2511 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 127:
-#line 791 "ntp_parser.y" /* yacc.c:1646  */
+  case 128:
+#line 795 "ntp_parser.y" /* yacc.c:1646  */
     {
                        CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
                }
-#line 2504 "ntp_parser.c" /* yacc.c:1646  */
+#line 2519 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 128:
-#line 795 "ntp_parser.y" /* yacc.c:1646  */
+  case 129:
+#line 799 "ntp_parser.y" /* yacc.c:1646  */
     {
                        CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
                }
-#line 2512 "ntp_parser.c" /* yacc.c:1646  */
+#line 2527 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 129:
-#line 799 "ntp_parser.y" /* yacc.c:1646  */
+  case 130:
+#line 803 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2520,11 +2535,11 @@ yyreduce:
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2524 "ntp_parser.c" /* yacc.c:1646  */
+#line 2539 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 130:
-#line 807 "ntp_parser.y" /* yacc.c:1646  */
+  case 131:
+#line 811 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2532,11 +2547,11 @@ yyreduce:
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2536 "ntp_parser.c" /* yacc.c:1646  */
+#line 2551 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 131:
-#line 815 "ntp_parser.y" /* yacc.c:1646  */
+  case 132:
+#line 819 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2544,11 +2559,11 @@ yyreduce:
                                                  lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2548 "ntp_parser.c" /* yacc.c:1646  */
+#line 2563 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 132:
-#line 823 "ntp_parser.y" /* yacc.c:1646  */
+  case 133:
+#line 827 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2563,11 +2578,11 @@ yyreduce:
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2567 "ntp_parser.c" /* yacc.c:1646  */
+#line 2582 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 133:
-#line 838 "ntp_parser.y" /* yacc.c:1646  */
+  case 134:
+#line 842 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node *rn;
 
@@ -2582,11 +2597,11 @@ yyreduce:
                                lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2586 "ntp_parser.c" /* yacc.c:1646  */
+#line 2601 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 134:
-#line 853 "ntp_parser.y" /* yacc.c:1646  */
+  case 135:
+#line 857 "ntp_parser.y" /* yacc.c:1646  */
     {
                        restrict_node * rn;
 
@@ -2595,115 +2610,115 @@ yyreduce:
                                NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
                        APPEND_G_FIFO(cfgt.restrict_opts, rn);
                }
-#line 2599 "ntp_parser.c" /* yacc.c:1646  */
+#line 2614 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 135:
-#line 865 "ntp_parser.y" /* yacc.c:1646  */
+  case 136:
+#line 869 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Int_fifo) = NULL; }
-#line 2605 "ntp_parser.c" /* yacc.c:1646  */
+#line 2620 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 136:
-#line 867 "ntp_parser.y" /* yacc.c:1646  */
+  case 137:
+#line 871 "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 2614 "ntp_parser.c" /* yacc.c:1646  */
+#line 2629 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 152:
-#line 893 "ntp_parser.y" /* yacc.c:1646  */
+  case 153:
+#line 897 "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 2623 "ntp_parser.c" /* yacc.c:1646  */
+#line 2638 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 153:
-#line 898 "ntp_parser.y" /* yacc.c:1646  */
+  case 154:
+#line 902 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2632 "ntp_parser.c" /* yacc.c:1646  */
+#line 2647 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 154:
-#line 906 "ntp_parser.y" /* yacc.c:1646  */
+  case 155:
+#line 910 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2638 "ntp_parser.c" /* yacc.c:1646  */
+#line 2653 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 158:
-#line 917 "ntp_parser.y" /* yacc.c:1646  */
+  case 159:
+#line 921 "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 2647 "ntp_parser.c" /* yacc.c:1646  */
+#line 2662 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 159:
-#line 922 "ntp_parser.y" /* yacc.c:1646  */
+  case 160:
+#line 926 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2656 "ntp_parser.c" /* yacc.c:1646  */
+#line 2671 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 160:
-#line 930 "ntp_parser.y" /* yacc.c:1646  */
+  case 161:
+#line 934 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2662 "ntp_parser.c" /* yacc.c:1646  */
+#line 2677 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 169:
-#line 950 "ntp_parser.y" /* yacc.c:1646  */
+  case 170:
+#line 954 "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 2673 "ntp_parser.c" /* yacc.c:1646  */
+#line 2688 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 170:
-#line 960 "ntp_parser.y" /* yacc.c:1646  */
+  case 171:
+#line 964 "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 2682 "ntp_parser.c" /* yacc.c:1646  */
+#line 2697 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 171:
-#line 965 "ntp_parser.y" /* yacc.c:1646  */
+  case 172:
+#line 969 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2691 "ntp_parser.c" /* yacc.c:1646  */
+#line 2706 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 172:
-#line 973 "ntp_parser.y" /* yacc.c:1646  */
+  case 173:
+#line 977 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2697 "ntp_parser.c" /* yacc.c:1646  */
+#line 2712 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 173:
-#line 975 "ntp_parser.y" /* yacc.c:1646  */
+  case 174:
+#line 979 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2703 "ntp_parser.c" /* yacc.c:1646  */
+#line 2718 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 977 "ntp_parser.y" /* yacc.c:1646  */
+  case 175:
+#line 981 "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));
@@ -2712,89 +2727,89 @@ yyreduce:
                                yyerror("fudge factor: stratum value not in [0..16], ignored");
                        }
                }
-#line 2716 "ntp_parser.c" /* yacc.c:1646  */
+#line 2731 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 986 "ntp_parser.y" /* yacc.c:1646  */
+  case 176:
+#line 990 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2722 "ntp_parser.c" /* yacc.c:1646  */
+#line 2737 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 988 "ntp_parser.y" /* yacc.c:1646  */
+  case 177:
+#line 992 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2728 "ntp_parser.c" /* yacc.c:1646  */
+#line 2743 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 183:
-#line 1009 "ntp_parser.y" /* yacc.c:1646  */
+  case 184:
+#line 1013 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
-#line 2734 "ntp_parser.c" /* yacc.c:1646  */
+#line 2749 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 184:
-#line 1014 "ntp_parser.y" /* yacc.c:1646  */
+  case 185:
+#line 1018 "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 2743 "ntp_parser.c" /* yacc.c:1646  */
+#line 2758 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 185:
-#line 1019 "ntp_parser.y" /* yacc.c:1646  */
+  case 186:
+#line 1023 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2752 "ntp_parser.c" /* yacc.c:1646  */
+#line 2767 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 186:
-#line 1027 "ntp_parser.y" /* yacc.c:1646  */
+  case 187:
+#line 1031 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2758 "ntp_parser.c" /* yacc.c:1646  */
+#line 2773 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 190:
-#line 1043 "ntp_parser.y" /* yacc.c:1646  */
+  case 191:
+#line 1047 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 2764 "ntp_parser.c" /* yacc.c:1646  */
+#line 2779 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 191:
-#line 1045 "ntp_parser.y" /* yacc.c:1646  */
+  case 192:
+#line 1049 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 2770 "ntp_parser.c" /* yacc.c:1646  */
+#line 2785 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 192:
-#line 1050 "ntp_parser.y" /* yacc.c:1646  */
+  case 193:
+#line 1054 "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 2779 "ntp_parser.c" /* yacc.c:1646  */
+#line 2794 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 193:
-#line 1055 "ntp_parser.y" /* yacc.c:1646  */
+  case 194:
+#line 1059 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2788 "ntp_parser.c" /* yacc.c:1646  */
+#line 2803 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 194:
-#line 1063 "ntp_parser.y" /* yacc.c:1646  */
+  case 195:
+#line 1067 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2794 "ntp_parser.c" /* yacc.c:1646  */
+#line 2809 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 195:
-#line 1065 "ntp_parser.y" /* yacc.c:1646  */
+  case 196:
+#line 1069 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
@@ -2808,74 +2823,74 @@ yyreduce:
                                yyerror(err_str);
                        }
                }
-#line 2812 "ntp_parser.c" /* yacc.c:1646  */
+#line 2827 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 208:
-#line 1104 "ntp_parser.y" /* yacc.c:1646  */
+  case 209:
+#line 1108 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
-#line 2818 "ntp_parser.c" /* yacc.c:1646  */
+#line 2833 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 209:
-#line 1109 "ntp_parser.y" /* yacc.c:1646  */
+  case 210:
+#line 1113 "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 2827 "ntp_parser.c" /* yacc.c:1646  */
+#line 2842 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 210:
-#line 1114 "ntp_parser.y" /* yacc.c:1646  */
+  case 211:
+#line 1118 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 2836 "ntp_parser.c" /* yacc.c:1646  */
+#line 2851 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 211:
-#line 1122 "ntp_parser.y" /* yacc.c:1646  */
+  case 212:
+#line 1126 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2842 "ntp_parser.c" /* yacc.c:1646  */
+#line 2857 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 224:
-#line 1147 "ntp_parser.y" /* yacc.c:1646  */
+  case 225:
+#line 1151 "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 2853 "ntp_parser.c" /* yacc.c:1646  */
+#line 2868 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 225:
-#line 1154 "ntp_parser.y" /* yacc.c:1646  */
+  case 226:
+#line 1158 "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 2864 "ntp_parser.c" /* yacc.c:1646  */
+#line 2879 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 226:
-#line 1161 "ntp_parser.y" /* yacc.c:1646  */
+  case 227:
+#line 1165 "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 2875 "ntp_parser.c" /* yacc.c:1646  */
+#line 2890 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 227:
-#line 1168 "ntp_parser.y" /* yacc.c:1646  */
+  case 228:
+#line 1172 "ntp_parser.y" /* yacc.c:1646  */
     {
                        char error_text[64];
                        attr_val *av;
@@ -2891,11 +2906,11 @@ yyreduce:
                                yyerror(error_text);
                        }
                }
-#line 2895 "ntp_parser.c" /* yacc.c:1646  */
+#line 2910 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 228:
-#line 1184 "ntp_parser.y" /* yacc.c:1646  */
+  case 229:
+#line 1188 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (!lex_from_file()) {
                                YYFREE((yyvsp[-1].String)); /* avoid leak */
@@ -2914,68 +2929,68 @@ yyreduce:
                        }
                        YYFREE((yyvsp[-1].String)); /* avoid leak */
                }
-#line 2918 "ntp_parser.c" /* yacc.c:1646  */
+#line 2933 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 229:
-#line 1203 "ntp_parser.y" /* yacc.c:1646  */
+  case 230:
+#line 1207 "ntp_parser.y" /* yacc.c:1646  */
     { lex_flush_stack(); }
-#line 2924 "ntp_parser.c" /* yacc.c:1646  */
+#line 2939 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 230:
-#line 1205 "ntp_parser.y" /* yacc.c:1646  */
+  case 231:
+#line 1209 "ntp_parser.y" /* yacc.c:1646  */
     { /* see drift_parm below for actions */ }
-#line 2930 "ntp_parser.c" /* yacc.c:1646  */
+#line 2945 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 231:
-#line 1207 "ntp_parser.y" /* yacc.c:1646  */
+  case 232:
+#line 1211 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
-#line 2936 "ntp_parser.c" /* yacc.c:1646  */
+#line 2951 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 232:
-#line 1209 "ntp_parser.y" /* yacc.c:1646  */
+  case 233:
+#line 1213 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
-#line 2942 "ntp_parser.c" /* yacc.c:1646  */
+#line 2957 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 233:
-#line 1211 "ntp_parser.y" /* yacc.c:1646  */
+  case 234:
+#line 1215 "ntp_parser.y" /* yacc.c:1646  */
     { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
-#line 2948 "ntp_parser.c" /* yacc.c:1646  */
+#line 2963 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 234:
-#line 1213 "ntp_parser.y" /* yacc.c:1646  */
+  case 235:
+#line 1217 "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 2959 "ntp_parser.c" /* yacc.c:1646  */
+#line 2974 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 235:
-#line 1220 "ntp_parser.y" /* yacc.c:1646  */
+  case 236:
+#line 1224 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
-#line 2965 "ntp_parser.c" /* yacc.c:1646  */
+#line 2980 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 240:
-#line 1235 "ntp_parser.y" /* yacc.c:1646  */
+  case 241:
+#line 1239 "ntp_parser.y" /* yacc.c:1646  */
     {
 #ifndef LEAP_SMEAR
                        yyerror("Built without LEAP_SMEAR support.");
 #endif
                }
-#line 2975 "ntp_parser.c" /* yacc.c:1646  */
+#line 2990 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 246:
-#line 1255 "ntp_parser.y" /* yacc.c:1646  */
+  case 247:
+#line 1259 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -2986,11 +3001,11 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 2990 "ntp_parser.c" /* yacc.c:1646  */
+#line 3005 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 247:
-#line 1266 "ntp_parser.y" /* yacc.c:1646  */
+  case 248:
+#line 1270 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3003,11 +3018,11 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3007 "ntp_parser.c" /* yacc.c:1646  */
+#line 3022 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 248:
-#line 1279 "ntp_parser.y" /* yacc.c:1646  */
+  case 249:
+#line 1283 "ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3017,71 +3032,71 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3021 "ntp_parser.c" /* yacc.c:1646  */
+#line 3036 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 249:
-#line 1292 "ntp_parser.y" /* yacc.c:1646  */
+  case 250:
+#line 1296 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
-#line 3027 "ntp_parser.c" /* yacc.c:1646  */
+#line 3042 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 251:
-#line 1298 "ntp_parser.y" /* yacc.c:1646  */
+  case 252:
+#line 1302 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3033 "ntp_parser.c" /* yacc.c:1646  */
+#line 3048 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 252:
-#line 1303 "ntp_parser.y" /* yacc.c:1646  */
+  case 253:
+#line 1307 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 3039 "ntp_parser.c" /* yacc.c:1646  */
+#line 3054 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 253:
-#line 1305 "ntp_parser.y" /* yacc.c:1646  */
+  case 254:
+#line 1309 "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 3048 "ntp_parser.c" /* yacc.c:1646  */
+#line 3063 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 254:
-#line 1313 "ntp_parser.y" /* yacc.c:1646  */
+  case 255:
+#line 1317 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3054 "ntp_parser.c" /* yacc.c:1646  */
+#line 3069 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 255:
-#line 1315 "ntp_parser.y" /* yacc.c:1646  */
+  case 256:
+#line 1319 "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 3063 "ntp_parser.c" /* yacc.c:1646  */
+#line 3078 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 256:
-#line 1323 "ntp_parser.y" /* yacc.c:1646  */
+  case 257:
+#line 1327 "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 3072 "ntp_parser.c" /* yacc.c:1646  */
+#line 3087 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 257:
-#line 1328 "ntp_parser.y" /* yacc.c:1646  */
+  case 258:
+#line 1332 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3081 "ntp_parser.c" /* yacc.c:1646  */
+#line 3096 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 258:
-#line 1336 "ntp_parser.y" /* yacc.c:1646  */
+  case 259:
+#line 1340 "ntp_parser.y" /* yacc.c:1646  */
     {
                        char    prefix;
                        char *  type;
@@ -3103,141 +3118,141 @@ yyreduce:
                        (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
                        YYFREE((yyvsp[0].String));
                }
-#line 3107 "ntp_parser.c" /* yacc.c:1646  */
+#line 3122 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 259:
-#line 1361 "ntp_parser.y" /* yacc.c:1646  */
+  case 260:
+#line 1365 "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 3118 "ntp_parser.c" /* yacc.c:1646  */
+#line 3133 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 260:
-#line 1368 "ntp_parser.y" /* yacc.c:1646  */
+  case 261:
+#line 1372 "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 3129 "ntp_parser.c" /* yacc.c:1646  */
+#line 3144 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 270:
-#line 1396 "ntp_parser.y" /* yacc.c:1646  */
+  case 271:
+#line 1400 "ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
-#line 3135 "ntp_parser.c" /* yacc.c:1646  */
+#line 3150 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 271:
-#line 1401 "ntp_parser.y" /* yacc.c:1646  */
+  case 272:
+#line 1405 "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 3144 "ntp_parser.c" /* yacc.c:1646  */
+#line 3159 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 272:
-#line 1406 "ntp_parser.y" /* yacc.c:1646  */
+  case 273:
+#line 1410 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3153 "ntp_parser.c" /* yacc.c:1646  */
+#line 3168 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 280:
-#line 1430 "ntp_parser.y" /* yacc.c:1646  */
+  case 281:
+#line 1434 "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 3162 "ntp_parser.c" /* yacc.c:1646  */
+#line 3177 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 281:
-#line 1435 "ntp_parser.y" /* yacc.c:1646  */
+  case 282:
+#line 1439 "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 3171 "ntp_parser.c" /* yacc.c:1646  */
+#line 3186 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 282:
-#line 1443 "ntp_parser.y" /* yacc.c:1646  */
+  case 283:
+#line 1447 "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 3180 "ntp_parser.c" /* yacc.c:1646  */
+#line 3195 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 283:
-#line 1448 "ntp_parser.y" /* yacc.c:1646  */
+  case 284:
+#line 1452 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3189 "ntp_parser.c" /* yacc.c:1646  */
+#line 3204 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 284:
-#line 1456 "ntp_parser.y" /* yacc.c:1646  */
+  case 285:
+#line 1460 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
-#line 3195 "ntp_parser.c" /* yacc.c:1646  */
+#line 3210 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 286:
-#line 1462 "ntp_parser.y" /* yacc.c:1646  */
+  case 287:
+#line 1466 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
-#line 3201 "ntp_parser.c" /* yacc.c:1646  */
+#line 3216 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 287:
-#line 1467 "ntp_parser.y" /* yacc.c:1646  */
+  case 288:
+#line 1471 "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 3210 "ntp_parser.c" /* yacc.c:1646  */
+#line 3225 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 288:
-#line 1472 "ntp_parser.y" /* yacc.c:1646  */
+  case 289:
+#line 1476 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.String_fifo) = NULL;
                        APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
-#line 3219 "ntp_parser.c" /* yacc.c:1646  */
+#line 3234 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 289:
-#line 1480 "ntp_parser.y" /* yacc.c:1646  */
+  case 290:
+#line 1484 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3228 "ntp_parser.c" /* yacc.c:1646  */
+#line 3243 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 290:
-#line 1485 "ntp_parser.y" /* yacc.c:1646  */
+  case 291:
+#line 1489 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3237 "ntp_parser.c" /* yacc.c:1646  */
+#line 3252 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 291:
-#line 1493 "ntp_parser.y" /* yacc.c:1646  */
+  case 292:
+#line 1497 "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");
@@ -3246,29 +3261,35 @@ yyreduce:
                                (yyval.Integer) = (yyvsp[0].Integer);
                        }
                }
-#line 3250 "ntp_parser.c" /* yacc.c:1646  */
+#line 3265 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 292:
-#line 1501 "ntp_parser.y" /* yacc.c:1646  */
+  case 293:
+#line 1505 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 1; }
-#line 3256 "ntp_parser.c" /* yacc.c:1646  */
+#line 3271 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 293:
-#line 1502 "ntp_parser.y" /* yacc.c:1646  */
+  case 294:
+#line 1506 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3262 "ntp_parser.c" /* yacc.c:1646  */
+#line 3277 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 294:
-#line 1506 "ntp_parser.y" /* yacc.c:1646  */
+  case 295:
+#line 1510 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (double)(yyvsp[0].Integer); }
-#line 3268 "ntp_parser.c" /* yacc.c:1646  */
+#line 3283 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 296:
-#line 1517 "ntp_parser.y" /* yacc.c:1646  */
+  case 297:
+#line 1516 "ntp_parser.y" /* yacc.c:1646  */
+    { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); }
+#line 3289 "ntp_parser.c" /* yacc.c:1646  */
+    break;
+
+  case 298:
+#line 1524 "ntp_parser.y" /* yacc.c:1646  */
     {
                        sim_node *sn;
 
@@ -3278,125 +3299,125 @@ yyreduce:
                        /* Revert from ; to \n for end-of-command */
                        old_config_style = 1;
                }
-#line 3282 "ntp_parser.c" /* yacc.c:1646  */
+#line 3303 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 297:
-#line 1534 "ntp_parser.y" /* yacc.c:1646  */
+  case 299:
+#line 1541 "ntp_parser.y" /* yacc.c:1646  */
     { old_config_style = 0; }
-#line 3288 "ntp_parser.c" /* yacc.c:1646  */
+#line 3309 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 298:
-#line 1539 "ntp_parser.y" /* yacc.c:1646  */
+  case 300:
+#line 1546 "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 3297 "ntp_parser.c" /* yacc.c:1646  */
+#line 3318 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 299:
-#line 1544 "ntp_parser.y" /* yacc.c:1646  */
+  case 301:
+#line 1551 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3306 "ntp_parser.c" /* yacc.c:1646  */
+#line 3327 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 300:
-#line 1552 "ntp_parser.y" /* yacc.c:1646  */
+  case 302:
+#line 1559 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3312 "ntp_parser.c" /* yacc.c:1646  */
+#line 3333 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 1562 "ntp_parser.y" /* yacc.c:1646  */
+  case 305:
+#line 1569 "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 3321 "ntp_parser.c" /* yacc.c:1646  */
+#line 3342 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 304:
-#line 1567 "ntp_parser.y" /* yacc.c:1646  */
+  case 306:
+#line 1574 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-#line 3330 "ntp_parser.c" /* yacc.c:1646  */
+#line 3351 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 1575 "ntp_parser.y" /* yacc.c:1646  */
+  case 307:
+#line 1582 "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 3336 "ntp_parser.c" /* yacc.c:1646  */
+#line 3357 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 1580 "ntp_parser.y" /* yacc.c:1646  */
+  case 308:
+#line 1587 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (yyvsp[-1].Double); }
-#line 3342 "ntp_parser.c" /* yacc.c:1646  */
+#line 3363 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 1585 "ntp_parser.y" /* yacc.c:1646  */
+  case 309:
+#line 1592 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = (yyvsp[0].Address_node); }
-#line 3348 "ntp_parser.c" /* yacc.c:1646  */
+#line 3369 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 1590 "ntp_parser.y" /* yacc.c:1646  */
+  case 310:
+#line 1597 "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 3357 "ntp_parser.c" /* yacc.c:1646  */
+#line 3378 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 1595 "ntp_parser.y" /* yacc.c:1646  */
+  case 311:
+#line 1602 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_script_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
-#line 3366 "ntp_parser.c" /* yacc.c:1646  */
+#line 3387 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 1603 "ntp_parser.y" /* yacc.c:1646  */
+  case 312:
+#line 1610 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
-#line 3372 "ntp_parser.c" /* yacc.c:1646  */
+#line 3393 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 311:
-#line 1608 "ntp_parser.y" /* yacc.c:1646  */
+  case 313:
+#line 1615 "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 3381 "ntp_parser.c" /* yacc.c:1646  */
+#line 3402 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 312:
-#line 1613 "ntp_parser.y" /* yacc.c:1646  */
+  case 314:
+#line 1620 "ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3390 "ntp_parser.c" /* yacc.c:1646  */
+#line 3411 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
-  case 313:
-#line 1621 "ntp_parser.y" /* yacc.c:1646  */
+  case 315:
+#line 1628 "ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3396 "ntp_parser.c" /* yacc.c:1646  */
+#line 3417 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
 
-#line 3400 "ntp_parser.c" /* yacc.c:1646  */
+#line 3421 "ntp_parser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3624,7 +3645,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 1632 "ntp_parser.y" /* yacc.c:1906  */
+#line 1639 "ntp_parser.y" /* yacc.c:1906  */
 
 
 void
index 10c0cfdaf6f2250ba00cb82b890c2358bde01b2a..2d2dda614a1a79139fc244ede70361689c4620c4 100644 (file)
@@ -54,193 +54,194 @@ extern int yydebug;
     T_Autokey = 264,
     T_Automax = 265,
     T_Average = 266,
-    T_Bclient = 267,
-    T_Bcpollbstep = 268,
-    T_Beacon = 269,
-    T_Broadcast = 270,
-    T_Broadcastclient = 271,
-    T_Broadcastdelay = 272,
-    T_Burst = 273,
-    T_Calibrate = 274,
-    T_Ceiling = 275,
-    T_Clockstats = 276,
-    T_Cohort = 277,
-    T_ControlKey = 278,
-    T_Crypto = 279,
-    T_Cryptostats = 280,
-    T_Ctl = 281,
-    T_Day = 282,
-    T_Default = 283,
-    T_Digest = 284,
-    T_Disable = 285,
-    T_Discard = 286,
-    T_Dispersion = 287,
-    T_Double = 288,
-    T_Driftfile = 289,
-    T_Drop = 290,
-    T_Dscp = 291,
-    T_Ellipsis = 292,
-    T_Enable = 293,
-    T_End = 294,
-    T_False = 295,
-    T_File = 296,
-    T_Filegen = 297,
-    T_Filenum = 298,
-    T_Flag1 = 299,
-    T_Flag2 = 300,
-    T_Flag3 = 301,
-    T_Flag4 = 302,
-    T_Flake = 303,
-    T_Floor = 304,
-    T_Freq = 305,
-    T_Fudge = 306,
-    T_Host = 307,
-    T_Huffpuff = 308,
-    T_Iburst = 309,
-    T_Ident = 310,
-    T_Ignore = 311,
-    T_Incalloc = 312,
-    T_Incmem = 313,
-    T_Initalloc = 314,
-    T_Initmem = 315,
-    T_Includefile = 316,
-    T_Integer = 317,
-    T_Interface = 318,
-    T_Intrange = 319,
-    T_Io = 320,
-    T_Ipv4 = 321,
-    T_Ipv4_flag = 322,
-    T_Ipv6 = 323,
-    T_Ipv6_flag = 324,
-    T_Kernel = 325,
-    T_Key = 326,
-    T_Keys = 327,
-    T_Keysdir = 328,
-    T_Kod = 329,
-    T_Mssntp = 330,
-    T_Leapfile = 331,
-    T_Leapsmearinterval = 332,
-    T_Limited = 333,
-    T_Link = 334,
-    T_Listen = 335,
-    T_Logconfig = 336,
-    T_Logfile = 337,
-    T_Loopstats = 338,
-    T_Lowpriotrap = 339,
-    T_Manycastclient = 340,
-    T_Manycastserver = 341,
-    T_Mask = 342,
-    T_Maxage = 343,
-    T_Maxclock = 344,
-    T_Maxdepth = 345,
-    T_Maxdist = 346,
-    T_Maxmem = 347,
-    T_Maxpoll = 348,
-    T_Mdnstries = 349,
-    T_Mem = 350,
-    T_Memlock = 351,
-    T_Minclock = 352,
-    T_Mindepth = 353,
-    T_Mindist = 354,
-    T_Minimum = 355,
-    T_Minpoll = 356,
-    T_Minsane = 357,
-    T_Mode = 358,
-    T_Mode7 = 359,
-    T_Monitor = 360,
-    T_Month = 361,
-    T_Mru = 362,
-    T_Multicastclient = 363,
-    T_Nic = 364,
-    T_Nolink = 365,
-    T_Nomodify = 366,
-    T_Nomrulist = 367,
-    T_None = 368,
-    T_Nonvolatile = 369,
-    T_Nopeer = 370,
-    T_Noquery = 371,
-    T_Noselect = 372,
-    T_Noserve = 373,
-    T_Notrap = 374,
-    T_Notrust = 375,
-    T_Ntp = 376,
-    T_Ntpport = 377,
-    T_NtpSignDsocket = 378,
-    T_Orphan = 379,
-    T_Orphanwait = 380,
-    T_PCEdigest = 381,
-    T_Panic = 382,
-    T_Peer = 383,
-    T_Peerstats = 384,
-    T_Phone = 385,
-    T_Pid = 386,
-    T_Pidfile = 387,
-    T_Pool = 388,
-    T_Port = 389,
-    T_Preempt = 390,
-    T_Prefer = 391,
-    T_Protostats = 392,
-    T_Pw = 393,
-    T_Randfile = 394,
-    T_Rawstats = 395,
-    T_Refid = 396,
-    T_Requestkey = 397,
-    T_Reset = 398,
-    T_Restrict = 399,
-    T_Revoke = 400,
-    T_Rlimit = 401,
-    T_Saveconfigdir = 402,
-    T_Server = 403,
-    T_Setvar = 404,
-    T_Source = 405,
-    T_Stacksize = 406,
-    T_Statistics = 407,
-    T_Stats = 408,
-    T_Statsdir = 409,
-    T_Step = 410,
-    T_Stepback = 411,
-    T_Stepfwd = 412,
-    T_Stepout = 413,
-    T_Stratum = 414,
-    T_String = 415,
-    T_Sys = 416,
-    T_Sysstats = 417,
-    T_Tick = 418,
-    T_Time1 = 419,
-    T_Time2 = 420,
-    T_Timer = 421,
-    T_Timingstats = 422,
-    T_Tinker = 423,
-    T_Tos = 424,
-    T_Trap = 425,
-    T_True = 426,
-    T_Trustedkey = 427,
-    T_Ttl = 428,
-    T_Type = 429,
-    T_U_int = 430,
-    T_UEcrypto = 431,
-    T_UEcryptonak = 432,
-    T_UEdigest = 433,
-    T_Unconfig = 434,
-    T_Unpeer = 435,
-    T_Version = 436,
-    T_WanderThreshold = 437,
-    T_Week = 438,
-    T_Wildcard = 439,
-    T_Xleave = 440,
-    T_Year = 441,
-    T_Flag = 442,
-    T_EOC = 443,
-    T_Simulate = 444,
-    T_Beep_Delay = 445,
-    T_Sim_Duration = 446,
-    T_Server_Offset = 447,
-    T_Duration = 448,
-    T_Freq_Offset = 449,
-    T_Wander = 450,
-    T_Jitter = 451,
-    T_Prop_Delay = 452,
-    T_Proc_Delay = 453
+    T_Basedate = 267,
+    T_Bclient = 268,
+    T_Bcpollbstep = 269,
+    T_Beacon = 270,
+    T_Broadcast = 271,
+    T_Broadcastclient = 272,
+    T_Broadcastdelay = 273,
+    T_Burst = 274,
+    T_Calibrate = 275,
+    T_Ceiling = 276,
+    T_Clockstats = 277,
+    T_Cohort = 278,
+    T_ControlKey = 279,
+    T_Crypto = 280,
+    T_Cryptostats = 281,
+    T_Ctl = 282,
+    T_Day = 283,
+    T_Default = 284,
+    T_Digest = 285,
+    T_Disable = 286,
+    T_Discard = 287,
+    T_Dispersion = 288,
+    T_Double = 289,
+    T_Driftfile = 290,
+    T_Drop = 291,
+    T_Dscp = 292,
+    T_Ellipsis = 293,
+    T_Enable = 294,
+    T_End = 295,
+    T_False = 296,
+    T_File = 297,
+    T_Filegen = 298,
+    T_Filenum = 299,
+    T_Flag1 = 300,
+    T_Flag2 = 301,
+    T_Flag3 = 302,
+    T_Flag4 = 303,
+    T_Flake = 304,
+    T_Floor = 305,
+    T_Freq = 306,
+    T_Fudge = 307,
+    T_Host = 308,
+    T_Huffpuff = 309,
+    T_Iburst = 310,
+    T_Ident = 311,
+    T_Ignore = 312,
+    T_Incalloc = 313,
+    T_Incmem = 314,
+    T_Initalloc = 315,
+    T_Initmem = 316,
+    T_Includefile = 317,
+    T_Integer = 318,
+    T_Interface = 319,
+    T_Intrange = 320,
+    T_Io = 321,
+    T_Ipv4 = 322,
+    T_Ipv4_flag = 323,
+    T_Ipv6 = 324,
+    T_Ipv6_flag = 325,
+    T_Kernel = 326,
+    T_Key = 327,
+    T_Keys = 328,
+    T_Keysdir = 329,
+    T_Kod = 330,
+    T_Mssntp = 331,
+    T_Leapfile = 332,
+    T_Leapsmearinterval = 333,
+    T_Limited = 334,
+    T_Link = 335,
+    T_Listen = 336,
+    T_Logconfig = 337,
+    T_Logfile = 338,
+    T_Loopstats = 339,
+    T_Lowpriotrap = 340,
+    T_Manycastclient = 341,
+    T_Manycastserver = 342,
+    T_Mask = 343,
+    T_Maxage = 344,
+    T_Maxclock = 345,
+    T_Maxdepth = 346,
+    T_Maxdist = 347,
+    T_Maxmem = 348,
+    T_Maxpoll = 349,
+    T_Mdnstries = 350,
+    T_Mem = 351,
+    T_Memlock = 352,
+    T_Minclock = 353,
+    T_Mindepth = 354,
+    T_Mindist = 355,
+    T_Minimum = 356,
+    T_Minpoll = 357,
+    T_Minsane = 358,
+    T_Mode = 359,
+    T_Mode7 = 360,
+    T_Monitor = 361,
+    T_Month = 362,
+    T_Mru = 363,
+    T_Multicastclient = 364,
+    T_Nic = 365,
+    T_Nolink = 366,
+    T_Nomodify = 367,
+    T_Nomrulist = 368,
+    T_None = 369,
+    T_Nonvolatile = 370,
+    T_Nopeer = 371,
+    T_Noquery = 372,
+    T_Noselect = 373,
+    T_Noserve = 374,
+    T_Notrap = 375,
+    T_Notrust = 376,
+    T_Ntp = 377,
+    T_Ntpport = 378,
+    T_NtpSignDsocket = 379,
+    T_Orphan = 380,
+    T_Orphanwait = 381,
+    T_PCEdigest = 382,
+    T_Panic = 383,
+    T_Peer = 384,
+    T_Peerstats = 385,
+    T_Phone = 386,
+    T_Pid = 387,
+    T_Pidfile = 388,
+    T_Pool = 389,
+    T_Port = 390,
+    T_Preempt = 391,
+    T_Prefer = 392,
+    T_Protostats = 393,
+    T_Pw = 394,
+    T_Randfile = 395,
+    T_Rawstats = 396,
+    T_Refid = 397,
+    T_Requestkey = 398,
+    T_Reset = 399,
+    T_Restrict = 400,
+    T_Revoke = 401,
+    T_Rlimit = 402,
+    T_Saveconfigdir = 403,
+    T_Server = 404,
+    T_Setvar = 405,
+    T_Source = 406,
+    T_Stacksize = 407,
+    T_Statistics = 408,
+    T_Stats = 409,
+    T_Statsdir = 410,
+    T_Step = 411,
+    T_Stepback = 412,
+    T_Stepfwd = 413,
+    T_Stepout = 414,
+    T_Stratum = 415,
+    T_String = 416,
+    T_Sys = 417,
+    T_Sysstats = 418,
+    T_Tick = 419,
+    T_Time1 = 420,
+    T_Time2 = 421,
+    T_Timer = 422,
+    T_Timingstats = 423,
+    T_Tinker = 424,
+    T_Tos = 425,
+    T_Trap = 426,
+    T_True = 427,
+    T_Trustedkey = 428,
+    T_Ttl = 429,
+    T_Type = 430,
+    T_U_int = 431,
+    T_UEcrypto = 432,
+    T_UEcryptonak = 433,
+    T_UEdigest = 434,
+    T_Unconfig = 435,
+    T_Unpeer = 436,
+    T_Version = 437,
+    T_WanderThreshold = 438,
+    T_Week = 439,
+    T_Wildcard = 440,
+    T_Xleave = 441,
+    T_Year = 442,
+    T_Flag = 443,
+    T_EOC = 444,
+    T_Simulate = 445,
+    T_Beep_Delay = 446,
+    T_Sim_Duration = 447,
+    T_Server_Offset = 448,
+    T_Duration = 449,
+    T_Freq_Offset = 450,
+    T_Wander = 451,
+    T_Jitter = 452,
+    T_Prop_Delay = 453,
+    T_Proc_Delay = 454
   };
 #endif
 /* Tokens.  */
@@ -253,193 +254,194 @@ extern int yydebug;
 #define T_Autokey 264
 #define T_Automax 265
 #define T_Average 266
-#define T_Bclient 267
-#define T_Bcpollbstep 268
-#define T_Beacon 269
-#define T_Broadcast 270
-#define T_Broadcastclient 271
-#define T_Broadcastdelay 272
-#define T_Burst 273
-#define T_Calibrate 274
-#define T_Ceiling 275
-#define T_Clockstats 276
-#define T_Cohort 277
-#define T_ControlKey 278
-#define T_Crypto 279
-#define T_Cryptostats 280
-#define T_Ctl 281
-#define T_Day 282
-#define T_Default 283
-#define T_Digest 284
-#define T_Disable 285
-#define T_Discard 286
-#define T_Dispersion 287
-#define T_Double 288
-#define T_Driftfile 289
-#define T_Drop 290
-#define T_Dscp 291
-#define T_Ellipsis 292
-#define T_Enable 293
-#define T_End 294
-#define T_False 295
-#define T_File 296
-#define T_Filegen 297
-#define T_Filenum 298
-#define T_Flag1 299
-#define T_Flag2 300
-#define T_Flag3 301
-#define T_Flag4 302
-#define T_Flake 303
-#define T_Floor 304
-#define T_Freq 305
-#define T_Fudge 306
-#define T_Host 307
-#define T_Huffpuff 308
-#define T_Iburst 309
-#define T_Ident 310
-#define T_Ignore 311
-#define T_Incalloc 312
-#define T_Incmem 313
-#define T_Initalloc 314
-#define T_Initmem 315
-#define T_Includefile 316
-#define T_Integer 317
-#define T_Interface 318
-#define T_Intrange 319
-#define T_Io 320
-#define T_Ipv4 321
-#define T_Ipv4_flag 322
-#define T_Ipv6 323
-#define T_Ipv6_flag 324
-#define T_Kernel 325
-#define T_Key 326
-#define T_Keys 327
-#define T_Keysdir 328
-#define T_Kod 329
-#define T_Mssntp 330
-#define T_Leapfile 331
-#define T_Leapsmearinterval 332
-#define T_Limited 333
-#define T_Link 334
-#define T_Listen 335
-#define T_Logconfig 336
-#define T_Logfile 337
-#define T_Loopstats 338
-#define T_Lowpriotrap 339
-#define T_Manycastclient 340
-#define T_Manycastserver 341
-#define T_Mask 342
-#define T_Maxage 343
-#define T_Maxclock 344
-#define T_Maxdepth 345
-#define T_Maxdist 346
-#define T_Maxmem 347
-#define T_Maxpoll 348
-#define T_Mdnstries 349
-#define T_Mem 350
-#define T_Memlock 351
-#define T_Minclock 352
-#define T_Mindepth 353
-#define T_Mindist 354
-#define T_Minimum 355
-#define T_Minpoll 356
-#define T_Minsane 357
-#define T_Mode 358
-#define T_Mode7 359
-#define T_Monitor 360
-#define T_Month 361
-#define T_Mru 362
-#define T_Multicastclient 363
-#define T_Nic 364
-#define T_Nolink 365
-#define T_Nomodify 366
-#define T_Nomrulist 367
-#define T_None 368
-#define T_Nonvolatile 369
-#define T_Nopeer 370
-#define T_Noquery 371
-#define T_Noselect 372
-#define T_Noserve 373
-#define T_Notrap 374
-#define T_Notrust 375
-#define T_Ntp 376
-#define T_Ntpport 377
-#define T_NtpSignDsocket 378
-#define T_Orphan 379
-#define T_Orphanwait 380
-#define T_PCEdigest 381
-#define T_Panic 382
-#define T_Peer 383
-#define T_Peerstats 384
-#define T_Phone 385
-#define T_Pid 386
-#define T_Pidfile 387
-#define T_Pool 388
-#define T_Port 389
-#define T_Preempt 390
-#define T_Prefer 391
-#define T_Protostats 392
-#define T_Pw 393
-#define T_Randfile 394
-#define T_Rawstats 395
-#define T_Refid 396
-#define T_Requestkey 397
-#define T_Reset 398
-#define T_Restrict 399
-#define T_Revoke 400
-#define T_Rlimit 401
-#define T_Saveconfigdir 402
-#define T_Server 403
-#define T_Setvar 404
-#define T_Source 405
-#define T_Stacksize 406
-#define T_Statistics 407
-#define T_Stats 408
-#define T_Statsdir 409
-#define T_Step 410
-#define T_Stepback 411
-#define T_Stepfwd 412
-#define T_Stepout 413
-#define T_Stratum 414
-#define T_String 415
-#define T_Sys 416
-#define T_Sysstats 417
-#define T_Tick 418
-#define T_Time1 419
-#define T_Time2 420
-#define T_Timer 421
-#define T_Timingstats 422
-#define T_Tinker 423
-#define T_Tos 424
-#define T_Trap 425
-#define T_True 426
-#define T_Trustedkey 427
-#define T_Ttl 428
-#define T_Type 429
-#define T_U_int 430
-#define T_UEcrypto 431
-#define T_UEcryptonak 432
-#define T_UEdigest 433
-#define T_Unconfig 434
-#define T_Unpeer 435
-#define T_Version 436
-#define T_WanderThreshold 437
-#define T_Week 438
-#define T_Wildcard 439
-#define T_Xleave 440
-#define T_Year 441
-#define T_Flag 442
-#define T_EOC 443
-#define T_Simulate 444
-#define T_Beep_Delay 445
-#define T_Sim_Duration 446
-#define T_Server_Offset 447
-#define T_Duration 448
-#define T_Freq_Offset 449
-#define T_Wander 450
-#define T_Jitter 451
-#define T_Prop_Delay 452
-#define T_Proc_Delay 453
+#define T_Basedate 267
+#define T_Bclient 268
+#define T_Bcpollbstep 269
+#define T_Beacon 270
+#define T_Broadcast 271
+#define T_Broadcastclient 272
+#define T_Broadcastdelay 273
+#define T_Burst 274
+#define T_Calibrate 275
+#define T_Ceiling 276
+#define T_Clockstats 277
+#define T_Cohort 278
+#define T_ControlKey 279
+#define T_Crypto 280
+#define T_Cryptostats 281
+#define T_Ctl 282
+#define T_Day 283
+#define T_Default 284
+#define T_Digest 285
+#define T_Disable 286
+#define T_Discard 287
+#define T_Dispersion 288
+#define T_Double 289
+#define T_Driftfile 290
+#define T_Drop 291
+#define T_Dscp 292
+#define T_Ellipsis 293
+#define T_Enable 294
+#define T_End 295
+#define T_False 296
+#define T_File 297
+#define T_Filegen 298
+#define T_Filenum 299
+#define T_Flag1 300
+#define T_Flag2 301
+#define T_Flag3 302
+#define T_Flag4 303
+#define T_Flake 304
+#define T_Floor 305
+#define T_Freq 306
+#define T_Fudge 307
+#define T_Host 308
+#define T_Huffpuff 309
+#define T_Iburst 310
+#define T_Ident 311
+#define T_Ignore 312
+#define T_Incalloc 313
+#define T_Incmem 314
+#define T_Initalloc 315
+#define T_Initmem 316
+#define T_Includefile 317
+#define T_Integer 318
+#define T_Interface 319
+#define T_Intrange 320
+#define T_Io 321
+#define T_Ipv4 322
+#define T_Ipv4_flag 323
+#define T_Ipv6 324
+#define T_Ipv6_flag 325
+#define T_Kernel 326
+#define T_Key 327
+#define T_Keys 328
+#define T_Keysdir 329
+#define T_Kod 330
+#define T_Mssntp 331
+#define T_Leapfile 332
+#define T_Leapsmearinterval 333
+#define T_Limited 334
+#define T_Link 335
+#define T_Listen 336
+#define T_Logconfig 337
+#define T_Logfile 338
+#define T_Loopstats 339
+#define T_Lowpriotrap 340
+#define T_Manycastclient 341
+#define T_Manycastserver 342
+#define T_Mask 343
+#define T_Maxage 344
+#define T_Maxclock 345
+#define T_Maxdepth 346
+#define T_Maxdist 347
+#define T_Maxmem 348
+#define T_Maxpoll 349
+#define T_Mdnstries 350
+#define T_Mem 351
+#define T_Memlock 352
+#define T_Minclock 353
+#define T_Mindepth 354
+#define T_Mindist 355
+#define T_Minimum 356
+#define T_Minpoll 357
+#define T_Minsane 358
+#define T_Mode 359
+#define T_Mode7 360
+#define T_Monitor 361
+#define T_Month 362
+#define T_Mru 363
+#define T_Multicastclient 364
+#define T_Nic 365
+#define T_Nolink 366
+#define T_Nomodify 367
+#define T_Nomrulist 368
+#define T_None 369
+#define T_Nonvolatile 370
+#define T_Nopeer 371
+#define T_Noquery 372
+#define T_Noselect 373
+#define T_Noserve 374
+#define T_Notrap 375
+#define T_Notrust 376
+#define T_Ntp 377
+#define T_Ntpport 378
+#define T_NtpSignDsocket 379
+#define T_Orphan 380
+#define T_Orphanwait 381
+#define T_PCEdigest 382
+#define T_Panic 383
+#define T_Peer 384
+#define T_Peerstats 385
+#define T_Phone 386
+#define T_Pid 387
+#define T_Pidfile 388
+#define T_Pool 389
+#define T_Port 390
+#define T_Preempt 391
+#define T_Prefer 392
+#define T_Protostats 393
+#define T_Pw 394
+#define T_Randfile 395
+#define T_Rawstats 396
+#define T_Refid 397
+#define T_Requestkey 398
+#define T_Reset 399
+#define T_Restrict 400
+#define T_Revoke 401
+#define T_Rlimit 402
+#define T_Saveconfigdir 403
+#define T_Server 404
+#define T_Setvar 405
+#define T_Source 406
+#define T_Stacksize 407
+#define T_Statistics 408
+#define T_Stats 409
+#define T_Statsdir 410
+#define T_Step 411
+#define T_Stepback 412
+#define T_Stepfwd 413
+#define T_Stepout 414
+#define T_Stratum 415
+#define T_String 416
+#define T_Sys 417
+#define T_Sysstats 418
+#define T_Tick 419
+#define T_Time1 420
+#define T_Time2 421
+#define T_Timer 422
+#define T_Timingstats 423
+#define T_Tinker 424
+#define T_Tos 425
+#define T_Trap 426
+#define T_True 427
+#define T_Trustedkey 428
+#define T_Ttl 429
+#define T_Type 430
+#define T_U_int 431
+#define T_UEcrypto 432
+#define T_UEcryptonak 433
+#define T_UEdigest 434
+#define T_Unconfig 435
+#define T_Unpeer 436
+#define T_Version 437
+#define T_WanderThreshold 438
+#define T_Week 439
+#define T_Wildcard 440
+#define T_Xleave 441
+#define T_Year 442
+#define T_Flag 443
+#define T_EOC 444
+#define T_Simulate 445
+#define T_Beep_Delay 446
+#define T_Sim_Duration 447
+#define T_Server_Offset 448
+#define T_Duration 449
+#define T_Freq_Offset 450
+#define T_Wander 451
+#define T_Jitter 452
+#define T_Prop_Delay 453
+#define T_Proc_Delay 454
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -465,7 +467,7 @@ union YYSTYPE
        script_info *           Sim_script;
        script_info_fifo *      Sim_script_fifo;
 
-#line 469 "ntp_parser.h" /* yacc.c:1909  */
+#line 471 "ntp_parser.h" /* yacc.c:1909  */
 };
 
 typedef union YYSTYPE YYSTYPE;
index 0dec2dfd78b66edb9bcde6ca21ba4dde08e8ed27..a66b08f6a1c1413aa65c6393869cd9a425cce13c 100644 (file)
@@ -77,6 +77,7 @@
 %token <Integer>       T_Autokey
 %token <Integer>       T_Automax
 %token <Integer>       T_Average
+%token <Integer>       T_Basedate
 %token <Integer>       T_Bclient
 %token <Integer>       T_Bcpollbstep
 %token <Integer>       T_Beacon
 %type  <Address_node>  address
 %type  <Integer>       address_fam
 %type  <Address_fifo>  address_list
+%type  <Integer>       basedate
 %type  <Integer>       boolean
 %type  <Integer>       client_type
 %type  <Integer>       counter_set_keyword
@@ -643,6 +645,8 @@ tos_option
                        { $$ = create_attr_dval($1, $2); }
        |       T_Cohort boolean
                        { $$ = create_attr_dval($1, (double)$2); }
+       |       basedate
+                       { $$ = create_attr_ival(T_Basedate, $1); }
        ;
 
 tos_option_int_keyword
@@ -1507,6 +1511,9 @@ number
        |       T_Double
        ;
 
+basedate
+       :       T_Basedate T_String
+                       { $$ = basedate_eval_string($2); YYFREE($2); }
 
 /* Simulator Configuration Commands
  * --------------------------------