]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3448] fixed netconf master
authorRazvan Becheriu <razvan@isc.org>
Mon, 20 Apr 2026 17:50:57 +0000 (20:50 +0300)
committerRazvan Becheriu <razvan@isc.org>
Mon, 20 Apr 2026 17:50:57 +0000 (20:50 +0300)
src/bin/d2/d2_lexer.cc
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/netconf/netconf_lexer.cc
src/bin/netconf/netconf_lexer.ll
src/bin/netconf/netconf_parser.cc
src/bin/netconf/netconf_parser.h
src/bin/netconf/netconf_parser.yy
src/lib/eval/lexer.cc

index 92e386daa044963e7e9cac805169cb5d2d2eb168..1e56767ffbb43ff890c5a4bd045149841571ae37 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "d2_lexer.cc"
+#line 2 "d2_lexer.cc"
 
 
-#line 3 "d2_lexer.cc"
+#line 4 "d2_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define  YY_INT_ALIGNED short int
 
@@ -1214,7 +1214,7 @@ unsigned int comment_start_line = 0;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1217 "d2_lexer.cc"
+#line 1218 "d2_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1240,8 +1240,8 @@ unsigned int comment_start_line = 0;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 1243 "d2_lexer.cc"
 #line 1244 "d2_lexer.cc"
 #line 1244 "d2_lexer.cc"
+#line 1245 "d2_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1561,7 +1561,7 @@ YY_DECL
     }
 
 
     }
 
 
-#line 1564 "d2_lexer.cc"
+#line 1565 "d2_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2812,7 +2812,7 @@ YY_RULE_SETUP
 #line 1022 "d2_lexer.ll"
 ECHO;
        YY_BREAK
 #line 1022 "d2_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2815 "d2_lexer.cc"
+#line 2816 "d2_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
 
        case YY_END_OF_BUFFER:
                {
index 7e602585adab3efa430c847f17475e36d39daf1e..9d7e68689e50d453631e87ccab04fe9d42250281 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "dhcp4_lexer.cc"
+#line 2 "dhcp4_lexer.cc"
 
 
-#line 3 "dhcp4_lexer.cc"
+#line 4 "dhcp4_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define  YY_INT_ALIGNED short int
 
@@ -2311,7 +2311,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 2314 "dhcp4_lexer.cc"
+#line 2315 "dhcp4_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2337,8 +2337,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 2340 "dhcp4_lexer.cc"
 #line 2341 "dhcp4_lexer.cc"
 #line 2341 "dhcp4_lexer.cc"
+#line 2342 "dhcp4_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2666,7 +2666,7 @@ YY_DECL
     }
 
 
     }
 
 
-#line 2669 "dhcp4_lexer.cc"
+#line 2670 "dhcp4_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6008,7 +6008,7 @@ YY_RULE_SETUP
 #line 2642 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
 #line 2642 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6011 "dhcp4_lexer.cc"
+#line 6012 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
 
        case YY_END_OF_BUFFER:
                {
index fe8b36bb9a526165f295a7e82b6edc1227a327b2..aabce984479645c3c63b1f30f6945ff5ecaa7d6b 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "dhcp6_lexer.cc"
+#line 2 "dhcp6_lexer.cc"
 
 
-#line 3 "dhcp6_lexer.cc"
+#line 4 "dhcp6_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define  YY_INT_ALIGNED short int
 
@@ -2297,7 +2297,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2300 "dhcp6_lexer.cc"
+#line 2301 "dhcp6_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2323,8 +2323,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 2326 "dhcp6_lexer.cc"
 #line 2327 "dhcp6_lexer.cc"
 #line 2327 "dhcp6_lexer.cc"
+#line 2328 "dhcp6_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2654,7 +2654,7 @@ YY_DECL
     }
 
 
     }
 
 
-#line 2657 "dhcp6_lexer.cc"
+#line 2658 "dhcp6_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6048,7 +6048,7 @@ YY_RULE_SETUP
 #line 2684 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
 #line 2684 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6051 "dhcp6_lexer.cc"
+#line 6052 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
 
        case YY_END_OF_BUFFER:
                {
index 3184004df43dccdded4071516c1133dcd4e8a892..1dd9cc1d8993bdbdb1fea98552be51fd5f574615 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "netconf_lexer.cc"
+#line 2 "netconf_lexer.cc"
 
 
-#line 3 "netconf_lexer.cc"
+#line 4 "netconf_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define  YY_INT_ALIGNED short int
 
@@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg  );
 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
        (yy_c_buf_p) = yy_cp;
 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
        (yy_c_buf_p) = yy_cp;
 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 64
-#define YY_END_OF_BUFFER 65
+#define YY_NUM_RULES 63
+#define YY_END_OF_BUFFER 64
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -700,48 +700,48 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static const flex_int16_t yy_accept[371] =
+static const flex_int16_t yy_accept[369] =
     {   0,
     {   0,
-       57,   57,    0,    0,    0,    0,    0,    0,    0,    0,
-       65,   63,   10,   11,   63,    1,   57,   54,   57,   57,
-       63,   56,   55,   63,   63,   63,   63,   63,   50,   51,
-       63,   63,   63,   52,   53,    5,    5,    5,   63,   63,
-       63,   10,   11,    0,    0,   45,    0,    0,    0,    0,
+       56,   56,    0,    0,    0,    0,    0,    0,    0,    0,
+       64,   62,   10,   11,   62,    1,   56,   53,   56,   56,
+       62,   55,   54,   62,   62,   62,   62,   62,   49,   50,
+       62,   62,   62,   51,   52,    5,    5,    5,   62,   62,
+       62,   10,   11,    0,    0,   44,    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,    1,   57,   57,    0,   56,   57,    3,    2,    6,
-        0,   57,    0,    0,    0,    0,    0,    0,    4,    0,
-        0,    9,    0,   46,    0,    0,    0,   48,    0,    0,
+        0,    1,   56,   56,    0,   55,   56,    3,    2,    6,
+        0,   56,    0,    0,    0,    0,    0,    0,    4,    0,
+        0,    9,    0,   45,    0,    0,    0,   47,    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,    2,    0,    0,    0,    0,    0,    0,    0,
-        8,    0,    0,   47,   49,    0,    0,   22,    0,    0,
-       21,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    2,    0,    0,    0,    0,    0,    0,    0,    8,
+        0,    0,   46,   48,    0,    0,    0,    0,   21,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   62,   60,    0,   59,   58,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   61,   59,    0,   58,   57,    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,   61,   58,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-
-        0,    0,    0,    0,    0,    0,   35,    0,    0,    0,
-        0,    0,    0,    0,   25,    0,    0,    0,    0,    0,
-        0,    0,    0,   19,   20,   39,    0,    0,    0,    0,
-        0,    0,   23,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    7,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   41,   38,    0,    0,    0,    0,    0,
-        0,   27,    0,    0,    0,   12,    0,   14,    0,    0,
-        0,   32,   34,    0,   40,    0,    0,    0,   42,    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,   44,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   60,   57,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   25,    0,    0,
+
+        0,    0,    0,    0,   34,    0,    0,    0,    0,    0,
+        0,    0,   24,    0,    0,    0,    0,    0,    0,    0,
+        0,   19,   20,   38,    0,    0,    0,    0,    0,    0,
+       22,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        7,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   40,   37,    0,    0,    0,    0,    0,    0,   26,
+        0,    0,    0,   12,    0,   14,    0,    0,    0,   31,
+       33,    0,   39,    0,    0,    0,   41,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   43,    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,   43,    0,    0,
-        0,    0,   33,    0,    0,   30,    0,    0,    0,   15,
-        0,    0,    0,    0,    0,   29,   28,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   13,    0,    0,    0,
-        0,    0,    0,    0,    0,   24,    0,    0,   37,   36,
-        0,    0,   31,   18,    0,    0,    0,   17,   16,    0
+        0,    0,    0,    0,    0,   42,    0,    0,    0,    0,
+       32,    0,    0,   29,    0,    0,    0,   15,    0,    0,
+        0,    0,    0,   28,   27,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   13,    0,    0,    0,    0,    0,
+        0,    0,    0,   23,    0,    0,   36,   35,    0,    0,
+       30,   18,    0,    0,    0,   17,   16,    0
     } ;
 
 static const YY_CHAR yy_ec[256] =
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -786,97 +786,97 @@ static const YY_CHAR yy_meta[61] =
         4,    1,    4,    4,    1,    1,    1,    1,    1,    1
     } ;
 
         4,    1,    4,    4,    1,    1,    1,    1,    1,    1
     } ;
 
-static const flex_int16_t yy_base[380] =
+static const flex_int16_t yy_base[378] =
     {   0,
         0,    0,   59,   62,   65,    0,   63,   67,   47,   64,
     {   0,
         0,    0,   59,   62,   65,    0,   63,   67,   47,   64,
-      286, 2508,   84,  259,  125,    0,  105, 2508,  120,  125,
-       85,  169, 2508,  238,  139,   65,   69,   82, 2508, 2508,
-       80,   84,  118, 2508, 2508, 2508,   92,  205,  168,    0,
-      193,  110,  205,   97,  186, 2508,  193,  184,  201,  209,
+      283, 2475,   84,  259,  125,    0,  105, 2475,  120,  125,
+       85,  169, 2475,  231,  139,   65,   69,   82, 2475, 2475,
+       80,   84,  118, 2475, 2475, 2475,   92,  205,  168,    0,
+      193,  110,  205,   97,  186, 2475,  193,  184,  201,  209,
       221,  238,  245,  264,  254,  271,  279,  290,  299,  308,
       221,  238,  245,  264,  254,  271,  279,  290,  299,  308,
-      314,    0,  314,  347,  358,  364,  368, 2508,    0, 2508,
-      214,  320,  121,  152,  128,  174,  217,  160, 2508,  168,
-      199, 2508,  137, 2508,    0,  388,  195,  394,  436,  400,
-      410,  422,  429,  462,  477,  483,  490,  499,  505,  511,
-
-      518,  524,  544,  553,  559,  566,  578,  587,  594,  601,
-      616,  622,    0,  223,  223,  255,  224,  242,  259,  130,
-     2508,  634,  155, 2508, 2508,  659,  656, 2508,  645,  684,
-     2508,  700,  709,  717,  723,  729,  737,  743,  771,  780,
-      788,  794,  800,  808,  814,  823,  836,  851,  858,  869,
-      876,  884,  282, 2508, 2508,  300, 2508, 2508,  103,  891,
-      927,  902,  913,  928,  953,  968,  974,  986,  996, 1003,
-     1009, 1019, 1025, 1031, 1042, 1053, 1064, 1075, 1081, 1090,
-     1097, 1103, 1109, 1123, 1132, 1143, 2508, 2508,  112, 1152,
-     1187, 1160, 1172, 1166, 1185, 1231, 1237, 1243, 1249, 2508,
-
-     1255, 1265, 1271, 1277, 1288, 1294, 2508, 1311, 1317, 1323,
-     1335, 1345, 1352, 1359, 2508, 1369, 1380,   64, 1387, 1393,
-     1416, 1428, 1435, 2508, 2508, 2508, 1444, 1450, 1456, 1464,
-     1478, 1490, 2508, 1498, 1511, 1518, 1524, 1534, 1540, 1546,
-     1552, 1559, 2508, 1569, 1580, 1592, 1603, 1614, 1620, 1626,
-     1632, 1638, 1649, 2508, 2508, 1655, 1672, 1678, 1684, 1690,
-     1696, 2508, 1706, 1713, 1724, 2508, 1730, 2508, 1739, 1750,
-     1767, 2508, 2508, 1773, 2508, 1779, 1786, 1793, 2508, 1807,
-     1814, 1821, 1829, 1836, 1850, 1857, 1864, 1871, 1883, 1890,
-     1899, 1905, 1912, 1924, 2508, 1934, 1941, 1947, 1953, 1967,
-
-     1976, 1982, 1993, 2000, 2010, 2017, 2026, 2033, 2039, 2046,
-     2052, 2061, 2072, 2081, 2087, 2094, 2100, 2508, 2106, 2115,
-     2122, 2140, 2508, 2148, 2157, 2508, 2163, 2174, 2181, 2508,
-     2191, 2197, 2207, 2217, 2231, 2508, 2508, 2242, 2250, 2256,
-     2265, 2279, 2289, 2299, 2305, 2314, 2508, 2322, 2328, 2340,
-     2347, 2357, 2364, 2373, 2380, 2508, 2392, 2399, 2508, 2508,
-     2406, 2415, 2508, 2508, 2421, 2427, 2435, 2508, 2508, 2508,
-     2473, 2477, 2481, 2485, 2489, 2493, 2497, 2499, 2503
+      314,    0,  314,  347,  358,  364,  368, 2475,    0, 2475,
+      214,  320,  121,  152,  128,  174,  217,  160, 2475,  168,
+      199, 2475,  137, 2475,    0,  388,  195,  394,  436,  400,
+      422,  410,  429,  462,  477,  483,  490,  496,  502,  512,
+
+      518,  536,  546,  552,  560,  569,  575,  585,  594,  610,
+      618,    0,  216,  223,  235,  224,  253,  282,  130, 2475,
+      627,  155, 2475, 2475,  652,  646,  638,  653, 2475,  681,
+      694,  701,  707,  714,  722,  730,  748,  736,  756,  764,
+      773,  784,  792,  799,  807,  813,  825,  832,  841,  847,
+      300, 2475, 2475,  303, 2475, 2475,  103,  853,  889,  865,
+      914,  930,  936,  942,  949,  964,  970,  982,  988,  998,
+     1004, 1011, 1021, 1032, 1040, 1054, 1060, 1069, 1075, 1083,
+     1089, 1103, 1122, 1111, 2475, 2475,  112, 1128, 1163, 1137,
+     1150, 1156, 1162, 1191, 1208, 1214, 1220, 2475, 1226, 1232,
+
+     1242, 1248, 1254, 1260, 2475, 1266, 1283, 1289, 1295, 1301,
+     1308, 1323, 2475, 1329, 1342,   64, 1349, 1362, 1370, 1378,
+     1385, 2475, 2475, 2475, 1395, 1403, 1413, 1428, 1436, 1442,
+     2475, 1448, 1471, 1483, 1489, 1495, 1506, 1512, 1524, 1531,
+     2475, 1545, 1552, 1559, 1565, 1580, 1587, 1593, 1599, 1605,
+     1616, 2475, 2475, 1622, 1639, 1645, 1651, 1657, 1663, 2475,
+     1673, 1680, 1691, 2475, 1697, 2475, 1706, 1717, 1734, 2475,
+     2475, 1740, 2475, 1746, 1753, 1760, 2475, 1774, 1781, 1788,
+     1796, 1803, 1817, 1824, 1831, 1838, 1850, 1857, 1866, 1872,
+     1879, 1891, 2475, 1901, 1908, 1914, 1920, 1934, 1943, 1949,
+
+     1960, 1967, 1977, 1984, 1993, 2000, 2006, 2013, 2019, 2028,
+     2039, 2048, 2054, 2061, 2067, 2475, 2073, 2082, 2089, 2107,
+     2475, 2115, 2124, 2475, 2130, 2141, 2148, 2475, 2158, 2164,
+     2174, 2184, 2198, 2475, 2475, 2209, 2217, 2223, 2232, 2246,
+     2256, 2266, 2272, 2281, 2475, 2289, 2295, 2307, 2314, 2324,
+     2331, 2340, 2347, 2475, 2359, 2366, 2475, 2475, 2373, 2382,
+     2475, 2475, 2388, 2394, 2402, 2475, 2475, 2475, 2440, 2444,
+     2448, 2452, 2456, 2460, 2464, 2466, 2470
     } ;
 
     } ;
 
-static const flex_int16_t yy_def[380] =
+static const flex_int16_t yy_def[378] =
     {   0,
     {   0,
-      370,    1,  371,  371,    1,    5,    5,    5,    5,    5,
-      370,  370,  370,  370,  372,  373,  370,  370,  370,  370,
+      368,    1,  369,  369,    1,    5,    5,    5,    5,    5,
+      368,  368,  368,  368,  370,  371,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  372,
+      368,  368,  368,  373,  370,  368,  370,  374,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  371,  368,  368,  368,  368,  368,  368,  375,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      372,  368,  373,  368,  376,  370,  377,  370,  374,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  375,  368,  368,  368,  368,  368,  368,  368,  368,
+      370,  377,  368,  368,   89,  370,  370,  370,  368,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  374,
-      370,  370,  370,  375,  372,  370,  372,  376,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  373,  370,  370,  370,  370,  370,  370,  377,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      374,  370,  375,  370,  378,  372,  379,  372,  376,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  377,  370,  370,  370,  370,  370,  370,  370,
-      370,  372,  379,  370,  370,   89,  372,  370,  372,  372,
-      370,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  370,  370,  370,  370,  370,  370,  370,  372,
-       89,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  370,  370,  370,  372,
-       89,  372,  372,  372,  372,  372,  372,  372,  372,  370,
-
-      372,  372,  372,  372,  372,  372,  370,  372,  372,  372,
-      372,  372,  372,  372,  370,  372,  372,  370,  372,  372,
-      372,  372,  372,  370,  370,  370,  372,  372,  372,  372,
-      372,  372,  370,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  370,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  370,  370,  372,  372,  372,  372,  372,
-      372,  370,  372,  372,  372,  370,  372,  370,  372,  372,
-      372,  370,  370,  372,  370,  372,  372,  372,  370,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  370,  372,  372,  372,  372,  372,
-
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  370,  372,  372,
-      372,  372,  370,  372,  372,  370,  372,  372,  372,  370,
-      372,  372,  372,  372,  372,  370,  370,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  370,  372,  372,  372,
-      372,  372,  372,  372,  372,  370,  372,  372,  370,  370,
-      372,  372,  370,  370,  372,  372,  372,  370,  370,    0,
-      370,  370,  370,  370,  370,  370,  370,  370,  370
+      368,  368,  368,  368,  368,  368,  368,  370,   89,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  368,  368,  368,  370,   89,  370,
+      370,  370,  370,  370,  370,  370,  370,  368,  370,  370,
+
+      370,  370,  370,  370,  368,  370,  370,  370,  370,  370,
+      370,  370,  368,  370,  370,  368,  370,  370,  370,  370,
+      370,  368,  368,  368,  370,  370,  370,  370,  370,  370,
+      368,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      368,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  368,  368,  370,  370,  370,  370,  370,  370,  368,
+      370,  370,  370,  368,  370,  368,  370,  370,  370,  368,
+      368,  370,  368,  370,  370,  370,  368,  370,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  368,  370,  370,  370,  370,  370,  370,  370,
+
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  370,  368,  370,  370,  370,  370,
+      368,  370,  370,  368,  370,  370,  370,  368,  370,  370,
+      370,  370,  370,  368,  368,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  368,  370,  370,  370,  370,  370,
+      370,  370,  370,  368,  370,  370,  368,  368,  370,  370,
+      368,  368,  370,  370,  370,  368,  368,    0,  368,  368,
+      368,  368,  368,  368,  368,  368,  368
     } ;
 
     } ;
 
-static const flex_int16_t yy_nxt[2569] =
+static const flex_int16_t yy_nxt[2536] =
     {   0,
        12,   13,   14,   13,   12,   15,   16,   12,   17,   18,
        19,   20,   21,   22,   22,   22,   22,   23,   24,   12,
     {   0,
        12,   13,   14,   13,   12,   15,   16,   12,   17,   18,
        19,   20,   21,   22,   22,   22,   22,   23,   24,   12,
@@ -889,280 +889,277 @@ static const flex_int16_t yy_nxt[2569] =
        12,   12,   12,   12,   41,   42,   73,   42,   12,   12,
        12,   12,   68,   42,   12,   42,   12,   69,   12,   74,
 
        12,   12,   12,   12,   41,   42,   73,   42,   12,   12,
        12,   12,   68,   42,   12,   42,   12,   69,   12,   74,
 
-       73,   73,   84,  243,   12,   12,   12,   12,   39,   75,
+       73,   73,   84,  241,   12,   12,   12,   12,   39,   75,
        12,   42,   12,   42,   74,   76,   63,   12,   64,   64,
        64,   64,   74,   12,   12,   44,   44,   44,   65,   85,
        46,   63,   75,   66,   66,   66,   66,   77,   67,   67,
        12,   42,   12,   42,   74,   76,   63,   12,   64,   64,
        64,   64,   74,   12,   12,   44,   44,   44,   65,   85,
        46,   63,   75,   66,   66,   66,   66,   77,   67,   67,
-       67,   67,   84,   65,   65,   75,  114,   71,   65,   71,
-      218,   47,   72,   72,   72,   72,  189,   48,  116,   65,
-      124,   49,   50,   51,   65,   52,  114,   53,   78,   85,
-       54,   55,   56,   57,   58,  159,   59,  115,   60,   61,
-       63,  116,   66,   66,   66,   66,   44,   44,   44,   88,
-      116,   46,   65,   44,   44,   44,   45,  115,   46,  114,
-
-      124,   44,   44,   44,  121,  120,   46,   43,   65,   44,
-       44,   44,   82,  119,   46,   80,   45,   79,   48,  117,
+       67,   67,   84,   65,   65,   75,  113,   71,   65,   71,
+      216,   47,   72,   72,   72,   72,  187,   48,  115,   65,
+      123,   49,   50,   51,   65,   52,  113,   53,   78,   85,
+       54,   55,   56,   57,   58,  157,   59,  114,   60,   61,
+       63,  115,   66,   66,   66,   66,   44,   44,   44,   88,
+      115,   46,   65,   44,   44,   44,   45,  114,   46,  113,
+
+      123,   44,   44,   44,  120,  119,   46,   43,   65,   44,
+       44,   44,   82,  118,   46,   80,   45,   79,   48,  116,
        45,   44,   44,   44,   45,   48,   46,   72,   72,   72,
        45,   44,   44,   44,   45,   48,   46,   72,   72,   72,
-       72,   45,   86,   48,   45,   93,   45,   89,   44,   44,
-       44,   48,  115,   46,   91,   44,   44,   44,  154,   90,
-       46,  153,  153,   48,   44,   44,   44,   92,   70,   46,
-       94,   43,  118,   95,   44,   44,   44,  154,  154,   46,
-       48,   44,   44,   44,  153,  156,   46,   48,  155,   44,
-       44,   44,  155,   96,   46,  370,   48,  157,  370,  101,
-       44,   44,   44,   97,  155,   46,   48,   98,  158,   44,
-
-       44,   44,  102,   48,   46,  187,  103,   99,   44,   44,
-       44,   48,  100,   46,   44,   44,   44,  370,  370,   46,
-      370,  187,   48,  187,  370,  105,  370,   67,   67,   67,
-       67,   48,  104,   72,   72,   72,   72,   65,  106,  188,
-       48,  370,  370,  370,  370,  370,   48,  107,  370,  112,
-      370,  108,  109,   65,  370,  110,  370,  370,   63,  111,
-       64,   64,   64,   64,  370,  370,   71,  370,   71,  370,
-       65,   72,   72,   72,   72,   63,  370,   66,   66,   66,
-       66,   67,   67,   67,   67,  370,   65,   65,   44,   44,
-       44,   65,  370,   46,   44,   44,   44,  370,  370,   46,
-
-       44,   44,   44,   65,  370,   46,  370,   65,  370,  370,
-       44,   44,   44,  370,  370,  128,  370,  370,  370,  370,
-       48,  370,   44,   44,   44,  370,   48,   46,  370,   44,
-       44,   44,   48,  370,  131,  370,  370,  370,  370,  370,
-      122,  125,   48,  370,  370,  370,  370,  370,  127,  126,
-      126,  126,  126,  370,   48,  370,  370,  126,  126,  126,
-      126,   48,   44,   44,   44,  370,  370,   46,  129,  130,
-      370,  126,  126,  126,  126,  126,  126,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,  370,  370,   46,  370,
-       44,   44,   44,  370,   48,   46,  370,  370,  132,   44,
-
-       44,   44,  370,  370,   46,   44,   44,   44,  370,   48,
-       46,   44,   44,   44,  133,   48,   46,  370,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-      370,   48,  370,  370,  370,  370,  134,   48,  135,  370,
-      370,  137,  370,   48,   44,   44,   44,  370,  370,   46,
-       48,  136,  138,   44,   44,   44,   48,  370,   46,   44,
-       44,   44,  141,  370,   46,  139,   44,   44,   44,  370,
-      370,   46,  370,  140,  370,  370,   48,  370,   44,   44,
-       44,  370,  370,   46,  370,   48,  370,   44,   44,   44,
-      142,   48,   46,  370,   44,   44,   44,  370,   48,   46,
-
-      370,   44,   44,   44,  370,  143,   46,  370,  370,  144,
-       48,  145,  370,  370,  370,  147,   44,   44,   44,   48,
-      146,   46,   44,   44,   44,  148,   48,   46,  370,  370,
-      149,  370,  370,   48,   44,   44,   44,  370,  370,   46,
-      370,  370,  370,  370,  150,   44,   44,   44,   48,  370,
-       46,  370,  370,  370,   48,  151,   44,   44,   44,  370,
-      370,   46,  370,  370,  370,  370,   48,  152,  370,  370,
-      370,  160,  161,  161,  161,  161,  370,   48,  370,  370,
-      161,  161,  161,  161,   44,   44,   44,  370,   48,   46,
-      370,  163,  370,  370,  161,  161,  161,  161,  161,  161,
-
-       44,   44,   44,  370,  370,   46,  370,  370,  162,   44,
-       44,   44,  370,  370,   46,  370,   48,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,   46,  370,  164,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  370,   46,   48,
-      370,  370,  370,  165,  370,   48,  370,  370,  166,  370,
-      370,   48,  370,  370,  370,  370,  370,  168,  167,   48,
-      370,   44,   44,   44,  370,   48,   46,  370,  169,  370,
-       44,   44,   44,  370,  171,   46,  370,  170,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,  370,  370,   46,
-
-       44,   44,   44,   48,  370,   46,  172,  370,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-       48,  370,  370,   44,   44,   44,   48,  175,   46,  370,
-      370,  173,   48,  176,  174,  370,   44,   44,   44,  370,
-       48,   46,  370,  178,  370,  370,   48,  370,  370,  177,
-      370,   44,   44,   44,  370,   48,   46,  370,   44,   44,
-       44,  370,  180,   46,  370,  370,  179,  370,   48,   44,
-       44,   44,  370,  370,   46,  370,   44,   44,   44,  370,
-      181,   46,  370,   48,   44,   44,   44,  370,  370,   46,
-       48,   44,   44,   44,  370,  370,   46,  370,  370,  182,
-
-      370,   48,   44,   44,   44,  370,  370,   46,   48,  183,
-      370,  370,  192,   44,   44,   44,   48,  370,   46,  370,
-      370,  370,  370,   48,  184,  370,  185,  186,   44,   44,
-       44,  370,  370,   46,   48,  370,  370,  370,  370,  190,
-      191,  191,  191,  191,  370,   48,  370,  370,  191,  191,
-      191,  191,  193,   44,   44,   44,  370,  370,   46,  370,
-       48,  370,  191,  191,  191,  191,  191,  191,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,  370,  194,   46,
-      370,  370,  370,  196,  197,   48,   44,   44,   44,  370,
-      370,   46,  370,  370,  195,  370,   44,   44,   44,  370,
-
-       48,  200,  370,   44,   44,   44,   48,  370,   46,   44,
-       44,   44,  370,  370,   46,  370,  198,  370,   48,   44,
-       44,   44,  370,  370,   46,   44,   44,   44,   48,  370,
-       46,   44,   44,   44,  370,   48,   46,  199,  201,  370,
-      370,   48,   44,   44,   44,  370,  370,   46,  202,  370,
-      370,   48,  370,   44,   44,   44,  370,   48,  207,  370,
-      203,  370,  370,   48,   44,   44,   44,  370,  204,   46,
-      205,  370,  370,  370,   48,   44,   44,   44,  370,  370,
-       46,   44,   44,   44,  370,   48,   46,  206,  370,  370,
-       44,   44,   44,  370,  370,   46,   48,   44,   44,   44,
-
-      370,  370,   46,   44,   44,   44,  370,   48,   46,   44,
-       44,   44,  370,   48,   46,  370,  370,  208,  370,  370,
-      210,  209,   48,   44,   44,   44,  370,  370,  215,   48,
-      370,  370,   44,   44,   44,   48,  212,   46,  370,  370,
-      211,   48,  216,   44,   44,   44,  214,  370,   46,  370,
-      370,  370,   44,   44,   44,   48,  213,   46,  370,  370,
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  370,
-      370,   46,   44,   44,   44,   48,  370,   46,  370,  370,
-      370,  217,  370,  370,   48,   44,   44,   44,  370,  370,
-       46,  370,   48,  370,  370,  370,  370,  370,   48,  219,
-
-       45,   45,   45,   45,   48,  370,  370,  370,   45,   45,
-       45,   45,  370,  220,  222,  370,  370,   48,  370,  221,
-      370,  370,   45,   45,   45,   45,   45,   45,  370,  370,
-      223,   44,   44,   44,  370,  370,  224,   44,   44,   44,
-      370,  370,  225,   44,   44,   44,  370,  370,  226,   44,
-       44,   44,  370,  370,   46,   44,   44,   44,  370,  227,
-       46,  370,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,   44,   44,   44,  370,   48,   46,   44,   44,   44,
-      370,   48,   46,  370,  370,  370,  370,   48,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,   48,  370,  233,
-
-      370,  370,  370,   48,  370,  228,  370,  370,  370,   48,
-      230,   44,   44,   44,  370,  229,   46,   44,   44,   44,
-       48,  370,   46,   44,   44,   44,   48,  370,   46,  370,
-      370,  370,  370,  370,  231,   44,   44,   44,  232,  370,
-       46,  370,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,  370,   44,   44,   44,   48,  235,   46,  370,   44,
-       44,   44,  370,  234,   46,  370,  370,   48,  370,   44,
-       44,   44,  370,  236,   46,  370,  370,   48,  237,  370,
-       44,   44,   44,  370,   48,   46,  370,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  238,   46,  370,
-
-      370,   48,  370,  370,  239,  370,  241,  370,  370,  240,
-      370,  370,   48,  370,  370,  242,   44,   44,   44,   48,
-      370,   46,  370,  370,  370,   48,  370,  244,   44,   44,
-       44,  370,  370,   46,  370,   44,   44,   44,  370,  370,
-       46,  370,  245,  370,   44,   44,   44,  370,   48,   46,
-       44,   44,   44,  370,  370,   46,   44,   44,   44,  370,
-       48,   46,  370,  370,   44,   44,   44,   48,  246,   46,
-      370,  370,  370,  247,  248,  370,   48,  370,   44,   44,
-       44,  370,   48,   46,  370,  370,  370,  370,   48,  249,
-       44,   44,   44,  370,  370,  254,   48,  370,   44,   44,
-
-       44,  370,  252,  255,  370,  370,  250,  251,  256,  370,
-       48,   44,   44,   44,  370,  370,   46,  253,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-       48,  370,  257,  370,   44,   44,   44,  370,  370,   46,
-       44,   44,   44,   48,  261,  262,   44,   44,   44,  370,
-       48,   46,   44,   44,   44,  370,   48,   46,  370,   44,
-       44,   44,  370,  258,   46,  259,   48,  370,  370,   44,
-       44,   44,   48,  370,  266,  370,  260,  370,   48,  370,
-       44,   44,   44,  370,   48,   46,  370,  370,  370,  263,
-      370,   48,   44,   44,   44,  370,  370,  268,  370,  370,
-
-      264,   48,  370,   44,   44,   44,  370,  370,   46,  370,
-      370,  265,   48,  269,   44,   44,   44,  370,  267,   46,
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  370,
-      370,  272,   44,   44,   44,   48,  370,  273,   44,   44,
-       44,  370,  370,   46,  370,  370,   48,  370,  274,   44,
-       44,   44,   48,  370,  275,   44,   44,   44,   48,  370,
-       46,  370,  370,  271,   48,  370,  370,  370,  270,  370,
-       48,  370,   44,   44,   44,  370,  370,   46,   44,   44,
-       44,   48,  370,   46,   44,   44,   44,   48,  370,  279,
-       44,   44,   44,  370,  370,   46,   44,   44,   44,  370,
-
-      370,   46,  370,  276,   48,  370,   44,   44,   44,  370,
-       48,   46,  370,   44,   44,   44,   48,  278,   46,  370,
-      277,  370,   48,  370,   44,   44,   44,  370,   48,   46,
-       44,   44,   44,  370,  370,   46,  370,  370,   48,   44,
-       44,   44,  284,  281,   46,   48,  280,  370,  282,  283,
-       44,   44,   44,  370,  370,   46,   48,  370,  370,  370,
-      285,  370,   48,  286,  370,  287,  370,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,   46,  370,   44,   44,   44,  289,
-      288,   46,  370,   44,   44,   44,  370,  370,   46,   48,
-
-      370,  370,  370,  290,  370,   48,  370,   44,   44,   44,
-      370,   48,  295,  370,   44,   44,   44,  370,   48,   46,
-      370,   44,   44,   44,  291,   48,   46,  370,  292,   44,
-       44,   44,  370,  370,   46,  293,   44,   44,   44,   48,
-      370,   46,  370,  294,  370,  370,   48,  370,  370,  296,
-       44,   44,   44,   48,  370,   46,  370,   44,   44,   44,
-      370,   48,   46,  370,   44,   44,   44,  301,   48,   46,
-      370,   44,   44,   44,  370,  299,   46,  297,  370,  298,
-      370,  370,   48,   44,   44,   44,  370,  370,   46,   48,
-       44,   44,   44,  370,  370,   46,   48,  370,  370,   44,
-
-       44,   44,  300,   48,   46,   44,   44,   44,  370,  370,
-       46,  370,   44,   44,   44,   48,  302,   46,  370,  303,
-      370,  370,   48,  370,   44,   44,   44,  370,  304,   46,
-      370,   48,  370,  370,   44,   44,   44,   48,  306,   46,
-      305,   44,   44,   44,   48,  370,   46,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,   48,  307,   46,  370,
-      370,  370,  370,  313,  308,  370,   48,   44,   44,   44,
-      370,  370,   46,   48,  370,  309,   44,   44,   44,   48,
-      310,   46,   44,   44,   44,   48,  370,   46,  370,  370,
-      311,  370,  312,   44,   44,   44,  370,  370,   46,   48,
-
-       44,   44,   44,  370,  370,  318,  314,  370,   48,  370,
-       44,   44,   44,  315,   48,   46,  370,   44,   44,   44,
-      370,  316,   46,  370,  370,   48,   44,   44,   44,  370,
-      317,   46,   48,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,  323,  319,   44,   44,   44,   48,
-      370,   46,   44,   44,   44,  370,  370,   46,   48,  370,
-      370,   44,   44,   44,  370,   48,  326,  320,  370,  321,
-      370,   48,   44,   44,   44,  370,  322,   46,   48,  370,
-      370,   44,   44,   44,   48,  324,   46,   44,   44,   44,
-      370,  325,   46,   48,   44,   44,   44,  370,  370,  330,
-
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  327,
-      370,   46,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,  370,   44,   44,   44,  370,   48,   46,  370,  329,
-      370,  370,   48,  370,  370,  370,  328,  370,   48,  370,
-       44,   44,   44,  370,  331,   46,  370,   48,   44,   44,
-       44,  370,  370,  336,   48,  370,  332,   44,   44,   44,
-      370,  370,  337,   44,   44,   44,  370,  370,   46,  333,
-      334,  370,   48,  370,   44,   44,   44,  370,  370,   46,
-       48,   44,   44,   44,  370,  370,   46,  370,  335,   48,
-      370,   44,   44,   44,  370,   48,   46,   44,   44,   44,
-
-      370,  370,   46,  370,  370,  338,   48,   44,   44,   44,
-      370,  370,   46,   48,  370,  370,  340,   44,   44,   44,
-      370,  370,   46,   48,  370,  370,  339,  370,  370,   48,
-      341,   44,   44,   44,  370,  370,   46,  370,  370,   48,
-      342,  370,   44,   44,   44,  370,  343,   46,  370,   48,
-       44,   44,   44,  370,  370,  347,   44,   44,   44,  370,
-      370,   46,  370,   48,  344,   44,   44,   44,  370,  370,
-       46,  370,  370,  370,   48,  370,  370,  346,  345,   44,
-       44,   44,   48,  370,   46,  370,  370,  370,   48,   44,
-       44,   44,  370,  370,   46,  370,  370,   48,  370,   44,
-
-       44,   44,  370,  348,   46,   44,   44,   44,  370,  370,
-       46,   48,  370,  370,   44,   44,   44,  349,  350,   46,
-      370,   48,   44,   44,   44,  370,  370,   46,   44,   44,
-       44,   48,  370,  356,  370,  370,  370,   48,  370,  351,
-       44,   44,   44,  370,  370,   46,   48,   44,   44,   44,
-      352,  370,   46,  370,   48,  370,  353,   44,   44,   44,
-       48,  354,  359,  355,   44,   44,   44,  370,  370,  360,
-      370,  370,   48,   44,   44,   44,  370,  370,   46,   48,
-       44,   44,   44,  370,  370,   46,  370,  370,  370,   48,
-      370,  357,   44,   44,   44,  370,   48,  363,  358,   44,
-
-       44,   44,  370,  370,  364,   48,   44,   44,   44,  370,
-      370,   46,   48,  370,  361,   44,   44,   44,  370,  362,
-       46,   44,   44,   44,   48,  370,   46,   44,   44,   44,
-      370,   48,  368,  370,  370,   44,   44,   44,   48,  370,
-      369,  370,  370,  370,  370,  365,  370,   48,  370,  370,
-      370,  370,  370,   48,  370,  370,  370,  370,  370,   48,
-      370,  370,  370,  370,  370,  370,  366,   48,  370,  370,
-      370,  370,  367,   36,   36,   36,   36,   45,   45,   45,
-       45,   62,  370,   62,   62,   81,  370,  370,   81,   83,
-       83,   83,   83,   87,   87,   87,   87,  113,  370,  113,
-
-      113,   83,   83,  123,  123,  123,  123,   11,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370
+       72,   45,   86,   48,   45,   92,   45,   89,   44,   44,
+       44,   48,  114,   46,  151,   44,   44,   44,  152,   90,
+       46,   70,  151,   48,   44,   44,   44,   91,  153,   46,
+       93,   43,  117,   94,   44,   44,   44,  151,  152,   46,
+       48,   44,   44,   44,  153,  154,   46,   48,  152,   44,
+       44,   44,  368,   95,   46,  368,   48,  368,  368,  100,
+       44,   44,   44,   96,  368,   46,   48,   97,  155,   44,
+
+       44,   44,  101,   48,   46,  153,  102,   98,   44,   44,
+       44,   48,   99,   46,   44,   44,   44,  368,  368,   46,
+      368,  156,   48,  185,  368,  104,  185,   67,   67,   67,
+       67,   48,  103,   72,   72,   72,   72,   65,  105,  185,
+       48,  368,  186,  368,  368,  368,   48,  106,  368,  111,
+      368,  107,  108,   65,  368,  109,  368,  368,   63,  110,
+       64,   64,   64,   64,  368,  368,   71,  368,   71,  368,
+       65,   72,   72,   72,   72,   63,  368,   66,   66,   66,
+       66,   67,   67,   67,   67,  368,   65,   65,   44,   44,
+       44,   65,  368,   46,   44,   44,   44,  368,  368,   46,
+
+       44,   44,   44,   65,  368,   46,  368,   65,  368,  368,
+       44,   44,   44,  368,  368,  129,  368,  368,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,   48,  368,   46,  368,  368,  368,  368,  368,
+      121,  124,   48,  368,  368,  368,  368,  368,  126,  125,
+      125,  125,  125,  368,   48,  368,  368,  125,  125,  125,
+      125,   48,   44,   44,   44,  130,  368,   46,  127,  128,
+      368,  125,  125,  125,  125,  125,  125,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,  368,  368,   46,  368,
+       44,   44,   44,  368,   48,   46,   44,   44,   44,  131,
+
+      368,   46,   44,   44,   44,  368,  368,   46,  368,   48,
+      368,  368,   44,   44,   44,   48,  368,   46,   44,   44,
+       44,  368,   48,   46,  368,  368,  368,  368,   48,  368,
+      132,  133,  135,  368,   48,  368,   44,   44,   44,  368,
+      368,   46,  134,  136,   48,  368,   44,   44,   44,  368,
+       48,   46,   44,   44,   44,  368,  139,   46,  368,  137,
+       44,   44,   44,  368,  368,   46,  368,  138,   48,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+       46,  368,  140,  368,   48,   44,   44,   44,  368,  368,
+       46,  368,   48,  368,   44,   44,   44,  368,  141,   46,
+
+      368,   48,  142,  368,  143,  368,  145,   48,  368,  368,
+       44,   44,   44,  146,  144,   46,  368,   48,   44,   44,
+       44,  147,  368,   46,  368,  368,   48,   44,   44,   44,
+      368,  368,   46,  368,  368,  368,  368,  148,   44,   44,
+       44,  368,   48,   46,  368,  368,   44,   44,   44,  149,
+       48,   46,  368,   44,   44,   44,  368,  368,   46,   48,
+      368,  368,  368,  150,  158,  159,  159,  159,  159,  368,
+       48,  368,  368,  159,  159,  159,  159,  368,   48,  368,
+      368,   44,   44,   44,  161,   48,   46,  159,  159,  159,
+      159,  159,  159,  368,   44,   44,   44,  368,  160,   46,
+
+      368,   44,   44,   44,  368,  162,   46,   44,   44,   44,
+      368,  368,   46,   48,   44,   44,   44,  368,  368,   46,
+      368,  368,   44,   44,   44,  368,   48,   46,  368,  368,
+       44,   44,   44,   48,  163,   46,   44,   44,   44,   48,
+      368,   46,  368,  164,  368,  368,   48,  368,   44,   44,
+       44,  166,  165,   46,   48,  368,   44,   44,   44,  368,
+      368,   46,   48,  167,   44,   44,   44,  368,   48,   46,
+      368,  169,  168,   44,   44,   44,  368,  368,   46,  368,
+       48,  368,  368,  170,   44,   44,   44,  171,   48,   46,
+      172,  368,   44,   44,   44,  173,   48,   46,  368,   44,
+
+       44,   44,  368,  174,   46,   48,  368,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,   48,  368,   46,  176,
+      368,  368,  175,  368,   48,   44,   44,   44,  368,  368,
+       46,   48,   44,   44,   44,  368,  368,   46,  178,   48,
+      368,   44,   44,   44,  177,   48,   46,   44,   44,   44,
+      368,  179,   46,   44,   44,   44,  368,   48,   46,  368,
+      368,  180,  368,  368,   48,   44,   44,   44,  368,  368,
+       46,  368,  368,   48,  368,  190,  181,  368,  368,   48,
+      368,  368,  368,  368,  368,   48,  368,  182,  368,  368,
+      184,  183,  368,  368,  368,  368,  368,   48,  368,  368,
+
+      368,  188,  189,  189,  189,  189,  368,  368,  368,  368,
+      189,  189,  189,  189,   44,   44,   44,  368,  368,   46,
+      368,  368,  368,  368,  189,  189,  189,  189,  189,  189,
+       44,   44,   44,  368,  368,   46,   44,   44,   44,  368,
+      368,   46,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,  368,  191,   46,  368,  368,  194,  195,  368,
+      368,  368,   48,  368,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,   48,  198,  368,  193,  368,  368,
+      192,   48,   44,   44,   44,  368,  368,   46,   44,   44,
+       44,  196,  368,   46,  368,  368,   48,  368,   44,   44,
+
+       44,  368,   48,   46,   44,   44,   44,  368,  368,   46,
+      368,   44,   44,   44,   48,  197,   46,  199,  368,  368,
+       48,   44,   44,   44,  368,  368,   46,  200,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,  205,  368,  201,
+       44,   44,   44,   48,  368,   46,  368,  202,  368,  368,
+      203,  368,  368,   48,   44,   44,   44,  368,  368,   46,
+       44,   44,   44,  368,   48,   46,  204,  368,  368,   44,
+       44,   44,   48,  368,   46,   44,   44,   44,  368,  368,
+       46,  368,  368,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,   48,  206,   46,  368,  368,  368,  368,  208,
+
+      207,   48,  368,   44,   44,   44,  368,   48,  213,  368,
+      368,   44,   44,   44,  210,   48,   46,  368,  368,  209,
+      368,   48,   44,   44,   44,  368,  212,   46,   44,   44,
+       44,  368,  214,   46,  368,   48,  211,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,  368,  368,  368,  215,
+       44,   44,   44,  368,   48,   46,   44,   44,   44,  368,
+       48,   46,   44,   44,   44,  368,  368,   46,  368,   48,
+      368,  368,  368,  368,  368,  217,   45,   45,   45,   45,
+      368,  368,   48,  368,   45,   45,   45,   45,   48,  368,
+      218,   44,   44,   44,   48,  368,  222,  219,   45,   45,
+
+       45,   45,   45,   45,  220,  368,  368,  221,   44,   44,
+       44,  368,  368,  223,   44,   44,   44,  368,  368,  224,
+       44,   44,   44,   48,  368,   46,   44,   44,   44,  368,
+      225,   46,   44,   44,   44,  368,  368,   46,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,   44,   44,
+       44,  368,   48,   46,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,   48,  231,   44,   44,   44,  368,
+      368,   46,  368,  368,   48,  368,  226,  368,  368,  368,
+       48,  228,  227,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,   48,  368,   46,   44,   44,   44,   48,  368,
+
+       46,   44,   44,   44,  230,  229,   46,  368,   44,   44,
+       44,  368,  368,   46,  368,   48,  368,  368,  232,  368,
+      368,   48,  233,   44,   44,   44,  368,   48,   46,   44,
+       44,   44,  368,   48,   46,  368,  368,  368,  235,  234,
+       48,  368,   44,   44,   44,  368,  368,   46,  368,   44,
+       44,   44,  368,  236,   46,   48,  368,  368,  368,  368,
+      237,   48,   44,   44,   44,  368,  239,   46,  368,  368,
+       44,   44,   44,  238,   48,   46,  368,  240,   44,   44,
+       44,   48,  368,   46,  368,   44,   44,   44,  368,  242,
+       46,  368,  368,  368,   48,   44,   44,   44,  368,  368,
+
+       46,  368,   48,   44,   44,   44,  368,  368,   46,  368,
+       48,  243,  368,   44,   44,   44,  368,   48,   46,  368,
+      368,  368,  244,  245,  246,  368,  368,   48,   44,   44,
+       44,  368,  368,   46,  368,   48,   44,   44,   44,  368,
+      247,   46,   44,   44,   44,   48,  368,  252,   44,   44,
+       44,  368,  368,  253,  368,  368,  368,  368,  254,  248,
+       48,  368,  368,  368,  249,  368,  250,  368,   48,  368,
+      368,   44,   44,   44,   48,  251,   46,  368,  368,  368,
+       48,  368,  255,   44,   44,   44,  368,  368,   46,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,  368,  368,
+
+       46,  368,  368,   48,  368,  259,   44,   44,   44,  368,
+      368,  260,   44,   44,   44,   48,  368,   46,  368,  368,
+      368,   48,  368,  256,   44,   44,   44,   48,  368,   46,
+      257,   44,   44,   44,  368,  368,   46,  368,   48,  368,
+      368,  258,  368,  368,   48,   44,   44,   44,  368,  368,
+      264,  368,   44,   44,   44,  261,   48,   46,  368,   44,
+       44,   44,  368,   48,  266,   44,   44,   44,  368,  368,
+       46,  368,  262,  368,  368,  267,  368,   48,  368,  368,
+       44,   44,   44,  263,   48,   46,  368,   44,   44,   44,
+      265,   48,   46,   44,   44,   44,  368,   48,  270,   44,
+
+       44,   44,  368,  368,  271,   44,   44,   44,  368,  368,
+       46,  368,   48,  368,  368,  272,   44,   44,   44,   48,
+      368,  273,   44,   44,   44,   48,  368,   46,  368,  368,
+      269,   48,  368,  368,  268,  368,  368,   48,  368,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+       46,   44,   44,   44,   48,  368,  277,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,  368,  368,   46,  368,
+      274,   48,  368,   44,   44,   44,  368,   48,   46,  368,
+       44,   44,   44,   48,  276,   46,  368,  275,  368,   48,
+      368,   44,   44,   44,  368,   48,   46,   44,   44,   44,
+
+      368,  368,   46,  368,  368,   48,   44,   44,   44,  282,
+      279,   46,   48,  278,  368,  280,  281,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,  368,  283,  368,   48,
+      284,  368,  285,  368,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,  368,   46,   44,   44,   44,   48,
+      368,   46,  368,   44,   44,   44,  287,  286,   46,  368,
+       44,   44,   44,  368,  368,   46,   48,  368,  368,  368,
+      288,  368,   48,  368,   44,   44,   44,  368,   48,  293,
+      368,   44,   44,   44,  368,   48,   46,  368,   44,   44,
+       44,  289,   48,   46,  368,  290,   44,   44,   44,  368,
+
+      368,   46,  291,   44,   44,   44,   48,  368,   46,  368,
+      292,  368,  368,   48,  368,  368,  294,   44,   44,   44,
+       48,  368,   46,  368,   44,   44,   44,  368,   48,   46,
+      368,   44,   44,   44,  299,   48,   46,  368,   44,   44,
+       44,  368,  297,   46,  295,  368,  296,  368,  368,   48,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,   44,   44,   44,  298,
+       48,   46,   44,   44,   44,  368,  368,   46,  368,   44,
+       44,   44,   48,  300,   46,  368,  301,  368,  368,   48,
+      368,   44,   44,   44,  368,  302,   46,  368,   48,  368,
+
+      368,   44,   44,   44,   48,  304,   46,  303,   44,   44,
+       44,   48,  368,   46,   44,   44,   44,  368,  368,   46,
+       44,   44,   44,   48,  305,   46,  368,  368,  368,  368,
+      311,  306,  368,   48,   44,   44,   44,  368,  368,   46,
+       48,  368,  307,   44,   44,   44,   48,  308,   46,   44,
+       44,   44,   48,  368,   46,  368,  368,  309,  368,  310,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,  316,  312,  368,   48,  368,   44,   44,   44,
+      313,   48,   46,  368,   44,   44,   44,  368,  314,   46,
+      368,  368,   48,   44,   44,   44,  368,  315,   46,   48,
+
+       44,   44,   44,  368,  368,   46,   44,   44,   44,   48,
+      368,  321,  317,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,  368,  368,   46,   48,  368,  368,   44,   44,
+       44,  368,   48,  324,  318,  368,  319,  368,   48,   44,
+       44,   44,  368,  320,   46,   48,  368,  368,   44,   44,
+       44,   48,  322,   46,   44,   44,   44,  368,  323,   46,
+       48,   44,   44,   44,  368,  368,  328,   44,   44,   44,
+      368,   48,   46,   44,   44,   44,  325,  368,   46,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,  368,   48,   46,  368,  327,  368,  368,   48,
+
+      368,  368,  368,  326,  368,   48,  368,   44,   44,   44,
+      368,  329,   46,  368,   48,   44,   44,   44,  368,  368,
+      334,   48,  368,  330,   44,   44,   44,  368,  368,  335,
+       44,   44,   44,  368,  368,   46,  331,  332,  368,   48,
+      368,   44,   44,   44,  368,  368,   46,   48,   44,   44,
+       44,  368,  368,   46,  368,  333,   48,  368,   44,   44,
+       44,  368,   48,   46,   44,   44,   44,  368,  368,   46,
+      368,  368,  336,   48,   44,   44,   44,  368,  368,   46,
+       48,  368,  368,  338,   44,   44,   44,  368,  368,   46,
+       48,  368,  368,  337,  368,  368,   48,  339,   44,   44,
+
+       44,  368,  368,   46,  368,  368,   48,  340,  368,   44,
+       44,   44,  368,  341,   46,  368,   48,   44,   44,   44,
+      368,  368,  345,   44,   44,   44,  368,  368,   46,  368,
+       48,  342,   44,   44,   44,  368,  368,   46,  368,  368,
+      368,   48,  368,  368,  344,  343,   44,   44,   44,   48,
+      368,   46,  368,  368,  368,   48,   44,   44,   44,  368,
+      368,   46,  368,  368,   48,  368,   44,   44,   44,  368,
+      346,   46,   44,   44,   44,  368,  368,   46,   48,  368,
+      368,   44,   44,   44,  347,  348,   46,  368,   48,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+
+      354,  368,  368,  368,   48,  368,  349,   44,   44,   44,
+      368,  368,   46,   48,   44,   44,   44,  350,  368,   46,
+      368,   48,  368,  351,   44,   44,   44,   48,  352,  357,
+      353,   44,   44,   44,  368,  368,  358,  368,  368,   48,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,   46,  368,  368,  368,   48,  368,  355,   44,
+       44,   44,  368,   48,  361,  356,   44,   44,   44,  368,
+      368,  362,   48,   44,   44,   44,  368,  368,   46,   48,
+      368,  359,   44,   44,   44,  368,  360,   46,   44,   44,
+       44,   48,  368,   46,   44,   44,   44,  368,   48,  366,
+
+      368,  368,   44,   44,   44,   48,  368,  367,  368,  368,
+      368,  368,  363,  368,   48,  368,  368,  368,  368,  368,
+       48,  368,  368,  368,  368,  368,   48,  368,  368,  368,
+      368,  368,  368,  364,   48,  368,  368,  368,  368,  365,
+       36,   36,   36,   36,   45,   45,   45,   45,   62,  368,
+       62,   62,   81,  368,  368,   81,   83,   83,   83,   83,
+       87,   87,   87,   87,  112,  368,  112,  112,   83,   83,
+      122,  122,  122,  122,   11,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368
     } ;
 
     } ;
 
-static const flex_int16_t yy_chk[2569] =
+static const flex_int16_t yy_chk[2536] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -1175,14 +1172,14 @@ static const flex_int16_t yy_chk[2569] =
         5,    5,    5,    5,   10,   13,   26,   13,    5,    5,
         9,    5,   21,   37,    5,   37,    5,   21,    5,   27,
 
         5,    5,    5,    5,   10,   13,   26,   13,    5,    5,
         9,    5,   21,   37,    5,   37,    5,   21,    5,   27,
 
-       26,   31,   44,  218,    5,    5,    7,   10,    5,   28,
+       26,   31,   44,  216,    5,    5,    7,   10,    5,   28,
         8,   42,    5,   42,   32,   31,   17,    5,   17,   17,
        17,   17,   27,    5,    5,   15,   15,   15,   17,   44,
        15,   19,   28,   19,   19,   19,   19,   32,   20,   20,
        20,   20,   83,   19,   17,   33,   73,   25,   20,   25,
         8,   42,    5,   42,   32,   31,   17,    5,   17,   17,
        17,   17,   27,    5,    5,   15,   15,   15,   17,   44,
        15,   19,   28,   19,   19,   19,   19,   32,   20,   20,
        20,   20,   83,   19,   17,   33,   73,   25,   20,   25,
-      189,   15,   25,   25,   25,   25,  159,   15,   75,   19,
-      123,   15,   15,   15,   20,   15,   73,   15,   33,   83,
-       15,   15,   15,   15,   15,  120,   15,   74,   15,   15,
+      187,   15,   25,   25,   25,   25,  157,   15,   75,   19,
+      122,   15,   15,   15,   20,   15,   73,   15,   33,   83,
+       15,   15,   15,   15,   15,  119,   15,   74,   15,   15,
        22,   75,   22,   22,   22,   22,   45,   45,   45,   48,
        78,   45,   22,   47,   47,   47,   48,   74,   47,   76,
 
        22,   75,   22,   22,   22,   22,   45,   45,   45,   48,
        78,   45,   22,   47,   47,   47,   48,   74,   47,   76,
 
@@ -1190,18 +1187,18 @@ static const flex_int16_t yy_chk[2569] =
        50,   50,   41,   78,   50,   39,   48,   38,   45,   76,
        48,   51,   51,   51,   48,   47,   51,   71,   71,   71,
        71,   48,   47,   49,   48,   51,   48,   48,   52,   52,
        50,   50,   41,   78,   50,   39,   48,   38,   45,   76,
        48,   51,   51,   51,   48,   47,   51,   71,   71,   71,
        71,   48,   47,   49,   48,   51,   48,   48,   52,   52,
-       52,   50,   77,   52,   50,   53,   53,   53,  115,   49,
-       53,  114,  117,   51,   55,   55,   55,   50,   24,   55,
-       51,   14,   77,   51,   54,   54,   54,  118,  115,   54,
-       52,   56,   56,   56,  114,  117,   56,   53,  116,   57,
-       57,   57,  119,   52,   57,   11,   55,  118,    0,   55,
-       58,   58,   58,   53,  116,   58,   54,   53,  119,   59,
-
-       59,   59,   55,   56,   59,  153,   56,   54,   60,   60,
+       52,   50,   77,   52,  113,   53,   53,   53,  114,   49,
+       53,   24,  116,   51,   55,   55,   55,   50,  115,   55,
+       51,   14,   77,   51,   54,   54,   54,  113,  114,   54,
+       52,   56,   56,   56,  115,  116,   56,   53,  117,   57,
+       57,   57,   11,   52,   57,    0,   55,    0,    0,   55,
+       58,   58,   58,   53,    0,   58,   54,   53,  117,   59,
+
+       59,   59,   55,   56,   59,  118,   56,   54,   60,   60,
        60,   57,   54,   60,   61,   61,   61,    0,    0,   61,
        60,   57,   54,   60,   61,   61,   61,    0,    0,   61,
-        0,  153,   58,  156,    0,   58,    0,   63,   63,   63,
-       63,   59,   57,   72,   72,   72,   72,   63,   59,  156,
-       60,    0,    0,    0,    0,    0,   61,   59,    0,   61,
+        0,  118,   58,  151,    0,   58,  154,   63,   63,   63,
+       63,   59,   57,   72,   72,   72,   72,   63,   59,  151,
+       60,    0,  154,    0,    0,    0,   61,   59,    0,   61,
         0,   59,   59,   63,    0,   60,    0,    0,   64,   60,
        64,   64,   64,   64,    0,    0,   65,    0,   65,    0,
        64,   65,   65,   65,   65,   66,    0,   66,   66,   66,
         0,   59,   59,   63,    0,   60,    0,    0,   64,   60,
        64,   64,   64,   64,    0,    0,   65,    0,   65,    0,
        64,   65,   65,   65,   65,   66,    0,   66,   66,   66,
@@ -1209,243 +1206,240 @@ static const flex_int16_t yy_chk[2569] =
        86,   67,    0,   86,   88,   88,   88,    0,    0,   88,
 
        90,   90,   90,   66,    0,   90,    0,   67,    0,    0,
        86,   67,    0,   86,   88,   88,   88,    0,    0,   88,
 
        90,   90,   90,   66,    0,   90,    0,   67,    0,    0,
-       91,   91,   91,    0,    0,   91,    0,    0,    0,    0,
-       86,    0,   92,   92,   92,    0,   88,   92,    0,   93,
+       92,   92,   92,    0,    0,   92,    0,    0,    0,    0,
+       86,    0,   91,   91,   91,    0,   88,   91,    0,   93,
        93,   93,   90,    0,   93,    0,    0,    0,    0,    0,
        93,   93,   90,    0,   93,    0,    0,    0,    0,    0,
-       86,   89,   91,    0,    0,    0,    0,    0,   90,   89,
-       89,   89,   89,    0,   92,    0,    0,   89,   89,   89,
-       89,   93,   94,   94,   94,    0,    0,   94,   92,   92,
+       86,   89,   92,    0,    0,    0,    0,    0,   90,   89,
+       89,   89,   89,    0,   91,    0,    0,   89,   89,   89,
+       89,   93,   94,   94,   94,   93,    0,   94,   91,   91,
         0,   89,   89,   89,   89,   89,   89,   95,   95,   95,
         0,    0,   95,   96,   96,   96,    0,    0,   96,    0,
         0,   89,   89,   89,   89,   89,   89,   95,   95,   95,
         0,    0,   95,   96,   96,   96,    0,    0,   96,    0,
-       97,   97,   97,    0,   94,   97,    0,    0,   94,   98,
-
-       98,   98,    0,    0,   98,   99,   99,   99,    0,   95,
-       99,  100,  100,  100,   95,   96,  100,    0,  101,  101,
-      101,    0,   97,  101,  102,  102,  102,    0,    0,  102,
-        0,   98,    0,    0,    0,    0,   96,   99,   97,    0,
-        0,   99,    0,  100,  103,  103,  103,    0,    0,  103,
-      101,   98,  100,  104,  104,  104,  102,    0,  104,  105,
-      105,  105,  102,    0,  105,  101,  106,  106,  106,    0,
-        0,  106,    0,  101,    0,    0,  103,    0,  107,  107,
-      107,    0,    0,  107,    0,  104,    0,  108,  108,  108,
-      103,  105,  108,    0,  109,  109,  109,    0,  106,  109,
-
-        0,  110,  110,  110,    0,  104,  110,    0,    0,  105,
-      107,  105,    0,    0,    0,  107,  111,  111,  111,  108,
-      106,  111,  112,  112,  112,  108,  109,  112,    0,    0,
-      109,    0,    0,  110,  122,  122,  122,    0,    0,  122,
-        0,    0,    0,    0,  110,  129,  129,  129,  111,    0,
-      129,    0,    0,    0,  112,  111,  127,  127,  127,    0,
-        0,  127,    0,    0,    0,    0,  122,  112,    0,    0,
-        0,  122,  126,  126,  126,  126,    0,  129,    0,    0,
-      126,  126,  126,  126,  130,  130,  130,    0,  127,  130,
-        0,  129,    0,    0,  126,  126,  126,  126,  126,  126,
-
-      132,  132,  132,    0,    0,  132,    0,    0,  127,  133,
-      133,  133,    0,    0,  133,    0,  130,  134,  134,  134,
-        0,    0,  134,  135,  135,  135,    0,    0,  135,  136,
-      136,  136,  132,    0,  136,    0,  130,  137,  137,  137,
-        0,  133,  137,  138,  138,  138,    0,    0,  138,  134,
-        0,    0,    0,  132,    0,  135,    0,    0,  133,    0,
-        0,  136,    0,    0,    0,    0,    0,  135,  134,  137,
-        0,  139,  139,  139,    0,  138,  139,    0,  136,    0,
-      140,  140,  140,    0,  138,  140,    0,  137,  141,  141,
-      141,    0,    0,  141,  142,  142,  142,    0,    0,  142,
-
-      143,  143,  143,  139,    0,  143,  139,    0,  144,  144,
-      144,    0,  140,  144,  145,  145,  145,    0,    0,  145,
-      141,    0,    0,  146,  146,  146,  142,  141,  146,    0,
-        0,  140,  143,  142,  140,    0,  147,  147,  147,    0,
-      144,  147,    0,  144,    0,    0,  145,    0,    0,  143,
-        0,  148,  148,  148,    0,  146,  148,    0,  149,  149,
-      149,    0,  146,  149,    0,    0,  145,    0,  147,  150,
-      150,  150,    0,    0,  150,    0,  151,  151,  151,    0,
-      147,  151,    0,  148,  152,  152,  152,    0,    0,  152,
-      149,  160,  160,  160,    0,    0,  160,    0,    0,  148,
-
-        0,  150,  162,  162,  162,    0,    0,  162,  151,  149,
-        0,    0,  162,  163,  163,  163,  152,    0,  163,    0,
-        0,    0,    0,  160,  150,    0,  151,  152,  164,  164,
-      164,    0,    0,  164,  162,    0,    0,    0,    0,  160,
-      161,  161,  161,  161,    0,  163,    0,    0,  161,  161,
-      161,  161,  163,  165,  165,  165,    0,    0,  165,    0,
-      164,    0,  161,  161,  161,  161,  161,  161,  166,  166,
-      166,    0,    0,  166,  167,  167,  167,    0,  164,  167,
-        0,    0,    0,  166,  166,  165,  168,  168,  168,    0,
-        0,  168,    0,    0,  165,    0,  169,  169,  169,    0,
-
-      166,  169,    0,  170,  170,  170,  167,    0,  170,  171,
-      171,  171,    0,    0,  171,    0,  167,    0,  168,  172,
-      172,  172,    0,    0,  172,  173,  173,  173,  169,    0,
-      173,  174,  174,  174,    0,  170,  174,  168,  170,    0,
-        0,  171,  175,  175,  175,    0,    0,  175,  171,    0,
-        0,  172,    0,  176,  176,  176,    0,  173,  176,    0,
-      172,    0,    0,  174,  177,  177,  177,    0,  173,  177,
-      174,    0,    0,    0,  175,  178,  178,  178,    0,    0,
-      178,  179,  179,  179,    0,  176,  179,  175,    0,    0,
-      180,  180,  180,    0,    0,  180,  177,  181,  181,  181,
-
-        0,    0,  181,  182,  182,  182,    0,  178,  182,  183,
-      183,  183,    0,  179,  183,    0,    0,  177,    0,    0,
-      179,  178,  180,  184,  184,  184,    0,    0,  184,  181,
-        0,    0,  185,  185,  185,  182,  181,  185,    0,    0,
-      180,  183,  185,  186,  186,  186,  183,    0,  186,    0,
-        0,    0,  190,  190,  190,  184,  182,  190,    0,    0,
-      192,  192,  192,    0,  185,  192,  194,  194,  194,    0,
-        0,  194,  193,  193,  193,  186,    0,  193,    0,    0,
-        0,  186,    0,    0,  190,  195,  195,  195,    0,    0,
-      195,    0,  192,    0,    0,    0,    0,    0,  194,  190,
-
-      191,  191,  191,  191,  193,    0,    0,    0,  191,  191,
-      191,  191,    0,  192,  194,    0,    0,  195,    0,  193,
-        0,    0,  191,  191,  191,  191,  191,  191,    0,    0,
-      195,  196,  196,  196,    0,    0,  196,  197,  197,  197,
-        0,    0,  197,  198,  198,  198,    0,    0,  198,  199,
-      199,  199,    0,    0,  199,  201,  201,  201,    0,  199,
-      201,    0,    0,  196,    0,  202,  202,  202,    0,  197,
-      202,  203,  203,  203,    0,  198,  203,  204,  204,  204,
-        0,  199,  204,    0,    0,    0,    0,  201,  205,  205,
-      205,    0,    0,  205,  206,  206,  206,  202,    0,  206,
-
-        0,    0,    0,  203,    0,  201,    0,    0,    0,  204,
-      203,  208,  208,  208,    0,  202,  208,  209,  209,  209,
-      205,    0,  209,  210,  210,  210,  206,    0,  210,    0,
-        0,    0,    0,    0,  204,  211,  211,  211,  205,    0,
-      211,    0,    0,  208,    0,  212,  212,  212,    0,  209,
-      212,    0,  213,  213,  213,  210,  209,  213,    0,  214,
-      214,  214,    0,  208,  214,    0,    0,  211,    0,  216,
-      216,  216,    0,  210,  216,    0,    0,  212,  211,    0,
-      217,  217,  217,    0,  213,  217,    0,  219,  219,  219,
-        0,  214,  219,  220,  220,  220,    0,  212,  220,    0,
-
-        0,  216,    0,    0,  213,    0,  216,    0,    0,  214,
-        0,    0,  217,    0,    0,  217,  221,  221,  221,  219,
-        0,  221,    0,    0,    0,  220,    0,  219,  222,  222,
-      222,    0,    0,  222,    0,  223,  223,  223,    0,    0,
-      223,    0,  220,    0,  227,  227,  227,    0,  221,  227,
-      228,  228,  228,    0,    0,  228,  229,  229,  229,    0,
-      222,  229,    0,    0,  230,  230,  230,  223,  221,  230,
-        0,    0,    0,  222,  223,    0,  227,    0,  231,  231,
-      231,    0,  228,  231,    0,    0,    0,    0,  229,  227,
-      232,  232,  232,    0,    0,  232,  230,    0,  234,  234,
-
-      234,    0,  230,  234,    0,    0,  228,  229,  234,    0,
-      231,  235,  235,  235,    0,    0,  235,  231,  236,  236,
-      236,    0,  232,  236,  237,  237,  237,    0,    0,  237,
-      234,    0,  234,    0,  238,  238,  238,    0,    0,  238,
-      239,  239,  239,  235,  238,  239,  240,  240,  240,    0,
-      236,  240,  241,  241,  241,    0,  237,  241,    0,  242,
-      242,  242,    0,  235,  242,  236,  238,    0,    0,  244,
-      244,  244,  239,    0,  244,    0,  237,    0,  240,    0,
-      245,  245,  245,    0,  241,  245,    0,    0,    0,  240,
-        0,  242,  246,  246,  246,    0,    0,  246,    0,    0,
-
-      241,  244,    0,  247,  247,  247,    0,    0,  247,    0,
-        0,  242,  245,  247,  248,  248,  248,    0,  245,  248,
-      249,  249,  249,    0,  246,  249,  250,  250,  250,    0,
-        0,  250,  251,  251,  251,  247,    0,  251,  252,  252,
-      252,    0,    0,  252,    0,    0,  248,    0,  252,  253,
-      253,  253,  249,    0,  253,  256,  256,  256,  250,    0,
-      256,    0,    0,  249,  251,    0,    0,    0,  248,    0,
-      252,    0,  257,  257,  257,    0,    0,  257,  258,  258,
-      258,  253,    0,  258,  259,  259,  259,  256,    0,  259,
-      260,  260,  260,    0,    0,  260,  261,  261,  261,    0,
-
-        0,  261,    0,  256,  257,    0,  263,  263,  263,    0,
-      258,  263,    0,  264,  264,  264,  259,  258,  264,    0,
-      257,    0,  260,    0,  265,  265,  265,    0,  261,  265,
-      267,  267,  267,    0,    0,  267,    0,    0,  263,  269,
-      269,  269,  263,  261,  269,  264,  260,    0,  261,  261,
-      270,  270,  270,    0,    0,  270,  265,    0,    0,    0,
-      264,    0,  267,  265,    0,  267,    0,  271,  271,  271,
-        0,  269,  271,  274,  274,  274,    0,    0,  274,  276,
-      276,  276,  270,    0,  276,    0,  277,  277,  277,  270,
-      269,  277,    0,  278,  278,  278,    0,    0,  278,  271,
-
-        0,    0,    0,  271,    0,  274,    0,  280,  280,  280,
-        0,  276,  280,    0,  281,  281,  281,    0,  277,  281,
-        0,  282,  282,  282,  274,  278,  282,    0,  276,  283,
-      283,  283,    0,    0,  283,  277,  284,  284,  284,  280,
-        0,  284,    0,  278,    0,    0,  281,    0,    0,  281,
-      285,  285,  285,  282,    0,  285,    0,  286,  286,  286,
-        0,  283,  286,    0,  287,  287,  287,  286,  284,  287,
-        0,  288,  288,  288,    0,  284,  288,  282,    0,  283,
-        0,    0,  285,  289,  289,  289,    0,    0,  289,  286,
-      290,  290,  290,    0,    0,  290,  287,    0,    0,  291,
-
-      291,  291,  285,  288,  291,  292,  292,  292,    0,    0,
-      292,    0,  293,  293,  293,  289,  287,  293,    0,  288,
-        0,    0,  290,    0,  294,  294,  294,    0,  289,  294,
-        0,  291,    0,    0,  296,  296,  296,  292,  291,  296,
-      290,  297,  297,  297,  293,    0,  297,  298,  298,  298,
-        0,    0,  298,  299,  299,  299,  294,  292,  299,    0,
-        0,    0,    0,  299,  293,    0,  296,  300,  300,  300,
-        0,    0,  300,  297,    0,  294,  301,  301,  301,  298,
-      296,  301,  302,  302,  302,  299,    0,  302,    0,    0,
-      297,    0,  298,  303,  303,  303,    0,    0,  303,  300,
-
-      304,  304,  304,    0,    0,  304,  300,    0,  301,    0,
-      305,  305,  305,  301,  302,  305,    0,  306,  306,  306,
-        0,  302,  306,    0,    0,  303,  307,  307,  307,    0,
-      303,  307,  304,  308,  308,  308,    0,    0,  308,  309,
-      309,  309,  305,    0,  309,  305,  310,  310,  310,  306,
-        0,  310,  311,  311,  311,    0,    0,  311,  307,    0,
-        0,  312,  312,  312,    0,  308,  312,  306,    0,  307,
-        0,  309,  313,  313,  313,    0,  308,  313,  310,    0,
-        0,  314,  314,  314,  311,  310,  314,  315,  315,  315,
-        0,  311,  315,  312,  316,  316,  316,    0,    0,  316,
-
-      317,  317,  317,    0,  313,  317,  319,  319,  319,  313,
-        0,  319,    0,  314,    0,  320,  320,  320,    0,  315,
-      320,    0,  321,  321,  321,    0,  316,  321,    0,  315,
-        0,    0,  317,    0,    0,    0,  314,    0,  319,    0,
-      322,  322,  322,    0,  317,  322,    0,  320,  324,  324,
-      324,    0,    0,  324,  321,    0,  319,  325,  325,  325,
-        0,    0,  325,  327,  327,  327,    0,    0,  327,  320,
-      321,    0,  322,    0,  328,  328,  328,    0,    0,  328,
-      324,  329,  329,  329,    0,    0,  329,    0,  322,  325,
-        0,  331,  331,  331,    0,  327,  331,  332,  332,  332,
-
-        0,    0,  332,    0,    0,  327,  328,  333,  333,  333,
-        0,    0,  333,  329,    0,    0,  329,  334,  334,  334,
-        0,    0,  334,  331,    0,    0,  328,    0,    0,  332,
-      331,  335,  335,  335,    0,    0,  335,    0,    0,  333,
-      332,    0,  338,  338,  338,    0,  333,  338,    0,  334,
-      339,  339,  339,    0,    0,  339,  340,  340,  340,    0,
-        0,  340,    0,  335,  334,  341,  341,  341,    0,    0,
-      341,    0,    0,    0,  338,    0,    0,  338,  335,  342,
-      342,  342,  339,    0,  342,    0,    0,    0,  340,  343,
-      343,  343,    0,    0,  343,    0,    0,  341,    0,  344,
-
-      344,  344,    0,  340,  344,  345,  345,  345,    0,    0,
-      345,  342,    0,    0,  346,  346,  346,  341,  342,  346,
-        0,  343,  348,  348,  348,    0,    0,  348,  349,  349,
-      349,  344,    0,  349,    0,    0,    0,  345,    0,  343,
-      350,  350,  350,    0,    0,  350,  346,  351,  351,  351,
-      344,    0,  351,    0,  348,    0,  345,  352,  352,  352,
-      349,  346,  352,  348,  353,  353,  353,    0,    0,  353,
-        0,    0,  350,  354,  354,  354,    0,    0,  354,  351,
-      355,  355,  355,    0,    0,  355,    0,    0,    0,  352,
-        0,  350,  357,  357,  357,    0,  353,  357,  351,  358,
-
-      358,  358,    0,    0,  358,  354,  361,  361,  361,    0,
-        0,  361,  355,    0,  354,  362,  362,  362,    0,  355,
-      362,  365,  365,  365,  357,    0,  365,  366,  366,  366,
-        0,  358,  366,    0,    0,  367,  367,  367,  361,    0,
-      367,    0,    0,    0,    0,  361,    0,  362,    0,    0,
-        0,    0,    0,  365,    0,    0,    0,    0,    0,  366,
-        0,    0,    0,    0,    0,    0,  362,  367,    0,    0,
-        0,    0,  365,  371,  371,  371,  371,  372,  372,  372,
-      372,  373,    0,  373,  373,  374,    0,    0,  374,  375,
-      375,  375,  375,  376,  376,  376,  376,  377,    0,  377,
-
-      377,  378,  378,  379,  379,  379,  379,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370
+       97,   97,   97,    0,   94,   97,   98,   98,   98,   94,
+
+        0,   98,   99,   99,   99,    0,    0,   99,    0,   95,
+        0,    0,  100,  100,  100,   96,    0,  100,  101,  101,
+      101,    0,   97,  101,    0,    0,    0,    0,   98,    0,
+       95,   96,   98,    0,   99,    0,  102,  102,  102,    0,
+        0,  102,   97,   99,  100,    0,  103,  103,  103,    0,
+      101,  103,  104,  104,  104,    0,  101,  104,    0,  100,
+      105,  105,  105,    0,    0,  105,    0,  100,  102,  106,
+      106,  106,    0,    0,  106,  107,  107,  107,  103,    0,
+      107,    0,  102,    0,  104,  108,  108,  108,    0,    0,
+      108,    0,  105,    0,  109,  109,  109,    0,  103,  109,
+
+        0,  106,  104,    0,  104,    0,  106,  107,    0,    0,
+      110,  110,  110,  107,  105,  110,    0,  108,  111,  111,
+      111,  108,    0,  111,    0,    0,  109,  121,  121,  121,
+        0,    0,  121,    0,    0,    0,    0,  109,  127,  127,
+      127,    0,  110,  127,    0,    0,  126,  126,  126,  110,
+      111,  126,    0,  128,  128,  128,    0,    0,  128,  121,
+        0,    0,    0,  111,  121,  125,  125,  125,  125,    0,
+      127,    0,    0,  125,  125,  125,  125,    0,  126,    0,
+        0,  130,  130,  130,  127,  128,  130,  125,  125,  125,
+      125,  125,  125,    0,  131,  131,  131,    0,  126,  131,
+
+        0,  132,  132,  132,    0,  128,  132,  133,  133,  133,
+        0,    0,  133,  130,  134,  134,  134,    0,    0,  134,
+        0,    0,  135,  135,  135,    0,  131,  135,    0,    0,
+      136,  136,  136,  132,  130,  136,  138,  138,  138,  133,
+        0,  138,    0,  131,    0,    0,  134,    0,  137,  137,
+      137,  133,  132,  137,  135,    0,  139,  139,  139,    0,
+        0,  139,  136,  134,  140,  140,  140,    0,  138,  140,
+        0,  136,  135,  141,  141,  141,    0,    0,  141,    0,
+      137,    0,    0,  137,  142,  142,  142,  138,  139,  142,
+      138,    0,  143,  143,  143,  139,  140,  143,    0,  144,
+
+      144,  144,    0,  140,  144,  141,    0,  145,  145,  145,
+        0,    0,  145,  146,  146,  146,  142,    0,  146,  142,
+        0,    0,  141,    0,  143,  147,  147,  147,    0,    0,
+      147,  144,  148,  148,  148,    0,    0,  148,  144,  145,
+        0,  149,  149,  149,  143,  146,  149,  150,  150,  150,
+        0,  145,  150,  158,  158,  158,    0,  147,  158,    0,
+        0,  146,    0,    0,  148,  160,  160,  160,    0,    0,
+      160,    0,    0,  149,    0,  160,  147,    0,    0,  150,
+        0,    0,    0,    0,    0,  158,    0,  148,    0,    0,
+      150,  149,    0,    0,    0,    0,    0,  160,    0,    0,
+
+        0,  158,  159,  159,  159,  159,    0,    0,    0,    0,
+      159,  159,  159,  159,  161,  161,  161,    0,    0,  161,
+        0,    0,    0,    0,  159,  159,  159,  159,  159,  159,
+      162,  162,  162,    0,    0,  162,  163,  163,  163,    0,
+        0,  163,  164,  164,  164,    0,  161,  164,    0,  165,
+      165,  165,    0,  161,  165,    0,    0,  164,  164,    0,
+        0,    0,  162,    0,  166,  166,  166,    0,  163,  166,
+      167,  167,  167,    0,  164,  167,    0,  163,    0,    0,
+      162,  165,  168,  168,  168,    0,    0,  168,  169,  169,
+      169,  165,    0,  169,    0,    0,  166,    0,  170,  170,
+
+      170,    0,  167,  170,  171,  171,  171,    0,    0,  171,
+        0,  172,  172,  172,  168,  166,  172,  168,    0,    0,
+      169,  173,  173,  173,    0,    0,  173,  169,    0,    0,
+      170,    0,  174,  174,  174,    0,  171,  174,    0,  170,
+      175,  175,  175,  172,    0,  175,    0,  171,    0,    0,
+      172,    0,    0,  173,  176,  176,  176,    0,    0,  176,
+      177,  177,  177,    0,  174,  177,  173,    0,    0,  178,
+      178,  178,  175,    0,  178,  179,  179,  179,    0,    0,
+      179,    0,    0,  180,  180,  180,  176,    0,  180,  181,
+      181,  181,  177,  175,  181,    0,    0,    0,    0,  177,
+
+      176,  178,    0,  182,  182,  182,    0,  179,  182,    0,
+        0,  184,  184,  184,  179,  180,  184,    0,    0,  178,
+        0,  181,  183,  183,  183,    0,  181,  183,  188,  188,
+      188,    0,  183,  188,    0,  182,  180,  190,  190,  190,
+        0,    0,  190,  184,    0,    0,    0,    0,    0,  184,
+      191,  191,  191,    0,  183,  191,  192,  192,  192,    0,
+      188,  192,  193,  193,  193,    0,    0,  193,    0,  190,
+        0,    0,    0,    0,    0,  188,  189,  189,  189,  189,
+        0,    0,  191,    0,  189,  189,  189,  189,  192,    0,
+      190,  194,  194,  194,  193,    0,  194,  191,  189,  189,
+
+      189,  189,  189,  189,  192,    0,    0,  193,  195,  195,
+      195,    0,    0,  195,  196,  196,  196,    0,    0,  196,
+      197,  197,  197,  194,    0,  197,  199,  199,  199,    0,
+      197,  199,  200,  200,  200,    0,    0,  200,    0,    0,
+      195,    0,  201,  201,  201,    0,  196,  201,  202,  202,
+      202,    0,  197,  202,  203,  203,  203,    0,  199,  203,
+      204,  204,  204,    0,  200,  204,  206,  206,  206,    0,
+        0,  206,    0,    0,  201,    0,  199,    0,    0,    0,
+      202,  201,  200,  207,  207,  207,  203,    0,  207,  208,
+      208,  208,  204,    0,  208,  209,  209,  209,  206,    0,
+
+      209,  210,  210,  210,  203,  202,  210,    0,  211,  211,
+      211,    0,    0,  211,    0,  207,    0,    0,  206,    0,
+        0,  208,  207,  212,  212,  212,    0,  209,  212,  214,
+      214,  214,    0,  210,  214,    0,    0,    0,  209,  208,
+      211,    0,  215,  215,  215,    0,    0,  215,    0,  217,
+      217,  217,    0,  210,  217,  212,    0,    0,    0,    0,
+      211,  214,  218,  218,  218,    0,  214,  218,    0,    0,
+      219,  219,  219,  212,  215,  219,    0,  215,  220,  220,
+      220,  217,    0,  220,    0,  221,  221,  221,    0,  217,
+      221,    0,    0,    0,  218,  225,  225,  225,    0,    0,
+
+      225,    0,  219,  226,  226,  226,    0,    0,  226,    0,
+      220,  218,    0,  227,  227,  227,    0,  221,  227,    0,
+        0,    0,  219,  220,  221,    0,    0,  225,  228,  228,
+      228,    0,    0,  228,    0,  226,  229,  229,  229,    0,
+      225,  229,  230,  230,  230,  227,    0,  230,  232,  232,
+      232,    0,    0,  232,    0,    0,    0,    0,  232,  226,
+      228,    0,    0,    0,  227,    0,  228,    0,  229,    0,
+        0,  233,  233,  233,  230,  229,  233,    0,    0,    0,
+      232,    0,  232,  234,  234,  234,    0,    0,  234,  235,
+      235,  235,    0,    0,  235,  236,  236,  236,    0,    0,
+
+      236,    0,    0,  233,    0,  236,  237,  237,  237,    0,
+        0,  237,  238,  238,  238,  234,    0,  238,    0,    0,
+        0,  235,    0,  233,  239,  239,  239,  236,    0,  239,
+      234,  240,  240,  240,    0,    0,  240,    0,  237,    0,
+        0,  235,    0,    0,  238,  242,  242,  242,    0,    0,
+      242,    0,  243,  243,  243,  238,  239,  243,    0,  244,
+      244,  244,    0,  240,  244,  245,  245,  245,    0,    0,
+      245,    0,  239,    0,    0,  245,    0,  242,    0,    0,
+      246,  246,  246,  240,  243,  246,    0,  247,  247,  247,
+      243,  244,  247,  248,  248,  248,    0,  245,  248,  249,
+
+      249,  249,    0,    0,  249,  250,  250,  250,    0,    0,
+      250,    0,  246,    0,    0,  250,  251,  251,  251,  247,
+        0,  251,  254,  254,  254,  248,    0,  254,    0,    0,
+      247,  249,    0,    0,  246,    0,    0,  250,    0,  255,
+      255,  255,    0,    0,  255,  256,  256,  256,  251,    0,
+      256,  257,  257,  257,  254,    0,  257,  258,  258,  258,
+        0,    0,  258,  259,  259,  259,    0,    0,  259,    0,
+      254,  255,    0,  261,  261,  261,    0,  256,  261,    0,
+      262,  262,  262,  257,  256,  262,    0,  255,    0,  258,
+        0,  263,  263,  263,    0,  259,  263,  265,  265,  265,
+
+        0,    0,  265,    0,    0,  261,  267,  267,  267,  261,
+      259,  267,  262,  258,    0,  259,  259,  268,  268,  268,
+        0,    0,  268,  263,    0,    0,    0,  262,    0,  265,
+      263,    0,  265,    0,  269,  269,  269,    0,  267,  269,
+      272,  272,  272,    0,    0,  272,  274,  274,  274,  268,
+        0,  274,    0,  275,  275,  275,  268,  267,  275,    0,
+      276,  276,  276,    0,    0,  276,  269,    0,    0,    0,
+      269,    0,  272,    0,  278,  278,  278,    0,  274,  278,
+        0,  279,  279,  279,    0,  275,  279,    0,  280,  280,
+      280,  272,  276,  280,    0,  274,  281,  281,  281,    0,
+
+        0,  281,  275,  282,  282,  282,  278,    0,  282,    0,
+      276,    0,    0,  279,    0,    0,  279,  283,  283,  283,
+      280,    0,  283,    0,  284,  284,  284,    0,  281,  284,
+        0,  285,  285,  285,  284,  282,  285,    0,  286,  286,
+      286,    0,  282,  286,  280,    0,  281,    0,    0,  283,
+      287,  287,  287,    0,    0,  287,  284,  288,  288,  288,
+        0,    0,  288,  285,    0,    0,  289,  289,  289,  283,
+      286,  289,  290,  290,  290,    0,    0,  290,    0,  291,
+      291,  291,  287,  285,  291,    0,  286,    0,    0,  288,
+        0,  292,  292,  292,    0,  287,  292,    0,  289,    0,
+
+        0,  294,  294,  294,  290,  289,  294,  288,  295,  295,
+      295,  291,    0,  295,  296,  296,  296,    0,    0,  296,
+      297,  297,  297,  292,  290,  297,    0,    0,    0,    0,
+      297,  291,    0,  294,  298,  298,  298,    0,    0,  298,
+      295,    0,  292,  299,  299,  299,  296,  294,  299,  300,
+      300,  300,  297,    0,  300,    0,    0,  295,    0,  296,
+      301,  301,  301,    0,    0,  301,  298,  302,  302,  302,
+        0,    0,  302,  298,    0,  299,    0,  303,  303,  303,
+      299,  300,  303,    0,  304,  304,  304,    0,  300,  304,
+        0,    0,  301,  305,  305,  305,    0,  301,  305,  302,
+
+      306,  306,  306,    0,    0,  306,  307,  307,  307,  303,
+        0,  307,  303,  308,  308,  308,  304,    0,  308,  309,
+      309,  309,    0,    0,  309,  305,    0,    0,  310,  310,
+      310,    0,  306,  310,  304,    0,  305,    0,  307,  311,
+      311,  311,    0,  306,  311,  308,    0,    0,  312,  312,
+      312,  309,  308,  312,  313,  313,  313,    0,  309,  313,
+      310,  314,  314,  314,    0,    0,  314,  315,  315,  315,
+        0,  311,  315,  317,  317,  317,  311,    0,  317,    0,
+      312,    0,  318,  318,  318,    0,  313,  318,    0,  319,
+      319,  319,    0,  314,  319,    0,  313,    0,    0,  315,
+
+        0,    0,    0,  312,    0,  317,    0,  320,  320,  320,
+        0,  315,  320,    0,  318,  322,  322,  322,    0,    0,
+      322,  319,    0,  317,  323,  323,  323,    0,    0,  323,
+      325,  325,  325,    0,    0,  325,  318,  319,    0,  320,
+        0,  326,  326,  326,    0,    0,  326,  322,  327,  327,
+      327,    0,    0,  327,    0,  320,  323,    0,  329,  329,
+      329,    0,  325,  329,  330,  330,  330,    0,    0,  330,
+        0,    0,  325,  326,  331,  331,  331,    0,    0,  331,
+      327,    0,    0,  327,  332,  332,  332,    0,    0,  332,
+      329,    0,    0,  326,    0,    0,  330,  329,  333,  333,
+
+      333,    0,    0,  333,    0,    0,  331,  330,    0,  336,
+      336,  336,    0,  331,  336,    0,  332,  337,  337,  337,
+        0,    0,  337,  338,  338,  338,    0,    0,  338,    0,
+      333,  332,  339,  339,  339,    0,    0,  339,    0,    0,
+        0,  336,    0,    0,  336,  333,  340,  340,  340,  337,
+        0,  340,    0,    0,    0,  338,  341,  341,  341,    0,
+        0,  341,    0,    0,  339,    0,  342,  342,  342,    0,
+      338,  342,  343,  343,  343,    0,    0,  343,  340,    0,
+        0,  344,  344,  344,  339,  340,  344,    0,  341,  346,
+      346,  346,    0,    0,  346,  347,  347,  347,  342,    0,
+
+      347,    0,    0,    0,  343,    0,  341,  348,  348,  348,
+        0,    0,  348,  344,  349,  349,  349,  342,    0,  349,
+        0,  346,    0,  343,  350,  350,  350,  347,  344,  350,
+      346,  351,  351,  351,    0,    0,  351,    0,    0,  348,
+      352,  352,  352,    0,    0,  352,  349,  353,  353,  353,
+        0,    0,  353,    0,    0,    0,  350,    0,  348,  355,
+      355,  355,    0,  351,  355,  349,  356,  356,  356,    0,
+        0,  356,  352,  359,  359,  359,    0,    0,  359,  353,
+        0,  352,  360,  360,  360,    0,  353,  360,  363,  363,
+      363,  355,    0,  363,  364,  364,  364,    0,  356,  364,
+
+        0,    0,  365,  365,  365,  359,    0,  365,    0,    0,
+        0,    0,  359,    0,  360,    0,    0,    0,    0,    0,
+      363,    0,    0,    0,    0,    0,  364,    0,    0,    0,
+        0,    0,    0,  360,  365,    0,    0,    0,    0,  363,
+      369,  369,  369,  369,  370,  370,  370,  370,  371,    0,
+      371,  371,  372,    0,    0,  372,  373,  373,  373,  373,
+      374,  374,  374,  374,  375,    0,  375,  375,  376,  376,
+      377,  377,  377,  377,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368
     } ;
 
 static yy_state_type yy_last_accepting_state;
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1454,15 +1448,15 @@ static char *yy_last_accepting_cpos;
 extern int yy_flex_debug;
 int yy_flex_debug = 1;
 
 extern int yy_flex_debug;
 int yy_flex_debug = 1;
 
-static const flex_int16_t yy_rule_linenum[64] =
+static const flex_int16_t yy_rule_linenum[63] =
     {   0,
       135,  137,  139,  144,  145,  150,  151,  152,  164,  167,
       172,  179,  188,  200,  212,  222,  232,  242,  251,  260,
       269,  278,  287,  296,  305,  314,  323,  332,  341,  350,
       359,  368,  377,  386,  395,  404,  413,  422,  431,  440,
     {   0,
       135,  137,  139,  144,  145,  150,  151,  152,  164,  167,
       172,  179,  188,  200,  212,  222,  232,  242,  251,  260,
       269,  278,  287,  296,  305,  314,  323,  332,  341,  350,
       359,  368,  377,  386,  395,  404,  413,  422,  431,  440,
-      449,  458,  467,  476,  485,  586,  602,  651,  659,  674,
-      675,  676,  677,  678,  679,  681,  699,  712,  717,  721,
-      723,  725,  727
+      449,  458,  467,  476,  577,  593,  642,  650,  665,  666,
+      667,  668,  669,  670,  672,  690,  703,  708,  712,  714,
+      716,  718
     } ;
 
 /* The intent behind this definition is that it'll catch
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -1519,7 +1513,7 @@ using isc::netconf::NetconfParser;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
-#line 1522 "netconf_lexer.cc"
+#line 1517 "netconf_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1545,8 +1539,8 @@ using isc::netconf::NetconfParser;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 1548 "netconf_lexer.cc"
-#line 1549 "netconf_lexer.cc"
+#line 1543 "netconf_lexer.cc"
+#line 1544 "netconf_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1860,7 +1854,7 @@ YY_DECL
     }
 
 
     }
 
 
-#line 1863 "netconf_lexer.cc"
+#line 1858 "netconf_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1889,13 +1883,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 371 )
+                               if ( yy_current_state >= 369 )
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 370 );
+               while ( yy_current_state != 368 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1914,13 +1908,13 @@ do_action:      /* This label is used only to access EOF actions. */
                        {
                        if ( yy_act == 0 )
                                fprintf( stderr, "--scanner backing up\n" );
                        {
                        if ( yy_act == 0 )
                                fprintf( stderr, "--scanner backing up\n" );
-                       else if ( yy_act < 64 )
+                       else if ( yy_act < 63 )
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
                                         (long)yy_rule_linenum[yy_act], yytext );
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
                                         (long)yy_rule_linenum[yy_act], yytext );
-                       else if ( yy_act == 64 )
+                       else if ( yy_act == 63 )
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
                                         yytext );
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
                                         yytext );
-                       else if ( yy_act == 65 )
+                       else if ( yy_act == 64 )
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
                        else
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
                        else
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -2156,18 +2150,6 @@ YY_RULE_SETUP
 case 22:
 YY_RULE_SETUP
 #line 278 "netconf_lexer.ll"
 case 22:
 YY_RULE_SETUP
 #line 278 "netconf_lexer.ll"
-{
-    switch(driver.ctx_) {
-    case ParserContext::MANAGED_SERVERS:
-        return NetconfParser::make_CA_SERVER(driver.loc_);
-    default:
-        return NetconfParser::make_STRING("ca", driver.loc_);
-    }
-}
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 287 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2177,9 +2159,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 24:
+case 23:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 296 "netconf_lexer.ll"
+#line 287 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2189,9 +2171,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 25:
+case 24:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 305 "netconf_lexer.ll"
+#line 296 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2201,9 +2183,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 26:
+case 25:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 314 "netconf_lexer.ll"
+#line 305 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2213,9 +2195,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 27:
+case 26:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 323 "netconf_lexer.ll"
+#line 314 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2225,9 +2207,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 28:
+case 27:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 332 "netconf_lexer.ll"
+#line 323 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2237,9 +2219,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 29:
+case 28:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 341 "netconf_lexer.ll"
+#line 332 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2249,9 +2231,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 30:
+case 29:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 350 "netconf_lexer.ll"
+#line 341 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2261,9 +2243,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 31:
+case 30:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 359 "netconf_lexer.ll"
+#line 350 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -2273,9 +2255,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 32:
+case 31:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 368 "netconf_lexer.ll"
+#line 359 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2285,9 +2267,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 33:
+case 32:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 377 "netconf_lexer.ll"
+#line 368 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2297,9 +2279,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 34:
+case 33:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 386 "netconf_lexer.ll"
+#line 377 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -2309,9 +2291,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 35:
+case 34:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 395 "netconf_lexer.ll"
+#line 386 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2321,9 +2303,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 36:
+case 35:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 404 "netconf_lexer.ll"
+#line 395 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2333,9 +2315,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 37:
+case 36:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 413 "netconf_lexer.ll"
+#line 404 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2345,9 +2327,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 38:
+case 37:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 422 "netconf_lexer.ll"
+#line 413 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2357,9 +2339,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 39:
+case 38:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 431 "netconf_lexer.ll"
+#line 422 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2369,9 +2351,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 40:
+case 39:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 440 "netconf_lexer.ll"
+#line 431 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2381,9 +2363,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 41:
+case 40:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 449 "netconf_lexer.ll"
+#line 440 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2393,9 +2375,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 42:
+case 41:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 458 "netconf_lexer.ll"
+#line 449 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2405,9 +2387,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 43:
+case 42:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 467 "netconf_lexer.ll"
+#line 458 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2417,9 +2399,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 44:
+case 43:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 476 "netconf_lexer.ll"
+#line 467 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2429,9 +2411,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
     }
 }
        YY_BREAK
-case 45:
+case 44:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 485 "netconf_lexer.ll"
+#line 476 "netconf_lexer.ll"
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
@@ -2533,10 +2515,10 @@ YY_RULE_SETUP
     return NetconfParser::make_STRING(decoded, driver.loc_);
 }
        YY_BREAK
     return NetconfParser::make_STRING(decoded, driver.loc_);
 }
        YY_BREAK
-case 46:
-/* rule 46 can match eol */
+case 45:
+/* rule 45 can match eol */
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 586 "netconf_lexer.ll"
+#line 577 "netconf_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     std::string raw(yytext+1);
 {
     /* Bad string with a forbidden control character inside */
     std::string raw(yytext+1);
@@ -2553,10 +2535,10 @@ YY_RULE_SETUP
                  pos + 1);
 }
        YY_BREAK
                  pos + 1);
 }
        YY_BREAK
-case 47:
-/* rule 47 can match eol */
+case 46:
+/* rule 46 can match eol */
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 602 "netconf_lexer.ll"
+#line 593 "netconf_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     std::string raw(yytext+1);
 {
     /* Bad string with a bad escape inside */
     std::string raw(yytext+1);
@@ -2606,9 +2588,9 @@ YY_RULE_SETUP
                  pos);
 }
        YY_BREAK
                  pos);
 }
        YY_BREAK
-case 48:
+case 47:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 651 "netconf_lexer.ll"
+#line 642 "netconf_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     std::string raw(yytext+1);
 {
     /* Bad string with an open escape at the end */
     std::string raw(yytext+1);
@@ -2617,9 +2599,9 @@ YY_RULE_SETUP
                  raw.size() + 1);
 }
        YY_BREAK
                  raw.size() + 1);
 }
        YY_BREAK
-case 49:
+case 48:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 659 "netconf_lexer.ll"
+#line 650 "netconf_lexer.ll"
 {
     /* Bad string with an open unicode escape at the end */
     std::string raw(yytext+1);
 {
     /* Bad string with an open unicode escape at the end */
     std::string raw(yytext+1);
@@ -2635,39 +2617,39 @@ YY_RULE_SETUP
                  pos + 1);
 }
        YY_BREAK
                  pos + 1);
 }
        YY_BREAK
-case 50:
+case 49:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 674 "netconf_lexer.ll"
+#line 665 "netconf_lexer.ll"
 { return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 51:
+case 50:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 675 "netconf_lexer.ll"
+#line 666 "netconf_lexer.ll"
 { return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 52:
+case 51:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 676 "netconf_lexer.ll"
+#line 667 "netconf_lexer.ll"
 { return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 53:
+case 52:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 677 "netconf_lexer.ll"
+#line 668 "netconf_lexer.ll"
 { return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 54:
+case 53:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 678 "netconf_lexer.ll"
+#line 669 "netconf_lexer.ll"
 { return NetconfParser::make_COMMA(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_COMMA(driver.loc_); }
        YY_BREAK
-case 55:
+case 54:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 679 "netconf_lexer.ll"
+#line 670 "netconf_lexer.ll"
 { return NetconfParser::make_COLON(driver.loc_); }
        YY_BREAK
 { return NetconfParser::make_COLON(driver.loc_); }
        YY_BREAK
-case 56:
+case 55:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 681 "netconf_lexer.ll"
+#line 672 "netconf_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -2686,9 +2668,9 @@ YY_RULE_SETUP
     return NetconfParser::make_INTEGER(integer, driver.loc_);
 }
        YY_BREAK
     return NetconfParser::make_INTEGER(integer, driver.loc_);
 }
        YY_BREAK
-case 57:
+case 56:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 699 "netconf_lexer.ll"
+#line 690 "netconf_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -2702,43 +2684,43 @@ YY_RULE_SETUP
     return NetconfParser::make_FLOAT(fp, driver.loc_);
 }
        YY_BREAK
     return NetconfParser::make_FLOAT(fp, driver.loc_);
 }
        YY_BREAK
-case 58:
+case 57:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 712 "netconf_lexer.ll"
+#line 703 "netconf_lexer.ll"
 {
     string tmp(yytext);
     return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
 }
        YY_BREAK
 {
     string tmp(yytext);
     return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
 }
        YY_BREAK
-case 59:
+case 58:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 717 "netconf_lexer.ll"
+#line 708 "netconf_lexer.ll"
 {
    return NetconfParser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 {
    return NetconfParser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
-case 60:
+case 59:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 721 "netconf_lexer.ll"
+#line 712 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
-case 61:
+case 60:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 723 "netconf_lexer.ll"
+#line 714 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
-case 62:
+case 61:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 725 "netconf_lexer.ll"
+#line 716 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
-case 63:
+case 62:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 727 "netconf_lexer.ll"
+#line 718 "netconf_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 729 "netconf_lexer.ll"
+#line 720 "netconf_lexer.ll"
 {
     if (driver.states_.empty()) {
         return NetconfParser::make_END(driver.loc_);
 {
     if (driver.states_.empty()) {
         return NetconfParser::make_END(driver.loc_);
@@ -2762,12 +2744,12 @@ case YY_STATE_EOF(INITIAL):
     BEGIN(DIR_EXIT);
 }
        YY_BREAK
     BEGIN(DIR_EXIT);
 }
        YY_BREAK
-case 64:
+case 63:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 752 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
 ECHO;
        YY_BREAK
 ECHO;
        YY_BREAK
-#line 2770 "netconf_lexer.cc"
+#line 2753 "netconf_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
 
        case YY_END_OF_BUFFER:
                {
@@ -3086,7 +3068,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 371 )
+                       if ( yy_current_state >= 369 )
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -3119,11 +3101,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 371 )
+               if ( yy_current_state >= 369 )
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-       yy_is_jam = (yy_current_state == 370);
+       yy_is_jam = (yy_current_state == 368);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -3872,7 +3854,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
 
 /* %ok-for-header */
 
-#line 752 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
 
 
 using namespace isc::dhcp;
 
 
 using namespace isc::dhcp;
index d6e7226270cddddf3f37dac6f1394841384a9fb3..22e679af402ba6f44b277d45b58e8defc9214033 100644 (file)
@@ -274,15 +274,6 @@ ControlCharacterFill            [^"\\]|\\["\\/bfnrtu]
     }
 }
 
     }
 }
 
-\"ca\" {
-    switch(driver.ctx_) {
-    case ParserContext::MANAGED_SERVERS:
-        return NetconfParser::make_CA_SERVER(driver.loc_);
-    default:
-        return NetconfParser::make_STRING("ca", driver.loc_);
-    }
-}
-
 \"model\" {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
 \"model\" {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
index ff6536d6e7849879a5db018dabc212e0edd4bf95..c35aba2ecb8c3c943dcf4b2c8aed1f0e3ac908a2 100644 (file)
@@ -383,43 +383,43 @@ namespace isc { namespace netconf {
         switch (yykind)
     {
       case symbol_kind::S_STRING: // "constant string"
         switch (yykind)
     {
       case symbol_kind::S_STRING: // "constant string"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < string > (); }
 #line 389 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_INTEGER: // "integer"
                  { yyoutput << yysym.value.template as < string > (); }
 #line 389 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_INTEGER: // "integer"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < int64_t > (); }
 #line 395 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_FLOAT: // "floating point"
                  { yyoutput << yysym.value.template as < int64_t > (); }
 #line 395 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_FLOAT: // "floating point"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < double > (); }
 #line 401 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_BOOLEAN: // "boolean"
                  { yyoutput << yysym.value.template as < double > (); }
 #line 401 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_BOOLEAN: // "boolean"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < bool > (); }
 #line 407 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_value: // value
                  { yyoutput << yysym.value.template as < bool > (); }
 #line 407 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_value: // value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 413 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_map_value: // map_value
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 413 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_map_value: // map_value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 419 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_socket_type_value: // socket_type_value
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 419 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_socket_type_value: // socket_type_value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 425 "netconf_parser.cc"
         break;
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 425 "netconf_parser.cc"
         break;
@@ -694,25 +694,25 @@ namespace isc { namespace netconf {
           switch (yyn)
             {
   case 2: // $@1: %empty
           switch (yyn)
             {
   case 2: // $@1: %empty
-#line 126 "netconf_parser.yy"
+#line 125 "netconf_parser.yy"
                        { ctx.ctx_ = ctx.NO_KEYWORDS; }
 #line 700 "netconf_parser.cc"
     break;
 
   case 4: // $@2: %empty
                        { ctx.ctx_ = ctx.NO_KEYWORDS; }
 #line 700 "netconf_parser.cc"
     break;
 
   case 4: // $@2: %empty
-#line 127 "netconf_parser.yy"
+#line 126 "netconf_parser.yy"
                          { ctx.ctx_ = ctx.CONFIG; }
 #line 706 "netconf_parser.cc"
     break;
 
   case 6: // $@3: %empty
                          { ctx.ctx_ = ctx.CONFIG; }
 #line 706 "netconf_parser.cc"
     break;
 
   case 6: // $@3: %empty
-#line 128 "netconf_parser.yy"
+#line 127 "netconf_parser.yy"
                          { ctx.ctx_ = ctx.NETCONF; }
 #line 712 "netconf_parser.cc"
     break;
 
   case 8: // $@4: %empty
                          { ctx.ctx_ = ctx.NETCONF; }
 #line 712 "netconf_parser.cc"
     break;
 
   case 8: // $@4: %empty
-#line 136 "netconf_parser.yy"
+#line 135 "netconf_parser.yy"
                             {
     // Parse the Netconf map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
                             {
     // Parse the Netconf map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -722,7 +722,7 @@ namespace isc { namespace netconf {
     break;
 
   case 9: // sub_netconf: "{" $@4 global_params "}"
     break;
 
   case 9: // sub_netconf: "{" $@4 global_params "}"
-#line 140 "netconf_parser.yy"
+#line 139 "netconf_parser.yy"
                                {
     // parsing completed
 }
                                {
     // parsing completed
 }
@@ -730,7 +730,7 @@ namespace isc { namespace netconf {
     break;
 
   case 10: // json: value
     break;
 
   case 10: // json: value
-#line 147 "netconf_parser.yy"
+#line 146 "netconf_parser.yy"
             {
     // Push back the JSON value on the stack
     ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
             {
     // Push back the JSON value on the stack
     ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
@@ -739,49 +739,49 @@ namespace isc { namespace netconf {
     break;
 
   case 11: // value: "integer"
     break;
 
   case 11: // value: "integer"
-#line 153 "netconf_parser.yy"
+#line 152 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
 #line 745 "netconf_parser.cc"
     break;
 
   case 12: // value: "floating point"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
 #line 745 "netconf_parser.cc"
     break;
 
   case 12: // value: "floating point"
-#line 154 "netconf_parser.yy"
+#line 153 "netconf_parser.yy"
              { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
 #line 751 "netconf_parser.cc"
     break;
 
   case 13: // value: "boolean"
              { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
 #line 751 "netconf_parser.cc"
     break;
 
   case 13: // value: "boolean"
-#line 155 "netconf_parser.yy"
+#line 154 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
 #line 757 "netconf_parser.cc"
     break;
 
   case 14: // value: "constant string"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
 #line 757 "netconf_parser.cc"
     break;
 
   case 14: // value: "constant string"
-#line 156 "netconf_parser.yy"
+#line 155 "netconf_parser.yy"
               { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location))); }
 #line 763 "netconf_parser.cc"
     break;
 
   case 15: // value: "null"
               { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location))); }
 #line 763 "netconf_parser.cc"
     break;
 
   case 15: // value: "null"
-#line 157 "netconf_parser.yy"
+#line 156 "netconf_parser.yy"
                  { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
 #line 769 "netconf_parser.cc"
     break;
 
   case 16: // value: map
                  { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
 #line 769 "netconf_parser.cc"
     break;
 
   case 16: // value: map
-#line 158 "netconf_parser.yy"
+#line 157 "netconf_parser.yy"
            { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 775 "netconf_parser.cc"
     break;
 
   case 17: // value: list_generic
            { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 775 "netconf_parser.cc"
     break;
 
   case 17: // value: list_generic
-#line 159 "netconf_parser.yy"
+#line 158 "netconf_parser.yy"
                     { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 781 "netconf_parser.cc"
     break;
 
   case 18: // $@5: %empty
                     { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 781 "netconf_parser.cc"
     break;
 
   case 18: // $@5: %empty
-#line 163 "netconf_parser.yy"
+#line 162 "netconf_parser.yy"
                     {
     // This code is executed when we're about to start parsing
     // the content of the map
                     {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -792,7 +792,7 @@ namespace isc { namespace netconf {
     break;
 
   case 19: // map: "{" $@5 map_content "}"
     break;
 
   case 19: // map: "{" $@5 map_content "}"
-#line 168 "netconf_parser.yy"
+#line 167 "netconf_parser.yy"
                              {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
                              {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -802,13 +802,13 @@ namespace isc { namespace netconf {
     break;
 
   case 20: // map_value: map
     break;
 
   case 20: // map_value: map
-#line 174 "netconf_parser.yy"
+#line 173 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 808 "netconf_parser.cc"
     break;
 
   case 23: // not_empty_map: "constant string" ":" value
                { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 808 "netconf_parser.cc"
     break;
 
   case 23: // not_empty_map: "constant string" ":" value
-#line 188 "netconf_parser.yy"
+#line 187 "netconf_parser.yy"
                                   {
                   // map containing a single entry
                   ctx.unique(yystack_[2].value.as < string > (), ctx.loc2pos(yystack_[2].location));
                                   {
                   // map containing a single entry
                   ctx.unique(yystack_[2].value.as < string > (), ctx.loc2pos(yystack_[2].location));
@@ -818,7 +818,7 @@ namespace isc { namespace netconf {
     break;
 
   case 24: // not_empty_map: not_empty_map "," "constant string" ":" value
     break;
 
   case 24: // not_empty_map: not_empty_map "," "constant string" ":" value
-#line 193 "netconf_parser.yy"
+#line 192 "netconf_parser.yy"
                                                       {
                   // map consisting of a shorter map followed by
                   // comma and string:value
                                                       {
                   // map consisting of a shorter map followed by
                   // comma and string:value
@@ -829,7 +829,7 @@ namespace isc { namespace netconf {
     break;
 
   case 25: // not_empty_map: not_empty_map ","
     break;
 
   case 25: // not_empty_map: not_empty_map ","
-#line 199 "netconf_parser.yy"
+#line 198 "netconf_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
@@ -837,7 +837,7 @@ namespace isc { namespace netconf {
     break;
 
   case 26: // $@6: %empty
     break;
 
   case 26: // $@6: %empty
-#line 204 "netconf_parser.yy"
+#line 203 "netconf_parser.yy"
                               {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(l);
                               {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(l);
@@ -846,14 +846,14 @@ namespace isc { namespace netconf {
     break;
 
   case 27: // list_generic: "[" $@6 list_content "]"
     break;
 
   case 27: // list_generic: "[" $@6 list_content "]"
-#line 207 "netconf_parser.yy"
+#line 206 "netconf_parser.yy"
                                {
 }
 #line 853 "netconf_parser.cc"
     break;
 
   case 30: // not_empty_list: value
                                {
 }
 #line 853 "netconf_parser.cc"
     break;
 
   case 30: // not_empty_list: value
-#line 214 "netconf_parser.yy"
+#line 213 "netconf_parser.yy"
                       {
                   // List consisting of a single element.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
                       {
                   // List consisting of a single element.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -862,7 +862,7 @@ namespace isc { namespace netconf {
     break;
 
   case 31: // not_empty_list: not_empty_list "," value
     break;
 
   case 31: // not_empty_list: not_empty_list "," value
-#line 218 "netconf_parser.yy"
+#line 217 "netconf_parser.yy"
                                            {
                   // List ending with , and a value.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
                                            {
                   // List ending with , and a value.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -871,7 +871,7 @@ namespace isc { namespace netconf {
     break;
 
   case 32: // not_empty_list: not_empty_list ","
     break;
 
   case 32: // not_empty_list: not_empty_list ","
-#line 222 "netconf_parser.yy"
+#line 221 "netconf_parser.yy"
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
@@ -879,7 +879,7 @@ namespace isc { namespace netconf {
     break;
 
   case 33: // unknown_map_entry: "constant string" ":"
     break;
 
   case 33: // unknown_map_entry: "constant string" ":"
-#line 234 "netconf_parser.yy"
+#line 233 "netconf_parser.yy"
                                 {
     const string& where = ctx.contextName();
     const string& keyword = yystack_[1].value.as < string > ();
                                 {
     const string& where = ctx.contextName();
     const string& keyword = yystack_[1].value.as < string > ();
@@ -890,7 +890,7 @@ namespace isc { namespace netconf {
     break;
 
   case 34: // $@7: %empty
     break;
 
   case 34: // $@7: %empty
-#line 242 "netconf_parser.yy"
+#line 241 "netconf_parser.yy"
                                    {
     // This code is executed when we're about to start parsing
     // the content of the map
                                    {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -901,7 +901,7 @@ namespace isc { namespace netconf {
     break;
 
   case 35: // netconf_syntax_map: "{" $@7 global_object "}"
     break;
 
   case 35: // netconf_syntax_map: "{" $@7 global_object "}"
-#line 247 "netconf_parser.yy"
+#line 246 "netconf_parser.yy"
                                {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
                                {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -911,7 +911,7 @@ namespace isc { namespace netconf {
     break;
 
   case 36: // $@8: %empty
     break;
 
   case 36: // $@8: %empty
-#line 254 "netconf_parser.yy"
+#line 253 "netconf_parser.yy"
                        {
     // Let's create a MapElement that will represent it, add it to the
     // top level map (that's already on the stack) and put the new map
                        {
     // Let's create a MapElement that will represent it, add it to the
     // top level map (that's already on the stack) and put the new map
@@ -929,7 +929,7 @@ namespace isc { namespace netconf {
     break;
 
   case 37: // global_object: "Netconf" $@8 ":" "{" global_params "}"
     break;
 
   case 37: // global_object: "Netconf" $@8 ":" "{" global_params "}"
-#line 266 "netconf_parser.yy"
+#line 265 "netconf_parser.yy"
                                                     {
     // Ok, we're done with parsing Netconf. Let's take the map
     // off the stack.
                                                     {
     // Ok, we're done with parsing Netconf. Let's take the map
     // off the stack.
@@ -940,7 +940,7 @@ namespace isc { namespace netconf {
     break;
 
   case 39: // global_object_comma: global_object ","
     break;
 
   case 39: // global_object_comma: global_object ","
-#line 275 "netconf_parser.yy"
+#line 274 "netconf_parser.yy"
                                          {
     ctx.warnAboutExtraCommas(yystack_[0].location);
 }
                                          {
     ctx.warnAboutExtraCommas(yystack_[0].location);
 }
@@ -948,7 +948,7 @@ namespace isc { namespace netconf {
     break;
 
   case 44: // not_empty_global_params: not_empty_global_params ","
     break;
 
   case 44: // not_empty_global_params: not_empty_global_params ","
-#line 286 "netconf_parser.yy"
+#line 285 "netconf_parser.yy"
                                                        {
                            ctx.warnAboutExtraCommas(yystack_[0].location);
                            }
                                                        {
                            ctx.warnAboutExtraCommas(yystack_[0].location);
                            }
@@ -956,7 +956,7 @@ namespace isc { namespace netconf {
     break;
 
   case 54: // boot_update: "boot-update" ":" "boolean"
     break;
 
   case 54: // boot_update: "boot-update" ":" "boolean"
-#line 304 "netconf_parser.yy"
+#line 303 "netconf_parser.yy"
                                        {
     ctx.unique("boot-update", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
                                        {
     ctx.unique("boot-update", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -966,7 +966,7 @@ namespace isc { namespace netconf {
     break;
 
   case 55: // subscribe_changes: "subscribe-changes" ":" "boolean"
     break;
 
   case 55: // subscribe_changes: "subscribe-changes" ":" "boolean"
-#line 310 "netconf_parser.yy"
+#line 309 "netconf_parser.yy"
                                                    {
     ctx.unique("subscribe-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
                                                    {
     ctx.unique("subscribe-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -976,7 +976,7 @@ namespace isc { namespace netconf {
     break;
 
   case 56: // validate_changes: "validate-changes" ":" "boolean"
     break;
 
   case 56: // validate_changes: "validate-changes" ":" "boolean"
-#line 316 "netconf_parser.yy"
+#line 315 "netconf_parser.yy"
                                                  {
     ctx.unique("validate-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
                                                  {
     ctx.unique("validate-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -986,7 +986,7 @@ namespace isc { namespace netconf {
     break;
 
   case 57: // $@9: %empty
     break;
 
   case 57: // $@9: %empty
-#line 322 "netconf_parser.yy"
+#line 321 "netconf_parser.yy"
                            {
     ctx.enter(ctx.NO_KEYWORDS);
 }
                            {
     ctx.enter(ctx.NO_KEYWORDS);
 }
@@ -994,7 +994,7 @@ namespace isc { namespace netconf {
     break;
 
   case 58: // user_context: "user-context" $@9 ":" map_value
     break;
 
   case 58: // user_context: "user-context" $@9 ":" map_value
-#line 324 "netconf_parser.yy"
+#line 323 "netconf_parser.yy"
                   {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
                   {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
@@ -1021,7 +1021,7 @@ namespace isc { namespace netconf {
     break;
 
   case 59: // $@10: %empty
     break;
 
   case 59: // $@10: %empty
-#line 347 "netconf_parser.yy"
+#line 346 "netconf_parser.yy"
                  {
     ctx.enter(ctx.NO_KEYWORDS);
 }
                  {
     ctx.enter(ctx.NO_KEYWORDS);
 }
@@ -1029,7 +1029,7 @@ namespace isc { namespace netconf {
     break;
 
   case 60: // comment: "comment" $@10 ":" "constant string"
     break;
 
   case 60: // comment: "comment" $@10 ":" "constant string"
-#line 349 "netconf_parser.yy"
+#line 348 "netconf_parser.yy"
                {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
                {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -1058,7 +1058,7 @@ namespace isc { namespace netconf {
     break;
 
   case 61: // $@11: %empty
     break;
 
   case 61: // $@11: %empty
-#line 375 "netconf_parser.yy"
+#line 374 "netconf_parser.yy"
                                  {
     ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
                                  {
     ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1070,7 +1070,7 @@ namespace isc { namespace netconf {
     break;
 
   case 62: // hooks_libraries: "hooks-libraries" $@11 ":" "[" hooks_libraries_list "]"
     break;
 
   case 62: // hooks_libraries: "hooks-libraries" $@11 ":" "[" hooks_libraries_list "]"
-#line 381 "netconf_parser.yy"
+#line 380 "netconf_parser.yy"
                                                              {
     ctx.stack_.pop_back();
     ctx.leave();
                                                              {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1079,7 +1079,7 @@ namespace isc { namespace netconf {
     break;
 
   case 67: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
     break;
 
   case 67: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
-#line 392 "netconf_parser.yy"
+#line 391 "netconf_parser.yy"
                                            {
         ctx.warnAboutExtraCommas(yystack_[0].location);
         }
                                            {
         ctx.warnAboutExtraCommas(yystack_[0].location);
         }
@@ -1087,7 +1087,7 @@ namespace isc { namespace netconf {
     break;
 
   case 68: // $@12: %empty
     break;
 
   case 68: // $@12: %empty
-#line 397 "netconf_parser.yy"
+#line 396 "netconf_parser.yy"
                               {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
                               {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1097,7 +1097,7 @@ namespace isc { namespace netconf {
     break;
 
   case 69: // hooks_library: "{" $@12 hooks_params "}"
     break;
 
   case 69: // hooks_library: "{" $@12 hooks_params "}"
-#line 401 "netconf_parser.yy"
+#line 400 "netconf_parser.yy"
                               {
     ctx.stack_.pop_back();
 }
                               {
     ctx.stack_.pop_back();
 }
@@ -1105,7 +1105,7 @@ namespace isc { namespace netconf {
     break;
 
   case 72: // hooks_params: hooks_params ","
     break;
 
   case 72: // hooks_params: hooks_params ","
-#line 407 "netconf_parser.yy"
+#line 406 "netconf_parser.yy"
                                  {
               ctx.warnAboutExtraCommas(yystack_[0].location);
               }
                                  {
               ctx.warnAboutExtraCommas(yystack_[0].location);
               }
@@ -1113,7 +1113,7 @@ namespace isc { namespace netconf {
     break;
 
   case 76: // $@13: %empty
     break;
 
   case 76: // $@13: %empty
-#line 417 "netconf_parser.yy"
+#line 416 "netconf_parser.yy"
                  {
     ctx.unique("library", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
                  {
     ctx.unique("library", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
@@ -1122,7 +1122,7 @@ namespace isc { namespace netconf {
     break;
 
   case 77: // library: "library" $@13 ":" "constant string"
     break;
 
   case 77: // library: "library" $@13 ":" "constant string"
-#line 420 "netconf_parser.yy"
+#line 419 "netconf_parser.yy"
                {
     ElementPtr lib(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
                {
     ElementPtr lib(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
@@ -1132,7 +1132,7 @@ namespace isc { namespace netconf {
     break;
 
   case 78: // $@14: %empty
     break;
 
   case 78: // $@14: %empty
-#line 426 "netconf_parser.yy"
+#line 425 "netconf_parser.yy"
                        {
     ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
                        {
     ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
@@ -1141,7 +1141,7 @@ namespace isc { namespace netconf {
     break;
 
   case 79: // parameters: "parameters" $@14 ":" map_value
     break;
 
   case 79: // parameters: "parameters" $@14 ":" map_value
-#line 429 "netconf_parser.yy"
+#line 428 "netconf_parser.yy"
                   {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
                   {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
@@ -1150,7 +1150,7 @@ namespace isc { namespace netconf {
     break;
 
   case 80: // $@15: %empty
     break;
 
   case 80: // $@15: %empty
-#line 437 "netconf_parser.yy"
+#line 436 "netconf_parser.yy"
                                                       {
     ctx.unique("managed-servers", ctx.loc2pos(yystack_[2].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location)));
                                                       {
     ctx.unique("managed-servers", ctx.loc2pos(yystack_[2].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location)));
@@ -1162,7 +1162,7 @@ namespace isc { namespace netconf {
     break;
 
   case 81: // managed_servers: "managed-servers" ":" "{" $@15 servers_entries "}"
     break;
 
   case 81: // managed_servers: "managed-servers" ":" "{" $@15 servers_entries "}"
-#line 443 "netconf_parser.yy"
+#line 442 "netconf_parser.yy"
                                  {
     ctx.stack_.pop_back();
     ctx.leave();
                                  {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1171,15 +1171,15 @@ namespace isc { namespace netconf {
     break;
 
   case 86: // not_empty_servers_entries: not_empty_servers_entries ","
     break;
 
   case 86: // not_empty_servers_entries: not_empty_servers_entries ","
-#line 454 "netconf_parser.yy"
+#line 453 "netconf_parser.yy"
                                                            {
                              ctx.warnAboutExtraCommas(yystack_[0].location);
                              }
 #line 1179 "netconf_parser.cc"
     break;
 
                                                            {
                              ctx.warnAboutExtraCommas(yystack_[0].location);
                              }
 #line 1179 "netconf_parser.cc"
     break;
 
-  case 92: // $@16: %empty
-#line 470 "netconf_parser.yy"
+  case 91: // $@16: %empty
+#line 468 "netconf_parser.yy"
                            {
     ctx.unique("dhcp4", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
                            {
     ctx.unique("dhcp4", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1190,8 +1190,8 @@ namespace isc { namespace netconf {
 #line 1191 "netconf_parser.cc"
     break;
 
 #line 1191 "netconf_parser.cc"
     break;
 
-  case 93: // dhcp4_server: "dhcp4" $@16 ":" "{" managed_server_params "}"
-#line 476 "netconf_parser.yy"
+  case 92: // dhcp4_server: "dhcp4" $@16 ":" "{" managed_server_params "}"
+#line 474 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1199,8 +1199,8 @@ namespace isc { namespace netconf {
 #line 1200 "netconf_parser.cc"
     break;
 
 #line 1200 "netconf_parser.cc"
     break;
 
-  case 94: // $@17: %empty
-#line 482 "netconf_parser.yy"
+  case 93: // $@17: %empty
+#line 480 "netconf_parser.yy"
                            {
     ctx.unique("dhcp6", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
                            {
     ctx.unique("dhcp6", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1211,8 +1211,8 @@ namespace isc { namespace netconf {
 #line 1212 "netconf_parser.cc"
     break;
 
 #line 1212 "netconf_parser.cc"
     break;
 
-  case 95: // dhcp6_server: "dhcp6" $@17 ":" "{" managed_server_params "}"
-#line 488 "netconf_parser.yy"
+  case 94: // dhcp6_server: "dhcp6" $@17 ":" "{" managed_server_params "}"
+#line 486 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1220,8 +1220,8 @@ namespace isc { namespace netconf {
 #line 1221 "netconf_parser.cc"
     break;
 
 #line 1221 "netconf_parser.cc"
     break;
 
-  case 96: // $@18: %empty
-#line 494 "netconf_parser.yy"
+  case 95: // $@18: %empty
+#line 492 "netconf_parser.yy"
                      {
     ctx.unique("d2", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
                      {
     ctx.unique("d2", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1232,8 +1232,8 @@ namespace isc { namespace netconf {
 #line 1233 "netconf_parser.cc"
     break;
 
 #line 1233 "netconf_parser.cc"
     break;
 
-  case 97: // d2_server: "d2" $@18 ":" "{" managed_server_params "}"
-#line 500 "netconf_parser.yy"
+  case 96: // d2_server: "d2" $@18 ":" "{" managed_server_params "}"
+#line 498 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1241,56 +1241,35 @@ namespace isc { namespace netconf {
 #line 1242 "netconf_parser.cc"
     break;
 
 #line 1242 "netconf_parser.cc"
     break;
 
-  case 98: // $@19: %empty
+  case 99: // managed_server_params: managed_server_params ","
 #line 506 "netconf_parser.yy"
 #line 506 "netconf_parser.yy"
-                     {
-    ctx.unique("ca", ctx.loc2pos(yystack_[0].location));
-    ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
-    ctx.stack_.back()->set("ca", m);
-    ctx.stack_.push_back(m);
-    ctx.enter(ctx.SERVER);
-}
-#line 1254 "netconf_parser.cc"
-    break;
-
-  case 99: // ca_server: "ca" $@19 ":" "{" managed_server_params "}"
-#line 512 "netconf_parser.yy"
-                                                            {
-    ctx.stack_.pop_back();
-    ctx.leave();
-}
-#line 1263 "netconf_parser.cc"
-    break;
-
-  case 102: // managed_server_params: managed_server_params ","
-#line 520 "netconf_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 1271 "netconf_parser.cc"
+#line 1250 "netconf_parser.cc"
     break;
 
     break;
 
-  case 111: // $@20: %empty
-#line 537 "netconf_parser.yy"
+  case 108: // $@19: %empty
+#line 523 "netconf_parser.yy"
              {
     ctx.unique("model", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
              {
     ctx.unique("model", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1280 "netconf_parser.cc"
+#line 1259 "netconf_parser.cc"
     break;
 
     break;
 
-  case 112: // model: "model" $@20 ":" "constant string"
-#line 540 "netconf_parser.yy"
+  case 109: // model: "model" $@19 ":" "constant string"
+#line 526 "netconf_parser.yy"
                {
     ElementPtr model(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("model", model);
     ctx.leave();
 }
                {
     ElementPtr model(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("model", model);
     ctx.leave();
 }
-#line 1290 "netconf_parser.cc"
+#line 1269 "netconf_parser.cc"
     break;
 
     break;
 
-  case 113: // $@21: %empty
-#line 547 "netconf_parser.yy"
+  case 110: // $@20: %empty
+#line 533 "netconf_parser.yy"
                                {
     ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
                                {
     ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1298,102 +1277,102 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKET);
 }
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKET);
 }
-#line 1302 "netconf_parser.cc"
+#line 1281 "netconf_parser.cc"
     break;
 
     break;
 
-  case 114: // control_socket: "control-socket" $@21 ":" "{" control_socket_params "}"
-#line 553 "netconf_parser.yy"
+  case 111: // control_socket: "control-socket" $@20 ":" "{" control_socket_params "}"
+#line 539 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1311 "netconf_parser.cc"
+#line 1290 "netconf_parser.cc"
     break;
 
     break;
 
-  case 117: // control_socket_params: control_socket_params ","
-#line 561 "netconf_parser.yy"
+  case 114: // control_socket_params: control_socket_params ","
+#line 547 "netconf_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 1319 "netconf_parser.cc"
+#line 1298 "netconf_parser.cc"
     break;
 
     break;
 
-  case 124: // $@22: %empty
-#line 574 "netconf_parser.yy"
+  case 121: // $@21: %empty
+#line 560 "netconf_parser.yy"
                          {
     ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.SOCKET_TYPE);
 }
                          {
     ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.SOCKET_TYPE);
 }
-#line 1328 "netconf_parser.cc"
+#line 1307 "netconf_parser.cc"
     break;
 
     break;
 
-  case 125: // socket_type: "socket-type" $@22 ":" socket_type_value
-#line 577 "netconf_parser.yy"
+  case 122: // socket_type: "socket-type" $@21 ":" socket_type_value
+#line 563 "netconf_parser.yy"
                           {
     ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
                           {
     ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 1337 "netconf_parser.cc"
+#line 1316 "netconf_parser.cc"
     break;
 
     break;
 
-  case 126: // socket_type_value: "unix"
-#line 583 "netconf_parser.yy"
+  case 123: // socket_type_value: "unix"
+#line 569 "netconf_parser.yy"
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); }
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); }
-#line 1343 "netconf_parser.cc"
+#line 1322 "netconf_parser.cc"
     break;
 
     break;
 
-  case 127: // socket_type_value: "http"
-#line 584 "netconf_parser.yy"
+  case 124: // socket_type_value: "http"
+#line 570 "netconf_parser.yy"
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); }
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); }
-#line 1349 "netconf_parser.cc"
+#line 1328 "netconf_parser.cc"
     break;
 
     break;
 
-  case 128: // socket_type_value: "stdout"
-#line 585 "netconf_parser.yy"
+  case 125: // socket_type_value: "stdout"
+#line 571 "netconf_parser.yy"
                            { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stdout", ctx.loc2pos(yystack_[0].location))); }
                            { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stdout", ctx.loc2pos(yystack_[0].location))); }
-#line 1355 "netconf_parser.cc"
+#line 1334 "netconf_parser.cc"
     break;
 
     break;
 
-  case 129: // $@23: %empty
-#line 588 "netconf_parser.yy"
+  case 126: // $@22: %empty
+#line 574 "netconf_parser.yy"
                          {
     ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
                          {
     ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1364 "netconf_parser.cc"
+#line 1343 "netconf_parser.cc"
     break;
 
     break;
 
-  case 130: // socket_name: "socket-name" $@23 ":" "constant string"
-#line 591 "netconf_parser.yy"
+  case 127: // socket_name: "socket-name" $@22 ":" "constant string"
+#line 577 "netconf_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
-#line 1374 "netconf_parser.cc"
+#line 1353 "netconf_parser.cc"
     break;
 
     break;
 
-  case 131: // $@24: %empty
-#line 598 "netconf_parser.yy"
+  case 128: // $@23: %empty
+#line 584 "netconf_parser.yy"
                        {
     ctx.unique("socket-url", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
                        {
     ctx.unique("socket-url", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1383 "netconf_parser.cc"
+#line 1362 "netconf_parser.cc"
     break;
 
     break;
 
-  case 132: // socket_url: "socket-url" $@24 ":" "constant string"
-#line 601 "netconf_parser.yy"
+  case 129: // socket_url: "socket-url" $@23 ":" "constant string"
+#line 587 "netconf_parser.yy"
                {
     ElementPtr url(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-url", url);
     ctx.leave();
 }
                {
     ElementPtr url(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-url", url);
     ctx.leave();
 }
-#line 1393 "netconf_parser.cc"
+#line 1372 "netconf_parser.cc"
     break;
 
     break;
 
-  case 133: // $@25: %empty
-#line 611 "netconf_parser.yy"
+  case 130: // $@24: %empty
+#line 597 "netconf_parser.yy"
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1401,102 +1380,102 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 1405 "netconf_parser.cc"
+#line 1384 "netconf_parser.cc"
     break;
 
     break;
 
-  case 134: // loggers: "loggers" $@25 ":" "[" loggers_entries "]"
-#line 617 "netconf_parser.yy"
+  case 131: // loggers: "loggers" $@24 ":" "[" loggers_entries "]"
+#line 603 "netconf_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1414 "netconf_parser.cc"
+#line 1393 "netconf_parser.cc"
     break;
 
     break;
 
-  case 137: // loggers_entries: loggers_entries ","
-#line 626 "netconf_parser.yy"
+  case 134: // loggers_entries: loggers_entries ","
+#line 612 "netconf_parser.yy"
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
-#line 1422 "netconf_parser.cc"
+#line 1401 "netconf_parser.cc"
     break;
 
     break;
 
-  case 138: // $@26: %empty
-#line 632 "netconf_parser.yy"
+  case 135: // $@25: %empty
+#line 618 "netconf_parser.yy"
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 1432 "netconf_parser.cc"
+#line 1411 "netconf_parser.cc"
     break;
 
     break;
 
-  case 139: // logger_entry: "{" $@26 logger_params "}"
-#line 636 "netconf_parser.yy"
+  case 136: // logger_entry: "{" $@25 logger_params "}"
+#line 622 "netconf_parser.yy"
                                {
     ctx.stack_.pop_back();
 }
                                {
     ctx.stack_.pop_back();
 }
-#line 1440 "netconf_parser.cc"
+#line 1419 "netconf_parser.cc"
     break;
 
     break;
 
-  case 142: // logger_params: logger_params ","
-#line 642 "netconf_parser.yy"
+  case 139: // logger_params: logger_params ","
+#line 628 "netconf_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1448 "netconf_parser.cc"
+#line 1427 "netconf_parser.cc"
     break;
 
     break;
 
-  case 150: // $@27: %empty
-#line 656 "netconf_parser.yy"
+  case 147: // $@26: %empty
+#line 642 "netconf_parser.yy"
            {
     ctx.unique("name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
            {
     ctx.unique("name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1457 "netconf_parser.cc"
+#line 1436 "netconf_parser.cc"
     break;
 
     break;
 
-  case 151: // name: "name" $@27 ":" "constant string"
-#line 659 "netconf_parser.yy"
+  case 148: // name: "name" $@26 ":" "constant string"
+#line 645 "netconf_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
-#line 1467 "netconf_parser.cc"
+#line 1446 "netconf_parser.cc"
     break;
 
     break;
 
-  case 152: // debuglevel: "debuglevel" ":" "integer"
-#line 665 "netconf_parser.yy"
+  case 149: // debuglevel: "debuglevel" ":" "integer"
+#line 651 "netconf_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);
 }
                                      {
     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 1477 "netconf_parser.cc"
+#line 1456 "netconf_parser.cc"
     break;
 
     break;
 
-  case 153: // $@28: %empty
-#line 671 "netconf_parser.yy"
+  case 150: // $@27: %empty
+#line 657 "netconf_parser.yy"
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1486 "netconf_parser.cc"
+#line 1465 "netconf_parser.cc"
     break;
 
     break;
 
-  case 154: // severity: "severity" $@28 ":" "constant string"
-#line 674 "netconf_parser.yy"
+  case 151: // severity: "severity" $@27 ":" "constant string"
+#line 660 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 1496 "netconf_parser.cc"
+#line 1475 "netconf_parser.cc"
     break;
 
     break;
 
-  case 155: // $@29: %empty
-#line 680 "netconf_parser.yy"
+  case 152: // $@28: %empty
+#line 666 "netconf_parser.yy"
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1504,122 +1483,122 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 1508 "netconf_parser.cc"
+#line 1487 "netconf_parser.cc"
     break;
 
     break;
 
-  case 156: // output_options_list: "output-options" $@29 ":" "[" output_options_list_content "]"
-#line 686 "netconf_parser.yy"
+  case 153: // output_options_list: "output-options" $@28 ":" "[" output_options_list_content "]"
+#line 672 "netconf_parser.yy"
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1517 "netconf_parser.cc"
+#line 1496 "netconf_parser.cc"
     break;
 
     break;
 
-  case 159: // output_options_list_content: output_options_list_content ","
-#line 693 "netconf_parser.yy"
+  case 156: // output_options_list_content: output_options_list_content ","
+#line 679 "netconf_parser.yy"
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
-#line 1525 "netconf_parser.cc"
+#line 1504 "netconf_parser.cc"
     break;
 
     break;
 
-  case 160: // $@30: %empty
-#line 698 "netconf_parser.yy"
+  case 157: // $@29: %empty
+#line 684 "netconf_parser.yy"
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1535 "netconf_parser.cc"
+#line 1514 "netconf_parser.cc"
     break;
 
     break;
 
-  case 161: // output_entry: "{" $@30 output_params_list "}"
-#line 702 "netconf_parser.yy"
+  case 158: // output_entry: "{" $@29 output_params_list "}"
+#line 688 "netconf_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
                                     {
     ctx.stack_.pop_back();
 }
-#line 1543 "netconf_parser.cc"
+#line 1522 "netconf_parser.cc"
     break;
 
     break;
 
-  case 164: // output_params_list: output_params_list ","
-#line 708 "netconf_parser.yy"
+  case 161: // output_params_list: output_params_list ","
+#line 694 "netconf_parser.yy"
                                         {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
                                         {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1551 "netconf_parser.cc"
+#line 1530 "netconf_parser.cc"
     break;
 
     break;
 
-  case 170: // $@31: %empty
-#line 720 "netconf_parser.yy"
+  case 167: // $@30: %empty
+#line 706 "netconf_parser.yy"
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1560 "netconf_parser.cc"
+#line 1539 "netconf_parser.cc"
     break;
 
     break;
 
-  case 171: // output: "output" $@31 ":" "constant string"
-#line 723 "netconf_parser.yy"
+  case 168: // output: "output" $@30 ":" "constant string"
+#line 709 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 1570 "netconf_parser.cc"
+#line 1549 "netconf_parser.cc"
     break;
 
     break;
 
-  case 172: // flush: "flush" ":" "boolean"
-#line 729 "netconf_parser.yy"
+  case 169: // flush: "flush" ":" "boolean"
+#line 715 "netconf_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);
 }
                            {
     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 1580 "netconf_parser.cc"
+#line 1559 "netconf_parser.cc"
     break;
 
     break;
 
-  case 173: // maxsize: "maxsize" ":" "integer"
-#line 735 "netconf_parser.yy"
+  case 170: // maxsize: "maxsize" ":" "integer"
+#line 721 "netconf_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);
 }
                                {
     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 1590 "netconf_parser.cc"
+#line 1569 "netconf_parser.cc"
     break;
 
     break;
 
-  case 174: // maxver: "maxver" ":" "integer"
-#line 741 "netconf_parser.yy"
+  case 171: // maxver: "maxver" ":" "integer"
+#line 727 "netconf_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);
 }
                              {
     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 1600 "netconf_parser.cc"
+#line 1579 "netconf_parser.cc"
     break;
 
     break;
 
-  case 175: // $@32: %empty
-#line 747 "netconf_parser.yy"
+  case 172: // $@31: %empty
+#line 733 "netconf_parser.yy"
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1609 "netconf_parser.cc"
+#line 1588 "netconf_parser.cc"
     break;
 
     break;
 
-  case 176: // pattern: "pattern" $@32 ":" "constant string"
-#line 750 "netconf_parser.yy"
+  case 173: // pattern: "pattern" $@31 ":" "constant string"
+#line 736 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
-#line 1619 "netconf_parser.cc"
+#line 1598 "netconf_parser.cc"
     break;
 
 
     break;
 
 
-#line 1623 "netconf_parser.cc"
+#line 1602 "netconf_parser.cc"
 
             default:
               break;
 
             default:
               break;
@@ -1971,41 +1950,40 @@ namespace isc { namespace netconf {
   }
 
 
   }
 
 
-  const signed char NetconfParser::yypact_ninf_ = -79;
+  const signed char NetconfParser::yypact_ninf_ = -102;
 
   const signed char NetconfParser::yytable_ninf_ = -1;
 
   const short
   NetconfParser::yypact_[] =
   {
 
   const signed char NetconfParser::yytable_ninf_ = -1;
 
   const short
   NetconfParser::yypact_[] =
   {
-      -8,   -79,   -79,   -79,    16,    14,    13,    15,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79,   -79,    14,     2,    45,    -1,   -79,    61,
-      68,    75,    73,    79,   -79,    30,   -79,   -79,   -79,    89,
-      90,   123,   124,   -79,   -79,   125,   -79,   108,    94,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,    14,
-      14,   -79,    85,   127,   -79,   -79,   128,   129,    86,    87,
-      88,   130,   134,   135,   -79,   -79,    -1,   -79,   -79,   136,
-     140,   141,    96,   -79,   -79,   -79,   -79,   137,   138,   -79,
-      14,    -1,   -79,   -79,   -79,     7,   142,   143,   -79,   144,
-     -79,   -79,   -79,   -79,   -79,   145,   148,   -79,   -79,   -79,
-     -79,   -79,   -79,   149,   151,   -79,   -79,    50,   -79,   -79,
-     152,   153,   154,   155,   -79,     7,   -13,   -79,   142,    76,
-     143,   -79,   156,   157,   158,   159,   -79,   -79,   -79,   -79,
-      34,   -79,   -79,   -79,   -79,   -79,   -79,   163,   -79,   -79,
-     -79,   -79,    40,   -79,   -79,   -79,   -79,   -79,   -79,    63,
-      63,    63,    63,   164,   165,   -24,   -79,   166,   167,   116,
-     168,    76,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,    92,   -79,   -79,   -79,    93,   111,   112,   131,   141,
-     -79,   132,   169,   -79,   133,   -79,   171,   175,    63,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   173,   -79,   139,   174,
-     -79,   -79,    77,   -79,   -79,    18,    51,   173,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   114,   -79,   -79,   -79,   -79,
-     -79,   178,   179,   181,   -79,   115,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79,   182,   183,   187,    18,   -79,   188,   113,
-     147,   150,   190,    51,   -79,    81,   160,   161,   -79,   162,
-     -79,   -79,   -79,   170,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79
+      73,  -102,  -102,  -102,    25,    15,     9,    22,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,    15,    19,    57,    -1,  -102,    65,
+      79,    75,    82,    88,  -102,    33,  -102,  -102,  -102,    94,
+     100,   102,   106,  -102,  -102,   115,  -102,    85,   121,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,    15,
+      15,  -102,    81,   122,  -102,  -102,   123,   124,    83,    84,
+      87,   125,   129,   132,  -102,  -102,    -1,  -102,  -102,   133,
+     131,   135,    99,  -102,  -102,  -102,  -102,   139,   140,  -102,
+      15,    -1,  -102,  -102,  -102,     0,   141,   142,  -102,   138,
+    -102,  -102,  -102,  -102,   143,   126,  -102,  -102,  -102,  -102,
+    -102,   144,   149,  -102,  -102,    20,  -102,  -102,   150,   151,
+     152,  -102,     0,   -23,  -102,   141,    76,   142,  -102,   146,
+     153,   154,  -102,  -102,  -102,  -102,    34,  -102,  -102,  -102,
+    -102,  -102,  -102,   155,  -102,  -102,  -102,  -102,    44,  -102,
+    -102,  -102,  -102,  -102,  -102,    63,    63,    63,   158,   159,
+      16,  -102,   160,   161,   112,   162,    76,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,    45,  -102,  -102,  -102,
+      77,    78,   103,   135,  -102,   114,   163,  -102,   127,  -102,
+     165,   166,    63,  -102,  -102,  -102,  -102,  -102,  -102,   167,
+    -102,   128,   168,  -102,  -102,    32,  -102,  -102,    91,    -6,
+     167,  -102,  -102,  -102,  -102,  -102,  -102,  -102,    86,  -102,
+    -102,  -102,  -102,  -102,   169,   172,   173,  -102,    89,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,   174,   175,   176,    91,
+    -102,   180,   120,   145,   147,   181,    -6,  -102,    98,   156,
+     157,  -102,   164,  -102,  -102,  -102,   171,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102
   };
 
   const unsigned char
   };
 
   const unsigned char
@@ -2015,172 +1993,168 @@ namespace isc { namespace netconf {
       18,    15,    14,    11,    12,    13,     3,    10,    16,    17,
       34,     5,     8,     7,    28,    21,     0,    40,    30,     0,
       29,     0,     0,    22,    36,     0,    38,    57,    59,     0,
       18,    15,    14,    11,    12,    13,     3,    10,    16,    17,
       34,     5,     8,     7,    28,    21,     0,    40,    30,     0,
       29,     0,     0,    22,    36,     0,    38,    57,    59,     0,
-       0,     0,     0,    61,   133,     0,    53,     0,    41,    42,
+       0,     0,     0,    61,   130,     0,    53,     0,    41,    42,
       45,    46,    47,    51,    52,    49,    48,    50,    27,    32,
        0,    19,    25,     0,    39,    35,     0,     0,     0,     0,
        0,     0,     0,     0,    33,     9,    44,    31,    23,     0,
        0,     0,     0,    54,    55,    56,    80,     0,     0,    43,
        0,    40,    20,    58,    60,    82,    63,     0,    24,     0,
       45,    46,    47,    51,    52,    49,    48,    50,    27,    32,
        0,    19,    25,     0,    39,    35,     0,     0,     0,     0,
        0,     0,     0,     0,    33,     9,    44,    31,    23,     0,
        0,     0,     0,    54,    55,    56,    80,     0,     0,    43,
        0,    40,    20,    58,    60,    82,    63,     0,    24,     0,
-      92,    94,    96,    98,    91,     0,    83,    84,    87,    88,
-      89,    90,    68,     0,    64,    65,   138,     0,   135,    37,
-       0,     0,     0,     0,    81,    86,     0,    62,    67,     0,
-     137,   134,     0,     0,     0,     0,    85,    76,    78,    73,
-       0,    70,    74,    75,    66,   150,   155,     0,   153,   149,
-     147,   148,     0,   140,   143,   145,   146,   144,   136,     0,
-       0,     0,     0,     0,     0,    72,    69,     0,     0,     0,
-       0,   142,   139,   111,   113,   110,   104,   105,   106,   108,
-     109,     0,   100,   103,   107,     0,     0,     0,     0,     0,
-      71,     0,     0,   152,     0,   141,     0,     0,   102,    93,
-      95,    97,    99,    77,    79,   151,     0,   154,     0,     0,
-     101,   160,     0,   157,   112,     0,     0,   159,   156,   124,
-     129,   131,   123,   121,   122,     0,   115,   118,   119,   120,
-     170,     0,     0,     0,   175,     0,   162,   165,   166,   167,
-     168,   169,   158,     0,     0,     0,   117,   114,     0,     0,
-       0,     0,     0,   164,   161,     0,     0,     0,   116,     0,
-     172,   173,   174,     0,   163,   126,   127,   128,   125,   130,
-     132,   171,   176
+      91,    93,    95,    90,     0,    83,    84,    87,    88,    89,
+      68,     0,    64,    65,   135,     0,   132,    37,     0,     0,
+       0,    81,    86,     0,    62,    67,     0,   134,   131,     0,
+       0,     0,    85,    76,    78,    73,     0,    70,    74,    75,
+      66,   147,   152,     0,   150,   146,   144,   145,     0,   137,
+     140,   142,   143,   141,   133,     0,     0,     0,     0,     0,
+      72,    69,     0,     0,     0,     0,   139,   136,   108,   110,
+     107,   101,   102,   103,   105,   106,     0,    97,   100,   104,
+       0,     0,     0,     0,    71,     0,     0,   149,     0,   138,
+       0,     0,    99,    92,    94,    96,    77,    79,   148,     0,
+     151,     0,     0,    98,   157,     0,   154,   109,     0,     0,
+     156,   153,   121,   126,   128,   120,   118,   119,     0,   112,
+     115,   116,   117,   167,     0,     0,     0,   172,     0,   159,
+     162,   163,   164,   165,   166,   155,     0,     0,     0,   114,
+     111,     0,     0,     0,     0,     0,   161,   158,     0,     0,
+       0,   113,     0,   169,   170,   171,     0,   160,   123,   124,
+     125,   122,   127,   129,   168,   173
   };
 
   const signed char
   NetconfParser::yypgoto_[] =
   {
   };
 
   const signed char
   NetconfParser::yypgoto_[] =
   {
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -20,   -78,
-     -79,   -29,   -79,   -79,   -79,   -79,   -79,   -79,   -27,   -79,
-     -79,   -79,   -79,   -79,    82,   -79,   119,   -22,   -19,   -18,
-     -26,   -79,   -25,   -79,   -79,   -79,   -79,   -79,    69,   -79,
-     -79,    33,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-      74,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -36,
-       3,   -79,   -79,   -79,   -79,   -79,   -46,   -79,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,    72,   -79,   -79,
-      32,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,    -9,
-     -79,   -79,   -49,   -79,   -79,   -79,   -79,   -79,   -79,   -79
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,   -20,   -78,
+    -102,     3,  -102,  -102,  -102,  -102,  -102,  -102,   -27,  -102,
+    -102,  -102,  -102,  -102,    96,  -102,   113,   -22,   -19,   -18,
+     -26,  -102,   -25,  -102,  -102,  -102,  -102,  -102,    66,  -102,
+    -102,    28,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,
+      71,  -102,  -102,  -102,  -102,  -102,  -102,  -101,     2,  -102,
+    -102,  -102,  -102,  -102,   -44,  -102,  -102,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,    69,  -102,  -102,    31,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,   -12,  -102,  -102,
+     -47,  -102,  -102,  -102,  -102,  -102,  -102,  -102
   };
 
   const short
   NetconfParser::yydefgoto_[] =
   {
        0,     4,     5,     6,     7,    23,    27,    16,    17,    18,
   };
 
   const short
   NetconfParser::yydefgoto_[] =
   {
        0,     4,     5,     6,     7,    23,    27,    16,    17,    18,
-      25,    93,    32,    33,    19,    24,    29,    30,   175,    21,
-      26,    35,    63,    36,    47,    48,    49,   176,   177,   178,
-     179,    66,   180,    67,    55,    72,   113,   114,   115,   126,
-     140,   141,   142,   163,   143,   164,    56,    95,   105,   106,
-     107,   108,   120,   109,   121,   110,   122,   111,   123,   181,
-     182,   183,   196,   184,   197,   225,   226,   227,   243,   268,
-     228,   244,   229,   245,    57,    73,   117,   118,   129,   152,
-     153,   154,   167,   155,   156,   170,   157,   168,   212,   213,
-     216,   235,   236,   237,   248,   238,   239,   240,   241,   252
+      25,    93,    32,    33,    19,    24,    29,    30,   170,    21,
+      26,    35,    63,    36,    47,    48,    49,   171,   172,   173,
+     174,    66,   175,    67,    55,    72,   111,   112,   113,   123,
+     136,   137,   138,   158,   139,   159,    56,    95,   104,   105,
+     106,   107,   118,   108,   119,   109,   120,   176,   177,   178,
+     190,   179,   191,   218,   219,   220,   236,   261,   221,   237,
+     222,   238,    57,    73,   115,   116,   126,   148,   149,   150,
+     162,   151,   152,   165,   153,   163,   205,   206,   209,   228,
+     229,   230,   241,   231,   232,   233,   234,   245
   };
 
   const short
   NetconfParser::yytable_[] =
   {
   };
 
   const short
   NetconfParser::yytable_[] =
   {
-      46,    53,    54,    92,    28,    50,   137,   138,    51,    52,
-      37,    38,    39,    40,    41,    42,     8,   137,   138,     9,
-      20,    10,    22,    11,   100,   101,   102,   103,    43,    37,
-      38,    44,    45,    64,     1,     2,     3,   165,    65,    77,
-      78,   219,   166,   171,    45,   220,   221,    31,   172,    46,
-      53,    54,    45,   130,    50,    34,   131,    51,    52,    12,
-      13,    14,    15,    45,    46,    53,    54,    58,   104,    50,
-      98,    59,    51,    52,    37,    38,    39,    40,    41,    60,
-     217,    61,    62,   218,   173,   174,   230,    37,    38,   231,
-     232,   233,   234,    68,    69,   198,   198,    76,   104,   139,
-     199,   200,   149,   150,   151,   265,   266,   267,    45,   145,
-     146,    92,   147,   148,   198,   198,    75,   246,   253,   201,
-     202,    45,   247,   254,   185,   186,   187,    70,    71,    74,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      90,    94,    96,    97,   149,   150,   151,    91,    10,   112,
-     116,   125,   119,   124,   128,   127,   132,   133,   134,   135,
-     204,   260,   193,   159,   160,   161,   162,   169,   188,   189,
-     191,   192,   194,    99,   206,   208,   203,   205,   207,   209,
-     211,   215,   249,   250,   214,   251,   255,   256,   222,   223,
-     224,   257,   259,   261,   263,    89,   262,   144,   190,   136,
-     258,   210,   158,   195,   264,   269,   270,   271,   242,     0,
-       0,     0,     0,     0,     0,   272,     0,     0,     0,   222,
-     223,   224
+      46,    53,    54,    92,    28,    50,   133,   134,    51,    52,
+      37,    38,    39,    40,    41,    42,    20,   100,   101,   102,
+       9,    45,    10,   127,    11,     8,   128,    43,   223,    22,
+      44,   224,   225,   226,   227,   210,    64,   160,   211,    77,
+      78,    65,   161,    45,    45,   133,   134,   166,   192,    46,
+      53,    54,   167,   193,    50,   180,   181,    51,    52,    12,
+      13,    14,    15,    31,    46,    53,    54,    34,   103,    50,
+      98,    58,    51,    52,    37,    38,    39,    40,    41,    60,
+     192,   192,    59,   168,   169,   194,   195,    37,    38,   239,
+      61,    62,   246,    75,   240,   103,   135,   247,    68,   145,
+     146,   147,    37,    38,    69,    92,    70,    45,   141,   142,
+      71,   143,   144,   212,     1,     2,     3,   213,   214,    74,
+      45,   258,   259,   260,    76,    79,    80,    81,    82,   122,
+      83,    84,    86,    87,    85,    45,    88,    90,    91,   145,
+     146,   147,    10,    94,    96,    97,   117,   196,   110,   114,
+     124,   121,   125,   155,   129,   130,   131,   187,   198,   164,
+     156,   157,   182,   183,   185,   186,   188,   253,   199,   201,
+     202,   200,   207,   242,   204,   208,   243,   244,   248,   249,
+     250,   215,   216,   217,   252,   256,   197,    99,   184,    89,
+     254,   140,   255,   132,   203,   251,   154,   189,   235,   257,
+     262,   263,     0,     0,     0,     0,     0,     0,   264,     0,
+       0,     0,   215,   216,   217,   265
   };
 
   const short
   NetconfParser::yycheck_[] =
   {
   };
 
   const short
   NetconfParser::yycheck_[] =
   {
-      27,    27,    27,    81,    24,    27,    30,    31,    27,    27,
-      11,    12,    13,    14,    15,    16,     0,    30,    31,     5,
-       7,     7,     7,     9,    17,    18,    19,    20,    29,    11,
-      12,    32,    45,     3,    42,    43,    44,     3,     8,    59,
-      60,    23,     8,     3,    45,    27,    28,    45,     8,    76,
-      76,    76,    45,     3,    76,    10,     6,    76,    76,    45,
-      46,    47,    48,    45,    91,    91,    91,     6,    95,    91,
-      90,     3,    91,    91,    11,    12,    13,    14,    15,     4,
-       3,     8,     3,     6,    21,    22,    35,    11,    12,    38,
-      39,    40,    41,     4,     4,     3,     3,     3,   125,   126,
-       8,     8,   129,   129,   129,    24,    25,    26,    45,    33,
-      34,   189,    36,    37,     3,     3,     8,     3,     3,     8,
-       8,    45,     8,     8,   160,   161,   162,     4,     4,     4,
-      45,     4,     4,     4,    48,    48,    48,     7,     4,     4,
-       4,    45,     5,     5,   171,   171,   171,     7,     7,     7,
-       7,     3,     8,     8,     3,     6,     4,     4,     4,     4,
-     189,    48,    46,     7,     7,     7,     7,     4,     4,     4,
-       4,     4,     4,    91,     5,     4,    45,    45,    45,     4,
-       7,     7,     4,     4,    45,     4,     4,     4,   215,   215,
-     215,     4,     4,    46,     4,    76,    46,   128,   165,   125,
-     246,   198,   130,   171,   253,    45,    45,    45,   217,    -1,
-      -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,   246,
-     246,   246
+      27,    27,    27,    81,    24,    27,    29,    30,    27,    27,
+      11,    12,    13,    14,    15,    16,     7,    17,    18,    19,
+       5,    44,     7,     3,     9,     0,     6,    28,    34,     7,
+      31,    37,    38,    39,    40,     3,     3,     3,     6,    59,
+      60,     8,     8,    44,    44,    29,    30,     3,     3,    76,
+      76,    76,     8,     8,    76,   156,   157,    76,    76,    44,
+      45,    46,    47,    44,    91,    91,    91,    10,    95,    91,
+      90,     6,    91,    91,    11,    12,    13,    14,    15,     4,
+       3,     3,     3,    20,    21,     8,     8,    11,    12,     3,
+       8,     3,     3,     8,     8,   122,   123,     8,     4,   126,
+     126,   126,    11,    12,     4,   183,     4,    44,    32,    33,
+       4,    35,    36,    22,    41,    42,    43,    26,    27,     4,
+      44,    23,    24,    25,     3,    44,     4,     4,     4,     3,
+      47,    47,     7,     4,    47,    44,     4,     4,     7,   166,
+     166,   166,     7,    44,     5,     5,     8,    44,     7,     7,
+       6,     8,     3,     7,     4,     4,     4,    45,    44,     4,
+       7,     7,     4,     4,     4,     4,     4,    47,     5,     4,
+       4,    44,    44,     4,     7,     7,     4,     4,     4,     4,
+       4,   208,   208,   208,     4,     4,   183,    91,   160,    76,
+      45,   125,    45,   122,   192,   239,   127,   166,   210,   246,
+      44,    44,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,
+      -1,    -1,   239,   239,   239,    44
   };
 
   const unsigned char
   NetconfParser::yystos_[] =
   {
   };
 
   const unsigned char
   NetconfParser::yystos_[] =
   {
-       0,    42,    43,    44,    50,    51,    52,    53,     0,     5,
-       7,     9,    45,    46,    47,    48,    56,    57,    58,    63,
-       7,    68,     7,    54,    64,    59,    69,    55,    57,    65,
-      66,    45,    61,    62,    10,    70,    72,    11,    12,    13,
-      14,    15,    16,    29,    32,    45,    67,    73,    74,    75,
-      76,    77,    78,    79,    81,    83,    95,   123,     6,     3,
-       4,     8,     3,    71,     3,     8,    80,    82,     4,     4,
-       4,     4,    84,   124,     4,     8,     3,    57,    57,    45,
-       4,     4,     4,    48,    48,    48,     7,     4,     4,    75,
-       4,     7,    58,    60,    45,    96,     5,     5,    57,    73,
-      17,    18,    19,    20,    67,    97,    98,    99,   100,   102,
-     104,   106,     7,    85,    86,    87,     7,   125,   126,     8,
-     101,   103,   105,   107,     8,     3,    88,     6,     3,   127,
-       3,     6,     4,     4,     4,     4,    99,    30,    31,    67,
-      89,    90,    91,    93,    87,    33,    34,    36,    37,    67,
-      79,    81,   128,   129,   130,   132,   133,   135,   126,     7,
-       7,     7,     7,    92,    94,     3,     8,   131,   136,     4,
-     134,     3,     8,    21,    22,    67,    76,    77,    78,    79,
-      81,   108,   109,   110,   112,   108,   108,   108,     4,     4,
-      90,     4,     4,    46,     4,   129,   111,   113,     3,     8,
-       8,     8,     8,    45,    60,    45,     5,    45,     4,     4,
-     109,     7,   137,   138,    45,     7,   139,     3,     6,    23,
-      27,    28,    67,    79,    81,   114,   115,   116,   119,   121,
-      35,    38,    39,    40,    41,   140,   141,   142,   144,   145,
-     146,   147,   138,   117,   120,   122,     3,     8,   143,     4,
-       4,     4,   148,     3,     8,     4,     4,     4,   115,     4,
-      48,    46,    46,     4,   141,    24,    25,    26,   118,    45,
-      45,    45,    45
+       0,    41,    42,    43,    49,    50,    51,    52,     0,     5,
+       7,     9,    44,    45,    46,    47,    55,    56,    57,    62,
+       7,    67,     7,    53,    63,    58,    68,    54,    56,    64,
+      65,    44,    60,    61,    10,    69,    71,    11,    12,    13,
+      14,    15,    16,    28,    31,    44,    66,    72,    73,    74,
+      75,    76,    77,    78,    80,    82,    94,   120,     6,     3,
+       4,     8,     3,    70,     3,     8,    79,    81,     4,     4,
+       4,     4,    83,   121,     4,     8,     3,    56,    56,    44,
+       4,     4,     4,    47,    47,    47,     7,     4,     4,    74,
+       4,     7,    57,    59,    44,    95,     5,     5,    56,    72,
+      17,    18,    19,    66,    96,    97,    98,    99,   101,   103,
+       7,    84,    85,    86,     7,   122,   123,     8,   100,   102,
+     104,     8,     3,    87,     6,     3,   124,     3,     6,     4,
+       4,     4,    98,    29,    30,    66,    88,    89,    90,    92,
+      86,    32,    33,    35,    36,    66,    78,    80,   125,   126,
+     127,   129,   130,   132,   123,     7,     7,     7,    91,    93,
+       3,     8,   128,   133,     4,   131,     3,     8,    20,    21,
+      66,    75,    76,    77,    78,    80,   105,   106,   107,   109,
+     105,   105,     4,     4,    89,     4,     4,    45,     4,   126,
+     108,   110,     3,     8,     8,     8,    44,    59,    44,     5,
+      44,     4,     4,   106,     7,   134,   135,    44,     7,   136,
+       3,     6,    22,    26,    27,    66,    78,    80,   111,   112,
+     113,   116,   118,    34,    37,    38,    39,    40,   137,   138,
+     139,   141,   142,   143,   144,   135,   114,   117,   119,     3,
+       8,   140,     4,     4,     4,   145,     3,     8,     4,     4,
+       4,   112,     4,    47,    45,    45,     4,   138,    23,    24,
+      25,   115,    44,    44,    44,    44
   };
 
   const unsigned char
   NetconfParser::yyr1_[] =
   {
   };
 
   const unsigned char
   NetconfParser::yyr1_[] =
   {
-       0,    49,    51,    50,    52,    50,    53,    50,    55,    54,
-      56,    57,    57,    57,    57,    57,    57,    57,    59,    58,
-      60,    61,    61,    62,    62,    62,    64,    63,    65,    65,
-      66,    66,    66,    67,    69,    68,    71,    70,    70,    72,
-      73,    73,    74,    74,    74,    75,    75,    75,    75,    75,
-      75,    75,    75,    75,    76,    77,    78,    80,    79,    82,
-      81,    84,    83,    85,    85,    86,    86,    86,    88,    87,
-      89,    89,    89,    89,    90,    90,    92,    91,    94,    93,
-      96,    95,    97,    97,    98,    98,    98,    99,    99,    99,
-      99,    99,   101,   100,   103,   102,   105,   104,   107,   106,
-     108,   108,   108,   109,   109,   109,   109,   109,   109,   109,
-     109,   111,   110,   113,   112,   114,   114,   114,   115,   115,
-     115,   115,   115,   115,   117,   116,   118,   118,   118,   120,
-     119,   122,   121,   124,   123,   125,   125,   125,   127,   126,
-     128,   128,   128,   129,   129,   129,   129,   129,   129,   129,
-     131,   130,   132,   134,   133,   136,   135,   137,   137,   137,
-     139,   138,   140,   140,   140,   141,   141,   141,   141,   141,
-     143,   142,   144,   145,   146,   148,   147
+       0,    48,    50,    49,    51,    49,    52,    49,    54,    53,
+      55,    56,    56,    56,    56,    56,    56,    56,    58,    57,
+      59,    60,    60,    61,    61,    61,    63,    62,    64,    64,
+      65,    65,    65,    66,    68,    67,    70,    69,    69,    71,
+      72,    72,    73,    73,    73,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    75,    76,    77,    79,    78,    81,
+      80,    83,    82,    84,    84,    85,    85,    85,    87,    86,
+      88,    88,    88,    88,    89,    89,    91,    90,    93,    92,
+      95,    94,    96,    96,    97,    97,    97,    98,    98,    98,
+      98,   100,    99,   102,   101,   104,   103,   105,   105,   105,
+     106,   106,   106,   106,   106,   106,   106,   106,   108,   107,
+     110,   109,   111,   111,   111,   112,   112,   112,   112,   112,
+     112,   114,   113,   115,   115,   115,   117,   116,   119,   118,
+     121,   120,   122,   122,   122,   124,   123,   125,   125,   125,
+     126,   126,   126,   126,   126,   126,   126,   128,   127,   129,
+     131,   130,   133,   132,   134,   134,   134,   136,   135,   137,
+     137,   137,   138,   138,   138,   138,   138,   140,   139,   141,
+     142,   143,   145,   144
   };
 
   const signed char
   };
 
   const signed char
@@ -2195,15 +2169,15 @@ namespace isc { namespace netconf {
        4,     0,     6,     0,     1,     1,     3,     2,     0,     4,
        1,     3,     2,     1,     1,     1,     0,     4,     0,     4,
        0,     6,     0,     1,     1,     3,     2,     1,     1,     1,
        4,     0,     6,     0,     1,     1,     3,     2,     0,     4,
        1,     3,     2,     1,     1,     1,     0,     4,     0,     4,
        0,     6,     0,     1,     1,     3,     2,     1,     1,     1,
-       1,     1,     0,     6,     0,     6,     0,     6,     0,     6,
-       1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     0,     6,     1,     3,     2,     1,     1,
-       1,     1,     1,     1,     0,     4,     1,     1,     1,     0,
-       4,     0,     4,     0,     6,     1,     3,     2,     0,     4,
-       1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     3,     0,     4,     0,     6,     1,     3,     2,
-       0,     4,     1,     3,     2,     1,     1,     1,     1,     1,
-       0,     4,     3,     3,     3,     0,     4
+       1,     0,     6,     0,     6,     0,     6,     1,     3,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       0,     6,     1,     3,     2,     1,     1,     1,     1,     1,
+       1,     0,     4,     1,     1,     1,     0,     4,     0,     4,
+       0,     6,     1,     3,     2,     0,     4,     1,     3,     2,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     3,
+       0,     4,     0,     6,     1,     3,     2,     0,     4,     1,
+       3,     2,     1,     1,     1,     1,     1,     0,     4,     3,
+       3,     3,     0,     4
   };
 
 
   };
 
 
@@ -2217,9 +2191,9 @@ namespace isc { namespace netconf {
   "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Netconf\"",
   "\"user-context\"", "\"comment\"", "\"boot-update\"",
   "\"subscribe-changes\"", "\"validate-changes\"", "\"managed-servers\"",
   "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Netconf\"",
   "\"user-context\"", "\"comment\"", "\"boot-update\"",
   "\"subscribe-changes\"", "\"validate-changes\"", "\"managed-servers\"",
-  "\"dhcp4\"", "\"dhcp6\"", "\"d2\"", "\"ca\"", "\"model\"",
-  "\"control-socket\"", "\"socket-type\"", "\"unix\"", "\"http\"",
-  "\"stdout\"", "\"socket-name\"", "\"socket-url\"", "\"hooks-libraries\"",
+  "\"dhcp4\"", "\"dhcp6\"", "\"d2\"", "\"model\"", "\"control-socket\"",
+  "\"socket-type\"", "\"unix\"", "\"http\"", "\"stdout\"",
+  "\"socket-name\"", "\"socket-url\"", "\"hooks-libraries\"",
   "\"library\"", "\"parameters\"", "\"loggers\"", "\"name\"",
   "\"output-options\"", "\"output\"", "\"debuglevel\"", "\"severity\"",
   "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "START_JSON",
   "\"library\"", "\"parameters\"", "\"loggers\"", "\"name\"",
   "\"output-options\"", "\"output\"", "\"debuglevel\"", "\"severity\"",
   "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "START_JSON",
@@ -2237,15 +2211,15 @@ namespace isc { namespace netconf {
   "$@13", "parameters", "$@14", "managed_servers", "$@15",
   "servers_entries", "not_empty_servers_entries", "server_entry",
   "dhcp4_server", "$@16", "dhcp6_server", "$@17", "d2_server", "$@18",
   "$@13", "parameters", "$@14", "managed_servers", "$@15",
   "servers_entries", "not_empty_servers_entries", "server_entry",
   "dhcp4_server", "$@16", "dhcp6_server", "$@17", "d2_server", "$@18",
-  "ca_server", "$@19", "managed_server_params", "managed_server_param",
-  "model", "$@20", "control_socket", "$@21", "control_socket_params",
-  "control_socket_param", "socket_type", "$@22", "socket_type_value",
-  "socket_name", "$@23", "socket_url", "$@24", "loggers", "$@25",
-  "loggers_entries", "logger_entry", "$@26", "logger_params",
-  "logger_param", "name", "$@27", "debuglevel", "severity", "$@28",
-  "output_options_list", "$@29", "output_options_list_content",
-  "output_entry", "$@30", "output_params_list", "output_params", "output",
-  "$@31", "flush", "maxsize", "maxver", "pattern", "$@32", YY_NULLPTR
+  "managed_server_params", "managed_server_param", "model", "$@19",
+  "control_socket", "$@20", "control_socket_params",
+  "control_socket_param", "socket_type", "$@21", "socket_type_value",
+  "socket_name", "$@22", "socket_url", "$@23", "loggers", "$@24",
+  "loggers_entries", "logger_entry", "$@25", "logger_params",
+  "logger_param", "name", "$@26", "debuglevel", "severity", "$@27",
+  "output_options_list", "$@28", "output_options_list_content",
+  "output_entry", "$@29", "output_params_list", "output_params", "output",
+  "$@30", "flush", "maxsize", "maxver", "pattern", "$@31", YY_NULLPTR
   };
 #endif
 
   };
 #endif
 
@@ -2254,24 +2228,24 @@ namespace isc { namespace netconf {
   const short
   NetconfParser::yyrline_[] =
   {
   const short
   NetconfParser::yyrline_[] =
   {
-       0,   126,   126,   126,   127,   127,   128,   128,   136,   136,
-     147,   153,   154,   155,   156,   157,   158,   159,   163,   163,
-     174,   179,   180,   188,   193,   199,   204,   204,   210,   211,
-     214,   218,   222,   234,   242,   242,   254,   254,   272,   275,
-     280,   281,   284,   285,   286,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   304,   310,   316,   322,   322,   347,
-     347,   375,   375,   386,   387,   390,   391,   392,   397,   397,
-     405,   406,   407,   410,   413,   414,   417,   417,   426,   426,
-     437,   437,   448,   449,   452,   453,   454,   462,   463,   464,
-     465,   466,   470,   470,   482,   482,   494,   494,   506,   506,
-     518,   519,   520,   526,   527,   528,   529,   530,   531,   532,
-     533,   537,   537,   547,   547,   559,   560,   561,   566,   567,
-     568,   569,   570,   571,   574,   574,   583,   584,   585,   588,
-     588,   598,   598,   611,   611,   624,   625,   626,   632,   632,
-     640,   641,   642,   647,   648,   649,   650,   651,   652,   653,
-     656,   656,   665,   671,   671,   680,   680,   691,   692,   693,
-     698,   698,   706,   707,   708,   713,   714,   715,   716,   717,
-     720,   720,   729,   735,   741,   747,   747
+       0,   125,   125,   125,   126,   126,   127,   127,   135,   135,
+     146,   152,   153,   154,   155,   156,   157,   158,   162,   162,
+     173,   178,   179,   187,   192,   198,   203,   203,   209,   210,
+     213,   217,   221,   233,   241,   241,   253,   253,   271,   274,
+     279,   280,   283,   284,   285,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   303,   309,   315,   321,   321,   346,
+     346,   374,   374,   385,   386,   389,   390,   391,   396,   396,
+     404,   405,   406,   409,   412,   413,   416,   416,   425,   425,
+     436,   436,   447,   448,   451,   452,   453,   461,   462,   463,
+     464,   468,   468,   480,   480,   492,   492,   504,   505,   506,
+     512,   513,   514,   515,   516,   517,   518,   519,   523,   523,
+     533,   533,   545,   546,   547,   552,   553,   554,   555,   556,
+     557,   560,   560,   569,   570,   571,   574,   574,   584,   584,
+     597,   597,   610,   611,   612,   618,   618,   626,   627,   628,
+     633,   634,   635,   636,   637,   638,   639,   642,   642,   651,
+     657,   657,   666,   666,   677,   678,   679,   684,   684,   692,
+     693,   694,   699,   700,   701,   702,   703,   706,   706,   715,
+     721,   727,   733,   733
   };
 
   void
   };
 
   void
@@ -2304,9 +2278,9 @@ namespace isc { namespace netconf {
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
-#line 2308 "netconf_parser.cc"
+#line 2282 "netconf_parser.cc"
 
 
-#line 756 "netconf_parser.yy"
+#line 742 "netconf_parser.yy"
 
 
 void
 
 
 void
index 584ba5a62ab3e05dd869d26c20de4f13c4ea6e19..f4fdc96806518fa51deb36e53b40d9f73f4d56bc 100644 (file)
@@ -512,35 +512,34 @@ namespace isc { namespace netconf {
     TOKEN_DHCP4_SERVER = 272,      // "dhcp4"
     TOKEN_DHCP6_SERVER = 273,      // "dhcp6"
     TOKEN_D2_SERVER = 274,         // "d2"
     TOKEN_DHCP4_SERVER = 272,      // "dhcp4"
     TOKEN_DHCP6_SERVER = 273,      // "dhcp6"
     TOKEN_D2_SERVER = 274,         // "d2"
-    TOKEN_CA_SERVER = 275,         // "ca"
-    TOKEN_MODEL = 276,             // "model"
-    TOKEN_CONTROL_SOCKET = 277,    // "control-socket"
-    TOKEN_SOCKET_TYPE = 278,       // "socket-type"
-    TOKEN_UNIX = 279,              // "unix"
-    TOKEN_HTTP = 280,              // "http"
-    TOKEN_STDOUT = 281,            // "stdout"
-    TOKEN_SOCKET_NAME = 282,       // "socket-name"
-    TOKEN_SOCKET_URL = 283,        // "socket-url"
-    TOKEN_HOOKS_LIBRARIES = 284,   // "hooks-libraries"
-    TOKEN_LIBRARY = 285,           // "library"
-    TOKEN_PARAMETERS = 286,        // "parameters"
-    TOKEN_LOGGERS = 287,           // "loggers"
-    TOKEN_NAME = 288,              // "name"
-    TOKEN_OUTPUT_OPTIONS = 289,    // "output-options"
-    TOKEN_OUTPUT = 290,            // "output"
-    TOKEN_DEBUGLEVEL = 291,        // "debuglevel"
-    TOKEN_SEVERITY = 292,          // "severity"
-    TOKEN_FLUSH = 293,             // "flush"
-    TOKEN_MAXSIZE = 294,           // "maxsize"
-    TOKEN_MAXVER = 295,            // "maxver"
-    TOKEN_PATTERN = 296,           // "pattern"
-    TOKEN_START_JSON = 297,        // START_JSON
-    TOKEN_START_NETCONF = 298,     // START_NETCONF
-    TOKEN_START_SUB_NETCONF = 299, // START_SUB_NETCONF
-    TOKEN_STRING = 300,            // "constant string"
-    TOKEN_INTEGER = 301,           // "integer"
-    TOKEN_FLOAT = 302,             // "floating point"
-    TOKEN_BOOLEAN = 303            // "boolean"
+    TOKEN_MODEL = 275,             // "model"
+    TOKEN_CONTROL_SOCKET = 276,    // "control-socket"
+    TOKEN_SOCKET_TYPE = 277,       // "socket-type"
+    TOKEN_UNIX = 278,              // "unix"
+    TOKEN_HTTP = 279,              // "http"
+    TOKEN_STDOUT = 280,            // "stdout"
+    TOKEN_SOCKET_NAME = 281,       // "socket-name"
+    TOKEN_SOCKET_URL = 282,        // "socket-url"
+    TOKEN_HOOKS_LIBRARIES = 283,   // "hooks-libraries"
+    TOKEN_LIBRARY = 284,           // "library"
+    TOKEN_PARAMETERS = 285,        // "parameters"
+    TOKEN_LOGGERS = 286,           // "loggers"
+    TOKEN_NAME = 287,              // "name"
+    TOKEN_OUTPUT_OPTIONS = 288,    // "output-options"
+    TOKEN_OUTPUT = 289,            // "output"
+    TOKEN_DEBUGLEVEL = 290,        // "debuglevel"
+    TOKEN_SEVERITY = 291,          // "severity"
+    TOKEN_FLUSH = 292,             // "flush"
+    TOKEN_MAXSIZE = 293,           // "maxsize"
+    TOKEN_MAXVER = 294,            // "maxver"
+    TOKEN_PATTERN = 295,           // "pattern"
+    TOKEN_START_JSON = 296,        // START_JSON
+    TOKEN_START_NETCONF = 297,     // START_NETCONF
+    TOKEN_START_SUB_NETCONF = 298, // START_SUB_NETCONF
+    TOKEN_STRING = 299,            // "constant string"
+    TOKEN_INTEGER = 300,           // "integer"
+    TOKEN_FLOAT = 301,             // "floating point"
+    TOKEN_BOOLEAN = 302            // "boolean"
       };
       /// Backward compatibility alias (Bison 3.6).
       typedef token_kind_type yytokentype;
       };
       /// Backward compatibility alias (Bison 3.6).
       typedef token_kind_type yytokentype;
@@ -557,7 +556,7 @@ namespace isc { namespace netconf {
     {
       enum symbol_kind_type
       {
     {
       enum symbol_kind_type
       {
-        YYNTOKENS = 49, ///< Number of tokens.
+        YYNTOKENS = 48, ///< Number of tokens.
         S_YYEMPTY = -2,
         S_YYEOF = 0,                             // "end of file"
         S_YYerror = 1,                           // error
         S_YYEMPTY = -2,
         S_YYEOF = 0,                             // "end of file"
         S_YYerror = 1,                           // error
@@ -579,135 +578,132 @@ namespace isc { namespace netconf {
         S_DHCP4_SERVER = 17,                     // "dhcp4"
         S_DHCP6_SERVER = 18,                     // "dhcp6"
         S_D2_SERVER = 19,                        // "d2"
         S_DHCP4_SERVER = 17,                     // "dhcp4"
         S_DHCP6_SERVER = 18,                     // "dhcp6"
         S_D2_SERVER = 19,                        // "d2"
-        S_CA_SERVER = 20,                        // "ca"
-        S_MODEL = 21,                            // "model"
-        S_CONTROL_SOCKET = 22,                   // "control-socket"
-        S_SOCKET_TYPE = 23,                      // "socket-type"
-        S_UNIX = 24,                             // "unix"
-        S_HTTP = 25,                             // "http"
-        S_STDOUT = 26,                           // "stdout"
-        S_SOCKET_NAME = 27,                      // "socket-name"
-        S_SOCKET_URL = 28,                       // "socket-url"
-        S_HOOKS_LIBRARIES = 29,                  // "hooks-libraries"
-        S_LIBRARY = 30,                          // "library"
-        S_PARAMETERS = 31,                       // "parameters"
-        S_LOGGERS = 32,                          // "loggers"
-        S_NAME = 33,                             // "name"
-        S_OUTPUT_OPTIONS = 34,                   // "output-options"
-        S_OUTPUT = 35,                           // "output"
-        S_DEBUGLEVEL = 36,                       // "debuglevel"
-        S_SEVERITY = 37,                         // "severity"
-        S_FLUSH = 38,                            // "flush"
-        S_MAXSIZE = 39,                          // "maxsize"
-        S_MAXVER = 40,                           // "maxver"
-        S_PATTERN = 41,                          // "pattern"
-        S_START_JSON = 42,                       // START_JSON
-        S_START_NETCONF = 43,                    // START_NETCONF
-        S_START_SUB_NETCONF = 44,                // START_SUB_NETCONF
-        S_STRING = 45,                           // "constant string"
-        S_INTEGER = 46,                          // "integer"
-        S_FLOAT = 47,                            // "floating point"
-        S_BOOLEAN = 48,                          // "boolean"
-        S_YYACCEPT = 49,                         // $accept
-        S_start = 50,                            // start
-        S_51_1 = 51,                             // $@1
-        S_52_2 = 52,                             // $@2
-        S_53_3 = 53,                             // $@3
-        S_sub_netconf = 54,                      // sub_netconf
-        S_55_4 = 55,                             // $@4
-        S_json = 56,                             // json
-        S_value = 57,                            // value
-        S_map = 58,                              // map
-        S_59_5 = 59,                             // $@5
-        S_map_value = 60,                        // map_value
-        S_map_content = 61,                      // map_content
-        S_not_empty_map = 62,                    // not_empty_map
-        S_list_generic = 63,                     // list_generic
-        S_64_6 = 64,                             // $@6
-        S_list_content = 65,                     // list_content
-        S_not_empty_list = 66,                   // not_empty_list
-        S_unknown_map_entry = 67,                // unknown_map_entry
-        S_netconf_syntax_map = 68,               // netconf_syntax_map
-        S_69_7 = 69,                             // $@7
-        S_global_object = 70,                    // global_object
-        S_71_8 = 71,                             // $@8
-        S_global_object_comma = 72,              // global_object_comma
-        S_global_params = 73,                    // global_params
-        S_not_empty_global_params = 74,          // not_empty_global_params
-        S_global_param = 75,                     // global_param
-        S_boot_update = 76,                      // boot_update
-        S_subscribe_changes = 77,                // subscribe_changes
-        S_validate_changes = 78,                 // validate_changes
-        S_user_context = 79,                     // user_context
-        S_80_9 = 80,                             // $@9
-        S_comment = 81,                          // comment
-        S_82_10 = 82,                            // $@10
-        S_hooks_libraries = 83,                  // hooks_libraries
-        S_84_11 = 84,                            // $@11
-        S_hooks_libraries_list = 85,             // hooks_libraries_list
-        S_not_empty_hooks_libraries_list = 86,   // not_empty_hooks_libraries_list
-        S_hooks_library = 87,                    // hooks_library
-        S_88_12 = 88,                            // $@12
-        S_hooks_params = 89,                     // hooks_params
-        S_hooks_param = 90,                      // hooks_param
-        S_library = 91,                          // library
-        S_92_13 = 92,                            // $@13
-        S_parameters = 93,                       // parameters
-        S_94_14 = 94,                            // $@14
-        S_managed_servers = 95,                  // managed_servers
-        S_96_15 = 96,                            // $@15
-        S_servers_entries = 97,                  // servers_entries
-        S_not_empty_servers_entries = 98,        // not_empty_servers_entries
-        S_server_entry = 99,                     // server_entry
-        S_dhcp4_server = 100,                    // dhcp4_server
-        S_101_16 = 101,                          // $@16
-        S_dhcp6_server = 102,                    // dhcp6_server
-        S_103_17 = 103,                          // $@17
-        S_d2_server = 104,                       // d2_server
-        S_105_18 = 105,                          // $@18
-        S_ca_server = 106,                       // ca_server
-        S_107_19 = 107,                          // $@19
-        S_managed_server_params = 108,           // managed_server_params
-        S_managed_server_param = 109,            // managed_server_param
-        S_model = 110,                           // model
-        S_111_20 = 111,                          // $@20
-        S_control_socket = 112,                  // control_socket
-        S_113_21 = 113,                          // $@21
-        S_control_socket_params = 114,           // control_socket_params
-        S_control_socket_param = 115,            // control_socket_param
-        S_socket_type = 116,                     // socket_type
+        S_MODEL = 20,                            // "model"
+        S_CONTROL_SOCKET = 21,                   // "control-socket"
+        S_SOCKET_TYPE = 22,                      // "socket-type"
+        S_UNIX = 23,                             // "unix"
+        S_HTTP = 24,                             // "http"
+        S_STDOUT = 25,                           // "stdout"
+        S_SOCKET_NAME = 26,                      // "socket-name"
+        S_SOCKET_URL = 27,                       // "socket-url"
+        S_HOOKS_LIBRARIES = 28,                  // "hooks-libraries"
+        S_LIBRARY = 29,                          // "library"
+        S_PARAMETERS = 30,                       // "parameters"
+        S_LOGGERS = 31,                          // "loggers"
+        S_NAME = 32,                             // "name"
+        S_OUTPUT_OPTIONS = 33,                   // "output-options"
+        S_OUTPUT = 34,                           // "output"
+        S_DEBUGLEVEL = 35,                       // "debuglevel"
+        S_SEVERITY = 36,                         // "severity"
+        S_FLUSH = 37,                            // "flush"
+        S_MAXSIZE = 38,                          // "maxsize"
+        S_MAXVER = 39,                           // "maxver"
+        S_PATTERN = 40,                          // "pattern"
+        S_START_JSON = 41,                       // START_JSON
+        S_START_NETCONF = 42,                    // START_NETCONF
+        S_START_SUB_NETCONF = 43,                // START_SUB_NETCONF
+        S_STRING = 44,                           // "constant string"
+        S_INTEGER = 45,                          // "integer"
+        S_FLOAT = 46,                            // "floating point"
+        S_BOOLEAN = 47,                          // "boolean"
+        S_YYACCEPT = 48,                         // $accept
+        S_start = 49,                            // start
+        S_50_1 = 50,                             // $@1
+        S_51_2 = 51,                             // $@2
+        S_52_3 = 52,                             // $@3
+        S_sub_netconf = 53,                      // sub_netconf
+        S_54_4 = 54,                             // $@4
+        S_json = 55,                             // json
+        S_value = 56,                            // value
+        S_map = 57,                              // map
+        S_58_5 = 58,                             // $@5
+        S_map_value = 59,                        // map_value
+        S_map_content = 60,                      // map_content
+        S_not_empty_map = 61,                    // not_empty_map
+        S_list_generic = 62,                     // list_generic
+        S_63_6 = 63,                             // $@6
+        S_list_content = 64,                     // list_content
+        S_not_empty_list = 65,                   // not_empty_list
+        S_unknown_map_entry = 66,                // unknown_map_entry
+        S_netconf_syntax_map = 67,               // netconf_syntax_map
+        S_68_7 = 68,                             // $@7
+        S_global_object = 69,                    // global_object
+        S_70_8 = 70,                             // $@8
+        S_global_object_comma = 71,              // global_object_comma
+        S_global_params = 72,                    // global_params
+        S_not_empty_global_params = 73,          // not_empty_global_params
+        S_global_param = 74,                     // global_param
+        S_boot_update = 75,                      // boot_update
+        S_subscribe_changes = 76,                // subscribe_changes
+        S_validate_changes = 77,                 // validate_changes
+        S_user_context = 78,                     // user_context
+        S_79_9 = 79,                             // $@9
+        S_comment = 80,                          // comment
+        S_81_10 = 81,                            // $@10
+        S_hooks_libraries = 82,                  // hooks_libraries
+        S_83_11 = 83,                            // $@11
+        S_hooks_libraries_list = 84,             // hooks_libraries_list
+        S_not_empty_hooks_libraries_list = 85,   // not_empty_hooks_libraries_list
+        S_hooks_library = 86,                    // hooks_library
+        S_87_12 = 87,                            // $@12
+        S_hooks_params = 88,                     // hooks_params
+        S_hooks_param = 89,                      // hooks_param
+        S_library = 90,                          // library
+        S_91_13 = 91,                            // $@13
+        S_parameters = 92,                       // parameters
+        S_93_14 = 93,                            // $@14
+        S_managed_servers = 94,                  // managed_servers
+        S_95_15 = 95,                            // $@15
+        S_servers_entries = 96,                  // servers_entries
+        S_not_empty_servers_entries = 97,        // not_empty_servers_entries
+        S_server_entry = 98,                     // server_entry
+        S_dhcp4_server = 99,                     // dhcp4_server
+        S_100_16 = 100,                          // $@16
+        S_dhcp6_server = 101,                    // dhcp6_server
+        S_102_17 = 102,                          // $@17
+        S_d2_server = 103,                       // d2_server
+        S_104_18 = 104,                          // $@18
+        S_managed_server_params = 105,           // managed_server_params
+        S_managed_server_param = 106,            // managed_server_param
+        S_model = 107,                           // model
+        S_108_19 = 108,                          // $@19
+        S_control_socket = 109,                  // control_socket
+        S_110_20 = 110,                          // $@20
+        S_control_socket_params = 111,           // control_socket_params
+        S_control_socket_param = 112,            // control_socket_param
+        S_socket_type = 113,                     // socket_type
+        S_114_21 = 114,                          // $@21
+        S_socket_type_value = 115,               // socket_type_value
+        S_socket_name = 116,                     // socket_name
         S_117_22 = 117,                          // $@22
         S_117_22 = 117,                          // $@22
-        S_socket_type_value = 118,               // socket_type_value
-        S_socket_name = 119,                     // socket_name
-        S_120_23 = 120,                          // $@23
-        S_socket_url = 121,                      // socket_url
-        S_122_24 = 122,                          // $@24
-        S_loggers = 123,                         // loggers
+        S_socket_url = 118,                      // socket_url
+        S_119_23 = 119,                          // $@23
+        S_loggers = 120,                         // loggers
+        S_121_24 = 121,                          // $@24
+        S_loggers_entries = 122,                 // loggers_entries
+        S_logger_entry = 123,                    // logger_entry
         S_124_25 = 124,                          // $@25
         S_124_25 = 124,                          // $@25
-        S_loggers_entries = 125,                 // loggers_entries
-        S_logger_entry = 126,                    // logger_entry
-        S_127_26 = 127,                          // $@26
-        S_logger_params = 128,                   // logger_params
-        S_logger_param = 129,                    // logger_param
-        S_name = 130,                            // name
+        S_logger_params = 125,                   // logger_params
+        S_logger_param = 126,                    // logger_param
+        S_name = 127,                            // name
+        S_128_26 = 128,                          // $@26
+        S_debuglevel = 129,                      // debuglevel
+        S_severity = 130,                        // severity
         S_131_27 = 131,                          // $@27
         S_131_27 = 131,                          // $@27
-        S_debuglevel = 132,                      // debuglevel
-        S_severity = 133,                        // severity
-        S_134_28 = 134,                          // $@28
-        S_output_options_list = 135,             // output_options_list
+        S_output_options_list = 132,             // output_options_list
+        S_133_28 = 133,                          // $@28
+        S_output_options_list_content = 134,     // output_options_list_content
+        S_output_entry = 135,                    // output_entry
         S_136_29 = 136,                          // $@29
         S_136_29 = 136,                          // $@29
-        S_output_options_list_content = 137,     // output_options_list_content
-        S_output_entry = 138,                    // output_entry
-        S_139_30 = 139,                          // $@30
-        S_output_params_list = 140,              // output_params_list
-        S_output_params = 141,                   // output_params
-        S_output = 142,                          // output
-        S_143_31 = 143,                          // $@31
-        S_flush = 144,                           // flush
-        S_maxsize = 145,                         // maxsize
-        S_maxver = 146,                          // maxver
-        S_pattern = 147,                         // pattern
-        S_148_32 = 148                           // $@32
+        S_output_params_list = 137,              // output_params_list
+        S_output_params = 138,                   // output_params
+        S_output = 139,                          // output
+        S_140_30 = 140,                          // $@30
+        S_flush = 141,                           // flush
+        S_maxsize = 142,                         // maxsize
+        S_maxver = 143,                          // maxver
+        S_pattern = 144,                         // pattern
+        S_145_31 = 145                           // $@31
       };
     };
 
       };
     };
 
@@ -1402,21 +1398,6 @@ switch (yykind)
         return symbol_type (token::TOKEN_D2_SERVER, l);
       }
 #endif
         return symbol_type (token::TOKEN_D2_SERVER, l);
       }
 #endif
-#if 201103L <= YY_CPLUSPLUS
-      static
-      symbol_type
-      make_CA_SERVER (location_type l)
-      {
-        return symbol_type (token::TOKEN_CA_SERVER, std::move (l));
-      }
-#else
-      static
-      symbol_type
-      make_CA_SERVER (const location_type& l)
-      {
-        return symbol_type (token::TOKEN_CA_SERVER, l);
-      }
-#endif
 #if 201103L <= YY_CPLUSPLUS
       static
       symbol_type
 #if 201103L <= YY_CPLUSPLUS
       static
       symbol_type
@@ -2167,8 +2148,8 @@ switch (yykind)
     /// Constants.
     enum
     {
     /// Constants.
     enum
     {
-      yylast_ = 221,     ///< Last index in yytable_.
-      yynnts_ = 100,  ///< Number of nonterminal symbols.
+      yylast_ = 215,     ///< Last index in yytable_.
+      yynnts_ = 98,  ///< Number of nonterminal symbols.
       yyfinal_ = 8 ///< Termination state number.
     };
 
       yyfinal_ = 8 ///< Termination state number.
     };
 
@@ -2218,10 +2199,10 @@ switch (yykind)
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48
+      45,    46,    47
     };
     // Last valid token kind.
     };
     // Last valid token kind.
-    const int code_max = 303;
+    const int code_max = 302;
 
     if (t <= 0)
       return symbol_kind::S_YYEOF;
 
     if (t <= 0)
       return symbol_kind::S_YYEOF;
@@ -2382,7 +2363,7 @@ switch (yykind)
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
-#line 2386 "netconf_parser.h"
+#line 2367 "netconf_parser.h"
 
 
 
 
 
 
index eb2ec7bb636fcdead2d8dcb0857203bde7d2588e..e95055d7c2b7a0900babf04c280d2edade16ac0f 100644 (file)
@@ -69,7 +69,6 @@ using namespace std;
   DHCP4_SERVER "dhcp4"
   DHCP6_SERVER "dhcp6"
   D2_SERVER "d2"
   DHCP4_SERVER "dhcp4"
   DHCP6_SERVER "dhcp6"
   D2_SERVER "d2"
-  CA_SERVER "ca"
   MODEL "model"
   CONTROL_SOCKET "control-socket"
   SOCKET_TYPE "socket-type"
   MODEL "model"
   CONTROL_SOCKET "control-socket"
   SOCKET_TYPE "socket-type"
@@ -457,12 +456,11 @@ not_empty_servers_entries: server_entry
                          ;
 
 
                          ;
 
 
-// We currently support four types of servers: DHCPv4, DHCPv6, D2 and CA
+// We currently support four types of servers: DHCPv4, DHCPv6 and D2
 // (even though D2 socket support is not yet merged).
 server_entry: dhcp4_server
             | dhcp6_server
             | d2_server
 // (even though D2 socket support is not yet merged).
 server_entry: dhcp4_server
             | dhcp6_server
             | d2_server
-            | ca_server
             | unknown_map_entry
             ;
 
             | unknown_map_entry
             ;
 
@@ -502,18 +500,6 @@ d2_server: D2_SERVER {
     ctx.leave();
 };
 
     ctx.leave();
 };
 
-// That's an entry for ca server.
-ca_server: CA_SERVER {
-    ctx.unique("ca", ctx.loc2pos(@1));
-    ElementPtr m(new MapElement(ctx.loc2pos(@1)));
-    ctx.stack_.back()->set("ca", m);
-    ctx.stack_.push_back(m);
-    ctx.enter(ctx.SERVER);
-} COLON LCURLY_BRACKET managed_server_params RCURLY_BRACKET {
-    ctx.stack_.pop_back();
-    ctx.leave();
-};
-
 // Server parameters consist of one or more parameters.
 managed_server_params: managed_server_param
                      | managed_server_params COMMA managed_server_param
 // Server parameters consist of one or more parameters.
 managed_server_params: managed_server_param
                      | managed_server_params COMMA managed_server_param
index 729662fa63a29430e44c427f7223bb7faef67297..6fcdd32c5937a56c57c8080f2899d31f846e746c 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "lexer.cc"
+#line 2 "lexer.cc"
 
 
-#line 3 "lexer.cc"
+#line 4 "lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define  YY_INT_ALIGNED short int
 
@@ -1055,7 +1055,7 @@ namespace {
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
-#line 1058 "lexer.cc"
+#line 1059 "lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1080,8 +1080,8 @@ namespace {
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  loc.columns(evalleng);
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  loc.columns(evalleng);
-#line 1083 "lexer.cc"
 #line 1084 "lexer.cc"
 #line 1084 "lexer.cc"
+#line 1085 "lexer.cc"
 
 #define INITIAL 0
 
 
 #define INITIAL 0
 
@@ -1380,7 +1380,7 @@ YY_DECL
 
 
 
 
 
 
-#line 1383 "lexer.cc"
+#line 1384 "lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1889,7 +1889,7 @@ YY_RULE_SETUP
 #line 251 "lexer.ll"
 ECHO;
        YY_BREAK
 #line 251 "lexer.ll"
 ECHO;
        YY_BREAK
-#line 1892 "lexer.cc"
+#line 1893 "lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
 
        case YY_END_OF_BUFFER:
                {