]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3609] Regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Fri, 15 Nov 2024 10:18:54 +0000 (10:18 +0000)
committerFrancis Dupont <fdupont@isc.org>
Fri, 22 Nov 2024 08:55:31 +0000 (09:55 +0100)
src/bin/agent/agent_parser.cc
src/bin/agent/agent_parser.h
src/bin/agent/location.hh
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/location.hh
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/location.hh

index 964208fd3139f4858aecdb84bc28c0da528be141..23b62c72d9e3fb9d3041f64d461a4f522df7c814 100644 (file)
@@ -1141,92 +1141,92 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HTTP_HEADERS);
 }
-#line 1144 "agent_parser.cc"
+#line 1145 "agent_parser.cc"
     break;
 
   case 72: // http_headers: "http-headers" $@15 ":" "[" http_header_list "]"
-#line 416 "agent_parser.yy"
+#line 417 "agent_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1153 "agent_parser.cc"
+#line 1154 "agent_parser.cc"
     break;
 
   case 77: // not_empty_http_header_list: not_empty_http_header_list ","
-#line 427 "agent_parser.yy"
+#line 428 "agent_parser.yy"
                                                              {
                               ctx.warnAboutExtraCommas(yystack_[0].location);
                               }
-#line 1161 "agent_parser.cc"
+#line 1162 "agent_parser.cc"
     break;
 
   case 78: // $@16: %empty
-#line 432 "agent_parser.yy"
+#line 433 "agent_parser.yy"
                             {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1171 "agent_parser.cc"
+#line 1172 "agent_parser.cc"
     break;
 
   case 79: // http_header: "{" $@16 http_header_params "}"
-#line 436 "agent_parser.yy"
+#line 437 "agent_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 1179 "agent_parser.cc"
+#line 1180 "agent_parser.cc"
     break;
 
   case 82: // http_header_params: http_header_params ","
-#line 442 "agent_parser.yy"
+#line 443 "agent_parser.yy"
                                              {
                       ctx.warnAboutExtraCommas(yystack_[0].location);
                       }
-#line 1187 "agent_parser.cc"
+#line 1188 "agent_parser.cc"
     break;
 
   case 88: // $@17: %empty
-#line 454 "agent_parser.yy"
+#line 455 "agent_parser.yy"
            {
     ctx.unique("name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1196 "agent_parser.cc"
+#line 1197 "agent_parser.cc"
     break;
 
   case 89: // name: "name" $@17 ":" "constant string"
-#line 457 "agent_parser.yy"
+#line 458 "agent_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
-#line 1206 "agent_parser.cc"
+#line 1207 "agent_parser.cc"
     break;
 
   case 90: // $@18: %empty
-#line 463 "agent_parser.yy"
-             {
+#line 464 "agent_parser.yy"
+                    {
     ctx.unique("value", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1215 "agent_parser.cc"
+#line 1216 "agent_parser.cc"
     break;
 
-  case 91: // value: "value" $@18 ":" "constant string"
-#line 466 "agent_parser.yy"
+  case 91: // header_value: "value" $@18 ":" "constant string"
+#line 467 "agent_parser.yy"
                {
     ElementPtr value(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("value", value);
     ctx.leave();
 }
-#line 1225 "agent_parser.cc"
+#line 1226 "agent_parser.cc"
     break;
 
   case 92: // $@19: %empty
-#line 473 "agent_parser.yy"
+#line 474 "agent_parser.yy"
                                  {
     ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1234,91 +1234,91 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HOOKS_LIBRARIES);
 }
-#line 1237 "agent_parser.cc"
+#line 1238 "agent_parser.cc"
     break;
 
   case 93: // hooks_libraries: "hooks-libraries" $@19 ":" "[" hooks_libraries_list "]"
-#line 479 "agent_parser.yy"
+#line 480 "agent_parser.yy"
                                                              {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1246 "agent_parser.cc"
+#line 1247 "agent_parser.cc"
     break;
 
   case 98: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
-#line 490 "agent_parser.yy"
+#line 491 "agent_parser.yy"
                                            {
         ctx.warnAboutExtraCommas(yystack_[0].location);
         }
-#line 1254 "agent_parser.cc"
+#line 1255 "agent_parser.cc"
     break;
 
   case 99: // $@20: %empty
-#line 495 "agent_parser.yy"
+#line 496 "agent_parser.yy"
                               {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1264 "agent_parser.cc"
+#line 1265 "agent_parser.cc"
     break;
 
   case 100: // hooks_library: "{" $@20 hooks_params "}"
-#line 499 "agent_parser.yy"
+#line 500 "agent_parser.yy"
                               {
     ctx.stack_.pop_back();
 }
-#line 1272 "agent_parser.cc"
+#line 1273 "agent_parser.cc"
     break;
 
   case 103: // hooks_params: hooks_params ","
-#line 505 "agent_parser.yy"
+#line 506 "agent_parser.yy"
                                  {
                 ctx.warnAboutExtraCommas(yystack_[0].location);
                 }
-#line 1280 "agent_parser.cc"
+#line 1281 "agent_parser.cc"
     break;
 
   case 107: // $@21: %empty
-#line 515 "agent_parser.yy"
+#line 516 "agent_parser.yy"
                  {
     ctx.unique("library", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1289 "agent_parser.cc"
+#line 1290 "agent_parser.cc"
     break;
 
   case 108: // library: "library" $@21 ":" "constant string"
-#line 518 "agent_parser.yy"
+#line 519 "agent_parser.yy"
                {
     ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
     ctx.leave();
 }
-#line 1299 "agent_parser.cc"
+#line 1300 "agent_parser.cc"
     break;
 
   case 109: // $@22: %empty
-#line 524 "agent_parser.yy"
+#line 525 "agent_parser.yy"
                        {
     ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1308 "agent_parser.cc"
+#line 1309 "agent_parser.cc"
     break;
 
   case 110: // parameters: "parameters" $@22 ":" map_value
-#line 527 "agent_parser.yy"
+#line 528 "agent_parser.yy"
                   {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 1317 "agent_parser.cc"
+#line 1318 "agent_parser.cc"
     break;
 
   case 111: // $@23: %empty
-#line 535 "agent_parser.yy"
+#line 536 "agent_parser.yy"
                                                       {
     ctx.unique("control-sockets", ctx.loc2pos(yystack_[2].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location)));
@@ -1326,28 +1326,28 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKETS);
 }
-#line 1329 "agent_parser.cc"
+#line 1330 "agent_parser.cc"
     break;
 
   case 112: // control_sockets: "control-sockets" ":" "{" $@23 control_sockets_params "}"
-#line 541 "agent_parser.yy"
+#line 542 "agent_parser.yy"
                                         {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1338 "agent_parser.cc"
+#line 1339 "agent_parser.cc"
     break;
 
   case 115: // control_sockets_params: control_sockets_params ","
-#line 551 "agent_parser.yy"
+#line 552 "agent_parser.yy"
                                                      {
                           ctx.warnAboutExtraCommas(yystack_[0].location);
                           }
-#line 1346 "agent_parser.cc"
+#line 1347 "agent_parser.cc"
     break;
 
   case 120: // $@24: %empty
-#line 565 "agent_parser.yy"
+#line 566 "agent_parser.yy"
                                   {
     ctx.unique("dhcp4", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1355,20 +1355,20 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1358 "agent_parser.cc"
+#line 1359 "agent_parser.cc"
     break;
 
   case 121: // dhcp4_server_socket: "dhcp4" $@24 ":" "{" control_socket_params "}"
-#line 571 "agent_parser.yy"
+#line 572 "agent_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1367 "agent_parser.cc"
+#line 1368 "agent_parser.cc"
     break;
 
   case 122: // $@25: %empty
-#line 577 "agent_parser.yy"
+#line 578 "agent_parser.yy"
                                   {
     ctx.unique("dhcp6", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1376,20 +1376,20 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1379 "agent_parser.cc"
+#line 1380 "agent_parser.cc"
     break;
 
   case 123: // dhcp6_server_socket: "dhcp6" $@25 ":" "{" control_socket_params "}"
-#line 583 "agent_parser.yy"
+#line 584 "agent_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1388 "agent_parser.cc"
+#line 1389 "agent_parser.cc"
     break;
 
   case 124: // $@26: %empty
-#line 589 "agent_parser.yy"
+#line 590 "agent_parser.yy"
                             {
     ctx.unique("d2", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1397,71 +1397,71 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1400 "agent_parser.cc"
+#line 1401 "agent_parser.cc"
     break;
 
   case 125: // d2_server_socket: "d2" $@26 ":" "{" control_socket_params "}"
-#line 595 "agent_parser.yy"
+#line 596 "agent_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1409 "agent_parser.cc"
+#line 1410 "agent_parser.cc"
     break;
 
   case 128: // control_socket_params: control_socket_params ","
-#line 603 "agent_parser.yy"
+#line 604 "agent_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 1417 "agent_parser.cc"
+#line 1418 "agent_parser.cc"
     break;
 
   case 134: // $@27: %empty
-#line 617 "agent_parser.yy"
+#line 618 "agent_parser.yy"
                          {
     ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1426 "agent_parser.cc"
+#line 1427 "agent_parser.cc"
     break;
 
   case 135: // socket_name: "socket-name" $@27 ":" "constant string"
-#line 620 "agent_parser.yy"
+#line 621 "agent_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
-#line 1436 "agent_parser.cc"
+#line 1437 "agent_parser.cc"
     break;
 
   case 136: // $@28: %empty
-#line 627 "agent_parser.yy"
+#line 628 "agent_parser.yy"
                          {
     ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.SOCKET_TYPE);
 }
-#line 1445 "agent_parser.cc"
+#line 1446 "agent_parser.cc"
     break;
 
   case 137: // socket_type: "socket-type" $@28 ":" socket_type_value
-#line 630 "agent_parser.yy"
+#line 631 "agent_parser.yy"
                           {
     ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 1454 "agent_parser.cc"
+#line 1455 "agent_parser.cc"
     break;
 
   case 138: // socket_type_value: "unix"
-#line 636 "agent_parser.yy"
+#line 637 "agent_parser.yy"
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); }
-#line 1460 "agent_parser.cc"
+#line 1461 "agent_parser.cc"
     break;
 
   case 139: // $@29: %empty
-#line 643 "agent_parser.yy"
+#line 644 "agent_parser.yy"
                                {
     ctx.unique("authentication", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1469,92 +1469,92 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.AUTHENTICATION);
 }
-#line 1472 "agent_parser.cc"
+#line 1473 "agent_parser.cc"
     break;
 
   case 140: // authentication: "authentication" $@29 ":" "{" auth_params "}"
-#line 649 "agent_parser.yy"
+#line 650 "agent_parser.yy"
                                                   {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1483 "agent_parser.cc"
+#line 1484 "agent_parser.cc"
     break;
 
   case 143: // auth_params: auth_params ","
-#line 658 "agent_parser.yy"
+#line 659 "agent_parser.yy"
                                {
                ctx.warnAboutExtraCommas(yystack_[0].location);
                }
-#line 1491 "agent_parser.cc"
+#line 1492 "agent_parser.cc"
     break;
 
   case 151: // $@30: %empty
-#line 672 "agent_parser.yy"
+#line 673 "agent_parser.yy"
                 {
     ctx.unique("type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.AUTH_TYPE);
 }
-#line 1500 "agent_parser.cc"
+#line 1501 "agent_parser.cc"
     break;
 
   case 152: // auth_type: "type" $@30 ":" auth_type_value
-#line 675 "agent_parser.yy"
+#line 676 "agent_parser.yy"
                         {
     ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 1509 "agent_parser.cc"
+#line 1510 "agent_parser.cc"
     break;
 
   case 153: // auth_type_value: "basic"
-#line 680 "agent_parser.yy"
+#line 681 "agent_parser.yy"
                        { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("basic", ctx.loc2pos(yystack_[0].location))); }
-#line 1515 "agent_parser.cc"
+#line 1516 "agent_parser.cc"
     break;
 
   case 154: // $@31: %empty
-#line 683 "agent_parser.yy"
+#line 684 "agent_parser.yy"
              {
     ctx.unique("realm", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1524 "agent_parser.cc"
+#line 1525 "agent_parser.cc"
     break;
 
   case 155: // realm: "realm" $@31 ":" "constant string"
-#line 686 "agent_parser.yy"
+#line 687 "agent_parser.yy"
                {
     ElementPtr realm(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("realm", realm);
     ctx.leave();
 }
-#line 1534 "agent_parser.cc"
+#line 1535 "agent_parser.cc"
     break;
 
   case 156: // $@32: %empty
-#line 692 "agent_parser.yy"
+#line 693 "agent_parser.yy"
                      {
     ctx.unique("directory", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1543 "agent_parser.cc"
+#line 1544 "agent_parser.cc"
     break;
 
   case 157: // directory: "directory" $@32 ":" "constant string"
-#line 695 "agent_parser.yy"
+#line 696 "agent_parser.yy"
                {
     ElementPtr directory(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("directory", directory);
     ctx.leave();
 }
-#line 1553 "agent_parser.cc"
+#line 1554 "agent_parser.cc"
     break;
 
   case 158: // $@33: %empty
-#line 701 "agent_parser.yy"
+#line 702 "agent_parser.yy"
                  {
     ctx.unique("clients", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1562,130 +1562,130 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CLIENTS);
 }
-#line 1565 "agent_parser.cc"
+#line 1566 "agent_parser.cc"
     break;
 
   case 159: // clients: "clients" $@33 ":" "[" clients_list "]"
-#line 707 "agent_parser.yy"
+#line 708 "agent_parser.yy"
                                                      {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1574 "agent_parser.cc"
+#line 1575 "agent_parser.cc"
     break;
 
   case 164: // not_empty_clients_list: not_empty_clients_list ","
-#line 718 "agent_parser.yy"
+#line 719 "agent_parser.yy"
                                                      {
                           ctx.warnAboutExtraCommas(yystack_[0].location);
                           }
-#line 1582 "agent_parser.cc"
+#line 1583 "agent_parser.cc"
     break;
 
   case 165: // $@34: %empty
-#line 723 "agent_parser.yy"
+#line 724 "agent_parser.yy"
                            {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1592 "agent_parser.cc"
+#line 1593 "agent_parser.cc"
     break;
 
   case 166: // basic_auth: "{" $@34 clients_params "}"
-#line 727 "agent_parser.yy"
+#line 728 "agent_parser.yy"
                                 {
     ctx.stack_.pop_back();
 }
-#line 1600 "agent_parser.cc"
+#line 1601 "agent_parser.cc"
     break;
 
   case 169: // clients_params: clients_params ","
-#line 733 "agent_parser.yy"
+#line 734 "agent_parser.yy"
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
-#line 1608 "agent_parser.cc"
+#line 1609 "agent_parser.cc"
     break;
 
   case 177: // $@35: %empty
-#line 747 "agent_parser.yy"
+#line 748 "agent_parser.yy"
            {
     ctx.unique("user", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1617 "agent_parser.cc"
+#line 1618 "agent_parser.cc"
     break;
 
   case 178: // user: "user" $@35 ":" "constant string"
-#line 750 "agent_parser.yy"
+#line 751 "agent_parser.yy"
                {
     ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user", user);
     ctx.leave();
 }
-#line 1627 "agent_parser.cc"
+#line 1628 "agent_parser.cc"
     break;
 
   case 179: // $@36: %empty
-#line 756 "agent_parser.yy"
+#line 757 "agent_parser.yy"
                      {
     ctx.unique("user-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1636 "agent_parser.cc"
+#line 1637 "agent_parser.cc"
     break;
 
   case 180: // user_file: "user-file" $@36 ":" "constant string"
-#line 759 "agent_parser.yy"
+#line 760 "agent_parser.yy"
                {
     ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user-file", user);
     ctx.leave();
 }
-#line 1646 "agent_parser.cc"
+#line 1647 "agent_parser.cc"
     break;
 
   case 181: // $@37: %empty
-#line 765 "agent_parser.yy"
+#line 766 "agent_parser.yy"
                    {
     ctx.unique("password", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1655 "agent_parser.cc"
+#line 1656 "agent_parser.cc"
     break;
 
   case 182: // password: "password" $@37 ":" "constant string"
-#line 768 "agent_parser.yy"
+#line 769 "agent_parser.yy"
                {
     ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password", password);
     ctx.leave();
 }
-#line 1665 "agent_parser.cc"
+#line 1666 "agent_parser.cc"
     break;
 
   case 183: // $@38: %empty
-#line 774 "agent_parser.yy"
+#line 775 "agent_parser.yy"
                              {
     ctx.unique("password-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1674 "agent_parser.cc"
+#line 1675 "agent_parser.cc"
     break;
 
   case 184: // password_file: "password-file" $@38 ":" "constant string"
-#line 777 "agent_parser.yy"
+#line 778 "agent_parser.yy"
                {
     ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password-file", password);
     ctx.leave();
 }
-#line 1684 "agent_parser.cc"
+#line 1685 "agent_parser.cc"
     break;
 
   case 185: // $@39: %empty
-#line 787 "agent_parser.yy"
+#line 788 "agent_parser.yy"
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1693,83 +1693,83 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 1696 "agent_parser.cc"
+#line 1697 "agent_parser.cc"
     break;
 
   case 186: // loggers: "loggers" $@39 ":" "[" loggers_entries "]"
-#line 793 "agent_parser.yy"
+#line 794 "agent_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1705 "agent_parser.cc"
+#line 1706 "agent_parser.cc"
     break;
 
   case 189: // loggers_entries: loggers_entries ","
-#line 802 "agent_parser.yy"
+#line 803 "agent_parser.yy"
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
-#line 1713 "agent_parser.cc"
+#line 1714 "agent_parser.cc"
     break;
 
   case 190: // $@40: %empty
-#line 808 "agent_parser.yy"
+#line 809 "agent_parser.yy"
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 1723 "agent_parser.cc"
+#line 1724 "agent_parser.cc"
     break;
 
   case 191: // logger_entry: "{" $@40 logger_params "}"
-#line 812 "agent_parser.yy"
+#line 813 "agent_parser.yy"
                                {
     ctx.stack_.pop_back();
 }
-#line 1731 "agent_parser.cc"
+#line 1732 "agent_parser.cc"
     break;
 
   case 194: // logger_params: logger_params ","
-#line 818 "agent_parser.yy"
+#line 819 "agent_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1739 "agent_parser.cc"
+#line 1740 "agent_parser.cc"
     break;
 
   case 202: // debuglevel: "debuglevel" ":" "integer"
-#line 832 "agent_parser.yy"
+#line 833 "agent_parser.yy"
                                      {
     ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
     ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 1749 "agent_parser.cc"
+#line 1750 "agent_parser.cc"
     break;
 
   case 203: // $@41: %empty
-#line 838 "agent_parser.yy"
+#line 839 "agent_parser.yy"
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1758 "agent_parser.cc"
+#line 1759 "agent_parser.cc"
     break;
 
   case 204: // severity: "severity" $@41 ":" "constant string"
-#line 841 "agent_parser.yy"
+#line 842 "agent_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 1768 "agent_parser.cc"
+#line 1769 "agent_parser.cc"
     break;
 
   case 205: // $@42: %empty
-#line 847 "agent_parser.yy"
+#line 848 "agent_parser.yy"
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1777,122 +1777,122 @@ namespace isc { namespace agent {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 1780 "agent_parser.cc"
+#line 1781 "agent_parser.cc"
     break;
 
   case 206: // output_options_list: "output-options" $@42 ":" "[" output_options_list_content "]"
-#line 853 "agent_parser.yy"
+#line 854 "agent_parser.yy"
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1789 "agent_parser.cc"
+#line 1790 "agent_parser.cc"
     break;
 
   case 209: // output_options_list_content: output_options_list_content ","
-#line 860 "agent_parser.yy"
+#line 861 "agent_parser.yy"
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
-#line 1797 "agent_parser.cc"
+#line 1798 "agent_parser.cc"
     break;
 
   case 210: // $@43: %empty
-#line 865 "agent_parser.yy"
+#line 866 "agent_parser.yy"
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1807 "agent_parser.cc"
+#line 1808 "agent_parser.cc"
     break;
 
   case 211: // output_entry: "{" $@43 output_params_list "}"
-#line 869 "agent_parser.yy"
+#line 870 "agent_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 1815 "agent_parser.cc"
+#line 1816 "agent_parser.cc"
     break;
 
   case 214: // output_params_list: output_params_list ","
-#line 875 "agent_parser.yy"
+#line 876 "agent_parser.yy"
                                         {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1823 "agent_parser.cc"
+#line 1824 "agent_parser.cc"
     break;
 
   case 220: // $@44: %empty
-#line 887 "agent_parser.yy"
+#line 888 "agent_parser.yy"
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1832 "agent_parser.cc"
+#line 1833 "agent_parser.cc"
     break;
 
   case 221: // output: "output" $@44 ":" "constant string"
-#line 890 "agent_parser.yy"
+#line 891 "agent_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 1842 "agent_parser.cc"
+#line 1843 "agent_parser.cc"
     break;
 
   case 222: // flush: "flush" ":" "boolean"
-#line 896 "agent_parser.yy"
+#line 897 "agent_parser.yy"
                            {
     ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
     ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 1852 "agent_parser.cc"
+#line 1853 "agent_parser.cc"
     break;
 
   case 223: // maxsize: "maxsize" ":" "integer"
-#line 902 "agent_parser.yy"
+#line 903 "agent_parser.yy"
                                {
     ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 1862 "agent_parser.cc"
+#line 1863 "agent_parser.cc"
     break;
 
   case 224: // maxver: "maxver" ":" "integer"
-#line 908 "agent_parser.yy"
+#line 909 "agent_parser.yy"
                              {
     ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 1872 "agent_parser.cc"
+#line 1873 "agent_parser.cc"
     break;
 
   case 225: // $@45: %empty
-#line 914 "agent_parser.yy"
+#line 915 "agent_parser.yy"
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1881 "agent_parser.cc"
+#line 1882 "agent_parser.cc"
     break;
 
   case 226: // pattern: "pattern" $@45 ":" "constant string"
-#line 917 "agent_parser.yy"
+#line 918 "agent_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
-#line 1891 "agent_parser.cc"
+#line 1892 "agent_parser.cc"
     break;
 
 
-#line 1895 "agent_parser.cc"
+#line 1896 "agent_parser.cc"
 
             default:
               break;
@@ -2244,234 +2244,232 @@ namespace isc { namespace agent {
   }
 
 
-  const short AgentParser::yypact_ninf_ = -175;
+  const short AgentParser::yypact_ninf_ = -205;
 
   const signed char AgentParser::yytable_ninf_ = -1;
 
   const short
   AgentParser::yypact_[] =
   {
-     -33,  -175,  -175,  -175,    40,    18,    27,    44,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,    18,     6,    49,    59,    85,
-    -175,    71,    87,    84,   114,   128,    95,  -175,     5,  -175,
-    -175,   134,  -175,  -175,  -175,  -175,  -175,  -175,  -175,   146,
-     150,  -175,  -175,   151,  -175,    35,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
-    -175,    18,    18,  -175,   104,  -175,   152,  -175,  -175,   153,
-     105,   155,   157,   159,   160,   161,   162,   163,   111,   164,
-     165,   166,  -175,    85,  -175,  -175,  -175,   168,   167,   119,
-    -175,   170,   169,   123,   171,   126,   127,   130,  -175,  -175,
-     174,   177,  -175,    18,    85,  -175,   176,  -175,  -175,  -175,
-       7,  -175,  -175,  -175,    -2,   178,   179,  -175,    60,  -175,
-     181,   185,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
-      86,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
-     101,  -175,  -175,  -175,  -175,  -175,   183,   187,  -175,  -175,
-      56,  -175,  -175,     0,  -175,   176,   188,   189,   190,   194,
-       7,  -175,   195,   196,   197,    -2,  -175,     4,  -175,   178,
-      -4,   179,  -175,  -175,   151,  -175,  -175,  -175,  -175,   102,
-    -175,  -175,  -175,   182,   149,   154,   186,  -175,   198,   199,
-     200,  -175,  -175,  -175,  -175,   103,  -175,  -175,  -175,  -175,
-    -175,   205,  -175,  -175,  -175,  -175,  -175,   115,  -175,  -175,
-    -175,  -175,  -175,   206,     0,  -175,  -175,  -175,  -175,  -175,
-     204,    65,    65,    65,   211,   212,    67,  -175,   213,   172,
-     214,    -4,  -175,   175,  -175,  -175,   215,   201,  -175,  -175,
-    -175,  -175,  -175,  -175,   117,  -175,  -175,  -175,   118,   125,
-     180,   169,  -175,   217,  -175,   184,  -175,  -175,    22,  -175,
-     204,   216,   219,    65,  -175,  -175,  -175,  -175,  -175,   218,
-    -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,   129,  -175,
-    -175,  -175,  -175,  -175,  -175,   191,   192,  -175,  -175,   141,
-    -175,   220,   222,   224,   227,    22,  -175,  -175,  -175,  -175,
-      34,   218,  -175,   193,   202,   203,   207,  -175,  -175,   228,
-     229,   231,  -175,   137,  -175,  -175,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,   232,   208,   209,   225,   233,
-      34,  -175,   221,  -175,  -175,  -175,   230,  -175,  -175,  -175
+      76,  -205,  -205,  -205,     5,     1,     2,    20,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,     1,   -20,    25,     0,  -205,    34,
+      35,    63,    41,    85,  -205,    79,  -205,  -205,    90,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,    93,   131,  -205,  -205,
+     132,  -205,   102,  -205,  -205,  -205,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,     1,     1,
+    -205,    84,   139,  -205,  -205,   141,    53,   143,   144,   148,
+     149,   150,   151,   152,   100,   153,   154,   155,  -205,     0,
+    -205,  -205,  -205,   157,   156,   108,  -205,   160,   159,   117,
+     161,   118,   119,   120,  -205,  -205,   162,   164,  -205,     1,
+       0,  -205,   163,  -205,  -205,  -205,    22,  -205,  -205,  -205,
+      46,   168,   169,  -205,   103,  -205,   171,   175,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,   104,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,   106,  -205,  -205,  -205,
+    -205,  -205,   173,   177,  -205,  -205,    47,  -205,  -205,     7,
+    -205,   163,   178,   179,   180,   181,    22,  -205,   182,   183,
+     184,    46,  -205,   -21,  -205,   168,    32,   169,  -205,  -205,
+    -205,  -205,  -205,  -205,   112,  -205,  -205,  -205,  -205,   170,
+     127,   135,   186,  -205,   185,   190,   191,  -205,  -205,  -205,
+    -205,   113,  -205,  -205,  -205,  -205,  -205,   189,  -205,  -205,
+    -205,  -205,  -205,   114,  -205,  -205,  -205,  -205,  -205,   195,
+     196,     7,  -205,  -205,  -205,  -205,  -205,   194,    59,    59,
+      59,   198,   199,   -24,  -205,   200,   165,   201,    32,  -205,
+     167,   172,  -205,  -205,   202,   203,  -205,  -205,  -205,  -205,
+    -205,  -205,   115,  -205,  -205,  -205,   116,   122,   174,   159,
+    -205,   204,  -205,   176,  -205,  -205,  -205,    45,  -205,   194,
+     206,   210,    59,  -205,  -205,  -205,  -205,  -205,   208,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,   123,  -205,  -205,
+    -205,  -205,  -205,  -205,   192,   187,  -205,  -205,    62,  -205,
+     212,   213,   214,   215,    45,  -205,  -205,  -205,  -205,    54,
+     208,  -205,   193,   197,   205,   207,  -205,  -205,   218,   219,
+     220,  -205,   134,  -205,  -205,  -205,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,   223,   188,   209,   211,   225,    54,
+    -205,   216,  -205,  -205,  -205,   217,  -205,  -205,  -205
   };
 
   const unsigned char
   AgentParser::yydefact_[] =
   {
        0,     2,     4,     6,     0,     0,     0,     0,     1,    26,
-      18,    15,    90,    14,    11,    12,    13,     3,    10,    16,
-      17,    34,     5,     8,     7,    28,    21,     0,     0,     0,
-      30,     0,    29,     0,     0,    22,     0,    36,     0,    38,
-      57,     0,    71,    67,    69,   139,    60,    62,    64,     0,
-       0,    92,   185,     0,    56,     0,    40,    43,    44,    46,
-      47,    48,    49,    54,    55,    45,    52,    51,    50,    53,
-      27,    32,     0,    19,    25,    91,     0,    39,    35,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    33,    42,     9,    31,    23,     0,     0,     0,
-      59,     0,     0,     0,     0,     0,     0,     0,    66,   111,
-       0,     0,    41,     0,     0,    58,    73,    20,    68,    70,
-       0,    61,    63,    65,     0,    94,     0,    24,     0,    78,
-       0,    74,    75,   151,   154,   156,   158,   150,   149,   148,
-       0,   141,   144,   145,   146,   147,   120,   122,   124,   119,
-       0,   113,   116,   117,   118,    99,     0,    95,    96,   190,
-       0,   187,    37,     0,    72,    77,     0,     0,     0,     0,
-     143,   140,     0,     0,     0,   115,   112,     0,    93,    98,
-       0,   189,   186,    88,    14,    84,    87,    85,    86,     0,
-      80,    83,    76,     0,     0,     0,     0,   142,     0,     0,
-       0,   114,   107,   109,   104,     0,   101,   105,   106,    97,
-     205,     0,   203,   201,   199,   200,   195,     0,   192,   197,
-     198,   196,   188,     0,    82,    79,   153,   152,   155,   157,
-     160,     0,     0,     0,     0,     0,   103,   100,     0,     0,
-       0,   194,   191,     0,    81,   165,     0,   161,   162,   134,
-     136,   133,   131,   132,     0,   126,   129,   130,     0,     0,
-       0,     0,   102,     0,   202,     0,   193,    89,     0,   159,
-     164,     0,     0,   128,   121,   123,   125,   108,   110,     0,
-     204,   177,   179,   181,   183,   176,   174,   175,     0,   167,
-     170,   171,   172,   173,   163,     0,     0,   127,   210,     0,
-     207,     0,     0,     0,     0,   169,   166,   135,   138,   137,
-       0,   209,   206,     0,     0,     0,     0,   168,   220,     0,
-       0,     0,   225,     0,   212,   215,   216,   217,   218,   219,
-     208,   178,   180,   182,   184,     0,     0,     0,     0,     0,
-     214,   211,     0,   222,   223,   224,     0,   213,   221,   226
+      18,    15,    14,    11,    12,    13,     3,    10,    16,    17,
+      34,     5,     8,     7,    28,    21,     0,     0,    30,     0,
+      29,     0,     0,    22,    36,     0,    38,    57,     0,    71,
+      67,    69,   139,    60,    62,    64,     0,     0,    92,   185,
+       0,    56,     0,    40,    43,    44,    46,    47,    48,    49,
+      54,    55,    45,    52,    51,    50,    53,    27,    32,     0,
+      19,    25,     0,    39,    35,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    33,    42,
+       9,    31,    23,     0,     0,     0,    59,     0,     0,     0,
+       0,     0,     0,     0,    66,   111,     0,     0,    41,     0,
+       0,    58,    73,    20,    68,    70,     0,    61,    63,    65,
+       0,    94,     0,    24,     0,    78,     0,    74,    75,   151,
+     154,   156,   158,   150,   149,   148,     0,   141,   144,   145,
+     146,   147,   120,   122,   124,   119,     0,   113,   116,   117,
+     118,    99,     0,    95,    96,   190,     0,   187,    37,     0,
+      72,    77,     0,     0,     0,     0,   143,   140,     0,     0,
+       0,   115,   112,     0,    93,    98,     0,   189,   186,    88,
+      90,    87,    85,    86,     0,    80,    83,    84,    76,     0,
+       0,     0,     0,   142,     0,     0,     0,   114,   107,   109,
+     104,     0,   101,   105,   106,    97,   205,     0,   203,   201,
+     199,   200,   195,     0,   192,   197,   198,   196,   188,     0,
+       0,    82,    79,   153,   152,   155,   157,   160,     0,     0,
+       0,     0,     0,   103,   100,     0,     0,     0,   194,   191,
+       0,     0,    81,   165,     0,   161,   162,   134,   136,   133,
+     131,   132,     0,   126,   129,   130,     0,     0,     0,     0,
+     102,     0,   202,     0,   193,    89,    91,     0,   159,   164,
+       0,     0,   128,   121,   123,   125,   108,   110,     0,   204,
+     177,   179,   181,   183,   176,   174,   175,     0,   167,   170,
+     171,   172,   173,   163,     0,     0,   127,   210,     0,   207,
+       0,     0,     0,     0,   169,   166,   135,   138,   137,     0,
+     209,   206,     0,     0,     0,     0,   168,   220,     0,     0,
+       0,   225,     0,   212,   215,   216,   217,   218,   219,   208,
+     178,   180,   182,   184,     0,     0,     0,     0,     0,   214,
+     211,     0,   222,   223,   224,     0,   213,   221,   226
   };
 
   const short
   AgentParser::yypgoto_[] =
   {
-    -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,    -1,   -99,
-    -175,   -42,  -175,  -175,  -175,  -175,  -175,  -175,   -29,  -175,
-    -175,  -175,  -175,  -175,   132,   156,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,  -175,   -28,  -175,   -27,  -175,
-    -175,  -175,  -175,  -175,    77,  -175,  -175,    19,  -174,  -175,
-    -175,  -175,  -175,  -175,  -175,    69,  -175,  -175,     8,  -175,
-    -175,  -175,  -175,  -175,  -175,  -175,    75,  -175,  -175,  -175,
-    -175,  -175,  -175,  -103,   -22,  -175,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,    82,  -175,  -175,  -175,  -175,  -175,  -175,
-    -175,  -175,  -175,  -175,  -175,   -17,  -175,  -175,   -51,  -175,
-    -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
-      74,  -175,  -175,    17,  -175,  -175,  -175,  -175,  -175,  -175,
-     -52,  -175,  -175,   -80,  -175,  -175,  -175,  -175,  -175,  -175,
-    -175
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,   -17,   -95,
+    -205,   -52,  -205,  -205,  -205,  -205,  -205,  -205,   -27,  -205,
+    -205,  -205,  -205,  -205,   121,   145,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,   -26,  -205,   -25,  -205,
+    -205,  -205,  -205,  -205,    71,  -205,  -205,    12,  -172,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,    60,  -205,  -205,     3,
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,    66,  -205,  -205,
+    -205,  -205,  -205,  -205,  -204,   -34,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,    73,  -205,  -205,  -205,  -205,  -205,
+    -205,  -205,  -205,  -205,  -205,  -205,   -19,  -205,  -205,   -61,
+    -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,  -205,
+    -205,    67,  -205,  -205,    10,  -205,  -205,  -205,  -205,  -205,
+    -205,   -58,  -205,  -205,   -90,  -205,  -205,  -205,  -205,  -205,
+    -205,  -205
   };
 
   const short
   AgentParser::yydefgoto_[] =
   {
-       0,     4,     5,     6,     7,    24,    29,    17,   185,    19,
-      26,   118,    34,    35,    20,    25,    31,    32,   251,    22,
-      28,    38,    76,    39,    55,    56,    57,    79,    58,    59,
-      85,    60,    86,    61,    87,    62,   252,    82,   253,    83,
-      65,    81,   130,   131,   132,   163,   189,   190,   191,   223,
-      27,    66,    90,   156,   157,   158,   177,   205,   206,   207,
-     234,   208,   235,    67,   124,   150,   151,   152,   172,   153,
-     173,   154,   174,   254,   255,   256,   271,   257,   272,   309,
-      68,    84,   140,   141,   142,   166,   227,   143,   167,   144,
-     168,   145,   169,   246,   247,   248,   268,   288,   289,   290,
-     301,   291,   302,   292,   303,   293,   304,    69,    91,   160,
-     161,   180,   217,   218,   219,   220,   240,   221,   238,   299,
-     300,   310,   323,   324,   325,   335,   326,   327,   328,   329,
-     339
+       0,     4,     5,     6,     7,    23,    27,    16,    17,    18,
+      25,   114,    32,    33,    19,    24,    29,    30,   249,    21,
+      26,    35,    72,    36,    52,    53,    54,    75,    55,    56,
+      81,    57,    82,    58,    83,    59,   250,    78,   251,    79,
+      62,    77,   126,   127,   128,   159,   184,   185,   186,   219,
+     187,   220,    63,    86,   152,   153,   154,   173,   201,   202,
+     203,   231,   204,   232,    64,   120,   146,   147,   148,   168,
+     149,   169,   150,   170,   252,   253,   254,   270,   255,   271,
+     308,    65,    80,   136,   137,   138,   162,   224,   139,   163,
+     140,   164,   141,   165,   244,   245,   246,   267,   287,   288,
+     289,   300,   290,   301,   291,   302,   292,   303,    66,    87,
+     156,   157,   176,   213,   214,   215,   216,   237,   217,   235,
+     298,   299,   309,   322,   323,   324,   334,   325,   326,   327,
+     328,   338
   };
 
   const short
   AgentParser::yytable_[] =
   {
-      54,    63,    64,   117,    18,     9,   216,    10,    77,    11,
-      43,    44,   183,    78,    43,    44,   183,    12,     1,     2,
-       3,    43,    44,     9,    30,    10,   133,    11,   134,   135,
-     136,   146,   147,   148,    21,    12,    43,    44,    93,   210,
-       8,   211,   212,    94,   202,   203,   281,   282,   283,   284,
-      53,    23,    53,    36,   184,    14,    15,    16,    53,   181,
-      33,    53,   182,    93,    54,    63,    64,   216,   162,    37,
-      95,    96,    13,    14,    15,    16,    53,    70,   318,    43,
-      44,   319,   320,   321,   322,    54,    63,    64,    72,   170,
-      71,   137,   138,   139,   171,   149,    40,    41,    42,    43,
-      44,   249,   250,    45,   175,   224,   236,   202,   203,   176,
-     225,   237,   127,    46,    47,    48,    49,    50,   241,    53,
-     273,   273,    73,   242,    51,   274,   275,    52,   273,   258,
-     259,    74,   305,   276,   186,   187,   188,   306,    80,    53,
-     340,   137,   138,   139,   311,   341,   149,   312,   204,    75,
-      88,   213,   214,   215,    89,    92,    98,    99,    97,   101,
-     100,   102,   117,   103,   104,   105,   106,   107,   108,   110,
-     111,   109,   113,   115,   114,   116,    10,   119,   120,   125,
-     121,   122,   126,   129,   123,   155,   159,   164,   165,   178,
-     179,   230,   193,   194,   195,   186,   187,   188,   196,   198,
-     199,   200,   226,   228,   270,   231,   232,   233,   229,   239,
-     243,   245,   213,   214,   215,   260,   261,   263,   265,   278,
-     295,   269,   279,   296,   313,   298,   314,   264,   315,   267,
-     308,   316,   336,   337,   277,   338,   342,   346,   280,   285,
-     286,   287,   192,   244,   262,   307,   128,   331,   209,   112,
-     201,   297,   197,   294,   317,   222,   332,   333,   266,   330,
-     347,   334,     0,     0,   344,   343,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   348,   285,   286,   287,     0,
-     345,     0,     0,     0,   349
+      51,    60,    61,   113,   212,     8,     9,    28,    10,    20,
+      11,    37,    38,    39,    40,    41,   198,   199,    42,   198,
+     199,    40,    41,   179,   180,   256,   257,    22,    43,    44,
+      45,    46,    47,    50,    31,    34,    40,    41,    68,    48,
+      67,   129,    49,   130,   131,   132,    40,    41,   179,    70,
+     177,    91,    92,   178,    50,    12,    13,    14,    15,    40,
+      41,    50,    51,    60,    61,   310,   212,    69,   311,   280,
+     281,   282,   283,    40,    41,   206,    50,   207,   208,   142,
+     143,   144,    73,    51,    60,    61,    50,    74,    71,   133,
+     134,   135,   123,   145,    76,   247,   248,    84,   317,    50,
+      50,   318,   319,   320,   321,    89,    89,   166,    96,   171,
+      90,   158,   167,    50,   172,   221,   233,   238,   272,   272,
+     222,   234,   239,   273,   274,   272,   304,     1,     2,     3,
+     275,   305,   181,   182,   183,    85,    88,   339,    93,   133,
+     134,   135,   340,    94,   145,    95,   200,    97,    98,   209,
+     210,   211,    99,   100,   101,   102,   103,   104,   106,   107,
+     105,   109,   111,   110,   113,   112,    10,   121,   116,   122,
+     125,   115,   117,   118,   119,   151,   155,   160,   161,   174,
+     175,   225,   189,   190,   191,   192,   194,   195,   196,   226,
+     223,   227,   228,   236,   181,   182,   183,   229,   230,   240,
+     241,   243,   258,   259,   261,   263,   269,   277,   268,   278,
+     294,   209,   210,   211,   295,   297,   312,   313,   314,   315,
+     262,   265,   335,   336,   337,   307,   266,   341,   276,   345,
+     279,   124,   188,   242,   108,   205,   260,   197,   296,   193,
+     284,   285,   286,   316,   218,   342,   306,   330,   264,   346,
+     293,   331,   329,     0,     0,     0,     0,     0,     0,   332,
+       0,   333,     0,     0,   343,     0,   344,     0,     0,     0,
+     347,   348,     0,     0,     0,     0,     0,   284,   285,   286
   };
 
   const short
   AgentParser::yycheck_[] =
   {
-      29,    29,    29,   102,     5,     5,   180,     7,     3,     9,
-      14,    15,    16,     8,    14,    15,    16,    17,    51,    52,
-      53,    14,    15,     5,    25,     7,    19,     9,    21,    22,
-      23,    33,    34,    35,     7,    17,    14,    15,     3,    43,
-       0,    45,    46,     8,    40,    41,    24,    25,    26,    27,
-      54,     7,    54,     4,    54,    55,    56,    57,    54,     3,
-      54,    54,     6,     3,    93,    93,    93,   241,     8,    10,
-      71,    72,    54,    55,    56,    57,    54,     6,    44,    14,
-      15,    47,    48,    49,    50,   114,   114,   114,     4,     3,
-       3,   120,   120,   120,     8,   124,    11,    12,    13,    14,
-      15,    36,    37,    18,     3,     3,     3,    40,    41,     8,
-       8,     8,   113,    28,    29,    30,    31,    32,     3,    54,
-       3,     3,     8,     8,    39,     8,     8,    42,     3,   232,
-     233,     3,     3,     8,   163,   163,   163,     8,     4,    54,
-       3,   170,   170,   170,     3,     8,   175,     6,   177,    54,
-       4,   180,   180,   180,     4,     4,     4,     4,    54,     4,
-      55,     4,   261,     4,     4,     4,     4,     4,    57,     4,
-       4,     7,     4,    54,     7,     5,     7,    54,     7,     5,
-      54,    54,     5,     7,    54,     7,     7,     6,     3,     6,
-       3,     5,     4,     4,     4,   224,   224,   224,     4,     4,
-       4,     4,    20,    54,     3,     7,     7,     7,    54,     4,
-       4,     7,   241,   241,   241,     4,     4,     4,     4,   261,
-       4,     6,     5,     4,     4,     7,     4,    55,     4,    54,
-      38,     4,     4,     4,    54,     4,     4,     4,    54,   268,
-     268,   268,   165,   224,   236,    54,   114,    54,   179,    93,
-     175,   273,   170,   270,   305,   181,    54,    54,   241,   311,
-     340,    54,    -1,    -1,    55,    57,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    54,   305,   305,   305,    -1,
-      55,    -1,    -1,    -1,    54
+      27,    27,    27,    98,   176,     0,     5,    24,     7,     7,
+       9,    11,    12,    13,    14,    15,    40,    41,    18,    40,
+      41,    14,    15,    16,    17,   229,   230,     7,    28,    29,
+      30,    31,    32,    54,    54,    10,    14,    15,     3,    39,
+       6,    19,    42,    21,    22,    23,    14,    15,    16,     8,
+       3,    68,    69,     6,    54,    54,    55,    56,    57,    14,
+      15,    54,    89,    89,    89,     3,   238,     4,     6,    24,
+      25,    26,    27,    14,    15,    43,    54,    45,    46,    33,
+      34,    35,     3,   110,   110,   110,    54,     8,     3,   116,
+     116,   116,   109,   120,     4,    36,    37,     4,    44,    54,
+      54,    47,    48,    49,    50,     3,     3,     3,    55,     3,
+       8,     8,     8,    54,     8,     3,     3,     3,     3,     3,
+       8,     8,     8,     8,     8,     3,     3,    51,    52,    53,
+       8,     8,   159,   159,   159,     4,     4,     3,    54,   166,
+     166,   166,     8,     4,   171,     4,   173,     4,     4,   176,
+     176,   176,     4,     4,     4,     4,     4,    57,     4,     4,
+       7,     4,    54,     7,   259,     5,     7,     5,     7,     5,
+       7,    54,    54,    54,    54,     7,     7,     6,     3,     6,
+       3,    54,     4,     4,     4,     4,     4,     4,     4,    54,
+      20,     5,     7,     4,   221,   221,   221,     7,     7,     4,
+       4,     7,     4,     4,     4,     4,     3,   259,     6,     5,
+       4,   238,   238,   238,     4,     7,     4,     4,     4,     4,
+      55,    54,     4,     4,     4,    38,    54,     4,    54,     4,
+      54,   110,   161,   221,    89,   175,   233,   171,   272,   166,
+     267,   267,   267,   304,   177,    57,    54,    54,   238,   339,
+     269,    54,   310,    -1,    -1,    -1,    -1,    -1,    -1,    54,
+      -1,    54,    -1,    -1,    55,    -1,    55,    -1,    -1,    -1,
+      54,    54,    -1,    -1,    -1,    -1,    -1,   304,   304,   304
   };
 
   const unsigned char
   AgentParser::yystos_[] =
   {
        0,    51,    52,    53,    59,    60,    61,    62,     0,     5,
-       7,     9,    17,    54,    55,    56,    57,    65,    66,    67,
-      72,     7,    77,     7,    63,    73,    68,   108,    78,    64,
-      66,    74,    75,    54,    70,    71,     4,    10,    79,    81,
-      11,    12,    13,    14,    15,    18,    28,    29,    30,    31,
-      32,    39,    42,    54,    76,    82,    83,    84,    86,    87,
-      89,    91,    93,    94,    96,    98,   109,   121,   138,   165,
-       6,     3,     4,     8,     3,    54,    80,     3,     8,    85,
-       4,    99,    95,    97,   139,    88,    90,    92,     4,     4,
-     110,   166,     4,     3,     8,    66,    66,    54,     4,     4,
-      55,     4,     4,     4,     4,     4,     4,     4,    57,     7,
-       4,     4,    83,     4,     7,    54,     5,    67,    69,    54,
-       7,    54,    54,    54,   122,     5,     5,    66,    82,     7,
-     100,   101,   102,    19,    21,    22,    23,    76,    94,    96,
-     140,   141,   142,   145,   147,   149,    33,    34,    35,    76,
-     123,   124,   125,   127,   129,     7,   111,   112,   113,     7,
-     167,   168,     8,   103,     6,     3,   143,   146,   148,   150,
-       3,     8,   126,   128,   130,     3,     8,   114,     6,     3,
-     169,     3,     6,    16,    54,    66,    76,    94,    96,   104,
-     105,   106,   102,     4,     4,     4,     4,   141,     4,     4,
-       4,   124,    40,    41,    76,   115,   116,   117,   119,   113,
-      43,    45,    46,    76,    94,    96,   106,   170,   171,   172,
-     173,   175,   168,   107,     3,     8,    20,   144,    54,    54,
-       5,     7,     7,     7,   118,   120,     3,     8,   176,     4,
-     174,     3,     8,     4,   105,     7,   151,   152,   153,    36,
-      37,    76,    94,    96,   131,   132,   133,   135,   131,   131,
-       4,     4,   116,     4,    55,     4,   171,    54,   154,     6,
-       3,   134,   136,     3,     8,     8,     8,    54,    69,     5,
-      54,    24,    25,    26,    27,    76,    94,    96,   155,   156,
-     157,   159,   161,   163,   153,     4,     4,   132,     7,   177,
-     178,   158,   160,   162,   164,     3,     8,    54,    38,   137,
-     179,     3,     6,     4,     4,     4,     4,   156,    44,    47,
-      48,    49,    50,   180,   181,   182,   184,   185,   186,   187,
-     178,    54,    54,    54,    54,   183,     4,     4,     4,   188,
-       3,     8,     4,    57,    55,    55,     4,   181,    54,    54
+       7,     9,    54,    55,    56,    57,    65,    66,    67,    72,
+       7,    77,     7,    63,    73,    68,    78,    64,    66,    74,
+      75,    54,    70,    71,    10,    79,    81,    11,    12,    13,
+      14,    15,    18,    28,    29,    30,    31,    32,    39,    42,
+      54,    76,    82,    83,    84,    86,    87,    89,    91,    93,
+      94,    96,    98,   110,   122,   139,   166,     6,     3,     4,
+       8,     3,    80,     3,     8,    85,     4,    99,    95,    97,
+     140,    88,    90,    92,     4,     4,   111,   167,     4,     3,
+       8,    66,    66,    54,     4,     4,    55,     4,     4,     4,
+       4,     4,     4,     4,    57,     7,     4,     4,    83,     4,
+       7,    54,     5,    67,    69,    54,     7,    54,    54,    54,
+     123,     5,     5,    66,    82,     7,   100,   101,   102,    19,
+      21,    22,    23,    76,    94,    96,   141,   142,   143,   146,
+     148,   150,    33,    34,    35,    76,   124,   125,   126,   128,
+     130,     7,   112,   113,   114,     7,   168,   169,     8,   103,
+       6,     3,   144,   147,   149,   151,     3,     8,   127,   129,
+     131,     3,     8,   115,     6,     3,   170,     3,     6,    16,
+      17,    76,    94,    96,   104,   105,   106,   108,   102,     4,
+       4,     4,     4,   142,     4,     4,     4,   125,    40,    41,
+      76,   116,   117,   118,   120,   114,    43,    45,    46,    76,
+      94,    96,   106,   171,   172,   173,   174,   176,   169,   107,
+     109,     3,     8,    20,   145,    54,    54,     5,     7,     7,
+       7,   119,   121,     3,     8,   177,     4,   175,     3,     8,
+       4,     4,   105,     7,   152,   153,   154,    36,    37,    76,
+      94,    96,   132,   133,   134,   136,   132,   132,     4,     4,
+     117,     4,    55,     4,   172,    54,    54,   155,     6,     3,
+     135,   137,     3,     8,     8,     8,    54,    69,     5,    54,
+      24,    25,    26,    27,    76,    94,    96,   156,   157,   158,
+     160,   162,   164,   154,     4,     4,   133,     7,   178,   179,
+     159,   161,   163,   165,     3,     8,    54,    38,   138,   180,
+       3,     6,     4,     4,     4,     4,   157,    44,    47,    48,
+      49,    50,   181,   182,   183,   185,   186,   187,   188,   179,
+      54,    54,    54,    54,   184,     4,     4,     4,   189,     3,
+       8,     4,    57,    55,    55,     4,   182,    54,    54
   };
 
   const unsigned char
@@ -2486,20 +2484,20 @@ namespace isc { namespace agent {
       88,    87,    90,    89,    92,    91,    93,    95,    94,    97,
       96,    99,    98,   100,   100,   101,   101,   101,   103,   102,
      104,   104,   104,   105,   105,   105,   105,   105,   107,   106,
-     108,    66,   110,   109,   111,   111,   112,   112,   112,   114,
-     113,   115,   115,   115,   115,   116,   116,   118,   117,   120,
-     119,   122,   121,   123,   123,   123,   124,   124,   124,   124,
-     126,   125,   128,   127,   130,   129,   131,   131,   131,   132,
-     132,   132,   132,   132,   134,   133,   136,   135,   137,   139,
-     138,   140,   140,   140,   141,   141,   141,   141,   141,   141,
-     141,   143,   142,   144,   146,   145,   148,   147,   150,   149,
-     151,   151,   152,   152,   152,   154,   153,   155,   155,   155,
-     156,   156,   156,   156,   156,   156,   156,   158,   157,   160,
-     159,   162,   161,   164,   163,   166,   165,   167,   167,   167,
-     169,   168,   170,   170,   170,   171,   171,   171,   171,   171,
-     171,   171,   172,   174,   173,   176,   175,   177,   177,   177,
-     179,   178,   180,   180,   180,   181,   181,   181,   181,   181,
-     183,   182,   184,   185,   186,   188,   187
+     109,   108,   111,   110,   112,   112,   113,   113,   113,   115,
+     114,   116,   116,   116,   116,   117,   117,   119,   118,   121,
+     120,   123,   122,   124,   124,   124,   125,   125,   125,   125,
+     127,   126,   129,   128,   131,   130,   132,   132,   132,   133,
+     133,   133,   133,   133,   135,   134,   137,   136,   138,   140,
+     139,   141,   141,   141,   142,   142,   142,   142,   142,   142,
+     142,   144,   143,   145,   147,   146,   149,   148,   151,   150,
+     152,   152,   153,   153,   153,   155,   154,   156,   156,   156,
+     157,   157,   157,   157,   157,   157,   157,   159,   158,   161,
+     160,   163,   162,   165,   164,   167,   166,   168,   168,   168,
+     170,   169,   171,   171,   171,   172,   172,   172,   172,   172,
+     172,   172,   173,   175,   174,   177,   176,   178,   178,   178,
+     180,   179,   181,   181,   181,   182,   182,   182,   182,   182,
+     184,   183,   185,   186,   187,   189,   188
   };
 
   const signed char
@@ -2559,17 +2557,17 @@ namespace isc { namespace agent {
   "cert_file", "$@11", "key_file", "$@12", "cert_required", "user_context",
   "$@13", "comment", "$@14", "http_headers", "$@15", "http_header_list",
   "not_empty_http_header_list", "http_header", "$@16",
-  "http_header_params", "http_header_param", "name", "$@17", "$@18",
-  "hooks_libraries", "$@19", "hooks_libraries_list",
-  "not_empty_hooks_libraries_list", "hooks_library", "$@20",
-  "hooks_params", "hooks_param", "library", "$@21", "parameters", "$@22",
-  "control_sockets", "$@23", "control_sockets_params", "control_socket",
-  "dhcp4_server_socket", "$@24", "dhcp6_server_socket", "$@25",
-  "d2_server_socket", "$@26", "control_socket_params",
-  "control_socket_param", "socket_name", "$@27", "socket_type", "$@28",
-  "socket_type_value", "authentication", "$@29", "auth_params",
-  "auth_param", "auth_type", "$@30", "auth_type_value", "realm", "$@31",
-  "directory", "$@32", "clients", "$@33", "clients_list",
+  "http_header_params", "http_header_param", "name", "$@17",
+  "header_value", "$@18", "hooks_libraries", "$@19",
+  "hooks_libraries_list", "not_empty_hooks_libraries_list",
+  "hooks_library", "$@20", "hooks_params", "hooks_param", "library",
+  "$@21", "parameters", "$@22", "control_sockets", "$@23",
+  "control_sockets_params", "control_socket", "dhcp4_server_socket",
+  "$@24", "dhcp6_server_socket", "$@25", "d2_server_socket", "$@26",
+  "control_socket_params", "control_socket_param", "socket_name", "$@27",
+  "socket_type", "$@28", "socket_type_value", "authentication", "$@29",
+  "auth_params", "auth_param", "auth_type", "$@30", "auth_type_value",
+  "realm", "$@31", "directory", "$@32", "clients", "$@33", "clients_list",
   "not_empty_clients_list", "basic_auth", "$@34", "clients_params",
   "clients_param", "user", "$@35", "user_file", "$@36", "password", "$@37",
   "password_file", "$@38", "loggers", "$@39", "loggers_entries",
@@ -2593,22 +2591,22 @@ namespace isc { namespace agent {
      286,   287,   288,   295,   296,   297,   298,   299,   300,   301,
      302,   303,   304,   305,   306,   307,   308,   311,   311,   320,
      326,   326,   335,   335,   344,   344,   353,   359,   359,   384,
-     384,   411,   411,   421,   422,   425,   426,   427,   432,   432,
-     440,   441,   442,   447,   448,   449,   450,   451,   454,   454,
-     463,   463,   473,   473,   484,   485,   488,   489,   490,   495,
-     495,   503,   504,   505,   508,   511,   512,   515,   515,   524,
-     524,   535,   535,   549,   550,   551,   558,   559,   560,   561,
-     565,   565,   577,   577,   589,   589,   601,   602,   603,   609,
-     610,   611,   612,   613,   617,   617,   627,   627,   636,   643,
-     643,   656,   657,   658,   663,   664,   665,   666,   667,   668,
-     669,   672,   672,   680,   683,   683,   692,   692,   701,   701,
-     712,   713,   716,   717,   718,   723,   723,   731,   732,   733,
-     738,   739,   740,   741,   742,   743,   744,   747,   747,   756,
-     756,   765,   765,   774,   774,   787,   787,   800,   801,   802,
-     808,   808,   816,   817,   818,   823,   824,   825,   826,   827,
-     828,   829,   832,   838,   838,   847,   847,   858,   859,   860,
-     865,   865,   873,   874,   875,   880,   881,   882,   883,   884,
-     887,   887,   896,   902,   908,   914,   914
+     384,   411,   411,   422,   423,   426,   427,   428,   433,   433,
+     441,   442,   443,   448,   449,   450,   451,   452,   455,   455,
+     464,   464,   474,   474,   485,   486,   489,   490,   491,   496,
+     496,   504,   505,   506,   509,   512,   513,   516,   516,   525,
+     525,   536,   536,   550,   551,   552,   559,   560,   561,   562,
+     566,   566,   578,   578,   590,   590,   602,   603,   604,   610,
+     611,   612,   613,   614,   618,   618,   628,   628,   637,   644,
+     644,   657,   658,   659,   664,   665,   666,   667,   668,   669,
+     670,   673,   673,   681,   684,   684,   693,   693,   702,   702,
+     713,   714,   717,   718,   719,   724,   724,   732,   733,   734,
+     739,   740,   741,   742,   743,   744,   745,   748,   748,   757,
+     757,   766,   766,   775,   775,   788,   788,   801,   802,   803,
+     809,   809,   817,   818,   819,   824,   825,   826,   827,   828,
+     829,   830,   833,   839,   839,   848,   848,   859,   860,   861,
+     866,   866,   874,   875,   876,   881,   882,   883,   884,   885,
+     888,   888,   897,   903,   909,   915,   915
   };
 
   void
@@ -2641,9 +2639,9 @@ namespace isc { namespace agent {
 
 #line 14 "agent_parser.yy"
 } } // isc::agent
-#line 2644 "agent_parser.cc"
+#line 2643 "agent_parser.cc"
 
-#line 923 "agent_parser.yy"
+#line 924 "agent_parser.yy"
 
 
 void
index 68bfb971c8f2836c40e02659c462d9262a9649f2..da5b1121f7a78740cd6fc3932dd5886ba2e34705 100644 (file)
@@ -674,87 +674,88 @@ namespace isc { namespace agent {
         S_http_header_param = 105,               // http_header_param
         S_name = 106,                            // name
         S_107_17 = 107,                          // $@17
-        S_108_18 = 108,                          // $@18
-        S_hooks_libraries = 109,                 // hooks_libraries
-        S_110_19 = 110,                          // $@19
-        S_hooks_libraries_list = 111,            // hooks_libraries_list
-        S_not_empty_hooks_libraries_list = 112,  // not_empty_hooks_libraries_list
-        S_hooks_library = 113,                   // hooks_library
-        S_114_20 = 114,                          // $@20
-        S_hooks_params = 115,                    // hooks_params
-        S_hooks_param = 116,                     // hooks_param
-        S_library = 117,                         // library
-        S_118_21 = 118,                          // $@21
-        S_parameters = 119,                      // parameters
-        S_120_22 = 120,                          // $@22
-        S_control_sockets = 121,                 // control_sockets
-        S_122_23 = 122,                          // $@23
-        S_control_sockets_params = 123,          // control_sockets_params
-        S_control_socket = 124,                  // control_socket
-        S_dhcp4_server_socket = 125,             // dhcp4_server_socket
-        S_126_24 = 126,                          // $@24
-        S_dhcp6_server_socket = 127,             // dhcp6_server_socket
-        S_128_25 = 128,                          // $@25
-        S_d2_server_socket = 129,                // d2_server_socket
-        S_130_26 = 130,                          // $@26
-        S_control_socket_params = 131,           // control_socket_params
-        S_control_socket_param = 132,            // control_socket_param
-        S_socket_name = 133,                     // socket_name
-        S_134_27 = 134,                          // $@27
-        S_socket_type = 135,                     // socket_type
-        S_136_28 = 136,                          // $@28
-        S_socket_type_value = 137,               // socket_type_value
-        S_authentication = 138,                  // authentication
-        S_139_29 = 139,                          // $@29
-        S_auth_params = 140,                     // auth_params
-        S_auth_param = 141,                      // auth_param
-        S_auth_type = 142,                       // auth_type
-        S_143_30 = 143,                          // $@30
-        S_auth_type_value = 144,                 // auth_type_value
-        S_realm = 145,                           // realm
-        S_146_31 = 146,                          // $@31
-        S_directory = 147,                       // directory
-        S_148_32 = 148,                          // $@32
-        S_clients = 149,                         // clients
-        S_150_33 = 150,                          // $@33
-        S_clients_list = 151,                    // clients_list
-        S_not_empty_clients_list = 152,          // not_empty_clients_list
-        S_basic_auth = 153,                      // basic_auth
-        S_154_34 = 154,                          // $@34
-        S_clients_params = 155,                  // clients_params
-        S_clients_param = 156,                   // clients_param
-        S_user = 157,                            // user
-        S_158_35 = 158,                          // $@35
-        S_user_file = 159,                       // user_file
-        S_160_36 = 160,                          // $@36
-        S_password = 161,                        // password
-        S_162_37 = 162,                          // $@37
-        S_password_file = 163,                   // password_file
-        S_164_38 = 164,                          // $@38
-        S_loggers = 165,                         // loggers
-        S_166_39 = 166,                          // $@39
-        S_loggers_entries = 167,                 // loggers_entries
-        S_logger_entry = 168,                    // logger_entry
-        S_169_40 = 169,                          // $@40
-        S_logger_params = 170,                   // logger_params
-        S_logger_param = 171,                    // logger_param
-        S_debuglevel = 172,                      // debuglevel
-        S_severity = 173,                        // severity
-        S_174_41 = 174,                          // $@41
-        S_output_options_list = 175,             // output_options_list
-        S_176_42 = 176,                          // $@42
-        S_output_options_list_content = 177,     // output_options_list_content
-        S_output_entry = 178,                    // output_entry
-        S_179_43 = 179,                          // $@43
-        S_output_params_list = 180,              // output_params_list
-        S_output_params = 181,                   // output_params
-        S_output = 182,                          // output
-        S_183_44 = 183,                          // $@44
-        S_flush = 184,                           // flush
-        S_maxsize = 185,                         // maxsize
-        S_maxver = 186,                          // maxver
-        S_pattern = 187,                         // pattern
-        S_188_45 = 188                           // $@45
+        S_header_value = 108,                    // header_value
+        S_109_18 = 109,                          // $@18
+        S_hooks_libraries = 110,                 // hooks_libraries
+        S_111_19 = 111,                          // $@19
+        S_hooks_libraries_list = 112,            // hooks_libraries_list
+        S_not_empty_hooks_libraries_list = 113,  // not_empty_hooks_libraries_list
+        S_hooks_library = 114,                   // hooks_library
+        S_115_20 = 115,                          // $@20
+        S_hooks_params = 116,                    // hooks_params
+        S_hooks_param = 117,                     // hooks_param
+        S_library = 118,                         // library
+        S_119_21 = 119,                          // $@21
+        S_parameters = 120,                      // parameters
+        S_121_22 = 121,                          // $@22
+        S_control_sockets = 122,                 // control_sockets
+        S_123_23 = 123,                          // $@23
+        S_control_sockets_params = 124,          // control_sockets_params
+        S_control_socket = 125,                  // control_socket
+        S_dhcp4_server_socket = 126,             // dhcp4_server_socket
+        S_127_24 = 127,                          // $@24
+        S_dhcp6_server_socket = 128,             // dhcp6_server_socket
+        S_129_25 = 129,                          // $@25
+        S_d2_server_socket = 130,                // d2_server_socket
+        S_131_26 = 131,                          // $@26
+        S_control_socket_params = 132,           // control_socket_params
+        S_control_socket_param = 133,            // control_socket_param
+        S_socket_name = 134,                     // socket_name
+        S_135_27 = 135,                          // $@27
+        S_socket_type = 136,                     // socket_type
+        S_137_28 = 137,                          // $@28
+        S_socket_type_value = 138,               // socket_type_value
+        S_authentication = 139,                  // authentication
+        S_140_29 = 140,                          // $@29
+        S_auth_params = 141,                     // auth_params
+        S_auth_param = 142,                      // auth_param
+        S_auth_type = 143,                       // auth_type
+        S_144_30 = 144,                          // $@30
+        S_auth_type_value = 145,                 // auth_type_value
+        S_realm = 146,                           // realm
+        S_147_31 = 147,                          // $@31
+        S_directory = 148,                       // directory
+        S_149_32 = 149,                          // $@32
+        S_clients = 150,                         // clients
+        S_151_33 = 151,                          // $@33
+        S_clients_list = 152,                    // clients_list
+        S_not_empty_clients_list = 153,          // not_empty_clients_list
+        S_basic_auth = 154,                      // basic_auth
+        S_155_34 = 155,                          // $@34
+        S_clients_params = 156,                  // clients_params
+        S_clients_param = 157,                   // clients_param
+        S_user = 158,                            // user
+        S_159_35 = 159,                          // $@35
+        S_user_file = 160,                       // user_file
+        S_161_36 = 161,                          // $@36
+        S_password = 162,                        // password
+        S_163_37 = 163,                          // $@37
+        S_password_file = 164,                   // password_file
+        S_165_38 = 165,                          // $@38
+        S_loggers = 166,                         // loggers
+        S_167_39 = 167,                          // $@39
+        S_loggers_entries = 168,                 // loggers_entries
+        S_logger_entry = 169,                    // logger_entry
+        S_170_40 = 170,                          // $@40
+        S_logger_params = 171,                   // logger_params
+        S_logger_param = 172,                    // logger_param
+        S_debuglevel = 173,                      // debuglevel
+        S_severity = 174,                        // severity
+        S_175_41 = 175,                          // $@41
+        S_output_options_list = 176,             // output_options_list
+        S_177_42 = 177,                          // $@42
+        S_output_options_list_content = 178,     // output_options_list_content
+        S_output_entry = 179,                    // output_entry
+        S_180_43 = 180,                          // $@43
+        S_output_params_list = 181,              // output_params_list
+        S_output_params = 182,                   // output_params
+        S_output = 183,                          // output
+        S_184_44 = 184,                          // $@44
+        S_flush = 185,                           // flush
+        S_maxsize = 186,                         // maxsize
+        S_maxver = 187,                          // maxver
+        S_pattern = 188,                         // pattern
+        S_189_45 = 189                           // $@45
       };
     };
 
@@ -2351,8 +2352,8 @@ switch (yykind)
     /// Constants.
     enum
     {
-      yylast_ = 284,     ///< Last index in yytable_.
-      yynnts_ = 131,  ///< Number of nonterminal symbols.
+      yylast_ = 279,     ///< Last index in yytable_.
+      yynnts_ = 132,  ///< Number of nonterminal symbols.
       yyfinal_ = 8 ///< Termination state number.
     };
 
@@ -2569,7 +2570,7 @@ switch (yykind)
 
 #line 14 "agent_parser.yy"
 } } // isc::agent
-#line 2573 "agent_parser.h"
+#line 2574 "agent_parser.h"
 
 
 
index aef0f8c01dd12306f8963a14b335e79cf3dd6f36..90d309323c47fed852fece685b144c1055adac2c 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 202411131006
+// Generated 202411151018
 // A Bison parser, made by GNU Bison 3.8.2.
 
 // Locations for Bison parsers in C++
index f24fbd2e96a2dbd907f203c4a2fe9118dd652c49..10d87d0bc0de4665c03f7c1756670fe601804acd 100644 (file)
@@ -4179,73 +4179,73 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HTTP_HEADERS);
 }
-#line 4182 "dhcp4_parser.cc"
+#line 4183 "dhcp4_parser.cc"
     break;
 
   case 757: // http_headers: "http-headers" $@116 ":" "[" http_header_list "]"
-#line 2661 "dhcp4_parser.yy"
+#line 2662 "dhcp4_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4191 "dhcp4_parser.cc"
+#line 4192 "dhcp4_parser.cc"
     break;
 
   case 762: // not_empty_http_header_list: not_empty_http_header_list ","
-#line 2672 "dhcp4_parser.yy"
+#line 2673 "dhcp4_parser.yy"
                                                              {
                               ctx.warnAboutExtraCommas(yystack_[0].location);
                               }
-#line 4199 "dhcp4_parser.cc"
+#line 4200 "dhcp4_parser.cc"
     break;
 
   case 763: // $@117: %empty
-#line 2677 "dhcp4_parser.yy"
+#line 2678 "dhcp4_parser.yy"
                             {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 4209 "dhcp4_parser.cc"
+#line 4210 "dhcp4_parser.cc"
     break;
 
   case 764: // http_header: "{" $@117 http_header_params "}"
-#line 2681 "dhcp4_parser.yy"
+#line 2682 "dhcp4_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 4217 "dhcp4_parser.cc"
+#line 4218 "dhcp4_parser.cc"
     break;
 
   case 767: // http_header_params: http_header_params ","
-#line 2687 "dhcp4_parser.yy"
+#line 2688 "dhcp4_parser.yy"
                                              {
                       ctx.warnAboutExtraCommas(yystack_[0].location);
                       }
-#line 4225 "dhcp4_parser.cc"
+#line 4226 "dhcp4_parser.cc"
     break;
 
   case 773: // $@118: %empty
-#line 2699 "dhcp4_parser.yy"
-             {
+#line 2700 "dhcp4_parser.yy"
+                    {
     ctx.unique("value", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4234 "dhcp4_parser.cc"
+#line 4235 "dhcp4_parser.cc"
     break;
 
-  case 774: // value: "value" $@118 ":" "constant string"
-#line 2702 "dhcp4_parser.yy"
+  case 774: // header_value: "value" $@118 ":" "constant string"
+#line 2703 "dhcp4_parser.yy"
                {
     ElementPtr value(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("value", value);
     ctx.leave();
 }
-#line 4244 "dhcp4_parser.cc"
+#line 4245 "dhcp4_parser.cc"
     break;
 
   case 775: // $@119: %empty
-#line 2710 "dhcp4_parser.yy"
+#line 2711 "dhcp4_parser.yy"
                                {
     ctx.unique("authentication", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4253,92 +4253,92 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.AUTHENTICATION);
 }
-#line 4256 "dhcp4_parser.cc"
+#line 4257 "dhcp4_parser.cc"
     break;
 
   case 776: // authentication: "authentication" $@119 ":" "{" auth_params "}"
-#line 2716 "dhcp4_parser.yy"
+#line 2717 "dhcp4_parser.yy"
                                                   {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4267 "dhcp4_parser.cc"
+#line 4268 "dhcp4_parser.cc"
     break;
 
   case 779: // auth_params: auth_params ","
-#line 2725 "dhcp4_parser.yy"
+#line 2726 "dhcp4_parser.yy"
                                {
                ctx.warnAboutExtraCommas(yystack_[0].location);
                }
-#line 4275 "dhcp4_parser.cc"
+#line 4276 "dhcp4_parser.cc"
     break;
 
   case 787: // $@120: %empty
-#line 2739 "dhcp4_parser.yy"
+#line 2740 "dhcp4_parser.yy"
                 {
     ctx.unique("type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.AUTH_TYPE);
 }
-#line 4284 "dhcp4_parser.cc"
+#line 4285 "dhcp4_parser.cc"
     break;
 
   case 788: // auth_type: "type" $@120 ":" auth_type_value
-#line 2742 "dhcp4_parser.yy"
+#line 2743 "dhcp4_parser.yy"
                         {
     ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4293 "dhcp4_parser.cc"
+#line 4294 "dhcp4_parser.cc"
     break;
 
   case 789: // auth_type_value: "basic"
-#line 2747 "dhcp4_parser.yy"
+#line 2748 "dhcp4_parser.yy"
                        { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("basic", ctx.loc2pos(yystack_[0].location))); }
-#line 4299 "dhcp4_parser.cc"
+#line 4300 "dhcp4_parser.cc"
     break;
 
   case 790: // $@121: %empty
-#line 2750 "dhcp4_parser.yy"
+#line 2751 "dhcp4_parser.yy"
              {
     ctx.unique("realm", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4308 "dhcp4_parser.cc"
+#line 4309 "dhcp4_parser.cc"
     break;
 
   case 791: // realm: "realm" $@121 ":" "constant string"
-#line 2753 "dhcp4_parser.yy"
+#line 2754 "dhcp4_parser.yy"
                {
     ElementPtr realm(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("realm", realm);
     ctx.leave();
 }
-#line 4318 "dhcp4_parser.cc"
+#line 4319 "dhcp4_parser.cc"
     break;
 
   case 792: // $@122: %empty
-#line 2759 "dhcp4_parser.yy"
+#line 2760 "dhcp4_parser.yy"
                      {
     ctx.unique("directory", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4327 "dhcp4_parser.cc"
+#line 4328 "dhcp4_parser.cc"
     break;
 
   case 793: // directory: "directory" $@122 ":" "constant string"
-#line 2762 "dhcp4_parser.yy"
+#line 2763 "dhcp4_parser.yy"
                {
     ElementPtr directory(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("directory", directory);
     ctx.leave();
 }
-#line 4337 "dhcp4_parser.cc"
+#line 4338 "dhcp4_parser.cc"
     break;
 
   case 794: // $@123: %empty
-#line 2768 "dhcp4_parser.yy"
+#line 2769 "dhcp4_parser.yy"
                  {
     ctx.unique("clients", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4346,92 +4346,92 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CLIENTS);
 }
-#line 4349 "dhcp4_parser.cc"
+#line 4350 "dhcp4_parser.cc"
     break;
 
   case 795: // clients: "clients" $@123 ":" "[" clients_list "]"
-#line 2774 "dhcp4_parser.yy"
+#line 2775 "dhcp4_parser.yy"
                                                      {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4358 "dhcp4_parser.cc"
+#line 4359 "dhcp4_parser.cc"
     break;
 
   case 800: // not_empty_clients_list: not_empty_clients_list ","
-#line 2785 "dhcp4_parser.yy"
+#line 2786 "dhcp4_parser.yy"
                                                      {
                           ctx.warnAboutExtraCommas(yystack_[0].location);
                           }
-#line 4366 "dhcp4_parser.cc"
+#line 4367 "dhcp4_parser.cc"
     break;
 
   case 801: // $@124: %empty
-#line 2790 "dhcp4_parser.yy"
+#line 2791 "dhcp4_parser.yy"
                            {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 4376 "dhcp4_parser.cc"
+#line 4377 "dhcp4_parser.cc"
     break;
 
   case 802: // basic_auth: "{" $@124 clients_params "}"
-#line 2794 "dhcp4_parser.yy"
+#line 2795 "dhcp4_parser.yy"
                                 {
     ctx.stack_.pop_back();
 }
-#line 4384 "dhcp4_parser.cc"
+#line 4385 "dhcp4_parser.cc"
     break;
 
   case 805: // clients_params: clients_params ","
-#line 2800 "dhcp4_parser.yy"
+#line 2801 "dhcp4_parser.yy"
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
-#line 4392 "dhcp4_parser.cc"
+#line 4393 "dhcp4_parser.cc"
     break;
 
   case 813: // $@125: %empty
-#line 2814 "dhcp4_parser.yy"
+#line 2815 "dhcp4_parser.yy"
                      {
     ctx.unique("user-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4401 "dhcp4_parser.cc"
+#line 4402 "dhcp4_parser.cc"
     break;
 
   case 814: // user_file: "user-file" $@125 ":" "constant string"
-#line 2817 "dhcp4_parser.yy"
+#line 2818 "dhcp4_parser.yy"
                {
     ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user-file", user);
     ctx.leave();
 }
-#line 4411 "dhcp4_parser.cc"
+#line 4412 "dhcp4_parser.cc"
     break;
 
   case 815: // $@126: %empty
-#line 2823 "dhcp4_parser.yy"
+#line 2824 "dhcp4_parser.yy"
                              {
     ctx.unique("password-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4420 "dhcp4_parser.cc"
+#line 4421 "dhcp4_parser.cc"
     break;
 
   case 816: // password_file: "password-file" $@126 ":" "constant string"
-#line 2826 "dhcp4_parser.yy"
+#line 2827 "dhcp4_parser.yy"
                {
     ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password-file", password);
     ctx.leave();
 }
-#line 4430 "dhcp4_parser.cc"
+#line 4431 "dhcp4_parser.cc"
     break;
 
   case 817: // $@127: %empty
-#line 2834 "dhcp4_parser.yy"
+#line 2835 "dhcp4_parser.yy"
                                        {
     ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
     ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4439,87 +4439,87 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(qc);
     ctx.enter(ctx.DHCP_QUEUE_CONTROL);
 }
-#line 4442 "dhcp4_parser.cc"
+#line 4443 "dhcp4_parser.cc"
     break;
 
   case 818: // dhcp_queue_control: "dhcp-queue-control" $@127 ":" "{" queue_control_params "}"
-#line 2840 "dhcp4_parser.yy"
+#line 2841 "dhcp4_parser.yy"
                                                            {
     // The enable queue parameter is required.
     ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4453 "dhcp4_parser.cc"
+#line 4454 "dhcp4_parser.cc"
     break;
 
   case 821: // queue_control_params: queue_control_params ","
-#line 2849 "dhcp4_parser.yy"
+#line 2850 "dhcp4_parser.yy"
                                                  {
                         ctx.warnAboutExtraCommas(yystack_[0].location);
                         }
-#line 4461 "dhcp4_parser.cc"
+#line 4462 "dhcp4_parser.cc"
     break;
 
   case 828: // enable_queue: "enable-queue" ":" "boolean"
-#line 2862 "dhcp4_parser.yy"
+#line 2863 "dhcp4_parser.yy"
                                          {
     ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-queue", b);
 }
-#line 4471 "dhcp4_parser.cc"
+#line 4472 "dhcp4_parser.cc"
     break;
 
   case 829: // $@128: %empty
-#line 2868 "dhcp4_parser.yy"
+#line 2869 "dhcp4_parser.yy"
                        {
     ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4480 "dhcp4_parser.cc"
+#line 4481 "dhcp4_parser.cc"
     break;
 
   case 830: // queue_type: "queue-type" $@128 ":" "constant string"
-#line 2871 "dhcp4_parser.yy"
+#line 2872 "dhcp4_parser.yy"
                {
     ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("queue-type", qt);
     ctx.leave();
 }
-#line 4490 "dhcp4_parser.cc"
+#line 4491 "dhcp4_parser.cc"
     break;
 
   case 831: // capacity: "capacity" ":" "integer"
-#line 2877 "dhcp4_parser.yy"
+#line 2878 "dhcp4_parser.yy"
                                  {
     ctx.unique("capacity", ctx.loc2pos(yystack_[2].location));
     ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("capacity", c);
 }
-#line 4500 "dhcp4_parser.cc"
+#line 4501 "dhcp4_parser.cc"
     break;
 
   case 832: // $@129: %empty
-#line 2883 "dhcp4_parser.yy"
+#line 2884 "dhcp4_parser.yy"
                             {
     ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4509 "dhcp4_parser.cc"
+#line 4510 "dhcp4_parser.cc"
     break;
 
   case 833: // arbitrary_map_entry: "constant string" $@129 ":" value
-#line 2886 "dhcp4_parser.yy"
+#line 2887 "dhcp4_parser.yy"
               {
     ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4518 "dhcp4_parser.cc"
+#line 4519 "dhcp4_parser.cc"
     break;
 
   case 834: // $@130: %empty
-#line 2893 "dhcp4_parser.yy"
+#line 2894 "dhcp4_parser.yy"
                      {
     ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4527,177 +4527,177 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.DHCP_DDNS);
 }
-#line 4530 "dhcp4_parser.cc"
+#line 4531 "dhcp4_parser.cc"
     break;
 
   case 835: // dhcp_ddns: "dhcp-ddns" $@130 ":" "{" dhcp_ddns_params "}"
-#line 2899 "dhcp4_parser.yy"
+#line 2900 "dhcp4_parser.yy"
                                                        {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4541 "dhcp4_parser.cc"
+#line 4542 "dhcp4_parser.cc"
     break;
 
   case 836: // $@131: %empty
-#line 2906 "dhcp4_parser.yy"
+#line 2907 "dhcp4_parser.yy"
                               {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 4551 "dhcp4_parser.cc"
+#line 4552 "dhcp4_parser.cc"
     break;
 
   case 837: // sub_dhcp_ddns: "{" $@131 dhcp_ddns_params "}"
-#line 2910 "dhcp4_parser.yy"
+#line 2911 "dhcp4_parser.yy"
                                   {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 4561 "dhcp4_parser.cc"
+#line 4562 "dhcp4_parser.cc"
     break;
 
   case 840: // dhcp_ddns_params: dhcp_ddns_params ","
-#line 2918 "dhcp4_parser.yy"
+#line 2919 "dhcp4_parser.yy"
                                          {
                     ctx.warnAboutExtraCommas(yystack_[0].location);
                     }
-#line 4569 "dhcp4_parser.cc"
+#line 4570 "dhcp4_parser.cc"
     break;
 
   case 852: // enable_updates: "enable-updates" ":" "boolean"
-#line 2936 "dhcp4_parser.yy"
+#line 2937 "dhcp4_parser.yy"
                                              {
     ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
 }
-#line 4579 "dhcp4_parser.cc"
+#line 4580 "dhcp4_parser.cc"
     break;
 
   case 853: // $@132: %empty
-#line 2942 "dhcp4_parser.yy"
+#line 2943 "dhcp4_parser.yy"
                      {
     ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4588 "dhcp4_parser.cc"
+#line 4589 "dhcp4_parser.cc"
     break;
 
   case 854: // server_ip: "server-ip" $@132 ":" "constant string"
-#line 2945 "dhcp4_parser.yy"
+#line 2946 "dhcp4_parser.yy"
                {
     ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
     ctx.leave();
 }
-#line 4598 "dhcp4_parser.cc"
+#line 4599 "dhcp4_parser.cc"
     break;
 
   case 855: // server_port: "server-port" ":" "integer"
-#line 2951 "dhcp4_parser.yy"
+#line 2952 "dhcp4_parser.yy"
                                        {
     ctx.unique("server-port", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
 }
-#line 4608 "dhcp4_parser.cc"
+#line 4609 "dhcp4_parser.cc"
     break;
 
   case 856: // $@133: %empty
-#line 2957 "dhcp4_parser.yy"
+#line 2958 "dhcp4_parser.yy"
                      {
     ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4617 "dhcp4_parser.cc"
+#line 4618 "dhcp4_parser.cc"
     break;
 
   case 857: // sender_ip: "sender-ip" $@133 ":" "constant string"
-#line 2960 "dhcp4_parser.yy"
+#line 2961 "dhcp4_parser.yy"
                {
     ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
     ctx.leave();
 }
-#line 4627 "dhcp4_parser.cc"
+#line 4628 "dhcp4_parser.cc"
     break;
 
   case 858: // sender_port: "sender-port" ":" "integer"
-#line 2966 "dhcp4_parser.yy"
+#line 2967 "dhcp4_parser.yy"
                                        {
     ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
 }
-#line 4637 "dhcp4_parser.cc"
+#line 4638 "dhcp4_parser.cc"
     break;
 
   case 859: // max_queue_size: "max-queue-size" ":" "integer"
-#line 2972 "dhcp4_parser.yy"
+#line 2973 "dhcp4_parser.yy"
                                              {
     ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
 }
-#line 4647 "dhcp4_parser.cc"
+#line 4648 "dhcp4_parser.cc"
     break;
 
   case 860: // $@134: %empty
-#line 2978 "dhcp4_parser.yy"
+#line 2979 "dhcp4_parser.yy"
                            {
     ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NCR_PROTOCOL);
 }
-#line 4656 "dhcp4_parser.cc"
+#line 4657 "dhcp4_parser.cc"
     break;
 
   case 861: // ncr_protocol: "ncr-protocol" $@134 ":" ncr_protocol_value
-#line 2981 "dhcp4_parser.yy"
+#line 2982 "dhcp4_parser.yy"
                            {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4665 "dhcp4_parser.cc"
+#line 4666 "dhcp4_parser.cc"
     break;
 
   case 862: // ncr_protocol_value: "udp"
-#line 2987 "dhcp4_parser.yy"
+#line 2988 "dhcp4_parser.yy"
         { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 4671 "dhcp4_parser.cc"
+#line 4672 "dhcp4_parser.cc"
     break;
 
   case 863: // ncr_protocol_value: "tcp"
-#line 2988 "dhcp4_parser.yy"
+#line 2989 "dhcp4_parser.yy"
         { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 4677 "dhcp4_parser.cc"
+#line 4678 "dhcp4_parser.cc"
     break;
 
   case 864: // $@135: %empty
-#line 2991 "dhcp4_parser.yy"
+#line 2992 "dhcp4_parser.yy"
                        {
     ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NCR_FORMAT);
 }
-#line 4686 "dhcp4_parser.cc"
+#line 4687 "dhcp4_parser.cc"
     break;
 
   case 865: // ncr_format: "ncr-format" $@135 ":" "JSON"
-#line 2994 "dhcp4_parser.yy"
+#line 2995 "dhcp4_parser.yy"
              {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
     ctx.leave();
 }
-#line 4696 "dhcp4_parser.cc"
+#line 4697 "dhcp4_parser.cc"
     break;
 
   case 866: // $@136: %empty
-#line 3002 "dhcp4_parser.yy"
+#line 3003 "dhcp4_parser.yy"
                                {
     ctx.unique("config-control", ctx.loc2pos(yystack_[0].location));
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4705,48 +4705,48 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(i);
     ctx.enter(ctx.CONFIG_CONTROL);
 }
-#line 4708 "dhcp4_parser.cc"
+#line 4709 "dhcp4_parser.cc"
     break;
 
   case 867: // config_control: "config-control" $@136 ":" "{" config_control_params "}"
-#line 3008 "dhcp4_parser.yy"
+#line 3009 "dhcp4_parser.yy"
                                                             {
     // No config control params are required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4718 "dhcp4_parser.cc"
+#line 4719 "dhcp4_parser.cc"
     break;
 
   case 868: // $@137: %empty
-#line 3014 "dhcp4_parser.yy"
+#line 3015 "dhcp4_parser.yy"
                                    {
     // Parse the config-control map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 4728 "dhcp4_parser.cc"
+#line 4729 "dhcp4_parser.cc"
     break;
 
   case 869: // sub_config_control: "{" $@137 config_control_params "}"
-#line 3018 "dhcp4_parser.yy"
+#line 3019 "dhcp4_parser.yy"
                                        {
     // No config_control params are required
     // parsing completed
 }
-#line 4737 "dhcp4_parser.cc"
+#line 4738 "dhcp4_parser.cc"
     break;
 
   case 872: // config_control_params: config_control_params ","
-#line 3026 "dhcp4_parser.yy"
+#line 3027 "dhcp4_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 4745 "dhcp4_parser.cc"
+#line 4746 "dhcp4_parser.cc"
     break;
 
   case 875: // $@138: %empty
-#line 3036 "dhcp4_parser.yy"
+#line 3037 "dhcp4_parser.yy"
                                    {
     ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4754,30 +4754,30 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CONFIG_DATABASE);
 }
-#line 4757 "dhcp4_parser.cc"
+#line 4758 "dhcp4_parser.cc"
     break;
 
   case 876: // config_databases: "config-databases" $@138 ":" "[" database_list "]"
-#line 3042 "dhcp4_parser.yy"
+#line 3043 "dhcp4_parser.yy"
                                                       {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4766 "dhcp4_parser.cc"
+#line 4767 "dhcp4_parser.cc"
     break;
 
   case 877: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer"
-#line 3047 "dhcp4_parser.yy"
+#line 3048 "dhcp4_parser.yy"
                                                              {
     ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
     ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-fetch-wait-time", value);
 }
-#line 4776 "dhcp4_parser.cc"
+#line 4777 "dhcp4_parser.cc"
     break;
 
   case 878: // $@139: %empty
-#line 3055 "dhcp4_parser.yy"
+#line 3056 "dhcp4_parser.yy"
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4785,83 +4785,83 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 4788 "dhcp4_parser.cc"
+#line 4789 "dhcp4_parser.cc"
     break;
 
   case 879: // loggers: "loggers" $@139 ":" "[" loggers_entries "]"
-#line 3061 "dhcp4_parser.yy"
+#line 3062 "dhcp4_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4797 "dhcp4_parser.cc"
+#line 4798 "dhcp4_parser.cc"
     break;
 
   case 882: // loggers_entries: loggers_entries ","
-#line 3070 "dhcp4_parser.yy"
+#line 3071 "dhcp4_parser.yy"
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
-#line 4805 "dhcp4_parser.cc"
+#line 4806 "dhcp4_parser.cc"
     break;
 
   case 883: // $@140: %empty
-#line 3076 "dhcp4_parser.yy"
+#line 3077 "dhcp4_parser.yy"
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 4815 "dhcp4_parser.cc"
+#line 4816 "dhcp4_parser.cc"
     break;
 
   case 884: // logger_entry: "{" $@140 logger_params "}"
-#line 3080 "dhcp4_parser.yy"
+#line 3081 "dhcp4_parser.yy"
                                {
     ctx.stack_.pop_back();
 }
-#line 4823 "dhcp4_parser.cc"
+#line 4824 "dhcp4_parser.cc"
     break;
 
   case 887: // logger_params: logger_params ","
-#line 3086 "dhcp4_parser.yy"
+#line 3087 "dhcp4_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 4831 "dhcp4_parser.cc"
+#line 4832 "dhcp4_parser.cc"
     break;
 
   case 895: // debuglevel: "debuglevel" ":" "integer"
-#line 3100 "dhcp4_parser.yy"
+#line 3101 "dhcp4_parser.yy"
                                      {
     ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
     ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 4841 "dhcp4_parser.cc"
+#line 4842 "dhcp4_parser.cc"
     break;
 
   case 896: // $@141: %empty
-#line 3106 "dhcp4_parser.yy"
+#line 3107 "dhcp4_parser.yy"
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4850 "dhcp4_parser.cc"
+#line 4851 "dhcp4_parser.cc"
     break;
 
   case 897: // severity: "severity" $@141 ":" "constant string"
-#line 3109 "dhcp4_parser.yy"
+#line 3110 "dhcp4_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 4860 "dhcp4_parser.cc"
+#line 4861 "dhcp4_parser.cc"
     break;
 
   case 898: // $@142: %empty
-#line 3115 "dhcp4_parser.yy"
+#line 3116 "dhcp4_parser.yy"
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4869,122 +4869,122 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 4872 "dhcp4_parser.cc"
+#line 4873 "dhcp4_parser.cc"
     break;
 
   case 899: // output_options_list: "output-options" $@142 ":" "[" output_options_list_content "]"
-#line 3121 "dhcp4_parser.yy"
+#line 3122 "dhcp4_parser.yy"
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4881 "dhcp4_parser.cc"
+#line 4882 "dhcp4_parser.cc"
     break;
 
   case 902: // output_options_list_content: output_options_list_content ","
-#line 3128 "dhcp4_parser.yy"
+#line 3129 "dhcp4_parser.yy"
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
-#line 4889 "dhcp4_parser.cc"
+#line 4890 "dhcp4_parser.cc"
     break;
 
   case 903: // $@143: %empty
-#line 3133 "dhcp4_parser.yy"
+#line 3134 "dhcp4_parser.yy"
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 4899 "dhcp4_parser.cc"
+#line 4900 "dhcp4_parser.cc"
     break;
 
   case 904: // output_entry: "{" $@143 output_params_list "}"
-#line 3137 "dhcp4_parser.yy"
+#line 3138 "dhcp4_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 4907 "dhcp4_parser.cc"
+#line 4908 "dhcp4_parser.cc"
     break;
 
   case 907: // output_params_list: output_params_list ","
-#line 3143 "dhcp4_parser.yy"
+#line 3144 "dhcp4_parser.yy"
                                              {
                       ctx.warnAboutExtraCommas(yystack_[0].location);
                       }
-#line 4915 "dhcp4_parser.cc"
+#line 4916 "dhcp4_parser.cc"
     break;
 
   case 913: // $@144: %empty
-#line 3155 "dhcp4_parser.yy"
+#line 3156 "dhcp4_parser.yy"
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4924 "dhcp4_parser.cc"
+#line 4925 "dhcp4_parser.cc"
     break;
 
   case 914: // output: "output" $@144 ":" "constant string"
-#line 3158 "dhcp4_parser.yy"
+#line 3159 "dhcp4_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 4934 "dhcp4_parser.cc"
+#line 4935 "dhcp4_parser.cc"
     break;
 
   case 915: // flush: "flush" ":" "boolean"
-#line 3164 "dhcp4_parser.yy"
+#line 3165 "dhcp4_parser.yy"
                            {
     ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
     ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 4944 "dhcp4_parser.cc"
+#line 4945 "dhcp4_parser.cc"
     break;
 
   case 916: // maxsize: "maxsize" ":" "integer"
-#line 3170 "dhcp4_parser.yy"
+#line 3171 "dhcp4_parser.yy"
                                {
     ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 4954 "dhcp4_parser.cc"
+#line 4955 "dhcp4_parser.cc"
     break;
 
   case 917: // maxver: "maxver" ":" "integer"
-#line 3176 "dhcp4_parser.yy"
+#line 3177 "dhcp4_parser.yy"
                              {
     ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 4964 "dhcp4_parser.cc"
+#line 4965 "dhcp4_parser.cc"
     break;
 
   case 918: // $@145: %empty
-#line 3182 "dhcp4_parser.yy"
+#line 3183 "dhcp4_parser.yy"
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4973 "dhcp4_parser.cc"
+#line 4974 "dhcp4_parser.cc"
     break;
 
   case 919: // pattern: "pattern" $@145 ":" "constant string"
-#line 3185 "dhcp4_parser.yy"
+#line 3186 "dhcp4_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
-#line 4983 "dhcp4_parser.cc"
+#line 4984 "dhcp4_parser.cc"
     break;
 
   case 920: // $@146: %empty
-#line 3191 "dhcp4_parser.yy"
+#line 3192 "dhcp4_parser.yy"
                              {
     ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location));
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4992,68 +4992,68 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(i);
     ctx.enter(ctx.COMPATIBILITY);
 }
-#line 4995 "dhcp4_parser.cc"
+#line 4996 "dhcp4_parser.cc"
     break;
 
   case 921: // compatibility: "compatibility" $@146 ":" "{" compatibility_params "}"
-#line 3197 "dhcp4_parser.yy"
+#line 3198 "dhcp4_parser.yy"
                                                            {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 5004 "dhcp4_parser.cc"
+#line 5005 "dhcp4_parser.cc"
     break;
 
   case 924: // compatibility_params: compatibility_params ","
-#line 3204 "dhcp4_parser.yy"
+#line 3205 "dhcp4_parser.yy"
                                                  {
                         ctx.warnAboutExtraCommas(yystack_[0].location);
                         }
-#line 5012 "dhcp4_parser.cc"
+#line 5013 "dhcp4_parser.cc"
     break;
 
   case 930: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean"
-#line 3216 "dhcp4_parser.yy"
+#line 3217 "dhcp4_parser.yy"
                                                              {
     ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lenient-option-parsing", b);
 }
-#line 5022 "dhcp4_parser.cc"
+#line 5023 "dhcp4_parser.cc"
     break;
 
   case 931: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean"
-#line 3222 "dhcp4_parser.yy"
+#line 3223 "dhcp4_parser.yy"
                                                                    {
     ctx.unique("ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ignore-dhcp-server-identifier", b);
 }
-#line 5032 "dhcp4_parser.cc"
+#line 5033 "dhcp4_parser.cc"
     break;
 
   case 932: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean"
-#line 3228 "dhcp4_parser.yy"
+#line 3229 "dhcp4_parser.yy"
                                                              {
     ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ignore-rai-link-selection", b);
 }
-#line 5042 "dhcp4_parser.cc"
+#line 5043 "dhcp4_parser.cc"
     break;
 
   case 933: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean"
-#line 3234 "dhcp4_parser.yy"
+#line 3235 "dhcp4_parser.yy"
                                                            {
     ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("exclude-first-last-24", b);
 }
-#line 5052 "dhcp4_parser.cc"
+#line 5053 "dhcp4_parser.cc"
     break;
 
 
-#line 5056 "dhcp4_parser.cc"
+#line 5057 "dhcp4_parser.cc"
 
             default:
               break;
@@ -5405,156 +5405,156 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short Dhcp4Parser::yypact_ninf_ = -1343;
+  const short Dhcp4Parser::yypact_ninf_ = -1336;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short
   Dhcp4Parser::yypact_[] =
   {
-     436, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343,    41,    43,    48,    50,    54,    63,
-      66,    68,    78,    86,   116,   124,   161,   169, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,    43,  -136,   103,   164,   690,
-      97,  1358,   110,   168,    23,    94,   287,   -98,   452,   137,
-   -1343,   140,   175,   160,   181,   201,   -21, -1343,    73, -1343,
-   -1343, -1343, -1343,   206,   209,   235, -1343, -1343, -1343,   238,
-     270, -1343, -1343, -1343,   280,   296,   327,   335,   363,   366,
-     373,   385,   386,   396,   399, -1343,   410,   411,   413,   414,
-     415, -1343, -1343, -1343,   421,   424,   425,   428, -1343, -1343,
-   -1343,   429, -1343, -1343, -1343, -1343, -1343,   430,   431,   432,
-   -1343, -1343, -1343, -1343, -1343,   433, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   434,   437,   438, -1343, -1343,   439, -1343,
-      75, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   440,   441,   442,   443, -1343,   101, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,   445, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   102, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343,   446, -1343, -1343, -1343, -1343, -1343,   129, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343,   244,   260, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-     315, -1343, -1343,   447, -1343, -1343, -1343,   448, -1343, -1343,
-     333,   450, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,   451,   453,   454, -1343, -1343,
-   -1343, -1343, -1343,   361,   456, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   144,
-   -1343, -1343, -1343,   458, -1343,   459, -1343,   460,   464, -1343,
-   -1343, -1343, -1343, -1343,   154, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,   465,   155, -1343, -1343, -1343,
-   -1343,    43,    43, -1343,   213, -1343,   466, -1343, -1343,   468,
-     469,   470,   224,   226,   230,   471,   474,   476,   253,   252,
-     481,   483,   484,   262,   264,   267,   268,   269,   273,   281,
-     288,   289,   279,   291,   485,   293,   294,   295,   297,   298,
-     494,   519,   527,   303,   304,   308,   310,   528,   531,   534,
-     314,   539,   540,   541,   542,   543,   318,   320,   322,   549,
-     552,   553,   555,   556,   334,   559,   564,   565,   566,   568,
-     569,   570,   345,   348,   349,   577,   578, -1343,   690, -1343,
-     579,   580,   581,   356,   358,   362,   368,    97, -1343,   587,
-     589,   594,   597,   599,   600,   377,   602,   604,   605,   607,
-    1358, -1343,   612,   389,   110, -1343,   617,   618,   619,   620,
-     623,   625,   627,   628, -1343,   168, -1343,   637,   638,   416,
-     639,   641,   642,   418, -1343,    94,   659,   435,   444,   457,
-     660, -1343,   287,   662,   664,   105, -1343,   461,   665,   449,
-     666,   455,   462,   667,   668,   452, -1343,   669,   467,   137,
-   -1343, -1343, -1343,   671,   673,   674,   675,   679, -1343, -1343,
-   -1343,   472,   473,   480, -1343, -1343,   682,   686,   689, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-     482, -1343, -1343, -1343, -1343, -1343,  -129,   486,   488, -1343,
-   -1343, -1343, -1343,   691,   692,   693, -1343,   490,   189,   703,
-     704,   491, -1343, -1343, -1343,   707,   725,   726,   727,   728,
-   -1343,   729,   730,   733,   732,   734,   506,   507, -1343, -1343,
-   -1343,   735,   736, -1343,   737,   203,   337, -1343, -1343, -1343,
-   -1343, -1343,   517,   518,   520,   741,   521,   524, -1343,   737,
-     737,   554,   772, -1343,   557, -1343, -1343,   737,   558,   560,
-     561,   562,   563,   571,   572, -1343,   573,   575, -1343,   576,
-     588,   590, -1343, -1343,   591, -1343, -1343, -1343,   737, -1343,
-     592,   704, -1343, -1343,   593, -1343,   596, -1343, -1343,    18,
-     601, -1343,   775, -1343, -1343,    43,   690,   137,    97,   352,
-   -1343, -1343, -1343,   302,   302,   779, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,   785,   786,   790, -1343, -1343,
-   -1343, -1343, -1343, -1343,   799, -1343, -1343, -1343,   153,   800,
-     801,   807,   258,   139,   257,   809,   197,   452, -1343, -1343,
-     814,  -124, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   817, -1343, -1343, -1343, -1343, -1343,   535,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343,   779, -1343,   157,   167,   174, -1343,
-   -1343,   184, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   821,
-     822,   823,   824,   825,   826,   827,   829,   830,   832, -1343,
-     833,   834, -1343, -1343, -1343, -1343, -1343,   190, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343,   191, -1343,   672,   836, -1343, -1343,   835,   837, -1343,
-   -1343,   838,   842, -1343, -1343,   840,   846, -1343, -1343,   844,
-     848, -1343, -1343, -1343, -1343, -1343, -1343,    91, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,    92, -1343, -1343,   847,   849,
-   -1343, -1343,   850,   851, -1343,   853,   854,   855,   856,   857,
-     858,   211, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   859,
-     860,   861, -1343,   219, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   863, -1343,   864, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   225, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,   865,   852, -1343,   868, -1343,   869, -1343,
-   -1343, -1343,   228, -1343, -1343, -1343, -1343, -1343,   229, -1343,
-     108, -1343,   870,   871,   872,   873, -1343,   247, -1343, -1343,
-   -1343, -1343, -1343,   651, -1343,   874,   866, -1343, -1343,   875,
-   -1343,   876, -1343, -1343, -1343,   877,   880,   352, -1343,   887,
-     888,   889,   890,   670,   649,   676,   677,   678,   680,   681,
-     683,   684,   685,   891,   688,   687,   892,   893,   896,   897,
-     302, -1343, -1343,   302, -1343,   779,  1358, -1343,   785,    94,
-   -1343,   786,   287, -1343,   790,  1462, -1343,   799,   153, -1343,
-     151,   800, -1343,   168, -1343,   801,   -98, -1343,   807,   694,
-     695,   696,   697,   698,   699,   258, -1343,   700,   701,   705,
-     139, -1343,   898,   899,   901,   706,   906,   702,   910,   257,
-   -1343,   257, -1343,   809,   708,   912,   709,   915,   197, -1343,
-   -1343,   132,   814, -1343,   710,   711,   712,   713,  -124, -1343,
-   -1343,   914,   918,   110, -1343,   817,   924, -1343, -1343,   717,
-     718, -1343,   719,   720,   721,   722, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343,   342, -1343, -1343,   723,
-     724,   731,   738, -1343,   248, -1343,   259, -1343,   923, -1343,
-     927, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   261,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343,   932,   935, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343,   944,   950, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343,   946, -1343,   278, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343,   251,   742,   753, -1343,   948, -1343,   951, -1343,   305,
-   -1343, -1343,   756, -1343,    43, -1343, -1343,   955, -1343, -1343,
-   -1343, -1343, -1343,   306, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,   759,   307, -1343,   737, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343,  1462, -1343,   957,
-     958,   760,   764, -1343,   151, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343,    11,   991, -1343, -1343, -1343,   960,   771,
-     999,   132, -1343, -1343, -1343, -1343, -1343,   778,   780, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   317,
-   -1343, -1343, -1343, -1343, -1343, -1343,  1007,  1012, -1343,  1011,
-   -1343,   796, -1343, -1343, -1343,  1025,  1029,  1033,  1034,    11,
-   -1343,    30, -1343,   991,  1036, -1343,   879,   813,   820,  1043,
-   -1343,   439, -1343, -1343, -1343, -1343, -1343,   319, -1343, -1343,
-   -1343,   136, -1343, -1343, -1343, -1343, -1343,  1046,    30, -1343,
-     186,  1036, -1343, -1343,  1044,  1052, -1343, -1343, -1343,  1054,
-    1059,  1065, -1343,   326, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343,    58, -1343,  1046,  1072,   883,   900,   904,  1076,   186,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   365, -1343,
-   -1343, -1343, -1343,   902, -1343, -1343, -1343,   907, -1343,  1080,
-    1097,    58, -1343, -1343, -1343,   909,   911, -1343, -1343, -1343
+     510, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336,    65,    30,    56,    82,    90,    98,
+     110,   118,   178,   180,   244,   256,   262,   301, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336,    30,  -157,   141,   160,    88,   688,
+     337,   558,   -11,   269,   -39,   -98,   452,   249, -1336,    77,
+     132,   149,   161,   154, -1336,   115, -1336, -1336, -1336, -1336,
+     297,   310,   328, -1336, -1336, -1336,   340,   357, -1336, -1336,
+   -1336,   360,   364,   384,   441,   443,   444,   445,   449,   450,
+     453,   454, -1336,   456,   462,   465,   466,   469, -1336, -1336,
+   -1336,   471,   472,   474,   475, -1336, -1336, -1336,   476, -1336,
+   -1336, -1336, -1336, -1336,   478,   479,   481, -1336, -1336, -1336,
+   -1336, -1336,   483, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     484,   486,   489, -1336, -1336,   490, -1336,   125, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     491,   494,   501,   504, -1336,   128, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336,   511, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   131, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   512,
+   -1336, -1336, -1336, -1336, -1336,   138, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336,   302,   322, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,   374, -1336, -1336,
+     513, -1336, -1336, -1336,   517, -1336, -1336,   409,   520, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336,   521,   522,   523, -1336, -1336, -1336, -1336, -1336,
+     524,   526, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336,   144, -1336, -1336, -1336,
+     527, -1336,   529, -1336,   530,   531, -1336, -1336, -1336, -1336,
+   -1336,   146, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336,   532,   156, -1336, -1336, -1336, -1336,    30,    30,
+   -1336,   303,   534, -1336, -1336,   537,   538,   540,   315,   316,
+     318,   546,   547,   550,   327,   330,   553,   557,   566,   344,
+     345,   347,   348,   351,   352,   349,   356,   359,   358,   365,
+     570,   368,   370,   373,   376,   379,   576,   600,   604,   380,
+     381,   385,   386,   617,   619,   620,   397,   622,   623,   624,
+     625,   626,   401,   402,   414,   637,   638,   639,   642,   644,
+     421,   646,   648,   649,   650,   651,   652,   653,   429,   430,
+     431,   658,   659, -1336,   160, -1336,   660,   662,   663,   438,
+     439,   442,   446,    88, -1336,   667,   671,   672,   673,   674,
+     676,   457,   680,   683,   684,   685,   688, -1336,   694,   477,
+     337, -1336,   695,   698,   702,   703,   704,   705,   706,   707,
+   -1336,   558, -1336,   709,   710,   487,   712,   713,   733,   508,
+   -1336,   269,   735,   514,   515,   516,   736, -1336,   -39,   737,
+     738,   147, -1336,   519,   739,   535,   758,   536,   548,   761,
+     776,   452, -1336,   778,   555,   249, -1336, -1336, -1336,   780,
+     779,   781,   782,   783, -1336, -1336, -1336,   560,   564,   565,
+   -1336, -1336,   788,   789,   792, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336,   571, -1336, -1336, -1336,
+   -1336, -1336,  -143,   572,   574, -1336, -1336, -1336, -1336,   805,
+     806,   809, -1336,   588,   243,   811,   810,   592, -1336, -1336,
+   -1336,   816,   817,   818,   819,   820, -1336,   822,   823,   821,
+     824,   825,   598,   606, -1336, -1336, -1336,   829,   828, -1336,
+     831,   306,   321, -1336, -1336, -1336, -1336, -1336,   610,   611,
+     612,   835,   614,   615, -1336,   831,   831,   616,   837, -1336,
+     618, -1336, -1336,   831,   621,   627,   628,   629,   630,   631,
+     632, -1336,   633,   634, -1336,   635,   636,   640, -1336, -1336,
+     641, -1336, -1336, -1336,   831, -1336,   643,   810, -1336, -1336,
+     645, -1336,   647, -1336, -1336,    18,   656, -1336,   842, -1336,
+   -1336,    30,   160,   249,    88,   408, -1336, -1336, -1336,   350,
+     350,   843, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   844,   845,   846, -1336, -1336, -1336, -1336, -1336, -1336,
+     857, -1336, -1336, -1336,   150,   858,   859,   862,    62,   140,
+     259,   864,   341,   452, -1336, -1336,   866,  -112, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   868,
+   -1336, -1336, -1336, -1336, -1336,   708, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     843, -1336,   164,   165,   167, -1336, -1336,   176, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   872,   873,   874,   875,   876,
+     877,   878,   881,   882,   883, -1336,   884,   885, -1336, -1336,
+   -1336, -1336, -1336,   197, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,   214, -1336,   886,
+     887, -1336, -1336,   888,   890, -1336, -1336,   889,   893, -1336,
+   -1336,   891,   895, -1336, -1336,   894,   896, -1336, -1336, -1336,
+   -1336, -1336, -1336,   175, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   198, -1336, -1336,   897,   898, -1336, -1336,   899,   901,
+   -1336,   902,   903,   904,   905,   906,   907,   215, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   908,   909,   910, -1336,   285,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   912,
+   -1336,   913, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   295,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   914,
+     915, -1336,   917, -1336,   918, -1336, -1336, -1336,   296, -1336,
+   -1336, -1336, -1336, -1336,   308, -1336,   264, -1336,   919,   920,
+     921,   922, -1336,   323, -1336, -1336, -1336, -1336, -1336,   664,
+   -1336,   923,   916, -1336, -1336,   924, -1336,   925, -1336, -1336,
+   -1336,   926,   929,   408, -1336,   930,   931,   932,   933,   699,
+     711,   700,   714,   715,   717,   718,   719,   720,   721,   934,
+     722,   723,   935,   936,   938,   946,   350, -1336, -1336,   350,
+   -1336,   843,   688, -1336,   844,   269, -1336,   845,   -39, -1336,
+     846,  1342, -1336,   857,   150, -1336,   313,   858, -1336,   558,
+   -1336,   859,   -98, -1336,   862,   725,   726,   728,   729,   731,
+     732,    62, -1336,   748,   734,   753,   140, -1336,   959,   961,
+     980,   760,   988,   766,   993,   259, -1336,   259, -1336,   864,
+     771,   999,   777,  1007,   341, -1336, -1336,   -21,   866, -1336,
+     784,   791,   797,   800,  -112, -1336, -1336,  1013,  1028,   337,
+   -1336,   868,  1031, -1336, -1336,   675,   814, -1336,   847,   851,
+     855,   892, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336,    22, -1336, -1336,   900,   911,   927,   928, -1336,
+     331, -1336,   335, -1336,  1030, -1336,  1036, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   346, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,  1032,  1041,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336,  1038,  1048, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336,  1076, -1336,   377, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,    54,   937,   939,
+   -1336,  1114, -1336,  1121, -1336,   378, -1336, -1336,   940, -1336,
+      30, -1336, -1336,  1124, -1336, -1336, -1336, -1336, -1336,   411,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   941,   412, -1336,   831, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336,  1342, -1336,  1125,  1126,   942,   943, -1336,
+     313, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,    51,
+    1127, -1336, -1336, -1336,  1128,   947,  1129,   -21, -1336, -1336,
+   -1336, -1336, -1336,   944,   949, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   413, -1336, -1336, -1336, -1336,
+   -1336, -1336,  1130,  1132, -1336,  1134, -1336,   951, -1336, -1336,
+   -1336,  1133,  1136,  1137,  1138,    51, -1336,   162, -1336,  1127,
+    1139, -1336,   964,   952,   953,  1140, -1336, -1336, -1336, -1336,
+   -1336, -1336,   423, -1336, -1336, -1336, -1336,   294, -1336, -1336,
+   -1336, -1336, -1336,  1141,  1143,   162, -1336,   -86,  1139, -1336,
+   -1336,  1144,  1146, -1336,   954, -1336, -1336,  1147,  1148,  1149,
+   -1336,   426, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   135,
+   -1336,  1141, -1336,  1152,   955,   956,   958,  1153,   -86, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,   435, -1336, -1336,
+   -1336, -1336,   960, -1336, -1336, -1336,   962, -1336,  1154,  1155,
+     135, -1336, -1336, -1336,   963,   965, -1336, -1336, -1336
   };
 
   const short
@@ -5563,590 +5563,566 @@ namespace isc { namespace dhcp {
        0,     2,     4,     6,     8,    10,    12,    14,    16,    18,
       20,    22,    24,    26,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     1,    44,
-      36,    32,   773,    31,    28,    29,    30,    35,     3,    33,
-      34,    59,     5,    65,     7,   208,     9,   385,    11,   602,
-      13,   632,    15,   517,    17,   526,    19,   565,    21,   347,
-      23,   836,    25,   868,    27,    46,    39,     0,     0,     0,
-       0,     0,     0,   634,     0,   528,   567,     0,     0,     0,
-      48,     0,    47,     0,     0,    40,     0,    61,     0,    63,
-     866,   193,   226,     0,     0,     0,   654,   656,   658,     0,
-       0,   224,   237,   239,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   150,     0,     0,     0,     0,
-       0,   161,   168,   170,     0,     0,     0,     0,   376,   515,
-     556,     0,   153,   174,   459,   619,   621,     0,     0,     0,
-     309,   681,   623,   338,   359,     0,   324,   718,   720,   817,
-     834,   181,   183,     0,     0,     0,   878,   920,     0,   138,
-       0,    67,    70,    71,    72,    73,    74,   108,   109,   110,
-     111,   112,    75,   104,   134,   135,    93,    94,    95,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,   114,
-     115,   126,   127,   128,   130,   131,   132,   136,   137,    78,
-      79,   101,    80,    81,    82,   129,    86,    87,    76,   105,
-     106,   107,    77,    84,    85,    99,   100,   102,    96,    97,
-      98,    83,    88,    89,    90,    91,    92,   103,   113,   133,
-     210,   212,   216,     0,     0,     0,     0,   207,     0,   195,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   441,
-     443,   445,   593,   439,   447,     0,   451,   453,   449,   676,
-     438,   390,   391,   392,   393,   394,   418,   419,   420,   421,
-     422,   436,   408,   409,   423,   424,   425,   426,   427,   428,
-     429,   430,   431,   432,   433,   434,   435,   437,     0,   387,
-     397,   413,   414,   415,   398,   400,   401,   402,   404,   405,
-     406,   399,   395,   396,   416,   417,   403,   410,   411,   412,
-     407,   616,     0,   615,   610,   611,   612,   609,     0,   604,
-     607,   608,   613,   614,   674,   660,   662,   664,   668,   666,
-     672,   670,   653,   647,   651,   652,     0,   635,   636,   648,
-     649,   650,   644,   639,   645,   641,   642,   643,   646,   640,
-       0,   546,   283,     0,   550,   548,   553,     0,   542,   543,
-       0,   529,   530,   533,   545,   534,   535,   536,   552,   537,
-     538,   539,   540,   541,   584,     0,     0,     0,   591,   582,
-     583,   586,   587,     0,   568,   569,   572,   573,   574,   575,
-     576,   577,   578,   581,   579,   580,   355,   357,   352,     0,
-     349,   353,   354,     0,   853,     0,   856,     0,     0,   860,
-     864,   851,   849,   850,     0,   838,   841,   842,   843,   844,
-     845,   846,   847,   848,   875,     0,     0,   870,   873,   874,
-      45,    50,     0,    37,    43,   774,     0,    64,    60,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
+      59,     5,    65,     7,   208,     9,   385,    11,   602,    13,
+     632,    15,   517,    17,   526,    19,   565,    21,   347,    23,
+     836,    25,   868,    27,    46,    39,     0,     0,     0,     0,
+       0,   634,     0,   528,   567,     0,     0,     0,    48,     0,
+      47,     0,     0,    40,    61,     0,    63,   866,   193,   226,
+       0,     0,     0,   654,   656,   658,     0,     0,   224,   237,
+     239,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   150,     0,     0,     0,     0,     0,   161,   168,
+     170,     0,     0,     0,     0,   376,   515,   556,     0,   153,
+     174,   459,   619,   621,     0,     0,     0,   309,   681,   623,
+     338,   359,     0,   324,   718,   720,   817,   834,   181,   183,
+       0,     0,     0,   878,   920,     0,   138,     0,    67,    70,
+      71,    72,    73,    74,   108,   109,   110,   111,   112,    75,
+     104,   134,   135,    93,    94,    95,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   114,   115,   126,   127,
+     128,   130,   131,   132,   136,   137,    78,    79,   101,    80,
+      81,    82,   129,    86,    87,    76,   105,   106,   107,    77,
+      84,    85,    99,   100,   102,    96,    97,    98,    83,    88,
+      89,    90,    91,    92,   103,   113,   133,   210,   212,   216,
+       0,     0,     0,     0,   207,     0,   195,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   441,   443,   445,   593,
+     439,   447,     0,   451,   453,   449,   676,   438,   390,   391,
+     392,   393,   394,   418,   419,   420,   421,   422,   436,   408,
+     409,   423,   424,   425,   426,   427,   428,   429,   430,   431,
+     432,   433,   434,   435,   437,     0,   387,   397,   413,   414,
+     415,   398,   400,   401,   402,   404,   405,   406,   399,   395,
+     396,   416,   417,   403,   410,   411,   412,   407,   616,     0,
+     615,   610,   611,   612,   609,     0,   604,   607,   608,   613,
+     614,   674,   660,   662,   664,   668,   666,   672,   670,   653,
+     647,   651,   652,     0,   635,   636,   648,   649,   650,   644,
+     639,   645,   641,   642,   643,   646,   640,     0,   546,   283,
+       0,   550,   548,   553,     0,   542,   543,     0,   529,   530,
+     533,   545,   534,   535,   536,   552,   537,   538,   539,   540,
+     541,   584,     0,     0,     0,   591,   582,   583,   586,   587,
+       0,   568,   569,   572,   573,   574,   575,   576,   577,   578,
+     581,   579,   580,   355,   357,   352,     0,   349,   353,   354,
+       0,   853,     0,   856,     0,     0,   860,   864,   851,   849,
+     850,     0,   838,   841,   842,   843,   844,   845,   846,   847,
+     848,   875,     0,     0,   870,   873,   874,    45,    50,     0,
+      37,    43,     0,    64,    60,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    58,    69,    66,
-       0,     0,     0,     0,     0,     0,     0,   197,   209,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     389,   386,     0,     0,   606,   603,     0,     0,     0,     0,
-       0,     0,     0,     0,   633,   638,   518,     0,     0,     0,
-       0,     0,     0,     0,   527,   532,     0,     0,     0,     0,
-       0,   566,   571,     0,     0,   351,   348,     0,     0,     0,
-       0,     0,     0,     0,     0,   840,   837,     0,     0,   872,
-     869,    49,    41,     0,     0,     0,     0,     0,   155,   156,
-     157,     0,     0,     0,   191,   192,     0,     0,     0,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-       0,   186,   187,   158,   159,   160,     0,     0,     0,   172,
-     173,   180,   185,     0,     0,     0,   152,     0,     0,     0,
-       0,     0,   455,   456,   457,     0,     0,     0,     0,     0,
-     717,     0,     0,     0,     0,     0,     0,     0,   188,   189,
-     190,     0,     0,    68,     0,     0,     0,   220,   221,   222,
-     223,   196,     0,     0,     0,     0,     0,     0,   458,     0,
-       0,     0,     0,   388,     0,   618,   605,     0,     0,     0,
-       0,     0,     0,     0,     0,   637,     0,     0,   544,     0,
-       0,     0,   555,   531,     0,   588,   589,   590,     0,   570,
-       0,     0,   350,   852,     0,   855,     0,   858,   859,     0,
-       0,   839,     0,   877,   871,     0,     0,     0,     0,     0,
-     655,   657,   659,     0,     0,   241,   151,   163,   164,   165,
-     166,   167,   162,   169,   171,   378,   519,   558,   154,   176,
-     177,   178,   179,   175,   461,    38,   620,   622,     0,     0,
-     625,   340,     0,     0,     0,   722,     0,     0,   182,   184,
-       0,     0,    51,   211,   214,   215,   213,   218,   219,   217,
-     442,   444,   446,   595,   440,   448,   452,   454,   450,     0,
-     617,   675,   661,   663,   665,   669,   667,   673,   671,   547,
-     284,   551,   549,   554,   585,   592,   356,   358,   854,   857,
-     862,   863,   861,   865,   241,    42,     0,     0,     0,   233,
-     235,     0,   228,   231,   232,   274,   276,   278,   280,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
-       0,     0,   301,   303,   305,   307,   273,     0,   248,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
-     272,     0,   246,     0,   242,   243,   383,     0,   379,   380,
-     524,     0,   520,   521,   563,     0,   559,   560,   466,     0,
-     462,   463,   319,   320,   321,   322,   323,     0,   311,   314,
-     315,   316,   317,   318,   686,     0,   683,   630,     0,   626,
-     627,   345,     0,   341,   342,     0,     0,     0,     0,     0,
-       0,     0,   361,   364,   365,   366,   367,   368,   369,     0,
-       0,     0,   334,     0,   326,   329,   330,   331,   332,   333,
-     745,   750,   752,     0,   775,     0,   756,   744,   737,   738,
-     739,   742,   743,     0,   729,   732,   733,   734,   735,   740,
-     741,   736,   727,     0,   723,   724,     0,   829,     0,   832,
-     825,   826,     0,   819,   822,   823,   824,   827,     0,   883,
-       0,   880,     0,     0,     0,     0,   929,     0,   922,   925,
-     926,   927,   928,    53,   600,     0,   596,   597,   679,     0,
-     678,     0,    62,   867,   194,     0,     0,   230,   227,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    58,    69,    66,     0,     0,     0,     0,
+       0,     0,     0,   197,   209,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   389,   386,     0,     0,
+     606,   603,     0,     0,     0,     0,     0,     0,     0,     0,
+     633,   638,   518,     0,     0,     0,     0,     0,     0,     0,
+     527,   532,     0,     0,     0,     0,     0,   566,   571,     0,
+       0,   351,   348,     0,     0,     0,     0,     0,     0,     0,
+       0,   840,   837,     0,     0,   872,   869,    49,    41,     0,
+       0,     0,     0,     0,   155,   156,   157,     0,     0,     0,
+     191,   192,     0,     0,     0,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,     0,   186,   187,   158,
+     159,   160,     0,     0,     0,   172,   173,   180,   185,     0,
+       0,     0,   152,     0,     0,     0,     0,     0,   455,   456,
+     457,     0,     0,     0,     0,     0,   717,     0,     0,     0,
+       0,     0,     0,     0,   188,   189,   190,     0,     0,    68,
+       0,     0,     0,   220,   221,   222,   223,   196,     0,     0,
+       0,     0,     0,     0,   458,     0,     0,     0,     0,   388,
+       0,   618,   605,     0,     0,     0,     0,     0,     0,     0,
+       0,   637,     0,     0,   544,     0,     0,     0,   555,   531,
+       0,   588,   589,   590,     0,   570,     0,     0,   350,   852,
+       0,   855,     0,   858,   859,     0,     0,   839,     0,   877,
+     871,     0,     0,     0,     0,     0,   655,   657,   659,     0,
+       0,   241,   151,   163,   164,   165,   166,   167,   162,   169,
+     171,   378,   519,   558,   154,   176,   177,   178,   179,   175,
+     461,    38,   620,   622,     0,     0,   625,   340,     0,     0,
+       0,   722,     0,     0,   182,   184,     0,     0,    51,   211,
+     214,   215,   213,   218,   219,   217,   442,   444,   446,   595,
+     440,   448,   452,   454,   450,     0,   617,   675,   661,   663,
+     665,   669,   667,   673,   671,   547,   284,   551,   549,   554,
+     585,   592,   356,   358,   854,   857,   862,   863,   861,   865,
+     241,    42,     0,     0,     0,   233,   235,     0,   228,   231,
+     232,   274,   276,   278,   280,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   294,     0,     0,   301,   303,
+     305,   307,   273,     0,   248,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,     0,   246,     0,
+     242,   243,   383,     0,   379,   380,   524,     0,   520,   521,
+     563,     0,   559,   560,   466,     0,   462,   463,   319,   320,
+     321,   322,   323,     0,   311,   314,   315,   316,   317,   318,
+     686,     0,   683,   630,     0,   626,   627,   345,     0,   341,
+     342,     0,     0,     0,     0,     0,     0,     0,   361,   364,
+     365,   366,   367,   368,   369,     0,     0,     0,   334,     0,
+     326,   329,   330,   331,   332,   333,   745,   750,   752,     0,
+     775,     0,   756,   744,   737,   738,   739,   742,   743,     0,
+     729,   732,   733,   734,   735,   740,   741,   736,   727,     0,
+     723,   724,     0,   829,     0,   832,   825,   826,     0,   819,
+     822,   823,   824,   827,     0,   883,     0,   880,     0,     0,
+       0,     0,   929,     0,   922,   925,   926,   927,   928,    53,
+     600,     0,   596,   597,   679,     0,   678,     0,    62,   867,
+     194,     0,     0,   230,   227,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     250,   225,   238,     0,   240,   245,     0,   377,   382,   528,
-     516,   523,   567,   557,   562,     0,   460,   465,   313,   310,
-     688,   685,   682,   634,   624,   629,     0,   339,   344,     0,
-       0,     0,     0,     0,     0,   363,   360,     0,     0,     0,
-     328,   325,     0,     0,     0,     0,     0,     0,     0,   731,
-     719,     0,   721,   726,     0,     0,     0,     0,   821,   818,
-     835,     0,   882,   879,     0,     0,     0,     0,   924,   921,
-      55,     0,    54,     0,   594,   599,     0,   677,   876,     0,
-       0,   229,     0,     0,     0,     0,   282,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,     0,   299,   300,     0,
-       0,     0,     0,   249,     0,   244,     0,   381,     0,   522,
-       0,   561,   514,   489,   490,   491,   474,   475,   494,   495,
-     496,   497,   498,   512,   477,   478,   499,   500,   501,   502,
-     503,   504,   505,   506,   507,   508,   509,   510,   511,   513,
-     471,   472,   473,   486,   487,   488,   483,   484,   485,     0,
-     468,   476,   492,   493,   479,   480,   481,   482,   464,   312,
-     711,   713,     0,     0,   705,   706,   707,   708,   709,   710,
-     698,   699,   703,   704,   700,   701,   702,     0,   689,   690,
-     693,   694,   695,   696,   697,   684,     0,   628,     0,   343,
-     370,   371,   372,   373,   374,   375,   362,   335,   336,   337,
-     327,     0,     0,     0,   754,     0,   755,     0,   730,     0,
-     725,   828,     0,   831,     0,   820,   898,     0,   896,   894,
-     888,   892,   893,     0,   885,   890,   891,   889,   881,   930,
-     931,   932,   933,   923,    52,    57,     0,   598,     0,   234,
-     236,   275,   277,   279,   281,   296,   297,   298,   295,   302,
-     304,   306,   308,   247,   384,   525,   564,   470,   467,     0,
-       0,     0,     0,   687,   692,   631,   346,   747,   748,   749,
-     746,   751,   753,     0,   758,   728,   830,   833,     0,     0,
-       0,   887,   884,    56,   601,   680,   469,     0,     0,   715,
-     716,   691,   787,   790,   792,   794,   786,   785,   784,     0,
-     777,   780,   781,   782,   783,   763,     0,   759,   760,     0,
-     895,     0,   886,   712,   714,     0,     0,     0,     0,   779,
-     776,     0,   757,   762,     0,   897,     0,     0,     0,     0,
-     778,    31,   769,   772,   768,   770,   771,     0,   765,   761,
-     903,     0,   900,   789,   788,   791,   793,   796,   767,   764,
-       0,   902,   899,   801,     0,   797,   798,   766,   913,     0,
-       0,     0,   918,     0,   905,   908,   909,   910,   911,   912,
-     901,     0,   795,   800,     0,     0,     0,     0,     0,   907,
-     904,   813,   815,   812,   806,   808,   810,   811,     0,   803,
-     807,   809,   799,     0,   915,   916,   917,     0,   906,     0,
-       0,   805,   802,   914,   919,     0,     0,   804,   814,   816
+       0,     0,     0,     0,     0,     0,   250,   225,   238,     0,
+     240,   245,     0,   377,   382,   528,   516,   523,   567,   557,
+     562,     0,   460,   465,   313,   310,   688,   685,   682,   634,
+     624,   629,     0,   339,   344,     0,     0,     0,     0,     0,
+       0,   363,   360,     0,     0,     0,   328,   325,     0,     0,
+       0,     0,     0,     0,     0,   731,   719,     0,   721,   726,
+       0,     0,     0,     0,   821,   818,   835,     0,   882,   879,
+       0,     0,     0,     0,   924,   921,    55,     0,    54,     0,
+     594,   599,     0,   677,   876,     0,     0,   229,     0,     0,
+       0,     0,   282,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,     0,   299,   300,     0,     0,     0,     0,   249,
+       0,   244,     0,   381,     0,   522,     0,   561,   514,   489,
+     490,   491,   474,   475,   494,   495,   496,   497,   498,   512,
+     477,   478,   499,   500,   501,   502,   503,   504,   505,   506,
+     507,   508,   509,   510,   511,   513,   471,   472,   473,   486,
+     487,   488,   483,   484,   485,     0,   468,   476,   492,   493,
+     479,   480,   481,   482,   464,   312,   711,   713,     0,     0,
+     705,   706,   707,   708,   709,   710,   698,   699,   703,   704,
+     700,   701,   702,     0,   689,   690,   693,   694,   695,   696,
+     697,   684,     0,   628,     0,   343,   370,   371,   372,   373,
+     374,   375,   362,   335,   336,   337,   327,     0,     0,     0,
+     754,     0,   755,     0,   730,     0,   725,   828,     0,   831,
+       0,   820,   898,     0,   896,   894,   888,   892,   893,     0,
+     885,   890,   891,   889,   881,   930,   931,   932,   933,   923,
+      52,    57,     0,   598,     0,   234,   236,   275,   277,   279,
+     281,   296,   297,   298,   295,   302,   304,   306,   308,   247,
+     384,   525,   564,   470,   467,     0,     0,     0,     0,   687,
+     692,   631,   346,   747,   748,   749,   746,   751,   753,     0,
+     758,   728,   830,   833,     0,     0,     0,   887,   884,    56,
+     601,   680,   469,     0,     0,   715,   716,   691,   787,   790,
+     792,   794,   786,   785,   784,     0,   777,   780,   781,   782,
+     783,   763,     0,   759,   760,     0,   895,     0,   886,   712,
+     714,     0,     0,     0,     0,   779,   776,     0,   757,   762,
+       0,   897,     0,     0,     0,     0,   778,   773,   772,   768,
+     770,   771,     0,   765,   769,   761,   903,     0,   900,   789,
+     788,   791,   793,   796,     0,   767,   764,     0,   902,   899,
+     801,     0,   797,   798,     0,   766,   913,     0,     0,     0,
+     918,     0,   905,   908,   909,   910,   911,   912,   901,     0,
+     795,   800,   774,     0,     0,     0,     0,     0,   907,   904,
+     813,   815,   812,   806,   808,   810,   811,     0,   803,   807,
+     809,   799,     0,   915,   916,   917,     0,   906,     0,     0,
+     805,   802,   914,   919,     0,     0,   804,   814,   816
   };
 
   const short
   Dhcp4Parser::yypgoto_[] =
   {
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343,    -5, -1343,  -574, -1343,   426,
-   -1343, -1343, -1343, -1343, -1343, -1343,  -639, -1343, -1343, -1343,
-     -69, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   423,   629,
-     -39,    31,    46,   -59,   -31,   -18,     6,    25,    57,    59,
-   -1343, -1343, -1343, -1343,    62, -1343, -1343,    64,    65,    67,
-      69,    70,    72, -1343, -1343,    77, -1343,    80, -1343,    82,
-      83,    84, -1343, -1343,    85,    88, -1343,    90, -1343,    95,
-   -1343, -1343, -1343, -1343, -1343,    47, -1343, -1343, -1343,   422,
-     624, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-     145, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   339,
-   -1343,   119, -1343,  -707,   125, -1343, -1343, -1342, -1343, -1337,
-   -1343, -1343, -1343, -1343,   -47, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-    -743, -1343,  -739, -1343,  -731, -1343, -1343, -1343, -1343, -1343,
-   -1343,   109, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-      89, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   104, -1343,
-   -1343, -1343,   107,   583, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343,    99, -1343, -1343, -1343, -1343, -1343, -1343, -1009, -1343,
-   -1343, -1343,   118, -1343, -1343, -1343,   130,   621, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1002, -1343,   -67, -1343,
-     -25, -1343,   -14, -1343,    96,    98,   100, -1343, -1343, -1343,
-   -1343, -1343,   113, -1343, -1343,  -122,   -61, -1343, -1343, -1343,
-   -1343, -1343,   126, -1343, -1343, -1343,   131, -1343,   603, -1343,
-     -62, -1343, -1343, -1343, -1343, -1343,   -60, -1343, -1343, -1343,
-   -1343, -1343,   -29, -1343, -1343, -1343,   127, -1343, -1343, -1343,
-     133, -1343,   606, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343,    71, -1343, -1343,
-   -1343,    74,   630, -1343, -1343, -1343,   -51, -1343,    -4, -1343,
-     -53, -1343, -1343, -1343,   114, -1343, -1343, -1343,   120, -1343,
-     626,     9, -1343,    19, -1343,    35, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1001, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343,   121, -1343, -1343, -1343,  -115, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-     106, -1343,   111,   112, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343,  -173, -1343, -1343,
-    -196, -1343, -1343, -1343, -1343,  -166, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343,  -219, -1343, -1343,
-    -246, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   115, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   419,
-     608, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,   463,   598,
-   -1343, -1343, -1343, -1343, -1343, -1343,   117, -1343, -1343,  -123,
-   -1343, -1343, -1343, -1343, -1343, -1343,  -187, -1343, -1343,  -214,
-   -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343, -1343,
-     123, -1343, -1343, -1343, -1343
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336,   -53, -1336,  -588, -1336,   447,
+   -1336, -1336, -1336, -1336, -1336, -1336,  -632, -1336, -1336, -1336,
+     -67, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   448,   657,
+     -37,    33,    37,   -54,   -29,   -16,    27,    39,    55,    57,
+   -1336, -1336, -1336, -1336,    58, -1336, -1336,    61,    63,    68,
+      69,    71,    73, -1336, -1336,    74, -1336,    75, -1336,    76,
+      79,    81, -1336, -1336,    86,    87, -1336,    89, -1336,    91,
+   -1336, -1336, -1336, -1336, -1336,    45, -1336, -1336, -1336,   451,
+     661, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     169, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   343,
+   -1336,   142, -1336,  -697,   153, -1336, -1336, -1335, -1336, -1325,
+   -1336, -1336, -1336, -1336,   -45, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+    -738, -1336,  -737, -1336,  -732, -1336, -1336, -1336, -1336, -1336,
+   -1336,   136, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     126, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   139, -1336,
+   -1336, -1336,   151,   654, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   137, -1336, -1336, -1336, -1336, -1336, -1336, -1005, -1336,
+   -1336, -1336,   170, -1336, -1336, -1336,   173,   665, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1001, -1336,   -65, -1336,
+     -23, -1336,   -18, -1336,    92,    93,    94, -1336, -1336, -1336,
+   -1336, -1336,   163, -1336, -1336,   -76,   -62, -1336, -1336, -1336,
+   -1336, -1336,   171, -1336, -1336, -1336,   174, -1336,   666, -1336,
+     -58, -1336, -1336, -1336, -1336, -1336,   -57, -1336, -1336, -1336,
+   -1336, -1336,   -27, -1336, -1336, -1336,   172, -1336, -1336, -1336,
+     177, -1336,   668, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,   109, -1336, -1336,
+   -1336,   112,   677, -1336, -1336, -1336,   -49, -1336,    -2, -1336,
+     -55, -1336, -1336, -1336,   168, -1336, -1336, -1336,   181, -1336,
+     669,    11, -1336,    17, -1336,    21, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1000, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   166, -1336, -1336, -1336,   -69, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     143, -1336,   158,   182, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336,  -135, -1336, -1336,
+    -151, -1336, -1336, -1336, -1336, -1336,  -119, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,  -170, -1336,
+   -1336,  -197, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   155,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+     480,   670, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   525,
+     679, -1336, -1336, -1336, -1336, -1336, -1336,   159, -1336, -1336,
+     -70, -1336, -1336, -1336, -1336, -1336, -1336,  -136, -1336, -1336,
+    -164, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
+   -1336,   179, -1336, -1336, -1336, -1336
   };
 
   const short
   Dhcp4Parser::yydefgoto_[] =
   {
        0,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,  1352,    38,    39,    66,   746,
-      84,    85,    40,    65,    81,    82,   763,   983,  1091,  1092,
-     836,    42,    68,    88,   436,    89,    44,    69,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   464,   174,   175,   481,   176,   177,   178,   179,
-     180,   181,   182,   470,   732,   183,   471,   184,   472,   185,
-     186,   187,   482,   743,   188,   189,   500,   190,   501,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   440,   238,
-     239,    46,    70,   240,   510,   241,   511,   766,   242,   512,
-     769,   243,   244,   245,   246,   200,   450,   201,   441,   811,
-     812,   813,   995,   814,   996,   202,   451,   203,   452,   863,
-     864,   865,  1023,   837,   838,   839,   999,   840,  1000,   841,
-    1001,   842,  1002,   843,   844,   548,   845,   846,   847,   848,
-     849,   850,   851,   852,   853,   854,  1013,  1268,   855,   856,
-     857,  1016,   858,  1017,   859,  1018,   860,  1019,   204,   489,
-     887,   888,   889,   890,   891,   892,   893,   205,   495,   923,
-     924,   925,   926,   927,   206,   492,   902,   903,   904,  1046,
-      60,    77,   399,   400,   401,   563,   402,   564,   207,   493,
-     911,   912,   913,   914,   915,   916,   917,   918,   208,   477,
-     867,   868,   869,  1026,    48,    71,   288,   289,   290,   523,
-     291,   519,   292,   520,   293,   521,   294,   524,   295,   528,
-     296,   526,   297,   527,   209,   210,   211,   301,   212,   483,
-     879,   880,   881,  1035,  1169,  1170,   213,   478,    54,    74,
-     871,   872,   873,  1029,    56,    75,   360,   361,   362,   363,
-     364,   365,   366,   547,   367,   551,   368,   550,   369,   370,
-     552,   371,   214,   479,   875,   876,   877,  1032,    58,    76,
-     383,   384,   385,   386,   387,   556,   388,   389,   390,   391,
-     392,   393,   560,   303,   522,   985,   986,   987,  1093,    50,
-      72,   318,   319,   320,   532,   321,   215,   484,   216,   485,
-     217,   491,   898,   899,   900,  1043,    52,    73,   336,   337,
-     338,   218,   445,   219,   446,   220,   447,   342,   537,   343,
-     538,   344,   539,   345,   541,   346,   540,   347,   543,   348,
-     542,   349,   536,   310,   529,   989,   990,  1096,   221,   490,
-     895,   896,  1040,  1197,  1198,  1199,  1200,  1201,  1279,  1202,
-    1280,  1203,  1204,   222,   223,   496,   224,   497,   953,   954,
-     955,  1071,   943,   944,   945,  1062,  1290,   946,  1063,   947,
-    1064,   948,   949,   950,  1068,  1326,  1327,  1328,  1341,  1357,
-    1358,    67,   951,  1066,  1319,  1320,  1321,  1335,  1364,  1322,
-    1336,  1323,  1337,  1324,  1338,  1374,  1375,  1376,  1391,  1408,
-    1409,  1410,  1419,  1411,  1420,   225,   498,   962,   963,   964,
-     965,  1075,   966,   967,  1077,   226,   499,    62,    78,   414,
-     415,   416,   417,   568,   418,   419,   570,   420,   421,   422,
-     573,   802,   423,   574,   227,   439,    64,    79,   426,   427,
-     428,   577,   429,   228,   505,   970,   971,  1081,  1243,  1244,
-    1245,  1246,  1300,  1247,  1298,  1361,  1362,  1370,  1383,  1384,
-    1385,  1394,  1386,  1387,  1388,  1389,  1398,   229,   506,   977,
-     978,   979,   980,   981,   982
+      23,    24,    25,    26,    27,    36,    37,    38,    65,   742,
+      82,    83,    39,    64,    79,    80,   759,   979,  1087,  1088,
+     832,    41,    66,    85,   432,    86,    43,    67,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   460,   171,   172,   477,   173,   174,   175,   176,
+     177,   178,   179,   466,   728,   180,   467,   181,   468,   182,
+     183,   184,   478,   739,   185,   186,   496,   187,   497,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   436,   235,
+     236,    45,    68,   237,   506,   238,   507,   762,   239,   508,
+     765,   240,   241,   242,   243,   197,   446,   198,   437,   807,
+     808,   809,   991,   810,   992,   199,   447,   200,   448,   859,
+     860,   861,  1019,   833,   834,   835,   995,   836,   996,   837,
+     997,   838,   998,   839,   840,   544,   841,   842,   843,   844,
+     845,   846,   847,   848,   849,   850,  1009,  1264,   851,   852,
+     853,  1012,   854,  1013,   855,  1014,   856,  1015,   201,   485,
+     883,   884,   885,   886,   887,   888,   889,   202,   491,   919,
+     920,   921,   922,   923,   203,   488,   898,   899,   900,  1042,
+      59,    75,   396,   397,   398,   559,   399,   560,   204,   489,
+     907,   908,   909,   910,   911,   912,   913,   914,   205,   473,
+     863,   864,   865,  1022,    47,    69,   285,   286,   287,   519,
+     288,   515,   289,   516,   290,   517,   291,   520,   292,   524,
+     293,   522,   294,   523,   206,   207,   208,   298,   209,   479,
+     875,   876,   877,  1031,  1165,  1166,   210,   474,    53,    72,
+     867,   868,   869,  1025,    55,    73,   357,   358,   359,   360,
+     361,   362,   363,   543,   364,   547,   365,   546,   366,   367,
+     548,   368,   211,   475,   871,   872,   873,  1028,    57,    74,
+     380,   381,   382,   383,   384,   552,   385,   386,   387,   388,
+     389,   390,   556,   300,   518,   981,   982,   983,  1089,    49,
+      70,   315,   316,   317,   528,   318,   212,   480,   213,   481,
+     214,   487,   894,   895,   896,  1039,    51,    71,   333,   334,
+     335,   215,   441,   216,   442,   217,   443,   339,   533,   340,
+     534,   341,   535,   342,   537,   343,   536,   344,   539,   345,
+     538,   346,   532,   307,   525,   985,   986,  1092,   218,   486,
+     891,   892,  1036,  1193,  1194,  1195,  1196,  1197,  1275,  1198,
+    1276,  1199,  1200,   219,   220,   492,   221,   493,   949,   950,
+     951,  1067,   939,   940,   941,  1058,  1286,   942,  1059,   943,
+    1060,   944,   945,   946,  1064,  1322,  1323,  1324,  1337,  1352,
+    1353,  1354,  1364,   947,  1062,  1315,  1316,  1317,  1331,  1360,
+    1318,  1332,  1319,  1333,  1320,  1334,  1371,  1372,  1373,  1389,
+    1407,  1408,  1409,  1418,  1410,  1419,   222,   494,   958,   959,
+     960,   961,  1071,   962,   963,  1073,   223,   495,    61,    76,
+     411,   412,   413,   414,   564,   415,   416,   566,   417,   418,
+     419,   569,   798,   420,   570,   224,   435,    63,    77,   423,
+     424,   425,   573,   426,   225,   501,   966,   967,  1077,  1239,
+    1240,  1241,  1242,  1296,  1243,  1294,  1357,  1358,  1367,  1381,
+    1382,  1383,  1393,  1384,  1385,  1386,  1387,  1397,   226,   502,
+     973,   974,   975,   976,   977,   978
   };
 
   const short
   Dhcp4Parser::yytable_[] =
   {
-     159,   237,   260,   313,   332,   314,   358,   379,   398,   411,
-      37,   938,   264,   350,   381,   939,   382,   861,   306,   247,
-     304,   322,   334,   940,   372,   394,  1161,   412,   359,   380,
-     776,   777,   261,  1162,  1177,    29,   800,    30,   781,    31,
-     265,    28,   302,   317,   333,   396,   397,   315,    29,  1404,
-      30,  1312,    31,   266,  1405,    41,   745,    43,   316,   795,
-      80,    45,   727,   728,   729,   730,   248,   305,   323,   335,
-      47,   373,   395,    49,   413,    51,   437,   267,   508,  1404,
-     307,   438,   339,   509,  1405,    53,   972,   973,   974,   975,
-     308,    83,   340,    55,  1038,  1041,   268,  1039,  1042,   816,
-     817,   731,   262,   158,   517,   530,   309,    86,   341,   518,
-     531,  1082,   230,   231,  1083,   129,   232,   263,   287,   233,
-     234,   235,   236,    57,   352,   135,   136,   745,   269,   158,
-     270,    59,   534,   271,   351,   272,   273,   535,   274,  1371,
-     275,   276,  1372,   277,   135,   136,   430,   565,   278,   424,
-     425,   279,   566,   280,   281,   282,   283,   575,   579,   284,
-     508,   285,   576,   580,   432,   992,   286,   298,    61,   299,
-     579,   300,   135,   136,    87,   993,    63,   517,   431,  1313,
-    1314,  1315,   994,    96,    97,    98,    99,   997,   352,   433,
-     353,   354,   998,  1020,  1020,   355,   356,   357,  1021,  1022,
-      96,    97,    98,   130,   434,    32,   435,   801,   135,   136,
-     442,   135,   136,   443,  1055,   104,   105,   106,    32,  1056,
-     764,   765,  1060,   311,   135,   136,   352,  1061,  1069,  1401,
-    1402,  1078,   575,  1070,   256,   257,  1079,  1080,   158,   444,
-     258,   312,   448,   129,   130,   352,   135,   136,   396,   397,
-    1088,  1020,   544,   135,   136,  1089,  1273,  1351,    34,    35,
-      36,   130,   530,   545,  1277,   135,   136,  1274,  1161,  1278,
-      33,    34,    35,    36,   449,  1162,  1177,  1180,  1181,  1182,
-    1183,   565,   135,   136,   453,   158,  1286,   882,   883,   884,
-     885,   324,   886,   919,   920,   921,   739,   740,   741,   742,
-     454,   325,   326,   327,   328,   329,   330,   331,  1069,  1301,
-     534,   135,   136,  1295,  1302,  1304,  1124,   832,   833,   834,
-    1339,   158,  1368,   546,   158,  1340,   938,  1369,   938,  1399,
-     939,   455,   939,  1236,  1400,  1237,  1238,   158,   940,   456,
-     940,   554,   815,   816,   817,   818,   819,   820,   821,   822,
-     823,   824,   825,   826,   827,   828,   829,   767,   768,   158,
-     830,   831,   832,   833,   834,   835,   158,   457,  1421,   561,
-     458,   135,   136,  1422,   956,   957,   958,   459,   158,   809,
-     810,   352,   374,   353,   354,   375,   376,   377,  1378,   460,
-     461,  1379,  1380,  1381,  1382,   158,   352,  1265,  1266,  1267,
-     462,   135,   136,   463,   905,   906,   907,   908,   909,   910,
-     378,  1287,  1288,  1289,   465,   466,   930,   467,   468,   469,
-     931,   932,   933,   934,   959,   473,   581,   582,   474,   475,
-     935,   936,   476,   480,   486,   487,   488,   494,   502,   159,
-     583,   503,   504,   507,   513,   514,   515,   516,   237,   525,
-     533,   549,   553,   555,   588,   557,   589,   558,   559,   562,
-     590,   260,   567,   569,   571,   313,   247,   314,   572,   578,
-     584,   264,   585,   586,   587,   591,   332,   306,   592,   304,
-     593,   594,   595,   322,   158,   596,   358,   597,   598,   610,
-     599,   261,   600,   379,   334,   601,   602,   603,   616,   265,
-     381,   302,   382,   604,   372,   317,   411,   608,   359,   315,
-     605,   394,   266,   248,   158,   380,   333,   606,   607,   609,
-     316,   611,   612,   617,   412,   613,   305,   614,   615,   158,
-     323,   618,   623,   619,   620,   624,   267,   621,   625,   307,
-     622,   335,   626,   627,   628,   629,   630,   631,   632,   308,
-     633,   373,   634,   635,   339,   268,   636,   637,   395,   638,
-     639,   262,   640,   641,   340,   309,   135,   136,   642,   643,
-     644,   413,   645,   646,   647,   648,   263,   287,   649,   650,
-     341,   651,   652,   654,   655,   656,   657,   269,   658,   270,
-     659,   662,   271,   663,   272,   273,   660,   274,   664,   275,
-     276,   665,   277,   666,   667,   668,   669,   278,   670,   671,
-     279,   672,   280,   281,   282,   283,   674,   675,   284,  1305,
-     285,   677,   678,   679,   680,   286,   298,   681,   299,   682,
-     300,   683,   684,   403,   404,   405,   406,   407,   408,   409,
-     410,   686,   687,   689,   688,   690,   691,   159,   692,   237,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,   694,   698,   695,   700,   247,   701,   704,
-     706,   709,   710,   712,   696,   715,   988,   705,  1024,   158,
-     716,   717,   718,   707,   922,   937,   719,   697,   411,   723,
-     708,   703,   976,   724,   725,   713,   735,   736,   737,   720,
-     721,    90,   928,   941,    91,   960,   412,   722,   744,   726,
-     805,    30,   748,   733,   248,   734,    92,   738,   747,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     749,   750,   751,   758,   759,   752,   753,   754,   755,   756,
-     760,   757,   762,   761,   770,   771,   773,   772,   774,   929,
-     942,   775,   961,   413,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   779,
-     804,   778,   129,   130,   780,   782,   862,   783,   784,   785,
-     786,   803,   866,   870,   131,   132,   133,   874,   787,   788,
-     789,   134,   790,   791,   135,   136,   878,   894,   897,   137,
-     138,   139,   140,   141,   901,   792,   952,   793,   794,   796,
-     798,   969,   142,   799,   984,  1003,  1004,  1005,  1006,  1007,
-    1008,  1009,   143,  1010,  1011,   144,  1012,  1014,  1015,  1025,
-    1028,  1027,   145,   146,  1030,  1031,  1033,   147,   148,  1034,
-    1036,  1037,  1045,  1044,  1048,  1073,  1047,  1049,  1050,  1051,
-    1052,  1053,  1054,  1057,  1058,  1059,   149,  1065,  1067,  1095,
-     150,  1072,  1074,  1076,  1084,  1085,  1086,  1087,  1090,  1107,
-    1094,  1099,  1098,  1097,  1100,   151,   152,   153,   154,   155,
-     156,  1102,  1103,  1104,  1105,  1116,  1119,  1120,  1106,   157,
-    1121,  1122,  1221,  1222,  1108,  1223,  1110,  1109,  1111,  1112,
-    1225,  1113,  1114,  1115,  1227,  1118,  1232,   158,  1117,  1234,
-    1254,  1255,  1210,  1211,  1212,  1213,  1214,  1215,  1258,  1218,
-    1217,  1275,  1226,  1219,  1224,  1276,  1281,  1233,  1231,  1282,
-    1249,  1250,  1251,  1252,  1259,  1260,  1261,  1262,  1263,  1264,
-    1269,  1270,  1283,  1284,  1285,  1293,  1294,   260,  1271,  1299,
-     358,  1307,  1308,   379,  1329,  1272,  1132,   264,  1163,  1291,
-     381,  1184,   382,   306,   332,   304,  1136,   398,   372,  1190,
-    1292,   394,   359,  1296,  1172,   380,  1303,   261,  1160,  1192,
-    1309,   922,   334,  1189,  1310,   265,  1133,   302,  1325,  1330,
-     937,  1185,   937,  1331,  1137,  1333,  1171,  1334,   266,   928,
-    1164,  1191,  1239,  1342,   333,  1343,  1344,  1138,   941,   976,
-     941,  1165,   305,  1345,   313,   373,   314,   960,   395,  1346,
-    1241,  1173,   267,  1347,  1240,   307,  1193,  1348,  1349,   335,
-    1365,  1139,   322,  1360,  1174,   308,  1363,  1366,  1367,  1194,
-    1392,   268,   339,  1373,  1175,  1393,   929,   262,  1395,  1195,
-    1140,   309,   340,  1396,   317,   942,  1134,   942,   315,  1397,
-    1176,  1186,   263,   287,   961,  1196,  1413,  1242,   341,   316,
-    1417,  1135,  1159,   269,  1425,   270,  1187,  1188,   271,   323,
-     272,   273,  1141,   274,  1142,   275,   276,  1143,   277,  1144,
-    1145,  1426,  1146,   278,  1147,  1148,   279,  1149,   280,   281,
-     282,   283,  1150,  1414,   284,  1151,   285,  1152,  1153,  1154,
-    1155,   286,   298,  1156,   299,  1157,   300,   797,  1415,  1423,
-    1158,  1166,  1416,  1167,  1424,  1168,  1428,   653,  1429,   806,
-     808,   661,  1101,   991,  1125,  1123,  1127,  1179,   702,  1220,
-    1178,   673,  1209,  1208,  1216,  1306,  1126,  1129,   693,  1207,
-    1128,  1131,  1205,  1206,   676,  1130,  1257,  1256,   699,  1311,
-    1359,   685,  1377,  1350,  1412,  1427,   968,   714,  1332,  1230,
-     807,  1228,  1229,   711,  1390,  1418,     0,     0,     0,     0,
-       0,     0,     0,  1235,     0,     0,     0,     0,     0,  1248,
-       0,     0,     0,     0,     0,     0,     0,     0,  1132,     0,
-    1163,  1253,     0,     0,     0,  1184,     0,     0,  1136,     0,
-       0,     0,     0,  1190,  1316,     0,  1172,     0,     0,  1297,
-    1160,     0,  1239,  1192,     0,     0,     0,  1189,  1133,     0,
-       0,     0,  1317,     0,     0,  1185,  1137,     0,  1171,     0,
-    1241,     0,  1164,     0,  1240,  1191,     0,     0,     0,  1138,
-       0,     0,     0,  1165,     0,     0,     0,     0,     0,     0,
-    1316,     0,  1353,  1173,     0,     0,     0,     0,     0,     0,
-    1193,     0,     0,  1139,     0,     0,  1174,     0,  1317,  1318,
-    1355,     0,     0,  1194,  1354,     0,  1175,  1242,     0,  1353,
-       0,     0,  1140,  1195,     0,     0,     0,     0,  1134,     0,
-       0,     0,  1176,     0,     0,  1186,     0,  1355,     0,  1196,
-       0,  1354,  1403,  1135,  1159,     0,     0,     0,     0,     0,
-    1187,  1188,     0,     0,  1141,  1318,  1142,  1356,     0,  1143,
-    1406,  1144,  1145,     0,  1146,     0,  1147,  1148,     0,  1149,
-       0,     0,  1403,     0,  1150,     0,     0,  1151,     0,  1152,
-    1153,  1154,  1155,     0,  1356,  1156,     0,  1157,     0,     0,
-    1406,     0,  1158,  1166,     0,  1167,     0,  1168,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1407,    94,    95,
-      96,    97,    98,    99,     0,     0,     0,     0,     0,     0,
+     156,   234,   257,   310,   329,   311,   355,   376,   395,   408,
+     347,    78,   934,   935,   303,   261,   378,   379,   936,   244,
+     301,   319,   331,   857,   369,   391,  1157,   409,   356,   377,
+    1158,  1173,   258,   772,   773,    29,   796,    30,   741,    31,
+     262,   777,   299,   314,   330,   393,   394,   312,   723,   724,
+     725,   726,   313,   263,  1403,   349,   371,   350,   351,   372,
+     373,   374,   791,    40,  1404,    28,   245,   302,   320,   332,
+      81,   370,   392,   349,   410,   132,   133,  1261,  1262,  1263,
+     304,   126,   336,   427,   375,  1403,   305,   727,   337,    42,
+     306,  1308,   338,   132,   133,  1404,   264,    44,   968,   969,
+     970,   971,   259,   227,   228,    46,   260,   229,   265,   741,
+     230,   231,   232,   233,   284,   155,  1376,    48,   433,  1377,
+    1378,  1379,  1380,   434,   266,    50,   267,   268,   504,   155,
+     269,   513,   270,   505,   526,   428,   514,   271,   272,   527,
+     273,   530,   274,   275,   276,   277,   531,   561,   278,   571,
+     279,    84,   562,   429,   572,   280,   281,   431,   282,   575,
+     283,   295,   296,   297,   576,   132,   133,   504,   575,   430,
+     513,    87,   988,   989,    88,   990,   812,   813,  1034,   993,
+    1232,  1035,  1233,  1234,   994,    52,    89,    54,   155,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+    1016,  1037,   132,   133,  1038,  1017,   155,   797,   901,   902,
+     903,   904,   905,   906,  1283,  1284,  1285,  1016,  1051,  1309,
+    1310,  1311,  1018,  1052,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   132,
+     133,    56,   126,   127,   132,   133,   349,    32,    33,    34,
+      35,   421,   422,    58,   128,   129,   130,  1078,  1157,    60,
+    1079,   131,  1158,  1173,   132,   133,   132,   133,   155,   134,
+     135,   136,   137,   138,   878,   879,   880,   881,  1056,   882,
+     393,   394,   139,  1057,   915,   916,   917,  1368,  1065,  1074,
+    1369,   438,   140,  1066,  1075,   141,  1400,  1401,    62,   348,
+     540,   571,   142,   143,   439,   155,  1076,   144,   145,   828,
+     829,   830,  1120,   760,   761,   541,  1084,   934,   935,   934,
+     935,  1085,   440,   936,  1016,   936,   146,  1347,   526,  1269,
+     147,   763,   764,  1270,   444,    93,    94,    95,    96,  1273,
+     735,   736,   737,   738,  1274,   148,   149,   150,   151,   152,
+     153,   445,   155,   349,   449,   350,   351,   155,   450,   154,
+     352,   353,   354,   132,   133,   577,   578,   101,   102,   103,
+     561,  1065,   542,   132,   133,  1282,  1291,   155,   451,   155,
+     811,   812,   813,   814,   815,   816,   817,   818,   819,   820,
+     821,   822,   823,   824,   825,   126,   127,   349,   826,   827,
+     828,   829,   830,   831,  1297,   530,  1335,   550,   926,  1298,
+    1300,  1336,   927,   928,   929,   930,  1365,   132,   133,  1398,
+     127,  1366,   931,   932,  1399,   805,   806,   156,  1420,  1176,
+    1177,  1178,  1179,  1421,   349,   452,   234,   453,   454,   455,
+     308,   132,   133,   456,   457,   132,   133,   458,   459,   257,
+     461,   253,   254,   310,   244,   311,   462,   255,   309,   463,
+     464,   303,   261,   465,   329,   469,   470,   301,   471,   472,
+     476,   319,   482,   483,   355,   484,   155,   490,   498,   258,
+     499,   376,   331,   500,   503,   509,   155,   262,   510,   299,
+     378,   379,   369,   314,   408,   511,   356,   312,   512,   391,
+     263,   245,   313,   377,   330,   521,   529,   545,   952,   953,
+     954,   549,   409,   551,   302,   553,   554,   555,   320,   558,
+     579,   563,   557,   565,   567,   568,   574,   304,   580,   332,
+     155,   581,   582,   305,   583,   584,   585,   306,   586,   370,
+     587,   588,   336,   264,   589,   590,   392,   592,   337,   259,
+     591,   593,   338,   260,   155,   265,   132,   133,   955,   410,
+     594,   284,   595,   596,   606,   597,   598,   155,   601,   599,
+     612,   266,   600,   267,   268,   602,   604,   269,   603,   270,
+      93,    94,    95,   605,   271,   272,   607,   273,   608,   274,
+     275,   276,   277,   609,   613,   278,   610,   279,   614,   611,
+     615,   616,   280,   281,   617,   282,   618,   283,   295,   296,
+     297,   619,  1301,   620,   621,   622,   623,   624,   625,   626,
+     627,   628,   629,   400,   401,   402,   403,   404,   405,   406,
+     407,   631,   632,   633,   630,   156,   634,   234,   635,   636,
+     637,   127,   638,   639,   640,   641,   642,   643,   801,   644,
+     645,   646,   647,   648,   650,   244,   651,   652,   653,   654,
+     655,   658,   132,   133,   656,   659,   660,   661,   662,   155,
+     663,   321,   918,   933,   665,   664,   408,   666,   667,   668,
+     972,   322,   323,   324,   325,   326,   327,   328,   670,   673,
+     924,   937,   674,   956,   409,   671,   675,   676,   677,   678,
+     679,   680,   245,   682,   683,   684,   685,   686,    91,    92,
+      93,    94,    95,    96,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,   687,   688,   690,
+     694,   696,   697,   700,   691,   692,   693,   925,   938,   699,
+     957,   410,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   702,   701,   703,   705,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   704,   246,   247,   248,
+     706,   127,   708,   709,   711,   155,   712,   716,   713,   714,
+     715,   717,   718,   129,   130,   719,   720,   721,   722,   729,
+     249,   730,   132,   133,   250,   251,   252,   134,   135,   136,
+     731,   732,   253,   254,   733,   734,   740,    30,   255,   743,
+     139,   744,   745,   746,   747,   754,   751,   748,   256,   749,
+     750,   752,   753,   755,   756,   757,   758,   766,   767,   768,
+     769,   770,   771,   774,   775,   776,   799,   800,   778,   984,
+     858,   862,   866,   870,   779,   780,   781,   782,   783,   784,
+     785,   786,   787,   788,   874,   890,   893,   789,   790,   897,
+     792,   948,   794,   965,   795,   980,   999,  1000,  1001,  1002,
+    1003,  1004,  1005,   148,   149,  1006,  1007,  1008,  1010,  1011,
+    1021,  1086,  1020,  1024,  1023,  1026,  1027,  1029,  1030,  1033,
+    1032,  1041,  1255,  1040,  1044,  1043,  1045,  1046,  1047,  1048,
+    1049,  1050,  1053,  1054,  1055,   155,  1061,  1063,  1069,  1091,
+    1068,  1070,  1072,  1080,  1081,  1082,  1083,  1102,  1104,  1090,
+    1095,  1094,  1093,  1096,  1098,  1099,  1100,  1101,  1112,  1115,
+    1116,  1103,  1117,  1106,  1105,  1107,  1108,  1109,  1110,  1111,
+    1118,  1114,  1113,  1206,  1207,   257,  1208,  1209,   355,  1210,
+    1211,   376,  1214,  1217,  1128,  1218,  1159,   303,   261,  1180,
+     378,   379,   329,   301,  1186,   395,   369,  1132,  1213,   391,
+     356,  1215,  1168,   377,  1219,   258,  1156,  1188,  1220,   918,
+     331,  1185,  1221,   262,  1129,   299,  1222,  1223,   933,  1181,
+     933,  1227,  1133,  1228,  1167,  1229,   263,   924,  1160,  1187,
+    1235,  1230,   330,  1161,  1245,  1134,   937,   972,   937,  1250,
+     302,  1246,   310,   370,   311,   956,   392,  1247,  1237,  1169,
+    1248,  1251,  1236,   304,  1189,  1254,  1277,   332,  1271,   305,
+     319,  1256,  1170,   306,  1272,  1278,  1279,  1190,  1171,   264,
+     336,  1280,  1172,  1191,   925,   259,   337,  1192,  1135,   260,
+     338,   265,   314,   938,  1130,   938,   312,   284,  1131,  1182,
+    1136,   313,   957,  1183,  1257,  1238,  1155,   266,  1258,   267,
+     268,  1184,  1259,   269,  1281,   270,  1137,   320,  1138,  1139,
+     271,   272,  1140,   273,  1141,   274,   275,   276,   277,  1142,
+    1143,   278,  1144,   279,  1145,  1146,  1147,  1148,   280,   281,
+    1149,   282,  1150,   283,   295,   296,   297,  1151,  1152,  1260,
+    1153,  1289,  1154,  1162,  1163,  1164,  1290,  1265,  1295,  1303,
+    1304,  1359,  1325,  1327,  1321,  1339,  1338,  1342,  1266,  1340,
+    1343,  1344,  1345,   987,   793,  1363,  1356,  1374,  1370,  1391,
+    1390,  1394,  1395,  1396,  1267,  1268,  1412,  1416,  1424,  1425,
+     802,   649,  1097,  1121,  1287,   804,  1288,  1292,  1299,  1119,
+    1175,  1329,  1305,  1306,   657,  1326,  1330,  1293,  1341,  1361,
+    1362,  1392,  1216,  1205,  1414,  1413,  1415,  1422,  1212,  1423,
+    1427,   669,  1428,  1204,  1123,  1122,  1174,  1302,  1125,  1124,
+    1253,  1252,  1127,  1201,  1355,  1126,  1128,   672,  1159,  1203,
+     681,  1307,  1226,  1180,  1375,   698,  1346,   689,  1186,  1132,
+    1202,  1411,  1312,  1426,  1168,  1225,   695,  1328,  1156,  1231,
+    1235,  1188,  1388,   964,  1417,  1185,  1129,  1244,   803,     0,
+    1313,   707,     0,  1181,  1133,     0,  1167,  1224,  1237,     0,
+    1160,     0,  1236,  1187,   710,  1161,     0,  1134,     0,     0,
+       0,     0,     0,  1249,     0,     0,     0,     0,  1312,     0,
+    1348,  1169,     0,     0,     0,     0,     0,     0,  1189,     0,
+       0,     0,     0,     0,  1170,     0,  1313,  1314,  1350,     0,
+    1171,  1190,  1349,     0,  1172,  1238,     0,  1191,  1348,     0,
+    1135,  1192,     0,     0,     0,     0,  1130,     0,     0,     0,
+    1131,     0,  1136,  1182,     0,     0,  1350,  1183,  1155,     0,
+    1349,     0,  1402,     0,     0,  1184,     0,     0,  1137,     0,
+    1138,  1139,     0,  1314,  1140,  1351,  1141,     0,     0,     0,
+    1405,  1142,  1143,     0,  1144,     0,  1145,  1146,  1147,  1148,
+       0,     0,  1149,  1402,  1150,     0,     0,     0,     0,  1151,
+    1152,     0,  1153,  1351,  1154,  1162,  1163,  1164,     0,     0,
+       0,  1405,    91,    92,    93,    94,    95,    96,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1406,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1407,     0,     0,
-       0,     0,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,     0,     0,     0,     0,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,     0,   249,   250,   251,
-       0,   130,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   132,   133,     0,     0,     0,     0,     0,
-     252,     0,   135,   136,   253,   254,   255,   137,   138,   139,
-       0,     0,   256,   257,     0,     0,     0,     0,   258,     0,
-     142,     0,    94,    95,    96,    97,    98,    99,   259,     0,
+       0,     0,     0,     0,     0,     0,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,     0,     0,  1406,     0,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,     0,     0,     0,     0,   127,   349,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   129,   130,     0,
+       0,     0,     0,     0,     0,     0,   132,   133,     0,   251,
+       0,   134,   135,   136,     0,     0,   253,   254,     0,     0,
+       0,     0,   255,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   256,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,     0,     0,     0,     0,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,     0,     0,   151,   152,   130,   352,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   132,   133,     0,
-       0,     0,     0,     0,     0,     0,   135,   136,     0,   254,
-       0,   137,   138,   139,     0,   158,   256,   257,     0,     0,
-       0,     0,   258,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   259,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   148,   149,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   151,   152,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   158
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   155
   };
 
   const short
   Dhcp4Parser::yycheck_[] =
   {
-      69,    70,    71,    72,    73,    72,    75,    76,    77,    78,
-      15,   754,    71,    74,    76,   754,    76,   724,    71,    70,
-      71,    72,    73,   754,    75,    76,  1035,    78,    75,    76,
-     669,   670,    71,  1035,  1035,     5,    18,     7,   677,     9,
-      71,     0,    71,    72,    73,   143,   144,    72,     5,  1391,
-       7,    40,     9,    71,  1391,     7,   630,     7,    72,   698,
-      65,     7,   191,   192,   193,   194,    70,    71,    72,    73,
-       7,    75,    76,     7,    78,     7,     3,    71,     3,  1421,
-      71,     8,    73,     8,  1421,     7,   210,   211,   212,   213,
-      71,   227,    73,     7,     3,     3,    71,     6,     6,    41,
-      42,   230,    71,   227,     3,     3,    71,     4,    73,     8,
-       8,     3,    15,    16,     6,    92,    19,    71,    71,    22,
-      23,    24,    25,     7,    94,   114,   115,   701,    71,   227,
-      71,     7,     3,    71,    40,    71,    71,     8,    71,     3,
-      71,    71,     6,    71,   114,   115,     6,     3,    71,    12,
-      13,    71,     8,    71,    71,    71,    71,     3,     3,    71,
-       3,    71,     8,     8,     4,     8,    71,    71,     7,    71,
-       3,    71,   114,   115,    10,     8,     7,     3,     3,   168,
-     169,   170,     8,    32,    33,    34,    35,     3,    94,     8,
-      96,    97,     8,     3,     3,   101,   102,   103,     8,     8,
-      32,    33,    34,    93,     3,   175,   227,   189,   114,   115,
-       4,   114,   115,     4,     3,    64,    65,    66,   175,     8,
-      17,    18,     3,   113,   114,   115,    94,     8,     3,   171,
-     172,     3,     3,     8,   124,   125,     8,     8,   227,     4,
-     130,   131,     4,    92,    93,    94,   114,   115,   143,   144,
-       3,     3,     8,   114,   115,     8,     8,   227,   228,   229,
-     230,    93,     3,     3,     3,   114,   115,     8,  1277,     8,
-     227,   228,   229,   230,     4,  1277,  1277,   126,   127,   128,
-     129,     3,   114,   115,     4,   227,     8,   134,   135,   136,
-     137,   123,   139,   154,   155,   156,   107,   108,   109,   110,
-       4,   133,   134,   135,   136,   137,   138,   139,     3,     3,
-       3,   114,   115,     8,     8,     8,  1023,    60,    61,    62,
-       3,   227,     3,     8,   227,     8,  1069,     8,  1071,     3,
-    1069,     4,  1071,   201,     8,   203,   204,   227,  1069,     4,
-    1071,     8,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    20,    21,   227,
-      58,    59,    60,    61,    62,    63,   227,     4,     3,     8,
-       4,   114,   115,     8,   177,   178,   179,     4,   227,    27,
-      28,    94,    95,    96,    97,    98,    99,   100,   202,     4,
-       4,   205,   206,   207,   208,   227,    94,    55,    56,    57,
-       4,   114,   115,     4,   146,   147,   148,   149,   150,   151,
-     123,   160,   161,   162,     4,     4,   159,     4,     4,     4,
-     163,   164,   165,   166,   227,     4,   431,   432,     4,     4,
-     173,   174,     4,     4,     4,     4,     4,     4,     4,   508,
-     227,     4,     4,     4,     4,     4,     4,     4,   517,     4,
-       4,     4,     4,     3,   230,     4,   230,     4,     4,     3,
-     230,   530,     4,     4,     4,   534,   517,   534,     4,     4,
-       4,   530,     4,     4,     4,     4,   545,   530,     4,   530,
-       4,   228,   230,   534,   227,     4,   555,     4,     4,     4,
-     228,   530,   228,   562,   545,   228,   228,   228,     4,   530,
-     562,   530,   562,   230,   555,   534,   575,   228,   555,   534,
-     229,   562,   530,   517,   227,   562,   545,   229,   229,   228,
-     534,   228,   228,     4,   575,   230,   530,   230,   230,   227,
-     534,     4,     4,   230,   230,     4,   530,   229,     4,   530,
-     230,   545,   228,     4,     4,     4,     4,     4,   230,   530,
-     230,   555,   230,     4,   545,   530,     4,     4,   562,     4,
-       4,   530,   228,     4,   545,   530,   114,   115,     4,     4,
-       4,   575,     4,     4,     4,   230,   530,   530,   230,   230,
-     545,     4,     4,     4,     4,     4,   230,   530,   230,   530,
-     228,     4,   530,     4,   530,   530,   228,   530,     4,   530,
-     530,     4,   530,     4,     4,   228,     4,   530,     4,     4,
-     530,     4,   530,   530,   530,   530,     4,   228,   530,  1258,
-     530,     4,     4,     4,     4,   530,   530,     4,   530,     4,
-     530,     4,     4,   181,   182,   183,   184,   185,   186,   187,
-     188,     4,     4,     4,   228,     4,     4,   716,   230,   718,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,     4,     4,   230,     4,   718,     4,     4,
-       4,     4,     4,     4,   230,     4,   141,   228,     6,   227,
-       7,     7,     7,   228,   753,   754,     7,   230,   757,     7,
-     228,   230,   761,     7,     5,   228,     5,     5,     5,   227,
-     227,    11,   753,   754,    14,   756,   757,   227,     5,   227,
-     715,     7,     5,   227,   718,   227,    26,   227,   227,    29,
+      67,    68,    69,    70,    71,    70,    73,    74,    75,    76,
+      72,    64,   750,   750,    69,    69,    74,    74,   750,    68,
+      69,    70,    71,   720,    73,    74,  1031,    76,    73,    74,
+    1031,  1031,    69,   665,   666,     5,    18,     7,   626,     9,
+      69,   673,    69,    70,    71,   143,   144,    70,   191,   192,
+     193,   194,    70,    69,  1389,    94,    95,    96,    97,    98,
+      99,   100,   694,     7,  1389,     0,    68,    69,    70,    71,
+     227,    73,    74,    94,    76,   114,   115,    55,    56,    57,
+      69,    92,    71,     6,   123,  1420,    69,   230,    71,     7,
+      69,    40,    71,   114,   115,  1420,    69,     7,   210,   211,
+     212,   213,    69,    15,    16,     7,    69,    19,    69,   697,
+      22,    23,    24,    25,    69,   227,   202,     7,     3,   205,
+     206,   207,   208,     8,    69,     7,    69,    69,     3,   227,
+      69,     3,    69,     8,     3,     3,     8,    69,    69,     8,
+      69,     3,    69,    69,    69,    69,     8,     3,    69,     3,
+      69,    10,     8,     4,     8,    69,    69,     3,    69,     3,
+      69,    69,    69,    69,     8,   114,   115,     3,     3,     8,
+       3,    11,     8,     8,    14,     8,    41,    42,     3,     3,
+     201,     6,   203,   204,     8,     7,    26,     7,   227,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-       5,     5,     5,   227,   227,     7,     7,     7,     5,     7,
-       5,     7,     5,     7,   227,   227,     5,   227,   227,   753,
-     754,   227,   756,   757,    64,    65,    66,    67,    68,    69,
+       3,     3,   114,   115,     6,     8,   227,   189,   146,   147,
+     148,   149,   150,   151,   160,   161,   162,     3,     3,   168,
+     169,   170,     8,     8,    64,    65,    66,    67,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,     7,
-       5,   227,    92,    93,   227,   227,     7,   227,   227,   227,
-     227,   190,     7,     7,   104,   105,   106,     7,   227,   227,
-     227,   111,   227,   227,   114,   115,     7,     7,     7,   119,
-     120,   121,   122,   123,     7,   227,     7,   227,   227,   227,
-     227,     7,   132,   227,     7,     4,     4,     4,     4,     4,
-       4,     4,   142,     4,     4,   145,     4,     4,     4,     3,
-       3,     6,   152,   153,     6,     3,     6,   157,   158,     3,
-       6,     3,     3,     6,     3,     3,     6,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,   176,     4,     4,     3,
-     180,     6,     4,     4,     4,     4,     4,     4,   227,   230,
-       6,     4,     6,     8,     4,   195,   196,   197,   198,   199,
-     200,     4,     4,     4,     4,     4,     4,     4,   228,   209,
-       4,     4,     4,     4,   228,     4,   228,   230,   228,   228,
-       4,   228,   228,   228,     4,   228,     4,   227,   230,     4,
-       6,     3,   228,   228,   228,   228,   228,   228,     4,   228,
-     230,     8,   230,   228,   228,     8,     4,   228,   230,     4,
-     230,   230,   230,   230,   227,   227,   227,   227,   227,   227,
-     227,   227,     8,     3,     8,     7,     5,  1026,   227,     4,
-    1029,     4,     4,  1032,     4,   227,  1035,  1026,  1035,   227,
-    1032,  1040,  1032,  1026,  1043,  1026,  1035,  1046,  1029,  1040,
-     227,  1032,  1029,   227,  1035,  1032,   227,  1026,  1035,  1040,
-     230,  1060,  1043,  1040,   230,  1026,  1035,  1026,     7,   228,
-    1069,  1040,  1071,     4,  1035,   227,  1035,   227,  1026,  1060,
-    1035,  1040,  1081,     6,  1043,     3,     5,  1035,  1069,  1088,
-    1071,  1035,  1026,   227,  1093,  1029,  1093,  1078,  1032,     4,
-    1081,  1035,  1026,     4,  1081,  1026,  1040,     4,     4,  1043,
-     227,  1035,  1093,     7,  1035,  1026,   167,   227,     5,  1040,
-       6,  1026,  1043,     7,  1035,     3,  1060,  1026,     4,  1040,
-    1035,  1026,  1043,     4,  1093,  1069,  1035,  1071,  1093,     4,
-    1035,  1040,  1026,  1026,  1078,  1040,     4,  1081,  1043,  1093,
-       4,  1035,  1035,  1026,     4,  1026,  1040,  1040,  1026,  1093,
-    1026,  1026,  1035,  1026,  1035,  1026,  1026,  1035,  1026,  1035,
-    1035,     4,  1035,  1026,  1035,  1035,  1026,  1035,  1026,  1026,
-    1026,  1026,  1035,   230,  1026,  1035,  1026,  1035,  1035,  1035,
-    1035,  1026,  1026,  1035,  1026,  1035,  1026,   701,   228,   227,
-    1035,  1035,   228,  1035,   227,  1035,   227,   508,   227,   716,
-     718,   517,   997,   804,  1025,  1020,  1028,  1038,   565,  1060,
-    1037,   530,  1048,  1046,  1055,  1277,  1026,  1031,   555,  1045,
-    1029,  1034,  1041,  1043,   534,  1032,  1095,  1093,   562,  1284,
-    1343,   545,  1368,  1339,  1393,  1421,   757,   579,  1301,  1073,
-     717,  1069,  1071,   575,  1371,  1399,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1078,    -1,    -1,    -1,    -1,    -1,  1082,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1277,    -1,
-    1277,  1088,    -1,    -1,    -1,  1284,    -1,    -1,  1277,    -1,
-      -1,    -1,    -1,  1284,  1293,    -1,  1277,    -1,    -1,  1234,
-    1277,    -1,  1301,  1284,    -1,    -1,    -1,  1284,  1277,    -1,
-      -1,    -1,  1293,    -1,    -1,  1284,  1277,    -1,  1277,    -1,
-    1301,    -1,  1277,    -1,  1301,  1284,    -1,    -1,    -1,  1277,
-      -1,    -1,    -1,  1277,    -1,    -1,    -1,    -1,    -1,    -1,
-    1339,    -1,  1341,  1277,    -1,    -1,    -1,    -1,    -1,    -1,
-    1284,    -1,    -1,  1277,    -1,    -1,  1277,    -1,  1339,  1293,
-    1341,    -1,    -1,  1284,  1341,    -1,  1277,  1301,    -1,  1368,
-      -1,    -1,  1277,  1284,    -1,    -1,    -1,    -1,  1277,    -1,
-      -1,    -1,  1277,    -1,    -1,  1284,    -1,  1368,    -1,  1284,
-      -1,  1368,  1391,  1277,  1277,    -1,    -1,    -1,    -1,    -1,
-    1284,  1284,    -1,    -1,  1277,  1339,  1277,  1341,    -1,  1277,
-    1391,  1277,  1277,    -1,  1277,    -1,  1277,  1277,    -1,  1277,
-      -1,    -1,  1421,    -1,  1277,    -1,    -1,  1277,    -1,  1277,
-    1277,  1277,  1277,    -1,  1368,  1277,    -1,  1277,    -1,    -1,
-    1421,    -1,  1277,  1277,    -1,  1277,    -1,  1277,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1391,    30,    31,
-      32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1421,    -1,    -1,
-      -1,    -1,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    -1,    -1,    -1,    -1,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
-      -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,
-     112,    -1,   114,   115,   116,   117,   118,   119,   120,   121,
-      -1,    -1,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,
-     132,    -1,    30,    31,    32,    33,    34,    35,   140,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,   114,
+     115,     7,    92,    93,   114,   115,    94,   227,   228,   229,
+     230,    12,    13,     7,   104,   105,   106,     3,  1273,     7,
+       6,   111,  1273,  1273,   114,   115,   114,   115,   227,   119,
+     120,   121,   122,   123,   134,   135,   136,   137,     3,   139,
+     143,   144,   132,     8,   154,   155,   156,     3,     3,     3,
+       6,     4,   142,     8,     8,   145,   171,   172,     7,    40,
+       8,     3,   152,   153,     4,   227,     8,   157,   158,    60,
+      61,    62,  1019,    17,    18,     3,     3,  1065,  1065,  1067,
+    1067,     8,     4,  1065,     3,  1067,   176,   175,     3,     8,
+     180,    20,    21,     8,     4,    32,    33,    34,    35,     3,
+     107,   108,   109,   110,     8,   195,   196,   197,   198,   199,
+     200,     4,   227,    94,     4,    96,    97,   227,     4,   209,
+     101,   102,   103,   114,   115,   428,   429,    64,    65,    66,
+       3,     3,     8,   114,   115,     8,     8,   227,     4,   227,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    92,    93,    94,    58,    59,
+      60,    61,    62,    63,     3,     3,     3,     8,   159,     8,
+       8,     8,   163,   164,   165,   166,     3,   114,   115,     3,
+      93,     8,   173,   174,     8,    27,    28,   504,     3,   126,
+     127,   128,   129,     8,    94,     4,   513,     4,     4,     4,
+     113,   114,   115,     4,     4,   114,   115,     4,     4,   526,
+       4,   124,   125,   530,   513,   530,     4,   130,   131,     4,
+       4,   526,   526,     4,   541,     4,     4,   526,     4,     4,
+       4,   530,     4,     4,   551,     4,   227,     4,     4,   526,
+       4,   558,   541,     4,     4,     4,   227,   526,     4,   526,
+     558,   558,   551,   530,   571,     4,   551,   530,     4,   558,
+     526,   513,   530,   558,   541,     4,     4,     4,   177,   178,
+     179,     4,   571,     3,   526,     4,     4,     4,   530,     3,
+     227,     4,     8,     4,     4,     4,     4,   526,     4,   541,
+     227,     4,     4,   526,     4,   230,   230,   526,   230,   551,
+       4,     4,   541,   526,     4,   228,   558,     4,   541,   526,
+     230,     4,   541,   526,   227,   526,   114,   115,   227,   571,
+       4,   526,   228,   228,     4,   228,   228,   227,   229,   228,
+       4,   526,   230,   526,   526,   229,   228,   526,   229,   526,
+      32,    33,    34,   228,   526,   526,   228,   526,   228,   526,
+     526,   526,   526,   230,     4,   526,   230,   526,     4,   230,
+     230,   230,   526,   526,   229,   526,   230,   526,   526,   526,
+     526,     4,  1254,     4,     4,   228,     4,     4,     4,     4,
+       4,   230,   230,   181,   182,   183,   184,   185,   186,   187,
+     188,     4,     4,     4,   230,   712,     4,   714,     4,   228,
+       4,    93,     4,     4,     4,     4,     4,     4,   711,   230,
+     230,   230,     4,     4,     4,   714,     4,     4,   230,   230,
+     228,     4,   114,   115,   228,     4,     4,     4,     4,   227,
+       4,   123,   749,   750,     4,   228,   753,     4,     4,     4,
+     757,   133,   134,   135,   136,   137,   138,   139,     4,     4,
+     749,   750,     4,   752,   753,   228,     4,     4,     4,     4,
+       4,     4,   714,     4,     4,   228,     4,     4,    30,    31,
+      32,    33,    34,    35,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,     4,   230,     4,
+       4,     4,     4,     4,   230,   230,   230,   749,   750,   230,
+     752,   753,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,     4,   228,   228,     4,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,   228,    89,    90,    91,
+       4,    93,     4,   228,     4,   227,     7,   227,     7,     7,
+       7,   227,   227,   105,   106,     7,     7,     5,   227,   227,
+     112,   227,   114,   115,   116,   117,   118,   119,   120,   121,
+       5,     5,   124,   125,     5,   227,     5,     7,   130,   227,
+     132,     5,     5,     5,     5,   227,     5,     7,   140,     7,
+       7,     7,     7,   227,     5,     7,     5,   227,   227,   227,
+       5,   227,   227,   227,     7,   227,   190,     5,   227,   141,
+       7,     7,     7,     7,   227,   227,   227,   227,   227,   227,
+     227,   227,   227,   227,     7,     7,     7,   227,   227,     7,
+     227,     7,   227,     7,   227,     7,     4,     4,     4,     4,
+       4,     4,     4,   195,   196,     4,     4,     4,     4,     4,
+       3,   227,     6,     3,     6,     6,     3,     6,     3,     3,
+       6,     3,   227,     6,     3,     6,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,   227,     4,     4,     3,     3,
+       6,     4,     4,     4,     4,     4,     4,   228,   228,     6,
+       4,     6,     8,     4,     4,     4,     4,     4,     4,     4,
+       4,   230,     4,   228,   230,   228,   228,   228,   228,   228,
+       4,   228,   230,   228,   228,  1022,   228,   228,  1025,   228,
+     228,  1028,   228,     4,  1031,     4,  1031,  1022,  1022,  1036,
+    1028,  1028,  1039,  1022,  1036,  1042,  1025,  1031,   230,  1028,
+    1025,   228,  1031,  1028,     4,  1022,  1031,  1036,   228,  1056,
+    1039,  1036,     4,  1022,  1031,  1022,   230,     4,  1065,  1036,
+    1067,   230,  1031,     4,  1031,   228,  1022,  1056,  1031,  1036,
+    1077,     4,  1039,  1031,   230,  1031,  1065,  1084,  1067,     6,
+    1022,   230,  1089,  1025,  1089,  1074,  1028,   230,  1077,  1031,
+     230,     3,  1077,  1022,  1036,     4,     4,  1039,     8,  1022,
+    1089,   227,  1031,  1022,     8,     4,     8,  1036,  1031,  1022,
+    1039,     3,  1031,  1036,  1056,  1022,  1039,  1036,  1031,  1022,
+    1039,  1022,  1089,  1065,  1031,  1067,  1089,  1022,  1031,  1036,
+    1031,  1089,  1074,  1036,   227,  1077,  1031,  1022,   227,  1022,
+    1022,  1036,   227,  1022,     8,  1022,  1031,  1089,  1031,  1031,
+    1022,  1022,  1031,  1022,  1031,  1022,  1022,  1022,  1022,  1031,
+    1031,  1022,  1031,  1022,  1031,  1031,  1031,  1031,  1022,  1022,
+    1031,  1022,  1031,  1022,  1022,  1022,  1022,  1031,  1031,   227,
+    1031,     7,  1031,  1031,  1031,  1031,     5,   227,     4,     4,
+       4,   167,     4,     4,     7,     3,     6,     4,   227,     5,
+       4,     4,     4,   800,   697,     5,     7,     4,     7,     3,
+       6,     4,     4,     4,   227,   227,     4,     4,     4,     4,
+     712,   504,   993,  1021,   227,   714,   227,   227,   227,  1016,
+    1034,   227,   230,   230,   513,   228,   227,  1230,   227,   227,
+     227,   227,  1056,  1044,   228,   230,   228,   227,  1051,   227,
+     227,   526,   227,  1042,  1024,  1022,  1033,  1273,  1027,  1025,
+    1091,  1089,  1030,  1037,  1339,  1028,  1273,   530,  1273,  1041,
+     541,  1280,  1069,  1280,  1365,   561,  1335,   551,  1280,  1273,
+    1039,  1391,  1289,  1420,  1273,  1067,   558,  1297,  1273,  1074,
+    1297,  1280,  1368,   753,  1398,  1280,  1273,  1078,   713,    -1,
+    1289,   571,    -1,  1280,  1273,    -1,  1273,  1065,  1297,    -1,
+    1273,    -1,  1297,  1280,   575,  1273,    -1,  1273,    -1,    -1,
+      -1,    -1,    -1,  1084,    -1,    -1,    -1,    -1,  1335,    -1,
+    1337,  1273,    -1,    -1,    -1,    -1,    -1,    -1,  1280,    -1,
+      -1,    -1,    -1,    -1,  1273,    -1,  1335,  1289,  1337,    -1,
+    1273,  1280,  1337,    -1,  1273,  1297,    -1,  1280,  1365,    -1,
+    1273,  1280,    -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,
+    1273,    -1,  1273,  1280,    -1,    -1,  1365,  1280,  1273,    -1,
+    1365,    -1,  1389,    -1,    -1,  1280,    -1,    -1,  1273,    -1,
+    1273,  1273,    -1,  1335,  1273,  1337,  1273,    -1,    -1,    -1,
+    1389,  1273,  1273,    -1,  1273,    -1,  1273,  1273,  1273,  1273,
+      -1,    -1,  1273,  1420,  1273,    -1,    -1,    -1,    -1,  1273,
+    1273,    -1,  1273,  1365,  1273,  1273,  1273,  1273,    -1,    -1,
+      -1,  1420,    30,    31,    32,    33,    34,    35,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1389,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
+      68,    69,    70,    71,    72,    73,    -1,    -1,  1420,    -1,
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    -1,    -1,   195,   196,    93,    94,    -1,    -1,    -1,
+      88,    -1,    -1,    -1,    -1,    93,    94,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   114,   115,    -1,   117,
-      -1,   119,   120,   121,    -1,   227,   124,   125,    -1,    -1,
+      -1,   119,   120,   121,    -1,    -1,   124,   125,    -1,    -1,
       -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   140,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -6165,146 +6141,146 @@ namespace isc { namespace dhcp {
        0,   214,   215,   216,   217,   218,   219,   220,   221,   222,
      223,   224,   225,   226,   232,   233,   234,   235,   236,   237,
      238,   239,   240,   241,   242,   243,   244,   245,     0,     5,
-       7,     9,   175,   227,   228,   229,   230,   246,   247,   248,
-     253,     7,   262,     7,   267,     7,   322,     7,   435,     7,
-     520,     7,   537,     7,   469,     7,   475,     7,   499,     7,
-     411,     7,   648,     7,   667,   254,   249,   612,   263,   268,
-     323,   436,   521,   538,   470,   476,   500,   412,   649,   668,
-     246,   255,   256,   227,   251,   252,     4,    10,   264,   266,
-      11,    14,    26,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    64,    65,    66,    67,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    92,
-      93,   104,   105,   106,   111,   114,   115,   119,   120,   121,
-     122,   123,   132,   142,   145,   152,   153,   157,   158,   176,
-     180,   195,   196,   197,   198,   199,   200,   209,   227,   261,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   284,   285,   287,   288,   289,   290,
-     291,   292,   293,   296,   298,   300,   301,   302,   305,   306,
-     308,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     336,   338,   346,   348,   389,   398,   405,   419,   429,   455,
-     456,   457,   459,   467,   493,   527,   529,   531,   542,   544,
-     546,   569,   584,   585,   587,   636,   646,   665,   674,   698,
-      15,    16,    19,    22,    23,    24,    25,   261,   320,   321,
-     324,   326,   329,   332,   333,   334,   335,   527,   529,    89,
-      90,    91,   112,   116,   117,   118,   124,   125,   130,   140,
-     261,   271,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   285,   288,   289,   290,   291,   292,   293,   296,   298,
-     300,   301,   302,   305,   306,   308,   310,   316,   437,   438,
-     439,   441,   443,   445,   447,   449,   451,   453,   455,   456,
-     457,   458,   493,   514,   527,   529,   531,   542,   544,   546,
-     564,   113,   131,   261,   449,   451,   453,   493,   522,   523,
-     524,   526,   527,   529,   123,   133,   134,   135,   136,   137,
-     138,   139,   261,   493,   527,   529,   539,   540,   541,   542,
-     544,   546,   548,   550,   552,   554,   556,   558,   560,   562,
-     467,    40,    94,    96,    97,   101,   102,   103,   261,   365,
-     477,   478,   479,   480,   481,   482,   483,   485,   487,   489,
-     490,   492,   527,   529,    95,    98,    99,   100,   123,   261,
-     365,   481,   487,   501,   502,   503,   504,   505,   507,   508,
-     509,   510,   511,   512,   527,   529,   143,   144,   261,   413,
-     414,   415,   417,   181,   182,   183,   184,   185,   186,   187,
-     188,   261,   527,   529,   650,   651,   652,   653,   655,   656,
-     658,   659,   660,   663,    12,    13,   669,   670,   671,   673,
-       6,     3,     4,     8,     3,   227,   265,     3,     8,   666,
-     319,   339,     4,     4,     4,   543,   545,   547,     4,     4,
-     337,   347,   349,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,   283,     4,     4,     4,     4,     4,
-     294,   297,   299,     4,     4,     4,     4,   430,   468,   494,
-       4,   286,   303,   460,   528,   530,     4,     4,     4,   390,
-     570,   532,   406,   420,     4,   399,   586,   588,   637,   647,
-     307,   309,     4,     4,     4,   675,   699,     4,     3,     8,
-     325,   327,   330,     4,     4,     4,     4,     3,     8,   442,
-     444,   446,   515,   440,   448,     4,   452,   454,   450,   565,
-       3,     8,   525,     4,     3,     8,   563,   549,   551,   553,
-     557,   555,   561,   559,     8,     3,     8,   484,   366,     4,
-     488,   486,   491,     4,     8,     3,   506,     4,     4,     4,
-     513,     8,     3,   416,   418,     3,     8,     4,   654,     4,
-     657,     4,     4,   661,   664,     3,     8,   672,     4,     3,
-       8,   246,   246,   227,     4,     4,     4,     4,   230,   230,
-     230,     4,     4,     4,   228,   230,     4,     4,     4,   228,
-     228,   228,   228,   228,   230,   229,   229,   229,   228,   228,
-       4,   228,   228,   230,   230,   230,     4,     4,     4,   230,
-     230,   229,   230,     4,     4,     4,   228,     4,     4,     4,
-       4,     4,   230,   230,   230,     4,     4,     4,     4,     4,
-     228,     4,     4,     4,     4,     4,     4,     4,   230,   230,
-     230,     4,     4,   270,     4,     4,     4,   230,   230,   228,
-     228,   321,     4,     4,     4,     4,     4,     4,   228,     4,
-       4,     4,     4,   438,     4,   228,   523,     4,     4,     4,
-       4,     4,     4,     4,     4,   541,     4,     4,   228,     4,
-       4,     4,   230,   479,     4,   230,   230,   230,     4,   503,
-       4,     4,   414,   230,     4,   228,     4,   228,   228,     4,
-       4,   651,     4,   228,   670,     4,     7,     7,     7,     7,
-     227,   227,   227,     7,     7,     5,   227,   191,   192,   193,
-     194,   230,   295,   227,   227,     5,     5,     5,   227,   107,
-     108,   109,   110,   304,     5,   248,   250,   227,     5,     5,
-       5,     5,     7,     7,     7,     5,     7,     7,   227,   227,
-       5,     7,     5,   257,    17,    18,   328,    20,    21,   331,
-     227,   227,   227,     5,   227,   227,   257,   257,   227,     7,
-     227,   257,   227,   227,   227,   227,   227,   227,   227,   227,
-     227,   227,   227,   227,   227,   257,   227,   250,   227,   227,
-      18,   189,   662,   190,     5,   246,   269,   669,   320,    27,
-      28,   340,   341,   342,   344,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      58,    59,    60,    61,    62,    63,   261,   354,   355,   356,
-     358,   360,   362,   364,   365,   367,   368,   369,   370,   371,
-     372,   373,   374,   375,   376,   379,   380,   381,   383,   385,
-     387,   354,     7,   350,   351,   352,     7,   431,   432,   433,
-       7,   471,   472,   473,     7,   495,   496,   497,     7,   461,
-     462,   463,   134,   135,   136,   137,   139,   391,   392,   393,
-     394,   395,   396,   397,     7,   571,   572,     7,   533,   534,
-     535,     7,   407,   408,   409,   146,   147,   148,   149,   150,
-     151,   421,   422,   423,   424,   425,   426,   427,   428,   154,
-     155,   156,   261,   400,   401,   402,   403,   404,   527,   529,
-     159,   163,   164,   165,   166,   173,   174,   261,   381,   383,
-     385,   527,   529,   593,   594,   595,   598,   600,   602,   603,
-     604,   613,     7,   589,   590,   591,   177,   178,   179,   227,
-     527,   529,   638,   639,   640,   641,   643,   644,   650,     7,
-     676,   677,   210,   211,   212,   213,   261,   700,   701,   702,
-     703,   704,   705,   258,     7,   516,   517,   518,   141,   566,
-     567,   350,     8,     8,     8,   343,   345,     3,     8,   357,
-     359,   361,   363,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,   377,     4,     4,   382,   384,   386,   388,
-       3,     8,     8,   353,     6,     3,   434,     6,     3,   474,
-       6,     3,   498,     6,     3,   464,     6,     3,     3,     6,
-     573,     3,     6,   536,     6,     3,   410,     6,     3,     4,
-       4,     4,     4,     4,     4,     3,     8,     4,     4,     4,
-       3,     8,   596,   599,   601,     4,   614,     4,   605,     3,
-       8,   592,     6,     3,     4,   642,     4,   645,     3,     8,
-       8,   678,     3,     6,     4,     4,     4,     4,     3,     8,
-     227,   259,   260,   519,     6,     3,   568,     8,     6,     4,
-       4,   341,     4,     4,     4,     4,   228,   230,   228,   230,
-     228,   228,   228,   228,   228,   228,     4,   230,   228,     4,
-       4,     4,     4,   355,   354,   352,   437,   433,   477,   473,
-     501,   497,   261,   271,   272,   273,   274,   275,   276,   277,
-     278,   279,   280,   285,   288,   289,   290,   291,   292,   293,
-     296,   298,   300,   301,   302,   305,   306,   308,   310,   316,
-     365,   429,   447,   449,   451,   453,   455,   456,   457,   465,
-     466,   493,   527,   529,   542,   544,   546,   564,   463,   392,
-     126,   127,   128,   129,   261,   271,   272,   273,   316,   365,
-     467,   493,   527,   529,   542,   544,   546,   574,   575,   576,
-     577,   578,   580,   582,   583,   572,   539,   535,   413,   409,
-     228,   228,   228,   228,   228,   228,   422,   230,   228,   228,
-     401,     4,     4,     4,   228,     4,   230,     4,   594,   593,
-     591,   230,     4,   228,     4,   639,   201,   203,   204,   261,
-     365,   527,   529,   679,   680,   681,   682,   684,   677,   230,
-     230,   230,   230,   701,     6,     3,   522,   518,     4,   227,
-     227,   227,   227,   227,   227,    55,    56,    57,   378,   227,
-     227,   227,   227,     8,     8,     8,     8,     3,     8,   579,
-     581,     4,     4,     8,     3,     8,     8,   160,   161,   162,
-     597,   227,   227,     7,     5,     8,   227,   246,   685,     4,
-     683,     3,     8,   227,     8,   257,   466,     4,     4,   230,
-     230,   576,    40,   168,   169,   170,   261,   527,   529,   615,
-     616,   617,   620,   622,   624,     7,   606,   607,   608,     4,
-     228,     4,   680,   227,   227,   618,   621,   623,   625,     3,
-       8,   609,     6,     3,     5,   227,     4,     4,     4,     4,
-     616,   227,   246,   261,   365,   527,   529,   610,   611,   608,
-       7,   686,   687,   167,   619,   227,   227,     5,     3,     8,
-     688,     3,     6,     7,   626,   627,   628,   611,   202,   205,
-     206,   207,   208,   689,   690,   691,   693,   694,   695,   696,
-     687,   629,     6,     3,   692,     4,     4,     4,   697,     3,
-       8,   171,   172,   261,   358,   360,   527,   529,   630,   631,
-     632,   634,   628,     4,   230,   228,   228,     4,   690,   633,
-     635,     3,     8,   227,   227,     4,     4,   631,   227,   227
+       7,     9,   227,   228,   229,   230,   246,   247,   248,   253,
+       7,   262,     7,   267,     7,   322,     7,   435,     7,   520,
+       7,   537,     7,   469,     7,   475,     7,   499,     7,   411,
+       7,   649,     7,   668,   254,   249,   263,   268,   323,   436,
+     521,   538,   470,   476,   500,   412,   650,   669,   246,   255,
+     256,   227,   251,   252,    10,   264,   266,    11,    14,    26,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    92,    93,   104,   105,
+     106,   111,   114,   115,   119,   120,   121,   122,   123,   132,
+     142,   145,   152,   153,   157,   158,   176,   180,   195,   196,
+     197,   198,   199,   200,   209,   227,   261,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   284,   285,   287,   288,   289,   290,   291,   292,   293,
+     296,   298,   300,   301,   302,   305,   306,   308,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   336,   338,   346,
+     348,   389,   398,   405,   419,   429,   455,   456,   457,   459,
+     467,   493,   527,   529,   531,   542,   544,   546,   569,   584,
+     585,   587,   637,   647,   666,   675,   699,    15,    16,    19,
+      22,    23,    24,    25,   261,   320,   321,   324,   326,   329,
+     332,   333,   334,   335,   527,   529,    89,    90,    91,   112,
+     116,   117,   118,   124,   125,   130,   140,   261,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   285,   288,
+     289,   290,   291,   292,   293,   296,   298,   300,   301,   302,
+     305,   306,   308,   310,   316,   437,   438,   439,   441,   443,
+     445,   447,   449,   451,   453,   455,   456,   457,   458,   493,
+     514,   527,   529,   531,   542,   544,   546,   564,   113,   131,
+     261,   449,   451,   453,   493,   522,   523,   524,   526,   527,
+     529,   123,   133,   134,   135,   136,   137,   138,   139,   261,
+     493,   527,   529,   539,   540,   541,   542,   544,   546,   548,
+     550,   552,   554,   556,   558,   560,   562,   467,    40,    94,
+      96,    97,   101,   102,   103,   261,   365,   477,   478,   479,
+     480,   481,   482,   483,   485,   487,   489,   490,   492,   527,
+     529,    95,    98,    99,   100,   123,   261,   365,   481,   487,
+     501,   502,   503,   504,   505,   507,   508,   509,   510,   511,
+     512,   527,   529,   143,   144,   261,   413,   414,   415,   417,
+     181,   182,   183,   184,   185,   186,   187,   188,   261,   527,
+     529,   651,   652,   653,   654,   656,   657,   659,   660,   661,
+     664,    12,    13,   670,   671,   672,   674,     6,     3,     4,
+       8,     3,   265,     3,     8,   667,   319,   339,     4,     4,
+       4,   543,   545,   547,     4,     4,   337,   347,   349,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+     283,     4,     4,     4,     4,     4,   294,   297,   299,     4,
+       4,     4,     4,   430,   468,   494,     4,   286,   303,   460,
+     528,   530,     4,     4,     4,   390,   570,   532,   406,   420,
+       4,   399,   586,   588,   638,   648,   307,   309,     4,     4,
+       4,   676,   700,     4,     3,     8,   325,   327,   330,     4,
+       4,     4,     4,     3,     8,   442,   444,   446,   515,   440,
+     448,     4,   452,   454,   450,   565,     3,     8,   525,     4,
+       3,     8,   563,   549,   551,   553,   557,   555,   561,   559,
+       8,     3,     8,   484,   366,     4,   488,   486,   491,     4,
+       8,     3,   506,     4,     4,     4,   513,     8,     3,   416,
+     418,     3,     8,     4,   655,     4,   658,     4,     4,   662,
+     665,     3,     8,   673,     4,     3,     8,   246,   246,   227,
+       4,     4,     4,     4,   230,   230,   230,     4,     4,     4,
+     228,   230,     4,     4,     4,   228,   228,   228,   228,   228,
+     230,   229,   229,   229,   228,   228,     4,   228,   228,   230,
+     230,   230,     4,     4,     4,   230,   230,   229,   230,     4,
+       4,     4,   228,     4,     4,     4,     4,     4,   230,   230,
+     230,     4,     4,     4,     4,     4,   228,     4,     4,     4,
+       4,     4,     4,     4,   230,   230,   230,     4,     4,   270,
+       4,     4,     4,   230,   230,   228,   228,   321,     4,     4,
+       4,     4,     4,     4,   228,     4,     4,     4,     4,   438,
+       4,   228,   523,     4,     4,     4,     4,     4,     4,     4,
+       4,   541,     4,     4,   228,     4,     4,     4,   230,   479,
+       4,   230,   230,   230,     4,   503,     4,     4,   414,   230,
+       4,   228,     4,   228,   228,     4,     4,   652,     4,   228,
+     671,     4,     7,     7,     7,     7,   227,   227,   227,     7,
+       7,     5,   227,   191,   192,   193,   194,   230,   295,   227,
+     227,     5,     5,     5,   227,   107,   108,   109,   110,   304,
+       5,   248,   250,   227,     5,     5,     5,     5,     7,     7,
+       7,     5,     7,     7,   227,   227,     5,     7,     5,   257,
+      17,    18,   328,    20,    21,   331,   227,   227,   227,     5,
+     227,   227,   257,   257,   227,     7,   227,   257,   227,   227,
+     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
+     227,   257,   227,   250,   227,   227,    18,   189,   663,   190,
+       5,   246,   269,   670,   320,    27,    28,   340,   341,   342,
+     344,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    58,    59,    60,    61,
+      62,    63,   261,   354,   355,   356,   358,   360,   362,   364,
+     365,   367,   368,   369,   370,   371,   372,   373,   374,   375,
+     376,   379,   380,   381,   383,   385,   387,   354,     7,   350,
+     351,   352,     7,   431,   432,   433,     7,   471,   472,   473,
+       7,   495,   496,   497,     7,   461,   462,   463,   134,   135,
+     136,   137,   139,   391,   392,   393,   394,   395,   396,   397,
+       7,   571,   572,     7,   533,   534,   535,     7,   407,   408,
+     409,   146,   147,   148,   149,   150,   151,   421,   422,   423,
+     424,   425,   426,   427,   428,   154,   155,   156,   261,   400,
+     401,   402,   403,   404,   527,   529,   159,   163,   164,   165,
+     166,   173,   174,   261,   381,   383,   385,   527,   529,   593,
+     594,   595,   598,   600,   602,   603,   604,   614,     7,   589,
+     590,   591,   177,   178,   179,   227,   527,   529,   639,   640,
+     641,   642,   644,   645,   651,     7,   677,   678,   210,   211,
+     212,   213,   261,   701,   702,   703,   704,   705,   706,   258,
+       7,   516,   517,   518,   141,   566,   567,   350,     8,     8,
+       8,   343,   345,     3,     8,   357,   359,   361,   363,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,   377,
+       4,     4,   382,   384,   386,   388,     3,     8,     8,   353,
+       6,     3,   434,     6,     3,   474,     6,     3,   498,     6,
+       3,   464,     6,     3,     3,     6,   573,     3,     6,   536,
+       6,     3,   410,     6,     3,     4,     4,     4,     4,     4,
+       4,     3,     8,     4,     4,     4,     3,     8,   596,   599,
+     601,     4,   615,     4,   605,     3,     8,   592,     6,     3,
+       4,   643,     4,   646,     3,     8,     8,   679,     3,     6,
+       4,     4,     4,     4,     3,     8,   227,   259,   260,   519,
+       6,     3,   568,     8,     6,     4,     4,   341,     4,     4,
+       4,     4,   228,   230,   228,   230,   228,   228,   228,   228,
+     228,   228,     4,   230,   228,     4,     4,     4,     4,   355,
+     354,   352,   437,   433,   477,   473,   501,   497,   261,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   285,
+     288,   289,   290,   291,   292,   293,   296,   298,   300,   301,
+     302,   305,   306,   308,   310,   316,   365,   429,   447,   449,
+     451,   453,   455,   456,   457,   465,   466,   493,   527,   529,
+     542,   544,   546,   564,   463,   392,   126,   127,   128,   129,
+     261,   271,   272,   273,   316,   365,   467,   493,   527,   529,
+     542,   544,   546,   574,   575,   576,   577,   578,   580,   582,
+     583,   572,   539,   535,   413,   409,   228,   228,   228,   228,
+     228,   228,   422,   230,   228,   228,   401,     4,     4,     4,
+     228,     4,   230,     4,   594,   593,   591,   230,     4,   228,
+       4,   640,   201,   203,   204,   261,   365,   527,   529,   680,
+     681,   682,   683,   685,   678,   230,   230,   230,   230,   702,
+       6,     3,   522,   518,     4,   227,   227,   227,   227,   227,
+     227,    55,    56,    57,   378,   227,   227,   227,   227,     8,
+       8,     8,     8,     3,     8,   579,   581,     4,     4,     8,
+       3,     8,     8,   160,   161,   162,   597,   227,   227,     7,
+       5,     8,   227,   246,   686,     4,   684,     3,     8,   227,
+       8,   257,   466,     4,     4,   230,   230,   576,    40,   168,
+     169,   170,   261,   527,   529,   616,   617,   618,   621,   623,
+     625,     7,   606,   607,   608,     4,   228,     4,   681,   227,
+     227,   619,   622,   624,   626,     3,     8,   609,     6,     3,
+       5,   227,     4,     4,     4,     4,   617,   175,   261,   365,
+     527,   529,   610,   611,   612,   608,     7,   687,   688,   167,
+     620,   227,   227,     5,   613,     3,     8,   689,     3,     6,
+       7,   627,   628,   629,     4,   611,   202,   205,   206,   207,
+     208,   690,   691,   692,   694,   695,   696,   697,   688,   630,
+       6,     3,   227,   693,     4,     4,     4,   698,     3,     8,
+     171,   172,   261,   358,   360,   527,   529,   631,   632,   633,
+     635,   629,     4,   230,   228,   228,     4,   691,   634,   636,
+       3,     8,   227,   227,     4,     4,   632,   227,   227
   };
 
   const short
@@ -6387,23 +6363,23 @@ namespace isc { namespace dhcp {
      594,   594,   594,   594,   594,   596,   595,   597,   597,   597,
      599,   598,   601,   600,   602,   603,   605,   604,   606,   606,
      607,   607,   607,   609,   608,   610,   610,   610,   611,   611,
-     611,   611,   611,   612,   246,   614,   613,   615,   615,   615,
-     616,   616,   616,   616,   616,   616,   616,   618,   617,   619,
-     621,   620,   623,   622,   625,   624,   626,   626,   627,   627,
-     627,   629,   628,   630,   630,   630,   631,   631,   631,   631,
-     631,   631,   631,   633,   632,   635,   634,   637,   636,   638,
-     638,   638,   639,   639,   639,   639,   639,   639,   640,   642,
-     641,   643,   645,   644,   647,   646,   649,   648,   650,   650,
-     650,   651,   651,   651,   651,   651,   651,   651,   651,   651,
-     651,   651,   652,   654,   653,   655,   657,   656,   658,   659,
-     661,   660,   662,   662,   664,   663,   666,   665,   668,   667,
-     669,   669,   669,   670,   670,   672,   671,   673,   675,   674,
-     676,   676,   676,   678,   677,   679,   679,   679,   680,   680,
-     680,   680,   680,   680,   680,   681,   683,   682,   685,   684,
-     686,   686,   686,   688,   687,   689,   689,   689,   690,   690,
-     690,   690,   690,   692,   691,   693,   694,   695,   697,   696,
-     699,   698,   700,   700,   700,   701,   701,   701,   701,   701,
-     702,   703,   704,   705
+     611,   611,   611,   613,   612,   615,   614,   616,   616,   616,
+     617,   617,   617,   617,   617,   617,   617,   619,   618,   620,
+     622,   621,   624,   623,   626,   625,   627,   627,   628,   628,
+     628,   630,   629,   631,   631,   631,   632,   632,   632,   632,
+     632,   632,   632,   634,   633,   636,   635,   638,   637,   639,
+     639,   639,   640,   640,   640,   640,   640,   640,   641,   643,
+     642,   644,   646,   645,   648,   647,   650,   649,   651,   651,
+     651,   652,   652,   652,   652,   652,   652,   652,   652,   652,
+     652,   652,   653,   655,   654,   656,   658,   657,   659,   660,
+     662,   661,   663,   663,   665,   664,   667,   666,   669,   668,
+     670,   670,   670,   671,   671,   673,   672,   674,   676,   675,
+     677,   677,   677,   679,   678,   680,   680,   680,   681,   681,
+     681,   681,   681,   681,   681,   682,   684,   683,   686,   685,
+     687,   687,   687,   689,   688,   690,   690,   690,   691,   691,
+     691,   691,   691,   693,   692,   694,   695,   696,   698,   697,
+     700,   699,   701,   701,   701,   702,   702,   702,   702,   702,
+     703,   704,   705,   706
   };
 
   const signed char
@@ -6686,23 +6662,24 @@ namespace isc { namespace dhcp {
   "control_socket_address", "$@115", "control_socket_port",
   "cert_required", "http_headers", "$@116", "http_header_list",
   "not_empty_http_header_list", "http_header", "$@117",
-  "http_header_params", "http_header_param", "$@118", "authentication",
-  "$@119", "auth_params", "auth_param", "auth_type", "$@120",
-  "auth_type_value", "realm", "$@121", "directory", "$@122", "clients",
-  "$@123", "clients_list", "not_empty_clients_list", "basic_auth", "$@124",
-  "clients_params", "clients_param", "user_file", "$@125", "password_file",
-  "$@126", "dhcp_queue_control", "$@127", "queue_control_params",
-  "queue_control_param", "enable_queue", "queue_type", "$@128", "capacity",
-  "arbitrary_map_entry", "$@129", "dhcp_ddns", "$@130", "sub_dhcp_ddns",
-  "$@131", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
-  "server_ip", "$@132", "server_port", "sender_ip", "$@133", "sender_port",
-  "max_queue_size", "ncr_protocol", "$@134", "ncr_protocol_value",
-  "ncr_format", "$@135", "config_control", "$@136", "sub_config_control",
-  "$@137", "config_control_params", "config_control_param",
-  "config_databases", "$@138", "config_fetch_wait_time", "loggers",
-  "$@139", "loggers_entries", "logger_entry", "$@140", "logger_params",
-  "logger_param", "debuglevel", "severity", "$@141", "output_options_list",
-  "$@142", "output_options_list_content", "output_entry", "$@143",
+  "http_header_params", "http_header_param", "header_value", "$@118",
+  "authentication", "$@119", "auth_params", "auth_param", "auth_type",
+  "$@120", "auth_type_value", "realm", "$@121", "directory", "$@122",
+  "clients", "$@123", "clients_list", "not_empty_clients_list",
+  "basic_auth", "$@124", "clients_params", "clients_param", "user_file",
+  "$@125", "password_file", "$@126", "dhcp_queue_control", "$@127",
+  "queue_control_params", "queue_control_param", "enable_queue",
+  "queue_type", "$@128", "capacity", "arbitrary_map_entry", "$@129",
+  "dhcp_ddns", "$@130", "sub_dhcp_ddns", "$@131", "dhcp_ddns_params",
+  "dhcp_ddns_param", "enable_updates", "server_ip", "$@132", "server_port",
+  "sender_ip", "$@133", "sender_port", "max_queue_size", "ncr_protocol",
+  "$@134", "ncr_protocol_value", "ncr_format", "$@135", "config_control",
+  "$@136", "sub_config_control", "$@137", "config_control_params",
+  "config_control_param", "config_databases", "$@138",
+  "config_fetch_wait_time", "loggers", "$@139", "loggers_entries",
+  "logger_entry", "$@140", "logger_params", "logger_param", "debuglevel",
+  "severity", "$@141", "output_options_list", "$@142",
+  "output_options_list_content", "output_entry", "$@143",
   "output_params_list", "output_params", "output", "$@144", "flush",
   "maxsize", "maxver", "pattern", "$@145", "compatibility", "$@146",
   "compatibility_params", "compatibility_param", "lenient_option_parsing",
@@ -6791,25 +6768,25 @@ namespace isc { namespace dhcp {
     2557,  2557,  2569,  2570,  2573,  2574,  2575,  2580,  2580,  2588,
     2589,  2590,  2595,  2596,  2597,  2598,  2599,  2600,  2601,  2602,
     2603,  2604,  2605,  2606,  2607,  2610,  2610,  2619,  2620,  2621,
-    2624,  2624,  2634,  2634,  2644,  2650,  2656,  2656,  2666,  2667,
-    2670,  2671,  2672,  2677,  2677,  2685,  2686,  2687,  2692,  2693,
-    2694,  2695,  2696,  2699,  2699,  2710,  2710,  2723,  2724,  2725,
-    2730,  2731,  2732,  2733,  2734,  2735,  2736,  2739,  2739,  2747,
-    2750,  2750,  2759,  2759,  2768,  2768,  2779,  2780,  2783,  2784,
-    2785,  2790,  2790,  2798,  2799,  2800,  2805,  2806,  2807,  2808,
-    2809,  2810,  2811,  2814,  2814,  2823,  2823,  2834,  2834,  2847,
-    2848,  2849,  2854,  2855,  2856,  2857,  2858,  2859,  2862,  2868,
-    2868,  2877,  2883,  2883,  2893,  2893,  2906,  2906,  2916,  2917,
-    2918,  2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,
-    2932,  2933,  2936,  2942,  2942,  2951,  2957,  2957,  2966,  2972,
-    2978,  2978,  2987,  2988,  2991,  2991,  3002,  3002,  3014,  3014,
-    3024,  3025,  3026,  3032,  3033,  3036,  3036,  3047,  3055,  3055,
-    3068,  3069,  3070,  3076,  3076,  3084,  3085,  3086,  3091,  3092,
-    3093,  3094,  3095,  3096,  3097,  3100,  3106,  3106,  3115,  3115,
-    3126,  3127,  3128,  3133,  3133,  3141,  3142,  3143,  3148,  3149,
-    3150,  3151,  3152,  3155,  3155,  3164,  3170,  3176,  3182,  3182,
-    3191,  3191,  3202,  3203,  3204,  3209,  3210,  3211,  3212,  3213,
-    3216,  3222,  3228,  3234
+    2624,  2624,  2634,  2634,  2644,  2650,  2656,  2656,  2667,  2668,
+    2671,  2672,  2673,  2678,  2678,  2686,  2687,  2688,  2693,  2694,
+    2695,  2696,  2697,  2700,  2700,  2711,  2711,  2724,  2725,  2726,
+    2731,  2732,  2733,  2734,  2735,  2736,  2737,  2740,  2740,  2748,
+    2751,  2751,  2760,  2760,  2769,  2769,  2780,  2781,  2784,  2785,
+    2786,  2791,  2791,  2799,  2800,  2801,  2806,  2807,  2808,  2809,
+    2810,  2811,  2812,  2815,  2815,  2824,  2824,  2835,  2835,  2848,
+    2849,  2850,  2855,  2856,  2857,  2858,  2859,  2860,  2863,  2869,
+    2869,  2878,  2884,  2884,  2894,  2894,  2907,  2907,  2917,  2918,
+    2919,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,  2932,
+    2933,  2934,  2937,  2943,  2943,  2952,  2958,  2958,  2967,  2973,
+    2979,  2979,  2988,  2989,  2992,  2992,  3003,  3003,  3015,  3015,
+    3025,  3026,  3027,  3033,  3034,  3037,  3037,  3048,  3056,  3056,
+    3069,  3070,  3071,  3077,  3077,  3085,  3086,  3087,  3092,  3093,
+    3094,  3095,  3096,  3097,  3098,  3101,  3107,  3107,  3116,  3116,
+    3127,  3128,  3129,  3134,  3134,  3142,  3143,  3144,  3149,  3150,
+    3151,  3152,  3153,  3156,  3156,  3165,  3171,  3177,  3183,  3183,
+    3192,  3192,  3203,  3204,  3205,  3210,  3211,  3212,  3213,  3214,
+    3217,  3223,  3229,  3235
   };
 
   void
@@ -6842,9 +6819,9 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy"
 } } // isc::dhcp
-#line 6845 "dhcp4_parser.cc"
+#line 6823 "dhcp4_parser.cc"
 
-#line 3240 "dhcp4_parser.yy"
+#line 3241 "dhcp4_parser.yy"
 
 
 void
index aa492bfca509eaf47213074b2ee0e172807548c5..0a42b9808e020d12e5d15de240025d8777680c6f 100644 (file)
@@ -1358,100 +1358,101 @@ namespace isc { namespace dhcp {
         S_609_117 = 609,                         // $@117
         S_http_header_params = 610,              // http_header_params
         S_http_header_param = 611,               // http_header_param
-        S_612_118 = 612,                         // $@118
-        S_authentication = 613,                  // authentication
-        S_614_119 = 614,                         // $@119
-        S_auth_params = 615,                     // auth_params
-        S_auth_param = 616,                      // auth_param
-        S_auth_type = 617,                       // auth_type
-        S_618_120 = 618,                         // $@120
-        S_auth_type_value = 619,                 // auth_type_value
-        S_realm = 620,                           // realm
-        S_621_121 = 621,                         // $@121
-        S_directory = 622,                       // directory
-        S_623_122 = 623,                         // $@122
-        S_clients = 624,                         // clients
-        S_625_123 = 625,                         // $@123
-        S_clients_list = 626,                    // clients_list
-        S_not_empty_clients_list = 627,          // not_empty_clients_list
-        S_basic_auth = 628,                      // basic_auth
-        S_629_124 = 629,                         // $@124
-        S_clients_params = 630,                  // clients_params
-        S_clients_param = 631,                   // clients_param
-        S_user_file = 632,                       // user_file
-        S_633_125 = 633,                         // $@125
-        S_password_file = 634,                   // password_file
-        S_635_126 = 635,                         // $@126
-        S_dhcp_queue_control = 636,              // dhcp_queue_control
-        S_637_127 = 637,                         // $@127
-        S_queue_control_params = 638,            // queue_control_params
-        S_queue_control_param = 639,             // queue_control_param
-        S_enable_queue = 640,                    // enable_queue
-        S_queue_type = 641,                      // queue_type
-        S_642_128 = 642,                         // $@128
-        S_capacity = 643,                        // capacity
-        S_arbitrary_map_entry = 644,             // arbitrary_map_entry
-        S_645_129 = 645,                         // $@129
-        S_dhcp_ddns = 646,                       // dhcp_ddns
-        S_647_130 = 647,                         // $@130
-        S_sub_dhcp_ddns = 648,                   // sub_dhcp_ddns
-        S_649_131 = 649,                         // $@131
-        S_dhcp_ddns_params = 650,                // dhcp_ddns_params
-        S_dhcp_ddns_param = 651,                 // dhcp_ddns_param
-        S_enable_updates = 652,                  // enable_updates
-        S_server_ip = 653,                       // server_ip
-        S_654_132 = 654,                         // $@132
-        S_server_port = 655,                     // server_port
-        S_sender_ip = 656,                       // sender_ip
-        S_657_133 = 657,                         // $@133
-        S_sender_port = 658,                     // sender_port
-        S_max_queue_size = 659,                  // max_queue_size
-        S_ncr_protocol = 660,                    // ncr_protocol
-        S_661_134 = 661,                         // $@134
-        S_ncr_protocol_value = 662,              // ncr_protocol_value
-        S_ncr_format = 663,                      // ncr_format
-        S_664_135 = 664,                         // $@135
-        S_config_control = 665,                  // config_control
-        S_666_136 = 666,                         // $@136
-        S_sub_config_control = 667,              // sub_config_control
-        S_668_137 = 668,                         // $@137
-        S_config_control_params = 669,           // config_control_params
-        S_config_control_param = 670,            // config_control_param
-        S_config_databases = 671,                // config_databases
-        S_672_138 = 672,                         // $@138
-        S_config_fetch_wait_time = 673,          // config_fetch_wait_time
-        S_loggers = 674,                         // loggers
-        S_675_139 = 675,                         // $@139
-        S_loggers_entries = 676,                 // loggers_entries
-        S_logger_entry = 677,                    // logger_entry
-        S_678_140 = 678,                         // $@140
-        S_logger_params = 679,                   // logger_params
-        S_logger_param = 680,                    // logger_param
-        S_debuglevel = 681,                      // debuglevel
-        S_severity = 682,                        // severity
-        S_683_141 = 683,                         // $@141
-        S_output_options_list = 684,             // output_options_list
-        S_685_142 = 685,                         // $@142
-        S_output_options_list_content = 686,     // output_options_list_content
-        S_output_entry = 687,                    // output_entry
-        S_688_143 = 688,                         // $@143
-        S_output_params_list = 689,              // output_params_list
-        S_output_params = 690,                   // output_params
-        S_output = 691,                          // output
-        S_692_144 = 692,                         // $@144
-        S_flush = 693,                           // flush
-        S_maxsize = 694,                         // maxsize
-        S_maxver = 695,                          // maxver
-        S_pattern = 696,                         // pattern
-        S_697_145 = 697,                         // $@145
-        S_compatibility = 698,                   // compatibility
-        S_699_146 = 699,                         // $@146
-        S_compatibility_params = 700,            // compatibility_params
-        S_compatibility_param = 701,             // compatibility_param
-        S_lenient_option_parsing = 702,          // lenient_option_parsing
-        S_ignore_dhcp_server_identifier = 703,   // ignore_dhcp_server_identifier
-        S_ignore_rai_link_selection = 704,       // ignore_rai_link_selection
-        S_exclude_first_last_24 = 705            // exclude_first_last_24
+        S_header_value = 612,                    // header_value
+        S_613_118 = 613,                         // $@118
+        S_authentication = 614,                  // authentication
+        S_615_119 = 615,                         // $@119
+        S_auth_params = 616,                     // auth_params
+        S_auth_param = 617,                      // auth_param
+        S_auth_type = 618,                       // auth_type
+        S_619_120 = 619,                         // $@120
+        S_auth_type_value = 620,                 // auth_type_value
+        S_realm = 621,                           // realm
+        S_622_121 = 622,                         // $@121
+        S_directory = 623,                       // directory
+        S_624_122 = 624,                         // $@122
+        S_clients = 625,                         // clients
+        S_626_123 = 626,                         // $@123
+        S_clients_list = 627,                    // clients_list
+        S_not_empty_clients_list = 628,          // not_empty_clients_list
+        S_basic_auth = 629,                      // basic_auth
+        S_630_124 = 630,                         // $@124
+        S_clients_params = 631,                  // clients_params
+        S_clients_param = 632,                   // clients_param
+        S_user_file = 633,                       // user_file
+        S_634_125 = 634,                         // $@125
+        S_password_file = 635,                   // password_file
+        S_636_126 = 636,                         // $@126
+        S_dhcp_queue_control = 637,              // dhcp_queue_control
+        S_638_127 = 638,                         // $@127
+        S_queue_control_params = 639,            // queue_control_params
+        S_queue_control_param = 640,             // queue_control_param
+        S_enable_queue = 641,                    // enable_queue
+        S_queue_type = 642,                      // queue_type
+        S_643_128 = 643,                         // $@128
+        S_capacity = 644,                        // capacity
+        S_arbitrary_map_entry = 645,             // arbitrary_map_entry
+        S_646_129 = 646,                         // $@129
+        S_dhcp_ddns = 647,                       // dhcp_ddns
+        S_648_130 = 648,                         // $@130
+        S_sub_dhcp_ddns = 649,                   // sub_dhcp_ddns
+        S_650_131 = 650,                         // $@131
+        S_dhcp_ddns_params = 651,                // dhcp_ddns_params
+        S_dhcp_ddns_param = 652,                 // dhcp_ddns_param
+        S_enable_updates = 653,                  // enable_updates
+        S_server_ip = 654,                       // server_ip
+        S_655_132 = 655,                         // $@132
+        S_server_port = 656,                     // server_port
+        S_sender_ip = 657,                       // sender_ip
+        S_658_133 = 658,                         // $@133
+        S_sender_port = 659,                     // sender_port
+        S_max_queue_size = 660,                  // max_queue_size
+        S_ncr_protocol = 661,                    // ncr_protocol
+        S_662_134 = 662,                         // $@134
+        S_ncr_protocol_value = 663,              // ncr_protocol_value
+        S_ncr_format = 664,                      // ncr_format
+        S_665_135 = 665,                         // $@135
+        S_config_control = 666,                  // config_control
+        S_667_136 = 667,                         // $@136
+        S_sub_config_control = 668,              // sub_config_control
+        S_669_137 = 669,                         // $@137
+        S_config_control_params = 670,           // config_control_params
+        S_config_control_param = 671,            // config_control_param
+        S_config_databases = 672,                // config_databases
+        S_673_138 = 673,                         // $@138
+        S_config_fetch_wait_time = 674,          // config_fetch_wait_time
+        S_loggers = 675,                         // loggers
+        S_676_139 = 676,                         // $@139
+        S_loggers_entries = 677,                 // loggers_entries
+        S_logger_entry = 678,                    // logger_entry
+        S_679_140 = 679,                         // $@140
+        S_logger_params = 680,                   // logger_params
+        S_logger_param = 681,                    // logger_param
+        S_debuglevel = 682,                      // debuglevel
+        S_severity = 683,                        // severity
+        S_684_141 = 684,                         // $@141
+        S_output_options_list = 685,             // output_options_list
+        S_686_142 = 686,                         // $@142
+        S_output_options_list_content = 687,     // output_options_list_content
+        S_output_entry = 688,                    // output_entry
+        S_689_143 = 689,                         // $@143
+        S_output_params_list = 690,              // output_params_list
+        S_output_params = 691,                   // output_params
+        S_output = 692,                          // output
+        S_693_144 = 693,                         // $@144
+        S_flush = 694,                           // flush
+        S_maxsize = 695,                         // maxsize
+        S_maxver = 696,                          // maxver
+        S_pattern = 697,                         // pattern
+        S_698_145 = 698,                         // $@145
+        S_compatibility = 699,                   // compatibility
+        S_700_146 = 700,                         // $@146
+        S_compatibility_params = 701,            // compatibility_params
+        S_compatibility_param = 702,             // compatibility_param
+        S_lenient_option_parsing = 703,          // lenient_option_parsing
+        S_ignore_dhcp_server_identifier = 704,   // ignore_dhcp_server_identifier
+        S_ignore_rai_link_selection = 705,       // ignore_rai_link_selection
+        S_exclude_first_last_24 = 706            // exclude_first_last_24
       };
     };
 
@@ -5655,8 +5656,8 @@ switch (yykind)
     /// Constants.
     enum
     {
-      yylast_ = 1689,     ///< Last index in yytable_.
-      yynnts_ = 475,  ///< Number of nonterminal symbols.
+      yylast_ = 1569,     ///< Last index in yytable_.
+      yynnts_ = 476,  ///< Number of nonterminal symbols.
       yyfinal_ = 28 ///< Termination state number.
     };
 
@@ -5902,7 +5903,7 @@ switch (yykind)
 
 #line 14 "dhcp4_parser.yy"
 } } // isc::dhcp
-#line 5906 "dhcp4_parser.h"
+#line 5907 "dhcp4_parser.h"
 
 
 
index 196e001604bbaef7a76ffaa8fd5b22971f5be0e5..d1d2ae7baf17609e983c92500d8123a05e0f3a3d 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 202411131006
+// Generated 202411151018
 // A Bison parser, made by GNU Bison 3.8.2.
 
 // Locations for Bison parsers in C++
index 80eaba0cfd88094a670d021efbfc240149ab64e7..8ae914b7687f0dea897fd14fe0fece9baef27224 100644 (file)
@@ -4334,73 +4334,73 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HTTP_HEADERS);
 }
-#line 4337 "dhcp6_parser.cc"
+#line 4338 "dhcp6_parser.cc"
     break;
 
   case 797: // http_headers: "http-headers" $@121 ":" "[" http_header_list "]"
-#line 2803 "dhcp6_parser.yy"
+#line 2804 "dhcp6_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4346 "dhcp6_parser.cc"
+#line 4347 "dhcp6_parser.cc"
     break;
 
   case 802: // not_empty_http_header_list: not_empty_http_header_list ","
-#line 2814 "dhcp6_parser.yy"
+#line 2815 "dhcp6_parser.yy"
                                                              {
                               ctx.warnAboutExtraCommas(yystack_[0].location);
                               }
-#line 4354 "dhcp6_parser.cc"
+#line 4355 "dhcp6_parser.cc"
     break;
 
   case 803: // $@122: %empty
-#line 2819 "dhcp6_parser.yy"
+#line 2820 "dhcp6_parser.yy"
                             {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 4364 "dhcp6_parser.cc"
+#line 4365 "dhcp6_parser.cc"
     break;
 
   case 804: // http_header: "{" $@122 http_header_params "}"
-#line 2823 "dhcp6_parser.yy"
+#line 2824 "dhcp6_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 4372 "dhcp6_parser.cc"
+#line 4373 "dhcp6_parser.cc"
     break;
 
   case 807: // http_header_params: http_header_params ","
-#line 2829 "dhcp6_parser.yy"
+#line 2830 "dhcp6_parser.yy"
                                              {
                       ctx.warnAboutExtraCommas(yystack_[0].location);
                       }
-#line 4380 "dhcp6_parser.cc"
+#line 4381 "dhcp6_parser.cc"
     break;
 
   case 813: // $@123: %empty
-#line 2841 "dhcp6_parser.yy"
-             {
+#line 2842 "dhcp6_parser.yy"
+                    {
     ctx.unique("value", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4389 "dhcp6_parser.cc"
+#line 4390 "dhcp6_parser.cc"
     break;
 
-  case 814: // value: "value" $@123 ":" "constant string"
-#line 2844 "dhcp6_parser.yy"
+  case 814: // header_value: "value" $@123 ":" "constant string"
+#line 2845 "dhcp6_parser.yy"
                {
     ElementPtr value(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("value", value);
     ctx.leave();
 }
-#line 4399 "dhcp6_parser.cc"
+#line 4400 "dhcp6_parser.cc"
     break;
 
   case 815: // $@124: %empty
-#line 2852 "dhcp6_parser.yy"
+#line 2853 "dhcp6_parser.yy"
                                {
     ctx.unique("authentication", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4408,92 +4408,92 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.AUTHENTICATION);
 }
-#line 4411 "dhcp6_parser.cc"
+#line 4412 "dhcp6_parser.cc"
     break;
 
   case 816: // authentication: "authentication" $@124 ":" "{" auth_params "}"
-#line 2858 "dhcp6_parser.yy"
+#line 2859 "dhcp6_parser.yy"
                                                   {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4422 "dhcp6_parser.cc"
+#line 4423 "dhcp6_parser.cc"
     break;
 
   case 819: // auth_params: auth_params ","
-#line 2867 "dhcp6_parser.yy"
+#line 2868 "dhcp6_parser.yy"
                                {
                ctx.warnAboutExtraCommas(yystack_[0].location);
                }
-#line 4430 "dhcp6_parser.cc"
+#line 4431 "dhcp6_parser.cc"
     break;
 
   case 827: // $@125: %empty
-#line 2881 "dhcp6_parser.yy"
+#line 2882 "dhcp6_parser.yy"
                 {
     ctx.unique("type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.AUTH_TYPE);
 }
-#line 4439 "dhcp6_parser.cc"
+#line 4440 "dhcp6_parser.cc"
     break;
 
   case 828: // auth_type: "type" $@125 ":" auth_type_value
-#line 2884 "dhcp6_parser.yy"
+#line 2885 "dhcp6_parser.yy"
                         {
     ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4448 "dhcp6_parser.cc"
+#line 4449 "dhcp6_parser.cc"
     break;
 
   case 829: // auth_type_value: "basic"
-#line 2889 "dhcp6_parser.yy"
+#line 2890 "dhcp6_parser.yy"
                        { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("basic", ctx.loc2pos(yystack_[0].location))); }
-#line 4454 "dhcp6_parser.cc"
+#line 4455 "dhcp6_parser.cc"
     break;
 
   case 830: // $@126: %empty
-#line 2892 "dhcp6_parser.yy"
+#line 2893 "dhcp6_parser.yy"
              {
     ctx.unique("realm", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4463 "dhcp6_parser.cc"
+#line 4464 "dhcp6_parser.cc"
     break;
 
   case 831: // realm: "realm" $@126 ":" "constant string"
-#line 2895 "dhcp6_parser.yy"
+#line 2896 "dhcp6_parser.yy"
                {
     ElementPtr realm(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("realm", realm);
     ctx.leave();
 }
-#line 4473 "dhcp6_parser.cc"
+#line 4474 "dhcp6_parser.cc"
     break;
 
   case 832: // $@127: %empty
-#line 2901 "dhcp6_parser.yy"
+#line 2902 "dhcp6_parser.yy"
                      {
     ctx.unique("directory", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4482 "dhcp6_parser.cc"
+#line 4483 "dhcp6_parser.cc"
     break;
 
   case 833: // directory: "directory" $@127 ":" "constant string"
-#line 2904 "dhcp6_parser.yy"
+#line 2905 "dhcp6_parser.yy"
                {
     ElementPtr directory(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("directory", directory);
     ctx.leave();
 }
-#line 4492 "dhcp6_parser.cc"
+#line 4493 "dhcp6_parser.cc"
     break;
 
   case 834: // $@128: %empty
-#line 2910 "dhcp6_parser.yy"
+#line 2911 "dhcp6_parser.yy"
                  {
     ctx.unique("clients", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4501,92 +4501,92 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CLIENTS);
 }
-#line 4504 "dhcp6_parser.cc"
+#line 4505 "dhcp6_parser.cc"
     break;
 
   case 835: // clients: "clients" $@128 ":" "[" clients_list "]"
-#line 2916 "dhcp6_parser.yy"
+#line 2917 "dhcp6_parser.yy"
                                                      {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4513 "dhcp6_parser.cc"
+#line 4514 "dhcp6_parser.cc"
     break;
 
   case 840: // not_empty_clients_list: not_empty_clients_list ","
-#line 2927 "dhcp6_parser.yy"
+#line 2928 "dhcp6_parser.yy"
                                                      {
                           ctx.warnAboutExtraCommas(yystack_[0].location);
                           }
-#line 4521 "dhcp6_parser.cc"
+#line 4522 "dhcp6_parser.cc"
     break;
 
   case 841: // $@129: %empty
-#line 2932 "dhcp6_parser.yy"
+#line 2933 "dhcp6_parser.yy"
                            {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 4531 "dhcp6_parser.cc"
+#line 4532 "dhcp6_parser.cc"
     break;
 
   case 842: // basic_auth: "{" $@129 clients_params "}"
-#line 2936 "dhcp6_parser.yy"
+#line 2937 "dhcp6_parser.yy"
                                 {
     ctx.stack_.pop_back();
 }
-#line 4539 "dhcp6_parser.cc"
+#line 4540 "dhcp6_parser.cc"
     break;
 
   case 845: // clients_params: clients_params ","
-#line 2942 "dhcp6_parser.yy"
+#line 2943 "dhcp6_parser.yy"
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
-#line 4547 "dhcp6_parser.cc"
+#line 4548 "dhcp6_parser.cc"
     break;
 
   case 853: // $@130: %empty
-#line 2956 "dhcp6_parser.yy"
+#line 2957 "dhcp6_parser.yy"
                      {
     ctx.unique("user-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4556 "dhcp6_parser.cc"
+#line 4557 "dhcp6_parser.cc"
     break;
 
   case 854: // user_file: "user-file" $@130 ":" "constant string"
-#line 2959 "dhcp6_parser.yy"
+#line 2960 "dhcp6_parser.yy"
                {
     ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user-file", user);
     ctx.leave();
 }
-#line 4566 "dhcp6_parser.cc"
+#line 4567 "dhcp6_parser.cc"
     break;
 
   case 855: // $@131: %empty
-#line 2965 "dhcp6_parser.yy"
+#line 2966 "dhcp6_parser.yy"
                              {
     ctx.unique("password-file", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4575 "dhcp6_parser.cc"
+#line 4576 "dhcp6_parser.cc"
     break;
 
   case 856: // password_file: "password-file" $@131 ":" "constant string"
-#line 2968 "dhcp6_parser.yy"
+#line 2969 "dhcp6_parser.yy"
                {
     ElementPtr password(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password-file", password);
     ctx.leave();
 }
-#line 4585 "dhcp6_parser.cc"
+#line 4586 "dhcp6_parser.cc"
     break;
 
   case 857: // $@132: %empty
-#line 2976 "dhcp6_parser.yy"
+#line 2977 "dhcp6_parser.yy"
                                        {
     ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
     ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4594,87 +4594,87 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(qc);
     ctx.enter(ctx.DHCP_QUEUE_CONTROL);
 }
-#line 4597 "dhcp6_parser.cc"
+#line 4598 "dhcp6_parser.cc"
     break;
 
   case 858: // dhcp_queue_control: "dhcp-queue-control" $@132 ":" "{" queue_control_params "}"
-#line 2982 "dhcp6_parser.yy"
+#line 2983 "dhcp6_parser.yy"
                                                            {
     // The enable queue parameter is required.
     ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4608 "dhcp6_parser.cc"
+#line 4609 "dhcp6_parser.cc"
     break;
 
   case 861: // queue_control_params: queue_control_params ","
-#line 2991 "dhcp6_parser.yy"
+#line 2992 "dhcp6_parser.yy"
                                                  {
                         ctx.warnAboutExtraCommas(yystack_[0].location);
                         }
-#line 4616 "dhcp6_parser.cc"
+#line 4617 "dhcp6_parser.cc"
     break;
 
   case 868: // enable_queue: "enable-queue" ":" "boolean"
-#line 3004 "dhcp6_parser.yy"
+#line 3005 "dhcp6_parser.yy"
                                          {
     ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-queue", b);
 }
-#line 4626 "dhcp6_parser.cc"
+#line 4627 "dhcp6_parser.cc"
     break;
 
   case 869: // $@133: %empty
-#line 3010 "dhcp6_parser.yy"
+#line 3011 "dhcp6_parser.yy"
                        {
     ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4635 "dhcp6_parser.cc"
+#line 4636 "dhcp6_parser.cc"
     break;
 
   case 870: // queue_type: "queue-type" $@133 ":" "constant string"
-#line 3013 "dhcp6_parser.yy"
+#line 3014 "dhcp6_parser.yy"
                {
     ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("queue-type", qt);
     ctx.leave();
 }
-#line 4645 "dhcp6_parser.cc"
+#line 4646 "dhcp6_parser.cc"
     break;
 
   case 871: // capacity: "capacity" ":" "integer"
-#line 3019 "dhcp6_parser.yy"
+#line 3020 "dhcp6_parser.yy"
                                  {
     ctx.unique("capacity", ctx.loc2pos(yystack_[2].location));
     ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("capacity", c);
 }
-#line 4655 "dhcp6_parser.cc"
+#line 4656 "dhcp6_parser.cc"
     break;
 
   case 872: // $@134: %empty
-#line 3025 "dhcp6_parser.yy"
+#line 3026 "dhcp6_parser.yy"
                             {
     ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4664 "dhcp6_parser.cc"
+#line 4665 "dhcp6_parser.cc"
     break;
 
   case 873: // arbitrary_map_entry: "constant string" $@134 ":" value
-#line 3028 "dhcp6_parser.yy"
+#line 3029 "dhcp6_parser.yy"
               {
     ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4673 "dhcp6_parser.cc"
+#line 4674 "dhcp6_parser.cc"
     break;
 
   case 874: // $@135: %empty
-#line 3035 "dhcp6_parser.yy"
+#line 3036 "dhcp6_parser.yy"
                      {
     ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4682,177 +4682,177 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.DHCP_DDNS);
 }
-#line 4685 "dhcp6_parser.cc"
+#line 4686 "dhcp6_parser.cc"
     break;
 
   case 875: // dhcp_ddns: "dhcp-ddns" $@135 ":" "{" dhcp_ddns_params "}"
-#line 3041 "dhcp6_parser.yy"
+#line 3042 "dhcp6_parser.yy"
                                                        {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4696 "dhcp6_parser.cc"
+#line 4697 "dhcp6_parser.cc"
     break;
 
   case 876: // $@136: %empty
-#line 3048 "dhcp6_parser.yy"
+#line 3049 "dhcp6_parser.yy"
                               {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 4706 "dhcp6_parser.cc"
+#line 4707 "dhcp6_parser.cc"
     break;
 
   case 877: // sub_dhcp_ddns: "{" $@136 dhcp_ddns_params "}"
-#line 3052 "dhcp6_parser.yy"
+#line 3053 "dhcp6_parser.yy"
                                   {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 4716 "dhcp6_parser.cc"
+#line 4717 "dhcp6_parser.cc"
     break;
 
   case 880: // dhcp_ddns_params: dhcp_ddns_params ","
-#line 3060 "dhcp6_parser.yy"
+#line 3061 "dhcp6_parser.yy"
                                          {
                     ctx.warnAboutExtraCommas(yystack_[0].location);
                     }
-#line 4724 "dhcp6_parser.cc"
+#line 4725 "dhcp6_parser.cc"
     break;
 
   case 892: // enable_updates: "enable-updates" ":" "boolean"
-#line 3078 "dhcp6_parser.yy"
+#line 3079 "dhcp6_parser.yy"
                                              {
     ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
 }
-#line 4734 "dhcp6_parser.cc"
+#line 4735 "dhcp6_parser.cc"
     break;
 
   case 893: // $@137: %empty
-#line 3084 "dhcp6_parser.yy"
+#line 3085 "dhcp6_parser.yy"
                      {
     ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4743 "dhcp6_parser.cc"
+#line 4744 "dhcp6_parser.cc"
     break;
 
   case 894: // server_ip: "server-ip" $@137 ":" "constant string"
-#line 3087 "dhcp6_parser.yy"
+#line 3088 "dhcp6_parser.yy"
                {
     ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
     ctx.leave();
 }
-#line 4753 "dhcp6_parser.cc"
+#line 4754 "dhcp6_parser.cc"
     break;
 
   case 895: // server_port: "server-port" ":" "integer"
-#line 3093 "dhcp6_parser.yy"
+#line 3094 "dhcp6_parser.yy"
                                        {
     ctx.unique("server-port", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
 }
-#line 4763 "dhcp6_parser.cc"
+#line 4764 "dhcp6_parser.cc"
     break;
 
   case 896: // $@138: %empty
-#line 3099 "dhcp6_parser.yy"
+#line 3100 "dhcp6_parser.yy"
                      {
     ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 4772 "dhcp6_parser.cc"
+#line 4773 "dhcp6_parser.cc"
     break;
 
   case 897: // sender_ip: "sender-ip" $@138 ":" "constant string"
-#line 3102 "dhcp6_parser.yy"
+#line 3103 "dhcp6_parser.yy"
                {
     ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
     ctx.leave();
 }
-#line 4782 "dhcp6_parser.cc"
+#line 4783 "dhcp6_parser.cc"
     break;
 
   case 898: // sender_port: "sender-port" ":" "integer"
-#line 3108 "dhcp6_parser.yy"
+#line 3109 "dhcp6_parser.yy"
                                        {
     ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
 }
-#line 4792 "dhcp6_parser.cc"
+#line 4793 "dhcp6_parser.cc"
     break;
 
   case 899: // max_queue_size: "max-queue-size" ":" "integer"
-#line 3114 "dhcp6_parser.yy"
+#line 3115 "dhcp6_parser.yy"
                                              {
     ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location));
     ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
 }
-#line 4802 "dhcp6_parser.cc"
+#line 4803 "dhcp6_parser.cc"
     break;
 
   case 900: // $@139: %empty
-#line 3120 "dhcp6_parser.yy"
+#line 3121 "dhcp6_parser.yy"
                            {
     ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NCR_PROTOCOL);
 }
-#line 4811 "dhcp6_parser.cc"
+#line 4812 "dhcp6_parser.cc"
     break;
 
   case 901: // ncr_protocol: "ncr-protocol" $@139 ":" ncr_protocol_value
-#line 3123 "dhcp6_parser.yy"
+#line 3124 "dhcp6_parser.yy"
                            {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 4820 "dhcp6_parser.cc"
+#line 4821 "dhcp6_parser.cc"
     break;
 
   case 902: // ncr_protocol_value: "UDP"
-#line 3129 "dhcp6_parser.yy"
+#line 3130 "dhcp6_parser.yy"
         { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 4826 "dhcp6_parser.cc"
+#line 4827 "dhcp6_parser.cc"
     break;
 
   case 903: // ncr_protocol_value: "TCP"
-#line 3130 "dhcp6_parser.yy"
+#line 3131 "dhcp6_parser.yy"
         { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 4832 "dhcp6_parser.cc"
+#line 4833 "dhcp6_parser.cc"
     break;
 
   case 904: // $@140: %empty
-#line 3133 "dhcp6_parser.yy"
+#line 3134 "dhcp6_parser.yy"
                        {
     ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NCR_FORMAT);
 }
-#line 4841 "dhcp6_parser.cc"
+#line 4842 "dhcp6_parser.cc"
     break;
 
   case 905: // ncr_format: "ncr-format" $@140 ":" "JSON"
-#line 3136 "dhcp6_parser.yy"
+#line 3137 "dhcp6_parser.yy"
              {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
     ctx.leave();
 }
-#line 4851 "dhcp6_parser.cc"
+#line 4852 "dhcp6_parser.cc"
     break;
 
   case 906: // $@141: %empty
-#line 3144 "dhcp6_parser.yy"
+#line 3145 "dhcp6_parser.yy"
                                {
     ctx.unique("config-control", ctx.loc2pos(yystack_[0].location));
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -4860,48 +4860,48 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(i);
     ctx.enter(ctx.CONFIG_CONTROL);
 }
-#line 4863 "dhcp6_parser.cc"
+#line 4864 "dhcp6_parser.cc"
     break;
 
   case 907: // config_control: "config-control" $@141 ":" "{" config_control_params "}"
-#line 3150 "dhcp6_parser.yy"
+#line 3151 "dhcp6_parser.yy"
                                                             {
     // No config control params are required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4873 "dhcp6_parser.cc"
+#line 4874 "dhcp6_parser.cc"
     break;
 
   case 908: // $@142: %empty
-#line 3156 "dhcp6_parser.yy"
+#line 3157 "dhcp6_parser.yy"
                                    {
     // Parse the config-control map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 4883 "dhcp6_parser.cc"
+#line 4884 "dhcp6_parser.cc"
     break;
 
   case 909: // sub_config_control: "{" $@142 config_control_params "}"
-#line 3160 "dhcp6_parser.yy"
+#line 3161 "dhcp6_parser.yy"
                                        {
     // No config_control params are required
     // parsing completed
 }
-#line 4892 "dhcp6_parser.cc"
+#line 4893 "dhcp6_parser.cc"
     break;
 
   case 912: // config_control_params: config_control_params ","
-#line 3168 "dhcp6_parser.yy"
+#line 3169 "dhcp6_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 4900 "dhcp6_parser.cc"
+#line 4901 "dhcp6_parser.cc"
     break;
 
   case 915: // $@143: %empty
-#line 3178 "dhcp6_parser.yy"
+#line 3179 "dhcp6_parser.yy"
                                    {
     ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4909,30 +4909,30 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CONFIG_DATABASE);
 }
-#line 4912 "dhcp6_parser.cc"
+#line 4913 "dhcp6_parser.cc"
     break;
 
   case 916: // config_databases: "config-databases" $@143 ":" "[" database_list "]"
-#line 3184 "dhcp6_parser.yy"
+#line 3185 "dhcp6_parser.yy"
                                                       {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4921 "dhcp6_parser.cc"
+#line 4922 "dhcp6_parser.cc"
     break;
 
   case 917: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer"
-#line 3189 "dhcp6_parser.yy"
+#line 3190 "dhcp6_parser.yy"
                                                              {
     ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
     ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-fetch-wait-time", value);
 }
-#line 4931 "dhcp6_parser.cc"
+#line 4932 "dhcp6_parser.cc"
     break;
 
   case 918: // $@144: %empty
-#line 3197 "dhcp6_parser.yy"
+#line 3198 "dhcp6_parser.yy"
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -4940,83 +4940,83 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 4943 "dhcp6_parser.cc"
+#line 4944 "dhcp6_parser.cc"
     break;
 
   case 919: // loggers: "loggers" $@144 ":" "[" loggers_entries "]"
-#line 3203 "dhcp6_parser.yy"
+#line 3204 "dhcp6_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 4952 "dhcp6_parser.cc"
+#line 4953 "dhcp6_parser.cc"
     break;
 
   case 922: // loggers_entries: loggers_entries ","
-#line 3212 "dhcp6_parser.yy"
+#line 3213 "dhcp6_parser.yy"
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
-#line 4960 "dhcp6_parser.cc"
+#line 4961 "dhcp6_parser.cc"
     break;
 
   case 923: // $@145: %empty
-#line 3218 "dhcp6_parser.yy"
+#line 3219 "dhcp6_parser.yy"
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 4970 "dhcp6_parser.cc"
+#line 4971 "dhcp6_parser.cc"
     break;
 
   case 924: // logger_entry: "{" $@145 logger_params "}"
-#line 3222 "dhcp6_parser.yy"
+#line 3223 "dhcp6_parser.yy"
                                {
     ctx.stack_.pop_back();
 }
-#line 4978 "dhcp6_parser.cc"
+#line 4979 "dhcp6_parser.cc"
     break;
 
   case 927: // logger_params: logger_params ","
-#line 3228 "dhcp6_parser.yy"
+#line 3229 "dhcp6_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 4986 "dhcp6_parser.cc"
+#line 4987 "dhcp6_parser.cc"
     break;
 
   case 935: // debuglevel: "debuglevel" ":" "integer"
-#line 3242 "dhcp6_parser.yy"
+#line 3243 "dhcp6_parser.yy"
                                      {
     ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
     ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 4996 "dhcp6_parser.cc"
+#line 4997 "dhcp6_parser.cc"
     break;
 
   case 936: // $@146: %empty
-#line 3248 "dhcp6_parser.yy"
+#line 3249 "dhcp6_parser.yy"
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 5005 "dhcp6_parser.cc"
+#line 5006 "dhcp6_parser.cc"
     break;
 
   case 937: // severity: "severity" $@146 ":" "constant string"
-#line 3251 "dhcp6_parser.yy"
+#line 3252 "dhcp6_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 5015 "dhcp6_parser.cc"
+#line 5016 "dhcp6_parser.cc"
     break;
 
   case 938: // $@147: %empty
-#line 3257 "dhcp6_parser.yy"
+#line 3258 "dhcp6_parser.yy"
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -5024,122 +5024,122 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 5027 "dhcp6_parser.cc"
+#line 5028 "dhcp6_parser.cc"
     break;
 
   case 939: // output_options_list: "output-options" $@147 ":" "[" output_options_list_content "]"
-#line 3263 "dhcp6_parser.yy"
+#line 3264 "dhcp6_parser.yy"
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 5036 "dhcp6_parser.cc"
+#line 5037 "dhcp6_parser.cc"
     break;
 
   case 942: // output_options_list_content: output_options_list_content ","
-#line 3270 "dhcp6_parser.yy"
+#line 3271 "dhcp6_parser.yy"
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
-#line 5044 "dhcp6_parser.cc"
+#line 5045 "dhcp6_parser.cc"
     break;
 
   case 943: // $@148: %empty
-#line 3275 "dhcp6_parser.yy"
+#line 3276 "dhcp6_parser.yy"
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 5054 "dhcp6_parser.cc"
+#line 5055 "dhcp6_parser.cc"
     break;
 
   case 944: // output_entry: "{" $@148 output_params_list "}"
-#line 3279 "dhcp6_parser.yy"
+#line 3280 "dhcp6_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 5062 "dhcp6_parser.cc"
+#line 5063 "dhcp6_parser.cc"
     break;
 
   case 947: // output_params_list: output_params_list ","
-#line 3285 "dhcp6_parser.yy"
+#line 3286 "dhcp6_parser.yy"
                                              {
                       ctx.warnAboutExtraCommas(yystack_[0].location);
                       }
-#line 5070 "dhcp6_parser.cc"
+#line 5071 "dhcp6_parser.cc"
     break;
 
   case 953: // $@149: %empty
-#line 3297 "dhcp6_parser.yy"
+#line 3298 "dhcp6_parser.yy"
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 5079 "dhcp6_parser.cc"
+#line 5080 "dhcp6_parser.cc"
     break;
 
   case 954: // output: "output" $@149 ":" "constant string"
-#line 3300 "dhcp6_parser.yy"
+#line 3301 "dhcp6_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 5089 "dhcp6_parser.cc"
+#line 5090 "dhcp6_parser.cc"
     break;
 
   case 955: // flush: "flush" ":" "boolean"
-#line 3306 "dhcp6_parser.yy"
+#line 3307 "dhcp6_parser.yy"
                            {
     ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
     ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 5099 "dhcp6_parser.cc"
+#line 5100 "dhcp6_parser.cc"
     break;
 
   case 956: // maxsize: "maxsize" ":" "integer"
-#line 3312 "dhcp6_parser.yy"
+#line 3313 "dhcp6_parser.yy"
                                {
     ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 5109 "dhcp6_parser.cc"
+#line 5110 "dhcp6_parser.cc"
     break;
 
   case 957: // maxver: "maxver" ":" "integer"
-#line 3318 "dhcp6_parser.yy"
+#line 3319 "dhcp6_parser.yy"
                              {
     ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 5119 "dhcp6_parser.cc"
+#line 5120 "dhcp6_parser.cc"
     break;
 
   case 958: // $@150: %empty
-#line 3324 "dhcp6_parser.yy"
+#line 3325 "dhcp6_parser.yy"
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 5128 "dhcp6_parser.cc"
+#line 5129 "dhcp6_parser.cc"
     break;
 
   case 959: // pattern: "pattern" $@150 ":" "constant string"
-#line 3327 "dhcp6_parser.yy"
+#line 3328 "dhcp6_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
-#line 5138 "dhcp6_parser.cc"
+#line 5139 "dhcp6_parser.cc"
     break;
 
   case 960: // $@151: %empty
-#line 3333 "dhcp6_parser.yy"
+#line 3334 "dhcp6_parser.yy"
                              {
     ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location));
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -5147,38 +5147,38 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(i);
     ctx.enter(ctx.COMPATIBILITY);
 }
-#line 5150 "dhcp6_parser.cc"
+#line 5151 "dhcp6_parser.cc"
     break;
 
   case 961: // compatibility: "compatibility" $@151 ":" "{" compatibility_params "}"
-#line 3339 "dhcp6_parser.yy"
+#line 3340 "dhcp6_parser.yy"
                                                            {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 5159 "dhcp6_parser.cc"
+#line 5160 "dhcp6_parser.cc"
     break;
 
   case 964: // compatibility_params: compatibility_params ","
-#line 3346 "dhcp6_parser.yy"
+#line 3347 "dhcp6_parser.yy"
                                                  {
                         ctx.warnAboutExtraCommas(yystack_[0].location);
                         }
-#line 5167 "dhcp6_parser.cc"
+#line 5168 "dhcp6_parser.cc"
     break;
 
   case 967: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean"
-#line 3355 "dhcp6_parser.yy"
+#line 3356 "dhcp6_parser.yy"
                                                              {
     ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
     ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lenient-option-parsing", b);
 }
-#line 5177 "dhcp6_parser.cc"
+#line 5178 "dhcp6_parser.cc"
     break;
 
 
-#line 5181 "dhcp6_parser.cc"
+#line 5182 "dhcp6_parser.cc"
 
             default:
               break;
@@ -5530,162 +5530,162 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short Dhcp6Parser::yypact_ninf_ = -1402;
+  const short Dhcp6Parser::yypact_ninf_ = -1396;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short
   Dhcp6Parser::yypact_[] =
   {
-     523, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,    40,    66,    47,    74,    85,
-     102,   115,   121,   129,   178,   180,   187,   226,   238,   276,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,    66,
-    -164,   149,   199,   716,    43,  1418,   109,   577,   455,   167,
-     117,   189,   -98,   473,   130, -1402,   283,   290,   307,   295,
-     302,    89, -1402,    76, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402,   331,   341,   343,   345,   349,   355,   357,   366,   417,
-     441,   451,   452,   463,   464, -1402,   465,   466,   467,   470,
-     471, -1402, -1402, -1402,   474,   475,   476,   477, -1402, -1402,
-   -1402,   478, -1402, -1402, -1402, -1402, -1402, -1402,   480,   482,
-     483, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-     489, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   491,   493,
-     495, -1402, -1402,   503, -1402,    79, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   504,   506,   508,   509,
-   -1402,    95, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,   511,   514, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-     112, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402,   517, -1402, -1402, -1402, -1402, -1402,   113, -1402, -1402,
-   -1402, -1402, -1402, -1402,   521, -1402,   522,   524, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   116, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,   329,   336, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   364, -1402, -1402,   525,
-   -1402, -1402, -1402,   527, -1402, -1402,   407,   531, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402,   536,   538,   539, -1402, -1402, -1402, -1402, -1402,   469,
-     541, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,   122, -1402, -1402, -1402,   542,
-   -1402,   543, -1402,   544,   549, -1402, -1402, -1402, -1402, -1402,
-     123, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402,   550,   143, -1402, -1402, -1402, -1402,    66,    66, -1402,
-     296, -1402,   552, -1402, -1402,   553,   558,   560,   561,   564,
-     565,   313,   338,   352,   361,   362,   365,   367,   373,   339,
-     342,   374,   377,   379,   380,   568,   381,   385,   372,   384,
-     386,   596,   618,   619,   391,   392,   395,   396,   625,   627,
-     629,   403,   632,   633,   634,   638,   639,   640,   412,   416,
-     418,   641,   644,   645,   647,   649,   651,   652,   653,   654,
-     435,   664,   666,   667,   669,   670,   671,   672,   450,   453,
-     454,   681,   685, -1402,   716, -1402,   686,   457,   458,   461,
-     462,    43, -1402,   691,   692,   693,   694,   697,   479,   468,
-     699,   706,   709,   710,  1418, -1402,   711,   485,   109, -1402,
-     714,   488,   717,   490,   494,   577, -1402,   719,   721,   725,
-     726,   728,   729,   730,   731, -1402,   455, -1402,   732,   753,
-     528,   757,   758,   790,   562, -1402,   117,   791,   563,   567,
-     575,   806, -1402,   189,   807,   809,   -94, -1402,   580,   811,
-     584,   813,   586,   587,   816,   819,   473, -1402,   820,   593,
-     130, -1402, -1402, -1402,   822,   828,   605,   831,   832,   833,
-     834,   837, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   612, -1402, -1402, -1402,
-   -1402, -1402,    20,   613,   614, -1402, -1402, -1402, -1402,   842,
-     843,   844, -1402,   620,   621,   287,   845,   846,   623, -1402,
-   -1402, -1402,   851,   852,   854,   853,   856,   857,   858,   859,
-     860, -1402,   861,   862,   865,   864,   868,   646,   650, -1402,
-   -1402, -1402,   867,   869, -1402,   875, -1402, -1402, -1402, -1402,
-   -1402,   877,   878,   655,   656,   657, -1402, -1402,   875,   875,
-     658,   883, -1402,   660, -1402, -1402,   661, -1402,   662, -1402,
-   -1402, -1402,   875,   875,   875,   875,   663,   665,   668,   673,
-   -1402,   674,   675, -1402,   676,   677,   678, -1402, -1402,   679,
-   -1402, -1402, -1402,   875, -1402,   680,   846, -1402, -1402,   682,
-   -1402,   683, -1402, -1402,   -30,   631, -1402,   879, -1402, -1402,
-      66,   716, -1402,   130,    43,   146,   146,   888, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,   891,   893,   895,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,   896, -1402, -1402,
-   -1402,   -89,    66,   -46,   279,   905,   908,   909,   171,    94,
-     120,   196,   916,   124,   473, -1402, -1402,   917,  -159, -1402,
-   -1402,   918,   919, -1402, -1402, -1402, -1402, -1402, -1402,   733,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   888, -1402,   151,   193,
-     202, -1402, -1402, -1402, -1402,   881,   923,   924,   925,   926,
-     928,   929,   930,   931,   932, -1402,   933,   934, -1402, -1402,
-   -1402, -1402, -1402,   203, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,   205, -1402,   935,
-     936, -1402, -1402,   937,   939, -1402, -1402,   938,   942, -1402,
-   -1402,   940,   945, -1402, -1402,   943,   947, -1402, -1402, -1402,
-      62, -1402, -1402, -1402,   946, -1402, -1402, -1402,   340, -1402,
-   -1402, -1402, -1402, -1402,   213, -1402, -1402, -1402, -1402,   433,
-   -1402, -1402,   948,   950, -1402, -1402,   949,   953, -1402,   954,
-     955,   956,   957,   958,   959,   236, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,   960,   961,   962, -1402, -1402,
-   -1402, -1402,   301, -1402, -1402, -1402, -1402, -1402, -1402,   963,
-     964,   965, -1402,   318, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,   966, -1402,   967, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,   319, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,   951,   969, -1402,   970, -1402,   971, -1402,
-   -1402, -1402,   320, -1402, -1402, -1402, -1402, -1402,   321, -1402,
-     447, -1402,   972, -1402,   333, -1402, -1402,   720, -1402,   973,
-     974, -1402, -1402,   975,   977, -1402, -1402,   976,   979, -1402,
-   -1402, -1402,   978,   982,   984,   985,   708,   739,   746,   749,
-     759,   760,   762,   765,   773,   778,  1014,   785,   793,  1018,
-    1019,  1028,  1029,   146, -1402, -1402,   146, -1402,   888,  1418,
-   -1402,   891,   117, -1402,   893,   189, -1402,   895,   335, -1402,
-     896,   -89, -1402, -1402,   -46, -1402,  1032,  1035,   279, -1402,
-     207,   905, -1402,   455, -1402,   908,   -98, -1402,   909,   810,
-     815,   817,   840,   848,   876,   171, -1402,  1041,  1047,   882,
-     885,   898,    94, -1402,   818,   914,   921,   120, -1402,  1062,
-    1065,  1082,   941,  1085,   907,  1086,   196, -1402,   196, -1402,
-     916,   915,  1090,   944,  1105,   124, -1402, -1402,   291,   917,
-   -1402,   927,  -159, -1402, -1402,  1104,  1147,   109, -1402,   918,
-     577, -1402,   919, -1402, -1402,   952,   968,   980,   981, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   212,
-   -1402, -1402,   983,   986,   987,   988, -1402,   354, -1402,   360,
-   -1402,  1149, -1402,  1150, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,   368, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402,   989,   991, -1402, -1402, -1402,  1151,
-    1158, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402,  1155,  1161, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402,  1157, -1402,   370, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402,   310,   994, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402,   299,   996,   997, -1402,  1159, -1402,  1162, -1402,
-     408, -1402, -1402,   999, -1402,    66, -1402, -1402,  1164, -1402,
-   -1402, -1402, -1402, -1402,   411, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,  1000,   414, -1402,   415, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402,   335, -1402, -1402, -1402,  1165,  1166,
-    1001,  1002, -1402,   207, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,    61,  1167, -1402,
-   -1402, -1402,  1168,  1005,  1171,   291, -1402, -1402, -1402, -1402,
-   -1402,  1003,  1007, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,   425, -1402, -1402, -1402, -1402, -1402, -1402,
-    1172,  1174, -1402,  1175, -1402,  1008, -1402, -1402, -1402,  1177,
-    1178,  1180,  1181,    61, -1402,    32, -1402,  1167,  1179, -1402,
-    1015,  1009,  1010,  1183, -1402,   503, -1402, -1402, -1402, -1402,
-   -1402,   426, -1402, -1402, -1402,   448, -1402, -1402, -1402, -1402,
-   -1402,  1182,    32, -1402,  -107,  1179, -1402, -1402,  1173,  1187,
-   -1402, -1402, -1402,  1188,  1189,  1190, -1402,   427, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402,    51, -1402,  1182,  1191,  1011,
-    1012,  1016,  1192,  -107, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402,   434, -1402, -1402, -1402, -1402,  1020, -1402, -1402,
-   -1402,  1022, -1402,  1193,  1194,    51, -1402, -1402, -1402,  1023,
-    1024, -1402, -1402, -1402
+     522, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396,    82,    33,    57,    89,    99,
+     103,   122,   131,   138,   147,   149,   159,   165,   192,   232,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,    33,  -157,
+      76,   156,   170,   720,   322,   550,   527,   119,    95,   609,
+     -90,   530,    56, -1396,   243,   248,   289,   251,   276, -1396,
+      64, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   371,   373,
+     382,   391,   392,   396,   398,   414,   415,   426,   429,   435,
+     436,   438, -1396,   439,   442,   443,   448,   450, -1396, -1396,
+   -1396,   451,   463,   464,   468, -1396, -1396, -1396,   473, -1396,
+   -1396, -1396, -1396, -1396, -1396,   474,   475,   479, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396,   480, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396,   482,   483,   486, -1396, -1396,
+     488, -1396,    68, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   489,   491,   492,   493, -1396,    72, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   495,   496, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396,    75, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   499, -1396,
+   -1396, -1396, -1396, -1396,    81, -1396, -1396, -1396, -1396, -1396,
+   -1396,   500, -1396,   501,   503, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   104, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   313,   366, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   360, -1396, -1396,   506, -1396, -1396, -1396,
+     508, -1396, -1396,   511,   526, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   528,   531,
+     532, -1396, -1396, -1396, -1396, -1396,   533,   536, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   114, -1396, -1396, -1396,   538, -1396,   539, -1396,
+     541,   542, -1396, -1396, -1396, -1396, -1396,   123, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   543,   134,
+   -1396, -1396, -1396, -1396,    33,    33, -1396,   303,   544, -1396,
+   -1396,   547,   551,   552,   553,   554,   559,   308,   332,   333,
+     335,   338,   341,   342,   343,   349,   344,   348,   353,   352,
+     355,   567,   357,   359,   358,   363,   374,   576,   589,   590,
+     375,   377,   372,   378,   594,   595,   611,   384,   617,   618,
+     619,   622,   624,   625,   400,   403,   405,   636,   637,   638,
+     639,   640,   641,   642,   643,   645,   425,   661,   666,   667,
+     670,   671,   672,   673,   446,   452,   460,   681,   691, -1396,
+     156, -1396,   692,   465,   466,   469,   471,   170, -1396,   693,
+     703,   704,   706,   707,   497,   478,   721,   724,   727,   728,
+     720, -1396,   732,   521,   322, -1396,   750,   523,   752,   525,
+     563,   550, -1396,   755,   756,   761,   778,   779,   780,   792,
+     794, -1396,   527, -1396,   795,   796,   569,   798,   799,   800,
+     490, -1396,    95,   801,   572,   573,   574,   808, -1396,   609,
+     809,   810,    44, -1396,   581,   812,   586,   816,   591,   592,
+     817,   818,   530, -1396,   831,   604,    56, -1396, -1396, -1396,
+     833,   832,   607,   834,   837,   838,   839,   842, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   620, -1396, -1396, -1396, -1396, -1396,  -144,   621,
+     623, -1396, -1396, -1396, -1396,   844,   848,   850, -1396,   626,
+     628,   143,   851,   853,   630, -1396, -1396, -1396,   857,   858,
+     859,   860,   861,   863,   864,   865,   866, -1396,   867,   868,
+     871,   870,   872,   634,   647, -1396, -1396, -1396,   875,   874,
+   -1396,   877, -1396, -1396, -1396, -1396, -1396,   878,   879,   654,
+     655,   656, -1396, -1396,   877,   877,   657,   882, -1396,   659,
+   -1396, -1396,   660, -1396,   662, -1396, -1396, -1396,   877,   877,
+     877,   877,   663,   664,   665,   668, -1396,   669,   674, -1396,
+     675,   676,   677, -1396, -1396,   678, -1396, -1396, -1396,   877,
+   -1396,   679,   853, -1396, -1396,   680, -1396,   682, -1396, -1396,
+     109,   696, -1396,   892, -1396, -1396,    33,   156, -1396,    56,
+     170,   379,   379,   891, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   894,   895,   896, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   897, -1396, -1396, -1396,   -99,    33,   -21,
+     211,   905,   907,   908,   315,   135,   365,   210,   909,   292,
+     530, -1396, -1396,   910,  -158, -1396, -1396,   911,   912, -1396,
+   -1396, -1396, -1396, -1396, -1396,   739, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   891, -1396,   140,   141,   152, -1396, -1396, -1396,
+   -1396,   916,   919,   920,   921,   922,   923,   924,   925,   926,
+     927, -1396,   928,   929, -1396, -1396, -1396, -1396, -1396,   162,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   166, -1396,   930,   931, -1396, -1396,   932,
+     934, -1396, -1396,   933,   937, -1396, -1396,   935,   939, -1396,
+   -1396,   938,   940, -1396, -1396, -1396,    91, -1396, -1396, -1396,
+     941, -1396, -1396, -1396,   124, -1396, -1396, -1396, -1396, -1396,
+     188, -1396, -1396, -1396, -1396,   254, -1396, -1396,   942,   943,
+   -1396, -1396,   944,   946, -1396,   948,   949,   950,   951,   952,
+     953,   194, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396,   954,   955,   956, -1396, -1396, -1396, -1396,   195, -1396,
+   -1396, -1396, -1396, -1396, -1396,   957,   958,   959, -1396,   245,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   960,
+   -1396,   961, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   255,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   962,
+     963, -1396,   965, -1396,   966, -1396, -1396, -1396,   275, -1396,
+   -1396, -1396, -1396, -1396,   284, -1396,   346, -1396,   967, -1396,
+     291, -1396, -1396,   714, -1396,   968,   964, -1396, -1396,   969,
+     970, -1396, -1396,   971,   972, -1396, -1396, -1396,   973,   976,
+     977,   978,   740,   701,   744,   749,   753,   754,   757,   759,
+     762,   769,   984,   768,   772,  1003,  1010,  1011,  1013,   379,
+   -1396, -1396,   379, -1396,   891,   720, -1396,   894,    95, -1396,
+     895,   609, -1396,   896,  1368, -1396,   897,   -99, -1396, -1396,
+     -21, -1396,  1016,  1017,   211, -1396,   258,   905, -1396,   527,
+   -1396,   907,   -90, -1396,   908,   791,   793,   797,   804,   806,
+     807,   315, -1396,  1024,  1029,   814,   822,   823,   135, -1396,
+     815,   828,   841,   365, -1396,  1040,  1060,  1067,   904,  1070,
+     849,  1088,   210, -1396,   210, -1396,   909,   913,  1091,   914,
+    1148,   292, -1396, -1396,   222,   910, -1396,   936,  -158, -1396,
+   -1396,  1149,  1153,   322, -1396,   911,   550, -1396,   912, -1396,
+   -1396,   945,   947,   974,   975, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396,   351, -1396, -1396,   979,   980,
+     981,   982, -1396,   293, -1396,   294, -1396,  1151, -1396,  1152,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396,   309, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+     983,   985, -1396, -1396, -1396,  1158,  1159, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,  1156,  1154,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396,  1157, -1396,   317,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   286,   986,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   299,   987,
+     988, -1396,  1160, -1396,  1161, -1396,   326, -1396, -1396,   990,
+   -1396,    33, -1396, -1396,  1164, -1396, -1396, -1396, -1396, -1396,
+     330, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   991,
+     336, -1396,   337, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+    1368, -1396, -1396, -1396,  1165,  1167,   992,   993, -1396,   258,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,    19,  1166, -1396, -1396, -1396,  1168,   996,
+    1170,   222, -1396, -1396, -1396, -1396, -1396,   994,   998, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   339,
+   -1396, -1396, -1396, -1396, -1396, -1396,  1169,  1174, -1396,  1175,
+   -1396,   999, -1396, -1396, -1396,  1177,  1178,  1179,  1180,    19,
+   -1396,     3, -1396,  1166,  1172, -1396,   699,  1000,  1001,  1181,
+   -1396, -1396, -1396, -1396, -1396, -1396,   347, -1396, -1396, -1396,
+   -1396,   370, -1396, -1396, -1396, -1396, -1396,  1182,  1183,     3,
+   -1396,  -110,  1172, -1396, -1396,  1184,  1185, -1396,  1002, -1396,
+   -1396,  1187,  1188,  1189, -1396,   362, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   217, -1396,  1182, -1396,  1190,  1004,  1005,
+    1007,  1191,  -110, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396,   364, -1396, -1396, -1396, -1396,  1009, -1396, -1396, -1396,
+    1012, -1396,  1192,  1193,   217, -1396, -1396, -1396,  1014,  1015,
+   -1396, -1396, -1396
   };
 
   const short
@@ -5694,592 +5694,582 @@ namespace isc { namespace dhcp {
        0,     2,     4,     6,     8,    10,    12,    14,    16,    18,
       20,    22,    24,    26,    28,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       1,    46,    38,    34,   813,    33,    30,    31,    32,    37,
-       3,    35,    36,    61,     5,    67,     7,   199,     9,   385,
-      11,   597,    13,   627,    15,   661,    17,   512,    19,   521,
-      21,   560,    23,   347,    25,   876,    27,   908,    29,    48,
-      41,     0,     0,     0,     0,     0,     0,     0,   663,     0,
-     523,   562,     0,     0,     0,    50,     0,    49,     0,     0,
-      42,     0,    63,     0,    65,   141,   906,   197,   218,   220,
-     222,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   187,     0,     0,     0,     0,
-       0,   160,   167,   169,     0,     0,     0,     0,   376,   510,
-     551,     0,   190,   192,   173,   454,   614,   616,     0,     0,
-       0,   303,   322,   312,   292,   699,   652,   338,   359,   733,
-       0,   324,   758,   760,   857,   874,   180,   182,     0,     0,
-       0,   918,   960,     0,   140,     0,    69,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,   111,   112,   113,   114,
-     115,    81,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   117,   118,   129,   130,   131,   107,   137,   138,
-     139,   133,   134,   135,    84,    85,    86,    87,   104,    88,
-      90,    89,   132,    94,    95,    82,   108,   109,   110,    83,
-      92,    93,   102,   103,   105,    91,    96,    97,    98,    99,
-     100,   101,   106,   116,   136,   212,     0,     0,     0,     0,
-     211,     0,   201,   204,   205,   206,   207,   208,   209,   210,
-     588,   618,   437,   439,   441,     0,     0,   445,   447,   443,
-     696,   436,   390,   391,   392,   393,   394,   395,   396,   397,
-     416,   417,   418,   419,   420,   423,   424,   425,   426,   427,
-     428,   429,   430,   431,   432,   421,   422,   433,   434,   435,
-       0,   387,   401,   402,   403,   406,   407,   408,   410,   411,
-     412,   404,   405,   398,   399,   414,   415,   400,   409,   413,
-     611,     0,   610,   605,   606,   607,   604,     0,   599,   602,
-     603,   608,   609,   645,     0,   648,     0,     0,   644,   637,
-     638,   639,   636,   635,   642,   643,     0,   629,   632,   633,
-     640,   641,   634,   694,   680,   682,   684,   686,   688,   690,
-     692,   679,   676,   677,   678,     0,   664,   665,   670,   671,
-     672,   668,   673,   674,   675,   669,     0,   541,   266,     0,
-     545,   543,   548,     0,   537,   538,     0,   524,   525,   528,
-     540,   529,   530,   531,   547,   532,   533,   534,   535,   536,
-     579,     0,     0,     0,   586,   577,   578,   581,   582,     0,
-     563,   564,   567,   568,   569,   570,   571,   572,   573,   576,
-     574,   575,   355,   357,   352,     0,   349,   353,   354,     0,
-     893,     0,   896,     0,     0,   900,   904,   891,   889,   890,
-       0,   878,   881,   882,   883,   884,   885,   886,   887,   888,
-     915,     0,     0,   910,   913,   914,    47,    52,     0,    39,
-      45,   814,     0,    66,    62,     0,     0,     0,     0,     0,
+       1,    46,    38,    34,    33,    30,    31,    32,    37,     3,
+      35,    36,    61,     5,    67,     7,   199,     9,   385,    11,
+     597,    13,   627,    15,   661,    17,   512,    19,   521,    21,
+     560,    23,   347,    25,   876,    27,   908,    29,    48,    41,
+       0,     0,     0,     0,     0,     0,   663,     0,   523,   562,
+       0,     0,     0,    50,     0,    49,     0,     0,    42,    63,
+       0,    65,   141,   906,   197,   218,   220,   222,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   187,     0,     0,     0,     0,     0,   160,   167,
+     169,     0,     0,     0,     0,   376,   510,   551,     0,   190,
+     192,   173,   454,   614,   616,     0,     0,     0,   303,   322,
+     312,   292,   699,   652,   338,   359,   733,     0,   324,   758,
+     760,   857,   874,   180,   182,     0,     0,     0,   918,   960,
+       0,   140,     0,    69,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,   111,   112,   113,   114,   115,    81,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   117,
+     118,   129,   130,   131,   107,   137,   138,   139,   133,   134,
+     135,    84,    85,    86,    87,   104,    88,    90,    89,   132,
+      94,    95,    82,   108,   109,   110,    83,    92,    93,   102,
+     103,   105,    91,    96,    97,    98,    99,   100,   101,   106,
+     116,   136,   212,     0,     0,     0,     0,   211,     0,   201,
+     204,   205,   206,   207,   208,   209,   210,   588,   618,   437,
+     439,   441,     0,     0,   445,   447,   443,   696,   436,   390,
+     391,   392,   393,   394,   395,   396,   397,   416,   417,   418,
+     419,   420,   423,   424,   425,   426,   427,   428,   429,   430,
+     431,   432,   421,   422,   433,   434,   435,     0,   387,   401,
+     402,   403,   406,   407,   408,   410,   411,   412,   404,   405,
+     398,   399,   414,   415,   400,   409,   413,   611,     0,   610,
+     605,   606,   607,   604,     0,   599,   602,   603,   608,   609,
+     645,     0,   648,     0,     0,   644,   637,   638,   639,   636,
+     635,   642,   643,     0,   629,   632,   633,   640,   641,   634,
+     694,   680,   682,   684,   686,   688,   690,   692,   679,   676,
+     677,   678,     0,   664,   665,   670,   671,   672,   668,   673,
+     674,   675,   669,     0,   541,   266,     0,   545,   543,   548,
+       0,   537,   538,     0,   524,   525,   528,   540,   529,   530,
+     531,   547,   532,   533,   534,   535,   536,   579,     0,     0,
+       0,   586,   577,   578,   581,   582,     0,   563,   564,   567,
+     568,   569,   570,   571,   572,   573,   576,   574,   575,   355,
+     357,   352,     0,   349,   353,   354,     0,   893,     0,   896,
+       0,     0,   900,   904,   891,   889,   890,     0,   878,   881,
+     882,   883,   884,   885,   886,   887,   888,   915,     0,     0,
+     910,   913,   914,    47,    52,     0,    39,    45,     0,    66,
+      62,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    60,
+      71,    68,     0,     0,     0,     0,     0,   203,   200,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    60,    71,    68,     0,     0,     0,     0,
-       0,   203,   200,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   389,   386,     0,     0,   601,   598,
-       0,     0,     0,     0,     0,   631,   628,     0,     0,     0,
-       0,     0,     0,     0,     0,   662,   667,   513,     0,     0,
-       0,     0,     0,     0,     0,   522,   527,     0,     0,     0,
-       0,     0,   561,   566,     0,     0,   351,   348,     0,     0,
-       0,     0,     0,     0,     0,     0,   880,   877,     0,     0,
-     912,   909,    51,    43,     0,     0,     0,     0,     0,     0,
-       0,     0,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,     0,   185,   186,   157,
-     158,   159,     0,     0,     0,   171,   172,   179,   184,     0,
-       0,     0,   189,     0,     0,     0,     0,     0,     0,   449,
-     450,   451,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   757,     0,     0,     0,     0,     0,     0,     0,   194,
-     195,   196,     0,     0,    70,     0,   214,   215,   216,   217,
-     202,     0,     0,     0,     0,     0,   452,   453,     0,     0,
-       0,     0,   388,     0,   613,   600,     0,   647,     0,   650,
-     651,   630,     0,     0,     0,     0,     0,     0,     0,     0,
-     666,     0,     0,   539,     0,     0,     0,   550,   526,     0,
-     583,   584,   585,     0,   565,     0,     0,   350,   892,     0,
-     895,     0,   898,   899,     0,     0,   879,     0,   917,   911,
-       0,     0,   142,     0,     0,     0,     0,   224,   188,   162,
-     163,   164,   165,   166,   161,   168,   170,   378,   514,   553,
-     191,   193,   175,   176,   177,   178,   174,   456,    40,   615,
-     617,     0,    48,     0,     0,     0,   654,   340,     0,     0,
-       0,     0,   762,     0,     0,   181,   183,     0,     0,    53,
-     213,   590,   620,   438,   440,   442,   446,   448,   444,     0,
-     612,   646,   649,   695,   681,   683,   685,   687,   689,   691,
-     693,   542,   267,   546,   544,   549,   580,   587,   356,   358,
-     894,   897,   902,   903,   901,   905,   224,    44,     0,     0,
-       0,   257,   259,   261,   263,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   276,     0,     0,   284,   286,
-     288,   290,   256,     0,   231,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   248,   249,
-     250,   251,   247,   252,   253,   254,   255,     0,   229,     0,
-     225,   226,   383,     0,   379,   380,   519,     0,   515,   516,
-     558,     0,   554,   555,   461,     0,   457,   458,   310,   311,
-       0,   305,   308,   309,     0,   320,   321,   317,     0,   314,
-     318,   319,   299,   301,     0,   294,   297,   298,   704,     0,
-     701,   659,     0,   655,   656,   345,     0,   341,   342,     0,
-       0,     0,     0,     0,     0,     0,   361,   364,   365,   366,
-     367,   368,   369,   747,   753,     0,     0,     0,   746,   743,
-     744,   745,     0,   735,   738,   741,   739,   740,   742,     0,
-       0,     0,   334,     0,   326,   329,   330,   331,   332,   333,
-     785,   790,   792,     0,   815,     0,   796,   784,   777,   778,
-     779,   782,   783,     0,   769,   772,   773,   774,   775,   780,
-     781,   776,   767,     0,   763,   764,     0,   869,     0,   872,
-     865,   866,     0,   859,   862,   863,   864,   867,     0,   923,
-       0,   920,     0,   966,     0,   962,   965,    55,   595,     0,
-     591,   592,   625,     0,   621,   622,   698,     0,     0,    64,
-     907,   198,     0,     0,     0,     0,     0,     0,     0,     0,
+     389,   386,     0,     0,   601,   598,     0,     0,     0,     0,
+       0,   631,   628,     0,     0,     0,     0,     0,     0,     0,
+       0,   662,   667,   513,     0,     0,     0,     0,     0,     0,
+       0,   522,   527,     0,     0,     0,     0,     0,   561,   566,
+       0,     0,   351,   348,     0,     0,     0,     0,     0,     0,
+       0,     0,   880,   877,     0,     0,   912,   909,    51,    43,
+       0,     0,     0,     0,     0,     0,     0,     0,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,     0,   185,   186,   157,   158,   159,     0,     0,
+       0,   171,   172,   179,   184,     0,     0,     0,   189,     0,
+       0,     0,     0,     0,     0,   449,   450,   451,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   757,     0,     0,
+       0,     0,     0,     0,     0,   194,   195,   196,     0,     0,
+      70,     0,   214,   215,   216,   217,   202,     0,     0,     0,
+       0,     0,   452,   453,     0,     0,     0,     0,   388,     0,
+     613,   600,     0,   647,     0,   650,   651,   630,     0,     0,
+       0,     0,     0,     0,     0,     0,   666,     0,     0,   539,
+       0,     0,     0,   550,   526,     0,   583,   584,   585,     0,
+     565,     0,     0,   350,   892,     0,   895,     0,   898,   899,
+       0,     0,   879,     0,   917,   911,     0,     0,   142,     0,
+       0,     0,     0,   224,   188,   162,   163,   164,   165,   166,
+     161,   168,   170,   378,   514,   553,   191,   193,   175,   176,
+     177,   178,   174,   456,    40,   615,   617,     0,    48,     0,
+       0,     0,   654,   340,     0,     0,     0,     0,   762,     0,
+       0,   181,   183,     0,     0,    53,   213,   590,   620,   438,
+     440,   442,   446,   448,   444,     0,   612,   646,   649,   695,
+     681,   683,   685,   687,   689,   691,   693,   542,   267,   546,
+     544,   549,   580,   587,   356,   358,   894,   897,   902,   903,
+     901,   905,   224,    44,     0,     0,     0,   257,   259,   261,
+     263,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   276,     0,     0,   284,   286,   288,   290,   256,     0,
+     231,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   248,   249,   250,   251,   247,   252,
+     253,   254,   255,     0,   229,     0,   225,   226,   383,     0,
+     379,   380,   519,     0,   515,   516,   558,     0,   554,   555,
+     461,     0,   457,   458,   310,   311,     0,   305,   308,   309,
+       0,   320,   321,   317,     0,   314,   318,   319,   299,   301,
+       0,   294,   297,   298,   704,     0,   701,   659,     0,   655,
+     656,   345,     0,   341,   342,     0,     0,     0,     0,     0,
+       0,     0,   361,   364,   365,   366,   367,   368,   369,   747,
+     753,     0,     0,     0,   746,   743,   744,   745,     0,   735,
+     738,   741,   739,   740,   742,     0,     0,     0,   334,     0,
+     326,   329,   330,   331,   332,   333,   785,   790,   792,     0,
+     815,     0,   796,   784,   777,   778,   779,   782,   783,     0,
+     769,   772,   773,   774,   775,   780,   781,   776,   767,     0,
+     763,   764,     0,   869,     0,   872,   865,   866,     0,   859,
+     862,   863,   864,   867,     0,   923,     0,   920,     0,   966,
+       0,   962,   965,    55,   595,     0,   591,   592,   625,     0,
+     621,   622,   698,     0,     0,    64,   907,   198,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   233,   219,   221,     0,   223,   228,     0,
-     377,   382,   523,   511,   518,   562,   552,   557,     0,   455,
-     460,   307,   304,   323,   316,   313,     0,     0,   296,   293,
-     706,   703,   700,   663,   653,   658,     0,   339,   344,     0,
-       0,     0,     0,     0,     0,   363,   360,     0,     0,     0,
-       0,     0,   737,   734,     0,     0,     0,   328,   325,     0,
-       0,     0,     0,     0,     0,     0,   771,   759,     0,   761,
-     766,     0,     0,     0,     0,   861,   858,   875,     0,   922,
-     919,     0,   964,   961,    57,     0,    56,     0,   589,   594,
-       0,   619,   624,   697,   916,     0,     0,     0,     0,   265,
-     268,   269,   270,   271,   272,   273,   274,   283,   275,     0,
-     281,   282,     0,     0,     0,     0,   232,     0,   227,     0,
-     381,     0,   517,     0,   556,   509,   480,   481,   482,   484,
-     485,   486,   470,   471,   489,   490,   491,   492,   493,   496,
-     497,   498,   499,   500,   501,   502,   503,   504,   505,   494,
-     495,   506,   507,   508,   466,   467,   468,   469,   477,   478,
-     479,   474,   475,   476,   483,     0,   463,   472,   487,   488,
-     473,   459,   306,   315,     0,     0,   295,   727,   729,     0,
-       0,   725,   719,   720,   721,   722,   723,   724,   726,   716,
-     717,   718,     0,   707,   708,   711,   712,   713,   714,   715,
-     702,     0,   657,     0,   343,   370,   371,   372,   373,   374,
-     375,   362,     0,     0,   752,   755,   756,   736,   335,   336,
-     337,   327,     0,     0,     0,   794,     0,   795,     0,   770,
-       0,   765,   868,     0,   871,     0,   860,   938,     0,   936,
-     934,   928,   932,   933,     0,   925,   930,   931,   929,   921,
-     967,   963,    54,    59,     0,   593,     0,   623,   258,   260,
-     262,   264,   278,   279,   280,   277,   285,   287,   289,   291,
-     230,   384,   520,   559,   465,   462,   300,   302,     0,     0,
-       0,     0,   705,   710,   660,   346,   749,   750,   751,   748,
-     754,   787,   788,   789,   786,   791,   793,     0,   798,   768,
-     870,   873,     0,     0,     0,   927,   924,    58,   596,   626,
-     464,     0,     0,   731,   732,   709,   827,   830,   832,   834,
-     826,   825,   824,     0,   817,   820,   821,   822,   823,   803,
-       0,   799,   800,     0,   935,     0,   926,   728,   730,     0,
-       0,     0,     0,   819,   816,     0,   797,   802,     0,   937,
-       0,     0,     0,     0,   818,    33,   809,   812,   808,   810,
-     811,     0,   805,   801,   943,     0,   940,   829,   828,   831,
-     833,   836,   807,   804,     0,   942,   939,   841,     0,   837,
-     838,   806,   953,     0,     0,     0,   958,     0,   945,   948,
-     949,   950,   951,   952,   941,     0,   835,   840,     0,     0,
-       0,     0,     0,   947,   944,   853,   855,   852,   846,   848,
-     850,   851,     0,   843,   847,   849,   839,     0,   955,   956,
-     957,     0,   946,     0,     0,   845,   842,   954,   959,     0,
-       0,   844,   854,   856
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
+     219,   221,     0,   223,   228,     0,   377,   382,   523,   511,
+     518,   562,   552,   557,     0,   455,   460,   307,   304,   323,
+     316,   313,     0,     0,   296,   293,   706,   703,   700,   663,
+     653,   658,     0,   339,   344,     0,     0,     0,     0,     0,
+       0,   363,   360,     0,     0,     0,     0,     0,   737,   734,
+       0,     0,     0,   328,   325,     0,     0,     0,     0,     0,
+       0,     0,   771,   759,     0,   761,   766,     0,     0,     0,
+       0,   861,   858,   875,     0,   922,   919,     0,   964,   961,
+      57,     0,    56,     0,   589,   594,     0,   619,   624,   697,
+     916,     0,     0,     0,     0,   265,   268,   269,   270,   271,
+     272,   273,   274,   283,   275,     0,   281,   282,     0,     0,
+       0,     0,   232,     0,   227,     0,   381,     0,   517,     0,
+     556,   509,   480,   481,   482,   484,   485,   486,   470,   471,
+     489,   490,   491,   492,   493,   496,   497,   498,   499,   500,
+     501,   502,   503,   504,   505,   494,   495,   506,   507,   508,
+     466,   467,   468,   469,   477,   478,   479,   474,   475,   476,
+     483,     0,   463,   472,   487,   488,   473,   459,   306,   315,
+       0,     0,   295,   727,   729,     0,     0,   725,   719,   720,
+     721,   722,   723,   724,   726,   716,   717,   718,     0,   707,
+     708,   711,   712,   713,   714,   715,   702,     0,   657,     0,
+     343,   370,   371,   372,   373,   374,   375,   362,     0,     0,
+     752,   755,   756,   736,   335,   336,   337,   327,     0,     0,
+       0,   794,     0,   795,     0,   770,     0,   765,   868,     0,
+     871,     0,   860,   938,     0,   936,   934,   928,   932,   933,
+       0,   925,   930,   931,   929,   921,   967,   963,    54,    59,
+       0,   593,     0,   623,   258,   260,   262,   264,   278,   279,
+     280,   277,   285,   287,   289,   291,   230,   384,   520,   559,
+     465,   462,   300,   302,     0,     0,     0,     0,   705,   710,
+     660,   346,   749,   750,   751,   748,   754,   787,   788,   789,
+     786,   791,   793,     0,   798,   768,   870,   873,     0,     0,
+       0,   927,   924,    58,   596,   626,   464,     0,     0,   731,
+     732,   709,   827,   830,   832,   834,   826,   825,   824,     0,
+     817,   820,   821,   822,   823,   803,     0,   799,   800,     0,
+     935,     0,   926,   728,   730,     0,     0,     0,     0,   819,
+     816,     0,   797,   802,     0,   937,     0,     0,     0,     0,
+     818,   813,   812,   808,   810,   811,     0,   805,   809,   801,
+     943,     0,   940,   829,   828,   831,   833,   836,     0,   807,
+     804,     0,   942,   939,   841,     0,   837,   838,     0,   806,
+     953,     0,     0,     0,   958,     0,   945,   948,   949,   950,
+     951,   952,   941,     0,   835,   840,   814,     0,     0,     0,
+       0,     0,   947,   944,   853,   855,   852,   846,   848,   850,
+     851,     0,   843,   847,   849,   839,     0,   955,   956,   957,
+       0,   946,     0,     0,   845,   842,   954,   959,     0,     0,
+     844,   854,   856
   };
 
   const short
   Dhcp6Parser::yypgoto_[] =
   {
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   -16, -1402,  -609, -1402,
-     445, -1402, -1402, -1402, -1402,   419, -1402,  -427, -1402, -1402,
-   -1402,   -72, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   459,
-     684, -1402, -1402,   -59,   -56,   -53,   -42,   -39,    -9,   -11,
-      -6,    -5,     5,     8,    11,    15, -1402,    33,    36,    37,
-      38, -1402, -1402,    39, -1402,    52, -1402,    54,    57,    59,
-   -1402, -1402,    60,    64, -1402,    65, -1402,    70, -1402, -1402,
-   -1402, -1402, -1402,    72, -1402,    75, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402,   460,   702, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   375, -1402,
-     144, -1402,  -718,   150, -1402, -1402, -1401, -1402, -1397, -1402,
-   -1402, -1402, -1402,   -67, -1402,  -752, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,  -774,
-   -1402,  -764, -1402,  -760, -1402, -1402, -1402, -1402, -1402, -1402,
-     127, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   135,  -744,
-   -1402, -1402, -1402, -1402,   133, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402,   103, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-     125, -1402, -1402, -1402,   156,   630, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402,   114, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1038, -1402, -1402, -1402,   154, -1402, -1402, -1402,   184,   703,
-   -1402, -1402, -1037, -1402, -1036, -1402,    84, -1402,    86, -1402,
-      92, -1402,    77,    80,    83, -1402, -1034, -1402, -1402, -1402,
-   -1402,   176, -1402, -1402,   -75,  1184, -1402, -1402, -1402, -1402,
-   -1402,   186, -1402, -1402, -1402,   194, -1402,   688, -1402,   -66,
-   -1402, -1402, -1402, -1402, -1402,   -63, -1402, -1402, -1402, -1402,
-   -1402,   -52, -1402, -1402, -1402,   191, -1402, -1402, -1402,   195,
-   -1402,   687, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   128, -1402, -1402, -1402,
-     136,   736, -1402, -1402,   -65,   -25, -1402,    19, -1402, -1402,
-   -1402, -1402, -1402,   134, -1402, -1402, -1402,   119,   707, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402,   -55, -1402, -1402, -1402,
-     201, -1402, -1402, -1402,   204, -1402,   712,   496, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1033, -1402, -1402, -1402, -1402, -1402,   198,
-   -1402, -1402, -1402,   -44, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402,   188, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-     172, -1402,   175,   181, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,  -101, -1402, -1402,
-    -124, -1402, -1402, -1402, -1402,   -93, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402,  -146, -1402, -1402,
-    -173, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   179, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   519,
-     713, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,   569,   705,
-   -1402, -1402, -1402, -1402, -1402, -1402,   177, -1402, -1402,   -48,
-   -1402, -1402, -1402, -1402, -1402, -1402,  -115, -1402, -1402,  -142,
-   -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402, -1402,
-     182, -1402
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396,   -10, -1396,  -602, -1396,
+     476, -1396, -1396, -1396, -1396,   417, -1396,   -17, -1396, -1396,
+   -1396,   -71, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   462,
+     683, -1396, -1396,   -52,   -46,   -24,     4,    12,    22,   -58,
+      14,    20,    32,    38,    42,    45, -1396,    48,    50,    55,
+      60, -1396, -1396,    61, -1396,    62, -1396,    63,    66,    67,
+   -1396, -1396,    73,    74, -1396,    77, -1396,    78, -1396, -1396,
+   -1396, -1396, -1396,    79, -1396,    80, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396,   461,   688, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   380, -1396,
+     146, -1396,  -720,   155, -1396, -1396, -1395, -1396, -1386, -1396,
+   -1396, -1396, -1396,   -66, -1396,  -755, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,  -766,
+   -1396,  -761, -1396,  -758, -1396, -1396, -1396, -1396, -1396, -1396,
+     133, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   142,  -746,
+   -1396, -1396, -1396, -1396,   154, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396,   105, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+     150, -1396, -1396, -1396,   153,   684, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396,   145, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1040, -1396, -1396, -1396,   184, -1396, -1396, -1396,   187,   708,
+   -1396, -1396, -1039, -1396, -1038, -1396,    17, -1396,    25, -1396,
+      87, -1396,    84,    85,    90, -1396, -1036, -1396, -1396, -1396,
+   -1396,   178, -1396, -1396,   -73,  1173, -1396, -1396, -1396, -1396,
+   -1396,   191, -1396, -1396, -1396,   197, -1396,   685, -1396,   -62,
+   -1396, -1396, -1396, -1396, -1396,   -61, -1396, -1396, -1396, -1396,
+   -1396,   -29, -1396, -1396, -1396,   189, -1396, -1396, -1396,   198,
+   -1396,   686, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396,   118, -1396, -1396, -1396,
+     127,   712, -1396, -1396,   -23,   -42, -1396,   -13, -1396, -1396,
+   -1396, -1396, -1396,   126, -1396, -1396, -1396,   125,   716, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396,   -59, -1396, -1396, -1396,
+     200, -1396, -1396, -1396,   190, -1396,   711,   481, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1035, -1396, -1396, -1396, -1396, -1396,   193,
+   -1396, -1396, -1396,   -54, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396,   181, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+     168, -1396,   172,   176, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396,  -111, -1396, -1396,
+    -130, -1396, -1396, -1396, -1396, -1396,   -97, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,  -155, -1396,
+   -1396,  -181, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   173,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+     515,   705, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,   560,
+     702, -1396, -1396, -1396, -1396, -1396, -1396,   177, -1396, -1396,
+     -48, -1396, -1396, -1396, -1396, -1396, -1396,  -118, -1396, -1396,
+    -146, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396, -1396,
+   -1396,   180, -1396
   };
 
   const short
   Dhcp6Parser::yydefgoto_[] =
   {
        0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    85,    40,    41,    70,
-     769,    89,    90,    42,    69,    86,    87,   790,  1017,  1135,
-    1136,   852,    44,    72,    93,   452,    94,    46,    73,   165,
-     166,   167,   455,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   481,   754,   186,   482,   187,   483,   188,   189,   190,
-     494,   766,   191,   192,   516,   193,   517,   194,   195,   196,
-     197,   475,   198,   199,   492,   200,   493,   201,   202,   203,
-     204,   457,    48,    74,   241,   242,   243,   526,   244,   245,
-     246,   247,   205,   458,   206,   459,   207,   460,   879,   880,
-     881,  1056,   853,   854,   855,  1032,   856,  1033,   857,  1034,
-     858,  1035,   859,   860,   569,   861,   862,   863,   864,   865,
-     866,   867,   868,   869,  1046,  1315,   870,   871,   872,   873,
-    1049,   874,  1050,   875,  1051,   876,  1052,   208,   504,   914,
-     915,   916,  1076,   917,  1077,   209,   501,   900,   901,   902,
-     903,   210,   503,   908,   909,   910,   911,   211,   502,   212,
-     511,   963,   964,   965,   966,   967,   213,   507,   926,   927,
-     928,  1086,    64,    82,   415,   416,   417,   584,   418,   585,
-     214,   508,   935,   936,   937,   938,   939,   940,   941,   942,
-     215,   488,   883,   884,   885,  1059,    50,    75,   290,   291,
-     292,   535,   293,   536,   294,   537,   295,   542,   296,   540,
-     297,   541,   216,   217,   218,   301,   302,   219,   495,   895,
-     896,   897,  1068,  1215,  1216,   220,   489,    58,    79,   887,
-     888,   889,  1062,    60,    80,   376,   377,   378,   379,   380,
-     381,   382,   568,   383,   572,   384,   571,   385,   386,   573,
-     387,   221,   490,   891,   892,   893,  1065,    62,    81,   399,
-     400,   401,   402,   403,   577,   404,   405,   406,   407,   408,
-     409,   581,   304,   533,  1019,  1020,  1021,  1137,    52,    76,
-     317,   318,   319,   546,   320,   222,   496,   223,   497,   307,
-     534,  1023,  1024,  1025,  1140,    54,    77,   336,   337,   338,
-     550,   339,   340,   552,   341,   342,   224,   506,   922,   923,
-     924,  1083,    56,    78,   355,   356,   357,   358,   558,   359,
-     559,   360,   560,   361,   561,   362,   562,   363,   563,   364,
-     564,   365,   557,   309,   543,  1027,   225,   505,   919,   920,
-    1080,  1242,  1243,  1244,  1245,  1246,  1328,  1247,  1329,  1248,
-    1249,   226,   509,   952,   953,   954,  1097,  1339,   955,   956,
-    1098,   957,   958,   227,   228,   512,   229,   513,   993,   994,
-     995,  1118,   983,   984,   985,  1109,  1344,   986,  1110,   987,
-    1111,   988,   989,   990,  1115,  1380,  1381,  1382,  1395,  1411,
-    1412,    71,   991,  1113,  1373,  1374,  1375,  1389,  1418,  1376,
-    1390,  1377,  1391,  1378,  1392,  1428,  1429,  1430,  1445,  1462,
-    1463,  1464,  1473,  1465,  1474,   230,   514,  1002,  1003,  1004,
-    1005,  1122,  1006,  1007,  1124,   231,   515,    66,    83,   430,
-     431,   432,   433,   589,   434,   435,   591,   436,   437,   438,
-     594,   824,   439,   595,   232,   456,    68,    84,   442,   443,
-     444,   598,   445,   233,   521,  1010,  1011,  1128,  1294,  1295,
-    1296,  1297,  1354,  1298,  1352,  1415,  1416,  1424,  1437,  1438,
-    1439,  1448,  1440,  1441,  1442,  1443,  1452,   234,   522,  1014,
-    1015,  1016
+      24,    25,    26,    27,    28,    29,    83,    39,    40,    69,
+     765,    87,    88,    41,    68,    84,    85,   786,  1013,  1131,
+    1132,   848,    43,    70,    90,   448,    91,    45,    71,   162,
+     163,   164,   451,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   477,   750,   183,   478,   184,   479,   185,   186,   187,
+     490,   762,   188,   189,   512,   190,   513,   191,   192,   193,
+     194,   471,   195,   196,   488,   197,   489,   198,   199,   200,
+     201,   453,    47,    72,   238,   239,   240,   522,   241,   242,
+     243,   244,   202,   454,   203,   455,   204,   456,   875,   876,
+     877,  1052,   849,   850,   851,  1028,   852,  1029,   853,  1030,
+     854,  1031,   855,   856,   565,   857,   858,   859,   860,   861,
+     862,   863,   864,   865,  1042,  1311,   866,   867,   868,   869,
+    1045,   870,  1046,   871,  1047,   872,  1048,   205,   500,   910,
+     911,   912,  1072,   913,  1073,   206,   497,   896,   897,   898,
+     899,   207,   499,   904,   905,   906,   907,   208,   498,   209,
+     507,   959,   960,   961,   962,   963,   210,   503,   922,   923,
+     924,  1082,    63,    80,   412,   413,   414,   580,   415,   581,
+     211,   504,   931,   932,   933,   934,   935,   936,   937,   938,
+     212,   484,   879,   880,   881,  1055,    49,    73,   287,   288,
+     289,   531,   290,   532,   291,   533,   292,   538,   293,   536,
+     294,   537,   213,   214,   215,   298,   299,   216,   491,   891,
+     892,   893,  1064,  1211,  1212,   217,   485,    57,    77,   883,
+     884,   885,  1058,    59,    78,   373,   374,   375,   376,   377,
+     378,   379,   564,   380,   568,   381,   567,   382,   383,   569,
+     384,   218,   486,   887,   888,   889,  1061,    61,    79,   396,
+     397,   398,   399,   400,   573,   401,   402,   403,   404,   405,
+     406,   577,   301,   529,  1015,  1016,  1017,  1133,    51,    74,
+     314,   315,   316,   542,   317,   219,   492,   220,   493,   304,
+     530,  1019,  1020,  1021,  1136,    53,    75,   333,   334,   335,
+     546,   336,   337,   548,   338,   339,   221,   502,   918,   919,
+     920,  1079,    55,    76,   352,   353,   354,   355,   554,   356,
+     555,   357,   556,   358,   557,   359,   558,   360,   559,   361,
+     560,   362,   553,   306,   539,  1023,   222,   501,   915,   916,
+    1076,  1238,  1239,  1240,  1241,  1242,  1324,  1243,  1325,  1244,
+    1245,   223,   505,   948,   949,   950,  1093,  1335,   951,   952,
+    1094,   953,   954,   224,   225,   508,   226,   509,   989,   990,
+     991,  1114,   979,   980,   981,  1105,  1340,   982,  1106,   983,
+    1107,   984,   985,   986,  1111,  1376,  1377,  1378,  1391,  1406,
+    1407,  1408,  1418,   987,  1109,  1369,  1370,  1371,  1385,  1414,
+    1372,  1386,  1373,  1387,  1374,  1388,  1425,  1426,  1427,  1443,
+    1461,  1462,  1463,  1472,  1464,  1473,   227,   510,   998,   999,
+    1000,  1001,  1118,  1002,  1003,  1120,   228,   511,    65,    81,
+     427,   428,   429,   430,   585,   431,   432,   587,   433,   434,
+     435,   590,   820,   436,   591,   229,   452,    67,    82,   439,
+     440,   441,   594,   442,   230,   517,  1006,  1007,  1124,  1290,
+    1291,  1292,  1293,  1350,  1294,  1348,  1411,  1412,  1421,  1435,
+    1436,  1437,  1447,  1438,  1439,  1440,  1441,  1451,   231,   518,
+    1010,  1011,  1012
   };
 
   const short
   Dhcp6Parser::yytable_[] =
   {
-      39,   164,   240,   261,   312,   328,   351,   978,   374,   395,
-     414,   427,   333,   375,   396,   397,   262,   979,   398,   263,
-     308,   980,   264,   303,   316,   332,   352,   949,   877,   907,
-    1205,  1206,  1207,   265,  1214,  1220,   266,    31,   768,    32,
-      30,    33,   412,   413,  1458,   898,   412,   413,  1459,   248,
-     305,   321,   334,   353,    43,   388,   410,  1012,   428,   235,
-     236,   237,   238,   239,   268,  1071,   267,    88,  1072,   269,
-     270,    31,   163,    32,  1458,    33,   832,   833,  1459,   453,
-     271,    45,   524,   272,   454,  1366,   273,   525,   898,   905,
-     274,   906,    47,   249,   306,   322,   335,   354,   531,   389,
-     411,  1432,   429,   532,  1433,  1434,  1435,  1436,   275,    49,
-     368,   276,   277,   278,   279,   544,   548,   768,   943,   555,
-     545,   549,    51,   836,   556,   586,   596,   280,    53,   281,
-     587,   597,   282,   163,   283,   284,    55,   136,   137,   285,
-     286,   367,   899,   440,   441,   287,   600,   288,   136,   137,
-     289,   601,   298,    91,   524,   299,   136,   137,   300,  1029,
-     313,   329,   314,   330,   822,   823,   136,   137,   315,   331,
-     831,   832,   833,   834,   835,   836,   837,   838,   839,   840,
-     841,   842,   843,   844,   845,    57,   130,    59,   846,   847,
-     848,   849,   850,   851,    61,   368,   600,   369,   370,   136,
-     137,  1030,   371,   372,   373,   531,  1053,   310,  1053,    92,
-    1031,  1054,    34,  1055,   136,   137,  1078,   749,   750,   751,
-     752,  1079,   136,   137,   368,   136,   137,  1455,  1456,   136,
-     137,   257,   258,    63,  1367,  1368,  1369,   259,   311,  1095,
-     848,   849,   850,   129,  1096,    65,    34,   944,   945,   946,
-     947,  1312,  1313,  1314,   753,   101,   102,   103,   104,   105,
-     106,   796,   797,  1405,    36,    37,    38,   368,   390,   369,
-     370,   391,   392,   393,   163,   803,   804,   805,   806,   959,
-     960,   961,   163,    67,   130,   368,  1205,  1206,  1207,   446,
-    1214,  1220,   163,   447,   136,   137,   817,    35,    36,    37,
-      38,   136,   137,   449,  1102,   450,   996,   997,   998,  1103,
-     394,   448,   136,   137,   929,   930,   931,   932,   933,   934,
-     451,  1107,  1116,  1125,   596,   163,  1108,  1117,  1126,  1127,
-     907,  1227,  1228,  1229,  1230,   461,  1132,   565,  1167,   566,
-     163,  1133,   978,  1074,   978,   462,  1075,   463,   163,   464,
-     949,   163,   979,   465,   979,   999,   980,  1053,   980,   466,
-     970,   467,  1320,   544,   971,   972,   973,   974,  1321,   368,
-     468,  1324,   567,   586,   975,   976,  1325,   163,  1335,   762,
-     763,   764,   765,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   136,   137,   912,   913,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,  1116,   130,   368,  1355,   575,  1349,   548,   555,  1356,
-     163,   469,  1358,  1359,   132,   133,   134,   163,  1393,  1422,
-    1453,   602,   603,  1394,  1423,  1454,  1081,  1475,   163,  1082,
-     136,   137,  1476,   253,   254,   470,   256,   138,   139,   140,
-    1129,  1425,   164,  1130,  1426,   471,   472,   257,   258,   240,
-    1336,  1337,  1338,   259,  1341,  1342,  1343,   473,   474,   476,
-     477,   478,   261,   260,   479,   480,   312,   582,   484,   485,
-     486,   487,   491,   328,   498,   262,   499,   500,   263,   308,
-     333,   264,   303,   510,   351,   518,   316,   519,  1287,   520,
-    1288,  1289,   265,   332,   374,   266,   248,   523,   527,   375,
-     528,   395,   529,   530,   352,   538,   396,   397,   539,   305,
-     398,   547,   163,   321,   427,   551,   553,   604,   554,   570,
-     334,   574,   130,   268,   576,   267,   156,   157,   269,   270,
-     578,   353,   579,   580,   583,   612,   588,   590,   592,   271,
-     249,   388,   272,   593,   599,   273,   605,   606,   410,   274,
-     136,   137,   607,   306,   608,   609,   163,   322,   610,   611,
-     613,   428,   626,   620,   335,   621,   343,   275,   136,   137,
-     276,   277,   278,   279,   614,   354,   344,   345,   346,   347,
-     348,   349,   350,   615,   616,   389,   280,   617,   281,   618,
-     632,   282,   411,   283,   284,   619,   629,   622,   285,   286,
-     623,   624,   625,   627,   287,   429,   288,   628,   630,   289,
-     631,   298,   633,   634,   299,   635,   636,   300,   637,   639,
-     638,   640,   313,   641,   314,   642,   643,   644,   645,   329,
-     315,   330,   646,   647,   648,   652,   649,   331,   653,   654,
-     650,   655,   651,   656,   130,   657,   658,   659,   660,   419,
-     420,   421,   422,   423,   424,   425,   426,   661,   662,   164,
-     663,   664,   240,   665,   666,   667,   668,   323,   324,   325,
-     326,   327,   136,   137,   669,   672,   163,   670,   671,   673,
-     675,   676,   677,   678,   679,   681,   682,   683,   684,   257,
-     258,   685,   687,   688,   163,   259,   311,   948,   962,   977,
-     689,   686,   427,   690,   691,   693,  1013,   694,   696,   248,
-     697,   698,   699,   702,   827,   703,   700,    95,    96,   704,
-     705,    97,   706,   707,   708,   709,   711,    98,    99,   100,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,   950,   968,   981,   712,  1000,   428,
-     713,   714,   715,   249,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   716,   719,   717,   720,   951,   969,
-     982,   721,  1001,   429,   131,   132,   133,   134,   163,   722,
-     723,   725,   135,   726,   728,   729,   730,   731,   732,   733,
-     734,   136,   137,   735,   737,   738,   740,   825,   138,   139,
-     140,   141,   142,   143,   144,   741,   742,   145,   743,   744,
-     745,   746,   747,   748,   755,   756,   146,   757,   758,   759,
-     767,   760,   761,    32,   770,   147,   771,   772,   148,   773,
-     774,   775,   776,   777,   344,   149,   778,   779,   780,   781,
-     782,   783,   787,   150,   151,   784,   788,   785,   152,   153,
-     789,   786,   791,   792,   826,  1036,   793,   794,   795,   798,
-     799,   800,   801,   802,   807,   878,   808,   154,   882,   809,
-     886,   155,   890,   894,   810,   811,   812,   813,   814,   815,
-     816,   818,   918,   820,   821,   921,   925,   156,   157,   158,
-     159,   160,   161,   992,  1009,  1018,  1022,  1037,  1038,  1039,
-    1040,   162,  1041,  1042,  1043,  1044,  1045,  1047,  1048,  1058,
-    1149,  1057,  1061,  1060,  1063,  1064,  1066,   163,  1067,  1069,
-    1070,  1134,  1073,  1085,  1084,  1087,  1088,  1119,  1089,  1090,
-    1091,  1092,  1093,  1094,  1099,  1100,  1101,  1104,  1105,  1106,
-    1112,  1114,  1120,  1150,  1121,  1123,  1131,  1139,  1151,  1138,
-    1142,  1141,  1145,  1152,  1143,  1144,  1146,   261,  1147,  1148,
-     374,  1153,  1154,   395,  1155,   375,  1175,  1156,   396,   397,
-     262,  1204,   398,   263,   308,  1157,   264,   303,  1231,  1176,
-    1158,   351,  1177,  1238,   414,  1178,  1217,   265,  1159,  1160,
-     266,  1232,  1162,  1163,  1233,  1161,  1179,  1234,  1239,  1180,
-     948,   352,  1164,  1165,   305,   962,  1224,   388,  1235,  1225,
-     410,  1236,  1255,  1218,   977,  1262,   977,  1256,   268,  1257,
-     267,  1263,  1268,   269,   270,  1240,  1290,  1182,   353,  1181,
-    1013,  1291,  1183,  1184,   271,   312,  1272,   272,   328,  1273,
-     273,  1237,  1258,  1185,   274,   333,  1186,   950,   306,  1187,
-    1259,   389,   968,  1188,   411,   316,  1274,  1219,   332,  1276,
-    1278,   981,   275,   981,  1283,   276,   277,   278,   279,  1241,
-    1000,  1189,   354,  1292,  1190,  1191,  1192,  1193,  1260,  1285,
-    1302,   280,   321,   281,  1264,   334,   282,  1265,   283,   284,
-    1194,   951,  1195,   285,   286,  1196,   969,  1197,  1198,   287,
-    1266,   288,  1199,  1200,   289,   982,   298,   982,  1201,   299,
-    1202,  1277,   300,  1203,  1001,  1211,  1269,  1293,  1212,  1282,
-    1303,  1213,  1208,  1270,  1209,  1330,   322,  1322,  1323,   335,
-    1210,  1300,  1331,  1332,  1333,  1334,  1347,  1348,  1353,  1361,
-    1362,   819,  1383,  1275,  1379,  1385,  1284,  1397,  1396,  1446,
-    1398,  1400,  1401,  1308,  1402,  1403,  1414,  1417,  1421,  1427,
-    1447,   904,  1449,  1450,  1451,  1467,  1471,  1479,  1480,  1309,
-     828,  1028,  1168,  1166,   830,  1226,  1222,  1223,   674,  1261,
-    1271,  1310,  1311,  1254,  1316,  1170,   727,  1317,  1318,  1319,
-    1326,   313,  1327,   314,   329,  1340,   330,  1345,  1346,   315,
-    1350,  1357,   331,   680,  1387,  1363,  1364,  1384,  1388,  1399,
-    1419,  1420,  1253,  1169,  1469,  1468,  1221,   692,  1470,  1360,
-    1172,  1477,  1175,  1478,  1482,  1483,  1171,  1204,  1174,  1306,
-    1173,  1231,   701,   366,   718,  1176,  1238,  1305,  1177,  1351,
-     724,  1178,  1217,  1304,  1232,  1370,  1307,  1233,   710,  1250,
-    1234,  1239,  1179,  1290,   695,  1180,  1252,  1251,  1291,  1365,
-    1267,  1235,  1281,  1280,  1236,  1026,  1413,  1279,  1431,  1218,
-    1404,  1466,  1481,  1008,  1286,   739,  1299,  1386,  1240,   736,
-    1444,  1472,   829,  1182,  1301,  1181,     0,     0,  1183,  1184,
-       0,  1370,  1371,  1407,  1237,     0,     0,     0,  1408,  1185,
-    1292,     0,  1186,     0,     0,  1187,     0,     0,     0,  1188,
-       0,     0,     0,  1219,     0,     0,     0,     0,     0,     0,
-    1407,     0,  1241,     0,     0,  1408,     0,  1189,     0,     0,
-    1190,  1191,  1192,  1193,     0,     0,  1372,     0,  1371,     0,
-    1409,     0,     0,  1457,  1293,     0,  1194,     0,  1195,  1406,
-       0,  1196,     0,  1197,  1198,     0,     0,     0,  1199,  1200,
-       0,     0,     0,     0,  1201,     0,  1202,  1409,     0,  1203,
-       0,  1211,     0,  1457,  1212,     0,  1406,  1213,  1208,     0,
-    1209,     0,  1372,     0,  1410,     0,  1210,     0,     0,     0,
-    1460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,  1410,     0,     0,     0,     0,     0,     0,     0,     0,
-    1460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1461,     0,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,     0,
-       0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,     0,  1461,   130,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   132,   133,   134,
-       0,     0,     0,     0,     0,   250,     0,   251,     0,     0,
-       0,     0,     0,   136,   137,   252,   253,   254,   255,   256,
-     138,   139,   140,     0,     0,     0,     0,     0,     0,     0,
-     257,   258,     0,     0,     0,     0,   259,     0,   146,     0,
-       0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
+     161,   237,   258,   309,   325,   348,    38,   371,   392,   411,
+     424,   974,   372,   393,   305,   265,   975,   394,   395,   976,
+     945,   259,   873,   903,  1201,  1202,  1203,   260,  1210,  1216,
+     245,   302,   318,   331,   350,   894,   385,   407,    31,   425,
+      32,   764,    33,  1362,   300,   313,   329,   349,  1457,   261,
+     409,   410,   330,   745,   746,   747,   748,  1458,  1008,   246,
+     303,   319,   332,   351,    42,   386,   408,   449,   426,   437,
+     438,   520,   450,   160,    86,   527,   521,   262,   540,  1457,
+     528,   365,    30,   541,   544,   263,    89,   266,  1458,   545,
+     749,   310,   326,   267,  1067,   264,    44,  1068,  1430,   311,
+     327,  1431,  1432,  1433,  1434,   268,    46,   551,   133,   134,
+      48,   269,   552,   894,   901,   270,   902,   582,   271,   364,
+     764,   272,   583,   273,   133,   134,   592,  1070,   274,    50,
+    1071,   593,   895,   275,   276,   277,   278,   596,    52,   279,
+     280,   160,   597,   520,   596,    54,   281,   282,  1025,  1026,
+     283,   284,   285,   286,    56,   527,    58,   295,   296,   939,
+    1027,   312,   328,   297,   832,  1049,    60,    92,    93,  1049,
+    1050,    94,    62,   365,  1051,   366,   367,    95,    96,    97,
+     368,   369,   370,  1401,   409,   410,   232,   233,   234,   235,
+     236,  1074,  1363,  1364,  1365,   126,  1075,  1091,  1098,    64,
+     133,   134,  1092,  1099,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   160,   758,   759,   760,   761,    66,
+     133,   134,   828,   829,   128,   129,   130,   131,  1103,   443,
+     160,   444,   132,  1104,   844,   845,   846,  1077,  1112,   446,
+    1078,   133,   134,  1113,    34,    35,    36,    37,   135,   136,
+     137,   138,   139,   140,   141,   133,   134,   142,  1121,   447,
+    1201,  1202,  1203,  1122,  1210,  1216,   143,   592,   940,   941,
+     942,   943,  1123,   445,  1128,   144,  1049,   540,   145,  1129,
+     365,  1316,  1317,   818,   819,   146,    98,    99,   100,   101,
+     102,   103,  1320,   147,   148,   133,   134,  1321,   149,   150,
+     582,   561,   133,   134,   903,  1331,   160,   133,   134,  1112,
+     908,   909,  1163,  1351,  1345,   127,   365,   151,  1352,   544,
+     551,   152,  1389,   945,  1354,  1355,   974,  1390,   974,  1125,
+    1419,   975,  1126,   975,   976,  1420,   976,   153,   154,   155,
+     156,   157,   158,   133,   134,  1452,   160,  1474,   563,   562,
+    1453,   159,  1475,  1422,   966,   457,  1423,   458,   967,   968,
+     969,   970,  1223,  1224,  1225,  1226,   459,   160,   971,   972,
+    1308,  1309,  1310,  1454,  1455,   460,   461,   133,   134,   127,
+     462,   160,   463,   827,   828,   829,   830,   831,   832,   833,
+     834,   835,   836,   837,   838,   839,   840,   841,   464,   465,
+     307,   842,   843,   844,   845,   846,   847,   133,   134,  1283,
+     466,  1284,  1285,   467,   598,   599,  1332,  1333,  1334,   468,
+     469,   160,   470,   472,   254,   255,   473,   474,   160,   161,
+     256,   308,   475,   160,   476,   480,   237,   365,   925,   926,
+     927,   928,   929,   930,  1337,  1338,  1339,   481,   482,   258,
+     133,   134,   483,   309,   992,   993,   994,   487,   494,   495,
+     325,   305,   265,   496,   506,   245,   514,   515,   259,   160,
+     516,   348,   519,   523,   260,   524,   525,   526,   302,   534,
+     535,   371,   318,   543,   547,   549,   372,   550,   392,   331,
+     566,   300,   570,   393,   246,   313,   261,   394,   395,   571,
+     350,   424,   329,   995,   955,   956,   957,   303,   330,   572,
+     385,   319,   574,   349,   600,   575,   576,   407,   332,   579,
+     608,   578,   584,   586,   262,   588,   589,   595,   601,   351,
+     425,   602,   263,   160,   266,   603,   604,   605,   606,   386,
+     267,   310,   264,   607,   609,   610,   408,   611,   326,   311,
+     612,   622,   268,   613,   614,   615,   327,   617,   269,   426,
+     628,   618,   270,   616,   620,   271,   619,   621,   272,   623,
+     273,   624,   625,   629,   630,   274,   160,   626,   635,   636,
+     275,   276,   277,   278,   127,   633,   279,   280,   627,   631,
+     160,   632,   634,   281,   282,   637,   638,   283,   284,   285,
+     286,   639,   640,   641,   295,   296,   642,   127,   643,   644,
+     297,   312,   133,   134,   645,   133,   134,   646,   328,   647,
+     648,   649,   650,   651,   652,   653,   654,   655,   340,   656,
+     320,   321,   322,   323,   324,   133,   134,   657,   341,   342,
+     343,   344,   345,   346,   347,   658,   161,   792,   793,   237,
+     659,   660,   254,   255,   661,   662,   663,   664,   256,   308,
+     665,   799,   800,   801,   802,   668,   666,   365,   387,   366,
+     367,   388,   389,   390,   667,   669,   671,   677,   245,   672,
+     673,   674,   813,   675,   944,   958,   973,   678,   679,   424,
+     680,   681,   683,  1009,   133,   134,   416,   417,   418,   419,
+     420,   421,   422,   423,   713,   684,   823,   246,   685,   682,
+     391,   686,   687,   946,   964,   977,   689,   996,   425,     1,
+       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,    14,   690,   692,   693,   694,   695,   160,   698,
+     699,   160,   947,   965,   978,   700,   997,   426,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   160,   701,   702,   703,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   696,   704,   127,   705,   707,
+     708,   709,   710,   711,   712,   715,   716,   717,   718,   129,
+     130,   131,   719,   721,   722,   724,   725,   247,   726,   248,
+     727,   730,   731,   728,   729,   133,   134,   249,   250,   251,
+     252,   253,   135,   136,   137,   733,   734,   736,   738,   737,
+     160,   739,   254,   255,   740,   741,   742,   743,   256,   753,
+     143,   744,   751,   754,   752,   755,   763,   756,   257,   757,
+      32,   766,   767,   768,   769,   781,   771,   770,   772,   773,
+     341,  1413,   774,   775,   776,   777,   778,   779,   782,   780,
+     783,   784,   785,   787,   788,   789,   790,   791,   794,   795,
+     796,   797,   821,   798,   803,   804,   805,   822,   874,   806,
+     807,   878,   882,   886,   890,   808,   809,   810,   811,   812,
+     814,   816,   914,   817,   917,   921,   988,  1005,  1014,  1018,
+    1032,   153,   154,  1033,  1034,  1035,  1036,  1037,  1038,  1039,
+    1040,  1041,  1043,  1044,  1054,  1146,  1053,  1057,  1056,  1059,
+    1060,  1062,  1063,  1066,  1065,  1130,  1081,  1069,  1080,  1084,
+    1083,   160,  1085,  1086,  1087,  1088,  1089,  1090,  1095,  1096,
+    1097,  1100,  1101,  1102,  1108,  1110,  1116,  1135,  1115,  1117,
+    1119,  1127,  1145,  1138,  1134,  1137,  1147,  1141,  1140,  1139,
+    1142,  1143,  1144,  1148,   258,  1149,  1150,   371,  1155,  1151,
+     392,  1152,   372,  1171,  1153,   393,   305,   265,  1200,   394,
+     395,  1154,  1156,   259,  1157,  1227,  1178,  1158,   348,   260,
+    1234,   411,  1172,   302,  1159,  1160,   385,  1161,  1173,   407,
+    1220,  1221,  1214,  1251,  1228,  1252,   300,   944,  1258,  1253,
+    1229,   261,   958,  1259,  1236,  1213,  1254,   350,  1255,  1256,
+    1174,   973,   303,   973,  1268,   386,  1260,  1235,   408,  1264,
+     349,  1215,  1230,  1286,  1261,  1262,   946,  1009,  1287,   262,
+    1265,   964,   309,  1237,  1269,   325,   351,   263,  1175,   266,
+     977,  1270,   977,  1266,  1272,   267,  1176,   264,  1179,   996,
+    1231,  1204,  1288,  1273,  1180,   947,  1177,   268,  1232,  1205,
+     965,   318,  1274,   269,   331,  1279,  1181,   270,  1233,   978,
+     271,   978,  1182,   272,   313,   273,  1183,   329,   997,  1184,
+     274,  1289,  1185,   330,  1186,   275,   276,   277,   278,  1187,
+     319,   279,   280,   332,  1188,  1189,  1190,  1191,   281,   282,
+    1192,  1193,   283,   284,   285,   286,  1271,  1194,  1195,   295,
+     296,  1196,  1197,  1198,  1199,   297,  1280,  1278,  1207,  1208,
+     310,  1206,  1281,   326,  1209,  1298,  1299,  1329,   311,  1318,
+    1319,   327,  1326,  1327,  1328,  1330,  1344,  1343,  1349,  1357,
+    1296,  1358,  1379,  1375,  1381,  1392,  1304,  1393,  1305,  1410,
+    1394,  1396,  1397,  1398,  1399,   900,  1417,  1428,  1445,  1424,
+    1444,  1448,  1449,  1450,  1466,  1470,  1478,  1479,   815,   824,
+    1164,   826,  1024,   670,  1162,  1306,  1307,  1222,  1267,  1218,
+    1312,  1313,  1314,  1315,  1322,   676,  1323,  1336,  1341,  1342,
+     312,  1346,  1353,   328,  1219,  1383,  1359,  1360,  1380,  1384,
+    1395,  1415,  1416,  1446,  1250,  1249,  1257,  1468,  1467,  1469,
+    1476,  1166,  1165,  1477,  1217,  1481,  1482,  1356,   688,  1171,
+     363,  1168,  1170,  1301,  1200,  1167,   691,   714,  1227,  1169,
+    1300,  1302,  1178,  1234,  1303,   720,   723,   697,  1172,  1247,
+    1246,  1347,  1366,   706,  1173,  1361,  1022,  1228,  1214,  1263,
+    1286,  1248,  1409,  1229,  1277,  1287,  1276,  1236,  1275,  1429,
+    1465,  1213,  1400,  1480,  1282,  1004,  1174,   732,   735,   825,
+    1235,  1367,  1295,  1382,  1442,  1230,  1471,  1215,  1297,  1288,
+       0,     0,     0,     0,     0,     0,  1237,     0,  1366,     0,
+    1402,     0,     0,     0,  1175,  1403,     0,     0,     0,     0,
+    1368,     0,  1176,  1231,  1179,     0,     0,  1204,  1289,     0,
+    1180,  1232,  1177,     0,     0,  1205,     0,  1367,  1402,  1404,
+       0,  1233,  1181,  1403,     0,     0,     0,     0,  1182,     0,
+       0,     0,  1183,     0,     0,  1184,     0,     0,  1185,     0,
+    1186,     0,  1456,     0,     0,  1187,  1368,  1404,  1405,     0,
+    1188,  1189,  1190,  1191,     0,     0,  1192,  1193,     0,     0,
+       0,     0,     0,  1194,  1195,     0,     0,  1196,  1197,  1198,
+    1199,  1459,     0,  1456,  1207,  1208,  1405,  1206,     0,     0,
+    1209,     0,     0,     0,     0,     0,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,     0,
+    1460,     0,  1459,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,     0,   127,   365,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   129,   130,   131,
+       0,  1460,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   133,   134,     0,   250,   251,     0,   253,
+     135,   136,   137,     0,     0,     0,     0,     0,     0,     0,
+     254,   255,     0,     0,     0,     0,   256,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   257,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   156,
-     157,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   153,
+     154,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   163
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   160
   };
 
   const short
   Dhcp6Parser::yycheck_[] =
   {
-      16,    73,    74,    75,    76,    77,    78,   781,    80,    81,
-      82,    83,    77,    80,    81,    81,    75,   781,    81,    75,
-      75,   781,    75,    75,    76,    77,    78,   779,   746,   773,
-    1068,  1068,  1068,    75,  1068,  1068,    75,     5,   647,     7,
-       0,     9,   140,   141,  1445,   134,   140,   141,  1445,    74,
-      75,    76,    77,    78,     7,    80,    81,   216,    83,    16,
-      17,    18,    19,    20,    75,     3,    75,   231,     6,    75,
-      75,     5,   231,     7,  1475,     9,    25,    26,  1475,     3,
-      75,     7,     3,    75,     8,    24,    75,     8,   134,   135,
-      75,   137,     7,    74,    75,    76,    77,    78,     3,    80,
-      81,   208,    83,     8,   211,   212,   213,   214,    75,     7,
-      78,    75,    75,    75,    75,     3,     3,   726,    24,     3,
-       8,     8,     7,    29,     8,     3,     3,    75,     7,    75,
-       8,     8,    75,   231,    75,    75,     7,   105,   106,    75,
-      75,    24,   231,    13,    14,    75,     3,    75,   105,   106,
-      75,     8,    75,     4,     3,    75,   105,   106,    75,     8,
-      76,    77,    76,    77,   194,   195,   105,   106,    76,    77,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,     7,    77,     7,    42,    43,
-      44,    45,    46,    47,     7,    78,     3,    80,    81,   105,
-     106,     8,    85,    86,    87,     3,     3,    98,     3,    10,
-       8,     8,   180,     8,   105,   106,     3,   197,   198,   199,
-     200,     8,   105,   106,    78,   105,   106,   176,   177,   105,
-     106,   122,   123,     7,   173,   174,   175,   128,   129,     3,
-      44,    45,    46,    76,     8,     7,   180,   153,   154,   155,
-     156,    39,    40,    41,   234,    48,    49,    50,    51,    52,
-      53,   688,   689,   231,   232,   233,   234,    78,    79,    80,
-      81,    82,    83,    84,   231,   702,   703,   704,   705,   159,
-     160,   161,   231,     7,    77,    78,  1324,  1324,  1324,     6,
-    1324,  1324,   231,     3,   105,   106,   723,   231,   232,   233,
-     234,   105,   106,     8,     3,     3,   182,   183,   184,     8,
-     121,     4,   105,   106,   143,   144,   145,   146,   147,   148,
-     231,     3,     3,     3,     3,   231,     8,     8,     8,     8,
-    1074,   124,   125,   126,   127,     4,     3,     8,  1056,     3,
-     231,     8,  1116,     3,  1118,     4,     6,     4,   231,     4,
-    1102,   231,  1116,     4,  1118,   231,  1116,     3,  1118,     4,
-     164,     4,     8,     3,   168,   169,   170,   171,     8,    78,
-       4,     3,     8,     3,   178,   179,     8,   231,     8,    92,
-      93,    94,    95,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,   105,   106,   119,   120,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,     3,    77,    78,     3,     8,     8,     3,     3,     8,
-     231,     4,     8,     8,    89,    90,    91,   231,     3,     3,
-       3,   447,   448,     8,     8,     8,     3,     3,   231,     6,
-     105,   106,     8,   108,   109,     4,   111,   112,   113,   114,
-       3,     3,   524,     6,     6,     4,     4,   122,   123,   531,
-     150,   151,   152,   128,   165,   166,   167,     4,     4,     4,
-       4,     4,   544,   138,     4,     4,   548,     8,     4,     4,
-       4,     4,     4,   555,     4,   544,     4,     4,   544,   544,
-     555,   544,   544,     4,   566,     4,   548,     4,   207,     4,
-     209,   210,   544,   555,   576,   544,   531,     4,     4,   576,
-       4,   583,     4,     4,   566,     4,   583,   583,     4,   544,
-     583,     4,   231,   548,   596,     4,     4,   231,     4,     4,
-     555,     4,    77,   544,     3,   544,   201,   202,   544,   544,
-       4,   566,     4,     4,     3,   232,     4,     4,     4,   544,
-     531,   576,   544,     4,     4,   544,     4,     4,   583,   544,
-     105,   106,     4,   544,     4,     4,   231,   548,     4,     4,
-     232,   596,     4,   234,   555,   233,   121,   544,   105,   106,
-     544,   544,   544,   544,   232,   566,   131,   132,   133,   134,
-     135,   136,   137,   232,   232,   576,   544,   232,   544,   232,
-       4,   544,   583,   544,   544,   232,   234,   233,   544,   544,
-     233,   232,   232,   232,   544,   596,   544,   232,   234,   544,
-     234,   544,     4,     4,   544,   234,   234,   544,   233,     4,
-     234,     4,   548,     4,   548,   232,     4,     4,     4,   555,
-     548,   555,     4,     4,     4,     4,   234,   555,     4,     4,
-     234,     4,   234,     4,    77,     4,     4,     4,     4,   186,
-     187,   188,   189,   190,   191,   192,   193,   232,     4,   741,
-       4,     4,   744,     4,     4,     4,     4,   100,   101,   102,
-     103,   104,   105,   106,   234,     4,   231,   234,   234,     4,
-       4,   234,   234,   232,   232,     4,     4,     4,     4,   122,
-     123,     4,   234,     4,   231,   128,   129,   779,   780,   781,
-       4,   232,   784,     4,     4,     4,   788,   232,     4,   744,
-     232,     4,   232,     4,   740,     4,   232,    11,    12,     4,
-       4,    15,     4,     4,     4,     4,     4,    21,    22,    23,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   779,   780,   781,     4,   783,   784,
-     232,     4,     4,   744,    48,    49,    50,    51,    52,    53,
+      71,    72,    73,    74,    75,    76,    16,    78,    79,    80,
+      81,   777,    78,    79,    73,    73,   777,    79,    79,   777,
+     775,    73,   742,   769,  1064,  1064,  1064,    73,  1064,  1064,
+      72,    73,    74,    75,    76,   134,    78,    79,     5,    81,
+       7,   643,     9,    24,    73,    74,    75,    76,  1443,    73,
+     140,   141,    75,   197,   198,   199,   200,  1443,   216,    72,
+      73,    74,    75,    76,     7,    78,    79,     3,    81,    13,
+      14,     3,     8,   231,   231,     3,     8,    73,     3,  1474,
+       8,    78,     0,     8,     3,    73,    10,    73,  1474,     8,
+     234,    74,    75,    73,     3,    73,     7,     6,   208,    74,
+      75,   211,   212,   213,   214,    73,     7,     3,   105,   106,
+       7,    73,     8,   134,   135,    73,   137,     3,    73,    24,
+     722,    73,     8,    73,   105,   106,     3,     3,    73,     7,
+       6,     8,   231,    73,    73,    73,    73,     3,     7,    73,
+      73,   231,     8,     3,     3,     7,    73,    73,     8,     8,
+      73,    73,    73,    73,     7,     3,     7,    73,    73,    24,
+       8,    74,    75,    73,    29,     3,     7,    11,    12,     3,
+       8,    15,     7,    78,     8,    80,    81,    21,    22,    23,
+      85,    86,    87,   180,   140,   141,    16,    17,    18,    19,
+      20,     3,   173,   174,   175,    76,     8,     3,     3,     7,
+     105,   106,     8,     8,    48,    49,    50,    51,    52,    53,
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,     4,     4,   234,   234,   779,   780,
-     781,   234,   783,   784,    88,    89,    90,    91,   231,   234,
-       4,     4,    96,     4,   234,     4,   232,     4,   232,   232,
-       4,   105,   106,     4,     4,   232,     4,   196,   112,   113,
-     114,   115,   116,   117,   118,     7,   231,   121,     7,     7,
-       7,     7,     5,   231,   231,   231,   130,     5,     5,     5,
-       5,   231,   231,     7,   231,   139,     5,     5,   142,     5,
-       7,     5,     5,     5,   131,   149,     7,     7,     7,     7,
-       5,     7,     5,   157,   158,     7,     7,   231,   162,   163,
-       5,   231,     5,     5,     5,     4,   231,   231,   231,   231,
-       7,   231,   231,   231,   231,     7,   231,   181,     7,   231,
-       7,   185,     7,     7,   231,   231,   231,   231,   231,   231,
-     231,   231,     7,   231,   231,     7,     7,   201,   202,   203,
-     204,   205,   206,     7,     7,     7,     7,     4,     4,     4,
-       4,   215,     4,     4,     4,     4,     4,     4,     4,     3,
-     232,     6,     3,     6,     6,     3,     6,   231,     3,     6,
-       3,   231,     6,     3,     6,     6,     3,     6,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     3,   234,     4,     4,     4,     3,   232,     6,
-       3,     6,     4,   234,     8,     6,     4,  1059,     4,     4,
-    1062,   232,   232,  1065,   232,  1062,  1068,   232,  1065,  1065,
-    1059,  1068,  1065,  1059,  1059,   232,  1059,  1059,  1080,  1068,
-     232,  1083,  1068,  1080,  1086,  1068,  1068,  1059,     4,   234,
-    1059,  1080,     4,     4,  1080,   232,  1068,  1080,  1080,  1068,
-    1102,  1083,     4,     4,  1059,  1107,     4,  1062,  1080,     4,
-    1065,  1080,   232,  1068,  1116,     4,  1118,   232,  1059,   232,
-    1059,     4,   234,  1059,  1059,  1080,  1128,  1068,  1083,  1068,
-    1132,  1128,  1068,  1068,  1059,  1137,     4,  1059,  1140,     4,
-    1059,  1080,   232,  1068,  1059,  1140,  1068,  1102,  1059,  1068,
-     232,  1062,  1107,  1068,  1065,  1137,     4,  1068,  1140,     4,
-       4,  1116,  1059,  1118,     4,  1059,  1059,  1059,  1059,  1080,
-    1125,  1068,  1083,  1128,  1068,  1068,  1068,  1068,   232,     4,
-       6,  1059,  1137,  1059,   232,  1140,  1059,   232,  1059,  1059,
-    1068,  1102,  1068,  1059,  1059,  1068,  1107,  1068,  1068,  1059,
-     232,  1059,  1068,  1068,  1059,  1116,  1059,  1118,  1068,  1059,
-    1068,   234,  1059,  1068,  1125,  1068,   232,  1128,  1068,   234,
-       3,  1068,  1068,   232,  1068,     4,  1137,     8,     8,  1140,
-    1068,   234,     4,     8,     3,     8,     7,     5,     4,     4,
-       4,   726,     4,   232,     7,     4,   232,     3,     6,     6,
-       5,     4,     4,   231,     4,     4,     7,   172,     5,     7,
-       3,   772,     4,     4,     4,     4,     4,     4,     4,   231,
-     741,   826,  1058,  1053,   744,  1078,  1071,  1074,   524,  1095,
-    1107,   231,   231,  1088,   231,  1061,   586,   231,   231,   231,
-     231,  1137,   231,  1137,  1140,   231,  1140,   231,   231,  1137,
-     231,   231,  1140,   531,   231,   234,   234,   232,   231,   231,
-     231,   231,  1086,  1059,   232,   234,  1070,   544,   232,  1324,
-    1064,   231,  1324,   231,   231,   231,  1062,  1324,  1067,  1140,
-    1065,  1333,   555,    79,   576,  1324,  1333,  1139,  1324,  1285,
-     583,  1324,  1324,  1137,  1333,  1347,  1142,  1333,   566,  1081,
-    1333,  1333,  1324,  1355,   548,  1324,  1085,  1083,  1355,  1333,
-    1102,  1333,  1120,  1118,  1333,   799,  1397,  1116,  1422,  1324,
-    1393,  1447,  1475,   784,  1125,   600,  1129,  1355,  1333,   596,
-    1425,  1453,   743,  1324,  1132,  1324,    -1,    -1,  1324,  1324,
-      -1,  1393,  1347,  1395,  1333,    -1,    -1,    -1,  1395,  1324,
-    1355,    -1,  1324,    -1,    -1,  1324,    -1,    -1,    -1,  1324,
-      -1,    -1,    -1,  1324,    -1,    -1,    -1,    -1,    -1,    -1,
-    1422,    -1,  1333,    -1,    -1,  1422,    -1,  1324,    -1,    -1,
-    1324,  1324,  1324,  1324,    -1,    -1,  1347,    -1,  1393,    -1,
-    1395,    -1,    -1,  1445,  1355,    -1,  1324,    -1,  1324,  1395,
-      -1,  1324,    -1,  1324,  1324,    -1,    -1,    -1,  1324,  1324,
-      -1,    -1,    -1,    -1,  1324,    -1,  1324,  1422,    -1,  1324,
-      -1,  1324,    -1,  1475,  1324,    -1,  1422,  1324,  1324,    -1,
-    1324,    -1,  1393,    -1,  1395,    -1,  1324,    -1,    -1,    -1,
-    1445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1422,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1475,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1445,    -1,    48,    49,    50,    51,
+      74,    75,    76,    77,   231,    92,    93,    94,    95,     7,
+     105,   106,    25,    26,    88,    89,    90,    91,     3,     6,
+     231,     3,    96,     8,    44,    45,    46,     3,     3,     8,
+       6,   105,   106,     8,   231,   232,   233,   234,   112,   113,
+     114,   115,   116,   117,   118,   105,   106,   121,     3,     3,
+    1320,  1320,  1320,     8,  1320,  1320,   130,     3,   153,   154,
+     155,   156,     8,     4,     3,   139,     3,     3,   142,     8,
+      78,     8,     8,   194,   195,   149,    48,    49,    50,    51,
+      52,    53,     3,   157,   158,   105,   106,     8,   162,   163,
+       3,     8,   105,   106,  1070,     8,   231,   105,   106,     3,
+     119,   120,  1052,     3,     8,    77,    78,   181,     8,     3,
+       3,   185,     3,  1098,     8,     8,  1112,     8,  1114,     3,
+       3,  1112,     6,  1114,  1112,     8,  1114,   201,   202,   203,
+     204,   205,   206,   105,   106,     3,   231,     3,     8,     3,
+       8,   215,     8,     3,   164,     4,     6,     4,   168,   169,
+     170,   171,   124,   125,   126,   127,     4,   231,   178,   179,
+      39,    40,    41,   176,   177,     4,     4,   105,   106,    77,
+       4,   231,     4,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,     4,     4,
+      98,    42,    43,    44,    45,    46,    47,   105,   106,   207,
+       4,   209,   210,     4,   444,   445,   150,   151,   152,     4,
+       4,   231,     4,     4,   122,   123,     4,     4,   231,   520,
+     128,   129,     4,   231,     4,     4,   527,    78,   143,   144,
+     145,   146,   147,   148,   165,   166,   167,     4,     4,   540,
+     105,   106,     4,   544,   182,   183,   184,     4,     4,     4,
+     551,   540,   540,     4,     4,   527,     4,     4,   540,   231,
+       4,   562,     4,     4,   540,     4,     4,     4,   540,     4,
+       4,   572,   544,     4,     4,     4,   572,     4,   579,   551,
+       4,   540,     4,   579,   527,   544,   540,   579,   579,     8,
+     562,   592,   551,   231,   159,   160,   161,   540,   551,     3,
+     572,   544,     4,   562,   231,     4,     4,   579,   551,     3,
+     232,     8,     4,     4,   540,     4,     4,     4,     4,   562,
+     592,     4,   540,   231,   540,     4,     4,     4,     4,   572,
+     540,   544,   540,     4,   232,   232,   579,   232,   551,   544,
+     232,     4,   540,   232,   232,   232,   551,   233,   540,   592,
+       4,   233,   540,   234,   232,   540,   233,   232,   540,   232,
+     540,   232,   234,     4,     4,   540,   231,   234,     4,     4,
+     540,   540,   540,   540,    77,   233,   540,   540,   234,   234,
+     231,   234,   234,   540,   540,     4,   232,   540,   540,   540,
+     540,     4,     4,     4,   540,   540,     4,    77,     4,     4,
+     540,   544,   105,   106,   234,   105,   106,   234,   551,   234,
+       4,     4,     4,     4,     4,     4,     4,     4,   121,     4,
+     100,   101,   102,   103,   104,   105,   106,   232,   131,   132,
+     133,   134,   135,   136,   137,     4,   737,   684,   685,   740,
+       4,     4,   122,   123,     4,     4,     4,     4,   128,   129,
+     234,   698,   699,   700,   701,     4,   234,    78,    79,    80,
+      81,    82,    83,    84,   234,     4,     4,     4,   740,   234,
+     234,   232,   719,   232,   775,   776,   777,     4,     4,   780,
+       4,     4,   234,   784,   105,   106,   186,   187,   188,   189,
+     190,   191,   192,   193,   234,     4,   736,   740,     4,   232,
+     121,     4,     4,   775,   776,   777,     4,   779,   780,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   232,     4,   232,     4,   232,   231,     4,
+       4,   231,   775,   776,   777,     4,   779,   780,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,   231,     4,     4,     4,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,   232,     4,    77,     4,     4,
+       4,   232,     4,     4,     4,     4,   234,   234,   234,    89,
+      90,    91,     4,     4,     4,   234,     4,    97,   232,    99,
+       4,     4,     4,   232,   232,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,     4,   232,     4,   231,     7,
+     231,     7,   122,   123,     7,     7,     7,     5,   128,     5,
+     130,   231,   231,     5,   231,     5,     5,   231,   138,   231,
+       7,   231,     5,     5,     5,   231,     5,     7,     5,     5,
+     131,   172,     7,     7,     7,     7,     5,     7,   231,     7,
+       5,     7,     5,     5,     5,   231,   231,   231,   231,     7,
+     231,   231,   196,   231,   231,   231,   231,     5,     7,   231,
+     231,     7,     7,     7,     7,   231,   231,   231,   231,   231,
+     231,   231,     7,   231,     7,     7,     7,     7,     7,     7,
+       4,   201,   202,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     3,   234,     6,     3,     6,     6,
+       3,     6,     3,     3,     6,   231,     3,     6,     6,     3,
+       6,   231,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     3,     3,     6,     4,
+       4,     4,   232,     3,     6,     6,   232,     4,     6,     8,
+       4,     4,     4,   234,  1055,   232,   232,  1058,     4,   232,
+    1061,   232,  1058,  1064,   232,  1061,  1055,  1055,  1064,  1061,
+    1061,   232,   234,  1055,   232,  1076,  1064,     4,  1079,  1055,
+    1076,  1082,  1064,  1055,     4,     4,  1058,     4,  1064,  1061,
+       4,     4,  1064,   232,  1076,   232,  1055,  1098,     4,   232,
+    1076,  1055,  1103,     4,  1076,  1064,   232,  1079,   232,   232,
+    1064,  1112,  1055,  1114,     4,  1058,   232,  1076,  1061,   234,
+    1079,  1064,  1076,  1124,   232,   232,  1098,  1128,  1124,  1055,
+     232,  1103,  1133,  1076,     4,  1136,  1079,  1055,  1064,  1055,
+    1112,     4,  1114,   232,     4,  1055,  1064,  1055,  1064,  1121,
+    1076,  1064,  1124,   234,  1064,  1098,  1064,  1055,  1076,  1064,
+    1103,  1133,     4,  1055,  1136,     4,  1064,  1055,  1076,  1112,
+    1055,  1114,  1064,  1055,  1133,  1055,  1064,  1136,  1121,  1064,
+    1055,  1124,  1064,  1136,  1064,  1055,  1055,  1055,  1055,  1064,
+    1133,  1055,  1055,  1136,  1064,  1064,  1064,  1064,  1055,  1055,
+    1064,  1064,  1055,  1055,  1055,  1055,   232,  1064,  1064,  1055,
+    1055,  1064,  1064,  1064,  1064,  1055,   232,   234,  1064,  1064,
+    1133,  1064,     4,  1136,  1064,     6,     3,     3,  1133,     8,
+       8,  1136,     4,     4,     8,     8,     5,     7,     4,     4,
+     234,     4,     4,     7,     4,     6,   231,     3,   231,     7,
+       5,     4,     4,     4,     4,   768,     5,     4,     3,     7,
+       6,     4,     4,     4,     4,     4,     4,     4,   722,   737,
+    1054,   740,   822,   520,  1049,   231,   231,  1074,  1103,  1067,
+     231,   231,   231,   231,   231,   527,   231,   231,   231,   231,
+    1133,   231,   231,  1136,  1070,   231,   234,   234,   232,   231,
+     231,   231,   231,   231,  1084,  1082,  1091,   232,   234,   232,
+     231,  1057,  1055,   231,  1066,   231,   231,  1320,   540,  1320,
+      77,  1060,  1063,  1135,  1320,  1058,   544,   572,  1329,  1061,
+    1133,  1136,  1320,  1329,  1138,   579,   582,   551,  1320,  1079,
+    1077,  1281,  1343,   562,  1320,  1329,   795,  1329,  1320,  1098,
+    1351,  1081,  1393,  1329,  1116,  1351,  1114,  1329,  1112,  1419,
+    1445,  1320,  1389,  1474,  1121,   780,  1320,   592,   596,   739,
+    1329,  1343,  1125,  1351,  1422,  1329,  1452,  1320,  1128,  1351,
+      -1,    -1,    -1,    -1,    -1,    -1,  1329,    -1,  1389,    -1,
+    1391,    -1,    -1,    -1,  1320,  1391,    -1,    -1,    -1,    -1,
+    1343,    -1,  1320,  1329,  1320,    -1,    -1,  1320,  1351,    -1,
+    1320,  1329,  1320,    -1,    -1,  1320,    -1,  1389,  1419,  1391,
+      -1,  1329,  1320,  1419,    -1,    -1,    -1,    -1,  1320,    -1,
+      -1,    -1,  1320,    -1,    -1,  1320,    -1,    -1,  1320,    -1,
+    1320,    -1,  1443,    -1,    -1,  1320,  1389,  1419,  1391,    -1,
+    1320,  1320,  1320,  1320,    -1,    -1,  1320,  1320,    -1,    -1,
+      -1,    -1,    -1,  1320,  1320,    -1,    -1,  1320,  1320,  1320,
+    1320,  1443,    -1,  1474,  1320,  1320,  1419,  1320,    -1,    -1,
+    1320,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,    51,
       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
-      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    -1,  1475,    77,    -1,    -1,    -1,    -1,
+    1443,    -1,  1474,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    -1,    77,    78,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,
-      -1,    -1,    -1,    -1,    -1,    97,    -1,    99,    -1,    -1,
-      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
+      -1,  1474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   105,   106,    -1,   108,   109,    -1,   111,
      112,   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     122,   123,    -1,    -1,    -1,    -1,   128,    -1,   130,    -1,
+     122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -6298,152 +6288,152 @@ namespace isc { namespace dhcp {
        0,   217,   218,   219,   220,   221,   222,   223,   224,   225,
      226,   227,   228,   229,   230,   236,   237,   238,   239,   240,
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-       0,     5,     7,     9,   180,   231,   232,   233,   234,   251,
-     252,   253,   258,     7,   267,     7,   272,     7,   327,     7,
-     441,     7,   523,     7,   540,     7,   557,     7,   472,     7,
-     478,     7,   502,     7,   417,     7,   672,     7,   691,   259,
-     254,   636,   268,   273,   328,   442,   524,   541,   558,   473,
-     479,   503,   418,   673,   692,   251,   260,   261,   231,   256,
-     257,     4,    10,   269,   271,    11,    12,    15,    21,    22,
-      23,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    88,    89,    90,    91,    96,   105,   106,   112,   113,
-     114,   115,   116,   117,   118,   121,   130,   139,   142,   149,
-     157,   158,   162,   163,   181,   185,   201,   202,   203,   204,
-     205,   206,   215,   231,   266,   274,   275,   276,   278,   279,
-     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-     290,   291,   292,   293,   294,   295,   298,   300,   302,   303,
-     304,   307,   308,   310,   312,   313,   314,   315,   317,   318,
-     320,   322,   323,   324,   325,   337,   339,   341,   382,   390,
-     396,   402,   404,   411,   425,   435,   457,   458,   459,   462,
-     470,   496,   530,   532,   551,   581,   596,   608,   609,   611,
-     660,   670,   689,   698,   722,    16,    17,    18,    19,    20,
-     266,   329,   330,   331,   333,   334,   335,   336,   530,   532,
-      97,    99,   107,   108,   109,   110,   111,   122,   123,   128,
-     138,   266,   278,   279,   280,   281,   282,   283,   284,   285,
+       0,     5,     7,     9,   231,   232,   233,   234,   251,   252,
+     253,   258,     7,   267,     7,   272,     7,   327,     7,   441,
+       7,   523,     7,   540,     7,   557,     7,   472,     7,   478,
+       7,   502,     7,   417,     7,   673,     7,   692,   259,   254,
+     268,   273,   328,   442,   524,   541,   558,   473,   479,   503,
+     418,   674,   693,   251,   260,   261,   231,   256,   257,    10,
+     269,   271,    11,    12,    15,    21,    22,    23,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    88,    89,
+      90,    91,    96,   105,   106,   112,   113,   114,   115,   116,
+     117,   118,   121,   130,   139,   142,   149,   157,   158,   162,
+     163,   181,   185,   201,   202,   203,   204,   205,   206,   215,
+     231,   266,   274,   275,   276,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   298,   300,   302,   303,   304,   307,   308,
+     310,   312,   313,   314,   315,   317,   318,   320,   322,   323,
+     324,   325,   337,   339,   341,   382,   390,   396,   402,   404,
+     411,   425,   435,   457,   458,   459,   462,   470,   496,   530,
+     532,   551,   581,   596,   608,   609,   611,   661,   671,   690,
+     699,   723,    16,    17,    18,    19,    20,   266,   329,   330,
+     331,   333,   334,   335,   336,   530,   532,    97,    99,   107,
+     108,   109,   110,   111,   122,   123,   128,   138,   266,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   292,   293,   294,   295,   298,   300,   302,   303,
+     304,   307,   308,   310,   312,   318,   320,   443,   444,   445,
+     447,   449,   451,   453,   455,   457,   458,   459,   460,   461,
+     496,   517,   530,   532,   534,   551,   578,    98,   129,   266,
+     451,   453,   455,   496,   525,   526,   527,   529,   530,   532,
+     100,   101,   102,   103,   104,   266,   451,   453,   455,   496,
+     529,   530,   532,   542,   543,   544,   546,   547,   549,   550,
+     121,   131,   132,   133,   134,   135,   136,   137,   266,   496,
+     530,   532,   559,   560,   561,   562,   564,   566,   568,   570,
+     572,   574,   576,   470,    24,    78,    80,    81,    85,    86,
+      87,   266,   358,   480,   481,   482,   483,   484,   485,   486,
+     488,   490,   492,   493,   495,   530,   532,    79,    82,    83,
+      84,   121,   266,   358,   484,   490,   504,   505,   506,   507,
+     508,   510,   511,   512,   513,   514,   515,   530,   532,   140,
+     141,   266,   419,   420,   421,   423,   186,   187,   188,   189,
+     190,   191,   192,   193,   266,   530,   532,   675,   676,   677,
+     678,   680,   681,   683,   684,   685,   688,    13,    14,   694,
+     695,   696,   698,     6,     3,     4,     8,     3,   270,     3,
+       8,   277,   691,   326,   338,   340,   342,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,   316,     4,     4,     4,     4,     4,   296,   299,   301,
+       4,     4,     4,     4,   436,   471,   497,     4,   319,   321,
+     305,   463,   531,   533,     4,     4,     4,   391,   403,   397,
+     383,   582,   552,   412,   426,   597,     4,   405,   610,   612,
+     662,   672,   309,   311,     4,     4,     4,   700,   724,     4,
+       3,     8,   332,     4,     4,     4,     4,     3,     8,   518,
+     535,   446,   448,   450,     4,     4,   454,   456,   452,   579,
+       3,     8,   528,     4,     3,     8,   545,     4,   548,     4,
+       4,     3,     8,   577,   563,   565,   567,   569,   571,   573,
+     575,     8,     3,     8,   487,   359,     4,   491,   489,   494,
+       4,     8,     3,   509,     4,     4,     4,   516,     8,     3,
+     422,   424,     3,     8,     4,   679,     4,   682,     4,     4,
+     686,   689,     3,     8,   697,     4,     3,     8,   251,   251,
+     231,     4,     4,     4,     4,     4,     4,     4,   232,   232,
+     232,   232,   232,   232,   232,   232,   234,   233,   233,   233,
+     232,   232,     4,   232,   232,   234,   234,   234,     4,     4,
+       4,   234,   234,   233,   234,     4,     4,     4,   232,     4,
+       4,     4,     4,     4,     4,   234,   234,   234,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,   232,     4,     4,
+       4,     4,     4,     4,     4,   234,   234,   234,     4,     4,
+     275,     4,   234,   234,   232,   232,   330,     4,     4,     4,
+       4,     4,   232,   234,     4,     4,     4,     4,   444,     4,
+     232,   526,     4,   232,     4,   232,   232,   543,     4,     4,
+       4,     4,     4,     4,     4,     4,   561,     4,     4,   232,
+       4,     4,     4,   234,   482,     4,   234,   234,   234,     4,
+     506,     4,     4,   420,   234,     4,   232,     4,   232,   232,
+       4,     4,   676,     4,   232,   695,     4,     7,   231,     7,
+       7,     7,     7,     5,   231,   197,   198,   199,   200,   234,
+     297,   231,   231,     5,     5,     5,   231,   231,    92,    93,
+      94,    95,   306,     5,   253,   255,   231,     5,     5,     5,
+       7,     5,     5,     5,     7,     7,     7,     7,     5,     7,
+       7,   231,   231,     5,     7,     5,   262,     5,     5,   231,
+     231,   231,   262,   262,   231,     7,   231,   231,   231,   262,
+     262,   262,   262,   231,   231,   231,   231,   231,   231,   231,
+     231,   231,   231,   262,   231,   255,   231,   231,   194,   195,
+     687,   196,     5,   251,   274,   694,   329,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    42,    43,    44,    45,    46,    47,   266,   347,
+     348,   349,   351,   353,   355,   357,   358,   360,   361,   362,
+     363,   364,   365,   366,   367,   368,   371,   372,   373,   374,
+     376,   378,   380,   347,     7,   343,   344,   345,     7,   437,
+     438,   439,     7,   474,   475,   476,     7,   498,   499,   500,
+       7,   464,   465,   466,   134,   231,   392,   393,   394,   395,
+     260,   135,   137,   394,   398,   399,   400,   401,   119,   120,
+     384,   385,   386,   388,     7,   583,   584,     7,   553,   554,
+     555,     7,   413,   414,   415,   143,   144,   145,   146,   147,
+     148,   427,   428,   429,   430,   431,   432,   433,   434,    24,
+     153,   154,   155,   156,   266,   360,   530,   532,   598,   599,
+     600,   603,   604,   606,   607,   159,   160,   161,   266,   406,
+     407,   408,   409,   410,   530,   532,   164,   168,   169,   170,
+     171,   178,   179,   266,   374,   376,   378,   530,   532,   617,
+     618,   619,   622,   624,   626,   627,   628,   638,     7,   613,
+     614,   615,   182,   183,   184,   231,   530,   532,   663,   664,
+     665,   666,   668,   669,   675,     7,   701,   702,   216,   266,
+     725,   726,   727,   263,     7,   519,   520,   521,     7,   536,
+     537,   538,   562,   580,   343,     8,     8,     8,   350,   352,
+     354,   356,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,   369,     4,     4,   375,   377,   379,   381,     3,
+       8,     8,   346,     6,     3,   440,     6,     3,   477,     6,
+       3,   501,     6,     3,   467,     6,     3,     3,     6,     6,
+       3,     6,   387,   389,     3,     8,   585,     3,     6,   556,
+       6,     3,   416,     6,     3,     4,     4,     4,     4,     4,
+       4,     3,     8,   601,   605,     4,     4,     4,     3,     8,
+       4,     4,     4,     3,     8,   620,   623,   625,     4,   639,
+       4,   629,     3,     8,   616,     6,     3,     4,   667,     4,
+     670,     3,     8,     8,   703,     3,     6,     4,     3,     8,
+     231,   264,   265,   522,     6,     3,   539,     6,     3,     8,
+       6,     4,     4,     4,     4,   232,   234,   232,   234,   232,
+     232,   232,   232,   232,   232,     4,   234,   232,     4,     4,
+       4,     4,   348,   347,   345,   443,   439,   480,   476,   504,
+     500,   266,   278,   279,   280,   281,   282,   283,   284,   285,
      286,   287,   288,   289,   290,   292,   293,   294,   295,   298,
      300,   302,   303,   304,   307,   308,   310,   312,   318,   320,
-     443,   444,   445,   447,   449,   451,   453,   455,   457,   458,
-     459,   460,   461,   496,   517,   530,   532,   534,   551,   578,
-      98,   129,   266,   451,   453,   455,   496,   525,   526,   527,
-     529,   530,   532,   100,   101,   102,   103,   104,   266,   451,
-     453,   455,   496,   529,   530,   532,   542,   543,   544,   546,
-     547,   549,   550,   121,   131,   132,   133,   134,   135,   136,
-     137,   266,   496,   530,   532,   559,   560,   561,   562,   564,
-     566,   568,   570,   572,   574,   576,   470,    24,    78,    80,
-      81,    85,    86,    87,   266,   358,   480,   481,   482,   483,
-     484,   485,   486,   488,   490,   492,   493,   495,   530,   532,
-      79,    82,    83,    84,   121,   266,   358,   484,   490,   504,
-     505,   506,   507,   508,   510,   511,   512,   513,   514,   515,
-     530,   532,   140,   141,   266,   419,   420,   421,   423,   186,
-     187,   188,   189,   190,   191,   192,   193,   266,   530,   532,
-     674,   675,   676,   677,   679,   680,   682,   683,   684,   687,
-      13,    14,   693,   694,   695,   697,     6,     3,     4,     8,
-       3,   231,   270,     3,     8,   277,   690,   326,   338,   340,
-     342,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,   316,     4,     4,     4,     4,
-       4,   296,   299,   301,     4,     4,     4,     4,   436,   471,
-     497,     4,   319,   321,   305,   463,   531,   533,     4,     4,
-       4,   391,   403,   397,   383,   582,   552,   412,   426,   597,
-       4,   405,   610,   612,   661,   671,   309,   311,     4,     4,
-       4,   699,   723,     4,     3,     8,   332,     4,     4,     4,
-       4,     3,     8,   518,   535,   446,   448,   450,     4,     4,
-     454,   456,   452,   579,     3,     8,   528,     4,     3,     8,
-     545,     4,   548,     4,     4,     3,     8,   577,   563,   565,
-     567,   569,   571,   573,   575,     8,     3,     8,   487,   359,
-       4,   491,   489,   494,     4,     8,     3,   509,     4,     4,
-       4,   516,     8,     3,   422,   424,     3,     8,     4,   678,
-       4,   681,     4,     4,   685,   688,     3,     8,   696,     4,
-       3,     8,   251,   251,   231,     4,     4,     4,     4,     4,
-       4,     4,   232,   232,   232,   232,   232,   232,   232,   232,
-     234,   233,   233,   233,   232,   232,     4,   232,   232,   234,
-     234,   234,     4,     4,     4,   234,   234,   233,   234,     4,
-       4,     4,   232,     4,     4,     4,     4,     4,     4,   234,
-     234,   234,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,   232,     4,     4,     4,     4,     4,     4,     4,   234,
-     234,   234,     4,     4,   275,     4,   234,   234,   232,   232,
-     330,     4,     4,     4,     4,     4,   232,   234,     4,     4,
-       4,     4,   444,     4,   232,   526,     4,   232,     4,   232,
-     232,   543,     4,     4,     4,     4,     4,     4,     4,     4,
-     561,     4,     4,   232,     4,     4,     4,   234,   482,     4,
-     234,   234,   234,     4,   506,     4,     4,   420,   234,     4,
-     232,     4,   232,   232,     4,     4,   675,     4,   232,   694,
-       4,     7,   231,     7,     7,     7,     7,     5,   231,   197,
-     198,   199,   200,   234,   297,   231,   231,     5,     5,     5,
-     231,   231,    92,    93,    94,    95,   306,     5,   253,   255,
-     231,     5,     5,     5,     7,     5,     5,     5,     7,     7,
-       7,     7,     5,     7,     7,   231,   231,     5,     7,     5,
-     262,     5,     5,   231,   231,   231,   262,   262,   231,     7,
-     231,   231,   231,   262,   262,   262,   262,   231,   231,   231,
-     231,   231,   231,   231,   231,   231,   231,   262,   231,   255,
-     231,   231,   194,   195,   686,   196,     5,   251,   274,   693,
-     329,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    38,    42,    43,    44,    45,
-      46,    47,   266,   347,   348,   349,   351,   353,   355,   357,
-     358,   360,   361,   362,   363,   364,   365,   366,   367,   368,
-     371,   372,   373,   374,   376,   378,   380,   347,     7,   343,
-     344,   345,     7,   437,   438,   439,     7,   474,   475,   476,
-       7,   498,   499,   500,     7,   464,   465,   466,   134,   231,
-     392,   393,   394,   395,   260,   135,   137,   394,   398,   399,
-     400,   401,   119,   120,   384,   385,   386,   388,     7,   583,
-     584,     7,   553,   554,   555,     7,   413,   414,   415,   143,
-     144,   145,   146,   147,   148,   427,   428,   429,   430,   431,
-     432,   433,   434,    24,   153,   154,   155,   156,   266,   360,
-     530,   532,   598,   599,   600,   603,   604,   606,   607,   159,
-     160,   161,   266,   406,   407,   408,   409,   410,   530,   532,
-     164,   168,   169,   170,   171,   178,   179,   266,   374,   376,
-     378,   530,   532,   617,   618,   619,   622,   624,   626,   627,
-     628,   637,     7,   613,   614,   615,   182,   183,   184,   231,
-     530,   532,   662,   663,   664,   665,   667,   668,   674,     7,
-     700,   701,   216,   266,   724,   725,   726,   263,     7,   519,
-     520,   521,     7,   536,   537,   538,   562,   580,   343,     8,
-       8,     8,   350,   352,   354,   356,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,   369,     4,     4,   375,
-     377,   379,   381,     3,     8,     8,   346,     6,     3,   440,
-       6,     3,   477,     6,     3,   501,     6,     3,   467,     6,
-       3,     3,     6,     6,     3,     6,   387,   389,     3,     8,
-     585,     3,     6,   556,     6,     3,   416,     6,     3,     4,
-       4,     4,     4,     4,     4,     3,     8,   601,   605,     4,
-       4,     4,     3,     8,     4,     4,     4,     3,     8,   620,
-     623,   625,     4,   638,     4,   629,     3,     8,   616,     6,
-       3,     4,   666,     4,   669,     3,     8,     8,   702,     3,
-       6,     4,     3,     8,   231,   264,   265,   522,     6,     3,
-     539,     6,     3,     8,     6,     4,     4,     4,     4,   232,
-     234,   232,   234,   232,   232,   232,   232,   232,   232,     4,
-     234,   232,     4,     4,     4,     4,   348,   347,   345,   443,
-     439,   480,   476,   504,   500,   266,   278,   279,   280,   281,
-     282,   283,   284,   285,   286,   287,   288,   289,   290,   292,
-     293,   294,   295,   298,   300,   302,   303,   304,   307,   308,
-     310,   312,   318,   320,   358,   435,   447,   449,   451,   453,
-     455,   457,   458,   459,   461,   468,   469,   496,   530,   532,
-     578,   466,   393,   399,     4,     4,   385,   124,   125,   126,
-     127,   266,   278,   279,   280,   281,   282,   283,   358,   496,
-     530,   532,   586,   587,   588,   589,   590,   592,   594,   595,
-     584,   559,   555,   419,   415,   232,   232,   232,   232,   232,
-     232,   428,     4,     4,   232,   232,   232,   599,   234,   232,
-     232,   407,     4,     4,     4,   232,     4,   234,     4,   618,
-     617,   615,   234,     4,   232,     4,   663,   207,   209,   210,
-     266,   358,   530,   532,   703,   704,   705,   706,   708,   701,
-     234,   725,     6,     3,   525,   521,   542,   538,   231,   231,
-     231,   231,    39,    40,    41,   370,   231,   231,   231,   231,
-       8,     8,     8,     8,     3,     8,   231,   231,   591,   593,
-       4,     4,     8,     3,     8,     8,   150,   151,   152,   602,
-     231,   165,   166,   167,   621,   231,   231,     7,     5,     8,
-     231,   251,   709,     4,   707,     3,     8,   231,     8,     8,
-     469,     4,     4,   234,   234,   588,    24,   173,   174,   175,
-     266,   530,   532,   639,   640,   641,   644,   646,   648,     7,
-     630,   631,   632,     4,   232,     4,   704,   231,   231,   642,
-     645,   647,   649,     3,     8,   633,     6,     3,     5,   231,
-       4,     4,     4,     4,   640,   231,   251,   266,   358,   530,
-     532,   634,   635,   632,     7,   710,   711,   172,   643,   231,
-     231,     5,     3,     8,   712,     3,     6,     7,   650,   651,
-     652,   635,   208,   211,   212,   213,   214,   713,   714,   715,
-     717,   718,   719,   720,   711,   653,     6,     3,   716,     4,
-       4,     4,   721,     3,     8,   176,   177,   266,   351,   353,
-     530,   532,   654,   655,   656,   658,   652,     4,   234,   232,
-     232,     4,   714,   657,   659,     3,     8,   231,   231,     4,
-       4,   655,   231,   231
+     358,   435,   447,   449,   451,   453,   455,   457,   458,   459,
+     461,   468,   469,   496,   530,   532,   578,   466,   393,   399,
+       4,     4,   385,   124,   125,   126,   127,   266,   278,   279,
+     280,   281,   282,   283,   358,   496,   530,   532,   586,   587,
+     588,   589,   590,   592,   594,   595,   584,   559,   555,   419,
+     415,   232,   232,   232,   232,   232,   232,   428,     4,     4,
+     232,   232,   232,   599,   234,   232,   232,   407,     4,     4,
+       4,   232,     4,   234,     4,   618,   617,   615,   234,     4,
+     232,     4,   664,   207,   209,   210,   266,   358,   530,   532,
+     704,   705,   706,   707,   709,   702,   234,   726,     6,     3,
+     525,   521,   542,   538,   231,   231,   231,   231,    39,    40,
+      41,   370,   231,   231,   231,   231,     8,     8,     8,     8,
+       3,     8,   231,   231,   591,   593,     4,     4,     8,     3,
+       8,     8,   150,   151,   152,   602,   231,   165,   166,   167,
+     621,   231,   231,     7,     5,     8,   231,   251,   710,     4,
+     708,     3,     8,   231,     8,     8,   469,     4,     4,   234,
+     234,   588,    24,   173,   174,   175,   266,   530,   532,   640,
+     641,   642,   645,   647,   649,     7,   630,   631,   632,     4,
+     232,     4,   705,   231,   231,   643,   646,   648,   650,     3,
+       8,   633,     6,     3,     5,   231,     4,     4,     4,     4,
+     641,   180,   266,   358,   530,   532,   634,   635,   636,   632,
+       7,   711,   712,   172,   644,   231,   231,     5,   637,     3,
+       8,   713,     3,     6,     7,   651,   652,   653,     4,   635,
+     208,   211,   212,   213,   214,   714,   715,   716,   718,   719,
+     720,   721,   712,   654,     6,     3,   231,   717,     4,     4,
+       4,   722,     3,     8,   176,   177,   266,   351,   353,   530,
+     532,   655,   656,   657,   659,   653,     4,   234,   232,   232,
+       4,   715,   658,   660,     3,     8,   231,   231,     4,     4,
+     656,   231,   231
   };
 
   const short
@@ -6530,22 +6520,22 @@ namespace isc { namespace dhcp {
      618,   618,   618,   618,   618,   620,   619,   621,   621,   621,
      623,   622,   625,   624,   626,   627,   629,   628,   630,   630,
      631,   631,   631,   633,   632,   634,   634,   634,   635,   635,
-     635,   635,   635,   636,   251,   638,   637,   639,   639,   639,
-     640,   640,   640,   640,   640,   640,   640,   642,   641,   643,
-     645,   644,   647,   646,   649,   648,   650,   650,   651,   651,
-     651,   653,   652,   654,   654,   654,   655,   655,   655,   655,
-     655,   655,   655,   657,   656,   659,   658,   661,   660,   662,
-     662,   662,   663,   663,   663,   663,   663,   663,   664,   666,
-     665,   667,   669,   668,   671,   670,   673,   672,   674,   674,
-     674,   675,   675,   675,   675,   675,   675,   675,   675,   675,
-     675,   675,   676,   678,   677,   679,   681,   680,   682,   683,
-     685,   684,   686,   686,   688,   687,   690,   689,   692,   691,
-     693,   693,   693,   694,   694,   696,   695,   697,   699,   698,
-     700,   700,   700,   702,   701,   703,   703,   703,   704,   704,
-     704,   704,   704,   704,   704,   705,   707,   706,   709,   708,
-     710,   710,   710,   712,   711,   713,   713,   713,   714,   714,
-     714,   714,   714,   716,   715,   717,   718,   719,   721,   720,
-     723,   722,   724,   724,   724,   725,   725,   726
+     635,   635,   635,   637,   636,   639,   638,   640,   640,   640,
+     641,   641,   641,   641,   641,   641,   641,   643,   642,   644,
+     646,   645,   648,   647,   650,   649,   651,   651,   652,   652,
+     652,   654,   653,   655,   655,   655,   656,   656,   656,   656,
+     656,   656,   656,   658,   657,   660,   659,   662,   661,   663,
+     663,   663,   664,   664,   664,   664,   664,   664,   665,   667,
+     666,   668,   670,   669,   672,   671,   674,   673,   675,   675,
+     675,   676,   676,   676,   676,   676,   676,   676,   676,   676,
+     676,   676,   677,   679,   678,   680,   682,   681,   683,   684,
+     686,   685,   687,   687,   689,   688,   691,   690,   693,   692,
+     694,   694,   694,   695,   695,   697,   696,   698,   700,   699,
+     701,   701,   701,   703,   702,   704,   704,   704,   705,   705,
+     705,   705,   705,   705,   705,   706,   708,   707,   710,   709,
+     711,   711,   711,   713,   712,   714,   714,   714,   715,   715,
+     715,   715,   715,   717,   716,   718,   719,   720,   722,   721,
+     724,   723,   725,   725,   725,   726,   726,   727
   };
 
   const signed char
@@ -6837,23 +6827,24 @@ namespace isc { namespace dhcp {
   "control_socket_address", "$@120", "control_socket_port",
   "cert_required", "http_headers", "$@121", "http_header_list",
   "not_empty_http_header_list", "http_header", "$@122",
-  "http_header_params", "http_header_param", "$@123", "authentication",
-  "$@124", "auth_params", "auth_param", "auth_type", "$@125",
-  "auth_type_value", "realm", "$@126", "directory", "$@127", "clients",
-  "$@128", "clients_list", "not_empty_clients_list", "basic_auth", "$@129",
-  "clients_params", "clients_param", "user_file", "$@130", "password_file",
-  "$@131", "dhcp_queue_control", "$@132", "queue_control_params",
-  "queue_control_param", "enable_queue", "queue_type", "$@133", "capacity",
-  "arbitrary_map_entry", "$@134", "dhcp_ddns", "$@135", "sub_dhcp_ddns",
-  "$@136", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
-  "server_ip", "$@137", "server_port", "sender_ip", "$@138", "sender_port",
-  "max_queue_size", "ncr_protocol", "$@139", "ncr_protocol_value",
-  "ncr_format", "$@140", "config_control", "$@141", "sub_config_control",
-  "$@142", "config_control_params", "config_control_param",
-  "config_databases", "$@143", "config_fetch_wait_time", "loggers",
-  "$@144", "loggers_entries", "logger_entry", "$@145", "logger_params",
-  "logger_param", "debuglevel", "severity", "$@146", "output_options_list",
-  "$@147", "output_options_list_content", "output_entry", "$@148",
+  "http_header_params", "http_header_param", "header_value", "$@123",
+  "authentication", "$@124", "auth_params", "auth_param", "auth_type",
+  "$@125", "auth_type_value", "realm", "$@126", "directory", "$@127",
+  "clients", "$@128", "clients_list", "not_empty_clients_list",
+  "basic_auth", "$@129", "clients_params", "clients_param", "user_file",
+  "$@130", "password_file", "$@131", "dhcp_queue_control", "$@132",
+  "queue_control_params", "queue_control_param", "enable_queue",
+  "queue_type", "$@133", "capacity", "arbitrary_map_entry", "$@134",
+  "dhcp_ddns", "$@135", "sub_dhcp_ddns", "$@136", "dhcp_ddns_params",
+  "dhcp_ddns_param", "enable_updates", "server_ip", "$@137", "server_port",
+  "sender_ip", "$@138", "sender_port", "max_queue_size", "ncr_protocol",
+  "$@139", "ncr_protocol_value", "ncr_format", "$@140", "config_control",
+  "$@141", "sub_config_control", "$@142", "config_control_params",
+  "config_control_param", "config_databases", "$@143",
+  "config_fetch_wait_time", "loggers", "$@144", "loggers_entries",
+  "logger_entry", "$@145", "logger_params", "logger_param", "debuglevel",
+  "severity", "$@146", "output_options_list", "$@147",
+  "output_options_list_content", "output_entry", "$@148",
   "output_params_list", "output_params", "output", "$@149", "flush",
   "maxsize", "maxver", "pattern", "$@150", "compatibility", "$@151",
   "compatibility_params", "compatibility_param", "lenient_option_parsing", YY_NULLPTR
@@ -6944,24 +6935,24 @@ namespace isc { namespace dhcp {
     2699,  2699,  2711,  2712,  2715,  2716,  2717,  2722,  2722,  2730,
     2731,  2732,  2737,  2738,  2739,  2740,  2741,  2742,  2743,  2744,
     2745,  2746,  2747,  2748,  2749,  2752,  2752,  2761,  2762,  2763,
-    2766,  2766,  2776,  2776,  2786,  2792,  2798,  2798,  2808,  2809,
-    2812,  2813,  2814,  2819,  2819,  2827,  2828,  2829,  2834,  2835,
-    2836,  2837,  2838,  2841,  2841,  2852,  2852,  2865,  2866,  2867,
-    2872,  2873,  2874,  2875,  2876,  2877,  2878,  2881,  2881,  2889,
-    2892,  2892,  2901,  2901,  2910,  2910,  2921,  2922,  2925,  2926,
-    2927,  2932,  2932,  2940,  2941,  2942,  2947,  2948,  2949,  2950,
-    2951,  2952,  2953,  2956,  2956,  2965,  2965,  2976,  2976,  2989,
-    2990,  2991,  2996,  2997,  2998,  2999,  3000,  3001,  3004,  3010,
-    3010,  3019,  3025,  3025,  3035,  3035,  3048,  3048,  3058,  3059,
-    3060,  3065,  3066,  3067,  3068,  3069,  3070,  3071,  3072,  3073,
-    3074,  3075,  3078,  3084,  3084,  3093,  3099,  3099,  3108,  3114,
-    3120,  3120,  3129,  3130,  3133,  3133,  3144,  3144,  3156,  3156,
-    3166,  3167,  3168,  3174,  3175,  3178,  3178,  3189,  3197,  3197,
-    3210,  3211,  3212,  3218,  3218,  3226,  3227,  3228,  3233,  3234,
-    3235,  3236,  3237,  3238,  3239,  3242,  3248,  3248,  3257,  3257,
-    3268,  3269,  3270,  3275,  3275,  3283,  3284,  3285,  3290,  3291,
-    3292,  3293,  3294,  3297,  3297,  3306,  3312,  3318,  3324,  3324,
-    3333,  3333,  3344,  3345,  3346,  3351,  3352,  3355
+    2766,  2766,  2776,  2776,  2786,  2792,  2798,  2798,  2809,  2810,
+    2813,  2814,  2815,  2820,  2820,  2828,  2829,  2830,  2835,  2836,
+    2837,  2838,  2839,  2842,  2842,  2853,  2853,  2866,  2867,  2868,
+    2873,  2874,  2875,  2876,  2877,  2878,  2879,  2882,  2882,  2890,
+    2893,  2893,  2902,  2902,  2911,  2911,  2922,  2923,  2926,  2927,
+    2928,  2933,  2933,  2941,  2942,  2943,  2948,  2949,  2950,  2951,
+    2952,  2953,  2954,  2957,  2957,  2966,  2966,  2977,  2977,  2990,
+    2991,  2992,  2997,  2998,  2999,  3000,  3001,  3002,  3005,  3011,
+    3011,  3020,  3026,  3026,  3036,  3036,  3049,  3049,  3059,  3060,
+    3061,  3066,  3067,  3068,  3069,  3070,  3071,  3072,  3073,  3074,
+    3075,  3076,  3079,  3085,  3085,  3094,  3100,  3100,  3109,  3115,
+    3121,  3121,  3130,  3131,  3134,  3134,  3145,  3145,  3157,  3157,
+    3167,  3168,  3169,  3175,  3176,  3179,  3179,  3190,  3198,  3198,
+    3211,  3212,  3213,  3219,  3219,  3227,  3228,  3229,  3234,  3235,
+    3236,  3237,  3238,  3239,  3240,  3243,  3249,  3249,  3258,  3258,
+    3269,  3270,  3271,  3276,  3276,  3284,  3285,  3286,  3291,  3292,
+    3293,  3294,  3295,  3298,  3298,  3307,  3313,  3319,  3325,  3325,
+    3334,  3334,  3345,  3346,  3347,  3352,  3353,  3356
   };
 
   void
@@ -6994,9 +6985,9 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy"
 } } // isc::dhcp
-#line 6997 "dhcp6_parser.cc"
+#line 6989 "dhcp6_parser.cc"
 
-#line 3361 "dhcp6_parser.yy"
+#line 3362 "dhcp6_parser.yy"
 
 
 void
index 08a0422765512b70dcfd5939772048900dead043..3cc0c3620625d3ad2cf0562a4ec25ec276214f0d 100644 (file)
@@ -1385,97 +1385,98 @@ namespace isc { namespace dhcp {
         S_633_122 = 633,                         // $@122
         S_http_header_params = 634,              // http_header_params
         S_http_header_param = 635,               // http_header_param
-        S_636_123 = 636,                         // $@123
-        S_authentication = 637,                  // authentication
-        S_638_124 = 638,                         // $@124
-        S_auth_params = 639,                     // auth_params
-        S_auth_param = 640,                      // auth_param
-        S_auth_type = 641,                       // auth_type
-        S_642_125 = 642,                         // $@125
-        S_auth_type_value = 643,                 // auth_type_value
-        S_realm = 644,                           // realm
-        S_645_126 = 645,                         // $@126
-        S_directory = 646,                       // directory
-        S_647_127 = 647,                         // $@127
-        S_clients = 648,                         // clients
-        S_649_128 = 649,                         // $@128
-        S_clients_list = 650,                    // clients_list
-        S_not_empty_clients_list = 651,          // not_empty_clients_list
-        S_basic_auth = 652,                      // basic_auth
-        S_653_129 = 653,                         // $@129
-        S_clients_params = 654,                  // clients_params
-        S_clients_param = 655,                   // clients_param
-        S_user_file = 656,                       // user_file
-        S_657_130 = 657,                         // $@130
-        S_password_file = 658,                   // password_file
-        S_659_131 = 659,                         // $@131
-        S_dhcp_queue_control = 660,              // dhcp_queue_control
-        S_661_132 = 661,                         // $@132
-        S_queue_control_params = 662,            // queue_control_params
-        S_queue_control_param = 663,             // queue_control_param
-        S_enable_queue = 664,                    // enable_queue
-        S_queue_type = 665,                      // queue_type
-        S_666_133 = 666,                         // $@133
-        S_capacity = 667,                        // capacity
-        S_arbitrary_map_entry = 668,             // arbitrary_map_entry
-        S_669_134 = 669,                         // $@134
-        S_dhcp_ddns = 670,                       // dhcp_ddns
-        S_671_135 = 671,                         // $@135
-        S_sub_dhcp_ddns = 672,                   // sub_dhcp_ddns
-        S_673_136 = 673,                         // $@136
-        S_dhcp_ddns_params = 674,                // dhcp_ddns_params
-        S_dhcp_ddns_param = 675,                 // dhcp_ddns_param
-        S_enable_updates = 676,                  // enable_updates
-        S_server_ip = 677,                       // server_ip
-        S_678_137 = 678,                         // $@137
-        S_server_port = 679,                     // server_port
-        S_sender_ip = 680,                       // sender_ip
-        S_681_138 = 681,                         // $@138
-        S_sender_port = 682,                     // sender_port
-        S_max_queue_size = 683,                  // max_queue_size
-        S_ncr_protocol = 684,                    // ncr_protocol
-        S_685_139 = 685,                         // $@139
-        S_ncr_protocol_value = 686,              // ncr_protocol_value
-        S_ncr_format = 687,                      // ncr_format
-        S_688_140 = 688,                         // $@140
-        S_config_control = 689,                  // config_control
-        S_690_141 = 690,                         // $@141
-        S_sub_config_control = 691,              // sub_config_control
-        S_692_142 = 692,                         // $@142
-        S_config_control_params = 693,           // config_control_params
-        S_config_control_param = 694,            // config_control_param
-        S_config_databases = 695,                // config_databases
-        S_696_143 = 696,                         // $@143
-        S_config_fetch_wait_time = 697,          // config_fetch_wait_time
-        S_loggers = 698,                         // loggers
-        S_699_144 = 699,                         // $@144
-        S_loggers_entries = 700,                 // loggers_entries
-        S_logger_entry = 701,                    // logger_entry
-        S_702_145 = 702,                         // $@145
-        S_logger_params = 703,                   // logger_params
-        S_logger_param = 704,                    // logger_param
-        S_debuglevel = 705,                      // debuglevel
-        S_severity = 706,                        // severity
-        S_707_146 = 707,                         // $@146
-        S_output_options_list = 708,             // output_options_list
-        S_709_147 = 709,                         // $@147
-        S_output_options_list_content = 710,     // output_options_list_content
-        S_output_entry = 711,                    // output_entry
-        S_712_148 = 712,                         // $@148
-        S_output_params_list = 713,              // output_params_list
-        S_output_params = 714,                   // output_params
-        S_output = 715,                          // output
-        S_716_149 = 716,                         // $@149
-        S_flush = 717,                           // flush
-        S_maxsize = 718,                         // maxsize
-        S_maxver = 719,                          // maxver
-        S_pattern = 720,                         // pattern
-        S_721_150 = 721,                         // $@150
-        S_compatibility = 722,                   // compatibility
-        S_723_151 = 723,                         // $@151
-        S_compatibility_params = 724,            // compatibility_params
-        S_compatibility_param = 725,             // compatibility_param
-        S_lenient_option_parsing = 726           // lenient_option_parsing
+        S_header_value = 636,                    // header_value
+        S_637_123 = 637,                         // $@123
+        S_authentication = 638,                  // authentication
+        S_639_124 = 639,                         // $@124
+        S_auth_params = 640,                     // auth_params
+        S_auth_param = 641,                      // auth_param
+        S_auth_type = 642,                       // auth_type
+        S_643_125 = 643,                         // $@125
+        S_auth_type_value = 644,                 // auth_type_value
+        S_realm = 645,                           // realm
+        S_646_126 = 646,                         // $@126
+        S_directory = 647,                       // directory
+        S_648_127 = 648,                         // $@127
+        S_clients = 649,                         // clients
+        S_650_128 = 650,                         // $@128
+        S_clients_list = 651,                    // clients_list
+        S_not_empty_clients_list = 652,          // not_empty_clients_list
+        S_basic_auth = 653,                      // basic_auth
+        S_654_129 = 654,                         // $@129
+        S_clients_params = 655,                  // clients_params
+        S_clients_param = 656,                   // clients_param
+        S_user_file = 657,                       // user_file
+        S_658_130 = 658,                         // $@130
+        S_password_file = 659,                   // password_file
+        S_660_131 = 660,                         // $@131
+        S_dhcp_queue_control = 661,              // dhcp_queue_control
+        S_662_132 = 662,                         // $@132
+        S_queue_control_params = 663,            // queue_control_params
+        S_queue_control_param = 664,             // queue_control_param
+        S_enable_queue = 665,                    // enable_queue
+        S_queue_type = 666,                      // queue_type
+        S_667_133 = 667,                         // $@133
+        S_capacity = 668,                        // capacity
+        S_arbitrary_map_entry = 669,             // arbitrary_map_entry
+        S_670_134 = 670,                         // $@134
+        S_dhcp_ddns = 671,                       // dhcp_ddns
+        S_672_135 = 672,                         // $@135
+        S_sub_dhcp_ddns = 673,                   // sub_dhcp_ddns
+        S_674_136 = 674,                         // $@136
+        S_dhcp_ddns_params = 675,                // dhcp_ddns_params
+        S_dhcp_ddns_param = 676,                 // dhcp_ddns_param
+        S_enable_updates = 677,                  // enable_updates
+        S_server_ip = 678,                       // server_ip
+        S_679_137 = 679,                         // $@137
+        S_server_port = 680,                     // server_port
+        S_sender_ip = 681,                       // sender_ip
+        S_682_138 = 682,                         // $@138
+        S_sender_port = 683,                     // sender_port
+        S_max_queue_size = 684,                  // max_queue_size
+        S_ncr_protocol = 685,                    // ncr_protocol
+        S_686_139 = 686,                         // $@139
+        S_ncr_protocol_value = 687,              // ncr_protocol_value
+        S_ncr_format = 688,                      // ncr_format
+        S_689_140 = 689,                         // $@140
+        S_config_control = 690,                  // config_control
+        S_691_141 = 691,                         // $@141
+        S_sub_config_control = 692,              // sub_config_control
+        S_693_142 = 693,                         // $@142
+        S_config_control_params = 694,           // config_control_params
+        S_config_control_param = 695,            // config_control_param
+        S_config_databases = 696,                // config_databases
+        S_697_143 = 697,                         // $@143
+        S_config_fetch_wait_time = 698,          // config_fetch_wait_time
+        S_loggers = 699,                         // loggers
+        S_700_144 = 700,                         // $@144
+        S_loggers_entries = 701,                 // loggers_entries
+        S_logger_entry = 702,                    // logger_entry
+        S_703_145 = 703,                         // $@145
+        S_logger_params = 704,                   // logger_params
+        S_logger_param = 705,                    // logger_param
+        S_debuglevel = 706,                      // debuglevel
+        S_severity = 707,                        // severity
+        S_708_146 = 708,                         // $@146
+        S_output_options_list = 709,             // output_options_list
+        S_710_147 = 710,                         // $@147
+        S_output_options_list_content = 711,     // output_options_list_content
+        S_output_entry = 712,                    // output_entry
+        S_713_148 = 713,                         // $@148
+        S_output_params_list = 714,              // output_params_list
+        S_output_params = 715,                   // output_params
+        S_output = 716,                          // output
+        S_717_149 = 717,                         // $@149
+        S_flush = 718,                           // flush
+        S_maxsize = 719,                         // maxsize
+        S_maxver = 720,                          // maxver
+        S_pattern = 721,                         // pattern
+        S_722_150 = 722,                         // $@150
+        S_compatibility = 723,                   // compatibility
+        S_724_151 = 724,                         // $@151
+        S_compatibility_params = 725,            // compatibility_params
+        S_compatibility_param = 726,             // compatibility_param
+        S_lenient_option_parsing = 727           // lenient_option_parsing
       };
     };
 
@@ -5737,8 +5738,8 @@ switch (yykind)
     /// Constants.
     enum
     {
-      yylast_ = 1649,     ///< Last index in yytable_.
-      yynnts_ = 492,  ///< Number of nonterminal symbols.
+      yylast_ = 1599,     ///< Last index in yytable_.
+      yynnts_ = 493,  ///< Number of nonterminal symbols.
       yyfinal_ = 30 ///< Termination state number.
     };
 
@@ -5982,7 +5983,7 @@ switch (yykind)
 
 #line 14 "dhcp6_parser.yy"
 } } // isc::dhcp
-#line 5986 "dhcp6_parser.h"
+#line 5987 "dhcp6_parser.h"
 
 
 
index d7bfc0ac127f795da22c61baf8b528a4469b5b8d..3dd994d1252df2009955b4216c6d64f6a3592907 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 202411131006
+// Generated 202411151018
 // A Bison parser, made by GNU Bison 3.8.2.
 
 // Locations for Bison parsers in C++