X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParaView%2Flex.yy.c;h=a6c44384643e91c14e63d90f9b2b3e175f3ee5dc;hb=b72346ef0cb0dafafebe30ccb12d57e2652864bb;hp=d64e2ad9a424e8746141995b1398667a486837c5;hpb=89c33033151baa33eeac8fb09d9c0488acb43c35;p=modules%2Fparavis.git diff --git a/src/ParaView/lex.yy.c b/src/ParaView/lex.yy.c index d64e2ad9..a6c44384 100644 --- a/src/ParaView/lex.yy.c +++ b/src/ParaView/lex.yy.c @@ -373,8 +373,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 247 -#define YY_END_OF_BUFFER 248 +#define YY_NUM_RULES 173 +#define YY_END_OF_BUFFER 174 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -382,241 +382,149 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1956] = +static yyconst flex_int16_t yy_accept[1116] = { 0, - 0, 0, 248, 246, 216, 216, 245, 246, 245, 245, - 246, 245, 245, 245, 245, 245, 245, 245, 213, 212, - 245, 245, 245, 245, 208, 208, 208, 208, 208, 208, - 243, 246, 244, 245, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 245, 216, 11, 11, 15, 245, 246, - 238, 0, 16, 0, 229, 235, 230, 0, 0, 0, - 192, 193, 0, 0, 0, 0, 0, 227, 0, 223, - 225, 224, 226, 221, 0, 1, 13, 228, 209, 211, - 0, 0, 0, 212, 212, 212, 242, 219, 239, 237, - - 240, 222, 208, 208, 208, 208, 208, 208, 208, 208, - 214, 0, 232, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 142, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 231, 236, 0, 11, 15, 0, - 0, 15, 15, 15, 15, 12, 0, 16, 233, 17, - 17, 0, 0, 0, 0, 0, 0, 220, 241, 13, - 209, 209, 209, 211, 211, 210, 0, 212, 217, 218, - 208, 208, 208, 0, 208, 208, 215, 208, 208, 208, - - 140, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 98, 208, 208, - 208, 208, 130, 144, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 146, 234, - 12, 15, 15, 12, 12, 12, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 209, 211, 210, 210, 0, - 212, 208, 208, 208, 206, 205, 208, 208, 208, 208, - 208, 137, 208, 208, 102, 93, 208, 208, 208, 208, - 208, 208, 115, 208, 208, 208, 208, 208, 0, 208, - - 208, 208, 208, 88, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 0, 208, 208, 208, 208, 208, 208, 208, 208, 101, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 12, 12, 12, 12, 15, - 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, - 211, 0, 212, 208, 208, 208, 206, 205, 205, 205, - 205, 205, 205, 208, 208, 208, 208, 208, 208, 149, - 0, 208, 208, 110, 150, 118, 208, 208, 208, 208, - 208, 26, 208, 208, 0, 0, 0, 208, 208, 208, - - 208, 208, 0, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 143, 208, 208, 208, 208, 208, 208, 69, - 208, 208, 208, 208, 208, 0, 208, 208, 208, 208, - 208, 116, 208, 129, 208, 0, 0, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 12, 12, 12, 12, 15, 12, 12, - 12, 2, 3, 0, 0, 0, 0, 0, 190, 211, - 0, 212, 208, 208, 208, 205, 205, 205, 205, 199, - 208, 208, 208, 141, 148, 0, 0, 208, 208, 0, - 0, 191, 208, 131, 25, 208, 208, 124, 121, 122, - - 0, 0, 0, 0, 208, 208, 208, 208, 208, 0, - 0, 0, 0, 0, 208, 208, 208, 208, 208, 208, - 208, 145, 208, 208, 208, 208, 112, 208, 208, 0, - 208, 208, 208, 208, 100, 103, 208, 123, 0, 0, - 0, 208, 111, 208, 208, 208, 0, 208, 208, 0, - 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 147, 12, 12, 12, - 2, 3, 15, 12, 12, 12, 2, 3, 0, 0, - 0, 0, 0, 211, 0, 212, 208, 208, 208, 205, - 205, 205, 205, 196, 18, 208, 31, 0, 0, 208, - - 208, 0, 208, 208, 208, 0, 0, 0, 0, 0, - 86, 208, 208, 208, 201, 0, 0, 0, 0, 0, - 208, 87, 208, 208, 208, 119, 208, 208, 200, 113, - 208, 0, 208, 208, 208, 0, 0, 0, 208, 208, - 208, 208, 0, 208, 208, 208, 208, 208, 104, 208, - 0, 0, 0, 0, 0, 208, 127, 208, 0, 208, - 117, 0, 0, 0, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 0, 12, 12, 12, 2, - 3, 15, 12, 12, 12, 0, 0, 0, 0, 0, - - 194, 195, 211, 18, 18, 197, 198, 105, 205, 205, - 205, 205, 208, 0, 208, 208, 0, 0, 208, 208, - 0, 0, 0, 20, 208, 208, 132, 0, 0, 0, - 0, 86, 0, 0, 0, 0, 208, 208, 208, 67, - 208, 208, 0, 87, 0, 0, 0, 208, 0, 208, - 208, 50, 208, 208, 208, 120, 0, 208, 208, 0, - 208, 138, 208, 0, 0, 0, 68, 208, 208, 109, - 0, 0, 0, 0, 0, 208, 208, 208, 208, 208, - 208, 0, 0, 0, 0, 0, 125, 126, 0, 0, - 0, 22, 99, 0, 0, 139, 208, 208, 208, 208, - - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 12, 12, 12, 15, 5, 12, 12, 0, 0, 0, - 0, 18, 205, 205, 205, 205, 208, 0, 0, 208, - 208, 0, 0, 208, 208, 0, 208, 208, 0, 0, - 0, 0, 0, 0, 0, 67, 0, 0, 208, 208, - 208, 0, 208, 208, 97, 208, 0, 0, 0, 50, - 0, 0, 208, 208, 208, 0, 208, 208, 208, 208, - 208, 128, 0, 208, 114, 0, 208, 208, 68, 0, - 0, 0, 208, 208, 208, 208, 0, 0, 0, 0, - - 0, 208, 208, 96, 208, 208, 208, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 0, 208, - 208, 208, 208, 208, 0, 0, 208, 208, 208, 208, - 208, 208, 208, 208, 152, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 5, 12, 12, 15, 5, 12, 12, 0, 0, 205, - 18, 177, 205, 208, 0, 0, 208, 208, 0, 0, - 91, 208, 0, 135, 208, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 97, 0, 208, 208, 208, 208, - 208, 0, 208, 208, 208, 0, 0, 0, 0, 0, - - 0, 0, 0, 24, 208, 208, 208, 208, 208, 85, - 208, 0, 208, 0, 208, 0, 208, 208, 0, 0, - 0, 0, 208, 208, 208, 208, 0, 0, 96, 0, - 0, 208, 92, 0, 208, 208, 84, 208, 208, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 208, 208, 208, 208, 0, 208, 208, - 208, 208, 208, 208, 208, 208, 19, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 5, 12, 12, 15, 12, 12, 0, 4, 205, - 205, 208, 0, 0, 208, 208, 91, 0, 208, 0, - - 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 208, 208, 208, 208, 208, 208, - 95, 24, 0, 0, 0, 0, 0, 85, 0, 208, - 208, 49, 208, 208, 0, 208, 208, 0, 208, 0, - 208, 0, 208, 208, 0, 0, 0, 0, 208, 208, - 66, 208, 0, 92, 0, 0, 84, 0, 208, 208, - 208, 0, 208, 208, 65, 133, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 208, 208, - 94, 208, 208, 0, 208, 208, 208, 208, 154, 208, - 208, 208, 0, 0, 208, 153, 208, 208, 208, 208, - - 208, 208, 208, 208, 180, 208, 208, 208, 208, 208, - 208, 12, 12, 15, 12, 12, 0, 205, 205, 208, - 0, 0, 208, 208, 0, 90, 134, 0, 0, 0, - 0, 48, 0, 0, 0, 0, 0, 0, 95, 0, - 208, 208, 208, 208, 208, 208, 208, 208, 0, 208, - 208, 0, 0, 49, 0, 0, 0, 0, 208, 208, - 0, 208, 208, 208, 208, 208, 77, 0, 208, 0, - 208, 0, 106, 208, 0, 0, 66, 0, 208, 208, - 0, 208, 208, 0, 0, 0, 0, 0, 65, 208, - 208, 208, 208, 208, 0, 208, 201, 200, 0, 0, - - 0, 0, 94, 0, 0, 208, 89, 0, 208, 208, - 76, 208, 0, 208, 204, 208, 208, 208, 208, 208, - 0, 19, 208, 208, 208, 208, 202, 208, 182, 184, - 186, 175, 208, 208, 208, 208, 181, 208, 208, 208, - 12, 12, 15, 12, 12, 0, 205, 205, 207, 0, - 0, 30, 208, 90, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 208, 208, 82, 208, - 208, 208, 78, 208, 208, 208, 0, 0, 0, 0, - 0, 0, 0, 77, 81, 208, 208, 208, 208, 208, - 80, 0, 208, 0, 107, 0, 208, 208, 0, 0, - - 0, 0, 208, 208, 208, 58, 0, 0, 0, 0, - 0, 0, 29, 79, 208, 83, 208, 208, 0, 0, - 89, 0, 0, 76, 0, 208, 208, 208, 0, 208, - 208, 57, 0, 0, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 183, 185, 187, 208, 208, - 208, 12, 12, 15, 12, 12, 12, 12, 12, 0, - 205, 205, 30, 0, 208, 0, 0, 0, 82, 0, - 0, 0, 78, 0, 0, 0, 208, 208, 208, 63, - 208, 0, 208, 59, 208, 208, 81, 0, 0, 0, - - 0, 0, 80, 0, 208, 208, 208, 47, 208, 208, - 0, 208, 208, 0, 0, 0, 58, 62, 208, 61, - 0, 208, 29, 79, 0, 83, 0, 0, 0, 208, - 60, 46, 64, 0, 0, 0, 0, 0, 0, 57, - 208, 208, 208, 208, 208, 0, 208, 0, 23, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 188, 189, 208, - 208, 208, 208, 12, 12, 12, 12, 12, 14, 14, - 14, 14, 12, 12, 12, 12, 12, 0, 205, 178, - 0, 28, 0, 0, 0, 0, 63, 0, 0, 59, - - 0, 0, 208, 208, 74, 208, 208, 70, 208, 0, - 0, 0, 47, 0, 0, 73, 208, 208, 0, 208, - 208, 72, 0, 108, 208, 62, 0, 61, 0, 208, - 208, 0, 60, 46, 64, 208, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 27, 71, 208, 75, 208, - 208, 160, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 12, 12, 12, 12, 12, 14, 14, - 14, 14, 14, 14, 14, 14, 12, 12, 12, 12, - 6, 205, 28, 0, 0, 74, 0, 0, 70, 0, - - 208, 208, 55, 208, 0, 208, 51, 73, 0, 0, - 0, 0, 72, 208, 208, 208, 39, 136, 0, 0, - 54, 53, 0, 0, 208, 208, 202, 27, 71, 0, - 75, 0, 0, 0, 208, 52, 38, 56, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 157, 208, - 208, 208, 208, 208, 208, 208, 208, 203, 208, 208, - 12, 12, 12, 12, 6, 14, 14, 12, 12, 12, - 12, 6, 205, 0, 0, 55, 0, 0, 51, 44, - 208, 40, 208, 0, 0, 0, 39, 43, 208, 42, - 0, 208, 54, 53, 0, 0, 41, 45, 0, 52, - - 38, 56, 208, 0, 208, 208, 208, 208, 159, 156, - 208, 208, 208, 208, 170, 158, 155, 208, 208, 208, - 208, 169, 208, 208, 208, 12, 12, 12, 12, 6, - 12, 12, 12, 12, 179, 44, 0, 40, 0, 208, - 208, 43, 0, 42, 0, 208, 208, 41, 45, 0, - 0, 208, 208, 208, 208, 208, 165, 166, 167, 168, - 161, 162, 163, 164, 208, 208, 208, 12, 12, 12, - 12, 12, 12, 12, 12, 0, 0, 36, 32, 0, - 0, 35, 34, 0, 0, 33, 37, 208, 208, 208, - 208, 208, 208, 12, 12, 12, 12, 10, 12, 12, - - 12, 36, 32, 35, 34, 33, 37, 173, 208, 151, - 176, 208, 208, 10, 12, 12, 12, 10, 12, 8, - 9, 208, 208, 208, 10, 12, 8, 9, 12, 8, - 9, 208, 208, 208, 12, 8, 9, 12, 208, 208, - 172, 12, 7, 208, 208, 7, 7, 208, 208, 7, - 208, 171, 208, 174, 0 + 0, 0, 174, 172, 142, 143, 143, 171, 172, 171, + 171, 172, 171, 171, 171, 171, 171, 171, 171, 140, + 139, 171, 171, 171, 171, 133, 133, 133, 133, 133, + 133, 169, 172, 170, 171, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 171, 142, 11, 11, 14, 171, + 172, 142, 164, 0, 15, 0, 157, 161, 158, 0, + 0, 0, 116, 117, 0, 0, 0, 0, 155, 151, + 153, 152, 154, 149, 147, 0, 134, 1, 13, 156, + 135, 138, 0, 0, 139, 139, 139, 168, 146, 165, + + 163, 166, 150, 133, 133, 133, 133, 133, 133, 133, + 133, 141, 0, 160, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 70, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 159, 162, 142, 11, 14, + 0, 0, 14, 14, 12, 0, 15, 16, 16, 0, + 0, 0, 0, 0, 148, 167, 134, 134, 13, 135, + 135, 138, 138, 0, 136, 137, 144, 145, 133, 133, + 133, 133, 0, 133, 133, 133, 133, 133, 133, 133, + + 133, 133, 68, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 25, + 133, 133, 133, 133, 58, 72, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 74, 12, 14, 12, 12, 12, 12, 0, 0, + 0, 0, 0, 0, 0, 134, 0, 135, 136, 137, + 133, 133, 133, 133, 0, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 66, 133, 133, 29, + 24, 133, 133, 133, 133, 133, 133, 42, 133, 133, + + 133, 133, 133, 133, 23, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 0, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 28, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 12, 12, 12, 12, + 12, 12, 12, 12, 0, 0, 0, 0, 0, 133, + 133, 133, 133, 128, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 77, 37, + 78, 45, 133, 133, 133, 133, 133, 20, 133, 133, + 133, 133, 133, 133, 133, 71, 133, 133, 133, 133, + + 133, 133, 22, 133, 133, 133, 133, 133, 0, 133, + 133, 133, 61, 133, 133, 43, 133, 57, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 12, 12, 12, 12, 12, 12, + 12, 2, 3, 0, 0, 0, 0, 0, 133, 133, + 133, 133, 128, 133, 133, 133, 121, 133, 133, 133, + 133, 133, 133, 133, 133, 69, 76, 133, 59, 19, + 133, 133, 52, 49, 50, 133, 133, 133, 73, 133, + 133, 133, 133, 39, 133, 133, 133, 27, 30, 133, + 51, 0, 0, 0, 133, 38, 133, 133, 133, 133, + + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 75, 12, 12, 12, 2, + 3, 12, 12, 12, 2, 3, 0, 0, 0, 0, + 0, 133, 133, 133, 133, 133, 133, 133, 120, 133, + 131, 133, 133, 133, 21, 133, 133, 133, 133, 133, + 133, 47, 133, 133, 133, 40, 133, 0, 133, 133, + 133, 31, 133, 0, 0, 0, 124, 124, 133, 55, + 133, 133, 44, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 0, 12, 12, 12, 2, 3, 12, + + 12, 12, 0, 0, 0, 0, 0, 118, 119, 121, + 17, 121, 32, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 60, 123, 123, 133, 48, 122, + 122, 0, 133, 0, 67, 133, 0, 36, 133, 0, + 0, 0, 53, 54, 26, 46, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 12, + 12, 12, 5, 12, 12, 0, 0, 0, 0, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 56, 0, + 41, 0, 133, 133, 0, 0, 0, 133, 133, 133, + + 133, 133, 133, 133, 79, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 5, 12, 12, 5, 12, 12, 0, 0, 133, 132, + 133, 133, 130, 64, 133, 0, 0, 0, 133, 133, + 0, 0, 0, 133, 133, 133, 133, 133, 133, 133, + 18, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 5, 12, 12, 12, 12, + 0, 4, 133, 133, 133, 133, 0, 0, 0, 133, + 62, 0, 0, 0, 133, 133, 133, 81, 133, 133, + 133, 133, 80, 133, 133, 133, 133, 133, 133, 133, + + 133, 106, 133, 133, 133, 133, 133, 133, 12, 12, + 12, 12, 0, 133, 133, 133, 63, 0, 0, 0, + 133, 0, 0, 133, 127, 133, 133, 133, 133, 133, + 133, 133, 133, 125, 133, 108, 110, 112, 102, 133, + 133, 133, 133, 107, 133, 133, 133, 12, 12, 12, + 12, 0, 133, 133, 129, 0, 0, 0, 33, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 109, 111, 113, 133, 133, 133, 12, 12, 12, 12, + 12, 12, 12, 0, 133, 133, 0, 34, 0, 133, + + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 114, 115, 133, + 133, 133, 133, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 0, 133, 104, 0, 133, 87, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 6, 133, + 0, 35, 65, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 84, 133, 133, 133, 133, 133, 133, 133, + 133, 126, 133, 133, 12, 12, 12, 12, 6, 12, + + 12, 12, 12, 6, 133, 133, 133, 86, 83, 133, + 133, 133, 133, 97, 85, 82, 133, 133, 133, 133, + 96, 133, 133, 133, 12, 12, 12, 12, 6, 12, + 12, 12, 12, 105, 133, 133, 92, 93, 94, 95, + 88, 89, 90, 91, 133, 133, 133, 12, 12, 12, + 12, 12, 12, 12, 12, 133, 133, 133, 133, 133, + 12, 12, 12, 12, 10, 12, 12, 12, 100, 133, + 103, 133, 133, 10, 12, 12, 12, 10, 12, 8, + 9, 133, 133, 133, 10, 12, 8, 9, 12, 8, + 9, 133, 133, 133, 12, 8, 9, 12, 133, 133, + + 99, 12, 7, 133, 133, 7, 7, 133, 133, 7, + 133, 98, 133, 101, 0 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 6, 7, 8, 1, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 25, 27, 25, 28, 29, 30, - 31, 32, 1, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 1, 65, 66, 67, 68, - - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 16, 91, 16, 16, 1, 1, 1, 1, + 1, 6, 7, 8, 9, 1, 10, 11, 12, 13, + 14, 15, 16, 14, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 25, 27, 25, 28, 14, 29, + 30, 31, 1, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 40, + 58, 59, 60, 61, 62, 1, 63, 64, 65, 66, + + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 14, 89, 14, 14, 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, @@ -633,993 +541,581 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[92] = +static yyconst flex_int32_t yy_meta[90] = { 0, - 1, 2, 3, 2, 2, 1, 1, 1, 1, 4, - 5, 1, 6, 4, 1, 1, 1, 7, 1, 8, - 8, 8, 8, 8, 8, 8, 8, 9, 10, 1, - 1, 1, 1, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 1, - 1, 1, 1, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 1 - + 1, 2, 3, 1, 2, 2, 1, 1, 1, 1, + 2, 4, 1, 1, 2, 1, 1, 5, 1, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 1, 1, + 1, 1, 8, 8, 8, 8, 8, 8, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, + 1, 9, 8, 8, 8, 8, 8, 8, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 1 } ; -static yyconst flex_int16_t yy_base[2008] = +static yyconst flex_int16_t yy_base[1153] = { 0, - 0, 90, 4604, 4605, 4605, 4605, 4572, 89, 4571, 87, - 4540, 97, 4605, 101, 93, 95, 4582, 103, 117, 134, - 4571, 83, 4567, 84, 61, 4533, 85, 64, 83, 87, - 4605, 117, 4605, 4565, 107, 98, 99, 101, 100, 106, - 111, 118, 121, 82, 138, 126, 128, 122, 147, 135, - 150, 148, 158, 135, 236, 4605, 4605, 213, 215, 4522, - 4605, 181, 4605, 188, 4605, 4563, 4605, 186, 205, 248, - 4605, 4605, 207, 4565, 220, 215, 268, 4605, 4513, 4605, - 4605, 4605, 4605, 4577, 4572, 4605, 0, 4605, 265, 275, - 241, 322, 242, 289, 299, 344, 4605, 4558, 4605, 4605, - - 4605, 4557, 4523, 181, 230, 219, 290, 197, 286, 308, - 4605, 4583, 4605, 272, 336, 199, 267, 268, 254, 211, - 213, 316, 309, 311, 201, 312, 315, 319, 338, 339, - 320, 263, 341, 342, 343, 348, 349, 4521, 350, 356, - 358, 367, 357, 362, 364, 377, 379, 375, 380, 384, - 382, 385, 352, 383, 4605, 4553, 464, 4605, 449, 4564, - 4509, 4520, 468, 471, 410, 455, 300, 443, 4605, 4605, - 451, 4552, 4551, 449, 450, 452, 4500, 4605, 4605, 0, - 499, 518, 531, 549, 559, 604, 470, 580, 4605, 4605, - 438, 436, 273, 4549, 4512, 450, 4605, 437, 421, 418, - - 4511, 428, 451, 430, 449, 425, 423, 445, 495, 469, - 485, 434, 502, 496, 497, 523, 526, 612, 527, 346, - 524, 581, 4510, 4509, 529, 582, 530, 532, 568, 546, - 583, 555, 571, 570, 585, 531, 591, 629, 594, 483, - 595, 598, 614, 602, 597, 618, 619, 663, 4508, 4605, - 685, 633, 638, 0, 667, 4518, 4517, 4489, 4484, 726, - 668, 664, 679, 4484, 727, 735, 745, 790, 4528, 673, - 755, 674, 625, 668, 0, 785, 675, 677, 650, 680, - 736, 4501, 648, 719, 4500, 782, 724, 669, 734, 758, - 727, 729, 4499, 726, 757, 767, 730, 769, 832, 774, - - 797, 784, 728, 869, 599, 780, 812, 678, 802, 776, - 731, 811, 779, 804, 800, 813, 821, 4498, 824, 818, - 4533, 814, 831, 825, 832, 835, 838, 840, 839, 916, - 830, 843, 841, 848, 859, 861, 863, 862, 865, 868, - 875, 874, 876, 879, 906, 0, 928, 4507, 4506, 887, - 904, 4489, 4500, 4499, 4479, 4485, 922, 931, 930, 4469, - 963, 943, 974, 909, 938, 929, 0, 4488, 910, 907, - 939, 953, 944, 964, 954, 947, 950, 945, 951, 4487, - 1028, 952, 946, 1032, 4486, 1037, 979, 980, 981, 956, - 982, 4485, 983, 986, 4469, 980, 4469, 992, 993, 994, - - 995, 997, 1071, 1000, 999, 1002, 1007, 1005, 1018, 1020, - 1021, 1003, 4482, 1024, 1022, 1026, 1028, 1033, 1034, 1105, - 1040, 1050, 1061, 4481, 1048, 1047, 1057, 1058, 1059, 1063, - 1069, 1133, 1027, 4480, 1076, 1146, 1157, 1079, 1067, 1089, - 1099, 1091, 1093, 1111, 1101, 1102, 1104, 1103, 1116, 1112, - 1110, 1123, 1118, 1146, 4474, 4485, 4484, 1123, 4506, 4501, - 4455, 0, 0, 4468, 4454, 1166, 1168, 1167, 4605, 1190, - 1182, 1200, 1177, 1167, 1168, 1176, 1181, 1194, 1171, 1188, - 1183, 1175, 1218, 4471, 4470, 4460, 4454, 1179, 1180, 1257, - 1263, 4605, 1211, 4467, 4466, 1189, 1206, 4465, 1269, 4464, - - 4449, 4447, 4454, 4441, 1205, 1213, 1219, 1216, 1221, 4444, - 4444, 4442, 4447, 4441, 1217, 1220, 1222, 1228, 1223, 1224, - 1142, 4454, 1226, 1232, 1239, 1227, 1310, 1252, 1237, 1321, - 1253, 1254, 1256, 1246, 1334, 4453, 1284, 4452, 4432, 4431, - 4429, 1268, 1338, 1266, 1281, 1280, 1350, 1292, 1271, 1361, - 1367, 1282, 1303, 1295, 1298, 1317, 1344, 1314, 1065, 1373, - 1321, 1319, 1320, 1325, 1347, 1358, 4448, 4477, 4472, 4426, - 0, 0, 952, 4462, 4471, 4439, 0, 0, 4428, 4434, - 1363, 1369, 1427, 1422, 1397, 1442, 1360, 1356, 1363, 1375, - 1387, 1392, 1389, 4439, 4438, 1191, 1475, 4430, 4417, 1393, - - 1408, 1480, 1369, 4435, 1390, 1485, 4427, 4415, 4418, 4422, - 1489, 1432, 1406, 1388, 4430, 4408, 4408, 4413, 4419, 4406, - 1433, 1498, 1434, 1440, 1446, 4424, 1447, 1443, 4423, 1518, - 1448, 1524, 1460, 1449, 1466, 4408, 4412, 4406, 1451, 1469, - 1312, 1509, 1539, 1500, 1483, 1470, 1487, 1485, 4419, 1512, - 4398, 4397, 4398, 4416, 1582, 1490, 4414, 1492, 1588, 1499, - 4413, 1592, 1606, 1621, 1511, 1535, 1555, 1538, 1514, 1549, - 1563, 1557, 1564, 1566, 1567, 1524, 1571, 1573, 1568, 1574, - 1576, 1603, 1580, 1583, 1587, 4448, 4429, 4438, 4406, 0, - 0, 1651, 4434, 4418, 4388, 4400, 4403, 1620, 1630, 1666, - - 4605, 4439, 1661, 1643, 1671, 1613, 1626, 4402, 4401, 1481, - 1636, 4400, 1635, 1699, 1600, 1641, 4385, 4389, 1642, 1644, - 1719, 1724, 4433, 4605, 1649, 1672, 4396, 4383, 4374, 4388, - 4378, 1738, 4371, 4385, 4382, 1742, 1652, 1645, 1673, 1752, - 1666, 1685, 4386, 1756, 4380, 4372, 4376, 1674, 1762, 1698, - 1705, 1770, 1712, 1706, 1716, 4384, 1784, 1714, 1727, 4371, - 1715, 4382, 1728, 4361, 4373, 4360, 1794, 1729, 1736, 4605, - 4378, 4369, 4362, 4360, 4366, 1765, 1601, 1738, 1737, 1740, - 1741, 4355, 4354, 4362, 4369, 1828, 1846, 4369, 1857, 1861, - 4404, 4605, 1866, 1870, 1889, 4367, 1747, 1744, 1756, 1814, - - 1816, 1772, 1760, 1817, 1831, 1832, 1833, 1821, 1780, 1835, - 1838, 1839, 1840, 1842, 1843, 1845, 1394, 1749, 1847, 1876, - 4392, 4376, 4346, 1913, 0, 4385, 4353, 4347, 4357, 1920, - 1933, 1932, 1908, 1879, 1513, 1881, 1867, 4350, 4344, 1899, - 1898, 4352, 4349, 1903, 1849, 0, 1880, 1864, 4354, 4336, - 4340, 4343, 4336, 4341, 4335, 1974, 4344, 4333, 1902, 1919, - 1901, 1983, 1925, 1927, 1997, 1928, 4334, 4336, 4330, 2004, - 4338, 4335, 1946, 1940, 1929, 2015, 1949, 1930, 1950, 1957, - 1952, 4341, 4328, 1958, 2029, 4324, 1959, 1960, 2036, 4324, - 4328, 2042, 1962, 1972, 1984, 1978, 4327, 4334, 4314, 4319, - - 4317, 1987, 1988, 2079, 1991, 1990, 1992, 4326, 4325, 4315, - 4375, 2099, 2103, 4363, 4605, 2092, 4358, 0, 2111, 2022, - 1999, 2000, 2012, 2045, 2131, 4310, 2021, 2010, 2054, 2046, - 2047, 2073, 1994, 2056, 4324, 2062, 2074, 2075, 2077, 2080, - 2081, 2083, 2084, 2085, 2094, 1909, 2086, 2090, 2088, 2102, - 0, 4345, 4313, 2107, 0, 4337, 4304, 4299, 4313, 2115, - 4317, 4316, 2110, 2108, 4308, 4295, 2112, 2109, 4309, 4298, - 4311, 2116, 2193, 4310, 2119, 4290, 4287, 4291, 4291, 4291, - 4297, 4284, 4293, 4287, 2201, 4295, 2122, 2135, 2127, 2137, - 2124, 2207, 2150, 2151, 2152, 4294, 4291, 4278, 4282, 4286, - - 4280, 4289, 4278, 4291, 2154, 2155, 2160, 2162, 2163, 2232, - 2161, 4275, 2167, 2236, 2178, 4269, 2179, 2181, 4279, 4273, - 4281, 4278, 2184, 2183, 2185, 2186, 4270, 4265, 2254, 4275, - 4263, 2188, 4280, 2265, 2196, 2199, 2276, 2209, 2210, 4278, - 4277, 4270, 4250, 0, 4307, 2283, 2295, 4274, 4265, 4258, - 4256, 4262, 2238, 2227, 2225, 2237, 2231, 4260, 2257, 2242, - 2240, 2249, 2248, 2125, 2250, 2252, 2320, 1653, 2254, 2262, - 2275, 2272, 2278, 2270, 2334, 2280, 2274, 2279, 2294, 2281, - 2290, 0, 4284, 4251, 2315, 4283, 4245, 4263, 4605, 2330, - 2318, 4263, 4248, 4252, 2306, 2308, 4605, 4255, 2309, 2383, - - 2316, 4240, 4255, 4245, 4242, 4248, 4240, 4244, 4245, 4232, - 4235, 4241, 4244, 2387, 2314, 2310, 2329, 2331, 2332, 2335, - 2413, 4605, 4233, 4237, 4225, 4237, 4224, 2417, 4237, 2333, - 2337, 2421, 2349, 2364, 2427, 2369, 2341, 4221, 2370, 4228, - 2371, 4220, 2375, 4238, 4230, 4217, 4231, 4220, 2374, 2372, - 2438, 2380, 4213, 4605, 4217, 4223, 2452, 4210, 2420, 2384, - 2394, 2461, 2396, 2397, 2476, 4229, 4215, 4214, 4230, 4255, - 2489, 2505, 2510, 4215, 4222, 4202, 4207, 4205, 2404, 2405, - 2517, 2424, 2419, 4215, 2433, 2435, 2026, 2422, 4218, 2439, - 2462, 2463, 2530, 4268, 2483, 4216, 2452, 2477, 2479, 2480, - - 2466, 2441, 1285, 2507, 4215, 2488, 2482, 2532, 2490, 2520, - 2493, 4231, 4193, 2499, 4271, 4202, 4190, 2513, 2528, 2530, - 4204, 4201, 2505, 2500, 4203, 4206, 4205, 2599, 4184, 4202, - 2603, 2607, 4197, 4194, 4186, 4190, 4184, 4182, 2611, 2615, - 2506, 2519, 2512, 2521, 2518, 2527, 2557, 2558, 2621, 2563, - 2565, 4191, 4188, 2628, 4180, 4184, 4178, 4187, 2570, 2571, - 2641, 2522, 2572, 2583, 2577, 2575, 2652, 4171, 2625, 4174, - 2587, 4224, 4605, 2624, 4173, 4177, 2661, 4180, 2603, 2597, - 2671, 2605, 2613, 4222, 4169, 4167, 4167, 4165, 2703, 2646, - 2614, 2620, 2596, 2615, 2715, 2618, 4605, 4605, 4226, 2725, - - 4164, 4159, 2733, 4169, 4157, 2631, 4174, 2737, 2622, 2650, - 2746, 2639, 2753, 2645, 4173, 2657, 2668, 2697, 2699, 2747, - 4223, 4605, 2695, 2716, 2718, 2761, 4171, 2742, 4170, 4169, - 4168, 4167, 2702, 2726, 2750, 2753, 4166, 2710, 2715, 2727, - 4224, 4155, 2825, 2763, 4148, 4153, 4161, 2738, 2740, 4156, - 4145, 4158, 2717, 4605, 2845, 4137, 4147, 4141, 4150, 4139, - 4147, 4144, 4143, 4131, 4133, 4139, 2732, 2741, 4146, 2754, - 2733, 2734, 2857, 2744, 2787, 2788, 4133, 4112, 4106, 4090, - 4088, 4075, 4051, 2866, 4060, 2808, 2802, 2781, 2810, 2811, - 4049, 2877, 2812, 4074, 4605, 3996, 2819, 2827, 4000, 3976, - - 3951, 3960, 2829, 2820, 2830, 2901, 4003, 3955, 3937, 3934, - 3939, 3938, 3945, 2905, 2831, 3944, 2847, 2835, 3948, 3922, - 4605, 3916, 3901, 2920, 3882, 2837, 2848, 2849, 2927, 2856, - 2863, 2933, 2941, 2946, 2876, 2395, 2883, 2888, 2896, 2908, - 2911, 2916, 2918, 2902, 2904, 2912, 2914, 2924, 2927, 2937, - 2938, 2921, 2941, 2963, 2925, 3901, 3900, 3899, 2926, 2928, - 2944, 2958, 3877, 3041, 3890, 3885, 3884, 3880, 3870, 3868, - 2974, 2853, 4605, 3877, 2945, 3876, 3873, 3860, 4605, 3867, - 3867, 3856, 3016, 3849, 3844, 3832, 2950, 2951, 2958, 3843, - 2961, 3029, 2997, 3842, 2952, 2998, 4605, 3835, 3831, 3818, - - 3829, 3818, 4605, 3817, 2971, 2999, 3002, 3079, 3021, 3003, - 3811, 3001, 3014, 3825, 3814, 3807, 3091, 3823, 3022, 3822, - 3104, 3034, 4605, 3111, 3801, 4605, 3813, 3799, 3115, 3000, - 3818, 3119, 3817, 3806, 3833, 3777, 3775, 3773, 3771, 3123, - 3065, 3066, 3067, 3004, 3069, 3136, 3070, 3148, 4605, 3078, - 3090, 3080, 2973, 3096, 3035, 3046, 3071, 3081, 3098, 3091, - 3102, 3103, 3107, 3110, 3114, 3116, 3118, 3776, 3772, 3112, - 3120, 3104, 3124, 3770, 3756, 3752, 3751, 3738, 3754, 3744, - 3209, 3190, 3715, 3707, 3717, 3716, 3754, 3703, 3165, 3713, - 3708, 3708, 3202, 3693, 3697, 3701, 4605, 3699, 3688, 4605, - - 3686, 3658, 3131, 3137, 3674, 3166, 3167, 3244, 3169, 3667, - 3656, 3660, 3252, 3663, 3647, 66, 3194, 3172, 3257, 3186, - 3209, 172, 353, 4605, 3201, 4605, 449, 4605, 530, 3210, - 3202, 656, 4605, 3277, 4605, 3211, 3288, 3219, 727, 808, - 808, 834, 894, 1598, 1690, 1764, 3299, 3203, 1788, 3224, - 3212, 1877, 3248, 3234, 3241, 3242, 3243, 3247, 3249, 3255, - 3245, 3253, 3251, 3257, 3262, 3264, 3270, 3271, 3272, 3294, - 3277, 3278, 3279, 1983, 2178, 2213, 2248, 2378, 2528, 3348, - 2597, 3352, 2638, 3413, 3373, 3342, 2662, 2666, 2816, 2891, - 0, 3317, 4605, 2872, 2927, 4605, 2968, 3078, 3362, 3105, - - 3304, 3293, 3133, 3298, 3380, 3295, 3135, 4605, 3166, 3173, - 3174, 3200, 4605, 3322, 3309, 3296, 3389, 3220, 3279, 3265, - 3306, 3314, 3301, 3310, 3325, 3371, 4605, 4605, 3395, 3311, - 4605, 3330, 3318, 3402, 3369, 3344, 3447, 3346, 3347, 3390, - 3383, 3393, 3400, 3376, 3399, 3401, 3402, 3403, 3373, 3406, - 3413, 3404, 3405, 3416, 3424, 3426, 3396, 3375, 3427, 3425, - 3424, 3427, 3490, 3491, 0, 3494, 3496, 3436, 3420, 3469, - 3442, 0, 3463, 3442, 3434, 4605, 3442, 3435, 4605, 3451, - 3452, 3453, 3454, 3451, 3444, 3439, 3526, 3460, 3469, 3461, - 3532, 3462, 4605, 4605, 3468, 3457, 3478, 3479, 3465, 4605, - - 3543, 4605, 3485, 3548, 3490, 3492, 3494, 3496, 3497, 3498, - 3500, 3502, 3503, 3505, 3501, 3506, 3507, 3508, 3509, 3510, - 3511, 3512, 3519, 3513, 3528, 3513, 3511, 3560, 3530, 0, - 3512, 3525, 3524, 3525, 3538, 4605, 3534, 4605, 3526, 3542, - 3543, 4605, 3539, 4605, 3531, 3547, 3548, 4605, 4605, 3535, - 3539, 3554, 3555, 3556, 3558, 3560, 3559, 3562, 3563, 3564, - 3565, 3566, 3569, 3570, 3571, 3572, 3595, 3558, 3570, 3568, - 3569, 3563, 3567, 3565, 3566, 3582, 3580, 3588, 3590, 3587, - 3572, 3593, 3594, 3589, 3577, 3598, 3599, 3600, 3601, 3602, - 3603, 3604, 3605, 3589, 3593, 3591, 3592, 0, 3592, 3598, - - 3599, 4605, 4605, 4605, 4605, 4605, 4605, 3616, 3617, 3619, - 3621, 3622, 3625, 0, 3603, 3614, 3615, 0, 3622, 0, - 0, 3632, 3651, 3634, 0, 3626, 0, 0, 3621, 0, - 0, 3639, 3637, 3640, 3626, 0, 0, 3628, 3661, 3645, - 3644, 3632, 0, 3649, 3654, 0, 0, 3656, 3658, 0, - 3657, 3660, 3662, 3663, 4605, 3741, 3752, 3762, 3767, 3772, - 3776, 3787, 3791, 3802, 3806, 3811, 3822, 3826, 3837, 3841, - 3845, 3856, 3867, 3877, 3887, 3897, 3908, 3919, 3929, 3939, - 3949, 3959, 3970, 3717, 3981, 3718, 3992, 4002, 3719, 4012, - 4022, 4033, 4044, 4055, 4066, 4077, 4088, 4099, 4110, 4121, - - 4132, 4143, 4154, 4165, 4176, 4187, 4198 + 0, 88, 2594, 2595, 90, 2595, 2595, 2563, 87, 2562, + 87, 2532, 97, 2595, 2560, 85, 88, 113, 91, 133, + 151, 2561, 84, 2558, 92, 63, 2525, 83, 42, 128, + 85, 2595, 124, 2595, 2556, 2523, 103, 120, 122, 136, + 119, 87, 125, 86, 79, 145, 147, 131, 148, 159, + 164, 162, 171, 106, 113, 252, 2595, 2595, 2525, 217, + 2512, 214, 2595, 158, 2595, 186, 2595, 2595, 2595, 223, + 227, 257, 2595, 2595, 116, 2554, 216, 209, 2595, 2595, + 2595, 2595, 2595, 2566, 2595, 2562, 254, 2595, 0, 2595, + 273, 293, 311, 0, 321, 341, 353, 2595, 2549, 2595, + + 2595, 2595, 2548, 2515, 205, 227, 208, 335, 241, 142, + 239, 2595, 2573, 2595, 344, 221, 226, 240, 247, 203, + 242, 323, 321, 267, 324, 322, 339, 325, 332, 334, + 244, 328, 329, 352, 351, 356, 287, 2513, 357, 358, + 261, 361, 360, 362, 371, 378, 372, 366, 381, 383, + 386, 387, 389, 393, 390, 2595, 2595, 466, 2595, 2515, + 2554, 2501, 2512, 471, 447, 276, 248, 2595, 444, 2542, + 2541, 437, 433, 434, 2595, 2595, 466, 484, 0, 492, + 511, 521, 533, 541, 549, 557, 2595, 2595, 458, 417, + 478, 462, 2540, 2505, 461, 420, 523, 459, 293, 421, + + 524, 80, 2504, 525, 536, 526, 534, 545, 539, 546, + 542, 541, 330, 553, 556, 549, 569, 567, 548, 2503, + 571, 573, 574, 576, 2502, 2501, 577, 603, 579, 582, + 585, 584, 583, 586, 588, 587, 593, 437, 590, 625, + 602, 599, 594, 607, 613, 617, 616, 614, 291, 618, + 661, 2500, 683, 679, 0, 665, 2509, 2508, 2481, 2476, + 716, 656, 666, 658, 723, 731, 739, 747, 755, 763, + 662, 663, 670, 664, 0, 758, 743, 647, 666, 731, + 672, 741, 732, 637, 668, 770, 2495, 742, 744, 2494, + 2493, 753, 747, 754, 757, 761, 750, 2492, 746, 771, + + 776, 778, 779, 673, 2491, 780, 781, 808, 784, 786, + 674, 787, 790, 797, 791, 794, 798, 804, 2490, 802, + 811, 2523, 801, 816, 812, 467, 817, 822, 823, 825, + 826, 2488, 828, 827, 833, 829, 835, 837, 839, 838, + 844, 845, 846, 849, 850, 876, 0, 900, 2497, 2496, + 868, 2480, 2490, 2489, 2470, 2476, 894, 895, 896, 873, + 880, 895, 893, 0, 877, 896, 887, 900, 883, 885, + 886, 890, 884, 927, 894, 892, 898, 899, 2480, 2479, + 2478, 2477, 905, 907, 908, 906, 914, 2476, 916, 913, + 921, 919, 923, 924, 925, 2475, 929, 926, 932, 933, + + 934, 937, 2474, 938, 940, 968, 2473, 948, 938, 949, + 952, 958, 2472, 955, 961, 2471, 963, 2470, 964, 966, + 967, 969, 970, 971, 983, 974, 976, 980, 979, 978, + 985, 981, 993, 992, 1014, 2464, 2474, 2473, 2495, 2490, + 2445, 0, 0, 2458, 2444, 1034, 1035, 1036, 1016, 1017, + 1034, 1035, 0, 1020, 1036, 1040, 1026, 1014, 1018, 1021, + 1019, 1025, 1065, 1031, 1039, 2461, 2460, 1054, 2459, 2458, + 1041, 1037, 2457, 2456, 2455, 1043, 1045, 1047, 2454, 1049, + 1053, 1055, 1051, 1118, 1063, 1052, 1067, 2453, 2452, 1094, + 2451, 2431, 2430, 2428, 1180, 2447, 1072, 1073, 1074, 1075, + + 1076, 1077, 1078, 1081, 1083, 1108, 1084, 1104, 1181, 1096, + 1101, 1099, 1151, 1103, 1186, 2446, 2474, 2469, 2424, 0, + 0, 2459, 2468, 2437, 0, 0, 2426, 2432, 1187, 1139, + 1216, 1116, 1117, 1184, 1168, 1187, 1190, 1185, 2437, 1189, + 2436, 1155, 1172, 1192, 2435, 1183, 1196, 1198, 2434, 1194, + 1276, 2433, 1110, 1247, 1365, 1260, 1205, 1268, 1248, 1251, + 1336, 2432, 1278, 2411, 2410, 2411, 2595, 2428, 1249, 2427, + 1250, 1252, 2426, 1257, 1258, 1288, 1264, 1268, 1283, 1270, + 1284, 1337, 1338, 1286, 1291, 1293, 1339, 1294, 1340, 1367, + 1341, 1349, 1296, 2459, 2441, 2450, 2419, 0, 0, 2446, + + 2430, 2401, 2413, 2416, 1376, 1385, 1429, 2595, 2450, 1368, + 2415, 1388, 2414, 2413, 1375, 2412, 1376, 1377, 1347, 1378, + 1379, 1381, 1380, 1408, 2411, 2595, 2410, 1395, 2409, 2595, + 2408, 1461, 1297, 2395, 2406, 1385, 1466, 2595, 1344, 2387, + 2386, 2394, 2402, 2401, 2400, 2399, 1386, 1394, 1396, 1414, + 1261, 1413, 1415, 1419, 1420, 1421, 1423, 1427, 1428, 1430, + 1429, 1436, 1384, 1434, 1438, 1460, 1440, 1441, 1469, 2423, + 2407, 2378, 0, 2416, 2385, 2379, 2389, 1509, 1523, 1470, + 1473, 1479, 1451, 1455, 1465, 1472, 1461, 1482, 2391, 2378, + 1547, 2374, 1492, 1474, 2383, 2382, 2372, 1485, 1478, 1498, + + 1486, 1500, 1501, 1494, 2385, 1502, 1507, 1508, 1511, 1512, + 1513, 1515, 1517, 1518, 1519, 1523, 1525, 1529, 1528, 1527, + 0, 2405, 2374, 0, 2397, 2365, 2360, 2374, 1213, 2378, + 1536, 1535, 2377, 2376, 1531, 2360, 1608, 2354, 1537, 1541, + 2372, 2371, 2364, 1560, 1553, 1555, 1556, 1562, 1544, 1563, + 2370, 1564, 1566, 1567, 1568, 1569, 1572, 1573, 1624, 1575, + 1587, 1577, 1590, 1591, 1592, 0, 2384, 2352, 2383, 2346, + 2364, 2595, 1605, 1608, 2364, 1595, 2343, 2350, 2342, 2360, + 2359, 2345, 2344, 0, 1599, 1601, 1612, 2356, 1603, 1606, + 1604, 1631, 2355, 1609, 1610, 1616, 1618, 1619, 1656, 1661, + + 1666, 2354, 1630, 1632, 1676, 1633, 1663, 1642, 2369, 2332, + 2407, 2341, 2329, 1652, 1668, 1669, 2348, 2328, 2331, 1706, + 1679, 0, 0, 1655, 2345, 1648, 1674, 1681, 1723, 1670, + 1692, 1694, 1729, 2344, 1698, 2343, 2342, 2341, 2340, 1686, + 1701, 1707, 1716, 2339, 1696, 1688, 1700, 2394, 2328, 1735, + 2321, 2326, 2334, 1711, 1705, 1777, 2313, 1787, 2595, 1725, + 1697, 1719, 1732, 1736, 1739, 1751, 1755, 1757, 1741, 1710, + 1744, 1746, 1765, 1766, 1767, 1769, 1758, 1796, 1798, 1761, + 2332, 2331, 2330, 1762, 1763, 1764, 1801, 2314, 2327, 2322, + 2321, 2320, 2310, 2308, 1805, 1784, 1842, 2595, 2303, 1770, + + 1772, 1788, 1791, 1792, 1799, 1801, 1803, 1806, 1809, 1797, + 1810, 1811, 1816, 1818, 1821, 1823, 1825, 2321, 2320, 1826, + 1827, 1829, 1830, 2318, 2313, 2312, 2311, 2301, 2292, 2294, + 2307, 2306, 2344, 2295, 1856, 2308, 1892, 1834, 2307, 1855, + 1839, 1842, 1845, 1846, 1850, 1859, 1851, 1837, 1861, 1863, + 1864, 1865, 1870, 1871, 1866, 1889, 1875, 1777, 1876, 2284, + 2286, 2299, 2298, 2336, 2296, 2297, 2355, 2354, 0, 1905, + 1947, 2595, 2297, 1885, 1892, 1880, 1883, 1893, 1894, 1896, + 1899, 1900, 2296, 1901, 1903, 1902, 1904, 1906, 1907, 1908, + 1909, 2295, 1919, 1921, 2289, 2290, 2348, 2341, 0, 2275, + + 2249, 2287, 2248, 0, 1944, 1927, 1929, 2240, 2231, 1931, + 1932, 1933, 1934, 2222, 2213, 2204, 1935, 1937, 1938, 1939, + 2174, 1940, 1942, 1955, 2164, 2138, 2176, 2137, 0, 2109, + 2115, 2102, 2097, 2105, 1945, 1957, 2097, 2093, 2089, 2084, + 2076, 2071, 2059, 2054, 1958, 1961, 1981, 2030, 2036, 2032, + 2031, 2023, 2018, 2000, 1999, 1959, 1965, 1967, 1968, 1969, + 1998, 2000, 1996, 1995, 0, 1992, 1995, 1994, 2007, 1971, + 2005, 1972, 1975, 0, 1916, 1687, 1442, 0, 1154, 0, + 0, 1979, 1990, 1983, 0, 1024, 0, 0, 784, 0, + 0, 1985, 1986, 1989, 733, 0, 0, 629, 2008, 1992, + + 550, 313, 0, 1996, 1993, 0, 0, 2000, 1998, 0, + 2002, 211, 2006, 47, 2595, 2083, 2092, 2100, 2105, 2109, + 2118, 2122, 2126, 2135, 2139, 2144, 2148, 2156, 2160, 2164, + 2173, 2175, 2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242, + 2249, 2256, 2263, 2272, 2281, 2290, 2299, 2308, 2317, 2326, + 2335, 2344 } ; -static yyconst flex_int16_t yy_def[2008] = +static yyconst flex_int16_t yy_def[1153] = { 0, - 1955, 1, 1955, 1955, 1955, 1955, 1955, 1956, 1955, 1955, - 1957, 1958, 1955, 1955, 1955, 1955, 1955, 1955, 1959, 1960, - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1962, 1955, 1955, - 1955, 1956, 1955, 1956, 1955, 1955, 1955, 1957, 1957, 1958, - 1955, 1955, 1963, 1963, 1963, 1963, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1964, 1955, 1965, 1966, - 1959, 1959, 1959, 1960, 1960, 1960, 1955, 1955, 1955, 1955, - - 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1962, 1955, - 1955, 1962, 1962, 1962, 1962, 1967, 1955, 1956, 1955, 1955, - 1957, 1963, 1955, 1963, 1963, 1963, 1955, 1955, 1955, 1964, - 1965, 1965, 1965, 1966, 1966, 1968, 1959, 1960, 1955, 1955, - 1961, 1961, 1961, 1955, 1961, 1961, 1955, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, - 1969, 1962, 1962, 1967, 1967, 1967, 1967, 1955, 1955, 1958, - 1963, 1963, 1963, 1955, 1955, 1965, 1966, 1968, 268, 1959, - 1960, 1961, 1961, 1961, 1970, 1971, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1969, 1969, 1969, 1969, 1962, - 1967, 1967, 1967, 1967, 1955, 1955, 1963, 1963, 1963, 1955, - 1966, 1959, 1960, 1961, 1961, 1961, 1970, 1971, 1971, 1971, - 1971, 1971, 1971, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1961, 1961, 1961, - - 1961, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1955, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1955, 1955, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1969, 1969, 1969, 1969, 1962, 1967, 1967, - 1967, 1972, 1973, 1955, 1955, 1963, 1963, 1963, 1955, 1966, - 1959, 1960, 1961, 1961, 1961, 1971, 1971, 1971, 1971, 1961, - 1961, 1961, 1961, 1961, 1961, 1955, 1955, 1961, 1961, 1974, - 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1955, - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1955, - 1955, 1961, 1961, 1961, 1961, 1961, 1975, 1961, 1961, 1955, - 1976, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1969, 1969, 1969, - 1977, 1978, 1962, 1967, 1967, 1967, 1972, 1973, 1955, 1955, - 1963, 1963, 1963, 1966, 1959, 1960, 1961, 1961, 1961, 1971, - 1971, 1971, 1971, 1961, 1961, 1961, 1961, 1955, 1955, 1961, - - 1961, 1979, 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1955, - 1961, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1955, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1955, 1961, 1961, 1961, 1955, 1955, 1955, 1961, 1961, - 1961, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1955, 1955, 1955, 1980, 1961, 1961, 1961, 1981, 1961, - 1961, 1955, 1955, 1976, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1955, 1969, 1969, 1969, 1977, - 1978, 1962, 1967, 1967, 1967, 1955, 1955, 1963, 1963, 1955, - - 1955, 1963, 1966, 1959, 1960, 1961, 1961, 1961, 1971, 1971, - 1971, 1971, 1961, 1955, 1961, 1961, 1955, 1955, 1961, 1961, - 1955, 1979, 1955, 1955, 1961, 1961, 1961, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, - 1961, 1961, 1955, 1955, 1955, 1955, 1955, 1961, 1955, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1961, 1961, 1955, - 1961, 1961, 1961, 1955, 1955, 1955, 1961, 1961, 1961, 1955, - 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, - 1961, 1955, 1955, 1955, 1955, 1982, 1961, 1961, 1955, 1981, - 1955, 1955, 1961, 1955, 1955, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1969, 1969, 1969, 1962, 1983, 1967, 1967, 1955, 1955, 1963, - 1963, 1966, 1971, 1971, 1971, 1971, 1961, 1955, 1955, 1961, - 1961, 1955, 1955, 1961, 1961, 1984, 1961, 1961, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, - 1961, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - 1955, 1955, 1961, 1961, 1961, 1955, 1961, 1961, 1961, 1961, - 1961, 1961, 1955, 1961, 1961, 1955, 1961, 1961, 1955, 1955, - 1955, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - - 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1955, 1955, - 1955, 1955, 1982, 1955, 1955, 1955, 1985, 1986, 1955, 1961, - 1961, 1961, 1961, 1961, 1955, 1955, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1987, 1969, 1969, 1962, 1983, 1967, 1967, 1955, 1955, 1971, - 1971, 1971, 1971, 1961, 1955, 1955, 1961, 1961, 1955, 1955, - 1961, 1961, 1988, 1961, 1961, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, - 1961, 1955, 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1955, - - 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1955, 1961, 1955, 1961, 1955, 1961, 1961, 1955, 1955, - 1955, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - 1955, 1961, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1955, - 1955, 1955, 1955, 1989, 1985, 1955, 1990, 1955, 1955, 1955, - 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1955, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1987, 1969, 1969, 1962, 1967, 1967, 1955, 1955, 1971, - 1971, 1961, 1955, 1955, 1961, 1961, 1955, 1955, 1961, 1988, - - 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1961, - 1961, 1961, 1961, 1961, 1955, 1961, 1961, 1955, 1961, 1955, - 1961, 1955, 1961, 1961, 1955, 1955, 1955, 1955, 1961, 1961, - 1961, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, - 1961, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - 1991, 1955, 1990, 1955, 1955, 1955, 1955, 1955, 1961, 1961, - 1961, 1961, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1955, 1992, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1969, 1969, 1962, 1967, 1967, 1955, 1971, 1971, 1961, - 1955, 1955, 1961, 1961, 1955, 1961, 1961, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1961, - 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, - 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1961, 1955, - 1961, 1955, 1955, 1961, 1955, 1955, 1955, 1955, 1961, 1961, - 1955, 1961, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1961, - 1961, 1961, 1961, 1961, 1955, 1961, 1955, 1955, 1955, 1991, - - 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1955, 1961, 1961, - 1961, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1992, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1969, 1969, 1993, 1967, 1967, 1955, 1971, 1971, 1961, 1955, - 1955, 1961, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1955, 1961, 1955, 1955, 1955, 1961, 1961, 1955, 1955, - - 1955, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1955, 1961, - 1961, 1961, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1969, 1969, 1994, 1967, 1967, 1967, 1967, 1967, 1955, - 1971, 1971, 1955, 1955, 1961, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, - 1961, 1955, 1961, 1961, 1961, 1961, 1955, 1955, 1955, 1955, - - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1955, 1961, 1961, 1955, 1955, 1955, 1955, 1961, 1961, 1961, - 1955, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1961, - 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1961, 1961, 1961, 1961, 1961, 1955, 1961, 1955, 1955, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1969, 1969, 1969, 1969, 1969, 1995, 1996, - 1997, 1995, 1967, 1967, 1967, 1967, 1967, 1955, 1971, 1971, - 1955, 1961, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - - 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1955, - 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1955, 1961, - 1961, 1961, 1955, 1955, 1961, 1955, 1955, 1955, 1955, 1961, - 1961, 1955, 1955, 1955, 1955, 1961, 1955, 1961, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1969, 1969, 1969, 1969, 1969, 1995, 1995, - 1996, 1996, 1995, 1997, 1995, 1995, 1967, 1967, 1967, 1967, - 1998, 1971, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - - 1961, 1961, 1961, 1961, 1955, 1961, 1961, 1955, 1955, 1955, - 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1955, 1955, - 1961, 1961, 1955, 1955, 1961, 1961, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1969, 1969, 1969, 1969, 1999, 1995, 1996, 1967, 1967, 1967, - 1967, 1998, 1971, 1955, 1955, 1955, 1955, 1955, 1955, 1961, - 1961, 1961, 1961, 1955, 1955, 1955, 1955, 1961, 1961, 1961, - 1955, 1961, 1955, 1955, 1955, 1955, 1961, 1961, 1955, 1955, - - 1955, 1955, 1961, 1955, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1969, 1969, 1969, 1969, 1999, - 1967, 1967, 1967, 1967, 1971, 1955, 1955, 1955, 1955, 1961, - 1961, 1955, 1955, 1955, 1955, 1961, 1961, 1955, 1955, 1955, - 1955, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1969, 1969, 1969, - 1969, 1967, 1967, 1967, 1967, 1955, 1955, 1961, 1961, 1955, - 1955, 1961, 1961, 1955, 1955, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1969, 1969, 1969, 1969, 2000, 1967, 1967, - - 1967, 1955, 1955, 1955, 1955, 1955, 1955, 1961, 1961, 1961, - 1961, 1961, 1961, 2001, 1969, 1969, 1969, 2000, 1967, 2002, - 2003, 1961, 1961, 1961, 2001, 1969, 2004, 2005, 1967, 2002, - 2003, 1961, 1961, 1961, 1969, 2004, 2005, 1967, 1961, 1961, - 1961, 1969, 2006, 1961, 1961, 2007, 2006, 1961, 1961, 2007, - 1961, 1961, 1961, 1961, 0, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - - 1955, 1955, 1955, 1955, 1955, 1955, 1955 + 1115, 1, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1115, + 1115, 1117, 1118, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1119, 1115, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, + 1120, 1115, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1121, 1115, + 1115, 1115, 1115, 1116, 1115, 1116, 1115, 1115, 1115, 1117, + 1117, 1118, 1115, 1115, 1122, 1122, 1122, 1122, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1123, 1115, 1124, 1115, + 1125, 1126, 1115, 1127, 1119, 1119, 1119, 1115, 1115, 1115, + + 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1121, + 1115, 1115, 1121, 1121, 1128, 1115, 1116, 1115, 1117, 1122, + 1115, 1122, 1122, 1122, 1115, 1115, 1123, 1123, 1124, 1125, + 1125, 1126, 1126, 1115, 1129, 1130, 1115, 1115, 1120, 1120, + 1120, 1120, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1131, 1121, 1128, 1128, 1128, 1128, 1115, 1115, + 1118, 1122, 1122, 1122, 1115, 1123, 1115, 1125, 1129, 1130, + 1120, 1120, 1120, 1120, 1132, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, + 1128, 1128, 1128, 1128, 1115, 1115, 1122, 1122, 1122, 1120, + 1120, 1120, 1120, 1133, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1115, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1128, 1128, + 1128, 1134, 1135, 1115, 1115, 1122, 1122, 1122, 1120, 1120, + 1120, 1120, 1133, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1136, + 1137, 1128, 1128, 1128, 1134, 1135, 1115, 1115, 1122, 1122, + 1122, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 495, 1120, 1120, 1120, 495, 1120, 1120, 1115, 1120, 1120, + 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1115, 1131, 1131, 1131, 1136, 1137, 1128, + + 1128, 1128, 1115, 1115, 1122, 1122, 1115, 1115, 1122, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1115, 1120, 1120, 1120, 1115, + 1120, 1115, 1120, 1115, 1120, 1120, 1115, 1115, 1120, 1115, + 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, + 1131, 1131, 1138, 1128, 1128, 1115, 1115, 1122, 1122, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1115, + 1120, 1115, 1120, 1120, 1115, 1115, 1115, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1139, 1131, 1131, 1138, 1128, 1128, 1115, 1115, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1120, 1120, + 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1139, 1131, 1131, 1128, 1128, + 1115, 1115, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1120, + 1120, 1115, 1115, 1140, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, + 1128, 1128, 1115, 1120, 1120, 1120, 1120, 1115, 1115, 1115, + 1120, 1141, 1142, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1128, + 1128, 1115, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1128, 1128, + 1128, 1128, 1128, 1115, 1120, 1120, 1115, 1115, 1115, 1120, + + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1131, 1128, 1128, + 1128, 1128, 1128, 1115, 1120, 1120, 1115, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, + 1131, 1131, 1131, 1131, 1128, 1128, 1128, 1128, 1143, 1120, + 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1144, 1128, + + 1128, 1128, 1128, 1143, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1144, 1128, + 1128, 1128, 1128, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131, + 1131, 1128, 1128, 1128, 1128, 1120, 1120, 1120, 1120, 1120, + 1131, 1131, 1131, 1131, 1145, 1128, 1128, 1128, 1120, 1120, + 1120, 1120, 1120, 1146, 1131, 1131, 1131, 1145, 1128, 1147, + 1148, 1120, 1120, 1120, 1146, 1131, 1149, 1150, 1128, 1147, + 1148, 1120, 1120, 1120, 1131, 1149, 1150, 1128, 1120, 1120, + + 1120, 1131, 1151, 1120, 1120, 1152, 1151, 1120, 1120, 1152, + 1120, 1120, 1120, 1120, 0, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115 } ; -static yyconst flex_int16_t yy_nxt[4697] = +static yyconst flex_int16_t yy_nxt[2685] = { 0, - 4, 5, 6, 5, 5, 7, 8, 4, 9, 10, - 11, 12, 13, 14, 15, 13, 16, 17, 18, 19, - 20, 20, 20, 20, 20, 20, 20, 21, 13, 22, - 23, 24, 4, 25, 26, 27, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 28, - 26, 26, 26, 26, 29, 30, 26, 26, 26, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 26, 26, 42, 26, 26, 43, 44, 45, 46, 47, - 26, 48, 49, 50, 51, 52, 26, 53, 26, 26, - 54, 55, 56, 57, 55, 63, 66, 58, 70, 70, - - 70, 70, 77, 77, 77, 77, 71, 80, 59, 104, - 72, 82, 98, 99, 101, 102, 86, 67, 106, 111, - 112, 87, 60, 81, 105, 83, 84, 107, 110, 105, - 73, 78, 75, 88, 89, 109, 90, 90, 90, 90, - 90, 90, 90, 90, 114, 105, 105, 108, 105, 64, - 105, 89, 76, 94, 94, 94, 94, 94, 94, 94, - 94, 105, 105, 105, 105, 155, 133, 79, 123, 105, - 115, 118, 120, 92, 105, 116, 121, 119, 124, 122, - 93, 105, 117, 126, 105, 105, 128, 63, 125, 105, - 142, 105, 129, 127, 168, 130, 170, 96, 105, 132, - - 131, 105, 134, 147, 92, 137, 135, 138, 139, 140, - 105, 105, 141, 105, 163, 171, 136, 163, 143, 144, - 151, 105, 191, 148, 194, 156, 152, 149, 86, 145, - 146, 153, 150, 166, 173, 105, 154, 157, 158, 158, - 157, 64, 173, 159, 105, 88, 69, 173, 64, 70, - 70, 70, 70, 175, 160, 174, 176, 71, 1955, 1955, - 105, 72, 105, 192, 105, 69, 201, 114, 161, 77, - 77, 77, 77, 164, 105, 205, 105, 206, 211, 187, - 165, 73, 105, 75, 181, 181, 181, 181, 181, 181, - 181, 181, 89, 105, 90, 90, 90, 90, 90, 90, - - 90, 90, 183, 76, 93, 93, 89, 274, 94, 94, - 94, 94, 94, 94, 94, 94, 1955, 105, 91, 91, - 91, 91, 91, 91, 91, 91, 105, 114, 198, 195, - 105, 105, 204, 183, 79, 105, 105, 193, 185, 1955, - 220, 186, 186, 186, 186, 186, 186, 186, 186, 105, - 202, 203, 96, 105, 196, 186, 186, 186, 186, 186, - 186, 1955, 96, 91, 91, 91, 91, 91, 91, 91, - 91, 105, 105, 114, 105, 105, 258, 259, 105, 105, - 1624, 188, 105, 105, 209, 93, 186, 186, 186, 186, - 186, 186, 207, 208, 213, 210, 212, 215, 214, 105, - - 199, 105, 105, 219, 105, 105, 105, 96, 200, 105, - 216, 105, 105, 105, 217, 105, 304, 225, 222, 105, - 105, 105, 218, 230, 221, 105, 248, 105, 228, 223, - 105, 224, 234, 227, 229, 233, 236, 231, 105, 232, - 105, 237, 105, 105, 238, 105, 105, 105, 105, 63, - 163, 235, 242, 163, 241, 240, 244, 246, 239, 255, - 247, 170, 243, 245, 249, 157, 158, 158, 157, 163, - 164, 159, 163, 162, 252, 272, 173, 173, 253, 173, - 273, 105, 160, 277, 105, 278, 105, 1955, 105, 256, - 261, 105, 257, 105, 262, 280, 161, 105, 263, 105, - - 105, 105, 288, 64, 279, 285, 282, 287, 105, 164, - 293, 69, 105, 105, 105, 283, 165, 1719, 181, 181, - 181, 181, 181, 181, 181, 181, 270, 289, 164, 284, - 286, 164, 105, 93, 291, 165, 183, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 265, 105, 265, 105, 292, - 266, 266, 266, 266, 266, 266, 266, 266, 105, 105, - 105, 296, 324, 290, 295, 105, 1955, 183, 91, 91, - 91, 91, 91, 91, 91, 91, 1955, 294, 91, 91, - 91, 91, 91, 91, 91, 91, 105, 105, 305, 105, - 105, 297, 105, 105, 105, 105, 267, 1955, 298, 91, - - 91, 91, 91, 91, 91, 91, 91, 1720, 303, 105, - 308, 310, 185, 299, 299, 299, 299, 311, 105, 114, - 319, 313, 185, 186, 186, 186, 186, 186, 186, 186, - 186, 105, 315, 105, 105, 162, 271, 186, 186, 186, - 186, 186, 186, 96, 105, 105, 105, 317, 105, 306, - 309, 312, 316, 318, 105, 314, 321, 105, 105, 365, - 105, 105, 105, 325, 409, 105, 322, 269, 186, 186, - 186, 186, 186, 186, 320, 105, 326, 105, 323, 328, - 329, 105, 105, 331, 351, 330, 327, 300, 105, 347, - 1955, 173, 105, 164, 301, 173, 302, 332, 164, 333, - - 334, 335, 336, 352, 337, 357, 173, 350, 358, 338, - 366, 105, 359, 105, 339, 340, 341, 342, 343, 348, - 364, 362, 349, 374, 375, 379, 105, 1955, 1955, 1955, - 1955, 105, 105, 376, 1723, 71, 93, 105, 105, 72, - 105, 105, 412, 105, 385, 344, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 1955, 377, 91, 91, 91, 91, 91, 91, - 91, 91, 1955, 114, 91, 91, 91, 91, 91, 91, - 91, 91, 105, 381, 381, 381, 381, 105, 1727, 105, - 105, 105, 105, 105, 105, 415, 402, 105, 390, 105, - - 380, 361, 388, 363, 378, 389, 384, 393, 185, 91, - 91, 91, 91, 91, 91, 91, 91, 386, 96, 369, - 105, 105, 370, 91, 91, 91, 91, 91, 91, 371, - 105, 1728, 105, 299, 299, 299, 299, 105, 391, 105, - 372, 387, 105, 105, 414, 105, 394, 105, 373, 114, - 392, 417, 398, 269, 91, 91, 91, 91, 91, 91, - 105, 401, 410, 105, 382, 105, 383, 105, 399, 400, - 403, 403, 403, 403, 105, 105, 105, 105, 1729, 416, - 411, 105, 413, 419, 105, 421, 418, 105, 105, 422, - 425, 427, 424, 105, 105, 105, 420, 428, 105, 430, - - 429, 105, 105, 105, 105, 440, 105, 395, 433, 431, - 434, 105, 432, 438, 396, 1730, 397, 436, 436, 436, - 436, 439, 105, 435, 105, 105, 105, 437, 105, 443, - 444, 105, 105, 446, 442, 441, 404, 105, 105, 105, - 445, 405, 105, 114, 406, 454, 450, 164, 447, 173, - 459, 407, 449, 408, 451, 460, 448, 173, 173, 458, - 1955, 473, 452, 477, 455, 467, 475, 476, 466, 105, - 373, 474, 105, 373, 453, 483, 478, 1731, 468, 105, - 1955, 370, 91, 91, 91, 91, 91, 91, 91, 91, - 471, 1955, 105, 91, 91, 91, 91, 91, 91, 91, - - 91, 105, 373, 479, 481, 480, 93, 373, 105, 105, - 105, 470, 164, 105, 105, 105, 373, 105, 485, 105, - 692, 472, 497, 489, 488, 484, 185, 105, 482, 381, - 381, 381, 381, 490, 490, 490, 490, 96, 491, 491, - 491, 491, 105, 105, 105, 105, 105, 494, 495, 105, - 499, 502, 503, 496, 500, 105, 105, 105, 105, 498, - 105, 509, 105, 105, 507, 105, 105, 492, 105, 505, - 105, 506, 403, 403, 403, 403, 516, 508, 515, 518, - 517, 105, 519, 105, 105, 105, 523, 105, 524, 105, - 105, 105, 526, 520, 527, 105, 105, 105, 114, 521, - - 493, 522, 529, 105, 548, 525, 530, 530, 530, 530, - 486, 105, 487, 105, 538, 534, 528, 535, 675, 539, - 105, 105, 105, 544, 105, 540, 105, 542, 105, 541, - 105, 545, 105, 546, 547, 547, 547, 547, 510, 105, - 549, 543, 105, 511, 536, 553, 512, 436, 436, 436, - 436, 552, 105, 513, 105, 514, 105, 437, 550, 550, - 550, 550, 105, 558, 105, 105, 105, 105, 105, 556, - 551, 561, 554, 105, 105, 105, 557, 531, 555, 105, - 564, 105, 562, 164, 559, 560, 105, 532, 563, 533, - 566, 565, 568, 173, 173, 173, 105, 569, 567, 1955, - - 573, 582, 588, 589, 593, 105, 627, 1955, 583, 91, - 91, 91, 91, 91, 91, 91, 91, 1955, 581, 91, - 91, 91, 91, 91, 91, 91, 91, 587, 590, 591, - 105, 105, 585, 592, 373, 595, 594, 584, 105, 373, - 105, 597, 105, 105, 373, 93, 105, 596, 114, 600, - 586, 105, 105, 185, 105, 604, 713, 373, 490, 490, - 490, 490, 601, 96, 491, 491, 491, 491, 105, 105, - 606, 606, 606, 606, 105, 611, 105, 603, 605, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 614, 105, - 105, 105, 626, 492, 612, 105, 613, 615, 624, 623, - - 105, 621, 105, 622, 628, 625, 1330, 630, 629, 105, - 631, 632, 632, 632, 632, 105, 105, 105, 635, 105, - 634, 114, 530, 530, 530, 530, 640, 654, 642, 105, - 639, 105, 105, 641, 105, 643, 643, 643, 643, 655, - 655, 655, 655, 105, 105, 105, 661, 105, 105, 656, - 657, 547, 547, 547, 547, 105, 658, 665, 105, 667, - 660, 105, 550, 550, 550, 550, 105, 649, 662, 662, - 662, 662, 681, 105, 551, 105, 668, 105, 666, 663, - 105, 669, 105, 105, 105, 686, 683, 682, 105, 670, - 173, 671, 633, 636, 769, 672, 173, 644, 673, 707, - - 645, 105, 674, 637, 699, 638, 646, 105, 676, 647, - 105, 684, 709, 698, 1955, 708, 648, 706, 677, 105, - 678, 105, 685, 105, 679, 711, 105, 680, 700, 700, - 700, 700, 105, 725, 710, 947, 105, 712, 373, 1955, - 701, 91, 91, 91, 91, 91, 91, 91, 91, 704, - 373, 105, 373, 105, 173, 373, 105, 105, 742, 1955, - 93, 91, 91, 91, 91, 91, 91, 91, 91, 105, - 719, 105, 703, 727, 741, 702, 714, 714, 714, 714, - 720, 721, 721, 721, 721, 185, 606, 606, 606, 606, - 736, 736, 736, 736, 705, 105, 105, 105, 748, 749, - - 749, 749, 749, 105, 752, 96, 105, 723, 724, 105, - 105, 105, 105, 755, 105, 740, 759, 753, 754, 757, - 757, 757, 757, 105, 756, 632, 632, 632, 632, 105, - 762, 834, 105, 105, 767, 761, 770, 114, 105, 768, - 643, 643, 643, 643, 373, 763, 105, 778, 105, 114, - 105, 728, 105, 105, 777, 105, 780, 715, 787, 716, - 788, 105, 105, 776, 737, 779, 793, 729, 730, 731, - 962, 738, 105, 739, 105, 105, 373, 105, 781, 796, - 750, 105, 751, 655, 655, 655, 655, 105, 798, 789, - 789, 789, 789, 662, 662, 662, 662, 800, 105, 807, - - 758, 105, 771, 797, 663, 772, 760, 794, 794, 794, - 794, 773, 105, 801, 774, 791, 792, 795, 105, 799, - 105, 775, 662, 662, 662, 662, 105, 105, 802, 105, - 105, 105, 804, 663, 105, 808, 105, 105, 809, 105, - 803, 813, 811, 105, 814, 805, 105, 173, 815, 806, - 105, 810, 824, 816, 820, 824, 817, 173, 818, 812, - 1955, 594, 819, 105, 105, 903, 105, 700, 700, 700, - 700, 835, 840, 831, 594, 1732, 105, 830, 1955, 701, - 91, 91, 91, 91, 91, 91, 91, 91, 1955, 105, - 91, 91, 91, 91, 91, 91, 91, 91, 105, 373, - - 714, 714, 714, 714, 105, 105, 93, 105, 105, 114, - 844, 164, 105, 832, 845, 105, 105, 860, 841, 837, - 721, 721, 721, 721, 185, 721, 721, 721, 721, 105, - 859, 847, 1195, 865, 96, 105, 105, 105, 848, 736, - 736, 736, 736, 736, 736, 736, 736, 724, 105, 873, - 861, 723, 724, 862, 862, 862, 862, 749, 749, 749, - 749, 105, 866, 749, 749, 749, 749, 1733, 105, 105, - 874, 876, 876, 876, 876, 105, 881, 105, 105, 105, - 880, 838, 875, 839, 882, 757, 757, 757, 757, 884, - 105, 105, 105, 887, 885, 892, 892, 892, 892, 105, - - 105, 105, 114, 105, 105, 907, 895, 105, 896, 888, - 105, 927, 105, 853, 905, 105, 948, 853, 906, 105, - 854, 904, 855, 105, 854, 928, 855, 105, 105, 912, - 912, 912, 912, 105, 863, 105, 864, 902, 868, 929, - 869, 933, 877, 105, 868, 932, 869, 916, 916, 916, - 916, 105, 878, 939, 879, 914, 915, 105, 789, 789, - 789, 789, 789, 789, 789, 789, 883, 919, 919, 919, - 919, 794, 794, 794, 794, 917, 893, 105, 894, 105, - 105, 795, 931, 934, 105, 792, 930, 938, 791, 792, - 925, 925, 925, 925, 105, 105, 105, 937, 105, 935, - - 936, 105, 105, 105, 941, 105, 105, 945, 105, 105, - 105, 950, 105, 946, 824, 943, 940, 824, 963, 944, - 942, 700, 700, 700, 700, 949, 972, 105, 975, 920, - 105, 961, 921, 701, 700, 700, 700, 700, 922, 105, - 105, 923, 373, 105, 373, 370, 701, 173, 924, 1955, - 964, 91, 91, 91, 91, 91, 91, 91, 91, 960, - 173, 105, 105, 974, 105, 105, 105, 954, 702, 967, - 971, 373, 105, 164, 926, 862, 862, 862, 862, 987, - 968, 702, 105, 989, 862, 862, 862, 862, 105, 988, - 105, 105, 105, 105, 1077, 185, 995, 990, 992, 992, - - 992, 992, 1008, 105, 991, 876, 876, 876, 876, 105, - 1005, 1006, 105, 105, 1004, 105, 876, 876, 876, 876, - 105, 105, 105, 105, 1010, 105, 1007, 1009, 1018, 1011, - 1014, 1014, 1014, 1014, 1023, 105, 1013, 892, 892, 892, - 892, 105, 1017, 892, 892, 892, 892, 105, 1026, 1024, - 105, 105, 1025, 105, 105, 105, 983, 105, 984, 114, - 105, 1037, 105, 105, 1032, 983, 1065, 984, 1761, 1033, - 1054, 1038, 993, 105, 1039, 105, 999, 1055, 1316, 994, - 1034, 1034, 1034, 1034, 105, 1053, 1000, 999, 1001, 105, - 1056, 1060, 105, 916, 916, 916, 916, 1000, 1059, 1001, - - 912, 912, 912, 912, 912, 912, 912, 912, 105, 105, - 105, 1015, 919, 919, 919, 919, 1057, 105, 1019, 105, - 1020, 917, 1061, 1062, 1019, 105, 1020, 915, 1063, 1067, - 914, 915, 925, 925, 925, 925, 105, 105, 105, 1066, - 105, 1064, 105, 105, 105, 1070, 105, 105, 105, 105, - 1068, 105, 1071, 105, 1035, 1073, 1069, 105, 1079, 1085, - 1076, 1036, 1074, 1078, 1072, 105, 1091, 164, 1075, 1080, - 1090, 105, 105, 373, 1048, 105, 1092, 1049, 373, 105, - 1081, 1096, 105, 1050, 1099, 105, 1051, 105, 105, 1095, - 105, 1190, 1114, 1052, 721, 721, 721, 721, 105, 1116, - - 105, 1101, 992, 992, 992, 992, 1118, 1117, 992, 992, - 992, 992, 1115, 105, 105, 105, 926, 105, 105, 1121, - 723, 724, 1120, 105, 105, 105, 105, 1131, 1119, 1137, - 105, 1130, 1133, 1135, 1135, 1135, 1135, 1014, 1014, 1014, - 1014, 105, 105, 1132, 105, 1134, 105, 105, 105, 105, - 1139, 105, 1151, 1141, 1149, 1034, 1034, 1034, 1034, 105, - 1762, 1143, 105, 1152, 1144, 1150, 1034, 1034, 1034, 1034, - 1161, 1159, 105, 105, 1160, 114, 1111, 1162, 1162, 1162, - 1162, 1763, 1111, 1112, 1172, 1172, 1172, 1172, 105, 1112, - 105, 1180, 1165, 1166, 105, 105, 789, 789, 789, 789, - - 105, 105, 1185, 105, 1136, 105, 1186, 1187, 1181, 1183, - 1179, 105, 105, 105, 1182, 105, 1764, 105, 1140, 1188, - 105, 1193, 791, 792, 1193, 105, 1189, 1191, 1197, 1155, - 1192, 1194, 1196, 105, 1201, 105, 1156, 105, 105, 105, - 1155, 105, 105, 105, 105, 1209, 1207, 1156, 1163, 728, - 1199, 1164, 1198, 105, 1202, 1200, 1203, 105, 1214, 1204, - 1205, 1206, 1208, 1218, 1210, 729, 591, 731, 1211, 105, - 1219, 105, 105, 105, 1223, 164, 1226, 105, 1224, 105, - 1244, 373, 1243, 105, 721, 721, 721, 721, 1240, 1240, - 1240, 1240, 105, 373, 105, 105, 105, 105, 105, 1227, - - 105, 1259, 1273, 1246, 105, 1765, 1245, 1260, 1267, 1247, - 723, 724, 105, 1248, 1249, 1249, 1249, 1249, 1135, 1135, - 1135, 1135, 1261, 1261, 1261, 1261, 1264, 105, 1135, 1135, - 1135, 1135, 105, 105, 105, 105, 1265, 105, 105, 1281, - 1281, 1281, 1281, 105, 1280, 1290, 1266, 105, 1283, 1271, - 105, 1279, 1269, 1162, 1162, 1162, 1162, 105, 105, 105, - 105, 1291, 1162, 1162, 1162, 1162, 1329, 105, 105, 1241, - 1317, 1242, 1292, 1293, 1551, 1294, 105, 1295, 1295, 1295, - 1295, 1306, 105, 105, 105, 105, 1307, 105, 1250, 1257, - 912, 912, 912, 912, 1311, 1251, 105, 1314, 105, 1257, - - 1312, 105, 105, 1262, 105, 1263, 1172, 1172, 1172, 1172, - 1282, 789, 789, 789, 789, 105, 914, 915, 1308, 1308, - 1308, 1308, 1318, 1315, 1287, 105, 105, 1288, 1323, 105, - 1331, 1193, 1319, 1287, 1193, 1324, 1288, 791, 792, 105, - 105, 1194, 105, 105, 1320, 105, 105, 1325, 1296, 1328, - 1327, 105, 1334, 105, 1335, 1339, 105, 1336, 1337, 164, - 1326, 1347, 1343, 105, 1333, 1348, 1332, 114, 105, 105, - 105, 728, 1352, 1338, 1340, 105, 373, 1353, 1367, 1369, - 105, 105, 105, 105, 105, 105, 1371, 729, 1680, 731, - 105, 373, 1309, 1349, 1387, 105, 1368, 1372, 1370, 1310, - - 490, 490, 490, 490, 547, 547, 547, 547, 1240, 1240, - 1240, 1240, 1249, 1249, 1249, 1249, 1240, 1240, 1240, 1240, - 105, 105, 1249, 1249, 1249, 1249, 105, 1373, 105, 1261, - 1261, 1261, 1261, 105, 105, 105, 1376, 1385, 105, 1374, - 105, 1375, 1261, 1261, 1261, 1261, 105, 1390, 1386, 1388, - 105, 1389, 1395, 1392, 1392, 1392, 1392, 1682, 1391, 105, - 105, 114, 1281, 1281, 1281, 1281, 105, 1404, 105, 1413, - 1397, 1403, 1281, 1281, 1281, 1281, 105, 105, 105, 1416, - 1406, 105, 1405, 105, 1414, 105, 1365, 105, 105, 1357, - 1398, 1358, 1417, 1366, 105, 1418, 1365, 1357, 1680, 1358, - - 1427, 1415, 105, 1366, 1295, 1295, 1295, 1295, 105, 105, - 1379, 1435, 1380, 105, 1426, 105, 1295, 1295, 1295, 1295, - 105, 1428, 1432, 1379, 1393, 1380, 912, 912, 912, 912, - 1768, 105, 1769, 1401, 1308, 1308, 1308, 1308, 1308, 1308, - 1308, 1308, 1438, 1401, 1439, 1436, 1437, 1429, 1429, 1429, - 1429, 1456, 914, 915, 1433, 1433, 1433, 1433, 105, 1445, - 105, 1446, 105, 1447, 1453, 105, 1434, 1454, 1440, 1441, - 1442, 1457, 1443, 105, 1455, 1412, 1458, 114, 105, 105, - 105, 105, 1448, 1449, 1450, 1475, 1451, 1412, 1472, 105, - 105, 1459, 1444, 1460, 1461, 105, 105, 105, 1465, 1466, - - 1490, 373, 1487, 105, 105, 105, 1452, 105, 1422, 105, - 105, 1491, 1422, 105, 1467, 1423, 105, 105, 1430, 1423, - 1770, 1431, 1489, 1488, 105, 162, 162, 1494, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 105, 1468, 655, 655, 655, 655, - 105, 105, 162, 162, 162, 162, 162, 162, 1492, 1492, - 1492, 1492, 1541, 1507, 1495, 105, 1496, 1392, 1392, 1392, - 1392, 105, 1506, 105, 105, 105, 1505, 1508, 1392, 1392, - 1392, 1392, 105, 105, 162, 164, 162, 162, 1509, 1510, - 105, 1513, 105, 105, 105, 1771, 1518, 1519, 105, 1590, - - 105, 1512, 1521, 1521, 1521, 1521, 1529, 1529, 1529, 1529, - 105, 105, 105, 1520, 1531, 162, 373, 1532, 1533, 105, - 105, 1429, 1429, 1429, 1429, 1542, 105, 1543, 1429, 1429, - 1429, 1429, 1493, 1544, 1546, 1546, 1546, 1546, 1504, 105, - 1774, 1545, 1433, 1433, 1433, 1433, 105, 1548, 1548, 1504, - 1548, 105, 1553, 1555, 1434, 1552, 1556, 1550, 1549, 105, - 1554, 1557, 1568, 1558, 105, 105, 1559, 105, 105, 1563, - 1560, 105, 1564, 1522, 105, 105, 1561, 105, 1562, 105, - 1530, 105, 1565, 1566, 105, 1567, 1569, 105, 105, 105, - 105, 105, 1538, 1574, 1575, 1539, 105, 1775, 1571, 1538, - - 105, 105, 1539, 1570, 105, 1547, 1572, 105, 105, 1576, - 1589, 370, 1592, 105, 105, 105, 1573, 1492, 1492, 1492, - 1492, 105, 1608, 1604, 105, 1605, 105, 1603, 1624, 1606, - 1492, 1492, 1492, 1492, 105, 1776, 105, 373, 1616, 1655, - 1577, 1579, 1579, 1580, 1579, 1579, 1579, 1579, 1579, 1579, - 1579, 1579, 162, 1579, 1579, 1579, 1579, 1579, 1579, 1579, - 105, 105, 105, 105, 105, 105, 105, 105, 1579, 1579, - 1579, 1579, 1579, 1579, 1618, 1607, 1617, 105, 1636, 1609, - 1619, 1619, 1619, 1619, 105, 105, 1622, 1649, 1646, 1621, - 1630, 1599, 1521, 1521, 1521, 1521, 1625, 105, 105, 1657, - - 1579, 1582, 1579, 1579, 1599, 1521, 1521, 1521, 1521, 105, - 1658, 1631, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, - 1637, 1637, 1637, 1637, 1546, 1546, 1546, 1546, 105, 105, - 105, 1579, 105, 105, 105, 1659, 1647, 1546, 1546, 1546, - 1546, 105, 105, 105, 105, 1660, 1650, 1651, 1648, 1548, - 1548, 1620, 1548, 105, 105, 1777, 1652, 1654, 1653, 105, - 1549, 105, 1656, 1629, 1661, 105, 105, 105, 1663, 1664, - 105, 1665, 1662, 105, 1666, 105, 1629, 105, 1667, 105, - 1668, 105, 105, 105, 1669, 1672, 1632, 105, 1779, 1670, - 1632, 1638, 162, 1686, 105, 1645, 105, 1671, 105, 1701, - - 105, 1673, 1692, 916, 916, 916, 916, 1702, 1645, 1683, - 1683, 1580, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1679, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 373, 105, - 105, 917, 105, 1703, 1784, 105, 1683, 1683, 1683, 1683, - 1683, 1683, 1715, 1785, 1704, 1705, 1705, 1705, 1705, 105, - 1680, 1786, 1707, 1619, 1619, 1619, 1619, 105, 1619, 1619, - 1619, 1619, 1714, 1716, 105, 105, 105, 1787, 1683, 1685, - 1683, 1683, 105, 105, 105, 105, 1717, 1721, 1637, 1637, - 1637, 1637, 105, 105, 1718, 1722, 1736, 105, 1725, 1637, - 1637, 1637, 1637, 1739, 1737, 1738, 1726, 105, 1740, 1683, - - 1734, 1734, 1734, 1734, 105, 105, 105, 105, 105, 1744, - 105, 105, 105, 1745, 105, 1746, 105, 1741, 105, 1706, - 105, 1747, 1742, 1743, 1711, 105, 1748, 105, 1752, 1711, - 1753, 1749, 1750, 105, 105, 105, 1754, 1755, 1751, 1757, - 105, 105, 105, 1760, 162, 1759, 1793, 1758, 1794, 1724, - 1679, 1766, 1773, 1756, 1681, 1767, 105, 105, 105, 105, - 1724, 105, 105, 1705, 1705, 1705, 1705, 105, 1782, 105, - 1781, 1780, 105, 1783, 1735, 1679, 1766, 105, 1795, 1790, - 373, 1705, 1705, 1705, 1705, 105, 1789, 1796, 105, 1788, - 1791, 1791, 1791, 1791, 1800, 1797, 1734, 1734, 1734, 1734, - - 1801, 1802, 1680, 1734, 1734, 1734, 1734, 105, 1680, 105, - 105, 1806, 1682, 1683, 1683, 1580, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1679, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 105, 1680, 105, 1808, 105, 1778, 105, 105, - 1683, 1683, 1683, 1683, 1683, 1683, 105, 1803, 1804, 1804, - 1804, 1804, 105, 105, 1798, 1778, 105, 1811, 1807, 105, - 1823, 1792, 105, 105, 105, 105, 105, 105, 105, 105, - 1799, 1809, 1683, 1685, 1683, 1683, 105, 1799, 1810, 105, - 1812, 1815, 1813, 1814, 1816, 1818, 1819, 105, 105, 105, - 105, 1817, 1826, 1827, 1828, 1829, 1679, 1820, 1681, 1824, - - 1831, 1832, 1833, 1683, 1822, 1821, 1834, 1835, 1825, 1836, - 105, 1837, 1838, 1839, 105, 105, 105, 105, 1842, 1805, - 1840, 1843, 1844, 105, 105, 105, 373, 1791, 1791, 1791, - 1791, 1841, 105, 1791, 1791, 1791, 1791, 1846, 1848, 1847, - 1849, 105, 105, 1850, 1804, 1804, 1804, 1804, 105, 1804, - 1804, 1804, 1804, 105, 1680, 105, 1682, 105, 1854, 105, - 105, 105, 1852, 105, 105, 105, 105, 1853, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 1868, 1857, 1855, - 1858, 1859, 105, 1860, 1856, 1865, 1861, 1862, 1863, 1864, - 1866, 105, 1869, 1870, 1871, 1872, 1867, 1873, 1845, 1874, - - 1875, 373, 1876, 1877, 1845, 105, 105, 1880, 1881, 1878, - 105, 105, 1884, 1879, 1882, 1851, 1885, 105, 105, 105, - 1851, 105, 105, 105, 1886, 105, 105, 105, 105, 105, - 1889, 1883, 105, 105, 105, 105, 1892, 1888, 1887, 1890, - 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, - 1903, 105, 1891, 105, 1904, 1905, 105, 105, 105, 1906, - 1907, 105, 105, 105, 105, 105, 105, 105, 105, 1913, - 1910, 1914, 1915, 1916, 1917, 1919, 1920, 1921, 1908, 105, - 105, 1911, 105, 1909, 105, 105, 1926, 1912, 105, 1922, - 1923, 1924, 1927, 1928, 1929, 105, 1933, 105, 1935, 1938, - - 105, 1940, 105, 105, 1942, 1943, 1944, 105, 105, 1946, - 1932, 1945, 105, 1948, 105, 1934, 1939, 105, 1941, 105, - 105, 105, 1951, 105, 105, 105, 105, 973, 1047, 1171, - 1713, 1712, 1710, 1709, 1708, 1949, 1952, 105, 1953, 1700, - 1954, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 68, 68, 68, 68, 1699, 68, 68, 68, - 68, 68, 68, 74, 74, 74, 1698, 1697, 1696, 1695, - 1694, 105, 74, 91, 91, 1693, 373, 91, 95, 95, - 1089, 1691, 95, 103, 1690, 1689, 103, 162, 162, 1688, - 162, 162, 162, 162, 162, 162, 162, 162, 172, 172, - - 1687, 172, 180, 180, 1682, 180, 180, 180, 180, 180, - 180, 180, 180, 182, 1680, 1678, 182, 184, 184, 1677, - 1676, 184, 254, 254, 1675, 254, 254, 254, 254, 254, - 254, 254, 254, 268, 1674, 105, 268, 346, 346, 105, - 346, 346, 346, 346, 346, 346, 346, 346, 367, 1644, - 1643, 367, 368, 1642, 1641, 368, 577, 577, 1640, 577, - 577, 577, 577, 577, 577, 577, 577, 578, 578, 1639, - 578, 578, 578, 578, 578, 578, 578, 578, 602, 602, - 105, 105, 1635, 1634, 1633, 105, 105, 602, 659, 659, - 1628, 1627, 1626, 1623, 1615, 1614, 1613, 659, 664, 664, - - 1612, 1611, 664, 1610, 664, 105, 105, 664, 690, 690, - 1602, 690, 690, 690, 690, 690, 690, 690, 690, 691, - 691, 1601, 691, 691, 691, 691, 691, 691, 691, 691, - 722, 722, 1600, 1598, 1597, 1596, 722, 722, 722, 722, - 786, 786, 1595, 1594, 1593, 1591, 1588, 1587, 1586, 786, - 790, 790, 1585, 1584, 1583, 1578, 790, 790, 790, 790, - 913, 913, 105, 105, 105, 1540, 913, 913, 913, 913, - 955, 955, 1537, 955, 955, 955, 955, 955, 955, 955, - 955, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1082, 1082, 1536, 1082, 1082, 1082, 1082, 1082, - - 1082, 1082, 1082, 1100, 1100, 1535, 1534, 105, 105, 1100, - 1100, 1100, 1100, 1173, 1173, 1528, 1527, 1526, 1525, 1173, - 1173, 1173, 1173, 1300, 1300, 1524, 1523, 1517, 1516, 1300, - 1300, 1300, 1300, 1321, 1321, 1321, 1321, 1321, 1321, 1321, - 1321, 1321, 1321, 1321, 1464, 1464, 1515, 1464, 1464, 1464, - 1464, 1464, 1464, 1464, 1464, 1581, 1581, 1581, 1581, 1581, - 1581, 1581, 1581, 1581, 1581, 1581, 1679, 1679, 1514, 1679, - 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1681, 1681, 1511, - 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1684, 1684, - 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1772, - - 1772, 1395, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, - 1830, 1830, 105, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1918, 1918, 105, 1918, 1918, 1918, 1918, 1918, 1918, - 1918, 1918, 1925, 1925, 1503, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1930, 1930, 1502, 1930, 1930, 1930, 1930, - 1930, 1930, 1930, 1930, 1931, 1931, 1501, 1931, 1931, 1931, - 1931, 1931, 1931, 1931, 1931, 1936, 1936, 1500, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1937, 1937, 1499, 1937, - 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1947, 1947, 1498, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1950, 1950, - - 1497, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 105, - 1486, 1485, 1484, 1483, 1482, 1481, 1480, 1479, 1478, 1477, - 1476, 105, 1474, 1473, 1471, 1470, 1469, 1463, 1462, 105, - 105, 105, 105, 105, 105, 1322, 105, 105, 1425, 1424, - 1421, 1420, 1419, 1411, 1410, 1409, 1408, 1407, 1402, 1400, - 1399, 1273, 1396, 1394, 1384, 1383, 1382, 1381, 1378, 1377, - 1364, 1363, 1362, 1361, 1360, 1359, 1356, 1355, 105, 105, - 1354, 1351, 1350, 1346, 1345, 1344, 1342, 1341, 105, 105, - 1322, 105, 1313, 1305, 1304, 1303, 1302, 1301, 1299, 654, - 1298, 1297, 105, 1289, 1286, 1285, 1284, 1278, 1277, 1276, - - 1275, 1274, 1272, 1270, 1268, 1258, 1256, 1255, 1254, 1253, - 1252, 1239, 1238, 1237, 1236, 1235, 1234, 1233, 1232, 1231, - 1230, 1229, 1228, 1225, 1222, 1221, 1220, 1217, 1216, 1215, - 1213, 1212, 1184, 1178, 1177, 1176, 1175, 1174, 1046, 1170, - 1169, 1168, 1167, 105, 1158, 1157, 1154, 1153, 1148, 1147, - 1146, 1145, 1142, 1138, 105, 1129, 1128, 1127, 1126, 1125, - 1124, 1123, 1122, 1113, 1110, 1109, 1108, 1107, 1106, 1105, - 1104, 1103, 1102, 105, 105, 1098, 1097, 1094, 1093, 373, - 373, 1089, 1088, 1087, 1086, 1084, 1083, 105, 1058, 1046, - 1044, 1043, 1042, 1041, 1040, 1031, 1030, 1029, 1028, 1027, - - 1022, 1021, 1016, 1012, 105, 1003, 1002, 998, 997, 996, - 986, 985, 982, 981, 980, 979, 978, 977, 976, 970, - 969, 966, 965, 959, 958, 957, 956, 953, 952, 951, - 105, 918, 105, 911, 910, 909, 908, 901, 900, 899, - 898, 897, 891, 890, 889, 105, 886, 105, 872, 871, - 870, 867, 858, 857, 856, 852, 851, 850, 849, 105, - 846, 843, 842, 836, 833, 105, 173, 829, 828, 827, - 826, 825, 823, 822, 821, 426, 105, 105, 785, 784, - 783, 782, 105, 766, 765, 764, 105, 105, 747, 746, - 745, 744, 743, 105, 735, 734, 733, 732, 726, 718, - - 717, 105, 105, 697, 696, 695, 694, 693, 689, 688, - 687, 105, 653, 652, 651, 650, 105, 105, 620, 619, - 618, 617, 616, 610, 609, 608, 607, 105, 105, 105, - 105, 599, 598, 105, 105, 580, 579, 576, 575, 574, - 572, 571, 570, 105, 537, 105, 504, 501, 105, 105, - 105, 373, 469, 465, 464, 463, 462, 461, 457, 456, - 426, 423, 105, 105, 105, 187, 360, 356, 355, 354, - 353, 345, 307, 105, 281, 276, 275, 264, 260, 173, - 164, 167, 251, 250, 226, 197, 105, 190, 189, 179, - 178, 177, 173, 169, 167, 113, 105, 100, 97, 85, - - 69, 65, 61, 1955, 3, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955 - + 4, 5, 6, 7, 7, 5, 8, 9, 4, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 21, 21, 21, 21, 21, 21, 22, 23, 24, + 25, 4, 26, 27, 28, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 29, 27, + 27, 27, 27, 30, 31, 27, 27, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 27, 27, + 43, 27, 27, 44, 45, 46, 47, 48, 27, 49, + 50, 51, 52, 53, 27, 54, 27, 27, 55, 56, + 57, 62, 58, 56, 65, 62, 59, 68, 72, 72, + + 80, 72, 72, 108, 82, 88, 60, 73, 106, 89, + 105, 74, 99, 100, 81, 107, 69, 83, 84, 61, + 90, 102, 103, 109, 106, 111, 112, 85, 113, 75, + 86, 77, 87, 87, 87, 87, 87, 87, 87, 87, + 106, 106, 156, 171, 106, 66, 106, 106, 106, 285, + 91, 78, 92, 92, 92, 92, 92, 92, 92, 92, + 128, 133, 132, 172, 106, 65, 129, 106, 91, 93, + 95, 95, 95, 95, 95, 95, 95, 95, 116, 110, + 106, 106, 155, 106, 194, 117, 106, 97, 94, 106, + 118, 120, 106, 167, 126, 121, 119, 106, 122, 93, + + 130, 157, 123, 106, 127, 131, 106, 134, 106, 106, + 140, 135, 124, 141, 142, 62, 66, 97, 94, 62, + 106, 136, 125, 106, 137, 106, 138, 139, 143, 144, + 147, 88, 106, 148, 168, 165, 171, 150, 169, 145, + 146, 152, 151, 171, 66, 189, 90, 153, 173, 174, + 149, 191, 154, 158, 159, 65, 159, 158, 72, 72, + 160, 72, 72, 190, 106, 207, 106, 73, 193, 106, + 161, 74, 106, 87, 87, 87, 87, 87, 87, 87, + 87, 71, 106, 162, 195, 71, 203, 106, 106, 75, + 178, 77, 87, 87, 87, 87, 87, 87, 87, 87, + + 106, 106, 106, 106, 208, 106, 66, 204, 106, 181, + 91, 78, 92, 92, 92, 92, 92, 92, 92, 92, + 178, 205, 106, 206, 232, 221, 184, 184, 106, 183, + 185, 185, 185, 185, 185, 185, 185, 185, 91, 181, + 95, 95, 95, 95, 95, 95, 95, 95, 106, 212, + 259, 260, 106, 227, 106, 282, 332, 97, 1115, 183, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 184, 184, + 1115, 190, 185, 185, 185, 185, 185, 185, 185, 185, + 190, 192, 106, 106, 106, 106, 106, 97, 1106, 106, + 106, 106, 297, 106, 211, 106, 106, 209, 210, 213, + + 106, 217, 218, 222, 214, 106, 196, 219, 197, 198, + 223, 199, 106, 106, 200, 220, 215, 106, 106, 106, + 216, 106, 106, 106, 201, 202, 224, 106, 230, 233, + 236, 234, 106, 106, 231, 225, 235, 226, 229, 106, + 239, 238, 106, 240, 106, 243, 242, 106, 106, 237, + 106, 106, 256, 245, 106, 168, 247, 241, 244, 249, + 171, 171, 250, 246, 171, 251, 248, 158, 159, 252, + 159, 158, 272, 163, 160, 254, 263, 262, 106, 264, + 257, 106, 106, 258, 161, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 277, 271, 274, 283, 162, 106, 265, + + 265, 278, 71, 266, 266, 266, 266, 266, 266, 266, + 266, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 106, + 106, 273, 106, 106, 320, 281, 267, 267, 106, 164, + 268, 268, 268, 268, 268, 268, 268, 268, 1115, 106, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 184, 184, + 1115, 413, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, + 186, 186, 186, 186, 106, 106, 106, 106, 279, 186, + 186, 186, 186, 186, 186, 106, 280, 106, 288, 290, + + 106, 287, 106, 106, 296, 284, 106, 106, 295, 106, + 106, 106, 289, 291, 106, 300, 293, 106, 303, 186, + 186, 186, 186, 186, 186, 292, 294, 298, 106, 299, + 106, 301, 106, 302, 106, 106, 306, 106, 106, 190, + 106, 305, 307, 106, 106, 106, 106, 106, 106, 106, + 304, 106, 322, 315, 106, 106, 309, 314, 311, 319, + 106, 316, 318, 106, 106, 312, 313, 317, 106, 310, + 326, 321, 323, 327, 106, 106, 325, 106, 106, 106, + 333, 163, 351, 171, 324, 171, 106, 329, 348, 328, + 359, 330, 357, 171, 334, 331, 335, 336, 106, 337, + + 352, 338, 375, 362, 1103, 363, 339, 360, 106, 358, + 361, 340, 341, 342, 343, 344, 349, 1115, 1115, 350, + 1115, 1115, 106, 106, 106, 106, 73, 106, 369, 106, + 74, 106, 370, 106, 106, 106, 372, 164, 376, 391, + 397, 345, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 368, 365, 106, 106, 190, 1115, 1115, 1115, 1115, 1115, + + 1115, 366, 106, 106, 106, 106, 190, 106, 106, 1102, + 371, 106, 367, 374, 106, 106, 386, 378, 106, 106, + 381, 373, 106, 379, 385, 1115, 1115, 1115, 1115, 1115, + 1115, 106, 106, 380, 384, 382, 377, 106, 383, 106, + 106, 106, 106, 392, 190, 106, 395, 106, 106, 398, + 387, 106, 106, 389, 390, 106, 399, 388, 106, 106, + 1098, 393, 106, 106, 396, 106, 404, 400, 407, 106, + 405, 401, 106, 106, 394, 402, 410, 106, 106, 403, + 411, 408, 414, 106, 106, 412, 106, 106, 106, 106, + 106, 417, 415, 418, 106, 422, 106, 416, 106, 106, + + 106, 424, 425, 421, 427, 106, 106, 106, 419, 420, + 106, 106, 190, 439, 423, 426, 431, 435, 440, 428, + 430, 171, 171, 171, 449, 432, 450, 451, 447, 452, + 429, 433, 455, 454, 106, 436, 456, 106, 106, 446, + 457, 106, 434, 448, 106, 106, 106, 106, 106, 459, + 460, 106, 463, 106, 106, 106, 106, 106, 464, 106, + 106, 106, 458, 461, 467, 462, 106, 106, 106, 106, + 472, 469, 465, 470, 106, 106, 466, 106, 471, 475, + 106, 474, 106, 476, 106, 106, 106, 106, 106, 473, + 106, 481, 477, 106, 106, 106, 483, 484, 106, 106, + + 478, 106, 479, 486, 190, 488, 480, 482, 492, 106, + 106, 487, 491, 106, 493, 485, 106, 495, 494, 106, + 497, 498, 106, 499, 106, 106, 501, 106, 106, 106, + 106, 106, 106, 496, 507, 106, 502, 106, 500, 106, + 106, 106, 106, 503, 106, 510, 106, 505, 512, 489, + 504, 513, 506, 106, 106, 508, 511, 509, 515, 517, + 514, 171, 171, 171, 518, 532, 533, 530, 534, 535, + 516, 536, 538, 539, 537, 106, 531, 106, 106, 106, + 106, 106, 106, 542, 540, 529, 106, 106, 545, 544, + 190, 541, 106, 546, 1095, 106, 106, 106, 106, 543, + + 106, 106, 106, 547, 106, 549, 106, 550, 106, 553, + 106, 552, 106, 106, 106, 106, 106, 551, 548, 558, + 558, 556, 558, 558, 106, 554, 106, 555, 106, 559, + 190, 560, 557, 106, 106, 106, 106, 106, 106, 106, + 570, 572, 106, 576, 106, 106, 589, 561, 571, 573, + 574, 575, 578, 569, 579, 106, 583, 106, 580, 577, + 106, 581, 106, 591, 106, 106, 171, 590, 611, 106, + 582, 106, 610, 606, 628, 562, 593, 106, 106, 106, + 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, + 567, 567, 567, 567, 567, 567, 567, 567, 567, 568, + + 568, 568, 568, 568, 568, 568, 568, 567, 567, 567, + 567, 567, 106, 594, 171, 584, 106, 607, 607, 613, + 607, 607, 615, 614, 1089, 585, 612, 586, 618, 106, + 608, 587, 616, 106, 588, 592, 605, 567, 567, 567, + 567, 106, 106, 171, 106, 106, 106, 106, 106, 619, + 106, 106, 617, 106, 620, 106, 621, 106, 622, 106, + 623, 632, 632, 609, 632, 632, 106, 773, 567, 558, + 558, 633, 558, 558, 106, 625, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 627, 627, 627, 627, 627, + + 627, 627, 627, 626, 626, 626, 626, 626, 106, 106, + 106, 106, 106, 106, 190, 643, 644, 645, 106, 106, + 648, 106, 106, 646, 647, 106, 629, 635, 636, 106, + 650, 106, 702, 626, 626, 626, 626, 637, 637, 106, + 637, 637, 639, 649, 106, 106, 651, 106, 634, 106, + 653, 652, 106, 657, 106, 106, 658, 106, 106, 656, + 660, 669, 691, 638, 626, 630, 630, 630, 630, 630, + 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + 630, 630, 630, 630, 631, 631, 631, 631, 631, 631, + 631, 631, 630, 630, 630, 630, 630, 106, 106, 106, + + 106, 106, 106, 171, 662, 106, 694, 663, 106, 681, + 106, 664, 171, 684, 654, 539, 665, 667, 655, 666, + 659, 661, 630, 630, 630, 630, 668, 679, 106, 106, + 607, 607, 678, 607, 607, 539, 106, 106, 106, 106, + 106, 106, 106, 608, 190, 106, 106, 106, 698, 106, + 541, 685, 541, 630, 686, 106, 106, 106, 683, 714, + 687, 689, 632, 632, 693, 632, 632, 637, 637, 106, + 637, 637, 688, 699, 106, 106, 106, 700, 701, 704, + 106, 106, 106, 707, 106, 705, 706, 708, 106, 106, + 106, 106, 703, 638, 711, 106, 715, 106, 709, 106, + + 717, 106, 106, 720, 716, 718, 190, 710, 712, 713, + 607, 607, 106, 607, 607, 731, 106, 719, 1088, 733, + 729, 106, 106, 608, 607, 607, 106, 607, 607, 730, + 106, 106, 732, 106, 106, 106, 171, 608, 541, 106, + 106, 690, 734, 106, 735, 541, 106, 106, 737, 737, + 171, 737, 737, 106, 740, 106, 609, 745, 739, 106, + 744, 106, 106, 106, 746, 747, 748, 751, 106, 106, + 609, 749, 106, 106, 106, 750, 106, 754, 106, 106, + 106, 752, 755, 760, 106, 757, 106, 753, 106, 106, + 106, 774, 106, 758, 756, 763, 106, 106, 106, 759, + + 762, 775, 106, 765, 785, 106, 761, 764, 106, 737, + 737, 776, 737, 737, 106, 786, 106, 106, 780, 790, + 787, 106, 781, 106, 106, 106, 789, 106, 106, 106, + 106, 794, 788, 106, 106, 798, 106, 814, 106, 791, + 806, 792, 793, 795, 799, 796, 800, 797, 106, 801, + 802, 106, 106, 106, 803, 361, 106, 804, 805, 815, + 106, 824, 106, 826, 106, 106, 106, 106, 808, 106, + 106, 106, 807, 106, 828, 830, 817, 106, 832, 106, + 106, 836, 837, 829, 827, 106, 834, 825, 778, 838, + 831, 106, 106, 106, 106, 833, 841, 846, 842, 853, + + 835, 843, 844, 106, 854, 190, 839, 858, 858, 106, + 858, 858, 840, 106, 845, 190, 106, 106, 863, 861, + 878, 847, 106, 879, 106, 864, 881, 106, 882, 106, + 855, 106, 870, 859, 862, 106, 871, 106, 872, 883, + 106, 190, 106, 860, 865, 866, 867, 106, 868, 106, + 873, 874, 875, 106, 876, 106, 880, 106, 106, 106, + 896, 106, 106, 1087, 885, 886, 106, 869, 106, 889, + 890, 106, 106, 877, 910, 884, 901, 106, 897, 897, + 106, 897, 897, 905, 106, 891, 106, 900, 858, 858, + 106, 858, 858, 106, 903, 906, 902, 106, 904, 907, + + 106, 908, 106, 909, 898, 106, 911, 106, 912, 913, + 914, 915, 106, 916, 859, 892, 106, 918, 106, 106, + 917, 919, 106, 106, 106, 106, 106, 106, 106, 936, + 106, 106, 921, 106, 923, 924, 925, 920, 106, 922, + 935, 190, 993, 897, 897, 106, 897, 897, 939, 106, + 938, 926, 106, 106, 940, 941, 942, 106, 106, 106, + 106, 943, 106, 944, 106, 945, 106, 106, 946, 898, + 106, 106, 106, 947, 949, 950, 948, 106, 951, 106, + 952, 927, 106, 953, 106, 954, 106, 106, 106, 955, + 106, 106, 970, 971, 971, 106, 971, 971, 106, 974, + + 106, 956, 957, 106, 975, 959, 106, 106, 958, 978, + 979, 106, 106, 983, 980, 973, 106, 106, 976, 972, + 106, 977, 106, 981, 106, 106, 106, 106, 986, 987, + 982, 106, 106, 991, 988, 989, 106, 106, 994, 1005, + 984, 106, 985, 992, 106, 990, 106, 1006, 971, 971, + 106, 971, 971, 106, 106, 106, 1008, 106, 1007, 1009, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 1022, 1010, 1011, 972, 1012, 1014, 1015, 1013, 1016, + 106, 1017, 106, 1018, 1021, 1019, 1020, 1034, 106, 1023, + 106, 1035, 106, 106, 106, 106, 106, 1086, 106, 106, + + 106, 106, 1024, 106, 1045, 106, 106, 1037, 1038, 1039, + 1040, 1041, 1036, 1042, 1043, 1044, 106, 1046, 106, 106, + 106, 1047, 106, 1059, 1056, 1060, 106, 1057, 106, 106, + 106, 1073, 106, 106, 1093, 1069, 106, 1058, 1083, 1084, + 106, 1082, 106, 1071, 106, 1070, 106, 106, 1100, 1072, + 106, 106, 1104, 106, 106, 1092, 1105, 106, 1108, 106, + 1099, 106, 1094, 106, 1111, 1101, 106, 106, 106, 106, + 1081, 1080, 1109, 1079, 1112, 1077, 1076, 1075, 1074, 1068, + 1067, 1113, 1114, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 70, 70, 70, 1066, 70, 70, 70, 70, + + 70, 76, 76, 1065, 1064, 1063, 1062, 76, 76, 96, + 96, 1061, 96, 96, 104, 106, 104, 104, 163, 163, + 106, 163, 163, 163, 163, 163, 163, 170, 170, 170, + 170, 177, 106, 177, 177, 179, 179, 106, 179, 179, + 179, 179, 179, 179, 180, 106, 180, 180, 182, 182, + 106, 182, 182, 186, 106, 186, 255, 255, 106, 255, + 255, 255, 255, 255, 255, 269, 106, 269, 269, 270, + 1055, 270, 270, 347, 347, 1054, 347, 347, 347, 347, + 347, 347, 364, 364, 453, 1053, 453, 453, 525, 525, + 1052, 525, 525, 525, 525, 525, 525, 526, 526, 1051, + + 526, 526, 526, 526, 526, 526, 598, 598, 1050, 598, + 598, 598, 598, 598, 598, 599, 599, 1049, 599, 599, + 599, 599, 599, 599, 724, 724, 1048, 724, 724, 724, + 724, 724, 724, 766, 766, 106, 766, 766, 766, 766, + 766, 766, 567, 567, 567, 567, 567, 567, 567, 626, + 626, 626, 626, 626, 626, 626, 630, 630, 630, 630, + 630, 630, 630, 1004, 1004, 106, 1004, 1004, 1004, 1004, + 1004, 1004, 1029, 1029, 106, 1029, 1029, 1029, 1029, 1029, + 1029, 1078, 1078, 106, 1078, 1078, 1078, 1078, 1078, 1078, + 1085, 1085, 106, 1085, 1085, 1085, 1085, 1085, 1085, 1090, + + 1090, 106, 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091, + 1033, 1091, 1091, 1091, 1091, 1091, 1091, 1096, 1096, 1032, + 1096, 1096, 1096, 1096, 1096, 1096, 1097, 1097, 1031, 1097, + 1097, 1097, 1097, 1097, 1097, 1107, 1107, 1030, 1107, 1107, + 1107, 1107, 1107, 1107, 1110, 1110, 1028, 1110, 1110, 1110, + 1110, 1110, 1110, 1027, 1026, 1025, 106, 106, 106, 1003, + 1002, 1001, 1000, 999, 998, 997, 996, 995, 106, 106, + 772, 969, 968, 967, 966, 965, 964, 963, 962, 961, + 960, 106, 106, 937, 934, 933, 932, 931, 930, 929, + 928, 106, 106, 106, 899, 895, 894, 893, 888, 887, + + 106, 106, 106, 106, 106, 106, 106, 857, 856, 106, + 852, 851, 850, 849, 848, 106, 106, 106, 823, 822, + 106, 821, 820, 819, 818, 816, 813, 812, 811, 810, + 809, 106, 784, 783, 782, 779, 777, 106, 106, 106, + 772, 771, 770, 769, 768, 767, 106, 743, 742, 741, + 738, 736, 106, 728, 727, 726, 725, 723, 722, 721, + 106, 106, 106, 106, 697, 696, 695, 106, 692, 106, + 106, 106, 106, 682, 680, 106, 106, 171, 677, 676, + 675, 674, 673, 672, 671, 670, 409, 106, 106, 106, + 642, 641, 640, 106, 106, 624, 106, 106, 106, 604, + + 603, 602, 601, 600, 597, 596, 595, 106, 106, 566, + 565, 564, 563, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 528, 527, 524, 523, 522, 521, 520, + 519, 106, 106, 106, 490, 106, 106, 106, 468, 106, + 106, 106, 445, 444, 443, 442, 441, 438, 437, 106, + 409, 406, 106, 106, 106, 106, 106, 356, 355, 354, + 353, 346, 308, 106, 106, 286, 276, 275, 261, 171, + 164, 166, 253, 164, 228, 112, 106, 188, 187, 176, + 175, 171, 166, 164, 115, 114, 106, 101, 98, 79, + 71, 67, 63, 1115, 3, 1115, 1115, 1115, 1115, 1115, + + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115 } ; -static yyconst flex_int16_t yy_chk[4697] = +static yyconst flex_int16_t yy_chk[2685] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1629,533 +1125,307 @@ static yyconst flex_int16_t yy_chk[4697] = 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, 2, 2, 8, 10, 2, 12, 12, - - 12, 12, 14, 14, 14, 14, 12, 15, 2, 25, - 12, 16, 22, 22, 24, 24, 18, 10, 27, 32, - 32, 18, 2, 15, 25, 16, 16, 28, 30, 1616, - 12, 14, 12, 18, 19, 29, 19, 19, 19, 19, - 19, 19, 19, 19, 35, 44, 29, 28, 27, 8, - 30, 20, 12, 20, 20, 20, 20, 20, 20, 20, - 20, 36, 37, 39, 38, 54, 44, 14, 39, 40, - 35, 37, 38, 19, 41, 36, 38, 37, 39, 38, - 19, 42, 36, 40, 43, 48, 41, 62, 39, 46, - 48, 47, 41, 40, 64, 42, 68, 20, 50, 43, - - 42, 45, 45, 50, 19, 46, 45, 46, 46, 47, - 49, 52, 47, 51, 58, 69, 45, 58, 49, 49, - 52, 53, 104, 50, 108, 54, 52, 51, 59, 49, - 49, 52, 51, 59, 73, 1622, 53, 55, 55, 55, - 55, 62, 76, 55, 104, 59, 68, 75, 64, 70, - 70, 70, 70, 75, 55, 73, 76, 70, 91, 93, - 108, 70, 116, 106, 125, 69, 116, 105, 55, 77, - 77, 77, 77, 58, 120, 120, 121, 121, 125, 93, - 58, 70, 106, 70, 89, 89, 89, 89, 89, 89, - 89, 89, 90, 105, 90, 90, 90, 90, 90, 90, - - 90, 90, 89, 70, 91, 93, 94, 193, 94, 94, - 94, 94, 94, 94, 94, 94, 95, 119, 95, 95, - 95, 95, 95, 95, 95, 95, 132, 107, 114, 109, - 117, 118, 119, 89, 77, 114, 193, 107, 90, 92, - 132, 92, 92, 92, 92, 92, 92, 92, 92, 109, - 117, 118, 94, 107, 110, 92, 92, 92, 92, 92, - 92, 96, 95, 96, 96, 96, 96, 96, 96, 96, - 96, 110, 123, 115, 124, 126, 167, 167, 127, 122, - 1623, 96, 128, 131, 123, 92, 92, 92, 92, 92, - 92, 92, 122, 122, 127, 124, 126, 128, 127, 115, - - 115, 129, 130, 131, 133, 134, 135, 96, 115, 220, - 129, 136, 137, 139, 130, 153, 220, 137, 134, 140, - 143, 141, 130, 141, 133, 144, 153, 145, 140, 135, - 142, 136, 144, 139, 140, 143, 145, 142, 148, 142, - 146, 146, 147, 149, 146, 151, 154, 150, 152, 168, - 159, 144, 149, 159, 148, 147, 150, 152, 146, 166, - 152, 171, 149, 151, 154, 157, 157, 157, 157, 163, - 165, 157, 163, 164, 164, 191, 174, 175, 165, 176, - 192, 200, 157, 196, 199, 198, 207, 187, 206, 166, - 174, 202, 166, 204, 175, 200, 157, 212, 176, 192, - - 198, 191, 207, 168, 199, 204, 202, 206, 208, 159, - 212, 171, 205, 196, 203, 203, 159, 1627, 181, 181, - 181, 181, 181, 181, 181, 181, 187, 208, 163, 203, - 205, 164, 210, 187, 210, 163, 181, 182, 182, 182, - 182, 182, 182, 182, 182, 183, 240, 183, 211, 211, - 183, 183, 183, 183, 183, 183, 183, 183, 209, 214, - 215, 215, 240, 209, 214, 213, 184, 181, 184, 184, - 184, 184, 184, 184, 184, 184, 185, 213, 185, 185, - 185, 185, 185, 185, 185, 185, 216, 221, 221, 217, - 219, 216, 225, 227, 236, 228, 185, 188, 217, 188, - - 188, 188, 188, 188, 188, 188, 188, 1629, 219, 230, - 225, 227, 184, 218, 218, 218, 218, 228, 232, 226, - 236, 230, 185, 186, 186, 186, 186, 186, 186, 186, - 186, 229, 232, 234, 233, 252, 188, 186, 186, 186, - 186, 186, 186, 188, 222, 226, 231, 234, 235, 222, - 226, 229, 233, 235, 237, 231, 238, 239, 241, 273, - 245, 242, 305, 241, 305, 244, 239, 186, 186, 186, - 186, 186, 186, 186, 237, 218, 242, 243, 239, 244, - 245, 246, 247, 247, 255, 246, 243, 218, 273, 251, - 270, 262, 238, 252, 218, 261, 218, 248, 253, 248, - - 248, 248, 248, 255, 248, 261, 263, 253, 262, 248, - 274, 283, 263, 279, 248, 248, 248, 248, 248, 251, - 272, 270, 251, 277, 278, 283, 248, 260, 260, 260, - 260, 274, 288, 279, 1632, 260, 270, 272, 277, 260, - 278, 308, 308, 280, 288, 248, 265, 265, 265, 265, - 265, 265, 265, 265, 266, 266, 266, 266, 266, 266, - 266, 266, 267, 280, 267, 267, 267, 267, 267, 267, - 267, 267, 271, 281, 271, 271, 271, 271, 271, 271, - 271, 271, 284, 286, 286, 286, 286, 287, 1639, 294, - 291, 303, 292, 297, 311, 311, 303, 289, 294, 281, - - 284, 267, 291, 271, 281, 292, 287, 297, 267, 268, - 268, 268, 268, 268, 268, 268, 268, 289, 271, 276, - 295, 290, 276, 268, 268, 268, 268, 268, 268, 276, - 296, 1640, 298, 299, 299, 299, 299, 300, 295, 310, - 276, 290, 313, 306, 310, 286, 298, 302, 276, 307, - 296, 313, 300, 268, 268, 268, 268, 268, 268, 268, - 301, 302, 306, 315, 286, 309, 286, 314, 301, 301, - 304, 304, 304, 304, 312, 307, 316, 322, 1641, 312, - 307, 320, 309, 315, 317, 317, 314, 319, 324, 317, - 320, 322, 319, 331, 323, 325, 316, 323, 326, 325, - - 324, 327, 329, 328, 333, 333, 332, 299, 327, 325, - 328, 334, 326, 331, 299, 1642, 299, 330, 330, 330, - 330, 332, 335, 329, 336, 338, 337, 330, 339, 336, - 337, 340, 304, 339, 335, 334, 304, 342, 341, 343, - 338, 304, 344, 345, 304, 347, 342, 350, 339, 357, - 351, 304, 341, 304, 343, 351, 340, 359, 358, 350, - 362, 364, 344, 370, 347, 358, 366, 369, 357, 345, - 370, 365, 364, 369, 345, 377, 371, 1643, 359, 330, - 361, 373, 361, 361, 361, 361, 361, 361, 361, 361, - 362, 363, 366, 363, 363, 363, 363, 363, 363, 363, - - 363, 365, 371, 372, 375, 374, 362, 373, 378, 383, - 376, 361, 573, 377, 379, 382, 372, 375, 379, 390, - 573, 363, 390, 383, 382, 378, 361, 374, 376, 381, - 381, 381, 381, 384, 384, 384, 384, 363, 386, 386, - 386, 386, 387, 388, 389, 391, 393, 387, 388, 394, - 393, 396, 396, 389, 394, 398, 399, 400, 401, 391, - 402, 402, 405, 404, 400, 406, 412, 386, 408, 398, - 407, 399, 403, 403, 403, 403, 405, 401, 404, 407, - 406, 409, 408, 410, 411, 415, 412, 414, 414, 416, - 433, 417, 416, 409, 417, 384, 418, 419, 423, 410, - - 386, 411, 419, 421, 433, 415, 420, 420, 420, 420, - 381, 425, 381, 422, 425, 421, 418, 422, 559, 426, - 427, 428, 429, 429, 423, 426, 430, 427, 559, 426, - 439, 430, 431, 431, 432, 432, 432, 432, 403, 435, - 435, 428, 438, 403, 423, 439, 403, 436, 436, 436, - 436, 438, 440, 403, 442, 403, 443, 436, 437, 437, - 437, 437, 441, 444, 445, 446, 448, 447, 420, 442, - 437, 447, 440, 451, 444, 450, 443, 420, 441, 449, - 450, 453, 448, 458, 445, 446, 452, 420, 449, 420, - 452, 451, 454, 466, 468, 467, 432, 454, 453, 471, - - 458, 467, 474, 475, 479, 521, 521, 470, 468, 470, - 470, 470, 470, 470, 470, 470, 470, 472, 466, 472, - 472, 472, 472, 472, 472, 472, 472, 473, 476, 477, - 474, 475, 471, 478, 479, 481, 480, 470, 482, 476, - 473, 483, 488, 489, 477, 471, 481, 482, 493, 488, - 472, 480, 496, 470, 596, 496, 596, 478, 490, 490, - 490, 490, 489, 472, 491, 491, 491, 491, 505, 497, - 499, 499, 499, 499, 493, 505, 506, 493, 497, 508, - 515, 483, 507, 516, 509, 517, 519, 520, 508, 523, - 526, 518, 520, 491, 506, 524, 507, 509, 518, 517, - - 529, 515, 525, 516, 523, 519, 1203, 525, 524, 534, - 526, 527, 527, 527, 527, 528, 531, 532, 529, 533, - 528, 537, 530, 530, 530, 530, 532, 542, 534, 544, - 531, 542, 499, 533, 549, 535, 535, 535, 535, 543, - 543, 543, 543, 546, 545, 552, 549, 537, 1203, 544, - 545, 547, 547, 547, 547, 548, 546, 552, 554, 554, - 548, 555, 550, 550, 550, 550, 553, 537, 551, 551, - 551, 551, 561, 527, 550, 641, 555, 558, 553, 551, - 556, 556, 562, 563, 561, 566, 563, 562, 564, 557, - 581, 557, 527, 530, 641, 557, 582, 535, 557, 588, - - 535, 543, 558, 530, 582, 530, 535, 557, 560, 535, - 565, 564, 590, 581, 585, 589, 535, 587, 560, 588, - 560, 566, 565, 587, 560, 592, 589, 560, 583, 583, - 583, 583, 603, 603, 591, 817, 560, 593, 590, 584, - 583, 584, 584, 584, 584, 584, 584, 584, 584, 585, - 591, 614, 593, 605, 583, 592, 600, 817, 614, 586, - 585, 586, 586, 586, 586, 586, 586, 586, 586, 613, - 600, 601, 584, 605, 613, 583, 597, 597, 597, 597, - 601, 602, 602, 602, 602, 584, 606, 606, 606, 606, - 611, 611, 611, 611, 586, 612, 621, 623, 621, 622, - - 622, 622, 622, 624, 623, 586, 628, 602, 602, 625, - 627, 631, 634, 627, 639, 612, 631, 624, 625, 630, - 630, 630, 630, 633, 628, 632, 632, 632, 632, 635, - 634, 710, 640, 646, 639, 633, 642, 644, 597, 640, - 643, 643, 643, 643, 710, 635, 645, 646, 648, 650, - 647, 606, 611, 656, 645, 658, 648, 597, 656, 597, - 658, 622, 660, 644, 611, 647, 660, 606, 606, 606, - 835, 611, 642, 611, 665, 650, 835, 669, 650, 665, - 622, 630, 622, 655, 655, 655, 655, 676, 667, 659, - 659, 659, 659, 662, 662, 662, 662, 669, 666, 676, - - 630, 668, 643, 666, 662, 643, 632, 663, 663, 663, - 663, 643, 670, 670, 643, 659, 659, 663, 667, 668, - 672, 643, 664, 664, 664, 664, 671, 673, 671, 674, - 675, 679, 673, 664, 677, 677, 678, 680, 678, 681, - 672, 682, 680, 683, 682, 674, 684, 698, 682, 675, - 685, 679, 692, 682, 685, 692, 682, 699, 683, 681, - 704, 706, 684, 715, 777, 777, 682, 700, 700, 700, - 700, 711, 715, 699, 707, 1644, 706, 698, 703, 700, - 703, 703, 703, 703, 703, 703, 703, 703, 705, 707, - 705, 705, 705, 705, 705, 705, 705, 705, 713, 711, - - 714, 714, 714, 714, 716, 719, 704, 720, 738, 726, - 719, 692, 725, 703, 720, 737, 1068, 738, 716, 713, - 721, 721, 721, 721, 703, 722, 722, 722, 722, 741, - 737, 725, 1068, 741, 705, 726, 739, 748, 726, 732, - 732, 732, 732, 736, 736, 736, 736, 721, 742, 748, - 739, 722, 722, 740, 740, 740, 740, 744, 744, 744, - 744, 750, 742, 749, 749, 749, 749, 1645, 751, 754, - 750, 752, 752, 752, 752, 753, 754, 758, 761, 755, - 753, 714, 751, 714, 755, 757, 757, 757, 757, 758, - 759, 763, 768, 761, 759, 767, 767, 767, 767, 769, - - 779, 778, 776, 780, 781, 781, 768, 798, 769, 763, - 797, 797, 818, 732, 779, 740, 818, 736, 780, 799, - 732, 778, 732, 803, 736, 798, 736, 1646, 776, 786, - 786, 786, 786, 752, 740, 802, 740, 776, 744, 799, - 744, 803, 752, 809, 749, 802, 749, 787, 787, 787, - 787, 1649, 752, 809, 752, 786, 786, 767, 789, 789, - 789, 789, 790, 790, 790, 790, 757, 793, 793, 793, - 793, 794, 794, 794, 794, 787, 767, 800, 767, 801, - 804, 794, 801, 804, 808, 789, 800, 808, 790, 790, - 795, 795, 795, 795, 805, 806, 807, 807, 810, 805, - - 806, 811, 812, 813, 811, 814, 815, 815, 816, 787, - 819, 820, 845, 816, 824, 813, 810, 824, 836, 814, - 812, 830, 830, 830, 830, 819, 845, 848, 848, 793, - 837, 834, 793, 830, 831, 831, 831, 831, 793, 820, - 1652, 793, 834, 847, 836, 833, 831, 830, 793, 832, - 837, 832, 832, 832, 832, 832, 832, 832, 832, 833, - 831, 841, 840, 847, 861, 859, 844, 824, 830, 840, - 844, 833, 946, 824, 795, 856, 856, 856, 856, 859, - 841, 831, 860, 861, 862, 862, 862, 862, 863, 860, - 864, 866, 875, 878, 946, 832, 866, 863, 865, 865, - - 865, 865, 878, 874, 864, 870, 870, 870, 870, 873, - 874, 875, 877, 879, 873, 881, 876, 876, 876, 876, - 880, 884, 887, 888, 880, 893, 877, 879, 888, 881, - 885, 885, 885, 885, 893, 894, 884, 889, 889, 889, - 889, 896, 887, 892, 892, 892, 892, 895, 896, 894, - 902, 903, 895, 906, 905, 907, 856, 933, 856, 920, - 865, 905, 921, 922, 902, 862, 933, 862, 1674, 903, - 921, 906, 865, 928, 907, 923, 870, 922, 1187, 865, - 904, 904, 904, 904, 927, 920, 870, 876, 870, 1187, - 923, 928, 885, 916, 916, 916, 916, 876, 927, 876, - - 912, 912, 912, 912, 913, 913, 913, 913, 924, 930, - 931, 885, 919, 919, 919, 919, 924, 929, 889, 934, - 889, 916, 929, 930, 892, 936, 892, 912, 931, 936, - 913, 913, 925, 925, 925, 925, 932, 937, 938, 934, - 939, 932, 904, 940, 941, 939, 942, 943, 944, 947, - 937, 949, 940, 948, 904, 942, 938, 945, 948, 954, - 945, 904, 943, 947, 941, 950, 963, 954, 944, 949, - 960, 964, 968, 963, 919, 967, 964, 919, 960, 972, - 950, 968, 975, 919, 972, 987, 919, 991, 1064, 967, - 989, 1064, 987, 919, 973, 973, 973, 973, 988, 989, - - 990, 975, 985, 985, 985, 985, 991, 990, 992, 992, - 992, 992, 988, 993, 994, 995, 925, 1005, 1006, 995, - 973, 973, 994, 1007, 1011, 1008, 1009, 1006, 993, 1011, - 1013, 1005, 1008, 1010, 1010, 1010, 1010, 1014, 1014, 1014, - 1014, 1015, 1017, 1007, 1018, 1009, 1024, 1023, 1025, 1026, - 1013, 1032, 1025, 1015, 1023, 1029, 1029, 1029, 1029, 1035, - 1675, 1017, 1036, 1026, 1018, 1024, 1034, 1034, 1034, 1034, - 1036, 1032, 1038, 1039, 1035, 1053, 985, 1037, 1037, 1037, - 1037, 1676, 992, 985, 1046, 1046, 1046, 1046, 1055, 992, - 1054, 1054, 1038, 1039, 1057, 1010, 1047, 1047, 1047, 1047, - - 1056, 1053, 1059, 1061, 1010, 1060, 1060, 1061, 1055, 1057, - 1053, 1063, 1062, 1065, 1056, 1066, 1677, 1069, 1014, 1062, - 1059, 1067, 1047, 1047, 1067, 1070, 1063, 1065, 1070, 1029, - 1066, 1067, 1069, 1074, 1074, 1072, 1029, 1077, 1071, 1037, - 1034, 1073, 1078, 1076, 1080, 1079, 1077, 1034, 1037, 1046, - 1072, 1037, 1071, 1081, 1075, 1073, 1075, 1079, 1085, 1075, - 1075, 1076, 1078, 1090, 1080, 1046, 1091, 1046, 1081, 1095, - 1091, 1096, 1099, 1116, 1095, 1085, 1099, 1115, 1096, 1101, - 1116, 1091, 1115, 1067, 1100, 1100, 1100, 1100, 1114, 1114, - 1114, 1114, 1117, 1090, 1118, 1119, 1130, 1075, 1120, 1101, - - 1131, 1130, 1143, 1118, 1137, 1678, 1117, 1131, 1137, 1119, - 1100, 1100, 1133, 1120, 1121, 1121, 1121, 1121, 1128, 1128, - 1128, 1128, 1132, 1132, 1132, 1132, 1133, 1134, 1135, 1135, - 1135, 1135, 1136, 1139, 1141, 1150, 1134, 1149, 1143, 1151, - 1151, 1151, 1151, 1152, 1150, 1159, 1136, 1160, 1152, 1141, - 1114, 1149, 1139, 1157, 1157, 1157, 1157, 1161, 1436, 1163, - 1164, 1160, 1162, 1162, 1162, 1162, 1202, 1179, 1180, 1114, - 1188, 1114, 1161, 1163, 1436, 1164, 1121, 1165, 1165, 1165, - 1165, 1179, 1183, 1159, 1132, 1188, 1180, 1182, 1121, 1128, - 1171, 1171, 1171, 1171, 1182, 1121, 1185, 1185, 1186, 1135, - - 1183, 1151, 1190, 1132, 1202, 1132, 1172, 1172, 1172, 1172, - 1151, 1173, 1173, 1173, 1173, 1197, 1171, 1171, 1181, 1181, - 1181, 1181, 1190, 1186, 1157, 1191, 1192, 1157, 1195, 1201, - 1204, 1193, 1191, 1162, 1193, 1197, 1162, 1173, 1173, 1165, - 1198, 1193, 1199, 1200, 1192, 1207, 1195, 1198, 1165, 1201, - 1200, 1206, 1208, 1209, 1208, 1210, 1211, 1208, 1208, 1214, - 1199, 1218, 1214, 1224, 1207, 1219, 1206, 1220, 1223, 1241, - 1204, 1172, 1223, 1209, 1211, 1243, 1218, 1224, 1241, 1243, - 1181, 1245, 1242, 1210, 1244, 1262, 1245, 1172, 1679, 1172, - 1246, 1219, 1181, 1220, 1262, 1208, 1242, 1246, 1244, 1181, - - 1228, 1228, 1228, 1228, 1231, 1231, 1231, 1231, 1232, 1232, - 1232, 1232, 1239, 1239, 1239, 1239, 1240, 1240, 1240, 1240, - 1247, 1248, 1249, 1249, 1249, 1249, 1250, 1247, 1251, 1254, - 1254, 1254, 1254, 1259, 1260, 1263, 1251, 1259, 1266, 1248, - 1265, 1250, 1261, 1261, 1261, 1261, 1264, 1265, 1260, 1263, - 1271, 1264, 1269, 1267, 1267, 1267, 1267, 1681, 1266, 1293, - 1280, 1274, 1277, 1277, 1277, 1277, 1279, 1280, 1282, 1290, - 1271, 1279, 1281, 1281, 1281, 1281, 1283, 1291, 1294, 1293, - 1283, 1296, 1282, 1292, 1291, 1309, 1239, 1274, 1269, 1232, - 1274, 1232, 1294, 1239, 1306, 1296, 1249, 1240, 1683, 1240, - - 1309, 1292, 1312, 1249, 1289, 1289, 1289, 1289, 1314, 1290, - 1254, 1314, 1254, 1310, 1306, 1267, 1295, 1295, 1295, 1295, - 1316, 1310, 1312, 1261, 1267, 1261, 1300, 1300, 1300, 1300, - 1687, 1317, 1688, 1277, 1303, 1303, 1303, 1303, 1308, 1308, - 1308, 1308, 1318, 1281, 1319, 1316, 1317, 1311, 1311, 1311, - 1311, 1334, 1300, 1300, 1313, 1313, 1313, 1313, 1323, 1323, - 1318, 1324, 1319, 1325, 1328, 1333, 1313, 1328, 1320, 1320, - 1320, 1335, 1320, 1338, 1333, 1289, 1336, 1349, 1339, 1324, - 1353, 1325, 1326, 1326, 1326, 1353, 1326, 1295, 1348, 1334, - 1340, 1338, 1320, 1339, 1340, 1367, 1371, 1372, 1344, 1344, - - 1371, 1348, 1367, 1349, 1368, 1328, 1326, 1374, 1303, 1311, - 1320, 1372, 1308, 1335, 1344, 1303, 1336, 1370, 1311, 1308, - 1689, 1311, 1370, 1368, 1326, 1343, 1343, 1374, 1343, 1343, - 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, - 1343, 1343, 1343, 1343, 1388, 1344, 1355, 1355, 1355, 1355, - 1375, 1376, 1343, 1343, 1343, 1343, 1343, 1343, 1373, 1373, - 1373, 1373, 1426, 1388, 1375, 1387, 1376, 1384, 1384, 1384, - 1384, 1386, 1387, 1389, 1390, 1393, 1386, 1389, 1392, 1392, - 1392, 1392, 1397, 1404, 1343, 1343, 1343, 1343, 1390, 1393, - 1398, 1398, 1403, 1405, 1415, 1690, 1403, 1404, 1418, 1472, - - 1426, 1397, 1406, 1406, 1406, 1406, 1414, 1414, 1414, 1414, - 1417, 1427, 1428, 1405, 1415, 1343, 1472, 1417, 1418, 1430, - 1373, 1424, 1424, 1424, 1424, 1427, 1431, 1428, 1429, 1429, - 1429, 1429, 1373, 1430, 1432, 1432, 1432, 1432, 1384, 1435, - 1694, 1431, 1433, 1433, 1433, 1433, 1437, 1434, 1434, 1392, - 1434, 1438, 1438, 1440, 1433, 1437, 1441, 1435, 1434, 1439, - 1439, 1442, 1453, 1443, 1406, 1444, 1444, 1445, 1414, 1448, - 1445, 1440, 1449, 1406, 1441, 1446, 1446, 1447, 1447, 1442, - 1414, 1443, 1450, 1451, 1452, 1452, 1454, 1448, 1455, 1459, - 1449, 1460, 1424, 1462, 1462, 1424, 1432, 1695, 1459, 1429, - - 1450, 1451, 1429, 1455, 1453, 1432, 1460, 1461, 1475, 1462, - 1471, 1471, 1475, 1487, 1488, 1495, 1461, 1483, 1483, 1483, - 1483, 1489, 1495, 1488, 1491, 1489, 1454, 1487, 1512, 1491, - 1492, 1492, 1492, 1492, 1505, 1697, 1553, 1471, 1505, 1553, - 1462, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, - 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, - 1493, 1496, 1506, 1530, 1512, 1507, 1510, 1544, 1464, 1464, - 1464, 1464, 1464, 1464, 1507, 1493, 1506, 1513, 1530, 1496, - 1508, 1508, 1508, 1508, 1509, 1519, 1510, 1544, 1541, 1509, - 1519, 1483, 1517, 1517, 1517, 1517, 1513, 1522, 1555, 1555, - - 1464, 1464, 1464, 1464, 1492, 1521, 1521, 1521, 1521, 1556, - 1556, 1522, 1524, 1524, 1524, 1524, 1529, 1529, 1529, 1529, - 1532, 1532, 1532, 1532, 1540, 1540, 1540, 1540, 1541, 1542, - 1543, 1464, 1545, 1547, 1557, 1557, 1542, 1546, 1546, 1546, - 1546, 1550, 1508, 1552, 1558, 1558, 1545, 1547, 1543, 1548, - 1548, 1508, 1548, 1551, 1560, 1698, 1550, 1552, 1551, 1554, - 1548, 1559, 1554, 1517, 1559, 1561, 1562, 1572, 1561, 1562, - 1563, 1563, 1560, 1564, 1564, 1570, 1521, 1565, 1565, 1566, - 1566, 1567, 1532, 1571, 1567, 1572, 1524, 1573, 1700, 1570, - 1529, 1532, 1582, 1582, 1603, 1540, 1703, 1571, 1707, 1603, - - 1604, 1573, 1589, 1593, 1593, 1593, 1593, 1604, 1546, 1581, - 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, - 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1589, 1606, - 1607, 1593, 1609, 1606, 1709, 1618, 1581, 1581, 1581, 1581, - 1581, 1581, 1618, 1710, 1607, 1608, 1608, 1608, 1608, 1620, - 1582, 1711, 1609, 1613, 1613, 1613, 1613, 1617, 1619, 1619, - 1619, 1619, 1617, 1620, 1625, 1631, 1648, 1712, 1581, 1581, - 1581, 1581, 1621, 1630, 1636, 1651, 1621, 1630, 1634, 1634, - 1634, 1634, 1638, 1718, 1625, 1631, 1648, 1650, 1636, 1637, - 1637, 1637, 1637, 1653, 1650, 1651, 1638, 1654, 1653, 1581, - - 1647, 1647, 1647, 1647, 1655, 1656, 1657, 1608, 1661, 1657, - 1658, 1653, 1659, 1658, 1663, 1659, 1662, 1654, 1660, 1608, - 1664, 1660, 1655, 1656, 1613, 1665, 1661, 1666, 1665, 1619, - 1666, 1662, 1663, 1667, 1668, 1669, 1667, 1668, 1664, 1670, - 1671, 1672, 1673, 1673, 1686, 1672, 1719, 1671, 1720, 1634, - 1680, 1680, 1692, 1669, 1682, 1682, 1702, 1670, 1706, 1716, - 1637, 1704, 1647, 1699, 1699, 1699, 1699, 1701, 1704, 1721, - 1702, 1701, 1715, 1706, 1647, 1685, 1685, 1722, 1723, 1716, - 1692, 1705, 1705, 1705, 1705, 1714, 1715, 1724, 1725, 1714, - 1717, 1717, 1717, 1717, 1730, 1725, 1729, 1729, 1729, 1729, - - 1732, 1733, 1686, 1734, 1734, 1734, 1734, 1736, 1680, 1738, - 1739, 1739, 1682, 1684, 1684, 1684, 1684, 1684, 1684, 1684, - 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, - 1684, 1684, 1735, 1685, 1726, 1741, 1749, 1699, 1758, 1744, - 1684, 1684, 1684, 1684, 1684, 1684, 1741, 1735, 1737, 1737, - 1737, 1737, 1717, 1740, 1726, 1705, 1742, 1744, 1740, 1757, - 1757, 1717, 1745, 1743, 1746, 1747, 1748, 1752, 1753, 1750, - 1729, 1742, 1684, 1684, 1684, 1684, 1751, 1734, 1743, 1754, - 1745, 1748, 1746, 1747, 1750, 1752, 1753, 1755, 1760, 1756, - 1759, 1751, 1761, 1762, 1763, 1764, 1766, 1754, 1767, 1759, - - 1768, 1769, 1770, 1684, 1756, 1755, 1771, 1773, 1760, 1774, - 1737, 1775, 1777, 1778, 1780, 1781, 1782, 1783, 1784, 1737, - 1781, 1785, 1786, 1788, 1790, 1792, 1773, 1787, 1787, 1787, - 1787, 1783, 1789, 1791, 1791, 1791, 1791, 1789, 1795, 1792, - 1796, 1797, 1798, 1799, 1801, 1801, 1801, 1801, 1803, 1804, - 1804, 1804, 1804, 1805, 1766, 1806, 1767, 1807, 1806, 1808, - 1809, 1810, 1803, 1811, 1815, 1812, 1813, 1805, 1814, 1816, - 1817, 1818, 1819, 1820, 1821, 1822, 1824, 1826, 1811, 1807, - 1812, 1813, 1823, 1814, 1808, 1823, 1818, 1819, 1820, 1821, - 1824, 1825, 1827, 1828, 1829, 1831, 1825, 1832, 1787, 1833, - - 1834, 1835, 1837, 1839, 1791, 1840, 1841, 1843, 1845, 1840, - 1846, 1847, 1850, 1841, 1846, 1801, 1851, 1852, 1853, 1854, - 1804, 1855, 1857, 1856, 1852, 1858, 1859, 1860, 1861, 1862, - 1855, 1847, 1863, 1864, 1865, 1866, 1866, 1854, 1853, 1856, - 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, - 1877, 1878, 1865, 1879, 1880, 1881, 1882, 1883, 1867, 1884, - 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1893, - 1890, 1894, 1895, 1896, 1897, 1899, 1900, 1901, 1888, 1908, - 1909, 1891, 1910, 1889, 1911, 1912, 1915, 1892, 1913, 1909, - 1912, 1913, 1916, 1917, 1919, 1922, 1923, 1924, 1926, 1929, - - 1933, 1933, 1932, 1934, 1935, 1938, 1939, 1941, 1940, 1942, - 1922, 1940, 1944, 1944, 1923, 1924, 1932, 1945, 1934, 1948, - 1951, 1949, 1948, 1952, 1939, 1953, 1954, 1984, 1986, 1989, - 1615, 1614, 1612, 1611, 1610, 1945, 1949, 1605, 1951, 1602, - 1953, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1957, 1957, 1957, 1957, 1601, 1957, 1957, 1957, - 1957, 1957, 1957, 1958, 1958, 1958, 1599, 1598, 1596, 1595, - 1594, 1592, 1958, 1959, 1959, 1591, 1590, 1959, 1960, 1960, - 1588, 1587, 1960, 1961, 1586, 1585, 1961, 1962, 1962, 1584, - 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1963, 1963, - - 1583, 1963, 1964, 1964, 1580, 1964, 1964, 1964, 1964, 1964, - 1964, 1964, 1964, 1965, 1579, 1578, 1965, 1966, 1966, 1577, - 1576, 1966, 1967, 1967, 1575, 1967, 1967, 1967, 1967, 1967, - 1967, 1967, 1967, 1968, 1574, 1569, 1968, 1969, 1969, 1568, - 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1539, - 1538, 1970, 1971, 1537, 1536, 1971, 1972, 1972, 1535, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1534, - 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1974, 1974, - 1533, 1531, 1528, 1527, 1525, 1520, 1518, 1974, 1975, 1975, - 1516, 1515, 1514, 1511, 1504, 1502, 1501, 1975, 1976, 1976, - - 1500, 1499, 1976, 1498, 1976, 1494, 1490, 1976, 1977, 1977, - 1486, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1978, - 1978, 1485, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - 1979, 1979, 1484, 1482, 1481, 1480, 1979, 1979, 1979, 1979, - 1980, 1980, 1478, 1477, 1476, 1474, 1470, 1469, 1468, 1980, - 1981, 1981, 1467, 1466, 1465, 1463, 1981, 1981, 1981, 1981, - 1982, 1982, 1458, 1457, 1456, 1425, 1982, 1982, 1982, 1982, - 1983, 1983, 1423, 1983, 1983, 1983, 1983, 1983, 1983, 1983, - 1983, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, - 1985, 1985, 1987, 1987, 1422, 1987, 1987, 1987, 1987, 1987, - - 1987, 1987, 1987, 1988, 1988, 1420, 1419, 1416, 1413, 1988, - 1988, 1988, 1988, 1990, 1990, 1412, 1411, 1410, 1409, 1990, - 1990, 1990, 1990, 1991, 1991, 1408, 1407, 1402, 1401, 1991, - 1991, 1991, 1991, 1992, 1992, 1992, 1992, 1992, 1992, 1992, - 1992, 1992, 1992, 1992, 1993, 1993, 1400, 1993, 1993, 1993, - 1993, 1993, 1993, 1993, 1993, 1994, 1994, 1994, 1994, 1994, - 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 1399, 1995, - 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1996, 1996, 1396, - 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1997, 1997, - 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998, - - 1998, 1394, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, - 1999, 1999, 1391, 1999, 1999, 1999, 1999, 1999, 1999, 1999, - 1999, 2000, 2000, 1385, 2000, 2000, 2000, 2000, 2000, 2000, - 2000, 2000, 2001, 2001, 1383, 2001, 2001, 2001, 2001, 2001, - 2001, 2001, 2001, 2002, 2002, 1382, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2003, 2003, 1381, 2003, 2003, 2003, - 2003, 2003, 2003, 2003, 2003, 2004, 2004, 1380, 2004, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2005, 2005, 1379, 2005, - 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2006, 2006, 1378, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2007, 2007, - - 1377, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 1369, - 1366, 1365, 1364, 1363, 1362, 1361, 1360, 1359, 1358, 1357, - 1356, 1352, 1351, 1350, 1347, 1346, 1345, 1342, 1341, 1337, - 1332, 1331, 1330, 1329, 1327, 1321, 1315, 1307, 1305, 1304, - 1302, 1301, 1299, 1288, 1287, 1286, 1285, 1284, 1278, 1276, - 1275, 1272, 1270, 1268, 1258, 1257, 1256, 1255, 1253, 1252, - 1238, 1237, 1236, 1235, 1234, 1233, 1230, 1229, 1227, 1226, - 1225, 1222, 1221, 1217, 1216, 1215, 1213, 1212, 1205, 1196, - 1194, 1189, 1184, 1178, 1177, 1176, 1175, 1174, 1170, 1169, - 1168, 1167, 1166, 1158, 1156, 1155, 1153, 1148, 1147, 1146, - - 1145, 1144, 1142, 1140, 1138, 1129, 1127, 1126, 1125, 1124, - 1123, 1113, 1112, 1111, 1110, 1109, 1108, 1107, 1106, 1105, - 1104, 1103, 1102, 1098, 1094, 1093, 1092, 1088, 1087, 1086, - 1084, 1083, 1058, 1052, 1051, 1050, 1049, 1048, 1045, 1043, - 1042, 1041, 1040, 1033, 1031, 1030, 1028, 1027, 1022, 1021, - 1020, 1019, 1016, 1012, 1004, 1003, 1002, 1001, 1000, 999, - 998, 997, 996, 986, 984, 983, 982, 981, 980, 979, - 978, 977, 976, 974, 971, 970, 969, 966, 965, 962, - 961, 959, 958, 957, 956, 953, 952, 935, 926, 917, - 914, 911, 910, 909, 908, 901, 900, 899, 898, 897, - - 891, 890, 886, 883, 882, 872, 871, 869, 868, 867, - 858, 857, 855, 854, 853, 852, 851, 850, 849, 843, - 842, 839, 838, 829, 828, 827, 826, 823, 822, 821, - 796, 791, 788, 785, 784, 783, 782, 775, 774, 773, - 772, 771, 766, 765, 764, 762, 760, 756, 747, 746, - 745, 743, 735, 734, 733, 731, 730, 729, 728, 727, - 723, 718, 717, 712, 709, 708, 702, 697, 696, 695, - 694, 693, 689, 688, 687, 686, 661, 657, 654, 653, - 652, 651, 649, 638, 637, 636, 629, 626, 620, 619, - 618, 617, 616, 615, 610, 609, 608, 607, 604, 599, - - 598, 595, 594, 580, 579, 576, 575, 574, 570, 569, - 568, 567, 541, 540, 539, 538, 536, 522, 514, 513, - 512, 511, 510, 504, 503, 502, 501, 500, 498, 495, - 494, 487, 486, 485, 484, 465, 464, 461, 460, 459, - 457, 456, 455, 434, 424, 413, 397, 395, 392, 385, - 380, 368, 360, 356, 355, 354, 353, 352, 349, 348, - 321, 318, 293, 285, 282, 269, 264, 259, 258, 257, - 256, 249, 224, 223, 201, 195, 194, 177, 173, 172, - 162, 161, 160, 156, 138, 112, 103, 102, 98, 85, - 84, 79, 74, 66, 60, 34, 26, 23, 21, 17, - - 11, 9, 7, 3, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955 - + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 5, 2, 2, 9, 5, 2, 11, 13, 13, + + 16, 13, 13, 29, 17, 19, 2, 13, 1114, 19, + 26, 13, 23, 23, 16, 28, 11, 17, 17, 2, + 19, 25, 25, 29, 26, 31, 33, 18, 33, 13, + 18, 13, 18, 18, 18, 18, 18, 18, 18, 18, + 45, 202, 55, 75, 28, 9, 31, 44, 42, 202, + 20, 13, 20, 20, 20, 20, 20, 20, 20, 20, + 42, 45, 44, 75, 37, 64, 42, 54, 21, 20, + 21, 21, 21, 21, 21, 21, 21, 21, 37, 30, + 41, 38, 54, 39, 110, 37, 43, 21, 20, 30, + 38, 39, 48, 66, 41, 39, 38, 40, 39, 20, + + 43, 55, 40, 110, 41, 43, 46, 46, 47, 49, + 48, 46, 40, 48, 49, 62, 64, 21, 20, 62, + 50, 46, 40, 52, 47, 51, 47, 47, 50, 50, + 51, 60, 53, 51, 70, 60, 78, 52, 71, 50, + 50, 53, 52, 77, 66, 105, 60, 53, 77, 78, + 51, 107, 53, 56, 56, 167, 56, 56, 72, 72, + 56, 72, 72, 106, 120, 120, 105, 72, 109, 107, + 56, 72, 1112, 87, 87, 87, 87, 87, 87, 87, + 87, 70, 116, 56, 111, 71, 116, 117, 106, 72, + 87, 72, 91, 91, 91, 91, 91, 91, 91, 91, + + 111, 118, 109, 121, 121, 131, 167, 117, 119, 91, + 92, 72, 92, 92, 92, 92, 92, 92, 92, 92, + 87, 118, 141, 119, 141, 131, 93, 93, 124, 92, + 93, 93, 93, 93, 93, 93, 93, 93, 95, 91, + 95, 95, 95, 95, 95, 95, 95, 95, 137, 124, + 166, 166, 249, 137, 199, 199, 249, 95, 96, 92, + 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, + 97, 108, 97, 97, 97, 97, 97, 97, 97, 97, + 115, 108, 123, 126, 122, 125, 128, 95, 1102, 132, + 133, 213, 213, 129, 123, 130, 108, 122, 122, 125, + + 127, 128, 129, 132, 126, 115, 115, 130, 115, 115, + 133, 115, 135, 134, 115, 130, 127, 136, 139, 140, + 127, 143, 142, 144, 115, 115, 134, 148, 140, 142, + 144, 142, 145, 147, 140, 135, 143, 136, 139, 146, + 146, 145, 149, 146, 150, 148, 147, 151, 152, 144, + 153, 155, 165, 150, 154, 169, 151, 146, 149, 153, + 173, 174, 153, 150, 172, 154, 152, 158, 158, 155, + 158, 158, 190, 164, 158, 164, 173, 172, 190, 174, + 165, 196, 200, 165, 158, 177, 177, 177, 177, 177, + 177, 177, 177, 195, 189, 192, 200, 158, 238, 178, + + 178, 196, 169, 178, 178, 178, 178, 178, 178, 178, + 178, 180, 180, 180, 180, 180, 180, 180, 180, 189, + 198, 191, 195, 192, 238, 198, 181, 181, 326, 164, + 181, 181, 181, 181, 181, 181, 181, 181, 182, 191, + 182, 182, 182, 182, 182, 182, 182, 182, 183, 183, + 183, 326, 183, 183, 183, 183, 183, 183, 183, 183, + 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, + 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, + 186, 186, 186, 186, 197, 201, 204, 206, 197, 186, + 186, 186, 186, 186, 186, 207, 197, 205, 205, 206, + + 209, 204, 212, 211, 212, 201, 208, 210, 211, 219, + 216, 1101, 205, 207, 214, 216, 209, 215, 219, 186, + 186, 186, 186, 186, 186, 208, 210, 214, 218, 215, + 217, 217, 221, 218, 222, 223, 223, 224, 227, 228, + 229, 222, 224, 230, 233, 232, 231, 234, 236, 235, + 221, 239, 240, 233, 237, 243, 227, 232, 229, 237, + 242, 234, 236, 241, 228, 230, 231, 235, 244, 228, + 243, 239, 241, 244, 245, 248, 242, 247, 246, 250, + 250, 254, 256, 262, 241, 264, 240, 246, 253, 245, + 264, 247, 262, 263, 251, 248, 251, 251, 284, 251, + + 256, 251, 284, 273, 1098, 274, 251, 271, 278, 263, + 272, 251, 251, 251, 251, 251, 253, 261, 261, 253, + 261, 261, 251, 271, 272, 274, 261, 279, 278, 285, + 261, 273, 279, 281, 304, 311, 281, 254, 285, 304, + 311, 251, 265, 265, 265, 265, 265, 265, 265, 265, + 266, 266, 266, 266, 266, 266, 266, 266, 267, 267, + 267, 267, 267, 267, 267, 267, 268, 268, 268, 268, + 268, 268, 268, 268, 269, 269, 269, 269, 269, 269, + 269, 269, 270, 270, 270, 270, 270, 270, 270, 270, + 277, 276, 280, 283, 276, 270, 270, 270, 270, 270, + + 270, 276, 282, 288, 277, 289, 286, 299, 293, 1095, + 280, 297, 276, 283, 292, 294, 299, 288, 295, 276, + 293, 282, 296, 289, 297, 270, 270, 270, 270, 270, + 270, 286, 300, 292, 296, 294, 286, 301, 295, 302, + 303, 306, 307, 306, 308, 309, 309, 310, 312, 312, + 300, 313, 315, 302, 303, 316, 313, 301, 314, 317, + 1089, 307, 323, 320, 310, 318, 318, 314, 320, 308, + 318, 315, 321, 325, 308, 316, 323, 324, 327, 317, + 324, 321, 327, 328, 329, 325, 330, 331, 334, 333, + 336, 329, 327, 330, 335, 335, 337, 328, 338, 340, + + 339, 337, 338, 334, 340, 341, 342, 343, 331, 333, + 344, 345, 346, 351, 336, 339, 343, 348, 351, 340, + 342, 357, 358, 359, 360, 344, 361, 362, 358, 363, + 341, 345, 366, 365, 360, 348, 367, 346, 365, 357, + 368, 361, 346, 359, 369, 373, 370, 371, 367, 370, + 371, 372, 374, 376, 363, 375, 362, 366, 375, 377, + 378, 368, 369, 372, 378, 373, 383, 386, 384, 385, + 386, 383, 376, 384, 390, 387, 377, 389, 385, 390, + 392, 389, 391, 391, 393, 394, 395, 398, 374, 387, + 397, 397, 392, 399, 400, 401, 399, 400, 402, 404, + + 393, 405, 394, 402, 406, 405, 395, 398, 409, 408, + 410, 404, 408, 411, 409, 401, 414, 410, 409, 412, + 412, 414, 415, 415, 417, 419, 419, 420, 421, 406, + 422, 423, 424, 411, 425, 426, 420, 427, 417, 430, + 429, 428, 432, 421, 425, 428, 431, 423, 430, 406, + 422, 431, 424, 434, 433, 426, 429, 427, 433, 435, + 432, 446, 447, 448, 435, 449, 450, 447, 451, 452, + 434, 454, 456, 457, 455, 458, 448, 449, 450, 459, + 461, 454, 460, 460, 458, 446, 462, 457, 463, 462, + 468, 459, 464, 464, 1086, 451, 452, 455, 472, 461, + + 465, 456, 471, 465, 476, 471, 477, 472, 478, 478, + 480, 477, 483, 486, 481, 468, 482, 476, 468, 484, + 484, 482, 484, 484, 485, 480, 463, 481, 487, 485, + 490, 486, 483, 497, 498, 499, 500, 501, 502, 503, + 498, 500, 504, 504, 505, 507, 510, 487, 499, 501, + 502, 503, 506, 497, 506, 490, 508, 510, 506, 505, + 512, 506, 511, 512, 514, 508, 530, 511, 533, 506, + 507, 553, 532, 530, 553, 490, 514, 532, 533, 484, + 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, + 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, + + 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, + 495, 495, 513, 515, 529, 509, 542, 531, 531, 535, + 531, 531, 537, 536, 1079, 509, 534, 509, 542, 535, + 531, 509, 538, 543, 509, 513, 529, 495, 495, 495, + 495, 495, 509, 531, 546, 534, 538, 515, 536, 543, + 540, 537, 540, 544, 544, 550, 546, 547, 547, 548, + 548, 556, 556, 531, 556, 556, 557, 729, 495, 558, + 558, 557, 558, 558, 729, 550, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, + + 551, 551, 551, 551, 551, 551, 551, 551, 554, 559, + 569, 571, 560, 572, 563, 569, 571, 572, 574, 575, + 576, 556, 651, 574, 575, 577, 554, 559, 560, 578, + 578, 580, 651, 551, 551, 551, 551, 561, 561, 563, + 561, 561, 563, 577, 579, 581, 579, 584, 558, 576, + 581, 580, 585, 585, 586, 588, 586, 593, 633, 584, + 588, 593, 633, 561, 551, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 555, 561, 582, 583, + + 587, 589, 591, 605, 590, 639, 639, 590, 619, 615, + 592, 590, 606, 619, 582, 610, 590, 591, 583, 590, + 587, 589, 555, 555, 555, 555, 592, 606, 590, 610, + 607, 607, 605, 607, 607, 612, 615, 617, 618, 620, + 621, 623, 622, 607, 624, 663, 636, 647, 647, 612, + 618, 620, 621, 555, 622, 648, 628, 649, 617, 663, + 623, 628, 632, 632, 636, 632, 632, 637, 637, 624, + 637, 637, 624, 648, 652, 650, 653, 649, 650, 653, + 654, 655, 656, 656, 657, 654, 655, 657, 658, 659, + 661, 660, 652, 637, 660, 664, 664, 662, 658, 665, + + 666, 667, 668, 669, 665, 667, 680, 659, 661, 662, + 678, 678, 683, 678, 678, 682, 684, 668, 1077, 684, + 680, 666, 687, 678, 679, 679, 685, 679, 679, 681, + 669, 680, 683, 686, 681, 694, 678, 679, 685, 699, + 682, 632, 687, 688, 688, 686, 698, 701, 691, 691, + 679, 691, 691, 693, 694, 704, 678, 699, 693, 700, + 698, 702, 703, 706, 700, 701, 702, 706, 707, 708, + 679, 703, 709, 710, 711, 704, 712, 709, 713, 714, + 715, 707, 710, 715, 716, 712, 717, 708, 720, 719, + 718, 731, 735, 713, 711, 718, 732, 731, 739, 714, + + 717, 732, 740, 720, 744, 749, 716, 719, 691, 737, + 737, 735, 737, 737, 745, 745, 746, 747, 739, 749, + 746, 744, 740, 748, 750, 752, 748, 753, 754, 755, + 756, 754, 747, 757, 758, 758, 760, 773, 762, 750, + 763, 752, 753, 755, 759, 756, 759, 757, 761, 759, + 759, 763, 764, 765, 760, 774, 776, 761, 762, 774, + 785, 785, 786, 787, 789, 791, 773, 790, 765, 774, + 794, 795, 764, 787, 790, 792, 776, 796, 795, 797, + 798, 799, 800, 791, 789, 759, 797, 786, 737, 801, + 794, 803, 792, 804, 806, 796, 805, 807, 805, 814, + + 798, 805, 805, 808, 815, 816, 803, 820, 820, 826, + 820, 820, 804, 814, 806, 821, 824, 799, 827, 824, + 835, 808, 800, 835, 807, 828, 841, 801, 842, 815, + 816, 830, 830, 820, 826, 827, 831, 805, 832, 843, + 821, 855, 828, 821, 829, 829, 829, 840, 829, 846, + 833, 833, 833, 831, 833, 832, 840, 845, 861, 835, + 854, 847, 841, 1076, 846, 847, 855, 829, 842, 850, + 850, 870, 854, 833, 870, 845, 861, 843, 856, 856, + 862, 856, 856, 865, 829, 850, 860, 860, 858, 858, + 833, 858, 858, 863, 863, 866, 862, 864, 864, 867, + + 865, 868, 869, 869, 856, 871, 871, 872, 872, 873, + 874, 875, 866, 876, 858, 850, 867, 878, 868, 877, + 877, 879, 880, 884, 885, 886, 873, 874, 875, 896, + 876, 900, 884, 901, 886, 887, 887, 880, 958, 885, + 895, 895, 958, 897, 897, 896, 897, 897, 901, 902, + 900, 887, 903, 904, 902, 903, 904, 878, 910, 879, + 905, 905, 906, 906, 907, 907, 895, 908, 908, 897, + 909, 911, 912, 909, 911, 912, 910, 913, 913, 914, + 914, 887, 915, 915, 916, 916, 917, 920, 921, 917, + 922, 923, 935, 937, 937, 938, 937, 937, 948, 940, + + 941, 920, 921, 942, 940, 923, 943, 944, 922, 943, + 944, 945, 947, 948, 945, 938, 940, 935, 941, 937, + 946, 942, 949, 946, 950, 951, 952, 955, 951, 952, + 947, 953, 954, 956, 953, 954, 957, 959, 959, 970, + 949, 976, 950, 957, 977, 955, 974, 974, 971, 971, + 956, 971, 971, 975, 978, 979, 976, 980, 975, 977, + 981, 982, 984, 986, 985, 987, 970, 988, 989, 990, + 991, 991, 978, 979, 971, 980, 982, 984, 981, 985, + 993, 986, 994, 987, 990, 988, 989, 1005, 1006, 993, + 1007, 1006, 1010, 1011, 1012, 1013, 1017, 1075, 1018, 1019, + + 1020, 1022, 994, 1023, 1022, 1005, 1035, 1010, 1011, 1012, + 1013, 1017, 1007, 1018, 1019, 1020, 1024, 1023, 1036, 1045, + 1056, 1024, 1046, 1046, 1035, 1047, 1057, 1036, 1058, 1059, + 1060, 1060, 1070, 1072, 1083, 1056, 1073, 1045, 1072, 1073, + 1082, 1070, 1047, 1058, 1084, 1057, 1092, 1093, 1093, 1059, + 1094, 1083, 1099, 1100, 1105, 1082, 1100, 1104, 1104, 1109, + 1092, 1108, 1084, 1111, 1108, 1094, 1071, 1113, 1069, 1099, + 1068, 1067, 1105, 1066, 1109, 1064, 1063, 1062, 1061, 1055, + 1054, 1111, 1113, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1116, 1116, 1117, 1117, 1117, 1053, 1117, 1117, 1117, 1117, + + 1117, 1118, 1118, 1052, 1051, 1050, 1049, 1118, 1118, 1119, + 1119, 1048, 1119, 1119, 1120, 1044, 1120, 1120, 1121, 1121, + 1043, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, + 1122, 1123, 1042, 1123, 1123, 1124, 1124, 1041, 1124, 1124, + 1124, 1124, 1124, 1124, 1125, 1040, 1125, 1125, 1126, 1126, + 1039, 1126, 1126, 1127, 1038, 1127, 1128, 1128, 1037, 1128, + 1128, 1128, 1128, 1128, 1128, 1129, 1034, 1129, 1129, 1130, + 1033, 1130, 1130, 1131, 1131, 1032, 1131, 1131, 1131, 1131, + 1131, 1131, 1132, 1132, 1133, 1031, 1133, 1133, 1134, 1134, + 1030, 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1028, + + 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 1027, 1136, + 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1026, 1137, 1137, + 1137, 1137, 1137, 1137, 1138, 1138, 1025, 1138, 1138, 1138, + 1138, 1138, 1138, 1139, 1139, 1021, 1139, 1139, 1139, 1139, + 1139, 1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1141, + 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, 1142, 1142, + 1142, 1142, 1142, 1143, 1143, 1016, 1143, 1143, 1143, 1143, + 1143, 1143, 1144, 1144, 1015, 1144, 1144, 1144, 1144, 1144, + 1144, 1145, 1145, 1014, 1145, 1145, 1145, 1145, 1145, 1145, + 1146, 1146, 1009, 1146, 1146, 1146, 1146, 1146, 1146, 1147, + + 1147, 1008, 1147, 1147, 1147, 1147, 1147, 1147, 1148, 1148, + 1003, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1002, + 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1001, 1150, + 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1000, 1151, 1151, + 1151, 1151, 1151, 1151, 1152, 1152, 998, 1152, 1152, 1152, + 1152, 1152, 1152, 997, 996, 995, 992, 983, 973, 968, + 967, 966, 965, 964, 963, 962, 961, 960, 939, 936, + 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, + 924, 919, 918, 899, 894, 893, 892, 891, 890, 889, + 888, 883, 882, 881, 857, 853, 852, 851, 849, 848, + + 844, 839, 838, 837, 836, 834, 825, 819, 818, 817, + 813, 812, 811, 810, 809, 802, 793, 788, 783, 782, + 781, 780, 779, 778, 777, 775, 771, 770, 769, 768, + 767, 751, 743, 742, 741, 738, 736, 734, 733, 730, + 728, 727, 726, 725, 723, 722, 705, 697, 696, 695, + 692, 690, 689, 677, 676, 675, 674, 672, 671, 670, + 646, 645, 644, 643, 642, 641, 640, 635, 634, 631, + 629, 627, 625, 616, 614, 613, 611, 609, 604, 603, + 602, 601, 600, 597, 596, 595, 594, 573, 570, 568, + 566, 565, 564, 562, 552, 549, 545, 541, 539, 528, + + 527, 524, 523, 522, 519, 518, 517, 516, 496, 494, + 493, 492, 491, 489, 488, 479, 475, 474, 473, 470, + 469, 467, 466, 445, 444, 441, 440, 439, 438, 437, + 436, 418, 416, 413, 407, 403, 396, 388, 382, 381, + 380, 379, 356, 355, 354, 353, 352, 350, 349, 332, + 322, 319, 305, 298, 291, 290, 287, 260, 259, 258, + 257, 252, 226, 225, 220, 203, 194, 193, 171, 170, + 163, 162, 161, 160, 138, 113, 104, 103, 99, 86, + 84, 76, 61, 59, 36, 35, 27, 24, 22, 15, + 12, 10, 8, 3, 1115, 1115, 1115, 1115, 1115, 1115, + + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[248] = +static yyconst flex_int32_t yy_rule_can_match_eol[174] = { 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, - 1, 1, 1, 1, 1, 0, 0, 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, 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, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, + 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 1, 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, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -2221,18 +1491,27 @@ Modify lex.yy.c: * Return 0 if no match found. */ static int skip_comment(); +static int skip_trailing_comment(const char *text, size_t l); static int skip_ahead_multi(const char *strings[]); static int skip_ahead_until(const char *text); static int skip_to_next_directive(); static int skip_conditional_block(); +static void preprocessor_directive(const char *text, size_t l); static void print_preprocessor_error(int result, const char *cp, size_t n); static const char *get_macro_arguments(); static void push_buffer(); static int pop_buffer(); -#line 2236 "lex.yy.c" +static void push_include(const char *filename); +static void pop_include(); + +static void push_macro(MacroInfo *macro); +static void pop_macro(); +static int in_macro(); + +#line 1515 "lex.yy.c" #define INITIAL 0 @@ -2417,10 +1696,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 65 "vtkParse.l" +#line 77 "vtkParse.l" -#line 2424 "lex.yy.c" +#line 1703 "lex.yy.c" if ( !(yy_init) ) { @@ -2474,13 +1753,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 >= 1956 ) + if ( yy_current_state >= 1116 ) 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] != 4605 ); + while ( yy_base[yy_current_state] != 2595 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2516,1508 +1795,1118 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 67 "vtkParse.l" -{ skip_comment(); }; +#line 79 "vtkParse.l" +{ skip_comment(); } YY_BREAK case 2: YY_RULE_SETUP -#line 69 "vtkParse.l" +#line 81 "vtkParse.l" { - if (!IgnoreBTX) { - skip_ahead_until("//ETX"); - } - }; + if (!IgnoreBTX) { + skip_ahead_until("//ETX"); + } + } YY_BREAK case 3: YY_RULE_SETUP -#line 75 "vtkParse.l" -; +#line 87 "vtkParse.l" +/* eat mismatched ETX */ YY_BREAK case 4: YY_RULE_SETUP -#line 77 "vtkParse.l" +#line 89 "vtkParse.l" { - skip_ahead_until("@end"); - }; + skip_ahead_until("@end"); + } YY_BREAK case 5: YY_RULE_SETUP -#line 81 "vtkParse.l" +#line 93 "vtkParse.l" { - size_t pos = 1; - while (yytext[pos-1] != 'M' || yytext[pos] != 'E') - { - pos++; - } - data.NameComment = vtkstrndup(&yytext[pos + 1], yyleng - pos - 1); - }; + size_t pos = 1; + while (yytext[pos-1] != 'M' || yytext[pos] != 'E') + { + pos++; + } + data->NameComment = vtkstrndup(&yytext[pos + 1], yyleng - pos - 1); + } YY_BREAK case 6: YY_RULE_SETUP -#line 90 "vtkParse.l" -{ setCommentState(1); }; +#line 102 "vtkParse.l" +{ setCommentState(1); } YY_BREAK case 7: YY_RULE_SETUP -#line 91 "vtkParse.l" -{ setCommentState(2); }; +#line 103 "vtkParse.l" +{ setCommentState(2); } YY_BREAK case 8: YY_RULE_SETUP -#line 92 "vtkParse.l" -{ setCommentState(3); }; +#line 104 "vtkParse.l" +{ setCommentState(3); } YY_BREAK case 9: YY_RULE_SETUP -#line 93 "vtkParse.l" -{ setCommentState(3); }; +#line 105 "vtkParse.l" +{ setCommentState(3); } YY_BREAK case 10: YY_RULE_SETUP -#line 94 "vtkParse.l" -{ setCommentState(4); }; +#line 106 "vtkParse.l" +{ setCommentState(4); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 95 "vtkParse.l" -{ closeOrClearComment(); }; +#line 107 "vtkParse.l" +{ closeOrClearComment(); } YY_BREAK case 12: YY_RULE_SETUP -#line 96 "vtkParse.l" +#line 108 "vtkParse.l" { - size_t pos = 2; - while (yytext[pos-2] != '/' || yytext[pos-1] != '/') pos++; - addCommentLine(&yytext[pos], yyleng - pos); - }; + size_t pos = 2; + while (yytext[pos-2] != '/' || yytext[pos-1] != '/') pos++; + addCommentLine(&yytext[pos], yyleng - pos); + } YY_BREAK case 13: YY_RULE_SETUP -#line 102 "vtkParse.l" -; +#line 114 "vtkParse.l" +/* eat C++ comments */ YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 104 "vtkParse.l" +#line 116 "vtkParse.l" { - int result; - MacroInfo *macro; - result = vtkParsePreprocess_HandleDirective(&preprocessor, yytext); - if (result == VTK_PARSE_OK) - { - macro = preprocessor.Macros[preprocessor.NumberOfMacros-1]; - if (!macro->IsFunction) - { - add_constant(macro->Name, vtkstrdup(macro->Definition), 0, NULL, 1); - } - } - }; + skip_trailing_comment(yytext, yyleng); + preprocessor_directive(yytext, yyleng); + } YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 118 "vtkParse.l" +#line 121 "vtkParse.l" { - int result = 0; - result = vtkParsePreprocess_HandleDirective(&preprocessor, yytext); - if (result == VTK_PARSE_SKIP) - { - skip_conditional_block(); - } - else if (result != VTK_PARSE_OK) - { - print_preprocessor_error(result, yytext, yyleng); - } - }; + yylval.str = vtkstrndup(yytext, yyleng); + return(STRING_LITERAL); + } YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 131 "vtkParse.l" +#line 126 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(STRING_LITERAL); } + yylval.str = vtkstrndup(yytext, yyleng); + return(CHAR_LITERAL); + } YY_BREAK case 17: -/* rule 17 can match eol */ YY_RULE_SETUP -#line 135 "vtkParse.l" -{ - yylval.str = vtkstrndup(yytext, yyleng); - return(CHAR_LITERAL); } +#line 131 "vtkParse.l" +/* ignore EXPORT macros */ YY_BREAK case 18: YY_RULE_SETUP -#line 139 "vtkParse.l" -; +#line 133 "vtkParse.l" +{ /* let the wrappers see the parameter */ + const char *args = NULL; + const char *cp; + size_t l = 0; + args = get_macro_arguments(); + if (args) + { + cp = args; + if (*cp == '(') { cp++; } + while (*cp == ' ' || *cp == '\t') { cp++; } + l = vtkidlen(cp); + if (l) + { + yylval.str = vtkstrndup(cp, l); + free((char *)args); + return(ID); + } + free((char *)args); + } + } YY_BREAK case 19: -/* rule 19 can match eol */ YY_RULE_SETUP -#line 141 "vtkParse.l" -{ - size_t i; size_t j = 0; - yylval.str = ""; - if (yytext[yyleng-1] == ')') - { - while (yytext[j]!='(') { j++; } - while (yytext[j]==' ' || yytext[j]=='\t') { j++; } - j++; i = j; - while (yytext[j]!=')' && yytext[j] != ' ' && yytext[j] != '\t') { j++; } - yylval.str = vtkstrndup(&yytext[i], j-i); - return(ID); - } - }; +#line 154 "vtkParse.l" +return(DOUBLE); YY_BREAK case 20: -/* rule 20 can match eol */ YY_RULE_SETUP #line 155 "vtkParse.l" -{ - return(CLASS_REF); - }; +return(FLOAT); YY_BREAK case 21: -/* rule 21 can match eol */ YY_RULE_SETUP -#line 159 "vtkParse.l" -{ - return(CLASS_REF); - }; +#line 156 "vtkParse.l" +return(INT64__); YY_BREAK case 22: -/* rule 22 can match eol */ YY_RULE_SETUP -#line 163 "vtkParse.l" -{ - return(CLASS_REF); - }; +#line 157 "vtkParse.l" +return(SHORT); YY_BREAK case 23: -/* rule 23 can match eol */ YY_RULE_SETUP -#line 167 "vtkParse.l" -{ - size_t i = 0; size_t j = 0; - while (yytext[j] != '*') { i++; j++; } - i++; j++; - while (yytext[i] != ' ' && yytext[i] != '\t' && - yytext[i] != '\n' && yytext[i] != '\r' && yytext[i] != ')') {i++;} - yylval.str = vtkstrndup(&yytext[j], i-j); - return(VAR_FUNCTION); - }; +#line 158 "vtkParse.l" +return(LONG); YY_BREAK case 24: -/* rule 24 can match eol */ YY_RULE_SETUP -#line 177 "vtkParse.l" -return(LONG_DOUBLE); +#line 159 "vtkParse.l" +return(CHAR); YY_BREAK case 25: YY_RULE_SETUP -#line 178 "vtkParse.l" -return(DOUBLE); +#line 160 "vtkParse.l" +return(INT); YY_BREAK case 26: YY_RULE_SETUP -#line 179 "vtkParse.l" -return(FLOAT); +#line 162 "vtkParse.l" +return(UNSIGNED); YY_BREAK case 27: -/* rule 27 can match eol */ YY_RULE_SETUP -#line 181 "vtkParse.l" -return(UNSIGNED_INT64__); +#line 163 "vtkParse.l" +return(SIGNED); YY_BREAK case 28: -/* rule 28 can match eol */ YY_RULE_SETUP -#line 182 "vtkParse.l" -return(UNSIGNED_INT64__); +#line 165 "vtkParse.l" +return(VOID); YY_BREAK case 29: -/* rule 29 can match eol */ YY_RULE_SETUP -#line 184 "vtkParse.l" -return(INT64__); +#line 166 "vtkParse.l" +return(BOOL); YY_BREAK case 30: -/* rule 30 can match eol */ YY_RULE_SETUP -#line 185 "vtkParse.l" -return(INT64__); +#line 168 "vtkParse.l" +return(SIZE_T); YY_BREAK case 31: YY_RULE_SETUP -#line 186 "vtkParse.l" -return(INT64__); +#line 169 "vtkParse.l" +return(SSIZE_T); YY_BREAK case 32: -/* rule 32 can match eol */ YY_RULE_SETUP -#line 188 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 171 "vtkParse.l" +/* ignore the Q_OBJECT macro from Qt */ YY_BREAK case 33: /* rule 33 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 189 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 172 "vtkParse.l" +return(PUBLIC); YY_BREAK case 34: /* rule 34 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 190 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 173 "vtkParse.l" +return(PRIVATE); YY_BREAK case 35: /* rule 35 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 191 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 174 "vtkParse.l" +return(PROTECTED); YY_BREAK case 36: /* rule 36 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 192 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 175 "vtkParse.l" +return(PROTECTED); YY_BREAK case 37: -/* rule 37 can match eol */ YY_RULE_SETUP -#line 193 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 177 "vtkParse.l" +return(CLASS); YY_BREAK case 38: -/* rule 38 can match eol */ YY_RULE_SETUP -#line 194 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 178 "vtkParse.l" +return(STRUCT); YY_BREAK case 39: -/* rule 39 can match eol */ YY_RULE_SETUP -#line 195 "vtkParse.l" -return(UNSIGNED_LONG_LONG); +#line 179 "vtkParse.l" +return(PUBLIC); YY_BREAK case 40: -/* rule 40 can match eol */ YY_RULE_SETUP -#line 197 "vtkParse.l" -return(LONG_LONG); +#line 180 "vtkParse.l" +return(PRIVATE); YY_BREAK case 41: -/* rule 41 can match eol */ YY_RULE_SETUP -#line 198 "vtkParse.l" -return(LONG_LONG); +#line 181 "vtkParse.l" +return(PROTECTED); YY_BREAK case 42: -/* rule 42 can match eol */ YY_RULE_SETUP -#line 199 "vtkParse.l" -return(LONG_LONG); +#line 182 "vtkParse.l" +return(ENUM); YY_BREAK case 43: -/* rule 43 can match eol */ YY_RULE_SETUP -#line 200 "vtkParse.l" -return(LONG_LONG); +#line 183 "vtkParse.l" +return(UNION); YY_BREAK case 44: -/* rule 44 can match eol */ YY_RULE_SETUP -#line 201 "vtkParse.l" -return(LONG_LONG); +#line 184 "vtkParse.l" +return(VIRTUAL); YY_BREAK case 45: -/* rule 45 can match eol */ YY_RULE_SETUP -#line 202 "vtkParse.l" -return(LONG_LONG); +#line 185 "vtkParse.l" +return(CONST); YY_BREAK case 46: -/* rule 46 can match eol */ YY_RULE_SETUP -#line 203 "vtkParse.l" -return(LONG_LONG); +#line 186 "vtkParse.l" +return(VOLATILE); YY_BREAK case 47: -/* rule 47 can match eol */ YY_RULE_SETUP -#line 204 "vtkParse.l" -return(LONG_LONG); +#line 187 "vtkParse.l" +return(MUTABLE); YY_BREAK case 48: -/* rule 48 can match eol */ YY_RULE_SETUP -#line 205 "vtkParse.l" -return(LONG_LONG); +#line 188 "vtkParse.l" +return(OPERATOR); YY_BREAK case 49: -/* rule 49 can match eol */ YY_RULE_SETUP -#line 206 "vtkParse.l" -return(LONG_LONG); +#line 189 "vtkParse.l" +return(FRIEND); YY_BREAK case 50: -/* rule 50 can match eol */ YY_RULE_SETUP -#line 207 "vtkParse.l" -return(LONG_LONG); +#line 190 "vtkParse.l" +return(INLINE); YY_BREAK case 51: -/* rule 51 can match eol */ YY_RULE_SETUP -#line 209 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 191 "vtkParse.l" +return(STATIC); YY_BREAK case 52: -/* rule 52 can match eol */ YY_RULE_SETUP -#line 210 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 192 "vtkParse.l" +return(EXTERN); YY_BREAK case 53: -/* rule 53 can match eol */ YY_RULE_SETUP -#line 211 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 193 "vtkParse.l" +return(TEMPLATE); YY_BREAK case 54: -/* rule 54 can match eol */ YY_RULE_SETUP -#line 212 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 194 "vtkParse.l" +return(TYPENAME); YY_BREAK case 55: -/* rule 55 can match eol */ YY_RULE_SETUP -#line 213 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 195 "vtkParse.l" +return(TYPEDEF); YY_BREAK case 56: -/* rule 56 can match eol */ YY_RULE_SETUP -#line 214 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 196 "vtkParse.l" +return(NAMESPACE); YY_BREAK case 57: -/* rule 57 can match eol */ YY_RULE_SETUP -#line 215 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 197 "vtkParse.l" +return(USING); YY_BREAK case 58: -/* rule 58 can match eol */ YY_RULE_SETUP -#line 216 "vtkParse.l" -return(UNSIGNED_SHORT); +#line 198 "vtkParse.l" +return(NEW); YY_BREAK case 59: -/* rule 59 can match eol */ YY_RULE_SETUP -#line 218 "vtkParse.l" -return(SHORT); +#line 199 "vtkParse.l" +return(DELETE); YY_BREAK case 60: -/* rule 60 can match eol */ YY_RULE_SETUP -#line 219 "vtkParse.l" -return(SHORT); +#line 200 "vtkParse.l" +return(EXPLICIT); YY_BREAK case 61: -/* rule 61 can match eol */ YY_RULE_SETUP -#line 220 "vtkParse.l" -return(SHORT); +#line 201 "vtkParse.l" +return(THROW); YY_BREAK case 62: -/* rule 62 can match eol */ YY_RULE_SETUP -#line 221 "vtkParse.l" -return(SHORT); +#line 203 "vtkParse.l" +return(STATIC_CAST); YY_BREAK case 63: -/* rule 63 can match eol */ YY_RULE_SETUP -#line 222 "vtkParse.l" -return(SHORT); +#line 204 "vtkParse.l" +return(DYNAMIC_CAST); YY_BREAK case 64: -/* rule 64 can match eol */ YY_RULE_SETUP -#line 223 "vtkParse.l" -return(SHORT); +#line 205 "vtkParse.l" +return(CONST_CAST); YY_BREAK case 65: -/* rule 65 can match eol */ YY_RULE_SETUP -#line 224 "vtkParse.l" -return(SHORT); +#line 206 "vtkParse.l" +return(REINTERPRET_CAST); YY_BREAK case 66: -/* rule 66 can match eol */ YY_RULE_SETUP -#line 225 "vtkParse.l" -return(SHORT); +#line 208 "vtkParse.l" +/* irrelevant to wrappers */ YY_BREAK case 67: -/* rule 67 can match eol */ YY_RULE_SETUP -#line 226 "vtkParse.l" -return(SHORT); +#line 209 "vtkParse.l" +/* irrelevant to wrappers */ YY_BREAK case 68: -/* rule 68 can match eol */ YY_RULE_SETUP -#line 227 "vtkParse.l" -return(SHORT); +#line 211 "vtkParse.l" +return(OP_LOGIC_AND); YY_BREAK case 69: YY_RULE_SETUP -#line 228 "vtkParse.l" -return(SHORT); +#line 212 "vtkParse.l" +return(OP_AND_EQ); YY_BREAK case 70: -/* rule 70 can match eol */ YY_RULE_SETUP -#line 230 "vtkParse.l" -return(UNSIGNED_LONG); +#line 213 "vtkParse.l" +return(OP_LOGIC_OR); YY_BREAK case 71: -/* rule 71 can match eol */ YY_RULE_SETUP -#line 231 "vtkParse.l" -return(UNSIGNED_LONG); +#line 214 "vtkParse.l" +return(OP_OR_EQ); YY_BREAK case 72: -/* rule 72 can match eol */ YY_RULE_SETUP -#line 232 "vtkParse.l" -return(UNSIGNED_LONG); +#line 215 "vtkParse.l" +return('!'); YY_BREAK case 73: -/* rule 73 can match eol */ YY_RULE_SETUP -#line 233 "vtkParse.l" -return(UNSIGNED_LONG); +#line 216 "vtkParse.l" +return(OP_LOGIC_NEQ); YY_BREAK case 74: -/* rule 74 can match eol */ YY_RULE_SETUP -#line 234 "vtkParse.l" -return(UNSIGNED_LONG); +#line 217 "vtkParse.l" +return('^'); YY_BREAK case 75: -/* rule 75 can match eol */ YY_RULE_SETUP -#line 235 "vtkParse.l" -return(UNSIGNED_LONG); +#line 218 "vtkParse.l" +return(OP_XOR_EQ); YY_BREAK case 76: -/* rule 76 can match eol */ YY_RULE_SETUP -#line 236 "vtkParse.l" -return(UNSIGNED_LONG); +#line 219 "vtkParse.l" +return('&'); YY_BREAK case 77: -/* rule 77 can match eol */ YY_RULE_SETUP -#line 237 "vtkParse.l" -return(UNSIGNED_LONG); +#line 220 "vtkParse.l" +return('|'); YY_BREAK case 78: -/* rule 78 can match eol */ YY_RULE_SETUP -#line 239 "vtkParse.l" -return(LONG); +#line 221 "vtkParse.l" +return('~'); YY_BREAK case 79: -/* rule 79 can match eol */ YY_RULE_SETUP -#line 240 "vtkParse.l" -return(LONG); +#line 223 "vtkParse.l" +return(IdType); YY_BREAK case 80: -/* rule 80 can match eol */ YY_RULE_SETUP -#line 241 "vtkParse.l" -return(LONG); +#line 224 "vtkParse.l" +return(SetMacro); YY_BREAK case 81: -/* rule 81 can match eol */ YY_RULE_SETUP -#line 242 "vtkParse.l" -return(LONG); +#line 225 "vtkParse.l" +return(GetMacro); YY_BREAK case 82: -/* rule 82 can match eol */ YY_RULE_SETUP -#line 243 "vtkParse.l" -return(LONG); +#line 226 "vtkParse.l" +return(SetStringMacro); YY_BREAK case 83: -/* rule 83 can match eol */ YY_RULE_SETUP -#line 244 "vtkParse.l" -return(LONG); +#line 227 "vtkParse.l" +return(GetStringMacro); YY_BREAK case 84: -/* rule 84 can match eol */ YY_RULE_SETUP -#line 245 "vtkParse.l" -return(LONG); +#line 228 "vtkParse.l" +return(SetClampMacro); YY_BREAK case 85: -/* rule 85 can match eol */ YY_RULE_SETUP -#line 246 "vtkParse.l" -return(LONG); +#line 229 "vtkParse.l" +return(SetObjectMacro); YY_BREAK case 86: -/* rule 86 can match eol */ YY_RULE_SETUP -#line 247 "vtkParse.l" -return(LONG); +#line 230 "vtkParse.l" +return(GetObjectMacro); YY_BREAK case 87: -/* rule 87 can match eol */ YY_RULE_SETUP -#line 248 "vtkParse.l" -return(LONG); +#line 231 "vtkParse.l" +return(BooleanMacro); YY_BREAK case 88: YY_RULE_SETUP -#line 249 "vtkParse.l" -return(LONG); +#line 232 "vtkParse.l" +return(SetVector2Macro); YY_BREAK case 89: -/* rule 89 can match eol */ YY_RULE_SETUP -#line 251 "vtkParse.l" -return(UNSIGNED_CHAR); +#line 233 "vtkParse.l" +return(SetVector3Macro); YY_BREAK case 90: -/* rule 90 can match eol */ YY_RULE_SETUP -#line 252 "vtkParse.l" -return(UNSIGNED_CHAR); +#line 234 "vtkParse.l" +return(SetVector4Macro); YY_BREAK case 91: -/* rule 91 can match eol */ YY_RULE_SETUP -#line 253 "vtkParse.l" -return(SIGNED_CHAR); +#line 235 "vtkParse.l" +return(SetVector6Macro); YY_BREAK case 92: -/* rule 92 can match eol */ YY_RULE_SETUP -#line 254 "vtkParse.l" -return(SIGNED_CHAR); +#line 236 "vtkParse.l" +return(GetVector2Macro); YY_BREAK case 93: YY_RULE_SETUP -#line 255 "vtkParse.l" -return(CHAR); +#line 237 "vtkParse.l" +return(GetVector3Macro); YY_BREAK case 94: -/* rule 94 can match eol */ YY_RULE_SETUP -#line 257 "vtkParse.l" -return(UNSIGNED_INT); +#line 238 "vtkParse.l" +return(GetVector4Macro); YY_BREAK case 95: -/* rule 95 can match eol */ YY_RULE_SETUP -#line 258 "vtkParse.l" -return(UNSIGNED_INT); +#line 239 "vtkParse.l" +return(GetVector6Macro); YY_BREAK case 96: -/* rule 96 can match eol */ YY_RULE_SETUP -#line 260 "vtkParse.l" -return(INT); +#line 240 "vtkParse.l" +return(SetVectorMacro); YY_BREAK case 97: -/* rule 97 can match eol */ YY_RULE_SETUP -#line 261 "vtkParse.l" -return(INT); +#line 241 "vtkParse.l" +return(GetVectorMacro); YY_BREAK case 98: YY_RULE_SETUP -#line 262 "vtkParse.l" -return(INT); +#line 242 "vtkParse.l" +return(ViewportCoordinateMacro); YY_BREAK case 99: YY_RULE_SETUP -#line 264 "vtkParse.l" -return(UNSIGNED); +#line 243 "vtkParse.l" +return(WorldCoordinateMacro); YY_BREAK case 100: YY_RULE_SETUP -#line 265 "vtkParse.l" -return(SIGNED); +#line 244 "vtkParse.l" +return(TypeMacro); YY_BREAK case 101: YY_RULE_SETUP -#line 267 "vtkParse.l" -return(VOID); +#line 245 "vtkParse.l" +return(TypeMacro); YY_BREAK case 102: YY_RULE_SETUP -#line 268 "vtkParse.l" -return(BOOL); +#line 246 "vtkParse.l" +return(TypeMacro); YY_BREAK case 103: YY_RULE_SETUP -#line 270 "vtkParse.l" -return(SIZE_T); +#line 247 "vtkParse.l" +return(TypeMacro); YY_BREAK case 104: YY_RULE_SETUP -#line 271 "vtkParse.l" -return(SSIZE_T); +#line 248 "vtkParse.l" +; YY_BREAK case 105: YY_RULE_SETUP -#line 273 "vtkParse.l" -; +#line 249 "vtkParse.l" +return(VTK_BYTE_SWAP_DECL); YY_BREAK case 106: -/* rule 106 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 274 "vtkParse.l" -return(PUBLIC); +#line 250 "vtkParse.l" +return(TypeInt8); YY_BREAK case 107: -/* rule 107 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 275 "vtkParse.l" -return(PRIVATE); +#line 251 "vtkParse.l" +return(TypeUInt8); YY_BREAK case 108: -/* rule 108 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 276 "vtkParse.l" -return(PROTECTED); +#line 252 "vtkParse.l" +return(TypeInt16); YY_BREAK case 109: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 7; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 277 "vtkParse.l" -return(PROTECTED); +#line 253 "vtkParse.l" +return(TypeUInt16); YY_BREAK case 110: YY_RULE_SETUP -#line 279 "vtkParse.l" -return(CLASS); +#line 254 "vtkParse.l" +return(TypeInt32); YY_BREAK case 111: YY_RULE_SETUP -#line 280 "vtkParse.l" -return(STRUCT); +#line 255 "vtkParse.l" +return(TypeUInt32); YY_BREAK case 112: YY_RULE_SETUP -#line 281 "vtkParse.l" -return(PUBLIC); +#line 256 "vtkParse.l" +return(TypeInt64); YY_BREAK case 113: YY_RULE_SETUP -#line 282 "vtkParse.l" -return(PRIVATE); +#line 257 "vtkParse.l" +return(TypeUInt64); YY_BREAK case 114: YY_RULE_SETUP -#line 283 "vtkParse.l" -return(PROTECTED); +#line 258 "vtkParse.l" +return(TypeFloat32); YY_BREAK case 115: YY_RULE_SETUP -#line 284 "vtkParse.l" -return(ENUM); +#line 259 "vtkParse.l" +return(TypeFloat64); YY_BREAK case 116: +/* rule 116 can match eol */ YY_RULE_SETUP -#line 285 "vtkParse.l" -return(UNION); +#line 261 "vtkParse.l" +{ + size_t i = 1; + size_t j; + while (yytext[i]==' ' || yytext[i]=='\t' || + yytext[i]=='\r' || yytext[i]=='\n') { i++; } + j = i; + while (yytext[j]!='&') { j++; } + yylval.str = vtkstrndup(&yytext[i], j-i); + return(LA); + } YY_BREAK case 117: +/* rule 117 can match eol */ YY_RULE_SETUP -#line 286 "vtkParse.l" -return(VIRTUAL); +#line 272 "vtkParse.l" +{ + size_t i = 1; + size_t j; + while (yytext[i]==' ' || yytext[i]=='\t' || + yytext[i]=='\r' || yytext[i]=='\n') { i++; } + j = i; + while (yytext[j]!='*') { j++; } + yylval.str = vtkstrndup(&yytext[i], j-i); + return(LP); + } YY_BREAK case 118: +/* rule 118 can match eol */ YY_RULE_SETUP -#line 287 "vtkParse.l" -return(CONST); +#line 283 "vtkParse.l" +{ + yylval.str = ""; + return(LP); + } YY_BREAK case 119: +/* rule 119 can match eol */ YY_RULE_SETUP #line 288 "vtkParse.l" -return(MUTABLE); +{ + yylval.str = ""; + return(LP); + } YY_BREAK case 120: YY_RULE_SETUP -#line 289 "vtkParse.l" -return(OPERATOR); +#line 293 "vtkParse.l" +return('*'); YY_BREAK case 121: YY_RULE_SETUP -#line 290 "vtkParse.l" -return(FRIEND); +#line 295 "vtkParse.l" +/* misc unused win32 macros */ YY_BREAK case 122: +/* rule 122 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 291 "vtkParse.l" -return(INLINE); +#line 297 "vtkParse.l" +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(OSTREAM); + } YY_BREAK case 123: +/* rule 123 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 292 "vtkParse.l" -return(STATIC); +#line 302 "vtkParse.l" +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(ISTREAM); + } YY_BREAK case 124: +/* rule 124 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 293 "vtkParse.l" -return(EXTERN); +#line 307 "vtkParse.l" +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(StdString); + } YY_BREAK case 125: YY_RULE_SETUP -#line 294 "vtkParse.l" -return(TEMPLATE); - YY_BREAK -case 126: -YY_RULE_SETUP -#line 295 "vtkParse.l" -return(TYPENAME); - YY_BREAK -case 127: -YY_RULE_SETUP -#line 296 "vtkParse.l" -return(TYPEDEF); - YY_BREAK -case 128: -YY_RULE_SETUP -#line 297 "vtkParse.l" -return(NAMESPACE); - YY_BREAK -case 129: -YY_RULE_SETUP -#line 298 "vtkParse.l" -return(USING); - YY_BREAK -case 130: -YY_RULE_SETUP -#line 299 "vtkParse.l" -return(NEW); - YY_BREAK -case 131: -YY_RULE_SETUP -#line 300 "vtkParse.l" -return(DELETE); - YY_BREAK -case 132: -YY_RULE_SETUP -#line 301 "vtkParse.l" -return(EXPLICIT); - YY_BREAK -case 133: -YY_RULE_SETUP -#line 303 "vtkParse.l" -return(STATIC_CAST); - YY_BREAK -case 134: -YY_RULE_SETUP -#line 304 "vtkParse.l" -return(DYNAMIC_CAST); - YY_BREAK -case 135: -YY_RULE_SETUP -#line 305 "vtkParse.l" -return(CONST_CAST); - YY_BREAK -case 136: -YY_RULE_SETUP -#line 306 "vtkParse.l" -return(REINTERPRET_CAST); - YY_BREAK -case 137: -YY_RULE_SETUP -#line 308 "vtkParse.l" -; - YY_BREAK -case 138: -YY_RULE_SETUP -#line 309 "vtkParse.l" -; - YY_BREAK -case 139: -YY_RULE_SETUP -#line 310 "vtkParse.l" -; - YY_BREAK -case 140: -YY_RULE_SETUP #line 312 "vtkParse.l" -return(OP_LOGIC_AND); - YY_BREAK -case 141: -YY_RULE_SETUP -#line 313 "vtkParse.l" -return(OP_AND_EQ); - YY_BREAK -case 142: -YY_RULE_SETUP -#line 314 "vtkParse.l" -return(OP_LOGIC_OR); - YY_BREAK -case 143: -YY_RULE_SETUP -#line 315 "vtkParse.l" -return(OP_OR_EQ); - YY_BREAK -case 144: -YY_RULE_SETUP -#line 316 "vtkParse.l" -return('!'); +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(StdString); + } YY_BREAK -case 145: +case 126: YY_RULE_SETUP #line 317 "vtkParse.l" -return(OP_LOGIC_NEQ); - YY_BREAK -case 146: -YY_RULE_SETUP -#line 318 "vtkParse.l" -return('^'); - YY_BREAK -case 147: -YY_RULE_SETUP -#line 319 "vtkParse.l" -return(OP_XOR_EQ); - YY_BREAK -case 148: -YY_RULE_SETUP -#line 320 "vtkParse.l" -return('&'); - YY_BREAK -case 149: -YY_RULE_SETUP -#line 321 "vtkParse.l" -return('|'); +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(UnicodeString); + } YY_BREAK -case 150: +case 127: YY_RULE_SETUP #line 322 "vtkParse.l" -return('~'); - YY_BREAK -case 151: -YY_RULE_SETUP -#line 324 "vtkParse.l" -return(FloatType); - YY_BREAK -case 152: -YY_RULE_SETUP -#line 325 "vtkParse.l" -return(IdType); - YY_BREAK -case 153: -YY_RULE_SETUP -#line 326 "vtkParse.l" -return(SetMacro); +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(VTK_ID); + } YY_BREAK -case 154: +case 128: YY_RULE_SETUP #line 327 "vtkParse.l" -return(GetMacro); - YY_BREAK -case 155: -YY_RULE_SETUP -#line 328 "vtkParse.l" -return(SetStringMacro); - YY_BREAK -case 156: -YY_RULE_SETUP -#line 329 "vtkParse.l" -return(GetStringMacro); - YY_BREAK -case 157: -YY_RULE_SETUP -#line 330 "vtkParse.l" -return(SetClampMacro); - YY_BREAK -case 158: -YY_RULE_SETUP -#line 331 "vtkParse.l" -return(SetObjectMacro); +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(QT_ID); + } YY_BREAK -case 159: +case 129: YY_RULE_SETUP #line 332 "vtkParse.l" -return(GetObjectMacro); +get_macro_arguments(); /* gcc attributes */ YY_BREAK -case 160: -YY_RULE_SETUP -#line 333 "vtkParse.l" -return(BooleanMacro); - YY_BREAK -case 161: +case 130: YY_RULE_SETUP #line 334 "vtkParse.l" -return(SetVector2Macro); +get_macro_arguments(); /* Windows linkage */ YY_BREAK -case 162: -YY_RULE_SETUP -#line 335 "vtkParse.l" -return(SetVector3Macro); - YY_BREAK -case 163: +case 131: YY_RULE_SETUP #line 336 "vtkParse.l" -return(SetVector4Macro); +/* Windows */ YY_BREAK -case 164: -YY_RULE_SETUP -#line 337 "vtkParse.l" -return(SetVector6Macro); - YY_BREAK -case 165: +case 132: YY_RULE_SETUP #line 338 "vtkParse.l" -return(GetVector2Macro); - YY_BREAK -case 166: -YY_RULE_SETUP -#line 339 "vtkParse.l" -return(GetVector3Macro); - YY_BREAK -case 167: -YY_RULE_SETUP -#line 340 "vtkParse.l" -return(GetVector4Macro); - YY_BREAK -case 168: -YY_RULE_SETUP -#line 341 "vtkParse.l" -return(GetVector6Macro); - YY_BREAK -case 169: -YY_RULE_SETUP -#line 342 "vtkParse.l" -return(SetVectorMacro); - YY_BREAK -case 170: -YY_RULE_SETUP -#line 343 "vtkParse.l" -return(GetVectorMacro); - YY_BREAK -case 171: -YY_RULE_SETUP -#line 344 "vtkParse.l" -return(ViewportCoordinateMacro); - YY_BREAK -case 172: -YY_RULE_SETUP -#line 345 "vtkParse.l" -return(WorldCoordinateMacro); - YY_BREAK -case 173: -YY_RULE_SETUP -#line 346 "vtkParse.l" -return(TypeMacro); - YY_BREAK -case 174: -YY_RULE_SETUP -#line 347 "vtkParse.l" -return(TypeMacro); - YY_BREAK -case 175: -YY_RULE_SETUP -#line 348 "vtkParse.l" -return(TypeMacro); - YY_BREAK -case 176: -YY_RULE_SETUP -#line 349 "vtkParse.l" -return(TypeMacro); - YY_BREAK -case 177: -YY_RULE_SETUP -#line 350 "vtkParse.l" -return(VTK_LEGACY); - YY_BREAK -case 178: -YY_RULE_SETUP -#line 351 "vtkParse.l" -; - YY_BREAK -case 179: -YY_RULE_SETUP -#line 352 "vtkParse.l" -return(VTK_BYTE_SWAP_DECL); - YY_BREAK -case 180: -YY_RULE_SETUP -#line 353 "vtkParse.l" -return(TypeInt8); - YY_BREAK -case 181: -YY_RULE_SETUP -#line 354 "vtkParse.l" -return(TypeUInt8); - YY_BREAK -case 182: -YY_RULE_SETUP -#line 355 "vtkParse.l" -return(TypeInt16); - YY_BREAK -case 183: -YY_RULE_SETUP -#line 356 "vtkParse.l" -return(TypeUInt16); - YY_BREAK -case 184: -YY_RULE_SETUP -#line 357 "vtkParse.l" -return(TypeInt32); - YY_BREAK -case 185: -YY_RULE_SETUP -#line 358 "vtkParse.l" -return(TypeUInt32); - YY_BREAK -case 186: -YY_RULE_SETUP -#line 359 "vtkParse.l" -return(TypeInt64); - YY_BREAK -case 187: -YY_RULE_SETUP -#line 360 "vtkParse.l" -return(TypeUInt64); - YY_BREAK -case 188: -YY_RULE_SETUP -#line 361 "vtkParse.l" -return(TypeFloat32); - YY_BREAK -case 189: -YY_RULE_SETUP -#line 362 "vtkParse.l" -return(TypeFloat64); - YY_BREAK -case 190: -/* rule 190 can match eol */ -YY_RULE_SETUP -#line 364 "vtkParse.l" -return(CONST_PTR); - YY_BREAK -case 191: -/* rule 191 can match eol */ -YY_RULE_SETUP -#line 365 "vtkParse.l" -return(CONST_EQUAL); - YY_BREAK -case 192: -/* rule 192 can match eol */ -YY_RULE_SETUP -#line 367 "vtkParse.l" -{ - size_t i = 1; - size_t j; - while (yytext[i]==' ' || yytext[i]=='\t' || - yytext[i]=='\r' || yytext[i]=='\n') { i++; } - j = i; - while (yytext[j]!='&') { j++; } - yylval.str = vtkstrndup(&yytext[i], j-i); - return(LA); } - YY_BREAK -case 193: -/* rule 193 can match eol */ -YY_RULE_SETUP -#line 377 "vtkParse.l" -{ - size_t i = 1; - size_t j; - while (yytext[i]==' ' || yytext[i]=='\t' || - yytext[i]=='\r' || yytext[i]=='\n') { i++; } - j = i; - while (yytext[j]!='*') { j++; } - yylval.str = vtkstrndup(&yytext[i], j-i); - return(LP); } - YY_BREAK -case 194: -/* rule 194 can match eol */ -YY_RULE_SETUP -#line 387 "vtkParse.l" -{ - yylval.str = ""; - return(LP); } - YY_BREAK -case 195: -/* rule 195 can match eol */ -YY_RULE_SETUP -#line 391 "vtkParse.l" -{ - yylval.str = ""; - return(LP); } - YY_BREAK -case 196: -YY_RULE_SETUP -#line 395 "vtkParse.l" -{ return('*'); } - YY_BREAK -case 197: -YY_RULE_SETUP -#line 397 "vtkParse.l" -; - YY_BREAK -case 198: -YY_RULE_SETUP -#line 398 "vtkParse.l" -; - YY_BREAK -case 199: -YY_RULE_SETUP -#line 399 "vtkParse.l" -; - YY_BREAK -case 200: -YY_RULE_SETUP -#line 401 "vtkParse.l" -{ - yylval.str = vtkstrndup(yytext, yyleng); - return(OSTREAM); } - YY_BREAK -case 201: -YY_RULE_SETUP -#line 405 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(ISTREAM); } + const char *args = get_macro_arguments(); + if (args && args[0] != '\0' && args[1] != '\0') + { + size_t l = strlen(args); + push_macro(NULL); + push_buffer(); + macroName = "VTK_LEGACY"; + macroUsed = 0; + macroEnded = 0; + yy_switch_to_buffer(yy_scan_bytes(&args[1],l-2)); + } + free((char *)args); + } YY_BREAK -case 202: +case 133: YY_RULE_SETUP -#line 409 "vtkParse.l" +#line 353 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(StdString); } - YY_BREAK -case 203: -YY_RULE_SETUP -#line 413 "vtkParse.l" -{ yylval.str = vtkstrndup(yytext, yyleng); - return(UnicodeString); } - YY_BREAK -case 204: -YY_RULE_SETUP -#line 416 "vtkParse.l" -{ yylval.str = vtkstrdup("vtkDataArray"); return(VTK_ID); } - YY_BREAK -case 205: -YY_RULE_SETUP -#line 418 "vtkParse.l" -{ yylval.str = vtkstrndup(yytext, yyleng); - return(ID); } - YY_BREAK -case 206: -YY_RULE_SETUP -#line 421 "vtkParse.l" -{ yylval.str = vtkstrndup(yytext, yyleng); - return(QT_ID); } + const char *name = vtkstrndup(yytext, yyleng); + MacroInfo *macro = vtkParsePreprocess_GetMacro(preprocessor, name); + int expanded = 0; + if (macro) + { + const char *args = NULL; + const char *emacro = NULL; + + /* make sure that vtkNotUsed is never expanded */ + MacroInfo *ex; + ex = vtkParsePreprocess_GetMacro(preprocessor, "vtkNotUsed"); + if (ex) + { + ex->IsExcluded = 1; + } + + if (macro->IsFunction) + { + args = get_macro_arguments(); + if (args) + { + emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, args); + if (!emacro) + { + print_preprocessor_error(VTK_PARSE_MACRO_NUMARGS, NULL, 0); + } + free((char *)args); + } + } + else if (macro->Definition && macro->Definition[0]) + { + /* first see if macro evaluates to a constant value */ + preproc_int_t val; + int is_unsigned; + int r; + macro->IsExcluded = 1; + r = vtkParsePreprocess_EvaluateExpression( + preprocessor, macro->Definition, &val, &is_unsigned); + macro->IsExcluded = 0; + /* if it isn't a constant expression, then expand it */ + if (r >= VTK_PARSE_MACRO_UNDEFINED) + { + emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, NULL); + if (!emacro) + { + print_preprocessor_error(r, NULL, 0); + } + } + } + else + { + /* macros with no definition expand to nothing */ + expanded = 1; + } + if (emacro) + { + /* invoke the parser on any expanded macros */ + push_macro(macro); + push_buffer(); + yy_switch_to_buffer(yy_scan_string(emacro)); + vtkParsePreprocess_FreeMacroExpansion(preprocessor, macro, emacro); + expanded = 1; + } + } + if (!expanded) + { + /* if no macro expansion occurred, return the ID */ + yylval.str = name; + if (yyleng > 3 && name[0] == 'v' && name[1] == 't' && name[2] == 'k') + { + return(VTK_ID); + } + else if (name[0] == 'Q') + { + return(QT_ID); + } + else + { + return(ID); + } + } + } YY_BREAK -case 207: +case 134: YY_RULE_SETUP -#line 424 "vtkParse.l" -{ get_macro_arguments(); }; +#line 437 "vtkParse.l" +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(FLOAT_LITERAL); + } YY_BREAK -case 208: +case 135: YY_RULE_SETUP -#line 426 "vtkParse.l" +#line 442 "vtkParse.l" { - const char *name = vtkstrndup(yytext, yyleng); - MacroInfo *macro = vtkParsePreprocess_GetMacro(&preprocessor, name); - int expanded = 0; - - if (macro) - { - if (macro->IsFunction) - { - const char *args = get_macro_arguments(); - const char *emacro = NULL; - if (args) - { - emacro = vtkParsePreprocess_ExpandMacro(macro, args); - free((char *)args); - if (emacro) - { - push_buffer(); - yy_switch_to_buffer(yy_scan_string(emacro)); - vtkParsePreprocess_FreeExpandedMacro(emacro); - expanded = 1; - } - else - { - print_preprocessor_error( - VTK_PARSE_MACRO_NUMARGS, macro->Name, strlen(macro->Name)); - } - } - } - /* non-function macro expansion breaks "real superclass" trick - else if (macro->Definition) - { - push_buffer(); - yy_switch_to_buffer(yy_scan_string(macro->Definition)); - expanded = 1; - } - */ - } - if (!expanded) - { - yylval.str = name; - if (yyleng > 3 && name[0] == 'v' && name[1] == 't' && name[2] == 'k') - { - return(VTK_ID); - } - else if (name[0] == 'Q') - { - return(QT_ID); - } - else - { - return(ID); - } - } - }; + yylval.str = vtkstrndup(yytext, yyleng); + return(FLOAT_LITERAL); + } YY_BREAK -case 209: +case 136: YY_RULE_SETUP -#line 482 "vtkParse.l" +#line 447 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(FLOAT_LITERAL); } + yylval.str = vtkstrndup(yytext, yyleng); + return(FLOAT_LITERAL); + } YY_BREAK -case 210: +case 137: YY_RULE_SETUP -#line 486 "vtkParse.l" +#line 452 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(HEX_LITERAL); } + yylval.str = vtkstrndup(yytext, yyleng); + return(HEX_LITERAL); + } YY_BREAK -case 211: +case 138: YY_RULE_SETUP -#line 490 "vtkParse.l" +#line 457 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(OCT_LITERAL); } + yylval.str = vtkstrndup(yytext, yyleng); + return(OCT_LITERAL); + } YY_BREAK -case 212: +case 139: YY_RULE_SETUP -#line 494 "vtkParse.l" +#line 462 "vtkParse.l" { - yylval.str = vtkstrndup(yytext, yyleng); - return(INT_LITERAL); } + yylval.str = vtkstrndup(yytext, yyleng); + return(INT_LITERAL); + } YY_BREAK -case 213: +case 140: YY_RULE_SETUP -#line 498 "vtkParse.l" -{ yylval.str = vtkstrndup(yytext, yyleng); - return(ZERO); }; +#line 467 "vtkParse.l" +{ + yylval.str = vtkstrndup(yytext, yyleng); + return(ZERO); + } YY_BREAK -case 214: -/* rule 214 can match eol */ +case 141: +/* rule 141 can match eol */ YY_RULE_SETUP -#line 501 "vtkParse.l" -; +#line 472 "vtkParse.l" +/* escaped newlines */ YY_BREAK -case 215: -/* rule 215 can match eol */ +case 142: YY_RULE_SETUP -#line 502 "vtkParse.l" -; +#line 473 "vtkParse.l" +/* whitespace */ YY_BREAK -case 216: -/* rule 216 can match eol */ +case 143: +/* rule 143 can match eol */ YY_RULE_SETUP -#line 503 "vtkParse.l" -; +#line 474 "vtkParse.l" +/* whitespace */ YY_BREAK -case 217: +case 144: YY_RULE_SETUP -#line 505 "vtkParse.l" +#line 476 "vtkParse.l" return(OP_LSHIFT_EQ); YY_BREAK -case 218: +case 145: YY_RULE_SETUP -#line 506 "vtkParse.l" +#line 477 "vtkParse.l" return(OP_RSHIFT_EQ); YY_BREAK -case 219: +case 146: YY_RULE_SETUP -#line 507 "vtkParse.l" +#line 478 "vtkParse.l" return(OP_LSHIFT); YY_BREAK -case 220: +case 147: +YY_RULE_SETUP +#line 479 "vtkParse.l" +return(OP_DOT_POINTER); + YY_BREAK +case 148: YY_RULE_SETUP -#line 508 "vtkParse.l" +#line 480 "vtkParse.l" return(OP_ARROW_POINTER); YY_BREAK -case 221: +case 149: YY_RULE_SETUP -#line 509 "vtkParse.l" +#line 481 "vtkParse.l" return(OP_ARROW); YY_BREAK -case 222: +case 150: YY_RULE_SETUP -#line 510 "vtkParse.l" +#line 482 "vtkParse.l" return(OP_RSHIFT); YY_BREAK -case 223: +case 151: YY_RULE_SETUP -#line 511 "vtkParse.l" +#line 483 "vtkParse.l" return(OP_INCR); YY_BREAK -case 224: +case 152: YY_RULE_SETUP -#line 512 "vtkParse.l" +#line 484 "vtkParse.l" return(OP_DECR); YY_BREAK -case 225: +case 153: YY_RULE_SETUP -#line 513 "vtkParse.l" +#line 485 "vtkParse.l" return(OP_PLUS_EQ); YY_BREAK -case 226: +case 154: YY_RULE_SETUP -#line 514 "vtkParse.l" +#line 486 "vtkParse.l" return(OP_MINUS_EQ); YY_BREAK -case 227: +case 155: YY_RULE_SETUP -#line 515 "vtkParse.l" +#line 487 "vtkParse.l" return(OP_TIMES_EQ); YY_BREAK -case 228: +case 156: YY_RULE_SETUP -#line 516 "vtkParse.l" +#line 488 "vtkParse.l" return(OP_DIVIDE_EQ); YY_BREAK -case 229: +case 157: YY_RULE_SETUP -#line 517 "vtkParse.l" +#line 489 "vtkParse.l" return(OP_REMAINDER_EQ); YY_BREAK -case 230: +case 158: YY_RULE_SETUP -#line 518 "vtkParse.l" +#line 490 "vtkParse.l" return(OP_AND_EQ); YY_BREAK -case 231: +case 159: YY_RULE_SETUP -#line 519 "vtkParse.l" +#line 491 "vtkParse.l" return(OP_OR_EQ); YY_BREAK -case 232: +case 160: YY_RULE_SETUP -#line 520 "vtkParse.l" +#line 492 "vtkParse.l" return(OP_XOR_EQ); YY_BREAK -case 233: -YY_RULE_SETUP -#line 521 "vtkParse.l" -return(OP_LOGIC_AND_EQ); - YY_BREAK -case 234: -YY_RULE_SETUP -#line 522 "vtkParse.l" -return(OP_LOGIC_OR_EQ); - YY_BREAK -case 235: +case 161: YY_RULE_SETUP -#line 523 "vtkParse.l" +#line 493 "vtkParse.l" return(OP_LOGIC_AND); YY_BREAK -case 236: +case 162: YY_RULE_SETUP -#line 524 "vtkParse.l" +#line 494 "vtkParse.l" return(OP_LOGIC_OR); YY_BREAK -case 237: +case 163: YY_RULE_SETUP -#line 525 "vtkParse.l" +#line 495 "vtkParse.l" return(OP_LOGIC_EQ); YY_BREAK -case 238: +case 164: YY_RULE_SETUP -#line 526 "vtkParse.l" +#line 496 "vtkParse.l" return(OP_LOGIC_NEQ); YY_BREAK -case 239: +case 165: YY_RULE_SETUP -#line 527 "vtkParse.l" +#line 497 "vtkParse.l" return(OP_LOGIC_LEQ); YY_BREAK -case 240: +case 166: YY_RULE_SETUP -#line 528 "vtkParse.l" +#line 498 "vtkParse.l" return(OP_LOGIC_GEQ); YY_BREAK -case 241: +case 167: YY_RULE_SETUP -#line 529 "vtkParse.l" +#line 499 "vtkParse.l" return(ELLIPSIS); YY_BREAK -case 242: +case 168: YY_RULE_SETUP -#line 530 "vtkParse.l" +#line 500 "vtkParse.l" return(DOUBLE_COLON); YY_BREAK -case 243: +case 169: YY_RULE_SETUP -#line 532 "vtkParse.l" -{ return(yytext[0]); } +#line 502 "vtkParse.l" +return('['); YY_BREAK -case 244: +case 170: YY_RULE_SETUP -#line 533 "vtkParse.l" -{ return(yytext[0]); } +#line 503 "vtkParse.l" +return(']'); YY_BREAK -case 245: +case 171: YY_RULE_SETUP -#line 535 "vtkParse.l" -{ return(yytext[0]); } +#line 505 "vtkParse.l" +return(yytext[0]); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 537 "vtkParse.l" +#line 507 "vtkParse.l" { if (!pop_buffer()) { yyterminate(); } } YY_BREAK -case 246: +case 172: YY_RULE_SETUP -#line 539 "vtkParse.l" +#line 509 "vtkParse.l" { return(OTHER); } YY_BREAK -case 247: +case 173: YY_RULE_SETUP -#line 541 "vtkParse.l" +#line 511 "vtkParse.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 4021 "lex.yy.c" +#line 2910 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -4308,7 +3197,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]; - if ( yy_current_state >= 1956 ) + if ( yy_current_state >= 1116 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -4336,11 +3225,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]; - if ( yy_current_state >= 1956 ) + if ( yy_current_state >= 1116 ) 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 == 1955); + yy_is_jam = (yy_current_state == 1115); return yy_is_jam ? 0 : yy_current_state; } @@ -5026,7 +3915,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 541 "vtkParse.l" +#line 511 "vtkParse.l" @@ -5041,6 +3930,15 @@ const char *get_macro_arguments() int ws = 0; int sl = 0; int c1 = input(); + + if (c1 == '\0') + { + if (pop_buffer() == 0) + { + return NULL; + } + } + while (c1 == ' ' || c1 == '\t' || c1 == '\r' || c1 == '\n') { c1 = input(); @@ -5188,7 +4086,8 @@ int skip_comment() { if (c2 == 0) { - fprintf(yyout,"Cannot find closing comment.\n"); + print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR, + "Cannot find end of comment.", 27); return 0; } if (c1 == '*' && c2 == '/') break; @@ -5197,6 +4096,72 @@ int skip_comment() return 1; } +/* + * If token contains a comment, make sure whole comment is skipped. + */ +int skip_trailing_comment(const char *text, size_t l) +{ + const char *cp = text; + const char *ep = text + l; + int incomment = 0; + + while (cp < ep) + { + while (cp < ep && *cp != '/' && *cp != '\"') { cp++; }; + if (cp >= ep) + { + break; + } + else if (cp[0] == '/' && cp[1] == '*') + { + incomment = 1; + cp += 2; + while (cp < ep && *cp != '*') { cp++; }; + if (cp[0] == '*' && cp[1] == '/') + { + incomment = 0; + cp += 2; + } + else + { + cp++; + } + } + else if (cp[0] == '\"') + { + cp++; + while (cp < ep) + { + while (cp < ep && *cp != '\\' && *cp != '\"') { cp++; }; + if (cp >= ep) + { + break; + } + else if (*cp == '\"') + { + cp++; + break; + } + else /* if (*cp == '\\') */ + { + cp += 2; + } + } + } + else + { + cp++; + } + } + + if (incomment) + { + return skip_comment(); + } + + return 1; +} + /* * Skip ahead until the next preprocessor directive. * This will eat the '#' that starts the directive. @@ -5204,26 +4169,29 @@ int skip_comment() */ int skip_to_next_directive() { + /* state == 0 at the start of a line */ int state = 0; int c; - do + c = input(); + + while (c != 0) { - c = input(); - if (c == 0) + /* whitespace */ + if (c == ' ' || c == '\t') { - break; + c = input(); } - - /* newline changes state */ - if (c == '\n') + /* newline renews the start-of-line state */ + else if (c == '\n') { state = 0; c = input(); } /* skip comments */ - if (c == '/') + else if (c == '/') { + state = 1; if ( (c = input()) == '*') { if (skip_comment() == 0) @@ -5233,30 +4201,33 @@ int skip_to_next_directive() c = input(); } } - /* skip escaped newlines */ - if (c == '\\') + /* skip escaped characters */ + else if (c == '\\') { + state = 1; if ( (c = input()) == '\r') { - c = input(); + if ( (c = input()) == '\n') + { + c = input(); + } } - if (c == '\n') + else if (c != 0) { c = input(); } } - /* skip allowed whitespace */ - while (c == ' ' || c == '\t') + /* any other chars except '#' at start of line */ + else if (c != '#' || state != 0) { + state = 1; c = input(); } - /* look for the directive */ - if (state == 0 && c == '#') + else { break; } } - while (c != 0); return c; } @@ -5319,7 +4290,7 @@ int skip_conditional_block() } linebuf[i++] = c; - result = vtkParsePreprocess_HandleDirective(&preprocessor, linebuf); + result = vtkParsePreprocess_HandleDirective(preprocessor, linebuf); if (result != VTK_PARSE_SKIP && result != VTK_PARSE_OK) { print_preprocessor_error(result, linebuf, i); @@ -5357,7 +4328,7 @@ int skip_ahead_multi(const char *strings[]) if ((c = (char)input()) == '\0') { - fprintf(yyout, "Cannot find matching %s.\n", strings[0]); + print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR, NULL, 0); return 0; } @@ -5413,7 +4384,7 @@ void push_buffer() { buffer_stack = (YY_BUFFER_STATE *)malloc(4*sizeof(YY_BUFFER_STATE)); } - // grow the stack whenever size reaches a power of two + /* grow the stack whenever size reaches a power of two */ else if (n >= 4 && (n & (n-1)) == 0) { buffer_stack = (YY_BUFFER_STATE *)realloc( @@ -5427,6 +4398,14 @@ void push_buffer() */ int pop_buffer() { + if (in_macro()) + { + pop_macro(); + } + else + { + pop_include(); + } if (buffer_stack_size == 0) { return 0; @@ -5437,12 +4416,150 @@ int pop_buffer() } /* - * print an error with filename and line number. + * include stack, to tell what include is being evaluated + */ +static size_t include_stack_size = 0; +static FileInfo **include_stack = NULL; +static int *lineno_stack = NULL; + +/* + * push the current include onto the include stack. + */ +void push_include(const char *filename) +{ + FileInfo *file_info = NULL; + int same_file = 0; + size_t n = include_stack_size; + + if (include_stack == NULL) + { + include_stack = (FileInfo **)malloc(4*sizeof(FileInfo *)); + lineno_stack = (int *)malloc(4*sizeof(int)); + } + + /* grow the stack whenever size reaches a power of two */ + else if (n >= 4 && (n & (n-1)) == 0) + { + include_stack = (FileInfo **)realloc( + include_stack, 2*n*sizeof(FileInfo *)); + lineno_stack = (int *)realloc( + lineno_stack, 2*n*sizeof(int)); + } + + lineno_stack[include_stack_size] = yyget_lineno(); + yyset_lineno(0); + include_stack[include_stack_size++] = data; + + /* if the file is including itself */ + if (filename == data->FileName || + (filename != 0 && data->FileName != 0 && + strcmp(filename, data->FileName) == 0)) + { + same_file = 1; + } + + /* make a new fileinfo, but only if we are in the base namespace + * and only if the only items added so far are constants */ + if (!same_file && currentNamespace == data->Contents && + data->Contents->NumberOfItems == data->Contents->NumberOfConstants) + { + file_info = (FileInfo *)malloc(sizeof(FileInfo)); + vtkParse_InitFile(file_info); + file_info->FileName = vtkstrdup(filename); + file_info->Contents = (NamespaceInfo *)malloc(sizeof(NamespaceInfo)); + vtkParse_InitNamespace(file_info->Contents); + vtkParse_AddIncludeToFile(data, file_info); + file_info->Strings = data->Strings; + data = file_info; + currentNamespace = file_info->Contents; + } +} + +/* + * pop the include stack + */ +void pop_include() +{ + if (include_stack_size > 0) + { + --include_stack_size; + fclose(yyin); + yyset_lineno(lineno_stack[include_stack_size]); + if (data != include_stack[include_stack_size]) + { + data = include_stack[include_stack_size]; + currentNamespace = data->Contents; + } + } +} + + +/* + * macro stack, to tell what macro is being evaluated + */ +static size_t macro_stack_size = 0; +static MacroInfo **macro_stack = NULL; + +/* + * push the current macro onto the macro stack. + */ +void push_macro(MacroInfo *macro) +{ + size_t n = macro_stack_size; + if (macro_stack == NULL) + { + macro_stack = (MacroInfo **)malloc(4*sizeof(MacroInfo *)); + } + /* grow the stack whenever size reaches a power of two */ + else if (n >= 4 && (n & (n-1)) == 0) + { + macro_stack = (MacroInfo **)realloc( + macro_stack, 2*n*sizeof(MacroInfo *)); + } + macro_stack[macro_stack_size++] = macro; + if (macro) + { + macro->IsExcluded = 1; + if (macro_stack_size == 1) + { + macroName = macro->Name; + macroUsed = 0; + macroEnded = 0; + } + } +} + +/* + * pop the macro stack + */ +void pop_macro() +{ + MacroInfo *macro; + + if (macro_stack_size > 0) + { + macro = macro_stack[--macro_stack_size]; + if (macro) + { + macro->IsExcluded = 0; + } + } + macroEnded = 1; +} + +/* + * are we currently processing a macro? + */ +int in_macro() +{ + return (macro_stack_size > 0); +} + +/* + * print a preprocessor error code with filename and line number. */ void print_preprocessor_error(int result, const char *cp, size_t n) { - size_t j = 0; - const char *fn = ""; const char *text = ""; switch (result) @@ -5475,7 +4592,7 @@ void print_preprocessor_error(int result, const char *cp, size_t n) text = "input/output error"; break; case VTK_PARSE_MACRO_NUMARGS: - text = "wrong number of args for macro"; + text = "wrong number of macro args"; break; case VTK_PARSE_SYNTAX_ERROR: text = "syntax error"; @@ -5488,12 +4605,118 @@ void print_preprocessor_error(int result, const char *cp, size_t n) return; } - if (data.FileName) + print_parser_error(text, cp, n); +} + +/* + * print an error with filename and line number. + */ +void print_parser_error(const char *text, const char *cp, size_t n) +{ + size_t j = 0; + const char *fn = "(none)"; + + if (data->FileName) + { + fn = data->FileName; + } + fprintf(yyout, "In %s:", fn); + for (j = 0; j < include_stack_size; j++) + { + fprintf(yyout, "%i:\nIn %s:", + lineno_stack[j], include_stack[j]->FileName); + } + fprintf(yyout, "%i:\n", yylineno); + + if (cp) + { + fprintf(yyout, "%s: %*.*s\n", text, (int)n, (int)n, cp); + } + else if (text) + { + fprintf(yyout, "%s.\n", text); + } +} + +/* + * Execute a preprocessor directive. + */ +void preprocessor_directive(const char *text, size_t l) +{ + int result = 0; + size_t n = 0; + const char *cp = text; + const char *ep = text + l; + const char *directive = NULL; + + /* find the directive, store its length in "n" */ + while (*cp == ' ' || *cp == '\t') { cp++; } + if (*cp == '#') { cp++; } + while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; } + directive = cp; + while (*cp >= 'a' && *cp <= 'z' && cp < ep) { cp++; } + n = cp - directive; + while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; } + + if (n == 7 && strncmp(directive, "include", n) == 0) + { + /* include files */ + int already_loaded = 0; + if (*cp == '<' || *cp == '\"') + { + /* if asked to recurse into header files */ + if (Recursive && ep - cp > 3) + { + const char *dp; + dp = vtkParsePreprocess_FindIncludeFile(preprocessor, + &cp[1], (*cp != '\"'), &already_loaded); + if (dp) + { + yyin = fopen(dp, "r"); + if (yyin) + { + push_include(dp); + push_buffer(); + yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE)); + return; + } + } + } + } + } + + /* let the preprocessor handle the directive */ + result = vtkParsePreprocess_HandleDirective(preprocessor, text); + + if (result == VTK_PARSE_SKIP) + { + skip_conditional_block(); + } + else if (result != VTK_PARSE_OK) + { + print_preprocessor_error(result, text, l); + } + else if (n == 6 && strncmp(directive, "define", n) == 0 && + ep - cp > 4 && strncmp(cp, "VTK", 3) == 0) { - j = strlen(data.FileName); - while (j > 0 && data.FileName[j-1] != '/') { j--; } - fn = &data.FileName[j]; + /* macros that start with "VTK" */ + MacroInfo *macro; + + macro = vtkParsePreprocess_GetMacro(preprocessor, cp); + if (macro && macro->Definition && !macro->IsFunction) + { + /* if macro evaluates to a constant, add it as a constant */ + macro->IsExcluded = 1; + if (guess_constant_type(macro->Definition) == 0) + { + result = VTK_PARSE_MACRO_UNDEFINED; + } + macro->IsExcluded = 0; + if (result < VTK_PARSE_MACRO_UNDEFINED) + { + add_constant( + vtkstrdup(macro->Name), vtkstrdup(macro->Definition), 0, NULL, 1); + } + } } - fprintf(yyout, "In %s:%i: %s: ", fn, yylineno, text); - fprintf(yyout, "%*.*s\n", (int)n, (int)n, cp); }