]> granicus.if.org Git - sudo/commitdiff
regen
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 17 May 2004 22:10:20 +0000 (22:10 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 17 May 2004 22:10:20 +0000 (22:10 +0000)
lex.yy.c

index 6be7f18d38a98a5516ae9af5cc5031bf5ff937b7..6ebb3ec25e7d99dc26f41dd4f698aaa3b5022157 100644 (file)
--- a/lex.yy.c
+++ b/lex.yy.c
@@ -285,47 +285,47 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 38
-#define YY_END_OF_BUFFER 39
-static yyconst short int yy_accept[335] =
+#define YY_NUM_RULES 39
+#define YY_END_OF_BUFFER 40
+static yyconst short int yy_accept[336] =
     {   0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   39,   28,   34,   33,   32,   37,   28,   22,
-       37,   28,   29,   28,   28,   28,   28,   31,   30,   23,
-       23,   23,   23,   37,   28,   23,   23,   23,   23,   23,
-       24,   37,   24,   25,   24,   24,   24,   24,   24,   23,
-       23,   23,   23,   37,   24,    1,   11,   10,   11,   10,
-       10,   37,   37,    2,    8,    8,    8,    3,    8,    4,
-       37,   28,    0,   34,   32,    0,   36,   19,    0,   18,
-        0,   27,   27,    0,   28,   28,   28,   28,   28,   23,
-       23,   23,   23,   28,   35,   28,   28,   28,   28,   28,
-
-       28,   24,    0,   24,   19,    0,   18,    0,   24,    0,
-       24,   24,   24,   24,   24,   23,   23,   23,   23,   24,
-       24,    1,   11,   11,    9,    9,    0,    2,    8,    0,
-        8,    0,    0,    5,    6,    8,    8,    0,   28,   28,
-       28,   23,   23,   23,   23,   28,   28,   28,   28,   28,
-       28,   24,   24,   24,   23,   23,   23,   23,   24,    7,
-        7,    0,    7,    8,   28,   28,   28,   28,   28,   23,
-       23,   23,   23,   28,   28,   28,   28,   24,   24,   24,
-       24,   24,   23,   23,   23,   23,   24,    7,   28,   28,
-       28,    0,   17,   23,   23,   23,   28,   28,   28,   24,
-
-       24,   24,   23,   23,   23,   24,   28,   28,   28,   28,
-       28,   23,   23,   23,   28,   28,   28,   24,   24,   24,
-       24,   24,   23,   23,   23,   24,   20,   20,   20,    0,
-       16,   23,    0,   15,   28,   28,   28,   20,   20,   20,
-       23,   24,   28,   20,   20,   20,   20,   23,   26,   28,
-       12,   24,   20,   20,   20,   20,   23,   24,   28,   21,
-       21,   21,    0,   14,   28,   12,   24,   21,   21,   21,
-       28,   28,   21,   21,   21,   21,   21,   13,   24,   24,
-       21,   21,   21,   21,   21,   28,   28,   28,   21,   21,
-       24,   24,   24,   21,   21,   28,   28,   28,   28,   28,
-
-       24,   24,   24,   24,   24,   28,   28,   28,   24,   24,
-       24,   28,   28,   28,   28,   28,   24,   24,   24,   24,
-       24,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,    0
+        0,    0,   40,   29,   35,   34,   33,   38,   29,   23,
+       38,   29,   30,   29,   29,   29,   29,   32,   31,   24,
+       24,   24,   24,   38,   29,   24,   24,   24,   24,   24,
+       25,   38,   25,   26,   25,   25,   25,   25,   25,   24,
+       24,   24,   24,   38,   25,    1,   12,   11,   12,   11,
+       11,   38,   38,    2,    8,    8,    8,    3,    8,    4,
+       38,   29,    0,   35,   33,    0,   37,   20,    0,   19,
+        0,   28,   28,    0,   29,   29,   29,   29,   29,   24,
+       24,   24,   24,   29,   36,   29,   29,   29,   29,   29,
+
+       29,   25,    0,   25,   20,    0,   19,    0,   25,    0,
+       25,   25,   25,   25,   25,   24,   24,   24,   24,   25,
+       25,    1,   12,   12,   10,    9,   10,    0,    2,    8,
+        0,    8,    0,    0,    5,    6,    8,    8,    0,   29,
+       29,   29,   24,   24,   24,   24,   29,   29,   29,   29,
+       29,   29,   25,   25,   25,   24,   24,   24,   24,   25,
+        7,    7,    0,    7,    8,   29,   29,   29,   29,   29,
+       24,   24,   24,   24,   29,   29,   29,   29,   25,   25,
+       25,   25,   25,   24,   24,   24,   24,   25,    7,   29,
+       29,   29,    0,   18,   24,   24,   24,   29,   29,   29,
+
+       25,   25,   25,   24,   24,   24,   25,   29,   29,   29,
+       29,   29,   24,   24,   24,   29,   29,   29,   25,   25,
+       25,   25,   25,   24,   24,   24,   25,   21,   21,   21,
+        0,   17,   24,    0,   16,   29,   29,   29,   21,   21,
+       21,   24,   25,   29,   21,   21,   21,   21,   24,   27,
+       29,   13,   25,   21,   21,   21,   21,   24,   25,   29,
+       22,   22,   22,    0,   15,   29,   13,   25,   22,   22,
+       22,   29,   29,   22,   22,   22,   22,   22,   14,   25,
+       25,   22,   22,   22,   22,   22,   29,   29,   29,   22,
+       22,   25,   25,   25,   22,   22,   29,   29,   29,   29,
+
+       29,   25,   25,   25,   25,   25,   29,   29,   29,   25,
+       25,   25,   29,   29,   29,   29,   29,   25,   25,   25,
+       25,   25,   21,   21,   21,   21,   21,   21,   21,   21,
+       21,   21,   21,   21,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -334,16 +334,16 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    4,    5,    6,    1,    7,    1,    1,    8,
-        9,    1,   10,   11,   12,   13,   14,   15,   16,   17,
-       18,   19,   20,   21,   21,   21,   21,   22,    1,    1,
-       23,   24,    1,   24,   25,   26,   27,   28,   29,   26,
-       26,   30,   26,   26,   26,   26,   26,   31,   32,   33,
-       26,   34,   35,   26,   36,   26,   37,   38,   26,   26,
-        1,   39,    1,    1,   40,    1,   41,   42,   42,   43,
-
-       44,   45,   42,   42,   46,   42,   42,   47,   48,   49,
-       50,   42,   42,   51,   52,   53,   54,   42,   42,   42,
-       42,   42,    1,    1,    1,    1,    1,    1,    1,    1,
+        9,   10,   11,   12,   13,   14,   15,   16,   17,   18,
+       19,   20,   21,   22,   22,   22,   22,   23,    1,    1,
+       24,   25,   10,   25,   26,   27,   28,   29,   30,   27,
+       27,   31,   27,   27,   27,   27,   27,   32,   33,   34,
+       27,   35,   36,   27,   37,   27,   38,   39,   27,   27,
+       10,   40,   10,    1,   41,    1,   42,   43,   43,   44,
+
+       45,   46,   43,   43,   47,   43,   43,   48,   49,   50,
+       51,   43,   43,   52,   53,   54,   55,   43,   43,   43,
+       43,   43,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -360,494 +360,496 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[55] =
+static yyconst int yy_meta[56] =
     {   0,
         1,    2,    2,    3,    1,    4,    1,    3,    3,    1,
-        2,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    5,    4,    3,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    6,    7,
+        1,    2,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    5,    4,    3,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    6,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
-        7,    7,    7,    7
+        7,    7,    7,    7,    7
     } ;
 
-static yyconst short int yy_base[354] =
+static yyconst short int yy_base[355] =
     {   0,
-        0,   28,   64,    0,   55,  117,  118,  124,  162,  215,
-      268,  306, 1204, 1157, 1185, 1701, 1178, 1170, 1125, 1701,
-     1701, 1116, 1701,  128,  333,  154,  161, 1701, 1701,  372,
-     1108, 1105, 1094,  425,   94, 1060, 1063, 1053, 1040, 1026,
-     1030,  170, 1021, 1701, 1012,  280,  437,  177,  207,  476,
-     1004,  981,  987,  529,   95, 1009,    0, 1701, 1006,    0,
-     1701,  291,   57,    0,  967,  320,  115, 1701,  116, 1701,
-      140,  965,  552, 1001,  995,  968, 1701,  915,  575,  914,
-      598,  297,  885,  621,  213,  145,    0,    0,  901,    0,
-      892,  127,  884,  197, 1701,  196,  112,  105,  198,  199,
-
-      201,  879,  644,  345,  871,  667,  830,  690,  331,  713,
-      422,  207,    0,    0,  832,    0,  815,  214,  800,  293,
-      210,  824,    0,  813,  239, 1701,  273,    0,  760,  275,
-      461,  246,  339, 1701, 1701,  735,  335,  476,  526,  549,
-      572,  720,  695,  695,  683,  253,  244,  317,   92,  328,
-      276,  595,  618,  641,  683,  671,  679,  662,  344,  656,
-     1701,  285,  677,  700,  710,  431,  725,  735,  744,  298,
-      664,  651,  635,  289,  336,  341,  295,  751,  432,  760,
-      776,  785,  457,  641,  628,  612,  391,  441,  794,  803,
-      812,  463, 1701,  620,  605,  600,  430,  435,  510,  821,
-
-      830,  839,  592,  583,  567,  516,  846,  638,  855,  871,
-      880,  662,  536,  663,  429,  533,  495,  887,  668,  896,
-      912,  921,  786,  425,  921,  532,  930,  862,  767,  933,
-     1701,  423,  950, 1701,  497,  555,  329,  959,  941,  948,
-      404,  543,  966,  357,    0,    0,  320,  968,  260,  564,
-      602,  976,  603,    0,    0,  261,  986,  205, 1001, 1010,
-     1019, 1028,  987, 1701,  635, 1701, 1037, 1046, 1055, 1064,
-     1071,  695, 1080, 1096, 1105, 1114, 1089,  144, 1123,  719,
-     1132, 1141, 1150, 1159, 1168, 1173, 1182, 1193, 1202,  985,
-     1211, 1220, 1229, 1238, 1245, 1248,  881, 1257, 1273, 1282,
-
-     1289,  994, 1298, 1314, 1323, 1332, 1341, 1350, 1359, 1368,
-     1377, 1386, 1283, 1395, 1404, 1413, 1422, 1307, 1431, 1440,
-     1449, 1458, 1467, 1476, 1485, 1494, 1503,  123, 1510, 1517,
-      120, 1523, 1535, 1701, 1574, 1581, 1588, 1595, 1602, 1609,
-     1616, 1623, 1630, 1637, 1644, 1651, 1658,  146, 1665, 1672,
-     1679, 1686, 1693
+        0,   28,   65,    0,   56,  119,  120,  127,  166,  220,
+      274,  313, 1244, 1195, 1224, 1708, 1211, 1211, 1166, 1708,
+     1708, 1157, 1708,  133,  340,  158,  136, 1708, 1708,  380,
+     1153, 1150, 1148,  434,   94, 1116, 1111, 1096, 1074, 1065,
+     1077,  168, 1073, 1708, 1064,  157,  446,  182,  175,  486,
+     1049, 1046, 1044,  540,  107, 1059,    0, 1708, 1048,    0,
+     1708,  564,   58,    0,  992,  287,  124, 1708,  201, 1708,
+      133,  982,  603, 1016, 1003,  989, 1708,  951,  627,  935,
+      651,  296,  924,  675,  211,  131,    0,    0,  928,    0,
+      904,  129,  873,  241, 1708,  194,   88,  100,  195,  196,
+
+      197,  853,  699,  236,  844,  723,  835,  747,  298,  771,
+      312,  268,    0,    0,  844,    0,  827,  254,  812,  307,
+      251,  837,    0,  810,  237, 1708, 1708,  294,    0,  758,
+      339,  364,  254,  337, 1708, 1708,  753,  310,  449,  460,
+      537,  561,  764,  742,  752,  738,  295,  299,  205,  324,
+      261,  331,  575,  600,  624,  729,  699,  711,  700,  304,
+      694, 1708,  344,  666,  690,  699,  308,  744,  768,  783,
+      363,  703,  677,  671,  328,  334,  399,  339,  790,  430,
+      799,  815,  824,  380,  674,  652,  647,  405,  443,  833,
+      842,  851,  467, 1708,  652,  594,  571,  409,  445,  444,
+
+      860,  869,  878,  544,  514,  466,  412,  885,  531,  894,
+      910,  919,  486,  456,  487,  522,  550,  507,  926,  546,
+      935,  951,  960,  583,  437,  600,  561,  968,  806,  724,
+      601, 1708,  418,  611, 1708,  607,  585,  458,  994,  901,
+      942,  412,  608,  977,  649,    0,    0,  383,  635,  349,
+      614,  642,  984,  651,    0,    0,  350,  647,  280, 1009,
+     1019, 1028, 1037,  671, 1708,  657, 1708, 1046, 1055, 1064,
+     1073, 1080,  559, 1089, 1105, 1114, 1123, 1098,  243, 1132,
+      570, 1141, 1150, 1159, 1168, 1177, 1182, 1191, 1202, 1211,
+      751, 1220, 1229, 1238, 1247, 1003, 1254,  672, 1263, 1279,
+
+     1288, 1295,  712, 1304, 1320, 1329, 1338, 1347, 1356, 1365,
+     1374, 1383, 1392,  714, 1401, 1410, 1419, 1428,  736, 1437,
+     1446, 1455, 1464, 1473, 1482, 1491, 1500, 1509,  210, 1516,
+     1523,  165, 1529, 1541, 1708, 1581, 1588, 1595, 1602, 1609,
+     1616, 1623, 1630, 1637, 1644, 1651, 1658, 1665,  176, 1672,
+     1679, 1686, 1693, 1700
     } ;
 
-static yyconst short int yy_def[354] =
+static yyconst short int yy_def[355] =
     {   0,
-      334,    1,  334,    3,    1,    1,  335,  335,  336,  336,
-      337,  337,  334,  338,  334,  334,  334,  339,  340,  334,
-      334,  341,  334,  342,  338,   25,   25,  334,  334,  334,
-       30,   30,   30,  338,  338,   30,   30,   30,   30,   30,
-      343,  334,  344,  334,  345,  346,  343,   47,   47,  334,
-       50,   50,   50,  343,  343,  334,  347,  334,  347,  347,
-      334,  334,  334,  348,  349,  350,  349,  334,  349,  334,
-      351,  338,  338,  334,  334,  339,  334,  340,  340,  341,
-      341,  342,  352,  338,  338,  338,   25,   25,   25,   30,
-       30,   30,   30,  338,  334,  338,  338,  338,  338,  338,
-
-      338,  343,  343,  334,  344,  344,  345,  345,  346,  343,
-      343,  343,   47,   47,   47,   50,   50,   50,   50,  343,
-      343,  334,  347,  347,  334,  334,  334,  348,  349,  349,
-      350,  353,  350,  334,  334,  349,  349,  334,   25,   25,
-       25,   30,   30,   30,   30,  338,  338,  338,  338,  338,
-      338,   47,   47,   47,   50,   50,   50,   50,  343,  349,
-      334,  353,  350,  350,  338,  338,   25,   25,   25,   30,
-       30,   30,   30,  338,  338,  338,  338,  343,  343,   47,
-       47,   47,   50,   50,   50,   50,  343,  353,   25,   25,
-       25,  334,  334,   30,   30,   30,  338,  338,  338,   47,
-
-       47,   47,   50,   50,   50,  343,  338,  338,   25,   25,
-       25,   30,   30,   30,  338,  338,  338,  343,  343,   47,
-       47,   47,   50,   50,   50,  343,  338,  227,  227,  334,
-      334,   30,  334,  334,  338,  338,  338,  343,  238,  238,
-       50,  343,  338,  338,  227,  227,  227,   30,  338,  338,
-      338,  343,  343,  238,  238,  238,   50,  343,   25,   25,
-       25,   25,  334,  334,  338,  334,   47,   47,   47,   47,
-      338,  338,   25,   25,   25,   25,  338,  338,   47,  343,
-       47,   47,   47,   47,  343,   25,   25,   25,   25,  338,
-       47,   47,   47,   47,  343,  338,  338,   25,   25,   25,
-
-      343,  343,   47,   47,   47,   25,   25,   25,   47,   47,
-       47,   25,  338,   25,   25,   25,   47,  343,   47,   47,
-       47,   25,   25,   25,   47,   47,   47,  338,  338,  338,
-      343,  343,  343,    0,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334
+      335,    1,  335,    3,    1,    1,  336,  336,  337,  337,
+      338,  338,  335,  339,  335,  335,  335,  340,  341,  335,
+      335,  342,  335,  343,  339,   25,   25,  335,  335,  335,
+       30,   30,   30,  339,  339,   30,   30,   30,   30,   30,
+      344,  335,  345,  335,  346,  347,  344,   47,   47,  335,
+       50,   50,   50,  344,  344,  335,  348,  335,  348,  348,
+      335,  335,  335,  349,  350,  351,  350,  335,  350,  335,
+      352,  339,  339,  335,  335,  340,  335,  341,  341,  342,
+      342,  343,  353,  339,  339,  339,   25,   25,   25,   30,
+       30,   30,   30,  339,  335,  339,  339,  339,  339,  339,
+
+      339,  344,  344,  335,  345,  345,  346,  346,  347,  344,
+      344,  344,   47,   47,   47,   50,   50,   50,   50,  344,
+      344,  335,  348,  348,  335,  335,  335,  335,  349,  350,
+      350,  351,  354,  351,  335,  335,  350,  350,  335,   25,
+       25,   25,   30,   30,   30,   30,  339,  339,  339,  339,
+      339,  339,   47,   47,   47,   50,   50,   50,   50,  344,
+      350,  335,  354,  351,  351,  339,  339,   25,   25,   25,
+       30,   30,   30,   30,  339,  339,  339,  339,  344,  344,
+       47,   47,   47,   50,   50,   50,   50,  344,  354,   25,
+       25,   25,  335,  335,   30,   30,   30,  339,  339,  339,
+
+       47,   47,   47,   50,   50,   50,  344,  339,  339,   25,
+       25,   25,   30,   30,   30,  339,  339,  339,  344,  344,
+       47,   47,   47,   50,   50,   50,  344,  339,  228,  228,
+      335,  335,   30,  335,  335,  339,  339,  339,  344,  239,
+      239,   50,  344,  339,  339,  228,  228,  228,   30,  339,
+      339,  339,  344,  344,  239,  239,  239,   50,  344,   25,
+       25,   25,   25,  335,  335,  339,  335,   47,   47,   47,
+       47,  339,  339,   25,   25,   25,   25,  339,  339,   47,
+      344,   47,   47,   47,   47,  344,   25,   25,   25,   25,
+      339,   47,   47,   47,   47,  344,  339,  339,   25,   25,
+
+       25,  344,  344,   47,   47,   47,   25,   25,   25,   47,
+       47,   47,   25,  339,   25,   25,   25,   47,  344,   47,
+       47,   47,   25,   25,   25,   47,   47,   47,  339,  339,
+      339,  344,  344,  344,    0,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335
     } ;
 
-static yyconst short int yy_nxt[1756] =
+static yyconst short int yy_nxt[1764] =
     {   0,
-       14,   15,   16,   17,   14,   18,   19,   20,   21,   22,
-       23,   14,   14,   24,   25,   26,   27,   25,   25,   25,
-       25,   28,   29,   21,   30,   30,   30,   30,   31,   30,
-       32,   30,   33,   30,   30,   30,   30,   30,   34,   14,
+       14,   15,   16,   17,   14,   18,   19,   20,   21,   14,
+       22,   23,   14,   14,   24,   25,   26,   27,   25,   25,
+       25,   25,   28,   29,   21,   30,   30,   30,   30,   31,
+       30,   32,   30,   33,   30,   30,   30,   30,   30,   34,
        14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
-       14,   35,   14,   14,   36,   37,   56,   38,  127,   95,
-       21,   39,   21,   40,   41,   15,   16,   17,   41,   42,
-       43,   21,   44,   45,   23,   41,   41,   46,   47,   48,
-       49,   47,   47,   47,   47,   28,   29,   21,   50,   50,
-       50,   50,   51,   50,   52,   50,   53,   50,   50,   50,
-
-       50,   50,   54,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   55,   41,   41,   56,   15,
-       58,   59,   21,   60,   21,   15,   58,   59,   61,   60,
-       73,   83,   73,  103,   61,   83,   83,  134,  135,   61,
-       60,  137,   95,   73,  175,   61,   60,   96,  121,  148,
-       73,   83,  128,  130,  130,  143,   62,   85,  103,  144,
-      147,   73,   62,   15,   16,   17,   84,   18,   87,   87,
-       87,   87,   87,   87,   87,   88,   88,   88,   88,   88,
-       89,  104,   73,   73,  104,  104,  104,  104,  104,  104,
-      104,  113,  113,  113,  113,  113,  113,  113,  127,   95,
-
-       63,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   15,   16,   17,  111,
-       18,  114,  114,  114,  114,  114,  115,  139,  140,  141,
-      139,  139,  139,  139,   73,   73,   73,   73,  146,   73,
-      127,   95,  156,  103,  151,  103,  157,  150,  103,  149,
-      161,   73,  159,   63,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   15,
-       16,   17,   66,   18,  127,   95,  129,   67,   68,   69,
-      129,  102,   73,   83,  162,  129,  175,   83,   83,  188,
-       70,   73,  125,   95,  127,   95,  126,  129,   73,  192,
-
-       83,  126,  174,   83,   83,   83,   71,   15,   16,   17,
-       66,   18,  126,  126,   73,   67,   68,   69,  110,  193,
-       83,  132,  132,  162,  129,  132,  175,   73,   70,  126,
-      132,  103,  197,   73,   83,   84,  127,   95,   83,   83,
-       72,  132,  132,  163,   71,   85,  175,   86,   86,   86,
-       86,   86,   86,   86,   83,   73,  104,  176,  133,  104,
-      104,  104,  104,  104,  104,  104,   73,   73,  177,  110,
-      243,   73,   72,  130,   73,  198,   72,  164,   72,   73,
-      251,   72,  103,   72,   72,   72,   90,   90,   90,   90,
-       90,   90,   90,  187,  199,   73,   90,   90,   90,   90,
-
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       73,   90,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   94,   95,   72,  103,
-       72,  257,   72,   72,  206,   72,  152,  153,  154,  152,
-      152,  152,  152,  165,  178,  161,   72,   72,   72,  111,
-      248,  112,  112,  112,  112,  112,  112,  112,  192,  216,
-      103,  241,  132,  132,  192,  160,  132,   73,   73,   73,
-      103,  132,  215,   73,  235,  103,  102,   83,  193,  162,
-      102,   83,  102,  132,  193,  102,   83,  102,  102,  102,
-      116,  116,  116,  116,  116,  116,  116,   83,   83,  133,
-
-      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-      116,  116,  116,  116,  103,  116,  102,  102,  102,  102,
+       14,   14,   35,   14,   14,   36,   37,   56,   38,  128,
+       95,   21,   39,   21,   40,   41,   15,   16,   17,   41,
+       42,   43,   21,   44,   41,   45,   23,   41,   41,   46,
+       47,   48,   49,   47,   47,   47,   47,   28,   29,   21,
+       50,   50,   50,   50,   51,   50,   52,   50,   53,   50,
+
+       50,   50,   50,   50,   54,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   55,   41,   41,
+       56,   15,   58,   59,   21,   60,   21,   73,   15,   58,
+       59,   61,   60,   73,  138,   95,   83,  148,   61,   73,
+       83,   83,   61,   60,   85,  149,  103,  135,   96,   61,
+       60,   88,   88,   88,   88,   88,   89,   83,  144,   62,
+       83,  121,  145,  131,   83,   83,   62,   15,   16,   17,
+       73,   18,   84,   87,   87,   87,   87,   87,   87,   87,
+      104,   83,  129,  104,  104,  104,  104,  104,  104,  104,
+      114,  114,  114,  114,  114,  115,  110,  113,  113,  113,
+
+      113,  113,  113,  113,  103,   63,   64,   64,   64,   64,
+       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
+       64,   15,   16,   17,  136,   18,  140,  141,  142,  140,
+      140,  140,  140,   73,   73,   73,   73,  147,  128,   95,
+      131,  152,  128,   95,   73,  151,  177,  150,  104,   73,
+       73,  104,  104,  104,  104,  104,  104,  104,  162,   63,
+       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
+       64,   64,   64,   64,   64,   15,   16,   17,   66,   18,
+       73,  111,   73,  157,   67,   68,   69,  158,  133,  133,
+      103,  130,  133,  163,  160,  128,   95,   70,  133,   83,
+
+       73,   83,  178,   83,   83,   83,   83,  103,  128,   95,
+      133,  128,   95,   71,   15,   16,   17,   66,   18,  103,
+       83,  166,   83,   67,   68,   69,  134,  153,  154,  155,
+      153,  153,  153,  153,   73,   84,   70,  110,   73,  133,
+      130,  164,  176,  103,  130,  175,  103,   73,  189,  131,
+      130,  103,   71,   85,  188,   86,   86,   86,   86,   86,
+       86,   86,  130,   73,  193,  133,  133,   73,  161,  133,
+       73,  102,  198,   73,  199,  133,  165,  176,   73,   73,
+       72,  193,  176,  163,   72,  194,   72,  133,   73,   72,
+       72,  176,   72,   72,   72,   90,   90,   90,   90,   90,
+
+       90,   90,  194,  134,   72,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   73,
+       90,   72,   72,   72,   72,   72,   72,   72,   72,   72,
+       72,   72,   72,   72,   72,   94,   95,   72,   73,   72,
+      258,   72,   72,  179,  103,   72,  249,  162,   73,  207,
+       83,  103,  216,  200,   83,  227,   72,   72,   72,  111,
+       83,  112,  112,  112,  112,  112,  112,  112,  193,  103,
+      217,   83,   83,  166,  242,  167,  167,  167,  167,  167,
+      167,  167,  163,   73,   73,  103,  102,  231,  234,  194,
+      102,  218,  102,  233,  226,  102,  102,   73,  102,  102,
+
+      102,  116,  116,  116,  116,  116,  116,  116,  232,  235,
+      252,  116,  116,  116,  116,  116,  116,  116,  116,  116,
+      116,  116,  116,  116,  116,  103,  116,  102,  102,  102,
       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      120,   95,  102,   73,  102,   73,  102,  102,  165,  102,
-      166,  166,  166,  166,  166,  166,  166,  237,   73,  249,
-      102,  102,  102,   72,  103,   72,  217,   72,  226,   72,
-       72,  165,   72,  167,  167,  167,  167,  167,  167,  167,
-      103,   73,  232,   72,   72,   72,   78,  242,   78,  236,
-       78,  103,   78,   78,  165,   78,  168,  168,  168,  168,
-      168,  169,  166,   73,  225,  258,   78,   78,   78,   80,
-
-      250,   80,   73,   80,  265,   80,   80,  178,   80,  179,
-      179,  179,  179,  179,  179,  179,  252,  224,  223,   80,
-       80,   80,   82,  266,   72,  266,   82,  214,   72,   72,
-      178,   82,  180,  180,  180,  180,  180,  180,  180,  213,
-       73,  103,   82,   82,   72,  102,  212,  102,  205,  102,
-      207,  102,  102,  178,  102,  181,  181,  181,  181,  181,
-      182,  179,  204,  230,  233,  102,  102,  102,  105,  203,
-      105,  196,  105,   73,  105,  105,   73,  105,  132,  132,
-      218,  160,  132,  231,  234,  195,  278,  132,  105,  105,
-      105,  107,  194,  107,  130,  107,  186,  107,  107,  132,
-
-      107,  132,  132,  185,  163,  132,  103,  271,  184,  183,
-      132,  107,  107,  107,  109,  133,  102,  173,  109,  172,
-      102,  102,  132,  109,  189,  190,  191,  189,  189,  189,
-      189,  279,  171,   73,  109,  109,  102,  165,  133,  166,
-      166,  166,  166,  166,  166,  166,  170,  165,   73,  166,
-      166,  166,  166,  166,  166,  166,  165,  103,  166,  166,
-      166,  166,  166,  166,   72,  200,  201,  202,  200,  200,
-      200,  200,  178,  130,  179,  179,  179,  179,  179,  179,
-      179,  246,  246,  246,  246,  246,  247,  230,  178,  103,
-      179,  179,  179,  179,  179,  179,  179,  178,  130,  179,
-
-      179,  179,  179,  179,  179,  102,  207,  231,  208,  208,
-      208,  208,  208,  208,  208,  207,  124,  209,  209,  209,
-      209,  209,  209,  209,  207,  122,  210,  210,  210,  210,
-      210,  211,  208,  218,  158,  219,  219,  219,  219,  219,
-      219,  219,  218,  155,  220,  220,  220,  220,  220,  220,
-      220,  218,  102,  221,  221,  221,  221,  221,  222,  219,
-      227,  228,  229,  227,  227,  227,  227,  207,  108,  208,
-      208,  208,  208,  208,  208,  208,  245,  245,  245,  245,
-      245,  245,  245,  207,   73,  208,  208,  208,  208,  208,
-      208,  208,  207,  296,  208,  208,  208,  208,  208,  208,
-
-       72,  238,  239,  240,  238,  238,  238,  238,  218,  106,
-      219,  219,  219,  219,  219,  219,  219,  103,  145,   73,
-      142,   72,  233,  138,  218,  103,  219,  219,  219,  219,
-      219,  219,  219,  218,  230,  219,  219,  219,  219,  219,
-      219,  102,  234,  243,  244,  244,  244,  244,  244,  244,
-      244,  233,   81,   79,  231,  254,  254,  254,  254,  254,
-      254,  254,  255,  255,  255,  255,  255,  256,   73,  263,
-       77,  234,  252,  253,  253,  253,  253,  253,  253,  253,
-      259,  260,  261,  262,  259,  259,  259,  263,  263,  264,
-      267,  268,  269,  270,  267,  267,  267,  103,   75,  290,
-
-      290,  290,   74,   73,   73,  130,  301,  264,  264,  124,
-      122,  119,  118,  271,  103,  272,  272,  272,  272,  272,
-      272,  272,  271,   73,  273,  273,  273,  273,  273,  273,
-      273,  271,  103,  274,  274,  274,  274,  274,  275,  276,
-      271,  117,  277,  277,  277,  272,  272,  272,  272,  279,
-      108,  280,  280,  280,  280,  280,  280,  280,  279,  106,
-      281,  281,  281,  281,  281,  281,  281,  279,  103,  282,
-      282,  282,  282,  282,  283,  284,  279,  101,  285,  285,
-      285,  280,  280,  280,  280,  286,  287,  288,  286,  286,
-      286,  286,  271,  100,  276,  276,  276,  276,  276,  276,
-
-      276,  271,   99,  290,  290,  290,   98,   97,  271,   73,
-      276,  276,  276,  276,  276,  276,  276,  271,   93,  276,
-      276,  276,  276,  276,  276,  289,  271,   73,  289,  289,
-      289,  289,  289,  289,  289,  102,   92,  291,  292,  293,
-      291,  291,  291,  291,  279,   91,  284,  284,  284,  284,
-      284,  284,  284,  279,   81,  284,  284,  284,  284,  284,
-      284,  284,  279,   79,  284,  284,  284,  284,  284,  284,
-      294,  279,   77,  294,  294,  294,  294,  294,  294,  294,
-      279,   75,  295,  295,  295,  296,   74,  297,  297,  297,
-      297,  297,  297,  297,  296,   73,  298,  298,  298,  298,
-
-      298,  298,  298,  334,  334,  296,  103,  299,  299,  299,
-      299,  299,  300,  297,   72,  334,  289,  289,  289,  289,
-      289,  289,  289,  301,  334,  302,  302,  302,  302,  302,
-      302,  302,  301,  334,  303,  303,  303,  303,  303,  303,
-      303,  301,  334,  304,  304,  304,  304,  304,  305,  302,
-      102,  334,  294,  294,  294,  294,  294,  294,  294,  295,
-      295,  295,  306,  307,  308,  306,  306,  306,  306,  296,
-      334,  297,  297,  297,  297,  297,  297,  297,  334,  334,
-      334,  334,  334,  103,  334,  296,   73,  297,  297,  297,
-      297,  297,  297,  297,  296,  312,  297,  297,  297,  297,
-
-      297,  297,   72,  309,  310,  311,  309,  309,  309,  309,
-      301,  334,  302,  302,  302,  302,  302,  302,  302,  317,
-      334,   73,  334,  334,  334,  334,  301,  103,  302,  302,
-      302,  302,  302,  302,  302,  301,  334,  302,  302,  302,
-      302,  302,  302,  102,  312,  103,  313,  313,  313,  313,
-      313,  313,  313,  312,  334,  314,  314,  314,  314,  314,
-      314,  314,  312,  334,  315,  315,  315,  315,  315,  316,
-      313,  317,  334,  318,  318,  318,  318,  318,  318,  318,
-      317,  334,  319,  319,  319,  319,  319,  319,  319,  317,
-      334,  320,  320,  320,  320,  320,  321,  318,   72,  334,
-
-      322,  323,  324,  322,  322,  322,  322,  312,  334,  313,
-      313,  313,  313,  313,  313,  313,  312,  334,  313,  313,
-      313,  313,  313,  313,  313,  312,  334,  313,  313,  313,
-      313,  313,  313,   72,  102,  334,  325,  326,  327,  325,
-      325,  325,  325,  317,  334,  318,  318,  318,  318,  318,
-      318,  318,  317,  334,  318,  318,  318,  318,  318,  318,
-      318,  317,  334,  318,  318,  318,  318,  318,  318,  102,
-       72,  334,  328,  328,  328,  328,  328,  328,  328,   72,
-      334,  322,  322,  322,  322,  322,  322,  322,   72,  334,
-      329,  329,  329,  329,  329,  330,  328,  102,  334,  331,
-
-      331,  331,  331,  331,  331,  331,  102,  334,  325,  325,
-      325,  325,  325,  325,  325,  102,  334,  332,  332,  332,
-      332,  332,  333,  331,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328,  331,  331,  331,
-      331,  331,  331,  331,  334,  334,  334,  334,   73,  331,
-      331,  331,  331,  331,  331,   73,  334,  334,  334,  334,
-      334,  103,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  103,   57,   57,   57,   57,   57,   57,
-       57,   21,   21,   21,   21,   21,   21,   21,   65,   65,
-       65,   65,   65,   65,   65,   72,  334,  334,  334,  334,
-
-       72,   72,   76,   76,   76,   76,   76,   76,   76,   78,
-      334,  334,  334,  334,   78,   78,   80,  334,  334,  334,
-      334,   80,   80,   82,  334,   82,  334,  334,   82,   82,
-      102,  334,  334,  334,  334,  102,  102,  105,  334,  334,
-      334,  334,  105,  105,  107,  334,  334,  334,  334,  107,
-      107,  109,  334,  109,  334,  334,  109,  109,  123,  334,
-      123,  123,  334,  334,  123,  129,  334,  129,  334,  129,
-      129,  129,  131,  131,  131,  131,  131,  131,  131,  136,
-      136,  136,  136,  136,  136,  136,   83,  334,   83,  334,
-      334,   83,   83,  132,  132,  132,  132,  132,  132,  132,
-
-       13,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334
+      102,  120,   95,  102,  208,  102,   73,  102,  102,  225,
+      166,  102,  168,  168,  168,  168,  168,  168,  168,  219,
+      238,   73,  102,  102,  102,  125,   95,  126,  236,  127,
+       73,  224,  272,  126,  166,  127,  169,  169,  169,  169,
+      169,  170,  167,  280,  231,  103,  127,  127,  179,   73,
+      180,  180,  180,  180,  180,  180,  180,  237,   73,  215,
+
+      103,  234,  231,  127,   72,  232,   72,  243,   72,  103,
+       72,   72,  234,  179,   72,  181,  181,  181,  181,  181,
+      181,  181,  235,  232,   73,   72,   72,   72,   78,  214,
+       78,  251,   78,  235,   78,   78,  264,  179,   78,  182,
+      182,  182,  182,  182,  183,  180,   73,  103,  264,   78,
+       78,   78,   80,   73,   80,  266,   80,  265,   80,   80,
+      250,  259,   80,  244,  267,  253,  267,  133,  133,  265,
+      161,  133,  264,   80,   80,   80,   82,  133,   72,  213,
+       82,   73,   72,   72,  206,  297,   82,  205,   73,  133,
+      103,  133,  133,  265,  164,  133,   73,   82,   82,   72,
+
+      102,  133,  102,  204,  102,  134,  102,  102,  197,  279,
+      102,   73,  196,  133,  190,  191,  192,  190,  190,  190,
+      190,  102,  102,  102,  105,  302,  105,  313,  105,  134,
+      105,  105,  195,  131,  105,  187,  186,  185,   73,  247,
+      247,  247,  247,  247,  248,  105,  105,  105,  107,  318,
+      107,  103,  107,   73,  107,  107,  184,  166,  107,  167,
+      167,  167,  167,  167,  167,  167,  291,  291,  291,  107,
+      107,  107,  109,  174,  102,  103,  109,  173,  102,  102,
+      172,  166,  109,  167,  167,  167,  167,  167,  167,  167,
+       73,  171,  131,  109,  109,  102,  166,  131,  167,  167,
+
+      167,  167,  167,  167,   72,  201,  202,  203,  201,  201,
+      201,  201,  179,  124,  180,  180,  180,  180,  180,  180,
+      180,  246,  246,  246,  246,  246,  246,  246,  179,  103,
+      180,  180,  180,  180,  180,  180,  180,  179,  122,  180,
+      180,  180,  180,  180,  180,  102,  208,  159,  209,  209,
+      209,  209,  209,  209,  209,  208,  156,  210,  210,  210,
+      210,  210,  210,  210,  208,  102,  211,  211,  211,  211,
+      211,  212,  209,  219,  108,  220,  220,  220,  220,  220,
+      220,  220,  219,  106,  221,  221,  221,  221,  221,  221,
+      221,  219,  103,  222,  222,  222,  222,  222,  223,  220,
+
+      228,  229,  230,  228,  228,  228,  228,  208,  146,  209,
+      209,  209,  209,  209,  209,  209,  255,  255,  255,  255,
+      255,  255,  255,  208,   73,  209,  209,  209,  209,  209,
+      209,  209,  208,  143,  209,  209,  209,  209,  209,  209,
+       72,  239,  240,  241,  239,  239,  239,  239,  219,   72,
+      220,  220,  220,  220,  220,  220,  220,  256,  256,  256,
+      256,  256,  257,  139,  219,  103,  220,  220,  220,  220,
+      220,  220,  220,  219,   81,  220,  220,  220,  220,  220,
+      220,  102,  244,  245,  245,  245,  245,  245,  245,  245,
+       79,   77,  260,  261,  262,  263,  260,  260,  260,  268,
+
+      269,  270,  271,  268,  268,  268,   75,   73,  253,  254,
+      254,  254,  254,  254,  254,  254,   73,   74,  296,  296,
+      296,   73,  272,  103,  273,  273,  273,  273,  273,  273,
+      273,  131,  272,  103,  274,  274,  274,  274,  274,  274,
+      274,  272,  103,  275,  275,  275,  275,  275,  276,  277,
+      272,  124,  278,  278,  278,  273,  273,  273,  273,  280,
+      122,  281,  281,  281,  281,  281,  281,  281,  280,  119,
+      282,  282,  282,  282,  282,  282,  282,  280,  118,  283,
+      283,  283,  283,  283,  284,  285,  280,  117,  286,  286,
+      286,  281,  281,  281,  281,  287,  288,  289,  287,  287,
+
+      287,  287,  272,  108,  277,  277,  277,  277,  277,  277,
+      277,  272,  106,  291,  291,  291,  103,  101,  272,   73,
+      277,  277,  277,  277,  277,  277,  277,  272,  100,  277,
+      277,  277,  277,  277,  277,  290,  272,   73,  290,  290,
+      290,  290,  290,  290,  290,  102,   99,  292,  293,  294,
+      292,  292,  292,  292,  280,   98,  285,  285,  285,  285,
+      285,  285,  285,  280,   97,  285,  285,  285,  285,  285,
+      285,  285,  280,   93,  285,  285,  285,  285,  285,  285,
+      295,  280,   92,  295,  295,  295,  295,  295,  295,  295,
+      280,   91,  296,  296,  296,  297,   81,  298,  298,  298,
+
+      298,  298,  298,  298,  297,   79,  299,  299,  299,  299,
+      299,  299,  299,   77,   75,  297,  103,  300,  300,  300,
+      300,  300,  301,  298,   72,   74,  290,  290,  290,  290,
+      290,  290,  290,  302,   73,  303,  303,  303,  303,  303,
+      303,  303,  302,  335,  304,  304,  304,  304,  304,  304,
+      304,  302,  335,  305,  305,  305,  305,  305,  306,  303,
+      102,  335,  295,  295,  295,  295,  295,  295,  295,  307,
+      308,  309,  307,  307,  307,  307,  297,  335,  298,  298,
+      298,  298,  298,  298,  298,  335,  335,  335,  335,  335,
+      335,  335,  297,   73,  298,  298,  298,  298,  298,  298,
+
+      298,  297,  335,  298,  298,  298,  298,  298,  298,   72,
+      310,  311,  312,  310,  310,  310,  310,  302,  335,  303,
+      303,  303,  303,  303,  303,  303,  335,  335,  335,  335,
+      335,  335,  335,  302,  103,  303,  303,  303,  303,  303,
+      303,  303,  302,  335,  303,  303,  303,  303,  303,  303,
+      102,  313,  335,  314,  314,  314,  314,  314,  314,  314,
+      313,  335,  315,  315,  315,  315,  315,  315,  315,  313,
+      335,  316,  316,  316,  316,  316,  317,  314,  318,  335,
+      319,  319,  319,  319,  319,  319,  319,  318,  335,  320,
+      320,  320,  320,  320,  320,  320,  318,  335,  321,  321,
+
+      321,  321,  321,  322,  319,   72,  335,  323,  324,  325,
+      323,  323,  323,  323,  313,  335,  314,  314,  314,  314,
+      314,  314,  314,  313,  335,  314,  314,  314,  314,  314,
+      314,  314,  313,  335,  314,  314,  314,  314,  314,  314,
+       72,  102,  335,  326,  327,  328,  326,  326,  326,  326,
+      318,  335,  319,  319,  319,  319,  319,  319,  319,  318,
+      335,  319,  319,  319,  319,  319,  319,  319,  318,  335,
+      319,  319,  319,  319,  319,  319,  102,   72,  335,  329,
+      329,  329,  329,  329,  329,  329,   72,  335,  323,  323,
+      323,  323,  323,  323,  323,   72,  335,  330,  330,  330,
+
+      330,  330,  331,  329,  102,  335,  332,  332,  332,  332,
+      332,  332,  332,  102,  335,  326,  326,  326,  326,  326,
+      326,  326,  102,  335,  333,  333,  333,  333,  333,  334,
+      332,  329,  329,  329,  329,  329,  329,  329,  329,  329,
+      329,  329,  329,  329,  332,  332,  332,  332,  332,  332,
+      332,  335,  335,  335,  335,   73,  332,  332,  332,  332,
+      332,  332,   73,  335,  335,  335,  335,  335,  103,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      103,   57,   57,   57,   57,   57,   57,   57,   21,   21,
+       21,   21,   21,   21,   21,   65,   65,   65,   65,   65,
+
+       65,   65,   72,  335,  335,  335,  335,   72,   72,   76,
+       76,   76,   76,   76,   76,   76,   78,  335,  335,  335,
+      335,   78,   78,   80,  335,  335,  335,  335,   80,   80,
+       82,  335,   82,  335,  335,   82,   82,  102,  335,  335,
+      335,  335,  102,  102,  105,  335,  335,  335,  335,  105,
+      105,  107,  335,  335,  335,  335,  107,  107,  109,  335,
+      109,  335,  335,  109,  109,  123,  335,  123,  123,  335,
+      335,  123,  130,  335,  130,  335,  130,  130,  130,  132,
+      132,  132,  132,  132,  132,  132,  137,  137,  137,  137,
+      137,  137,  137,   83,  335,   83,  335,  335,   83,   83,
+
+      133,  133,  133,  133,  133,  133,  133,   13,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335
     } ;
 
-static yyconst short int yy_chk[1756] =
+static yyconst short int yy_chk[1764] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    2,    2,    5,    2,   63,   63,
-        5,    2,    5,    2,    3,    3,    3,    3,    3,    3,
+        1,    1,    1,    1,    1,    2,    2,    5,    2,   63,
+       63,    5,    2,    5,    2,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
 
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    6,    7,
-        7,    7,    6,    7,    6,    8,    8,    8,    7,    8,
-      149,   24,   35,   55,    8,   24,   24,   67,   69,    7,
-        7,   71,   71,   98,  149,    8,    8,   35,   55,   98,
-       97,   24,  348,   67,   69,   92,    7,   86,  331,   92,
-       97,  328,    8,    9,    9,    9,   24,    9,   26,   26,
-       26,   26,   26,   26,   26,   27,   27,   27,   27,   27,
-       27,   42,  278,   86,   42,   42,   42,   42,   42,   42,
-       42,   48,   48,   48,   48,   48,   48,   48,   94,   94,
-
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        6,    7,    7,    7,    6,    7,    6,   97,    8,    8,
+        8,    7,    8,   35,   71,   71,   24,   97,    8,   98,
+       24,   24,    7,    7,   86,   98,   55,   67,   35,    8,
+        8,   27,   27,   27,   27,   27,   27,   24,   92,    7,
+       46,   55,   92,   67,   46,   46,    8,    9,    9,    9,
+       86,    9,   24,   26,   26,   26,   26,   26,   26,   26,
+       42,   46,  349,   42,   42,   42,   42,   42,   42,   42,
+       49,   49,   49,   49,   49,   49,   46,   48,   48,   48,
+
+       48,   48,   48,   48,  332,    9,    9,    9,    9,    9,
         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,   10,   10,   10,  112,
-       10,   49,   49,   49,   49,   49,   49,   85,   85,   85,
-       85,   85,   85,   85,   96,   94,   99,  100,   96,  101,
-      125,  125,  118,  258,  101,  112,  118,  100,  121,   99,
-      132,   85,  121,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   11,
-       11,   11,   11,   11,  127,  127,  130,   11,   11,   11,
-      130,  256,  147,   46,  132,  130,  147,   46,   46,  162,
-       11,  146,   62,   62,  120,  120,   62,  130,  249,  170,
-
-       82,   62,  146,   46,   82,   82,   11,   12,   12,   12,
-       12,   12,   62,   62,  151,   12,   12,   12,   46,  170,
-       82,   66,   66,  162,   66,   66,  151,  174,   12,   62,
-       66,  120,  174,  177,  109,   82,  137,  137,  109,  109,
-      247,  133,   66,  133,   12,   25,  177,   25,   25,   25,
-       25,   25,   25,   25,  109,  148,  104,  148,   66,  104,
-      104,  104,  104,  104,  104,  104,  150,  237,  150,  109,
-      244,   25,   30,  137,  175,  175,   30,  133,   30,  176,
-      237,   30,  159,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,  159,  176,  244,   30,   30,   30,   30,
-
+        9,   10,   10,   10,   69,   10,   85,   85,   85,   85,
+       85,   85,   85,   96,   99,  100,  101,   96,  125,  125,
+       69,  101,   94,   94,  149,  100,  149,   99,  104,  329,
+       85,  104,  104,  104,  104,  104,  104,  104,  133,   10,
+       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
+       10,   10,   10,   10,   10,   11,   11,   11,   11,   11,
+       94,  112,  279,  118,   11,   11,   11,  118,   66,   66,
+      121,   66,   66,  133,  121,  128,  128,   11,   66,   82,
+
+      151,  109,  151,   82,   82,  109,  109,  112,  120,  120,
+       66,  138,  138,   11,   12,   12,   12,   12,   12,  259,
+       82,  167,  109,   12,   12,   12,   66,  111,  111,  111,
+      111,  111,  111,  111,  147,   82,   12,  109,  148,  134,
+      131,  134,  148,  160,  131,  147,  120,  167,  163,  138,
+      131,  111,   12,   25,  160,   25,   25,   25,   25,   25,
+       25,   25,  131,  150,  171,  132,  132,  175,  132,  132,
+      152,  257,  175,  176,  176,  132,  134,  150,  178,   25,
+       30,  184,  152,  163,   30,  171,   30,  132,  250,   30,
+       30,  178,   30,   30,   30,   30,   30,   30,   30,   30,
+
+       30,   30,  184,  132,  248,   30,   30,   30,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   34,   34,   34,  187,
-       34,  241,   34,   34,  187,   34,  111,  111,  111,  111,
-      111,  111,  111,  166,  179,  188,   34,   34,   34,   47,
-      232,   47,   47,   47,   47,   47,   47,   47,  183,  198,
-      111,  224,  131,  131,  192,  131,  131,  215,  197,  166,
-      179,  131,  197,  198,  215,   47,   50,  138,  183,  188,
-       50,  138,   50,  131,  192,   50,  138,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,  138,  138,  131,
-
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       30,   30,   30,   30,   30,   34,   34,   34,  177,   34,
+      242,   34,   34,  180,  188,   34,  233,  189,  198,  188,
+      139,  207,  198,  177,  139,  207,   34,   34,   34,   47,
+      139,   47,   47,   47,   47,   47,   47,   47,  193,  180,
+      199,  139,  139,  140,  225,  140,  140,  140,  140,  140,
+      140,  140,  189,  200,  199,   47,   50,  213,  215,  193,
+       50,  200,   50,  214,  206,   50,   50,  238,   50,   50,
+
+       50,   50,   50,   50,   50,   50,   50,   50,  213,  215,
+      238,   50,   50,   50,   50,   50,   50,   50,   50,   50,
        50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
        50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       54,   54,   54,  217,   54,  235,   54,   54,  139,   54,
-      139,  139,  139,  139,  139,  139,  139,  217,  199,  235,
-       54,   54,   54,   73,  206,   73,  199,   73,  206,   73,
-       73,  140,   73,  140,  140,  140,  140,  140,  140,  140,
-      226,  216,  213,   73,   73,   73,   79,  226,   79,  216,
-       79,  242,   79,   79,  141,   79,  141,  141,  141,  141,
-      141,  141,  141,  236,  205,  242,   79,   79,   79,   81,
-
-      236,   81,  250,   81,  250,   81,   81,  152,   81,  152,
-      152,  152,  152,  152,  152,  152,  253,  204,  203,   81,
-       81,   81,   84,  251,   84,  251,   84,  196,   84,   84,
-      153,   84,  153,  153,  153,  153,  153,  153,  153,  195,
-      251,  253,   84,   84,   84,  103,  194,  103,  186,  103,
-      208,  103,  103,  154,  103,  154,  154,  154,  154,  154,
-      154,  154,  185,  212,  214,  103,  103,  103,  106,  184,
-      106,  173,  106,  265,  106,  106,  208,  106,  163,  163,
-      219,  163,  163,  212,  214,  172,  265,  163,  106,  106,
-      106,  108,  171,  108,  160,  108,  158,  108,  108,  163,
-
-      108,  164,  164,  157,  164,  164,  219,  272,  156,  155,
-      164,  108,  108,  108,  110,  163,  110,  145,  110,  144,
-      110,  110,  164,  110,  165,  165,  165,  165,  165,  165,
-      165,  280,  143,  272,  110,  110,  110,  167,  164,  167,
-      167,  167,  167,  167,  167,  167,  142,  168,  165,  168,
-      168,  168,  168,  168,  168,  168,  169,  280,  169,  169,
-      169,  169,  169,  169,  169,  178,  178,  178,  178,  178,
-      178,  178,  180,  136,  180,  180,  180,  180,  180,  180,
-      180,  229,  229,  229,  229,  229,  229,  223,  181,  178,
-      181,  181,  181,  181,  181,  181,  181,  182,  129,  182,
-
-      182,  182,  182,  182,  182,  182,  189,  223,  189,  189,
-      189,  189,  189,  189,  189,  190,  124,  190,  190,  190,
-      190,  190,  190,  190,  191,  122,  191,  191,  191,  191,
-      191,  191,  191,  200,  119,  200,  200,  200,  200,  200,
-      200,  200,  201,  117,  201,  201,  201,  201,  201,  201,
-      201,  202,  115,  202,  202,  202,  202,  202,  202,  202,
-      207,  207,  207,  207,  207,  207,  207,  209,  107,  209,
-      209,  209,  209,  209,  209,  209,  228,  228,  228,  228,
-      228,  228,  228,  210,  207,  210,  210,  210,  210,  210,
-      210,  210,  211,  297,  211,  211,  211,  211,  211,  211,
-
-      211,  218,  218,  218,  218,  218,  218,  218,  220,  105,
-      220,  220,  220,  220,  220,  220,  220,  102,   93,  297,
-       91,   89,  225,   83,  221,  218,  221,  221,  221,  221,
-      221,  221,  221,  222,  230,  222,  222,  222,  222,  222,
-      222,  222,  225,  227,  227,  227,  227,  227,  227,  227,
-      227,  233,   80,   78,  230,  239,  239,  239,  239,  239,
-      239,  239,  240,  240,  240,  240,  240,  240,  227,  248,
-       76,  233,  238,  238,  238,  238,  238,  238,  238,  238,
-      243,  243,  243,  243,  243,  243,  243,  257,  263,  248,
-      252,  252,  252,  252,  252,  252,  252,  238,   75,  290,
-
-      290,  290,   74,   72,  243,   65,  302,  257,  263,   59,
-       56,   53,   52,  259,  252,  259,  259,  259,  259,  259,
-      259,  259,  260,  290,  260,  260,  260,  260,  260,  260,
-      260,  261,  302,  261,  261,  261,  261,  261,  261,  261,
-      262,   51,  262,  262,  262,  262,  262,  262,  262,  267,
-       45,  267,  267,  267,  267,  267,  267,  267,  268,   43,
-      268,  268,  268,  268,  268,  268,  268,  269,   41,  269,
-      269,  269,  269,  269,  269,  269,  270,   40,  270,  270,
-      270,  270,  270,  270,  270,  271,  271,  271,  271,  271,
-      271,  271,  273,   39,  273,  273,  273,  273,  273,  273,
-
-      273,  277,   38,  277,  277,  277,   37,   36,  274,  271,
-      274,  274,  274,  274,  274,  274,  274,  275,   33,  275,
-      275,  275,  275,  275,  275,  275,  276,  277,  276,  276,
-      276,  276,  276,  276,  276,  279,   32,  279,  279,  279,
-      279,  279,  279,  279,  281,   31,  281,  281,  281,  281,
-      281,  281,  281,  282,   22,  282,  282,  282,  282,  282,
-      282,  282,  283,   19,  283,  283,  283,  283,  283,  283,
-      283,  284,   18,  284,  284,  284,  284,  284,  284,  284,
-      285,   17,  285,  285,  285,  286,   15,  286,  286,  286,
-      286,  286,  286,  286,  287,   14,  287,  287,  287,  287,
-
-      287,  287,  287,   13,    0,  288,  285,  288,  288,  288,
-      288,  288,  288,  288,  289,    0,  289,  289,  289,  289,
-      289,  289,  289,  291,    0,  291,  291,  291,  291,  291,
-      291,  291,  292,    0,  292,  292,  292,  292,  292,  292,
-      292,  293,    0,  293,  293,  293,  293,  293,  293,  293,
-      294,    0,  294,  294,  294,  294,  294,  294,  294,  295,
-      295,  295,  296,  296,  296,  296,  296,  296,  296,  298,
-        0,  298,  298,  298,  298,  298,  298,  298,    0,    0,
-        0,    0,    0,  295,    0,  299,  296,  299,  299,  299,
-      299,  299,  299,  299,  300,  313,  300,  300,  300,  300,
-
-      300,  300,  300,  301,  301,  301,  301,  301,  301,  301,
-      303,    0,  303,  303,  303,  303,  303,  303,  303,  318,
-        0,  313,    0,    0,    0,    0,  304,  301,  304,  304,
-      304,  304,  304,  304,  304,  305,    0,  305,  305,  305,
-      305,  305,  305,  305,  306,  318,  306,  306,  306,  306,
-      306,  306,  306,  307,    0,  307,  307,  307,  307,  307,
-      307,  307,  308,    0,  308,  308,  308,  308,  308,  308,
-      308,  309,    0,  309,  309,  309,  309,  309,  309,  309,
-      310,    0,  310,  310,  310,  310,  310,  310,  310,  311,
-        0,  311,  311,  311,  311,  311,  311,  311,  312,    0,
-
-      312,  312,  312,  312,  312,  312,  312,  314,    0,  314,
-      314,  314,  314,  314,  314,  314,  315,    0,  315,  315,
-      315,  315,  315,  315,  315,  316,    0,  316,  316,  316,
-      316,  316,  316,  316,  317,    0,  317,  317,  317,  317,
-      317,  317,  317,  319,    0,  319,  319,  319,  319,  319,
-      319,  319,  320,    0,  320,  320,  320,  320,  320,  320,
-      320,  321,    0,  321,  321,  321,  321,  321,  321,  321,
-      322,    0,  322,  322,  322,  322,  322,  322,  322,  323,
-        0,  323,  323,  323,  323,  323,  323,  323,  324,    0,
-      324,  324,  324,  324,  324,  324,  324,  325,    0,  325,
-
-      325,  325,  325,  325,  325,  325,  326,    0,  326,  326,
-      326,  326,  326,  326,  326,  327,    0,  327,  327,  327,
-      327,  327,  327,  327,  329,  329,  329,  329,  329,  329,
-      329,  330,  330,  330,  330,  330,  330,  332,  332,  332,
-      332,  332,  332,  332,    0,    0,    0,    0,  329,  333,
-      333,  333,  333,  333,  333,  330,    0,    0,    0,    0,
-        0,  332,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  333,  335,  335,  335,  335,  335,  335,
-      335,  336,  336,  336,  336,  336,  336,  336,  337,  337,
-      337,  337,  337,  337,  337,  338,    0,    0,    0,    0,
-
-      338,  338,  339,  339,  339,  339,  339,  339,  339,  340,
-        0,    0,    0,    0,  340,  340,  341,    0,    0,    0,
-        0,  341,  341,  342,    0,  342,    0,    0,  342,  342,
-      343,    0,    0,    0,    0,  343,  343,  344,    0,    0,
+       50,   54,   54,   54,  209,   54,  218,   54,   54,  205,
+      141,   54,  141,  141,  141,  141,  141,  141,  141,  220,
+      218,  216,   54,   54,   54,   62,   62,   62,  216,   62,
+      209,  204,  273,   62,  142,   62,  142,  142,  142,  142,
+      142,  142,  142,  281,  224,  220,   62,   62,  153,  217,
+      153,  153,  153,  153,  153,  153,  153,  217,  273,  197,
+
+      227,  226,  231,   62,   73,  224,   73,  227,   73,  281,
+       73,   73,  234,  154,   73,  154,  154,  154,  154,  154,
+      154,  154,  226,  231,  237,   73,   73,   73,   79,  196,
+       79,  237,   79,  234,   79,   79,  249,  155,   79,  155,
+      155,  155,  155,  155,  155,  155,  236,  243,  258,   79,
+       79,   79,   81,  251,   81,  251,   81,  249,   81,   81,
+      236,  243,   81,  245,  252,  254,  252,  164,  164,  258,
+      164,  164,  264,   81,   81,   81,   84,  164,   84,  195,
+       84,  252,   84,   84,  187,  298,   84,  186,  245,  164,
+      254,  165,  165,  264,  165,  165,  266,   84,   84,   84,
+
+      103,  165,  103,  185,  103,  164,  103,  103,  174,  266,
+      103,  298,  173,  165,  166,  166,  166,  166,  166,  166,
+      166,  103,  103,  103,  106,  303,  106,  314,  106,  165,
+      106,  106,  172,  161,  106,  159,  158,  157,  166,  230,
+      230,  230,  230,  230,  230,  106,  106,  106,  108,  319,
+      108,  303,  108,  314,  108,  108,  156,  168,  108,  168,
+      168,  168,  168,  168,  168,  168,  291,  291,  291,  108,
+      108,  108,  110,  146,  110,  319,  110,  145,  110,  110,
+      144,  169,  110,  169,  169,  169,  169,  169,  169,  169,
+      291,  143,  137,  110,  110,  110,  170,  130,  170,  170,
+
+      170,  170,  170,  170,  170,  179,  179,  179,  179,  179,
+      179,  179,  181,  124,  181,  181,  181,  181,  181,  181,
+      181,  229,  229,  229,  229,  229,  229,  229,  182,  179,
+      182,  182,  182,  182,  182,  182,  182,  183,  122,  183,
+      183,  183,  183,  183,  183,  183,  190,  119,  190,  190,
+      190,  190,  190,  190,  190,  191,  117,  191,  191,  191,
+      191,  191,  191,  191,  192,  115,  192,  192,  192,  192,
+      192,  192,  192,  201,  107,  201,  201,  201,  201,  201,
+      201,  201,  202,  105,  202,  202,  202,  202,  202,  202,
+      202,  203,  102,  203,  203,  203,  203,  203,  203,  203,
+
+      208,  208,  208,  208,  208,  208,  208,  210,   93,  210,
+      210,  210,  210,  210,  210,  210,  240,  240,  240,  240,
+      240,  240,  240,  211,  208,  211,  211,  211,  211,  211,
+      211,  211,  212,   91,  212,  212,  212,  212,  212,  212,
+      212,  219,  219,  219,  219,  219,  219,  219,  221,   89,
+      221,  221,  221,  221,  221,  221,  221,  241,  241,  241,
+      241,  241,  241,   83,  222,  219,  222,  222,  222,  222,
+      222,  222,  222,  223,   80,  223,  223,  223,  223,  223,
+      223,  223,  228,  228,  228,  228,  228,  228,  228,  228,
+       78,   76,  244,  244,  244,  244,  244,  244,  244,  253,
+
+      253,  253,  253,  253,  253,  253,   75,  228,  239,  239,
+      239,  239,  239,  239,  239,  239,  244,   74,  296,  296,
+      296,   72,  260,  253,  260,  260,  260,  260,  260,  260,
+      260,   65,  261,  239,  261,  261,  261,  261,  261,  261,
+      261,  262,  296,  262,  262,  262,  262,  262,  262,  262,
+      263,   59,  263,  263,  263,  263,  263,  263,  263,  268,
+       56,  268,  268,  268,  268,  268,  268,  268,  269,   53,
+      269,  269,  269,  269,  269,  269,  269,  270,   52,  270,
+      270,  270,  270,  270,  270,  270,  271,   51,  271,  271,
+      271,  271,  271,  271,  271,  272,  272,  272,  272,  272,
+
+      272,  272,  274,   45,  274,  274,  274,  274,  274,  274,
+      274,  278,   43,  278,  278,  278,   41,   40,  275,  272,
+      275,  275,  275,  275,  275,  275,  275,  276,   39,  276,
+      276,  276,  276,  276,  276,  276,  277,  278,  277,  277,
+      277,  277,  277,  277,  277,  280,   38,  280,  280,  280,
+      280,  280,  280,  280,  282,   37,  282,  282,  282,  282,
+      282,  282,  282,  283,   36,  283,  283,  283,  283,  283,
+      283,  283,  284,   33,  284,  284,  284,  284,  284,  284,
+      284,  285,   32,  285,  285,  285,  285,  285,  285,  285,
+      286,   31,  286,  286,  286,  287,   22,  287,  287,  287,
+
+      287,  287,  287,  287,  288,   19,  288,  288,  288,  288,
+      288,  288,  288,   18,   17,  289,  286,  289,  289,  289,
+      289,  289,  289,  289,  290,   15,  290,  290,  290,  290,
+      290,  290,  290,  292,   14,  292,  292,  292,  292,  292,
+      292,  292,  293,   13,  293,  293,  293,  293,  293,  293,
+      293,  294,    0,  294,  294,  294,  294,  294,  294,  294,
+      295,    0,  295,  295,  295,  295,  295,  295,  295,  297,
+      297,  297,  297,  297,  297,  297,  299,    0,  299,  299,
+      299,  299,  299,  299,  299,    0,    0,    0,    0,    0,
+        0,    0,  300,  297,  300,  300,  300,  300,  300,  300,
+
+      300,  301,    0,  301,  301,  301,  301,  301,  301,  301,
+      302,  302,  302,  302,  302,  302,  302,  304,    0,  304,
+      304,  304,  304,  304,  304,  304,    0,    0,    0,    0,
+        0,    0,    0,  305,  302,  305,  305,  305,  305,  305,
+      305,  305,  306,    0,  306,  306,  306,  306,  306,  306,
+      306,  307,    0,  307,  307,  307,  307,  307,  307,  307,
+      308,    0,  308,  308,  308,  308,  308,  308,  308,  309,
+        0,  309,  309,  309,  309,  309,  309,  309,  310,    0,
+      310,  310,  310,  310,  310,  310,  310,  311,    0,  311,
+      311,  311,  311,  311,  311,  311,  312,    0,  312,  312,
+
+      312,  312,  312,  312,  312,  313,    0,  313,  313,  313,
+      313,  313,  313,  313,  315,    0,  315,  315,  315,  315,
+      315,  315,  315,  316,    0,  316,  316,  316,  316,  316,
+      316,  316,  317,    0,  317,  317,  317,  317,  317,  317,
+      317,  318,    0,  318,  318,  318,  318,  318,  318,  318,
+      320,    0,  320,  320,  320,  320,  320,  320,  320,  321,
+        0,  321,  321,  321,  321,  321,  321,  321,  322,    0,
+      322,  322,  322,  322,  322,  322,  322,  323,    0,  323,
+      323,  323,  323,  323,  323,  323,  324,    0,  324,  324,
+      324,  324,  324,  324,  324,  325,    0,  325,  325,  325,
+
+      325,  325,  325,  325,  326,    0,  326,  326,  326,  326,
+      326,  326,  326,  327,    0,  327,  327,  327,  327,  327,
+      327,  327,  328,    0,  328,  328,  328,  328,  328,  328,
+      328,  330,  330,  330,  330,  330,  330,  330,  331,  331,
+      331,  331,  331,  331,  333,  333,  333,  333,  333,  333,
+      333,    0,    0,    0,    0,  330,  334,  334,  334,  334,
+      334,  334,  331,    0,    0,    0,    0,    0,  333,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+      334,  336,  336,  336,  336,  336,  336,  336,  337,  337,
+      337,  337,  337,  337,  337,  338,  338,  338,  338,  338,
+
+      338,  338,  339,    0,    0,    0,    0,  339,  339,  340,
+      340,  340,  340,  340,  340,  340,  341,    0,    0,    0,
+        0,  341,  341,  342,    0,    0,    0,    0,  342,  342,
+      343,    0,  343,    0,    0,  343,  343,  344,    0,    0,
         0,    0,  344,  344,  345,    0,    0,    0,    0,  345,
-      345,  346,    0,  346,    0,    0,  346,  346,  347,    0,
-      347,  347,    0,    0,  347,  349,    0,  349,    0,  349,
-      349,  349,  350,  350,  350,  350,  350,  350,  350,  351,
-      351,  351,  351,  351,  351,  351,  352,    0,  352,    0,
-        0,  352,  352,  353,  353,  353,  353,  353,  353,  353,
-
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
-      334,  334,  334,  334,  334
+      345,  346,    0,    0,    0,    0,  346,  346,  347,    0,
+      347,    0,    0,  347,  347,  348,    0,  348,  348,    0,
+        0,  348,  350,    0,  350,    0,  350,  350,  350,  351,
+      351,  351,  351,  351,  351,  351,  352,  352,  352,  352,
+      352,  352,  352,  353,    0,  353,    0,    0,  353,  353,
+
+      354,  354,  354,  354,  354,  354,  354,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
+      335,  335,  335
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -956,7 +958,7 @@ extern void yyerror         __P((char *));
 
 #define INDEFS 5
 
-#line 960 "lex.yy.c"
+#line 962 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1112,7 +1114,7 @@ YY_DECL
 
 #line 99 "parse.lex"
 
-#line 1116 "lex.yy.c"
+#line 1118 "lex.yy.c"
 
        if ( yy_init )
                {
@@ -1164,13 +1166,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 335 )
+                               if ( yy_current_state >= 336 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 1701 );
+               while ( yy_base[yy_current_state] != 1708 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -1269,23 +1271,34 @@ case 9:
 YY_RULE_SETUP
 #line 145 "parse.lex"
 {
+                           /* quoted fnmatch glob char, pass verbatim */
                            LEXTRACE("QUOTEDCHAR ");
-                           fill_args(yytext + 1, 1, sawspace);
+                           fill_args(yytext, 2, sawspace);
                            sawspace = FALSE;
                        }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 151 "parse.lex"
+#line 152 "parse.lex"
+{
+                           /* quoted sudoers special char, strip backslash */
+                           LEXTRACE("QUOTEDCHAR ");
+                           fill_args(yytext + 1, 1, sawspace);
+                           sawspace = FALSE;
+                       }
+       YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 159 "parse.lex"
 {
                            BEGIN INITIAL;
                            unput(*yytext);
                            return(COMMAND);
                        }                       /* end of command line args */
        YY_BREAK
-case 11:
+case 12:
 YY_RULE_SETUP
-#line 157 "parse.lex"
+#line 165 "parse.lex"
 {
                            LEXTRACE("ARG ");
                            fill_args(yytext, yyleng, sawspace);
@@ -1293,9 +1306,9 @@ YY_RULE_SETUP
                        }                       /* a command line arg */
        YY_BREAK
 
-case 12:
+case 13:
 YY_RULE_SETUP
-#line 164 "parse.lex"
+#line 172 "parse.lex"
 {
                            BEGIN GOTDEFS;
                            switch (yytext[8]) {
@@ -1314,9 +1327,9 @@ YY_RULE_SETUP
                            }
                        }
        YY_BREAK
-case 13:
+case 14:
 YY_RULE_SETUP
-#line 182 "parse.lex"
+#line 190 "parse.lex"
 {
                            fill(yytext, yyleng);
                            switch (*yytext) {
@@ -1336,43 +1349,43 @@ YY_RULE_SETUP
                            }
                        }
        YY_BREAK
-case 14:
+case 15:
 YY_RULE_SETUP
-#line 201 "parse.lex"
+#line 209 "parse.lex"
 {
                                /* cmnd does not require passwd for this user */
                                LEXTRACE("NOPASSWD ");
                                return(NOPASSWD);
                        }
        YY_BREAK
-case 15:
+case 16:
 YY_RULE_SETUP
-#line 207 "parse.lex"
+#line 215 "parse.lex"
 {
                                /* cmnd requires passwd for this user */
                                LEXTRACE("PASSWD ");
                                return(PASSWD);
                        }
        YY_BREAK
-case 16:
+case 17:
 YY_RULE_SETUP
-#line 213 "parse.lex"
+#line 221 "parse.lex"
 {
                                LEXTRACE("NOEXEC ");
                                return(NOEXEC);
                        }
        YY_BREAK
-case 17:
+case 18:
 YY_RULE_SETUP
-#line 218 "parse.lex"
+#line 226 "parse.lex"
 {
                                LEXTRACE("EXEC ");
                                return(EXEC);
                        }
        YY_BREAK
-case 18:
+case 19:
 YY_RULE_SETUP
-#line 223 "parse.lex"
+#line 231 "parse.lex"
 {
                            /* netgroup */
                            fill(yytext, yyleng);
@@ -1380,9 +1393,9 @@ YY_RULE_SETUP
                            return(NETGROUP);
                        }
        YY_BREAK
-case 19:
+case 20:
 YY_RULE_SETUP
-#line 230 "parse.lex"
+#line 238 "parse.lex"
 {
                            /* UN*X group */
                            fill(yytext, yyleng);
@@ -1390,36 +1403,36 @@ YY_RULE_SETUP
                            return(USERGROUP);
                        }
        YY_BREAK
-case 20:
+case 21:
 YY_RULE_SETUP
-#line 237 "parse.lex"
+#line 245 "parse.lex"
 {
                            fill(yytext, yyleng);
                            LEXTRACE("NTWKADDR ");
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 21:
+case 22:
 YY_RULE_SETUP
-#line 243 "parse.lex"
+#line 251 "parse.lex"
 {
                            fill(yytext, yyleng);
                            LEXTRACE("NTWKADDR ");
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 22:
+case 23:
 YY_RULE_SETUP
-#line 249 "parse.lex"
+#line 257 "parse.lex"
 {
                                BEGIN GOTRUNAS;
                                LEXTRACE("RUNAS ");
                                return (RUNAS);
                        }
        YY_BREAK
-case 23:
+case 24:
 YY_RULE_SETUP
-#line 255 "parse.lex"
+#line 263 "parse.lex"
 {
                            if (strcmp(yytext, "ALL") == 0) {
                                LEXTRACE("ALL ");
@@ -1431,9 +1444,9 @@ YY_RULE_SETUP
                            }
                        }
        YY_BREAK
-case 24:
+case 25:
 YY_RULE_SETUP
-#line 266 "parse.lex"
+#line 274 "parse.lex"
 {
                            /* username/uid that user can run command as */
                            fill(yytext, yyleng);
@@ -1441,25 +1454,25 @@ YY_RULE_SETUP
                            return(WORD);
                        }
        YY_BREAK
-case 25:
+case 26:
 YY_RULE_SETUP
-#line 273 "parse.lex"
+#line 281 "parse.lex"
 {
                            BEGIN INITIAL;
                        }
        YY_BREAK
-case 26:
+case 27:
 YY_RULE_SETUP
-#line 277 "parse.lex"
+#line 285 "parse.lex"
 {
                            BEGIN GOTCMND;
                            LEXTRACE("COMMAND ");
                            fill_cmnd(yytext, yyleng);
                        }                       /* sudo -e */
        YY_BREAK
-case 27:
+case 28:
 YY_RULE_SETUP
-#line 283 "parse.lex"
+#line 291 "parse.lex"
 {
                            /* directories can't have args... */
                            if (yytext[yyleng - 1] == '/') {
@@ -1473,9 +1486,9 @@ YY_RULE_SETUP
                            }
                        }                       /* a pathname */
        YY_BREAK
-case 28:
+case 29:
 YY_RULE_SETUP
-#line 296 "parse.lex"
+#line 304 "parse.lex"
 {
                            /* a word */
                            fill(yytext, yyleng);
@@ -1483,41 +1496,41 @@ YY_RULE_SETUP
                            return(WORD);
                        }
        YY_BREAK
-case 29:
+case 30:
 YY_RULE_SETUP
-#line 303 "parse.lex"
+#line 311 "parse.lex"
 {
                            LEXTRACE(", ");
                            return(',');
                        }                       /* return ',' */
        YY_BREAK
-case 30:
+case 31:
 YY_RULE_SETUP
-#line 308 "parse.lex"
+#line 316 "parse.lex"
 {
                            LEXTRACE("= ");
                            return('=');
                        }                       /* return '=' */
        YY_BREAK
-case 31:
+case 32:
 YY_RULE_SETUP
-#line 313 "parse.lex"
+#line 321 "parse.lex"
 {
                            LEXTRACE(": ");
                            return(':');
                        }                       /* return ':' */
        YY_BREAK
-case 32:
+case 33:
 YY_RULE_SETUP
-#line 318 "parse.lex"
+#line 326 "parse.lex"
 {
                            if (yyleng % 2 == 1)
                                return('!');    /* return '!' */
                        }
        YY_BREAK
-case 33:
+case 34:
 YY_RULE_SETUP
-#line 323 "parse.lex"
+#line 331 "parse.lex"
 {
                            BEGIN INITIAL;
                            ++sudolineno;
@@ -1525,25 +1538,25 @@ YY_RULE_SETUP
                            return(COMMENT);
                        }                       /* return newline */
        YY_BREAK
-case 34:
+case 35:
 YY_RULE_SETUP
-#line 330 "parse.lex"
+#line 338 "parse.lex"
 {                      /* throw away space/tabs */
                            sawspace = TRUE;    /* but remember for fill_args */
                        }
        YY_BREAK
-case 35:
+case 36:
 YY_RULE_SETUP
-#line 334 "parse.lex"
+#line 342 "parse.lex"
 {
                            sawspace = TRUE;    /* remember for fill_args */
                            ++sudolineno;
                            LEXTRACE("\n\t");
                        }                       /* throw away EOL after \ */
        YY_BREAK
-case 36:
+case 37:
 YY_RULE_SETUP
-#line 340 "parse.lex"
+#line 348 "parse.lex"
 {
                            BEGIN INITIAL;
                            ++sudolineno;
@@ -1551,9 +1564,9 @@ YY_RULE_SETUP
                            return(COMMENT);
                        }                       /* return comments */
        YY_BREAK
-case 37:
+case 38:
 YY_RULE_SETUP
-#line 347 "parse.lex"
+#line 355 "parse.lex"
 {
                            LEXTRACE("ERROR ");
                            return(ERROR);
@@ -1565,7 +1578,7 @@ case YY_STATE_EOF(GOTDEFS):
 case YY_STATE_EOF(GOTCMND):
 case YY_STATE_EOF(STARTDEFS):
 case YY_STATE_EOF(INDEFS):
-#line 352 "parse.lex"
+#line 360 "parse.lex"
 {
                            if (YY_START != INITIAL) {
                                BEGIN INITIAL;
@@ -1575,12 +1588,12 @@ case YY_STATE_EOF(INDEFS):
                            yyterminate();
                        }
        YY_BREAK
-case 38:
+case 39:
 YY_RULE_SETUP
-#line 361 "parse.lex"
+#line 369 "parse.lex"
 ECHO;
        YY_BREAK
-#line 1584 "lex.yy.c"
+#line 1597 "lex.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -1871,7 +1884,7 @@ static yy_state_type yy_get_previous_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 >= 335 )
+                       if ( yy_current_state >= 336 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1906,11 +1919,11 @@ yy_state_type 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 >= 335 )
+               if ( yy_current_state >= 336 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 334);
+       yy_is_jam = (yy_current_state == 335);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
@@ -2469,7 +2482,7 @@ int main()
        return 0;
        }
 #endif
-#line 361 "parse.lex"
+#line 369 "parse.lex"
 
 static void
 fill(s, len)