Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r8f60f0b r3a2128f  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 186
    385 #define YY_END_OF_BUFFER 187
     384#define YY_NUM_RULES 185
     385#define YY_END_OF_BUFFER 186
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[909] =
     393static yyconst flex_int16_t yy_accept[905] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  121,  121,  124,  124,
    396       187,  185,    7,    9,    8,  144,  123,  106,  149,  152,
    397       120,  131,  132,  147,  145,  135,  146,  138,  148,  111,
    398       112,  113,  136,  137,  154,  156,  155,  157,  185,  106,
    399       129,  185,  130,  150,  106,  108,  106,  106,  106,  106,
    400       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    401       106,  106,  106,  133,  153,  134,  151,    7,  185,    4,
    402         4,  186,  109,  186,  110,  121,  122,  128,  124,  125,
    403         7,    9,    0,    8,  161,  180,  106,    0,  173,  143,
    404       166,  174,  171,  158,  169,  159,  170,  168,    0,  117,
    405 
    406         3,    0,  172,  116,  114,    0,    0,  114,  114,    0,
    407         0,  114,  113,  113,  113,    0,  113,  141,  142,  140,
    408       162,  164,  160,  165,  163,    0,    0,    0,    0,    0,
     395        0,    0,    0,    0,    0,    0,  120,  120,  123,  123,
     396      186,  184,    7,    9,    8,  143,  122,  105,  148,  151,
     397      119,  130,  131,  146,  144,  134,  145,  137,  147,  110,
     398      111,  112,  135,  136,  153,  155,  154,  156,  184,  105,
     399      128,  184,  129,  149,  105,  107,  105,  105,  105,  105,
     400      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     401      105,  105,  105,  132,  152,  133,  150,    7,  184,    4,
     402        4,  185,  108,  185,  109,  120,  121,  127,  123,  124,
     403        7,    9,    0,    8,  160,  179,  105,    0,  172,  142,
     404      165,  173,  170,  157,  168,  158,  169,  167,    0,  116,
     405
     406        3,    0,  171,  115,  113,    0,    0,  113,  113,    0,
     407        0,  113,  112,  112,  112,    0,  112,  140,  141,  139,
     408      161,  163,  159,  164,  162,    0,    0,    0,    0,    0,
    409409        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    410       107,  179,    0,  123,  120,  106,    0,    0,  176,    0,
    411       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    412       106,  106,  106,  106,  106,  106,  106,   38,  106,  106,
    413       106,  106,  106,  106,  106,  106,  106,  106,   57,  106,
    414       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    415       106,  106,  106,  106,  106,  106,  106,  106,  175,  167,
    416 
    417         7,    0,    0,    0,    2,    0,    5,  109,    0,    0,
    418         0,  121,    0,  127,  126,  126,    0,    0,    0,  124,
     410      106,  178,    0,  122,  119,  105,    0,    0,  175,    0,
     411      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     412      105,  105,  105,  105,  105,  105,  105,   38,  105,  105,
     413      105,  105,  105,  105,  105,  105,  105,  105,   57,  105,
     414      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     415      105,  105,  105,  105,  105,  105,  105,  174,  166,    7,
     416
     417        0,    0,    0,    2,    0,    5,  108,    0,    0,    0,
     418      120,    0,  126,  125,  125,    0,    0,    0,  123,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    420         0,    0,    0,    0,    0,  139,  117,  118,    0,  118,
    421       118,    0,    0,    6,  118,  114,    0,    0,    0,  118,
    422         0,  114,  114,  114,  114,    0,  115,    0,    0,  113,
    423       113,  113,  113,    0,  177,  178,    0,  183,  181,    0,
    424         0,    0,  107,    0,    0,    0,    0,    0,    0,    0,
    425         0,  106,   17,  106,  106,  106,  106,  106,  106,  106,
    426       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    427 
    428       106,   14,  106,  106,  106,  106,  106,  106,  106,  106,
    429       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    430        51,  106,  106,  106,   64,  106,  106,  106,  106,  106,
    431       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    432        91,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    433         0,    0,    0,    0,    0,    0,    0,    0,  126,    0,
    434         0,    0,    0,    0,  126,    0,    0,  184,    0,    0,
    435         0,    0,    0,    0,    0,  118,    0,  118,    0,  118,
    436         0,  118,    0,    0,  118,    0,  114,  114,    0,    0,
    437       115,  115,    0,  115,    0,  115,  113,  113,    0,    0,
    438 
    439         0,    0,    0,    0,    0,    0,    0,    0,  182,  106,
    440       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    441       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    442       106,  106,   21,  106,   24,  106,   27,  106,  106,  106,
    443       106,  106,  106,  106,   41,  106,   43,  106,  106,  106,
    444       106,  106,  106,  106,   56,  106,   67,  106,  106,  106,
    445       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    446       106,  106,  106,  106,  106,  100,  106,  106,  106,    0,
     420        0,    0,    0,    0,  138,  116,  117,    0,  117,  117,
     421        0,    0,    6,  117,  113,    0,    0,    0,  117,    0,
     422      113,  113,  113,  113,    0,  114,    0,    0,  112,  112,
     423      112,  112,    0,  176,  177,    0,  182,  180,    0,    0,
     424        0,  106,    0,    0,    0,    0,    0,    0,    0,    0,
     425      105,   17,  105,  105,  105,  105,  105,  105,  105,  105,
     426      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     427
     428       14,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     429      105,  105,  105,  105,  105,  105,  105,  105,  105,   51,
     430      105,  105,  105,   64,  105,  105,  105,  105,  105,  105,
     431      105,  105,  105,  105,  105,  105,  105,  105,  105,   91,
     432      105,  105,  105,  105,  105,  105,  105,  105,    0,    0,
     433        0,    0,    0,    0,    0,    0,  125,    0,    0,    0,
     434        0,    0,  125,    0,    0,  183,    0,    0,    0,    0,
     435        0,    0,    0,  117,    0,  117,    0,  117,    0,  117,
     436        0,    0,  117,    0,  113,  113,    0,    0,  114,  114,
     437        0,  114,    0,  114,  112,  112,    0,    0,    0,    0,
     438
     439        0,    0,    0,    0,    0,    0,  181,  105,  105,  105,
     440      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     441      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     442       21,  105,   24,  105,   27,  105,  105,  105,  105,  105,
     443      105,  105,   41,  105,   43,  105,  105,  105,  105,  105,
     444      105,  105,   56,  105,   67,  105,  105,  105,  105,  105,
     445      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     446      105,  105,   99,  105,  105,  105,    0,    0,    0,    0,
    447447        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    448         0,    0,    0,  126,    0,    0,    0,    0,    0,  118,
    449 
    450         0,    0,    0,    0,    0,    0,    0,  115,  115,    0,
    451       119,    0,  115,  115,    0,    0,    0,    0,    0,    0,
    452         0,    0,    0,    0,    0,    0,    0,  106,  106,   22,
    453       106,  106,  106,  106,  106,  106,  106,   15,  106,  106,
    454       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    455       106,  106,   23,   25,  106,   32,  106,  106,  106,  106,
    456        40,  106,  106,  106,  106,   49,  106,  106,   54,  106,
    457       106,   71,   72,  106,  106,  106,   78,  106,  106,  106,
    458       106,  106,   88,   90,   92,  106,  106,   97,  106,  106,
    459       104,  106,    0,    0,    0,    0,    0,    0,    0,    0,
    460 
     448      125,    0,    0,    0,    0,    0,  117,    0,    0,    0,
     449
     450        0,    0,    0,    0,  114,  114,    0,  118,    0,  114,
     451      114,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     452        0,    0,    0,    0,  105,  105,   22,  105,  105,  105,
     453      105,  105,  105,  105,   15,  105,  105,  105,  105,  105,
     454      105,  105,  105,  105,  105,  105,  105,  105,  105,   23,
     455       25,  105,   32,  105,  105,  105,  105,   40,  105,  105,
     456      105,  105,   49,  105,  105,   54,  105,  105,   71,   72,
     457      105,  105,  105,   78,  105,  105,  105,  105,  105,   88,
     458       90,  105,  105,   96,  105,  105,  103,  105,    0,    0,
    461459        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    462         0,  119,    0,    0,  115,  119,  119,  119,  119,    0,
    463       115,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    464         0,  106,    0,  106,  106,  106,  106,  106,  106,  106,
    465       106,  106,  106,  106,  106,  106,  106,  106,  106,   59,
    466       106,  106,  106,  106,  106,  106,  106,  106,   28,  106,
    467       106,  106,   39,   42,   45,  106,  106,   52,  106,   61,
    468        68,  106,  106,   77,   79,   82,   83,   85,   86,  106,
    469       106,   94,  106,  106,  105,    0,    1,    0,    0,    0,
    470         0,    0,    0,  109,    0,    0,    0,  126,    0,    0,
    471 
    472         0,    0,  119,    0,  119,  119,    0,    0,    0,    0,
    473         0,    0,    0,    0,    0,  106,  106,   18,  106,  106,
    474       106,  106,  106,  106,  106,   16,  106,  106,  106,   33,
    475       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    476       106,  106,   36,   37,  106,   48,   53,  106,  106,  106,
    477        93,  106,  106,    0,    0,    0,    0,    0,    0,    0,
    478         0,    0,    0,    0,    0,    0,   10,   11,   29,   55,
    479       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
    480       106,   60,   62,   65,  106,  106,   80,   95,  106,  106,
    481        35,  106,   47,   73,   74,  106,   98,  101,    0,    0,
    482 
     460
     461        0,    0,    0,    0,    0,    0,    0,  118,    0,    0,
     462      114,  118,  118,  118,  118,    0,  114,    0,    0,    0,
     463        0,    0,    0,    0,    0,    0,    0,  105,    0,  105,
     464      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
     465      105,  105,  105,  105,  105,   59,  105,  105,  105,  105,
     466      105,  105,  105,  105,   28,  105,  105,  105,   39,   42,
     467       45,  105,  105,   52,  105,   61,   68,  105,  105,   77,
     468       79,   82,   83,   85,   86,  105,  105,   93,  105,  105,
     469      104,    0,    1,    0,    0,    0,    0,    0,    0,  108,
     470        0,    0,    0,  125,    0,    0,    0,    0,  118,    0,
     471
     472      118,  118,    0,    0,    0,    0,    0,    0,    0,    0,
     473        0,  105,  105,   18,  105,  105,  105,  105,  105,  105,
     474      105,   16,  105,  105,  105,   33,  105,  105,  105,  105,
     475      105,  105,  105,  105,  105,  105,  105,  105,   36,   37,
     476      105,   48,   53,  105,  105,  105,   92,  105,  105,    0,
    483477        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    484       106,   69,  106,  106,   12,  106,  106,   30,   34,  106,
    485       106,  106,   66,  106,  106,  106,  106,  106,  106,  106,
    486         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    487         0,    0,    0,   58,  106,  106,  106,  106,  106,  106,
    488       106,   50,   63,   75,   81,   96,  102,  106,  106,  106,
    489         0,    0,    0,    0,    0,    0,    0,    0,  106,  106,
    490        13,   19,  106,  106,   31,  106,  106,  106,   26,   46,
    491        89,    0,    0,  106,  106,  106,  106,  106,  106,   76,
    492       103,  106,   87,   20,  106,  106,   44,   84,  106,  106,
    493 
    494       106,  106,  106,  106,  106,   99,   70,    0
     478        0,    0,   10,   11,   29,   55,  105,  105,  105,  105,
     479      105,  105,  105,  105,  105,  105,  105,   60,   62,   65,
     480      105,  105,   80,   94,  105,  105,   35,  105,   47,   73,
     481       74,  105,   97,  100,    0,    0,    0,    0,    0,    0,
     482
     483        0,    0,    0,    0,    0,    0,  105,   69,  105,  105,
     484       12,  105,  105,   30,   34,  105,  105,  105,   66,  105,
     485      105,  105,  105,  105,  105,  105,    0,    0,    0,    0,
     486        0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
     487      105,  105,  105,  105,  105,  105,  105,   50,   63,   75,
     488       81,   95,  101,  105,  105,  105,    0,    0,    0,    0,
     489        0,    0,    0,    0,  105,  105,   13,   19,  105,  105,
     490       31,  105,  105,  105,   26,   46,   89,    0,    0,  105,
     491      105,  105,  105,  105,  105,   76,  102,  105,   87,   20,
     492      105,  105,   44,   84,  105,  105,  105,  105,  105,  105,
     493
     494      105,   98,   70,    0
    495495    } ;
    496496
     
    540540    } ;
    541541
    542 static yyconst flex_int16_t yy_base[1083] =
     542static yyconst flex_int16_t yy_base[1079] =
    543543    {   0,
    544         0,   84, 2330, 2327,   94,    0,  177,  178,  179,  180,
    545      2341, 2877,  191, 2877,  197,   55, 2877, 2287,   60,  173,
    546      2877, 2877, 2877,   56,  188, 2877,  191,  189,  204,  216,
    547       275,    0, 2306, 2877,  216, 2305,  152,  344,  155,  220,
    548      2877,  159, 2877,  217,  226, 2877,  185,  154,  212,  251,
    549       237,  270,  235,  257,  241,  279,  193,  305,  314,  351,
    550       238,  228,  227, 2877,  225, 2877, 2300,  406,  412, 2877,
    551      2309, 2877, 2277,  235, 2877,    0, 2877,  439,    0, 2877,
    552       426, 2877,  452,  464, 2877,  511, 2276,  264, 2877, 2877,
    553      2877, 2877, 2877, 2293, 2877, 2290, 2877, 2877, 2300,  572,
    554 
    555      2877, 2317, 2877,  451,  457,  524,  547,  298,  253,  197,
    556       312,  279,    0,  342,  325,  198,  322, 2877, 2877, 2877,
    557      2287, 2877, 2877, 2877, 2285, 2282,  218,  312, 2295,  350,
    558       363,  368,  369,  391,  411,  417, 2276,  452, 2225,  453,
    559      2254, 2877,  274, 2877, 2877,  438, 2248, 2245, 2877, 2218,
    560       435,  282,  353,  277,  391,  419,  442,  320,  583,  451,
    561       446,  443,  479,  469,  364,  472,  481,  454,  458,  484,
    562       503,  493,  352,  506,  486,  453,  507,  509, 2246,  539,
    563       532,  524,  516,  528,  556,  530,  540,  552,  553,  564,
    564       574,  538,  576,  613,  573,  597,  602,  571, 2877, 2877,
    565 
    566       668,  674, 2294,  680, 2877,  686, 2877, 2241,  603, 2235,
    567      2234,    0,  683, 2877, 2877,  692, 2233, 2231, 2211,    0,
    568      2233,  556,  627,  630,  662,  699,  688,  692,  693,  696,
    569      2230,  700,  703, 2205, 2202, 2877,    0,  695,  726,  693,
    570       701, 2201, 2253, 2877,  747,  742,  700,  753,  760,  793,
    571       815,  746, 2877, 2210, 2183,    0,  802, 2227,  801,  754,
    572      2877, 2203, 2178,  839, 2877, 2877, 2210, 2877, 2877,  709,
    573       723, 2187, 2185,  755, 2181, 2180, 2178,    0, 2175,    0,
    574      2144,  694,  736,  737,  741,  614,  739,  738,  742,  798,
    575       807,  792,  802,  797,  746,  816,  748,  791,  824,  819,
    576 
    577       826, 2174,  827,  830,  831,  440,  834,  838,  836,  843,
    578       847,  849,  841,  850,  861,  853,  862,  851,  863,  865,
    579       872,  864,  873,  874, 2173,  749,  875,  876,  878,  880,
    580       881,  882,  884,  885,  886,  888,  889,  892,  898,  896,
    581      2171,  899,  906,  944,  901,  907,  913,  917,  908,  911,
    582       976,  977, 2165, 2164, 2163,    0, 2161,    0,  964,  968,
    583      2158,    0, 2157,    0, 2156,    0, 2176, 2877,  964,  967,
    584      2153, 2147,    0, 2143,    0, 2877,  979,  998,  990, 2877,
    585      1004, 1044, 2141, 1020, 1066, 2139, 2877, 2877,  963, 1006,
    586      1052, 1005, 1091,  968, 1083, 1006, 2877, 2877, 2136, 2134,
    587 
    588      2132,    0, 2129,    0, 2126,    0, 2125,    0, 2877,  931,
    589       981,  985,  928, 1024,  987, 1068,  958, 1070, 1060, 1010,
    590      1005, 1072, 1083, 1022, 1078, 1082, 1088, 1042, 1084, 1081,
    591      1089, 1097, 2127, 1090, 2125, 1095, 2122, 1093, 1091, 1109,
    592      1101, 1111, 1115, 1116, 2119, 1118, 2118, 1119, 1120, 1121,
    593      1123, 1126, 1127, 1128, 2117, 1129, 2115, 1131, 1134, 1135,
    594      1132, 1138, 1140, 1143, 1148, 1149, 1150, 1152, 1155, 1151,
    595      1161, 1164, 1166, 1168, 1169, 2112, 1170, 1172, 1175, 1221,
    596      2106,    0, 2105,    0, 2104,    0, 2102,    0, 1216, 2099,
    597         0, 2096,    0, 2095, 2094, 2092,    0, 2089,    0, 1223,
    598 
    599      2086, 1229, 1245, 1231, 1270, 1236, 1186, 1185, 2877, 1286,
    600      1304, 1297, 2097, 2072, 2082, 2079,    0, 2076,    0, 2075,
    601         0, 2074,    0, 2072,    0, 2069,    0, 1190, 1210, 2069,
    602      1191, 1227, 1212, 1230, 1253, 1246, 1254, 1280, 1281, 1282,
    603      1284, 1228, 1287, 1286, 1288, 1285,  234, 1293, 1289, 1304,
    604      1300, 1305, 2068, 1322, 1306, 2067, 1308, 1313, 1318, 1320,
    605      2065, 1323, 1324, 1326, 1327, 2062, 1330, 1331, 2061, 1334,
    606      1335, 2060, 2058, 1337, 1339, 1340, 2055, 1004, 1346, 1347,
    607      1348, 1349, 1364, 2054, 2053, 1351, 1353, 2051, 1350, 1355,
    608      2018, 1362, 2066, 2012,    0, 2009,    0, 2006,    0, 2005,
    609 
    610         0, 2004,    0, 2002,    0, 1999,    0, 1996,    0, 1401,
    611      1407, 1435, 1418, 1995, 2877, 1424, 1411, 1421, 1427, 1994,
    612      2877, 1992,    0, 1989,    0, 1988,    0, 1987,    0,    0,
    613         0, 1988,    0, 1412, 1422, 1419, 1387, 1369, 1416, 1433,
    614      1436, 1403, 1446, 1441, 1431, 1432, 1451, 1452, 1455, 1456,
    615      1457, 1486, 1460, 1461, 1462, 1464, 1463, 1467, 1985, 1465,
    616      1468, 1470, 1984, 1983, 1981, 1472, 1466, 1974, 1478, 1972,
    617      1971, 1480, 1484, 1968, 1964, 1960, 1956, 1953, 1952, 1487,
    618      1494, 1951, 1497, 1483, 1949, 1996, 2877, 1942,    0, 1941,
    619         0,    0,    0, 1942,    0,    0,    0, 2877,    0,    0,
    620 
    621         0,    0, 1537, 1936, 2877, 2877, 1543, 1935,    0, 1934,
    622         0,    0,    0,    0, 1932, 1499, 1519, 1932, 1500, 1524,
    623      1530, 1501, 1502, 1533, 1537, 1931, 1532, 1541, 1534, 1539,
    624      1544,  599, 1548, 1549, 1579, 1556, 1557, 1560, 1561, 1562,
    625      1563, 1564, 1930, 1928, 1567, 1925, 1924, 1566, 1569, 1572,
    626      1923, 1574, 1578,    0,    0,    0, 1918, 1915, 1914, 1624,
    627         0, 1913, 1911, 1908, 1907, 1906, 1907, 1904, 1903, 1902,
    628      1580, 1588, 1576, 1577, 1601, 1583, 1602, 1589, 1604, 1603,
    629      1636, 1900, 1609, 1897, 1610, 1614, 1617, 1622, 1618, 1623,
    630      1896, 1624, 1895, 1893, 1886, 1626, 1884, 1883, 1877, 1876,
    631 
    632      1875, 1873, 1856, 1847, 1846, 1843, 1836, 1833, 1826, 1824,
    633      1628, 1826, 1629, 1630, 1631, 1632, 1635, 1637, 1805, 1639,
    634      1667, 1642, 1804, 1643, 1653, 1658, 1651, 1652, 1659, 1662,
    635      1800, 1793, 1791, 1790, 1748, 1745, 1744, 1742, 1741, 1737,
    636      1735, 1733, 1732, 1734, 1663, 1664, 1666, 1672, 1673, 1674,
    637      1675, 1731, 1689, 1676, 1644, 1522, 1680, 1685, 1686, 1687,
    638      1500, 1411, 1363, 1362, 1260, 1219, 1218, 1047, 1690, 1688,
    639      1046, 1700, 1695, 1701,  924, 1704, 1708, 1709,  839,  794,
    640       759,  702,  636, 1682, 1710, 1713, 1714, 1715, 1717,  638,
    641       536, 1719,  488,  441, 1721, 1722,  408,  281, 1723, 1726,
    642 
    643      1727, 1729, 1728, 1730, 1733,  233,  137, 2877, 1805, 1818,
    644      1831, 1841, 1851, 1864, 1874, 1887, 1900, 1913, 1921, 1931,
    645      1938, 1945, 1952, 1959, 1966, 1973, 1980, 1987, 1994, 2001,
    646      2005, 2013, 2019, 2026, 2033, 2040, 2047, 2050, 2057, 2063,
    647      2076, 2089, 2096, 2103, 2110, 2117, 2120, 2127, 2130, 2137,
    648      2140, 2147, 2150, 2157, 2160, 2167, 2170, 2177, 2180, 2187,
    649      2195, 2202, 2209, 2216, 2223, 2226, 2233, 2236, 2243, 2246,
    650      2253, 2259, 2272, 2279, 2286, 2289, 2296, 2299, 2306, 2309,
    651      2316, 2319, 2326, 2329, 2336, 2339, 2346, 2353, 2356, 2363,
    652      2366, 2373, 2380, 2387, 2390, 2397, 2400, 2407, 2410, 2417,
    653 
    654      2420, 2427, 2430, 2437, 2443, 2456, 2463, 2470, 2473, 2480,
    655      2483, 2490, 2493, 2500, 2503, 2510, 2513, 2520, 2523, 2530,
    656      2533, 2540, 2543, 2550, 2557, 2560, 2567, 2570, 2577, 2580,
    657      2587, 2590, 2593, 2599, 2606, 2615, 2622, 2629, 2632, 2639,
    658      2642, 2645, 2651, 2658, 2661, 2664, 2667, 2670, 2673, 2676,
    659      2679, 2686, 2689, 2696, 2699, 2702, 2705, 2708, 2718, 2725,
    660      2728, 2731, 2734, 2741, 2748, 2755, 2758, 2765, 2772, 2779,
    661      2786, 2793, 2800, 2807, 2814, 2821, 2828, 2835, 2842, 2849,
    662      2856, 2863
     544        0,   84, 2323, 2322,   94,    0,  177,  178,  179,  180,
     545     2338, 2866,  191, 2866,  197,   55, 2866, 2283,   60,  173,
     546     2866, 2866, 2866,   56,  188, 2866,  191,  189,  204,  216,
     547      275,    0, 2300, 2866,  216, 2298,  152,  344,  155,  220,
     548     2866,  159, 2866,  217,  226, 2866,  185,  154,  212,  251,
     549      237,  270,  235,  257,  241,  279,  193,  305,  314,  333,
     550      238,  228,  227, 2866,  225, 2866, 2295,  402,  390, 2866,
     551     2306, 2866, 2273,  235, 2866,    0, 2866,  426,    0, 2866,
     552      417, 2866,  439,  451, 2866,  498, 2270,  264, 2866, 2866,
     553     2866, 2866, 2866, 2286, 2866, 2285, 2866, 2866, 2297,  559,
     554
     555     2866, 2313, 2866,  438,  444,  511,  534,  289,  253,  197,
     556      380,  305,    0,  319,  280,  198,  322, 2866, 2866, 2866,
     557     2281, 2866, 2866, 2866, 2278, 2277,  218,  312, 2292,  350,
     558      459,  368,  398,  440,  405,  448, 2272,  441, 2219,  458,
     559     2247, 2866,  335, 2866, 2866,  321, 2243, 2242, 2866, 2214,
     560      444,  297,  433,  372,  425,  454,  434,  461,  570,  455,
     561      468,  385,  474,  475,  494,  492,  489,  464,  488,  491,
     562      513,  503,  430,  521,  517,  519,  516,  522, 2240,  526,
     563      523,  276,  460,  524,  542,  555,  554,  561,  325,  558,
     564      584,  552,  600,  586,  593,  588,  595, 2866, 2866,  667,
     565
     566      655, 2287,  682, 2866,  688, 2866, 2236,  590, 2232, 2230,
     567        0,  648, 2866, 2866,  675, 2227, 2224, 2223,    0, 2246,
     568      578,  631,  654,  685,  698,  660,  689,  670,  692, 2242,
     569      695,  701, 2200, 2198, 2866,    0,  693,  720,  685,  711,
     570     2197, 2247, 2866,  737,  745,  666,  757,  763,  797,  780,
     571      599, 2866, 2203, 2178,    0,  805, 2224,  806,  617, 2866,
     572     2199, 2172,  819, 2866, 2866, 2203, 2866, 2866,  707,  722,
     573     2182, 2182,  699, 2177, 2174, 2171,    0, 2170,    0, 2141,
     574      743,  724,  739,  689,  741,  720,  623,  759,  762,  804,
     575      681,  795,  749,  746,  799,  801,  765,  784,  803,  811,
     576
     577     2170,  814,  818,  827,  831,  817,  821,  833,  835,  841,
     578      842,  834,  843,  844,  845,  847,  849,  857,  858,  860,
     579      851,  859,  866, 2167,  867,  868,  869,  871,  873,  874,
     580      763,  875,  876,  880,  881,  884,  887,  888,  885, 2164,
     581      891,  936,  894,  897,  905,  899,  901,  902,  965,  961,
     582     2160, 2159, 2157,    0, 2154,    0,  952,  956, 2153,    0,
     583     2152,    0, 2150,    0, 2169, 2866,  951,  952, 2148, 2145,
     584        0, 2143,    0, 2866,  967,  986,  978, 2866,  992, 1032,
     585     2140, 1008, 1054, 2136, 2866, 2866,  915,  951, 1040,  993,
     586     1079,  956, 1071,  994, 2866, 2866, 2132, 2130, 2128,    0,
     587
     588     2125,    0, 2123,    0, 2121,    0, 2866,  935,  969,  973,
     589      968, 1012,  975, 1056,  992, 1058,  997, 1032,  993, 1000,
     590     1060, 1061, 1066, 1070, 1073, 1030, 1071, 1069, 1072, 1078,
     591     2121,  700, 2118, 1085, 2117, 1079, 1081, 1089, 1087, 1098,
     592     1096, 1099, 2116, 1101, 2114, 1105, 1106, 1107, 1109, 1112,
     593     1113, 1114, 2111, 1115, 2108, 1117, 1119, 1120, 1118, 1124,
     594     1126, 1121, 1136, 1130, 1134, 1135, 1149, 1137, 1138, 1150,
     595     1152, 1153, 2107, 1151, 1154, 1167, 1205, 2103,    0, 2101,
     596        0, 2098,    0, 2095,    0, 1204, 2094,    0, 2093,    0,
     597     2091, 2088, 2085,    0, 2084,    0, 1208, 2083, 1214, 1230,
     598
     599     1216, 1255, 1221, 1172, 1169, 2866, 1271, 1289, 1282, 2093,
     600     2066, 2075, 2074,    0, 2073,    0, 2071,    0, 2068,    0,
     601     2065,    0, 2064,    0, 1190, 1159, 2066, 1193, 1195, 1197,
     602     1212, 1237, 1231, 1265, 1248, 1266, 1267, 1213, 1268, 1269,
     603     1283, 1270, 1271,  234, 1285, 1273, 1274, 1287, 1293, 2064,
     604     1306, 1301, 2061, 1290, 1303, 1305, 1308, 2058, 1312, 1309,
     605     1311, 1313, 2057, 1314, 1319, 2056, 1316, 1322, 2054, 2051,
     606     1315, 1327, 1330, 2050, 1333, 1332, 1336, 1334, 1338, 1345,
     607     2049, 1335, 1348, 2047, 1346, 1349, 2044, 1351, 2093, 2039,
     608        0, 2037,    0, 2004,    0, 2002,    0, 2001,    0, 1998,
     609
     610        0, 1995,    0, 1994,    0, 1394, 1404, 1428, 1415, 1993,
     611     2866, 1421, 1370, 1391, 1419, 1991, 2866, 1988,    0, 1985,
     612        0, 1984,    0, 1983,    0,    0,    0, 1984,    0, 1352,
     613     1406, 1408, 1359, 1354, 1409, 1415, 1412, 1411, 1423, 1433,
     614     1425, 1430, 1435, 1437, 1439, 1448, 1442, 1449, 1440, 1444,
     615     1453, 1450, 1452, 1456, 1981, 1458, 1460, 1463, 1980, 1979,
     616     1977, 1466, 1467, 1974, 1470, 1973, 1972, 1469, 1473, 1970,
     617     1963, 1961, 1960, 1957, 1953, 1475, 1479, 1949, 1476, 1477,
     618     1945, 1992, 2866, 1938,    0, 1937,    0,    0,    0, 1938,
     619        0,    0,    0, 2866,    0,    0,    0,    0, 1525, 1932,
     620
     621     2866, 2866, 1531, 1931,    0, 1930,    0,    0,    0,    0,
     622     1928, 1488, 1483, 1928, 1491, 1507, 1518, 1490, 1519, 1521,
     623     1508, 1927, 1525, 1529, 1527, 1541, 1530, 1384, 1543, 1539,
     624     1558, 1547, 1549, 1512, 1545, 1552, 1553, 1554, 1926, 1924,
     625     1557, 1921, 1920, 1556, 1537, 1560, 1919, 1561, 1564,    0,
     626        0,    0, 1914, 1911, 1910, 1612,    0, 1909, 1907, 1904,
     627     1903, 1902, 1903, 1900, 1899, 1898, 1568, 1572, 1566, 1577,
     628     1590, 1570, 1578, 1579, 1591, 1596, 1625, 1896, 1598, 1893,
     629     1599, 1603, 1604, 1608, 1606, 1612, 1892, 1613, 1891, 1889,
     630     1886, 1614, 1885, 1884, 1879, 1872, 1870, 1869, 1866, 1865,
     631
     632     1864, 1862, 1845, 1836, 1835, 1832, 1616, 1828, 1617, 1622,
     633     1620, 1619, 1624, 1626, 1825, 1628, 1644, 1630, 1818, 1631,
     634     1639, 1645, 1647, 1634, 1649, 1651, 1813, 1812, 1791, 1790,
     635     1789, 1782, 1780, 1779, 1737, 1735, 1733, 1732, 1730, 1732,
     636     1652, 1654, 1655, 1657, 1659, 1662, 1663, 1731, 1729, 1668,
     637     1727, 1724, 1669, 1670, 1664, 1675, 1719, 1718, 1671, 1629,
     638     1564, 1468, 1350, 1269, 1678, 1681, 1239, 1682, 1688, 1689,
     639     1238, 1690, 1692, 1696, 1206, 1171, 1157, 1035, 1031, 1691,
     640     1697, 1700, 1704, 1702, 1706,  998,  560, 1701,  527,  395,
     641     1707, 1710,  357,  300, 1708, 1713, 1715, 1718, 1716, 1719,
     642
     643     1720,  233,  137, 2866, 1794, 1807, 1820, 1830, 1840, 1853,
     644     1863, 1876, 1889, 1902, 1910, 1920, 1927, 1934, 1941, 1948,
     645     1955, 1962, 1969, 1976, 1983, 1990, 1994, 2002, 2008, 2015,
     646     2022, 2029, 2036, 2039, 2046, 2052, 2065, 2078, 2085, 2092,
     647     2099, 2106, 2109, 2116, 2119, 2126, 2129, 2136, 2139, 2146,
     648     2149, 2156, 2159, 2166, 2169, 2176, 2184, 2191, 2198, 2205,
     649     2212, 2215, 2222, 2225, 2232, 2235, 2242, 2248, 2261, 2268,
     650     2275, 2278, 2285, 2288, 2295, 2298, 2305, 2308, 2315, 2318,
     651     2325, 2328, 2335, 2342, 2345, 2352, 2355, 2362, 2369, 2376,
     652     2379, 2386, 2389, 2396, 2399, 2406, 2409, 2416, 2419, 2426,
     653
     654     2432, 2445, 2452, 2459, 2462, 2469, 2472, 2479, 2482, 2489,
     655     2492, 2499, 2502, 2509, 2512, 2519, 2522, 2529, 2532, 2539,
     656     2546, 2549, 2556, 2559, 2566, 2569, 2576, 2579, 2582, 2588,
     657     2595, 2604, 2611, 2618, 2621, 2628, 2631, 2634, 2640, 2647,
     658     2650, 2653, 2656, 2659, 2662, 2665, 2668, 2675, 2678, 2685,
     659     2688, 2691, 2694, 2697, 2707, 2714, 2717, 2720, 2723, 2730,
     660     2737, 2744, 2747, 2754, 2761, 2768, 2775, 2782, 2789, 2796,
     661     2803, 2810, 2817, 2824, 2831, 2838, 2845, 2852
    663662    } ;
    664663
    665 static yyconst flex_int16_t yy_def[1083] =
     664static yyconst flex_int16_t yy_def[1079] =
    666665    {   0,
    667       908,    1,  909,  909,  908,    5,  910,  910,  911,  911,
    668       908,  908,  908,  908,  908,  908,  908,  912,  908,  908,
     666      904,    1,  905,  905,  904,    5,  906,  906,  907,  907,
     667      904,  904,  904,  904,  904,  904,  904,  908,  904,  904,
     668      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     669      904,   31,  904,  904,  904,  904,  904,  904,  909,  908,
     670      904,  904,  904,  904,  908,  904,  908,  908,  908,  908,
    669671      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    670       908,   31,  908,  908,  908,  908,  908,  908,  913,  912,
    671       908,  908,  908,  908,  912,  908,  912,  912,  912,  912,
    672       912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
    673       912,  912,  912,  908,  908,  908,  908,  908,  914,  908,
    674       908,  908,  915,  908,  908,  916,  908,  908,  917,  908,
    675       908,  908,  908,  908,  908,  908,  912,  908,  908,  908,
    676       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    677 
    678       908,  918,  908,  908,   30,  908,  908,  908,  908,  919,
    679        30,  908,   31,  908,  908,   31,  908,  908,  908,  908,
    680       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    681       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    682       920,  908,  908,  908,  908,  912,  921,  922,  908,  908,
    683       912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
    684       912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
    685       912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
    686       912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
    687       912,  912,  912,  912,  912,  912,  912,  912,  908,  908,
    688 
    689       908,  914,  914,  914,  908,  914,  908,  915,  908,  923,
    690       924,  916,  908,  908,  908,  908,  925,  926,  927,  917,
    691       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    692       908,  908,  908,  928,  929,  908,  100,  908,  908,  908,
    693       908,  100,  918,  908,  100,  111,  246,  908,  908,  908,
    694       908,  908,  908,  908,  908,  930,  931,  932,  908,  908,
    695       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    696       908,  908,  933,  908,  934,  935,  936,  937,  938,  939,
    697       908,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    698       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    699 
    700       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    701       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    702       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    703       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    704       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    705       941,  942,  943,  944,  945,  946,  947,  948,  908,  908,
    706       949,  950,  951,  952,  953,  954,  908,  908,  908,  908,
    707       908,  955,  956,  957,  958,  908,  908,  908,  908,  908,
    708       908,  908,  382,  908,  378,  385,  908,  908,  959,  960,
    709       961,  908,  908,  908,  961,  908,  908,  908,  962,  963,
    710 
    711       964,  965,  966,  967,  968,  969,  970,  971,  908,  972,
    712       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    713       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    714       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    715       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    716       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    717       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    718       972,  972,  972,  972,  972,  972,  972,  972,  972,  973,
    719       974,  975,  976,  977,  978,  979,  980,  981,  908,  982,
    720       983,  984,  985,  986,  986,  987,  988,  989,  990,  908,
    721 
    722       500,  908,  908,  991,  908,  991,  908,  908,  908,  908,
    723       908,  908,  908,  908,  992,  993,  994,  995,  996,  997,
    724       998,  999, 1000, 1001, 1002, 1003, 1004, 1005, 1005, 1005,
    725      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    726      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    727      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    728      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    729      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    730      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
    731      1005, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
    732 
    733      1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,  908,
    734       908,  908,  908, 1023,  908,  612,  908,  908,  908,  616,
    735       908, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
    736      1033, 1034, 1035, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
    737      1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
    738      1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
    739      1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
    740      1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
    741      1034, 1034, 1034, 1034, 1034, 1036,  908, 1037, 1038, 1039,
    742      1040, 1041, 1042, 1043, 1044, 1045, 1046,  908, 1047, 1048,
    743 
    744      1049, 1050,  908,  703,  908,  908,  908, 1051, 1052, 1053,
    745      1054, 1055, 1056, 1057, 1058, 1059, 1059, 1059, 1059, 1059,
    746      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    747      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    748      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    749      1059, 1059, 1059, 1060, 1061, 1062, 1063, 1064, 1065,  908,
    750      1066, 1051, 1053, 1067, 1068, 1058, 1059, 1059, 1059, 1059,
    751      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    752      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    753      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1069, 1070,
    754 
    755      1063, 1071, 1064, 1072, 1065, 1073, 1074, 1067, 1075, 1068,
    756      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    757      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    758      1076, 1069, 1077, 1070, 1078, 1071, 1079, 1072, 1080, 1073,
    759      1081, 1074, 1075, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    760      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    761      1082, 1076, 1077, 1078, 1079, 1053, 1080, 1081, 1059, 1059,
    762      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    763      1059, 1082, 1053, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    764      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
    765 
    766      1059, 1059, 1059, 1059, 1059, 1059, 1059,    0,  908,  908,
     672      908,  908,  908,  904,  904,  904,  904,  904,  910,  904,
     673      904,  904,  911,  904,  904,  912,  904,  904,  913,  904,
     674      904,  904,  904,  904,  904,  904,  908,  904,  904,  904,
     675      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     676
     677      904,  914,  904,  904,   30,  904,  904,  904,  904,  915,
     678       30,  904,   31,  904,  904,   31,  904,  904,  904,  904,
     679      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     680      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     681      916,  904,  904,  904,  904,  908,  917,  918,  904,  904,
    767682      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    768683      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    769684      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    770685      908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    771       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    772       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    773       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    774       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    775       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    776 
    777       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    778       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    779       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    780       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    781       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    782       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    783       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    784       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    785       908,  908
     686      908,  908,  908,  908,  908,  908,  908,  904,  904,  904,
     687
     688      910,  910,  910,  904,  910,  904,  911,  904,  919,  920,
     689      912,  904,  904,  904,  904,  921,  922,  923,  913,  904,
     690      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     691      904,  904,  924,  925,  904,  100,  904,  904,  904,  904,
     692      100,  914,  904,  100,  111,  245,  904,  904,  904,  904,
     693      904,  904,  904,  904,  926,  927,  928,  904,  904,  904,
     694      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     695      904,  929,  904,  930,  931,  932,  933,  934,  935,  904,
     696      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     697      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     698
     699      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     700      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     701      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     702      936,  936,  936,  936,  936,  936,  936,  936,  936,  936,
     703      936,  936,  936,  936,  936,  936,  936,  936,  937,  938,
     704      939,  940,  941,  942,  943,  944,  904,  904,  945,  946,
     705      947,  948,  949,  950,  904,  904,  904,  904,  904,  951,
     706      952,  953,  954,  904,  904,  904,  904,  904,  904,  904,
     707      380,  904,  376,  383,  904,  904,  955,  956,  957,  904,
     708      904,  904,  957,  904,  904,  904,  958,  959,  960,  961,
     709
     710      962,  963,  964,  965,  966,  967,  904,  968,  968,  968,
     711      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     712      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     713      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     714      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     715      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     716      968,  968,  968,  968,  968,  968,  968,  968,  968,  968,
     717      968,  968,  968,  968,  968,  968,  969,  970,  971,  972,
     718      973,  974,  975,  976,  977,  904,  978,  979,  980,  981,
     719      982,  982,  983,  984,  985,  986,  904,  497,  904,  904,
     720
     721      987,  904,  987,  904,  904,  904,  904,  904,  904,  904,
     722      904,  988,  989,  990,  991,  992,  993,  994,  995,  996,
     723      997,  998,  999, 1000, 1001, 1001, 1001, 1001, 1001, 1001,
     724     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     725     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     726     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     727     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     728     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     729     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1003,
     730     1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
     731
     732     1014, 1015, 1016, 1017, 1018,  904,  904,  904,  904, 1019,
     733      904,  608,  904,  904,  904,  612,  904, 1020, 1021, 1022,
     734     1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1030,
     735     1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
     736     1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
     737     1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
     738     1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
     739     1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
     740     1030, 1032,  904, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
     741     1040, 1041, 1042,  904, 1043, 1044, 1045, 1046,  904,  699,
     742
     743      904,  904,  904, 1047, 1048, 1049, 1050, 1051, 1052, 1053,
     744     1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     745     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     746     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     747     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056,
     748     1057, 1058, 1059, 1060, 1061,  904, 1062, 1047, 1049, 1063,
     749     1064, 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     750     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     751     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     752     1055, 1055, 1055, 1055, 1065, 1066, 1059, 1067, 1060, 1068,
     753
     754     1061, 1069, 1070, 1063, 1071, 1064, 1055, 1055, 1055, 1055,
     755     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     756     1055, 1055, 1055, 1055, 1055, 1055, 1072, 1065, 1073, 1066,
     757     1074, 1067, 1075, 1068, 1076, 1069, 1077, 1070, 1071, 1055,
     758     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     759     1055, 1055, 1055, 1055, 1055, 1055, 1078, 1072, 1073, 1074,
     760     1075, 1049, 1076, 1077, 1055, 1055, 1055, 1055, 1055, 1055,
     761     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1078, 1049, 1055,
     762     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     763     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
     764
     765     1055, 1055, 1055,    0,  904,  904,  904,  904,  904,  904,
     766      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     767      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     768      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     769      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     770      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     771      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     772      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     773      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     774      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     775
     776      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     777      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     778      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     779      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     780      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     781      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     782      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     783      904,  904,  904,  904,  904,  904,  904,  904
    786784    } ;
    787785
    788 static yyconst flex_int16_t yy_nxt[2963] =
     786static yyconst flex_int16_t yy_nxt[2952] =
    789787    {   0,
    790788       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    811809
    812810       84,   84,   84,   83,   92,   94,   88,  143,  147,   99,
    813        96,  100,  100,  100,  100,  100,  100,  256,  908,   95,
     811       96,  100,  100,  100,  100,  100,  100,  255,  904,   95,
    814812      101,   86,   97,   98,   86,  102,  162,  119,  144,   78,
    815813       78,   78,   78,  145,  148,  103,  104,   88,  105,  105,
    816       105,  105,  106,  106,  120,   88,  121,  122,  149,  267,
    817       150,  268,  258,  264,  185,  107,  199,  652,  160,  108,
     814      105,  105,  106,  106,  120,   88,  121,  122,  149,  266,
     815      150,  267,  257,  263,  185,  107,  198,  648,  160,  108,
    818816      161,  151,  152,  153,   88,  109,  110,  154,  155,  163,
    819817      156,  111,   88,  157,  158,  146,  164,  107,   88,   88,
    820        88,  159,  165,  112,  210,   88,   88,   88,  198,   88,
    821        88,  109,  197,   88,  110,  104,  254,  113,  113,  113,
    822 
    823       113,  113,  113,   88,  170,  178,  171,  200,  196,   88,
    824       211,  181,  166,  234,  107,  172,  167,  182,  114,  179,
    825       255,  168,   88,  275,  115,  169,  180,  173,  253,   88,
    826       116,   88,  908,   88,   88,  174,  107,  175,  286,  235,
    827       176,  252,  117,  267,  177,  268,  252,  253,  183,  276,
    828       115,  126,  284,  184,  253,  127,  128,   88,  129,  144,
    829       130,  131,  908,  132,  145,  133,   88,  259,  262,  186,
    830       187,  261,   88,  253,  134,  135,  136,  194,  190,  188,
    831       269,  267,  189,  268,  290,  260,  191,  269,  192,  260,
    832       908,  261,  263,  193,  267,  137,  268,  261,  138,  267,
    833 
    834       267,  268,  268,   88,   88,   88,  146,  201,   82,   83,
    835        83,   83,  201,  204,  205,  202,   88,  261,  204,  318,
    836       195,  270,  267,  285,  268,  139,  140,   81,   82,   83,
    837        83,   83,   81,  309,  206,  206,  206,  206,  206,  206,
    838       213,  214,  267,   88,  268,  213,  144,  215,  267,  271,
    839       268,  145,  215,   83,   82,   83,   83,   83,   83,  287,
    840        88,  216,  216,  216,  216,   83,   82,   84,   84,   84,
    841        83,   88,  215,  245,  245,  245,  245,  245,  245,  246,
    842       246,  246,  246,  267,  267,  268,  268,   88,  217,  288,
    843        88,  215,   88,   88,   88,   88,  215,  215,   88,  436,
    844 
    845       215,  215,  282,   88,  304,   88,   88,  908,  215,  283,
    846        88,  215,  247,  215,  218,  215,  289,  219,  221,  302,
    847       303,   88,  222,  223,   88,  321,  307,  224,  225,  312,
    848       226,   88,  227,   88,  310,  908,   88,  313,   88,  308,
    849        88,  228,  229,  230,  104,   88,  106,  106,  106,  106,
    850       106,  106,  305,  306,  311,   88,  320,  314,   88,   88,
    851       315,   88,  231,  107,  249,  232,  249,  317,   88,  250,
    852       250,  250,  250,  250,  250,  319,   88,  328,  316,  248,
    853        88,  327,   88,  323,   88,  107,  322,  367,   88,  368,
    854        88,   88,   88,  233,  237,  237,  237,  237,  237,  237,
    855 
    856       333,  326,  251,  334,   88,   88,  324,  329,   88,  336,
    857       238,  239,  240,  325,  241,  240,   88,  342,  338,  330,
    858       335,  144,  781,   88,  337,   88,   88,  242,   88,  331,
    859       332,  340,  240,  239,  240,   88,  339,  241,  345,  240,
    860       291,  292,  293,  350,  294,  295,  346,  343,  296,   88,
    861       297,   88,  353,  341,   88,  298,  299,  300,  367,  301,
    862       368,  367,  347,  368,  348,   88,   88,  349,  344,  201,
    863        82,   83,   83,   83,  201,  204,  205,  202,  354,  368,
    864       204,  204,  205,  414,  213,  214,  204,  351,  205,  213,
    865        88,  908,  351,  367,  352,  368,  206,  206,  206,  206,
    866 
    867       206,  206,  206,  206,  206,  206,  206,  206,  206,  206,
    868       206,  206,  206,  206,  359,  359,  359,  359,  368,  367,
    869       908,  368,  369,  367,  367,  368,  368,  367,  370,  368,
    870       367,  367,  368,  368,  367,  376,  368,  376,  376,  380,
    871       267,  380,  268,  377,  380,  377,   88,  360,  378,  378,
    872       378,  378,  378,  378,  267,  384,  268,  908,  376,  410,
    873       376,  380,  104,  380,  246,  246,  246,  246,  380,  382,
    874       382,  382,  382,  382,  382,  106,  106,  106,  106,  106,
    875       106,  379,  250,  250,  250,  250,  250,  250,   88,   88,
    876        88,   88,  107,   88,   88,  387,  415,  247,   88,  417,
    877 
    878        88,   88,  383,  397,  399,  428,  411,  412,  259,  413,
    879       416,   88,  457,  425,  107,  385,  385,  385,  385,  385,
    880       385,  387,  390,  106,  106,  106,  106,  106,  106,  397,
    881       400,  238,  249,  240,  249,  241,  240,  250,  250,  250,
    882       250,  250,  250,   88,   88,  392,   88,  393,  386,   88,
    883        88,  394,  429,  240,   88,  240,  259,  395,  241,   88,
    884       240,  113,  113,  113,  113,  113,  113,  422,   88,  396,
    885       418,   88,  423,  393,  419,  424,   88,  394,   88,   88,
    886       420,  421,   88,   88,  426,  427,   88,  434,   88,  430,
    887        88,   88,  435,   88,  264,   88,  432,  433,  431,   88,
    888 
    889       441,   88,   88,   88,  442,   88,  437,  443,  438,  439,
    890       440,  445,  444,   88,   88,   88,   88,   88,  449,  446,
    891       450,  447,  451,  448,   88,   88,   88,   88,   88,  452,
    892        88,  459,   88,   88,   88,  454,   88,   88,   88,  456,
    893        88,   88,  458,  455,   88,  461,  453,  466,   88,  460,
    894        88,   88,  144,   88,  465,  462,  464,  463,   88,   88,
    895        88,  471,  467,   88,  468,   88,  469,  473,  470,   88,
    896       472,  474,  475,  476,  477,  478,   88,  351,  205,  205,
    897        88,  479,  351,   88,  352,  203,  215,  215,  215,  215,
    898       359,  359,  359,  359,  528,  367,   88,  368,  367,  531,
    899 
    900       368,  378,  378,  378,  378,  378,  378,  377,  505,  377,
    901        88,  513,  378,  378,  378,  378,  378,  378,  506,  489,
    902       500,  500,  500,  500,  500,  500,  237,  237,  237,  237,
    903       237,  237,  535,   88,  505,  514,  238,   88,  240,   88,
    904       241,  240,  246,  246,  246,  246,  106,  106,  508,  529,
    905       533,  505,  530,  501,  509,  509,   88,   88,  240,  381,
    906       240,  507,   88,  241,  675,  240,  382,  382,  382,  382,
    907       382,  382,  390,  508,   88,  384,   88,  505,  538,  539,
    908       509,  509,  238,  239,  240,  532,  241,  240,  385,  385,
    909       385,  385,  385,  385,   88,  392,  543,  393,   88,  383,
    910 
    911       548,  394,  908,  908,  240,  239,  240,  395,  510,  241,
    912       510,  240,   88,  511,  511,  511,  511,  511,  511,  396,
    913        88,  386,   88,  393,   88,  537,  392,  394,  393,  534,
    914        88,  536,  394,   88,   88,   88,   88,  540,  515,  545,
    915        88,   88,   88,   88,  550,   88,  512,   88,  544,   88,
    916       396,  541,  542,   88,  393,  546,  553,  549,  394,  554,
    917       551,   88,  547,   88,  552,  556,  555,   88,   88,  559,
    918        88,   88,   88,   88,  557,   88,  558,  561,   88,   88,
    919        88,   88,  560,   88,   88,  562,   88,   88,  565,  569,
    920        88,  563,   88,  567,  564,   88,  573,  566,  570,  568,
    921 
    922        88,   88,   88,   88,   88,  574,  571,   88,  572,  578,
    923       575,  581,  576,   88,  582,  580,   88,  577,   88,  579,
    924        88,   88,   88,  205,   88,  585,  586,   88,  583,  593,
    925       592,  505,  589,  591,  615,  584,  587,  588,  215,  215,
    926       215,  215,   88,   88,  590,  500,  500,  500,  500,  500,
    927       500,  382,  382,  382,  382,  382,  382,  505,  636,  634,
    928       615,  238,   88,  240,   88,  241,  240,  385,  385,  385,
    929       385,  385,  385,  908,  883,  635,  505,  638,  501,   88,
    930        88,  505,   88,  240,  502,  240,  506,  611,  241,  611,
    931       240,  614,  612,  612,  612,  612,  612,  612,   88,  637,
    932 
    933       503,  647,  505,  641,  639,   88,   88,  505,  511,  511,
    934       511,  511,  511,  511,  510,  908,  510,  642,  640,  511,
    935       511,  511,  511,  511,  511,  613,  616,  616,  616,  616,
    936       616,  616,   88,   88,   88,  643,   88,   88,   88,   88,
    937        88,   88,  617,  649,  618,   88,  619,  618,  648,  645,
    938       651,  650,   88,  644,  653,  646,   88,   88,   88,  620,
    939        88,  656,  657,  654,  618,   88,  618,  659,  658,  619,
    940        88,  618,   88,  655,   88,   88,   88,  660,   88,   88,
    941       661,  663,   88,   88,  664,  662,   88,   88,  669,   88,
    942       666,   88,   88,  665,  667,  670,  671,  668,   88,   88,
    943 
    944        88,   88,   88,   88,  673,   88,  677,   88,  676,  674,
    945       680,  672,  681,  679,   88,  682,   88,  908,  908,  683,
    946       684,   88,  678,  500,  500,  500,  500,  500,  500,  612,
    947       612,  612,  612,  612,  612,  611,  685,  611,  721,   88,
    948       612,  612,  612,  612,  612,  612,  616,  616,  616,  616,
    949       616,  616,  720,  705,  705,   88,  610,  703,  703,  703,
    950       703,  703,  703,  705,   88,  706,  908,  706,   88,  716,
    951       706,   88,  725,  617,   88,  618,  705,  619,  618,  620,
    952       719,  718,  717,   88,   88,   88,  705,  706,   88,  706,
    953       704,  722,  723,   88,  706,  618,  724,  618,   88,  729,
    954 
    955       619,  726,  618,   88,   88,  728,  727,   88,   88,   88,
    956       735,  733,   88,   88,   88,   88,   88,   88,   88,   88,
    957        88,  731,   88,  738,   88,  730,  734,  736,  741,  732,
    958        88,  744,   88,  737,  739,   88,   88,  740,   88,   88,
    959       742,  748,  743,  749,  745,  746,   88,  747,  750,   88,
    960       753,   88,   88,   88,   88,  882,  751,  773,  752,  703,
    961       703,  703,  703,  703,  703,  616,  616,  616,  616,  616,
    962       616,   88,  767,  772,   88,  617,   88,  618,  769,  619,
    963       618,  768,   88,  770,   88,   88,   88,  771,  774,   88,
    964       776,   88,  704,   88,  779,  778,   88,  618,  707,  618,
    965 
    966        88,   88,  619,  782,  618,  784,  777,  775,   88,   88,
    967       783,  785,   88,   88,   88,   88,   88,  780,   88,   88,
    968       787,   88,  786,  788,   88,  791,   88,  789,   88,   88,
    969        88,   88,   88,  813,  797,   88,  790,  792,  794,  798,
    970        88,   88,  793,  795,  814,  796,  703,  703,  703,  703,
    971       703,  703,  811,   88,   88,   88,   88,  812,  816,  819,
    972       821,   88,   88,  815,  822,  823,   88,  818,  820,   88,
    973        88,  817,  825,  824,   88,   88,   88,  826,   88,  760,
    974        88,   88,   88,   88,   88,  827,  847,   88,   88,   88,
    975       849,   88,  850,  852,   88,   88,   88,  853,  828,  829,
    976 
    977       846,  830,  845,   88,   88,   88,  848,  844,  855,  851,
    978        88,   88,  857,  856,   88,   88,   88,  854,   88,   88,
    979       858,  871,  859,  870,   88,   88,   88,   88,   88,  875,
    980       860,  877,   88,  872,   88,  878,  869,   88,   88,   88,
    981        88,   88,   88,  873,  876,  885,  879,   88,  881,  874,
    982       880,  884,   88,   88,  892,  886,   88,  887,  888,  889,
    983        88,   88,   88,  890,  891,   88,   88,   88,  894,   88,
    984       896,   88,  897,   88,   88,   88,  895,  893,   88,   88,
    985        88,   88,   88,   88,  901,   88,   88,  908,  908,  900,
    986       868,  902,  908,  898,  899,  907,  867,  908,  905,  865,
    987 
    988       908,  903,  904,  864,  906,   70,   70,   70,   70,   70,
    989        70,   70,   70,   70,   70,   70,   70,   70,   76,   76,
     818       88,  159,  165,  112,  209,   88,   88,   88,  197,   88,
     819       88,  109,  196,   88,  110,  104,  253,  113,  113,  113,
     820
     821      113,  113,  113,   88,  170,  178,  171,  199,  195,   88,
     822      210,  181,  166,  233,  107,  172,  167,  182,  114,  179,
     823      254,  168,   88,  261,  115,  169,  180,  173,   88,  144,
     824      116,   88,  251,  326,  145,  174,  107,  175,  252,  234,
     825      176,  144,  117,  266,  177,  267,  145,  262,  183,   88,
     826      115,  126,   88,  184,  252,  127,  128,   88,  129,  193,
     827      130,  131,  259,  132,  252,  133,   88,  283,  260,  186,
     828      187,  260,  251,   88,  134,  135,  136,   88,  190,  188,
     829      252,  266,  189,  267,  274,   88,  191,  268,  146,  259,
     830      337,  203,  204,  192,  260,  137,  203,  260,  138,  266,
     831
     832      904,  267,  194,  200,   82,   83,   83,   83,  200,   88,
     833      275,  201,  205,  205,  205,  205,  205,  205,   81,   82,
     834       83,   83,   83,   81,   88,  139,  140,  212,  213,  266,
     835      904,  267,  212,  285,  214,  258,  266,   88,  267,  214,
     836       83,   82,   83,   83,   83,   83,  303,   88,  215,  215,
     837      215,  215,   83,   82,   84,   84,   84,   83,  904,  214,
     838      244,  244,  244,  244,  244,  244,  245,  245,  245,  245,
     839      269,  266,  266,  267,  267,  216,  268,   88,  214,  266,
     840      270,  267,   88,  214,  214,   88,   88,  214,  214,  266,
     841      266,  267,  267,  286,  904,  214,   88,  317,  214,  246,
     842
     843      214,  217,  214,  284,  218,  220,   88,   88,  288,  221,
     844      222,  281,   88,   88,  223,  224,   88,  225,  282,  226,
     845       88,  327,  904,  301,  287,  289,   88,   88,  227,  228,
     846      229,  104,  306,  106,  106,  106,  106,  106,  106,  311,
     847       88,   88,  302,   88,   88,  307,   88,  304,  305,  230,
     848      107,  248,  231,  248,  309,   88,  249,  249,  249,  249,
     849      249,  249,  310,  308,  313,   88,  247,  312,   88,   88,
     850      314,   88,  107,   88,   88,   88,   88,  316,   88,   88,
     851      232,  236,  236,  236,  236,  236,  236,  319,  315,  250,
     852      318,  320,  325,  323,   88,  321,  322,  237,  238,  239,
     853
     854      324,  240,  239,  328,   88,  329,   88,   88,  144,  365,
     855       88,  366,   88,   88,  241,  330,  331,  333,  335,  239,
     856      238,  239,   88,  341,  240,  332,  239,  290,  291,  292,
     857      338,  293,  294,  336,  334,  295,   88,  296,   88,  351,
     858       88,  339,  297,  298,  299,   88,  300,   88,  385,  212,
     859      213,  343,   88,  347,  212,  342,  203,  204,  345,  344,
     860      346,  203,  365,  340,  366,  352,  395,  348,  200,   82,
     861       83,   83,   83,  200,  385,   88,  201,  205,  205,  205,
     862      205,  205,  205,  203,  204,  365,  904,  366,  203,  349,
     863      204,  365,  395,  366,  349,  414,  350,  357,  357,  357,
     864
     865      357,  365,  366,  366,  205,  205,  205,  205,  205,  205,
     866      205,  205,  205,  205,  205,  205,  365,  366,  366,  367,
     867      365,  382,  366,  365,  368,  366,  365,  374,  366,  365,
     868      358,  366,  365,   88,  366,  374,  374,  375,  266,  375,
     869      267,   88,  376,  376,  376,  376,  376,  376,  397,  378,
     870      374,  378,   88,  266,  378,  267,  420,  411,  374,  380,
     871      380,  380,  380,  380,  380,  104,  550,  245,  245,  245,
     872      245,  378,   88,  378,  398,  377,   88,  413,  378,  106,
     873      106,  106,  106,  106,  106,  249,  249,  249,  249,  249,
     874      249,   88,  381,   88,  409,   88,  107,  248,   88,  248,
     875
     876      246,   88,  249,  249,  249,  249,  249,  249,  408,  410,
     877      412,   88,  258,  423,   88,   88,  415,   88,  107,  383,
     878      383,  383,  383,  383,  383,  388,  427,  422,  106,  106,
     879      106,  106,  106,  106,  416,  237,   88,  239,  461,  240,
     880      239,  113,  113,  113,  113,  113,  113,   88,  390,  428,
     881      391,   88,  384,   88,  392,   88,   88,  239,  426,  239,
     882      393,  258,  240,   88,  239,  421,   88,  424,  425,   88,
     883       88,  417,  394,   88,  263,  432,  391,  418,  419,   88,
     884      392,  430,  429,   88,  431,   88,   88,   88,  433,  435,
     885      434,  436,  439,   88,   88,   88,   88,   88,  440,   88,
     886
     887      441,   88,  444,   88,  443,  442,  437,  438,  446,   88,
     888       88,   88,   88,  445,  448,  449,  447,  450,   88,   88,
     889       88,   88,  452,   88,  457,   88,   88,   88,   88,  453,
     890      455,  454,   88,   88,  451,  456,   88,   88,  459,   88,
     891       88,  464,  458,   88,  144,  463,   88,  462,  460,   88,
     892      469,   88,  470,   88,   88,  465,  474,   88,  468,  466,
     893      502,  467,  472,  204,  471,  473,  349,  204,  475,  202,
     894      503,  349,  476,  350,  214,  214,  214,  214,  357,  357,
     895      357,  357,  365,  365,  366,  366,  502,   88,   88,  376,
     896      376,  376,  376,  376,  376,  375,  502,  375,  525,  510,
     897
     898      376,  376,  376,  376,  376,  376,  504,  486,  497,  497,
     899      497,  497,  497,  497,  236,  236,  236,  236,  236,  236,
     900       88,   88,  502,  511,  237,   88,  239,   88,  240,  239,
     901      245,  245,  245,  245,  106,  106,  505,  526,  530,  528,
     902      527,  498,  506,  506,   88,   88,  239,  379,  239,   88,
     903       88,  240,   88,  239,  380,  380,  380,  380,  380,  380,
     904      388,  505,  534,  382,   88,  537,  532,  536,  506,  506,
     905      237,  238,  239,  529,  240,  239,  383,  383,  383,  383,
     906      383,  383,   88,  390,   88,  391,  904,  381,  545,  392,
     907      904,  904,  239,  238,  239,  393,  507,  240,  507,  239,
     908
     909      535,  508,  508,  508,  508,  508,  508,  394,   88,  384,
     910       88,  391,   88,   88,  390,  392,  391,  531,   88,  533,
     911      392,   88,   88,   88,   88,   88,  512,  542,  538,  539,
     912       88,   88,  547,   88,  509,  540,  541,   88,  394,   88,
     913      543,   88,  391,  548,  546,  549,  392,  544,   88,  551,
     914       88,   88,  552,   88,  554,  553,  556,   88,   88,   88,
     915      558,   88,  555,  557,   88,   88,   88,   88,  559,   88,
     916       88,   88,   88,   88,  562,  566,   88,  560,   88,  564,
     917      561,  570,   88,  563,  567,  565,   88,   88,   88,   88,
     918       88,  571,  568,  569,  578,  574,  572,  575,  573,  577,
     919
     920      576,   88,   88,   88,   88,   88,   88,  204,  579,   88,
     921      582,   88,  581,  589,  580,  587,  585,  502,  611,   88,
     922      583,  584,  588,   88,  631,  586,  214,  214,  214,  214,
     923      497,  497,  497,  497,  497,  497,  380,  380,  380,  380,
     924      380,  380,   88,  502,  611,   88,  237,   88,  239,   88,
     925      240,  239,  383,  383,  383,  383,  383,  383,   88,  630,
     926      632,  502,  634,  498,   88,   88,  502,  633,  239,  499,
     927      239,  503,  607,  240,  607,  239,  610,  608,  608,  608,
     928      608,  608,  608,   88,  642,  500,  635,  502,  637,   88,
     929       88,   88,  502,  508,  508,  508,  508,  508,  508,  507,
     930
     931       88,  507,  636,  639,  508,  508,  508,  508,  508,  508,
     932      609,  612,  612,  612,  612,  612,  612,   88,   88,   88,
     933       88,   88,   88,   88,  904,   88,   88,  613,  638,  614,
     934      644,  615,  614,  646,  641,   88,  647,   88,  640,   88,
     935      645,  643,   88,  651,  616,   88,  649,  650,  652,  614,
     936      653,  614,  654,   88,  615,   88,  614,   88,   88,  656,
     937       88,   88,  655,   88,   88,   88,   88,   88,   88,  659,
     938      657,   88,  658,  660,   88,  662,  665,  666,  661,   88,
     939      663,  664,   88,  667,   88,   88,   88,   88,   88,  668,
     940       88,  676,  669,  671,  672,  673,  677,   88,   88,  670,
     941
     942       88,   88,  675,   88,   88,  904,   88,  777,  674,  712,
     943      678,   88,  701,  701,  680,  679,  497,  497,  497,  497,
     944      497,  497,  713,  717,  716,  681,  608,  608,  608,  608,
     945      608,  608,  607,  701,  607,  701,   88,  608,  608,  608,
     946      608,  608,  608,  612,  612,  612,  612,  612,  612,  606,
     947      699,  699,  699,  699,  699,  699,  701,  702,   88,  702,
     948       88,   88,  702,   88,   88,  714,  613,   88,  614,  715,
     949      615,  614,  720,  731,  719,   88,  616,   88,  722,  702,
     950      721,  702,   88,  700,  718,   88,  702,   88,  614,   88,
     951      614,   88,   88,  615,   88,  614,   88,  725,  723,  724,
     952
     953       88,   88,   88,  729,   88,   88,  727,  732,   88,  726,
     954       88,  730,   88,  728,  734,   88,  733,  737,   88,   88,
     955      735,   88,   88,  879,  740,   88,  736,   88,   88,   88,
     956      744,   88,  745,  738,  739,   88,  746,  748,  741,  743,
     957       88,  747,   88,   88,  749,  764,  742,  699,  699,  699,
     958      699,  699,  699,  612,  612,  612,  612,  612,  612,   88,
     959       88,  763,  768,  613,   88,  614,  766,  615,  614,  765,
     960       88,   88,  783,   88,  769,  767,  770,   88,  771,   88,
     961      700,   88,   88,  772,  780,  614,  703,  614,  774,   88,
     962      615,   88,  614,   88,  773,   88,  775,   88,  778,   88,
     963
     964      779,   88,  781,  776,   88,   88,   88,  784,   88,   88,
     965       88,  791,   88,   88,  782,  787,   88,  785,   88,  904,
     966       88,  793,   88,  809,   88,  794,  786,  788,  790,   88,
     967       88,   88,  789,  792,  699,  699,  699,  699,  699,  699,
     968      807,  808,   88,   88,  810,  812,  815,  813,   88,  817,
     969       88,   88,  811,  818,  819,   88,   88,  814,   88,  821,
     970       88,  816,  820,  822,   88,   88,   88,  756,   88,   88,
     971      848,   88,   88,  823,   88,  843,   88,   88,   88,  845,
     972       88,  846,   88,   88,  904,  849,   88,  824,  825,  826,
     973      841,   88,  842,  844,  851,  840,   88,   88,  847,   88,
     974
     975      852,   88,  854,   88,   88,  850,   88,   88,  853,   88,
     976      867,   88,  855,  866,   88,   88,   88,  871,  868,  856,
     977       88,   88,   88,  873,  874,  865,  904,   88,  876,  869,
     978       88,  875,  872,   88,   88,  870,  877,  882,  881,  880,
     979       88,   88,   88,   88,   88,  885,  884,  886,   88,   88,
     980      883,  887,   88,   88,   88,  890,   88,  892,   88,   88,
     981       88,  893,   88,  888,  889,   88,  891,   88,   88,  897,
     982       88,   88,   88,  904,  878,  894,   88,  896,  898,   88,
     983      895,   88,  903,   88,   88,  904,  901,  904,  864,  899,
     984      904,  900,  863,  902,   70,   70,   70,   70,   70,   70,
     985
     986       70,   70,   70,   70,   70,   70,   70,   76,   76,   76,
    990987       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
    991        76,   79,   79,   79,   79,   79,   79,   79,   79,   79,
    992        79,   79,   79,   79,   87,  908,  863,   87,  908,   87,
    993        87,   87,   87,   87,  141,  862,   88,   88,  141,  141,
    994       141,  141,  141,  141,  203,  203,  203,  203,  203,  203,
    995       203,  203,  203,  203,  203,  203,  203,  208,   88,  908,
    996       208,  843,  208,  208,  208,  208,  208,  212,  908,  212,
    997       212,  842,  212,  212,  212,  212,  212,  212,  840,  212,
    998 
    999       220,  908,  838,  220,  220,  220,  220,  220,  220,  220,
    1000       220,  908,  220,  243,  243,  243,  243,  243,  243,  243,
    1001       243,  243,  243,  243,  243,  243,  257,  257,  836,  257,
    1002       908,  834,  832,  257,  273,   88,   88,  273,   88,  273,
    1003       273,  273,  273,  273,  277,   88,  277,   88,   88,   88,
    1004       277,  279,   88,  279,   88,   88,   88,  279,  355,   88,
    1005       355,  908,  810,  808,  355,  357,  908,  357,  908,  805,
    1006       803,  357,  361,  801,  361,   88,   88,   88,  361,  363,
    1007        88,  363,   88,   88,   88,  363,  365,  766,  365,  763,
    1008       762,  760,  365,  372,  209,  372,  756,  755,  687,  372,
    1009 
    1010       374,   88,  374,   88,   88,   88,  374,  389,   88,  389,
    1011       391,  391,   88,  391,  391,  391,   88,  391,  257,  257,
    1012        88,  257,  273,   88,   88,  273,   88,  273,  273,  273,
    1013       273,  273,  401,   88,  401,   88,   88,   88,  401,  403,
    1014        88,  403,  714,  713,  711,  403,  405,  709,  405,  707,
    1015       614,  702,  405,  277,  701,  277,  407,  699,  407,  697,
    1016       695,  693,  407,  279,  691,  279,   87,  689,  687,   87,
    1017        88,   87,   87,   87,   87,   87,  203,  203,  203,  203,
    1018       203,  203,  203,  203,  203,  203,  203,  203,  203,  480,
    1019       480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
    1020 
    1021       480,  480,  481,   88,  481,   88,   88,   88,  481,  483,
    1022        88,  483,   88,   88,   88,  483,  485,   88,  485,   88,
    1023        88,   88,  485,  355,  633,  355,  487,  631,  487,  629,
    1024       627,  625,  487,  357,  623,  357,  490,  515,  490,  621,
    1025       621,  610,  490,  361,  609,  361,  492,  607,  492,  495,
    1026       495,  605,  492,  363,  603,  363,  494,  601,  494,  599,
    1027       597,  595,  494,  365,   88,  365,  496,   88,  496,   88,
    1028        88,   88,  496,  372,   88,  372,  498,   88,  498,   88,
    1029       527,  525,  498,  374,  523,  374,  504,  521,  504,  519,
    1030       504,  517,  504,  389,  503,  389,  502,  389,  499,  389,
    1031 
    1032       391,  391,  497,  391,  391,  391,  368,  391,  516,  368,
    1033       516,  495,  493,  491,  516,  518,  488,  518,  486,  484,
    1034       482,  518,  520,   88,  520,   88,   88,  409,  520,  401,
    1035       408,  401,  522,  406,  522,  404,  402,  274,  522,  403,
    1036       269,  403,  524,  268,  524,  398,  398,  256,  524,  405,
    1037       388,  405,  526,  388,  526,  244,  381,  375,  526,  407,
    1038       373,  407,   87,  371,  367,   87,  366,   87,   87,   87,
    1039        87,   87,  480,  480,  480,  480,  480,  480,  480,  480,
    1040       480,  480,  480,  480,  480,  594,  364,  594,  362,  358,
    1041       356,  594,  481,  209,  481,  596,  205,  596,   88,  281,
    1042 
    1043       280,  596,  483,  278,  483,  598,  274,  598,  269,  272,
    1044       269,  598,  485,  267,  485,  600,  266,  600,  265,  244,
    1045       236,  600,  487,   86,  487,  602,   86,  602,   88,  209,
    1046       207,  602,  490,   86,  490,  604,  123,  604,  118,   88,
    1047       908,  604,  492,   71,  492,  494,   71,  494,  908,  908,
    1048       908,  494,  606,  908,  606,  908,  908,  908,  606,  496,
    1049       908,  496,  608,  908,  608,  908,  908,  908,  608,  498,
    1050       908,  498,  504,  908,  504,  908,  504,  908,  504,  391,
    1051       908,  391,  908,  908,  908,  391,  622,  908,  622,  908,
    1052       908,  908,  622,  516,  908,  516,  624,  908,  624,  908,
    1053 
    1054       908,  908,  624,  518,  908,  518,  626,  908,  626,  908,
    1055       908,  908,  626,  520,  908,  520,  628,  908,  628,  908,
    1056       908,  908,  628,  522,  908,  522,  630,  908,  630,  908,
    1057       908,  908,  630,  524,  908,  524,  632,  908,  632,  908,
    1058       908,  908,  632,  526,  908,  526,   87,  908,  908,   87,
    1059       908,   87,   87,   87,   87,   87,  686,  686,  686,  686,
    1060       686,  686,  686,  686,  686,  686,  686,  686,  686,  688,
    1061       908,  688,  908,  908,  908,  688,  594,  908,  594,  690,
    1062       908,  690,  908,  908,  908,  690,  596,  908,  596,  692,
    1063       908,  692,  908,  908,  908,  692,  598,  908,  598,  694,
    1064 
    1065       908,  694,  908,  908,  908,  694,  600,  908,  600,  696,
    1066       908,  696,  908,  908,  908,  696,  602,  908,  602,  698,
    1067       908,  698,  908,  908,  908,  698,  604,  908,  604,  700,
    1068       908,  700,  908,  908,  908,  700,  606,  908,  606,   87,
    1069       908,   87,  908,  908,  908,   87,  608,  908,  608,  504,
    1070       908,  504,  908,  908,  908,  504,  708,  908,  708,  908,
    1071       908,  908,  708,  622,  908,  622,  710,  908,  710,  908,
    1072       908,  908,  710,  624,  908,  624,  712,  908,  712,  908,
    1073       908,  908,  712,  626,  908,  626,  141,  908,  141,  908,
    1074       908,  908,  141,  628,  908,  628,  715,  908,  715,  630,
    1075 
    1076       908,  630,   87,  908,  908,   87,  908,   87,   87,   87,
    1077        87,   87,  632,  908,  632,  686,  686,  686,  686,  686,
    1078       686,  686,  686,  686,  686,  686,  686,  686,  754,  908,
    1079       754,  908,  908,  908,  754,  688,  908,  688,  208,  908,
    1080       208,  908,  908,  908,  208,  690,  908,  690,  757,  908,
    1081       757,  692,  908,  692,  208,  908,  908,  208,  908,  208,
    1082       208,  208,  208,  208,  694,  908,  694,  758,  908,  758,
    1083       696,  908,  696,  698,  908,  698,  759,  908,  759,  700,
    1084       908,  700,   87,  908,   87,  761,  908,  761,  908,  908,
    1085       908,  761,  708,  908,  708,  273,  908,  273,  908,  908,
    1086 
    1087       908,  273,  710,  908,  710,  764,  908,  764,  712,  908,
    1088       712,  141,  908,  141,  765,  908,  765,  908,  908,  908,
    1089       765,   87,  908,  908,   87,  908,   87,   87,   87,   87,
    1090        87,  799,  908,  799,  754,  908,  754,  208,  908,  208,
    1091       800,  908,  800,  908,  908,  908,  800,  802,  908,  802,
    1092       908,  908,  908,  802,  804,  908,  804,  908,  908,  908,
    1093       804,  806,  908,  806,  807,  908,  807,  908,  908,  908,
    1094       807,  809,  908,  809,  908,  908,  908,  809,  831,  908,
    1095       831,  908,  908,  908,  831,  833,  908,  833,  908,  908,
    1096       908,  833,  835,  908,  835,  908,  908,  908,  835,  837,
    1097 
    1098       908,  837,  908,  908,  908,  837,  839,  908,  839,  908,
    1099       908,  908,  839,  841,  908,  841,  908,  908,  908,  841,
    1100       632,  908,  632,  908,  908,  908,  632,  861,  908,  861,
    1101       908,  908,  908,  861,  694,  908,  694,  908,  908,  908,
    1102       694,  698,  908,  698,  908,  908,  908,  698,   87,  908,
    1103        87,  908,  908,  908,   87,  866,  908,  866,  908,  908,
    1104       908,  866,  141,  908,  141,  908,  908,  908,  141,  208,
    1105       908,  208,  908,  908,  908,  208,   11,  908,  908,  908,
    1106       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1107       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1108 
    1109       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1110       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1111       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1112       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1113       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1114       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1115       908,  908
     988       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
     989       79,   79,   79,   87,  904,  861,   87,  904,   87,   87,
     990       87,   87,   87,  141,  860,  904,  859,  141,  141,  141,
     991      141,  141,  141,  202,  202,  202,  202,  202,  202,  202,
     992      202,  202,  202,  202,  202,  202,  207,  904,  858,  207,
     993       88,  207,  207,  207,  207,  207,  211,   88,  211,  211,
     994       88,  211,  211,  211,  211,  211,  211,  904,  211,  219,
     995      839,  904,  219,  219,  219,  219,  219,  219,  219,  219,
     996
     997      838,  219,  242,  242,  242,  242,  242,  242,  242,  242,
     998      242,  242,  242,  242,  242,  256,  256,  836,  256,  904,
     999      834,  904,  256,  272,  832,  904,  272,  830,  272,  272,
     1000      272,  272,  272,  276,  828,  276,   88,   88,   88,  276,
     1001      278,   88,  278,   88,   88,   88,  278,  353,   88,  353,
     1002       88,   88,   88,  353,  355,   88,  355,  904,  806,  804,
     1003      355,  359,  904,  359,  904,  801,  799,  359,  361,  797,
     1004      361,   88,   88,   88,  361,  363,   88,  363,   88,   88,
     1005       88,  363,  370,  762,  370,  759,  758,  756,  370,  372,
     1006      208,  372,  752,  751,  683,  372,  387,   88,  387,  389,
     1007
     1008      389,   88,  389,  389,  389,   88,  389,  256,  256,   88,
     1009      256,  272,   88,   88,  272,   88,  272,  272,  272,  272,
     1010      272,  399,   88,  399,   88,   88,   88,  399,  401,   88,
     1011      401,   88,   88,   88,  401,  403,   88,  403,  710,  709,
     1012      707,  403,  276,  705,  276,  405,  703,  405,  610,  698,
     1013      697,  405,  278,  695,  278,   87,  693,  691,   87,  689,
     1014       87,   87,   87,   87,   87,  202,  202,  202,  202,  202,
     1015      202,  202,  202,  202,  202,  202,  202,  202,  477,  477,
     1016      477,  477,  477,  477,  477,  477,  477,  477,  477,  477,
     1017      477,  478,  687,  478,  685,  683,   88,  478,  480,   88,
     1018
     1019      480,   88,   88,   88,  480,  482,   88,  482,   88,   88,
     1020       88,  482,  353,   88,  353,  484,   88,  484,   88,  629,
     1021      627,  484,  355,  625,  355,  487,  623,  487,  621,  619,
     1022      512,  487,  359,  617,  359,  489,  617,  489,  606,  605,
     1023      603,  489,  361,  492,  361,  491,  492,  491,  601,  599,
     1024      597,  491,  363,  595,  363,  493,  593,  493,  591,   88,
     1025       88,  493,  370,   88,  370,  495,   88,  495,   88,   88,
     1026       88,  495,  372,   88,  372,  501,  524,  501,  522,  501,
     1027      520,  501,  387,  518,  387,  516,  387,  514,  387,  389,
     1028      389,  500,  389,  389,  389,  499,  389,  513,  496,  513,
     1029
     1030      494,  366,  366,  513,  515,  492,  515,  490,  488,  485,
     1031      515,  517,  483,  517,  481,  479,   88,  517,  399,   88,
     1032      399,  519,   88,  519,  407,  406,  404,  519,  401,  402,
     1033      401,  521,  400,  521,  273,  268,  267,  521,  403,  396,
     1034      403,  523,  396,  523,  255,  386,  386,  523,  405,  243,
     1035      405,   87,  379,  373,   87,  371,   87,   87,   87,   87,
     1036       87,  477,  477,  477,  477,  477,  477,  477,  477,  477,
     1037      477,  477,  477,  477,  590,  369,  590,  365,  364,  362,
     1038      590,  478,  360,  478,  592,  356,  592,  354,  208,  204,
     1039      592,  480,   88,  480,  594,  280,  594,  279,  277,  273,
     1040
     1041      594,  482,  268,  482,  596,  271,  596,  268,  266,  265,
     1042      596,  484,  264,  484,  598,  243,  598,  235,   86,   86,
     1043      598,  487,   88,  487,  600,  208,  600,  206,   86,  123,
     1044      600,  489,  118,  489,  491,   88,  491,  904,   71,   71,
     1045      491,  602,  904,  602,  904,  904,  904,  602,  493,  904,
     1046      493,  604,  904,  604,  904,  904,  904,  604,  495,  904,
     1047      495,  501,  904,  501,  904,  501,  904,  501,  389,  904,
     1048      389,  904,  904,  904,  389,  618,  904,  618,  904,  904,
     1049      904,  618,  513,  904,  513,  620,  904,  620,  904,  904,
     1050      904,  620,  515,  904,  515,  622,  904,  622,  904,  904,
     1051
     1052      904,  622,  517,  904,  517,  624,  904,  624,  904,  904,
     1053      904,  624,  519,  904,  519,  626,  904,  626,  904,  904,
     1054      904,  626,  521,  904,  521,  628,  904,  628,  904,  904,
     1055      904,  628,  523,  904,  523,   87,  904,  904,   87,  904,
     1056       87,   87,   87,   87,   87,  682,  682,  682,  682,  682,
     1057      682,  682,  682,  682,  682,  682,  682,  682,  684,  904,
     1058      684,  904,  904,  904,  684,  590,  904,  590,  686,  904,
     1059      686,  904,  904,  904,  686,  592,  904,  592,  688,  904,
     1060      688,  904,  904,  904,  688,  594,  904,  594,  690,  904,
     1061      690,  904,  904,  904,  690,  596,  904,  596,  692,  904,
     1062
     1063      692,  904,  904,  904,  692,  598,  904,  598,  694,  904,
     1064      694,  904,  904,  904,  694,  600,  904,  600,  696,  904,
     1065      696,  904,  904,  904,  696,  602,  904,  602,   87,  904,
     1066       87,  904,  904,  904,   87,  604,  904,  604,  501,  904,
     1067      501,  904,  904,  904,  501,  704,  904,  704,  904,  904,
     1068      904,  704,  618,  904,  618,  706,  904,  706,  904,  904,
     1069      904,  706,  620,  904,  620,  708,  904,  708,  904,  904,
     1070      904,  708,  622,  904,  622,  141,  904,  141,  904,  904,
     1071      904,  141,  624,  904,  624,  711,  904,  711,  626,  904,
     1072      626,   87,  904,  904,   87,  904,   87,   87,   87,   87,
     1073
     1074       87,  628,  904,  628,  682,  682,  682,  682,  682,  682,
     1075      682,  682,  682,  682,  682,  682,  682,  750,  904,  750,
     1076      904,  904,  904,  750,  684,  904,  684,  207,  904,  207,
     1077      904,  904,  904,  207,  686,  904,  686,  753,  904,  753,
     1078      688,  904,  688,  207,  904,  904,  207,  904,  207,  207,
     1079      207,  207,  207,  690,  904,  690,  754,  904,  754,  692,
     1080      904,  692,  694,  904,  694,  755,  904,  755,  696,  904,
     1081      696,   87,  904,   87,  757,  904,  757,  904,  904,  904,
     1082      757,  704,  904,  704,  272,  904,  272,  904,  904,  904,
     1083      272,  706,  904,  706,  760,  904,  760,  708,  904,  708,
     1084
     1085      141,  904,  141,  761,  904,  761,  904,  904,  904,  761,
     1086       87,  904,  904,   87,  904,   87,   87,   87,   87,   87,
     1087      795,  904,  795,  750,  904,  750,  207,  904,  207,  796,
     1088      904,  796,  904,  904,  904,  796,  798,  904,  798,  904,
     1089      904,  904,  798,  800,  904,  800,  904,  904,  904,  800,
     1090      802,  904,  802,  803,  904,  803,  904,  904,  904,  803,
     1091      805,  904,  805,  904,  904,  904,  805,  827,  904,  827,
     1092      904,  904,  904,  827,  829,  904,  829,  904,  904,  904,
     1093      829,  831,  904,  831,  904,  904,  904,  831,  833,  904,
     1094      833,  904,  904,  904,  833,  835,  904,  835,  904,  904,
     1095
     1096      904,  835,  837,  904,  837,  904,  904,  904,  837,  628,
     1097      904,  628,  904,  904,  904,  628,  857,  904,  857,  904,
     1098      904,  904,  857,  690,  904,  690,  904,  904,  904,  690,
     1099      694,  904,  694,  904,  904,  904,  694,   87,  904,   87,
     1100      904,  904,  904,   87,  862,  904,  862,  904,  904,  904,
     1101      862,  141,  904,  141,  904,  904,  904,  141,  207,  904,
     1102      207,  904,  904,  904,  207,   11,  904,  904,  904,  904,
     1103      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1104      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1105      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1106
     1107      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1108      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1109      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1110      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1111      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1112      904
    11161113    } ;
    11171114
    1118 static yyconst flex_int16_t yy_chk[2963] =
     1115static yyconst flex_int16_t yy_chk[2952] =
    11191116    {   0,
    11201117        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11371134        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11381135        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1139         8,    9,   10,   37,   37,   20,   39,    9,   10,  907,
     1136        8,    9,   10,   37,   37,   20,   39,    9,   10,  903,
    11401137        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    11411138
     
    11451142        8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
    11461143       30,   30,   30,   30,   35,   57,   35,   35,   44,  127,
    1147        44,  127,  110,  116,   57,   30,   65,  547,   47,   30,
     1144       44,  127,  110,  116,   57,   30,   65,  544,   47,   30,
    11481145       47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    11491146       45,   30,   40,   45,   45,   40,   49,   30,   45,   63,
    1150        62,   45,   49,   30,   74,  906,  547,   53,   63,   51,
     1147       62,   45,   49,   30,   74,  902,  544,   53,   63,   51,
    11511148       61,   30,   62,   55,   30,   31,  109,   31,   31,   31,
    11521149
    11531150       31,   31,   31,   50,   51,   53,   51,   65,   61,   54,
    11541151       74,   55,   50,   88,   31,   51,   50,   55,   31,   54,
    1155       109,   50,   52,  143,   31,   50,   54,   52,  112,  154,
    1156        31,   56,  111,  898,  152,   52,   31,   52,  154,   88,
    1157        52,  108,   31,  128,   52,  128,  112,  108,   56,  143,
    1158        31,   38,  152,   56,  112,   38,   38,   58,   38,   60,
    1159        38,   38,  111,   38,   60,   38,   59,  111,  115,   58,
    1160        58,  117,  158,  108,   38,   38,   38,   60,   59,   58,
    1161       131,  130,   58,  130,  158,  114,   59,  132,   59,  117,
    1162       111,  114,  115,   59,  131,   38,  131,  117,   38,  132,
    1163 
    1164       133,  132,  133,   60,  173,  153,   60,   68,   68,   68,
    1165        68,   68,   68,   69,   69,   68,  165,  114,   69,  173,
    1166        60,  134,  134,  153,  134,   38,   38,   81,   81,   81,
    1167        81,   81,   81,  165,   69,   69,   69,   69,   69,   69,
    1168        78,   78,  135,  155,  135,   78,  146,   78,  136,  136,
    1169       136,  146,   78,   83,   83,   83,   83,   83,   83,  155,
    1170       897,   78,   78,   78,   78,   84,   84,   84,   84,   84,
    1171        84,  156,   78,  104,  104,  104,  104,  104,  104,  105,
    1172       105,  105,  105,  138,  140,  138,  140,  151,   78,  156,
    1173       146,   78,  306,  894,  157,  162,   78,   78,  161,  306,
    1174 
    1175        78,   78,  151,  160,  162,  176,  168,  105,   78,  151,
    1176       169,   78,  105,   78,   78,   78,  157,   78,   86,  160,
    1177       161,  164,   86,   86,  166,  176,  164,   86,   86,  168,
    1178        86,  163,   86,  167,  166,  105,  170,  169,  175,  164,
    1179       893,   86,   86,   86,  106,  172,  106,  106,  106,  106,
    1180       106,  106,  163,  163,  167,  171,  175,  170,  174,  177,
    1181       171,  178,   86,  106,  107,   86,  107,  172,  183,  107,
    1182       107,  107,  107,  107,  107,  174,  182,  183,  171,  106,
    1183       184,  182,  186,  178,  181,  106,  177,  222,  891,  222,
    1184       192,  180,  187,   86,  100,  100,  100,  100,  100,  100,
    1185 
    1186       186,  181,  107,  187,  188,  189,  180,  184,  185,  188,
    1187       100,  100,  100,  180,  100,  100,  190,  192,  189,  185,
    1188       187,  194,  732,  198,  188,  195,  191,  100,  193,  185,
    1189       185,  191,  100,  100,  100,  159,  190,  100,  195,  100,
    1190       159,  159,  159,  198,  159,  159,  195,  193,  159,  196,
    1191       159,  732,  209,  191,  197,  159,  159,  159,  223,  159,
    1192       223,  224,  196,  224,  196,  194,  286,  197,  194,  201,
    1193       201,  201,  201,  201,  201,  202,  202,  201,  209,  225,
    1194       202,  204,  204,  286,  213,  213,  204,  206,  206,  213,
    1195       890,  883,  206,  225,  206,  225,  202,  202,  202,  202,
    1196 
    1197       202,  202,  204,  204,  204,  204,  204,  204,  206,  206,
    1198       206,  206,  206,  206,  216,  216,  216,  216,  226,  227,
    1199       247,  227,  228,  228,  229,  228,  229,  230,  230,  230,
    1200       226,  232,  226,  232,  233,  240,  233,  238,  238,  241,
    1201       270,  241,  270,  239,  241,  239,  282,  216,  239,  239,
    1202       239,  239,  239,  239,  271,  247,  271,  882,  240,  282,
    1203       238,  241,  246,  241,  246,  246,  246,  246,  241,  245,
    1204       245,  245,  245,  245,  245,  248,  248,  248,  248,  248,
    1205       248,  239,  249,  249,  249,  249,  249,  249,  283,  284,
    1206       288,  287,  248,  285,  289,  252,  287,  246,  295,  289,
    1207 
    1208       297,  326,  245,  260,  274,  297,  283,  284,  248,  285,
    1209       288,  881,  326,  295,  248,  250,  250,  250,  250,  250,
    1210       250,  252,  257,  259,  259,  259,  259,  259,  259,  260,
    1211       274,  250,  251,  250,  251,  250,  250,  251,  251,  251,
    1212       251,  251,  251,  298,  292,  257,  880,  257,  250,  294,
    1213       290,  257,  298,  250,  293,  250,  259,  257,  250,  291,
    1214       250,  264,  264,  264,  264,  264,  264,  292,  296,  257,
    1215       290,  300,  293,  257,  291,  294,  299,  257,  301,  303,
    1216       291,  291,  304,  305,  296,  296,  307,  304,  309,  299,
    1217       308,  879,  305,  313,  264,  310,  301,  303,  300,  311,
    1218 
    1219       310,  312,  314,  318,  311,  316,  307,  312,  308,  309,
    1220       309,  314,  313,  315,  317,  319,  322,  320,  318,  315,
    1221       319,  316,  320,  317,  321,  323,  324,  327,  328,  321,
    1222       329,  328,  330,  331,  332,  322,  333,  334,  335,  324,
    1223       336,  337,  327,  323,  338,  330,  321,  335,  340,  329,
    1224       339,  342,  344,  345,  334,  331,  333,  332,  343,  346,
    1225       349,  340,  336,  350,  337,  347,  338,  343,  339,  348,
    1226       342,  345,  346,  347,  348,  349,  875,  351,  351,  352,
    1227       413,  350,  351,  410,  351,  352,  359,  359,  359,  359,
    1228       360,  360,  360,  360,  410,  369,  344,  369,  370,  413,
    1229 
    1230       370,  377,  377,  377,  377,  377,  377,  379,  389,  379,
    1231       417,  394,  379,  379,  379,  379,  379,  379,  389,  359,
    1232       378,  378,  378,  378,  378,  378,  381,  381,  381,  381,
    1233       381,  381,  417,  411,  389,  394,  378,  412,  378,  415,
    1234       378,  378,  384,  384,  384,  384,  384,  384,  392,  411,
    1235       415,  390,  412,  378,  392,  396,  578,  421,  378,  381,
    1236       378,  390,  420,  378,  578,  378,  382,  382,  382,  382,
    1237       382,  382,  391,  396,  424,  384,  414,  390,  420,  421,
    1238       392,  396,  382,  382,  382,  414,  382,  382,  385,  385,
    1239       385,  385,  385,  385,  428,  391,  424,  391,  871,  382,
    1240 
    1241       428,  391,  868,  395,  382,  382,  382,  391,  393,  382,
    1242       393,  382,  419,  393,  393,  393,  393,  393,  393,  391,
    1243       416,  385,  418,  391,  422,  419,  395,  391,  395,  416,
    1244       425,  418,  395,  430,  426,  423,  429,  422,  395,  426,
    1245       427,  431,  434,  439,  430,  438,  393,  436,  425,  432,
    1246       395,  423,  423,  441,  395,  427,  434,  429,  395,  436,
    1247       431,  440,  427,  442,  432,  439,  438,  443,  444,  442,
    1248       446,  448,  449,  450,  440,  451,  441,  444,  452,  453,
    1249       454,  456,  443,  458,  461,  446,  459,  460,  450,  454,
    1250       462,  448,  463,  452,  449,  464,  460,  451,  456,  453,
    1251 
    1252       465,  466,  467,  470,  468,  461,  458,  469,  459,  465,
    1253       462,  468,  463,  471,  469,  467,  472,  464,  473,  466,
    1254       474,  475,  477,  480,  478,  472,  473,  479,  470,  480,
    1255       479,  507,  475,  478,  508,  471,  473,  474,  489,  489,
    1256       489,  489,  528,  531,  477,  500,  500,  500,  500,  500,
    1257       500,  502,  502,  502,  502,  502,  502,  507,  531,  528,
    1258       508,  500,  529,  500,  533,  500,  500,  503,  503,  503,
    1259       503,  503,  503,  867,  866,  529,  504,  533,  500,  532,
    1260       542,  506,  534,  500,  502,  500,  504,  505,  500,  505,
    1261       500,  506,  505,  505,  505,  505,  505,  505,  536,  532,
    1262 
    1263       503,  542,  504,  536,  534,  535,  537,  506,  510,  510,
    1264       510,  510,  510,  510,  512,  865,  512,  537,  535,  512,
    1265       512,  512,  512,  512,  512,  505,  511,  511,  511,  511,
    1266       511,  511,  538,  539,  540,  538,  541,  546,  544,  543,
    1267       545,  549,  511,  544,  511,  548,  511,  511,  543,  540,
    1268       546,  545,  551,  539,  548,  541,  550,  552,  555,  511,
    1269       557,  551,  552,  549,  511,  558,  511,  555,  554,  511,
    1270       559,  511,  560,  550,  554,  562,  563,  557,  564,  565,
    1271       558,  560,  567,  568,  562,  559,  570,  571,  568,  574,
    1272       564,  575,  576,  563,  565,  570,  571,  567,  579,  580,
    1273 
    1274       581,  582,  589,  586,  575,  587,  580,  590,  579,  576,
    1275       583,  574,  586,  582,  592,  587,  583,  864,  863,  589,
    1276       590,  638,  581,  610,  610,  610,  610,  610,  610,  611,
    1277       611,  611,  611,  611,  611,  613,  592,  613,  638,  637,
    1278       613,  613,  613,  613,  613,  613,  616,  616,  616,  616,
    1279       616,  616,  637,  617,  617,  642,  610,  612,  612,  612,
    1280       612,  612,  612,  618,  634,  619,  862,  619,  639,  634,
    1281       619,  636,  642,  612,  635,  612,  617,  612,  612,  616,
    1282       636,  635,  634,  645,  646,  640,  618,  619,  641,  619,
    1283       612,  639,  640,  644,  619,  612,  641,  612,  643,  646,
    1284 
    1285       612,  643,  612,  647,  648,  645,  644,  649,  650,  651,
    1286       652,  650,  653,  654,  655,  657,  656,  660,  667,  658,
    1287       661,  648,  662,  655,  666,  647,  651,  653,  658,  649,
    1288       669,  662,  672,  654,  656,  684,  673,  657,  652,  680,
    1289       660,  672,  661,  673,  666,  667,  681,  669,  680,  683,
    1290       684,  716,  719,  722,  723,  861,  681,  723,  683,  703,
    1291       703,  703,  703,  703,  703,  707,  707,  707,  707,  707,
    1292       707,  717,  716,  722,  856,  703,  720,  703,  719,  703,
    1293       703,  717,  721,  720,  727,  724,  729,  721,  724,  725,
    1294       727,  730,  703,  728,  730,  729,  731,  703,  707,  703,
    1295 
    1296       733,  734,  703,  733,  703,  735,  728,  725,  736,  737,
    1297       734,  736,  738,  739,  740,  741,  742,  731,  748,  745,
    1298       738,  749,  737,  739,  750,  742,  752,  740,  773,  774,
    1299       753,  735,  771,  773,  752,  776,  741,  745,  748,  753,
    1300       772,  778,  745,  749,  774,  750,  760,  760,  760,  760,
    1301       760,  760,  771,  775,  777,  780,  779,  772,  776,  779,
    1302       781,  783,  785,  775,  783,  785,  786,  778,  780,  787,
    1303       789,  777,  787,  786,  788,  790,  792,  788,  796,  760,
    1304       811,  813,  814,  815,  816,  789,  815,  817,  781,  818,
    1305       817,  820,  818,  821,  822,  824,  855,  822,  790,  792,
    1306 
    1307       814,  796,  813,  827,  828,  825,  816,  811,  825,  820,
    1308       826,  829,  827,  826,  830,  845,  846,  824,  847,  821,
    1309       828,  847,  829,  846,  848,  849,  850,  851,  854,  850,
    1310       830,  854,  857,  848,  884,  857,  845,  858,  859,  860,
    1311       870,  853,  869,  849,  851,  870,  858,  873,  860,  849,
    1312       859,  869,  872,  874,  884,  872,  876,  873,  874,  876,
    1313       877,  878,  885,  877,  878,  886,  887,  888,  886,  889,
    1314       888,  892,  889,  895,  896,  899,  887,  885,  900,  901,
    1315       903,  902,  904,  852,  899,  905,  844,  843,  842,  896,
    1316       841,  900,  840,  892,  895,  905,  839,  838,  903,  837,
    1317 
    1318       836,  901,  902,  835,  904,  909,  909,  909,  909,  909,
    1319       909,  909,  909,  909,  909,  909,  909,  909,  910,  910,
    1320       910,  910,  910,  910,  910,  910,  910,  910,  910,  910,
    1321       910,  911,  911,  911,  911,  911,  911,  911,  911,  911,
    1322       911,  911,  911,  911,  912,  834,  833,  912,  832,  912,
    1323       912,  912,  912,  912,  913,  831,  823,  819,  913,  913,
    1324       913,  913,  913,  913,  914,  914,  914,  914,  914,  914,
    1325       914,  914,  914,  914,  914,  914,  914,  915,  812,  810,
    1326       915,  809,  915,  915,  915,  915,  915,  916,  808,  916,
    1327       916,  807,  916,  916,  916,  916,  916,  916,  806,  916,
    1328 
    1329       917,  805,  804,  917,  917,  917,  917,  917,  917,  917,
    1330       917,  803,  917,  918,  918,  918,  918,  918,  918,  918,
    1331       918,  918,  918,  918,  918,  918,  919,  919,  802,  919,
    1332       801,  800,  799,  919,  920,  798,  797,  920,  795,  920,
    1333       920,  920,  920,  920,  921,  794,  921,  793,  791,  784,
    1334       921,  922,  782,  922,  770,  769,  768,  922,  923,  767,
    1335       923,  766,  765,  764,  923,  924,  763,  924,  762,  759,
    1336       758,  924,  925,  757,  925,  751,  747,  746,  925,  926,
    1337       744,  926,  743,  726,  718,  926,  927,  715,  927,  710,
    1338       708,  704,  927,  928,  694,  928,  690,  688,  686,  928,
    1339 
    1340       929,  685,  929,  682,  679,  678,  929,  930,  677,  930,
    1341       931,  931,  676,  931,  931,  931,  675,  931,  932,  932,
    1342       674,  932,  933,  671,  670,  933,  668,  933,  933,  933,
    1343       933,  933,  934,  665,  934,  664,  663,  659,  934,  935,
    1344       632,  935,  628,  626,  624,  935,  936,  622,  936,  620,
    1345       614,  608,  936,  937,  606,  937,  938,  604,  938,  602,
    1346       600,  598,  938,  939,  596,  939,  940,  594,  593,  940,
    1347       591,  940,  940,  940,  940,  940,  941,  941,  941,  941,
    1348       941,  941,  941,  941,  941,  941,  941,  941,  941,  942,
    1349       942,  942,  942,  942,  942,  942,  942,  942,  942,  942,
    1350 
    1351       942,  942,  943,  588,  943,  585,  584,  577,  943,  944,
    1352       573,  944,  572,  569,  566,  944,  945,  561,  945,  556,
    1353       553,  530,  945,  946,  526,  946,  947,  524,  947,  522,
    1354       520,  518,  947,  948,  516,  948,  949,  515,  949,  514,
    1355       513,  501,  949,  950,  498,  950,  951,  496,  951,  495,
    1356       494,  492,  951,  952,  490,  952,  953,  487,  953,  485,
    1357       483,  481,  953,  954,  476,  954,  955,  457,  955,  455,
    1358       447,  445,  955,  956,  437,  956,  957,  435,  957,  433,
    1359       407,  405,  957,  958,  403,  958,  959,  401,  959,  400,
    1360       959,  399,  959,  960,  386,  960,  383,  960,  374,  960,
    1361 
    1362       961,  961,  372,  961,  961,  961,  371,  961,  962,  367,
    1363       962,  365,  363,  361,  962,  963,  357,  963,  355,  354,
    1364       353,  963,  964,  341,  964,  325,  302,  281,  964,  965,
    1365       279,  965,  966,  277,  966,  276,  275,  273,  966,  967,
    1366       272,  967,  968,  267,  968,  263,  262,  258,  968,  969,
    1367       255,  969,  970,  254,  970,  243,  242,  235,  970,  971,
    1368       234,  971,  972,  231,  221,  972,  219,  972,  972,  972,
    1369       972,  972,  973,  973,  973,  973,  973,  973,  973,  973,
    1370       973,  973,  973,  973,  973,  974,  218,  974,  217,  211,
    1371       210,  974,  975,  208,  975,  976,  203,  976,  179,  150,
    1372 
    1373       148,  976,  977,  147,  977,  978,  141,  978,  139,  137,
    1374       129,  978,  979,  126,  979,  980,  125,  980,  121,  102,
    1375        99,  980,  981,   96,  981,  982,   94,  982,   87,   73,
    1376        71,  982,  983,   67,  983,  984,   36,  984,   33,   18,
    1377        11,  984,  985,    4,  985,  986,    3,  986,    0,    0,
    1378         0,  986,  987,    0,  987,    0,    0,    0,  987,  988,
    1379         0,  988,  989,    0,  989,    0,    0,    0,  989,  990,
    1380         0,  990,  991,    0,  991,    0,  991,    0,  991,  992,
    1381         0,  992,    0,    0,    0,  992,  993,    0,  993,    0,
    1382         0,    0,  993,  994,    0,  994,  995,    0,  995,    0,
    1383 
    1384         0,    0,  995,  996,    0,  996,  997,    0,  997,    0,
    1385         0,    0,  997,  998,    0,  998,  999,    0,  999,    0,
    1386         0,    0,  999, 1000,    0, 1000, 1001,    0, 1001,    0,
    1387         0,    0, 1001, 1002,    0, 1002, 1003,    0, 1003,    0,
    1388         0,    0, 1003, 1004,    0, 1004, 1005,    0,    0, 1005,
    1389         0, 1005, 1005, 1005, 1005, 1005, 1006, 1006, 1006, 1006,
    1390      1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1007,
    1391         0, 1007,    0,    0,    0, 1007, 1008,    0, 1008, 1009,
    1392         0, 1009,    0,    0,    0, 1009, 1010,    0, 1010, 1011,
    1393         0, 1011,    0,    0,    0, 1011, 1012,    0, 1012, 1013,
    1394 
    1395         0, 1013,    0,    0,    0, 1013, 1014,    0, 1014, 1015,
    1396         0, 1015,    0,    0,    0, 1015, 1016,    0, 1016, 1017,
    1397         0, 1017,    0,    0,    0, 1017, 1018,    0, 1018, 1019,
    1398         0, 1019,    0,    0,    0, 1019, 1020,    0, 1020, 1021,
    1399         0, 1021,    0,    0,    0, 1021, 1022,    0, 1022, 1023,
    1400         0, 1023,    0,    0,    0, 1023, 1024,    0, 1024,    0,
    1401         0,    0, 1024, 1025,    0, 1025, 1026,    0, 1026,    0,
    1402         0,    0, 1026, 1027,    0, 1027, 1028,    0, 1028,    0,
    1403         0,    0, 1028, 1029,    0, 1029, 1030,    0, 1030,    0,
    1404         0,    0, 1030, 1031,    0, 1031, 1032,    0, 1032, 1033,
    1405 
    1406         0, 1033, 1034,    0,    0, 1034,    0, 1034, 1034, 1034,
    1407      1034, 1034, 1035,    0, 1035, 1036, 1036, 1036, 1036, 1036,
    1408      1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037,    0,
    1409      1037,    0,    0,    0, 1037, 1038,    0, 1038, 1039,    0,
    1410      1039,    0,    0,    0, 1039, 1040,    0, 1040, 1041,    0,
    1411      1041, 1042,    0, 1042, 1043,    0,    0, 1043,    0, 1043,
    1412      1043, 1043, 1043, 1043, 1044,    0, 1044, 1045,    0, 1045,
    1413      1046,    0, 1046, 1047,    0, 1047, 1048,    0, 1048, 1049,
    1414         0, 1049, 1050,    0, 1050, 1051,    0, 1051,    0,    0,
    1415         0, 1051, 1052,    0, 1052, 1053,    0, 1053,    0,    0,
    1416 
    1417         0, 1053, 1054,    0, 1054, 1055,    0, 1055, 1056,    0,
    1418      1056, 1057,    0, 1057, 1058,    0, 1058,    0,    0,    0,
    1419      1058, 1059,    0,    0, 1059,    0, 1059, 1059, 1059, 1059,
    1420      1059, 1060,    0, 1060, 1061,    0, 1061, 1062,    0, 1062,
    1421      1063,    0, 1063,    0,    0,    0, 1063, 1064,    0, 1064,
    1422         0,    0,    0, 1064, 1065,    0, 1065,    0,    0,    0,
    1423      1065, 1066,    0, 1066, 1067,    0, 1067,    0,    0,    0,
    1424      1067, 1068,    0, 1068,    0,    0,    0, 1068, 1069,    0,
    1425      1069,    0,    0,    0, 1069, 1070,    0, 1070,    0,    0,
    1426         0, 1070, 1071,    0, 1071,    0,    0,    0, 1071, 1072,
    1427 
    1428         0, 1072,    0,    0,    0, 1072, 1073,    0, 1073,    0,
    1429         0,    0, 1073, 1074,    0, 1074,    0,    0,    0, 1074,
    1430      1075,    0, 1075,    0,    0,    0, 1075, 1076,    0, 1076,
    1431         0,    0,    0, 1076, 1077,    0, 1077,    0,    0,    0,
    1432      1077, 1078,    0, 1078,    0,    0,    0, 1078, 1079,    0,
    1433      1079,    0,    0,    0, 1079, 1080,    0, 1080,    0,    0,
    1434         0, 1080, 1081,    0, 1081,    0,    0,    0, 1081, 1082,
    1435         0, 1082,    0,    0,    0, 1082,  908,  908,  908,  908,
    1436       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1437       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1438 
    1439       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1440       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1441       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1442       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1443       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1444       908,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1445       908,  908
     1152      109,   50,   52,  115,   31,   50,   54,   52,  182,  146,
     1153       31,   56,  108,  182,  146,   52,   31,   52,  108,   88,
     1154       52,   60,   31,  128,   52,  128,   60,  115,   56,  152,
     1155       31,   38,  894,   56,  112,   38,   38,   58,   38,   60,
     1156       38,   38,  114,   38,  108,   38,   59,  152,  114,   58,
     1157       58,  117,  112,  146,   38,   38,   38,  189,   59,   58,
     1158      112,  130,   58,  130,  143,   60,   59,  132,   60,  117,
     1159      189,   69,   69,   59,  114,   38,   69,  117,   38,  132,
     1160
     1161      111,  132,   60,   68,   68,   68,   68,   68,   68,  893,
     1162      143,   68,   69,   69,   69,   69,   69,   69,   81,   81,
     1163       81,   81,   81,   81,  154,   38,   38,   78,   78,  133,
     1164      111,  133,   78,  154,   78,  111,  135,  162,  135,   78,
     1165       83,   83,   83,   83,   83,   83,  162,  890,   78,   78,
     1166       78,   78,   84,   84,   84,   84,   84,   84,  111,   78,
     1167      104,  104,  104,  104,  104,  104,  105,  105,  105,  105,
     1168      134,  134,  138,  134,  138,   78,  131,  155,   78,  136,
     1169      136,  136,  173,   78,   78,  153,  157,   78,   78,  140,
     1170      131,  140,  131,  155,  105,   78,  151,  173,   78,  105,
     1171
     1172       78,   78,   78,  153,   78,   86,  156,  160,  157,   86,
     1173       86,  151,  183,  158,   86,   86,  168,   86,  151,   86,
     1174      161,  183,  105,  160,  156,  158,  163,  164,   86,   86,
     1175       86,  106,  164,  106,  106,  106,  106,  106,  106,  168,
     1176      169,  167,  161,  170,  166,  164,  165,  163,  163,   86,
     1177      106,  107,   86,  107,  166,  172,  107,  107,  107,  107,
     1178      107,  107,  167,  165,  170,  171,  106,  169,  177,  175,
     1179      171,  176,  106,  174,  178,  181,  184,  172,  180,  889,
     1180       86,  100,  100,  100,  100,  100,  100,  175,  171,  107,
     1181      174,  176,  181,  180,  185,  177,  178,  100,  100,  100,
     1182
     1183      180,  100,  100,  184,  192,  185,  187,  186,  193,  221,
     1184      190,  221,  887,  188,  100,  185,  185,  187,  188,  100,
     1185      100,  100,  159,  192,  100,  186,  100,  159,  159,  159,
     1186      190,  159,  159,  188,  187,  159,  191,  159,  194,  208,
     1187      196,  191,  159,  159,  159,  195,  159,  197,  251,  212,
     1188      212,  194,  193,  196,  212,  193,  201,  201,  195,  194,
     1189      195,  201,  222,  191,  222,  208,  259,  197,  200,  200,
     1190      200,  200,  200,  200,  251,  287,  200,  201,  201,  201,
     1191      201,  201,  201,  203,  203,  223,  246,  223,  203,  205,
     1192      205,  226,  259,  226,  205,  287,  205,  215,  215,  215,
     1193
     1194      215,  228,  224,  228,  203,  203,  203,  203,  203,  203,
     1195      205,  205,  205,  205,  205,  205,  224,  225,  224,  227,
     1196      227,  246,  227,  229,  229,  229,  231,  239,  231,  225,
     1197      215,  225,  232,  291,  232,  237,  237,  238,  269,  238,
     1198      269,  284,  238,  238,  238,  238,  238,  238,  273,  240,
     1199      239,  240,  432,  270,  240,  270,  291,  284,  237,  244,
     1200      244,  244,  244,  244,  244,  245,  432,  245,  245,  245,
     1201      245,  240,  286,  240,  273,  238,  282,  286,  240,  247,
     1202      247,  247,  247,  247,  247,  248,  248,  248,  248,  248,
     1203      248,  283,  244,  285,  282,  281,  247,  250,  294,  250,
     1204
     1205      245,  293,  250,  250,  250,  250,  250,  250,  281,  283,
     1206      285,  288,  247,  294,  289,  331,  288,  297,  247,  249,
     1207      249,  249,  249,  249,  249,  256,  297,  293,  258,  258,
     1208      258,  258,  258,  258,  289,  249,  298,  249,  331,  249,
     1209      249,  263,  263,  263,  263,  263,  263,  292,  256,  298,
     1210      256,  295,  249,  296,  256,  299,  290,  249,  296,  249,
     1211      256,  258,  249,  300,  249,  292,  302,  295,  295,  306,
     1212      303,  290,  256,  307,  263,  303,  256,  290,  290,  304,
     1213      256,  300,  299,  305,  302,  308,  312,  309,  304,  306,
     1214      305,  307,  309,  310,  311,  313,  314,  315,  310,  316,
     1215
     1216      311,  317,  314,  321,  313,  312,  308,  308,  316,  318,
     1217      319,  322,  320,  315,  318,  319,  317,  320,  323,  325,
     1218      326,  327,  321,  328,  327,  329,  330,  332,  333,  322,
     1219      325,  323,  334,  335,  320,  326,  336,  339,  329,  337,
     1220      338,  334,  328,  341,  342,  333,  343,  332,  330,  344,
     1221      339,  346,  341,  347,  348,  335,  346,  345,  338,  336,
     1222      387,  337,  344,  350,  343,  345,  349,  349,  347,  350,
     1223      387,  349,  348,  349,  357,  357,  357,  357,  358,  358,
     1224      358,  358,  367,  368,  367,  368,  387,  408,  342,  375,
     1225      375,  375,  375,  375,  375,  377,  388,  377,  408,  392,
     1226
     1227      377,  377,  377,  377,  377,  377,  388,  357,  376,  376,
     1228      376,  376,  376,  376,  379,  379,  379,  379,  379,  379,
     1229      411,  409,  388,  392,  376,  410,  376,  413,  376,  376,
     1230      382,  382,  382,  382,  382,  382,  390,  409,  413,  411,
     1231      410,  376,  390,  394,  415,  419,  376,  379,  376,  417,
     1232      886,  376,  420,  376,  380,  380,  380,  380,  380,  380,
     1233      389,  394,  417,  382,  412,  420,  415,  419,  390,  394,
     1234      380,  380,  380,  412,  380,  380,  383,  383,  383,  383,
     1235      383,  383,  426,  389,  418,  389,  879,  380,  426,  389,
     1236      878,  393,  380,  380,  380,  389,  391,  380,  391,  380,
     1237
     1238      418,  391,  391,  391,  391,  391,  391,  389,  414,  383,
     1239      416,  389,  421,  422,  393,  389,  393,  414,  423,  416,
     1240      393,  428,  424,  427,  429,  425,  393,  424,  421,  421,
     1241      430,  436,  428,  437,  391,  422,  423,  434,  393,  439,
     1242      425,  438,  393,  429,  427,  430,  393,  425,  441,  434,
     1243      440,  442,  436,  444,  438,  437,  440,  446,  447,  448,
     1244      442,  449,  439,  441,  450,  451,  452,  454,  444,  456,
     1245      459,  457,  458,  462,  448,  452,  460,  446,  461,  450,
     1246      447,  458,  464,  449,  454,  451,  465,  466,  463,  468,
     1247      469,  459,  456,  457,  466,  462,  460,  463,  461,  465,
     1248
     1249      464,  467,  470,  474,  471,  472,  475,  477,  467,  877,
     1250      470,  526,  469,  477,  468,  475,  472,  504,  505,  476,
     1251      470,  471,  476,  876,  526,  474,  486,  486,  486,  486,
     1252      497,  497,  497,  497,  497,  497,  499,  499,  499,  499,
     1253      499,  499,  525,  504,  505,  528,  497,  529,  497,  530,
     1254      497,  497,  500,  500,  500,  500,  500,  500,  875,  525,
     1255      528,  501,  530,  497,  531,  538,  503,  529,  497,  499,
     1256      497,  501,  502,  497,  502,  497,  503,  502,  502,  502,
     1257      502,  502,  502,  533,  538,  500,  531,  501,  533,  532,
     1258      871,  867,  503,  507,  507,  507,  507,  507,  507,  509,
     1259
     1260      535,  509,  532,  535,  509,  509,  509,  509,  509,  509,
     1261      502,  508,  508,  508,  508,  508,  508,  534,  536,  537,
     1262      539,  540,  542,  543,  864,  546,  547,  508,  534,  508,
     1263      540,  508,  508,  542,  537,  541,  543,  545,  536,  548,
     1264      541,  539,  554,  547,  508,  549,  545,  546,  548,  508,
     1265      549,  508,  551,  552,  508,  555,  508,  556,  551,  554,
     1266      557,  560,  552,  561,  559,  562,  564,  571,  567,  557,
     1267      555,  565,  556,  559,  568,  561,  565,  567,  560,  572,
     1268      562,  564,  573,  568,  576,  575,  578,  582,  577,  571,
     1269      579,  580,  572,  575,  576,  577,  582,  580,  585,  573,
     1270
     1271      583,  586,  579,  588,  630,  863,  634,  728,  578,  630,
     1272      583,  633,  613,  613,  586,  585,  606,  606,  606,  606,
     1273      606,  606,  630,  634,  633,  588,  607,  607,  607,  607,
     1274      607,  607,  609,  614,  609,  613,  728,  609,  609,  609,
     1275      609,  609,  609,  612,  612,  612,  612,  612,  612,  606,
     1276      608,  608,  608,  608,  608,  608,  614,  615,  631,  615,
     1277      632,  635,  615,  638,  637,  631,  608,  636,  608,  632,
     1278      608,  608,  637,  648,  636,  639,  612,  641,  639,  615,
     1279      638,  615,  642,  608,  635,  640,  615,  643,  608,  644,
     1280      608,  645,  649,  608,  647,  608,  650,  642,  640,  641,
     1281
     1282      646,  648,  652,  646,  653,  651,  644,  649,  654,  643,
     1283      656,  647,  657,  645,  651,  658,  650,  654,  662,  663,
     1284      652,  668,  665,  862,  658,  669,  653,  676,  679,  680,
     1285      668,  677,  669,  656,  657,  713,  676,  679,  662,  665,
     1286      712,  677,  718,  715,  680,  713,  663,  699,  699,  699,
     1287      699,  699,  699,  703,  703,  703,  703,  703,  703,  716,
     1288      721,  712,  718,  699,  734,  699,  716,  699,  699,  715,
     1289      717,  719,  734,  720,  719,  717,  720,  723,  721,  725,
     1290      699,  724,  727,  723,  731,  699,  703,  699,  725,  745,
     1291      699,  730,  699,  726,  724,  729,  726,  735,  729,  732,
     1292
     1293      730,  733,  732,  727,  736,  737,  738,  735,  744,  741,
     1294      731,  745,  746,  748,  733,  738,  749,  736,  769,  861,
     1295      767,  748,  772,  769,  768,  749,  737,  741,  744,  770,
     1296      773,  774,  741,  746,  756,  756,  756,  756,  756,  756,
     1297      767,  768,  771,  775,  770,  772,  775,  773,  776,  777,
     1298      779,  781,  771,  779,  781,  782,  783,  774,  785,  783,
     1299      784,  776,  782,  784,  786,  788,  792,  756,  807,  809,
     1300      817,  812,  811,  785,  810,  811,  813,  777,  814,  813,
     1301      816,  814,  818,  820,  860,  818,  824,  786,  788,  792,
     1302      809,  821,  810,  812,  821,  807,  817,  822,  816,  823,
     1303
     1304      822,  825,  824,  826,  841,  820,  842,  843,  823,  844,
     1305      843,  845,  825,  842,  846,  847,  855,  846,  844,  826,
     1306      850,  853,  854,  850,  853,  841,  859,  856,  855,  845,
     1307      865,  854,  847,  866,  868,  845,  856,  868,  866,  865,
     1308      869,  870,  872,  880,  873,  872,  870,  873,  874,  881,
     1309      869,  874,  882,  888,  884,  882,  883,  884,  885,  891,
     1310      895,  885,  892,  880,  881,  896,  883,  897,  899,  895,
     1311      898,  900,  901,  858,  857,  888,  852,  892,  896,  851,
     1312      891,  849,  901,  848,  840,  839,  899,  838,  837,  897,
     1313      836,  898,  835,  900,  905,  905,  905,  905,  905,  905,
     1314
     1315      905,  905,  905,  905,  905,  905,  905,  906,  906,  906,
     1316      906,  906,  906,  906,  906,  906,  906,  906,  906,  906,
     1317      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     1318      907,  907,  907,  908,  834,  833,  908,  832,  908,  908,
     1319      908,  908,  908,  909,  831,  830,  829,  909,  909,  909,
     1320      909,  909,  909,  910,  910,  910,  910,  910,  910,  910,
     1321      910,  910,  910,  910,  910,  910,  911,  828,  827,  911,
     1322      819,  911,  911,  911,  911,  911,  912,  815,  912,  912,
     1323      808,  912,  912,  912,  912,  912,  912,  806,  912,  913,
     1324      805,  804,  913,  913,  913,  913,  913,  913,  913,  913,
     1325
     1326      803,  913,  914,  914,  914,  914,  914,  914,  914,  914,
     1327      914,  914,  914,  914,  914,  915,  915,  802,  915,  801,
     1328      800,  799,  915,  916,  798,  797,  916,  796,  916,  916,
     1329      916,  916,  916,  917,  795,  917,  794,  793,  791,  917,
     1330      918,  790,  918,  789,  787,  780,  918,  919,  778,  919,
     1331      766,  765,  764,  919,  920,  763,  920,  762,  761,  760,
     1332      920,  921,  759,  921,  758,  755,  754,  921,  922,  753,
     1333      922,  747,  743,  742,  922,  923,  740,  923,  739,  722,
     1334      714,  923,  924,  711,  924,  706,  704,  700,  924,  925,
     1335      690,  925,  686,  684,  682,  925,  926,  681,  926,  927,
     1336
     1337      927,  678,  927,  927,  927,  675,  927,  928,  928,  674,
     1338      928,  929,  673,  672,  929,  671,  929,  929,  929,  929,
     1339      929,  930,  670,  930,  667,  666,  664,  930,  931,  661,
     1340      931,  660,  659,  655,  931,  932,  628,  932,  624,  622,
     1341      620,  932,  933,  618,  933,  934,  616,  934,  610,  604,
     1342      602,  934,  935,  600,  935,  936,  598,  596,  936,  594,
     1343      936,  936,  936,  936,  936,  937,  937,  937,  937,  937,
     1344      937,  937,  937,  937,  937,  937,  937,  937,  938,  938,
     1345      938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
     1346      938,  939,  592,  939,  590,  589,  587,  939,  940,  584,
     1347
     1348      940,  581,  574,  570,  940,  941,  569,  941,  566,  563,
     1349      558,  941,  942,  553,  942,  943,  550,  943,  527,  523,
     1350      521,  943,  944,  519,  944,  945,  517,  945,  515,  513,
     1351      512,  945,  946,  511,  946,  947,  510,  947,  498,  495,
     1352      493,  947,  948,  492,  948,  949,  491,  949,  489,  487,
     1353      484,  949,  950,  482,  950,  951,  480,  951,  478,  473,
     1354      455,  951,  952,  453,  952,  953,  445,  953,  443,  435,
     1355      433,  953,  954,  431,  954,  955,  405,  955,  403,  955,
     1356      401,  955,  956,  399,  956,  398,  956,  397,  956,  957,
     1357      957,  384,  957,  957,  957,  381,  957,  958,  372,  958,
     1358
     1359      370,  369,  365,  958,  959,  363,  959,  361,  359,  355,
     1360      959,  960,  353,  960,  352,  351,  340,  960,  961,  324,
     1361      961,  962,  301,  962,  280,  278,  276,  962,  963,  275,
     1362      963,  964,  274,  964,  272,  271,  266,  964,  965,  262,
     1363      965,  966,  261,  966,  257,  254,  253,  966,  967,  242,
     1364      967,  968,  241,  234,  968,  233,  968,  968,  968,  968,
     1365      968,  969,  969,  969,  969,  969,  969,  969,  969,  969,
     1366      969,  969,  969,  969,  970,  230,  970,  220,  218,  217,
     1367      970,  971,  216,  971,  972,  210,  972,  209,  207,  202,
     1368      972,  973,  179,  973,  974,  150,  974,  148,  147,  141,
     1369
     1370      974,  975,  139,  975,  976,  137,  976,  129,  126,  125,
     1371      976,  977,  121,  977,  978,  102,  978,   99,   96,   94,
     1372      978,  979,   87,  979,  980,   73,  980,   71,   67,   36,
     1373      980,  981,   33,  981,  982,   18,  982,   11,    4,    3,
     1374      982,  983,    0,  983,    0,    0,    0,  983,  984,    0,
     1375      984,  985,    0,  985,    0,    0,    0,  985,  986,    0,
     1376      986,  987,    0,  987,    0,  987,    0,  987,  988,    0,
     1377      988,    0,    0,    0,  988,  989,    0,  989,    0,    0,
     1378        0,  989,  990,    0,  990,  991,    0,  991,    0,    0,
     1379        0,  991,  992,    0,  992,  993,    0,  993,    0,    0,
     1380
     1381        0,  993,  994,    0,  994,  995,    0,  995,    0,    0,
     1382        0,  995,  996,    0,  996,  997,    0,  997,    0,    0,
     1383        0,  997,  998,    0,  998,  999,    0,  999,    0,    0,
     1384        0,  999, 1000,    0, 1000, 1001,    0,    0, 1001,    0,
     1385     1001, 1001, 1001, 1001, 1001, 1002, 1002, 1002, 1002, 1002,
     1386     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003,    0,
     1387     1003,    0,    0,    0, 1003, 1004,    0, 1004, 1005,    0,
     1388     1005,    0,    0,    0, 1005, 1006,    0, 1006, 1007,    0,
     1389     1007,    0,    0,    0, 1007, 1008,    0, 1008, 1009,    0,
     1390     1009,    0,    0,    0, 1009, 1010,    0, 1010, 1011,    0,
     1391
     1392     1011,    0,    0,    0, 1011, 1012,    0, 1012, 1013,    0,
     1393     1013,    0,    0,    0, 1013, 1014,    0, 1014, 1015,    0,
     1394     1015,    0,    0,    0, 1015, 1016,    0, 1016, 1017,    0,
     1395     1017,    0,    0,    0, 1017, 1018,    0, 1018, 1019,    0,
     1396     1019,    0,    0,    0, 1019, 1020,    0, 1020,    0,    0,
     1397        0, 1020, 1021,    0, 1021, 1022,    0, 1022,    0,    0,
     1398        0, 1022, 1023,    0, 1023, 1024,    0, 1024,    0,    0,
     1399        0, 1024, 1025,    0, 1025, 1026,    0, 1026,    0,    0,
     1400        0, 1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0,
     1401     1029, 1030,    0,    0, 1030,    0, 1030, 1030, 1030, 1030,
     1402
     1403     1030, 1031,    0, 1031, 1032, 1032, 1032, 1032, 1032, 1032,
     1404     1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033,    0, 1033,
     1405        0,    0,    0, 1033, 1034,    0, 1034, 1035,    0, 1035,
     1406        0,    0,    0, 1035, 1036,    0, 1036, 1037,    0, 1037,
     1407     1038,    0, 1038, 1039,    0,    0, 1039,    0, 1039, 1039,
     1408     1039, 1039, 1039, 1040,    0, 1040, 1041,    0, 1041, 1042,
     1409        0, 1042, 1043,    0, 1043, 1044,    0, 1044, 1045,    0,
     1410     1045, 1046,    0, 1046, 1047,    0, 1047,    0,    0,    0,
     1411     1047, 1048,    0, 1048, 1049,    0, 1049,    0,    0,    0,
     1412     1049, 1050,    0, 1050, 1051,    0, 1051, 1052,    0, 1052,
     1413
     1414     1053,    0, 1053, 1054,    0, 1054,    0,    0,    0, 1054,
     1415     1055,    0,    0, 1055,    0, 1055, 1055, 1055, 1055, 1055,
     1416     1056,    0, 1056, 1057,    0, 1057, 1058,    0, 1058, 1059,
     1417        0, 1059,    0,    0,    0, 1059, 1060,    0, 1060,    0,
     1418        0,    0, 1060, 1061,    0, 1061,    0,    0,    0, 1061,
     1419     1062,    0, 1062, 1063,    0, 1063,    0,    0,    0, 1063,
     1420     1064,    0, 1064,    0,    0,    0, 1064, 1065,    0, 1065,
     1421        0,    0,    0, 1065, 1066,    0, 1066,    0,    0,    0,
     1422     1066, 1067,    0, 1067,    0,    0,    0, 1067, 1068,    0,
     1423     1068,    0,    0,    0, 1068, 1069,    0, 1069,    0,    0,
     1424
     1425        0, 1069, 1070,    0, 1070,    0,    0,    0, 1070, 1071,
     1426        0, 1071,    0,    0,    0, 1071, 1072,    0, 1072,    0,
     1427        0,    0, 1072, 1073,    0, 1073,    0,    0,    0, 1073,
     1428     1074,    0, 1074,    0,    0,    0, 1074, 1075,    0, 1075,
     1429        0,    0,    0, 1075, 1076,    0, 1076,    0,    0,    0,
     1430     1076, 1077,    0, 1077,    0,    0,    0, 1077, 1078,    0,
     1431     1078,    0,    0,    0, 1078,  904,  904,  904,  904,  904,
     1432      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1433      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1434      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1435
     1436      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1437      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1438      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1439      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1440      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1441      904
    14461442    } ;
    14471443
    14481444/* Table of booleans, true if rule could match eol. */
    1449 static yyconst flex_int32_t yy_rule_can_match_eol[187] =
     1445static yyconst flex_int32_t yy_rule_can_match_eol[186] =
    14501446    {   0,
    145114471, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14551451    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14561452    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1457     0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     1453    0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14581454    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14591455    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1460     0, 0, 0, 0, 0, 0, 0,     };
     1456    0, 0, 0, 0, 0, 0,     };
    14611457
    14621458static yy_state_type yy_last_accepting_state;
     
    14801476 * The contents of this file are covered under the licence agreement in the
    14811477 * file "LICENCE" distributed with Cforall.
    1482  *
    1483  * lex.l --
    1484  *
     1478 * 
     1479 * lex.l -- 
     1480 * 
    14851481 * Author           : Peter A. Buhr
    14861482 * Created On       : Sat Sep 22 08:58:10 2001
     
    15481544
    15491545
    1550 #line 1551 "Parser/lex.cc"
     1546#line 1547 "Parser/lex.cc"
    15511547
    15521548#define INITIAL 0
     
    17431739
    17441740                                   /* line directives */
    1745 #line 1746 "Parser/lex.cc"
     1741#line 1742 "Parser/lex.cc"
    17461742
    17471743        if ( !(yy_init) )
     
    17971793                                {
    17981794                                yy_current_state = (int) yy_def[yy_current_state];
    1799                                 if ( yy_current_state >= 909 )
     1795                                if ( yy_current_state >= 905 )
    18001796                                        yy_c = yy_meta[(unsigned int) yy_c];
    18011797                                }
     
    18031799                        ++yy_cp;
    18041800                        }
    1805                 while ( yy_base[yy_current_state] != 2877 );
     1801                while ( yy_base[yy_current_state] != 2866 );
    18061802
    18071803yy_find_action:
     
    23242320YY_RULE_SETUP
    23252321#line 260 "lex.ll"
    2326 { KEYWORD_RETURN(TTYPE); }                              // CFA
     2322{ KEYWORD_RETURN(TYPEDEF); }
    23272323        YY_BREAK
    23282324case 93:
    23292325YY_RULE_SETUP
    23302326#line 261 "lex.ll"
    2331 { KEYWORD_RETURN(TYPEDEF); }
     2327{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    23322328        YY_BREAK
    23332329case 94:
     
    23442340YY_RULE_SETUP
    23452341#line 264 "lex.ll"
    2346 { KEYWORD_RETURN(TYPEOF); }                             // GCC
     2342{ KEYWORD_RETURN(UNION); }
    23472343        YY_BREAK
    23482344case 97:
    23492345YY_RULE_SETUP
    23502346#line 265 "lex.ll"
    2351 { KEYWORD_RETURN(UNION); }
     2347{ KEYWORD_RETURN(UNSIGNED); }
    23522348        YY_BREAK
    23532349case 98:
    23542350YY_RULE_SETUP
    23552351#line 266 "lex.ll"
    2356 { KEYWORD_RETURN(UNSIGNED); }
     2352{ KEYWORD_RETURN(VALIST); }                     // GCC
    23572353        YY_BREAK
    23582354case 99:
    23592355YY_RULE_SETUP
    23602356#line 267 "lex.ll"
    2361 { KEYWORD_RETURN(VALIST); }                     // GCC
     2357{ KEYWORD_RETURN(VOID); }
    23622358        YY_BREAK
    23632359case 100:
    23642360YY_RULE_SETUP
    23652361#line 268 "lex.ll"
    2366 { KEYWORD_RETURN(VOID); }
     2362{ KEYWORD_RETURN(VOLATILE); }
    23672363        YY_BREAK
    23682364case 101:
    23692365YY_RULE_SETUP
    23702366#line 269 "lex.ll"
    2371 { KEYWORD_RETURN(VOLATILE); }
     2367{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    23722368        YY_BREAK
    23732369case 102:
     
    23792375YY_RULE_SETUP
    23802376#line 271 "lex.ll"
    2381 { KEYWORD_RETURN(VOLATILE); }                   // GCC
     2377{ KEYWORD_RETURN(WHILE); }
    23822378        YY_BREAK
    23832379case 104:
    23842380YY_RULE_SETUP
    23852381#line 272 "lex.ll"
    2386 { KEYWORD_RETURN(WHILE); }
    2387         YY_BREAK
     2382{ NUMERIC_RETURN(ZERO_T); }                             // CFA
     2383        YY_BREAK
     2384/* identifier */
    23882385case 105:
    23892386YY_RULE_SETUP
    2390 #line 273 "lex.ll"
    2391 { NUMERIC_RETURN(ZERO_T); }                             // CFA
    2392         YY_BREAK
    2393 /* identifier */
     2387#line 275 "lex.ll"
     2388{ IDENTIFIER_RETURN(); }
     2389        YY_BREAK
    23942390case 106:
    23952391YY_RULE_SETUP
    23962392#line 276 "lex.ll"
     2393{ ATTRIBUTE_RETURN(); }
     2394        YY_BREAK
     2395case 107:
     2396YY_RULE_SETUP
     2397#line 277 "lex.ll"
     2398{ BEGIN BKQUOTE; }
     2399        YY_BREAK
     2400case 108:
     2401YY_RULE_SETUP
     2402#line 278 "lex.ll"
    23972403{ IDENTIFIER_RETURN(); }
    23982404        YY_BREAK
    2399 case 107:
    2400 YY_RULE_SETUP
    2401 #line 277 "lex.ll"
    2402 { ATTRIBUTE_RETURN(); }
    2403         YY_BREAK
    2404 case 108:
    2405 YY_RULE_SETUP
    2406 #line 278 "lex.ll"
    2407 { BEGIN BKQUOTE; }
    2408         YY_BREAK
    24092405case 109:
    24102406YY_RULE_SETUP
    24112407#line 279 "lex.ll"
    2412 { IDENTIFIER_RETURN(); }
    2413         YY_BREAK
     2408{ BEGIN 0; }
     2409        YY_BREAK
     2410/* numeric constants */
    24142411case 110:
    24152412YY_RULE_SETUP
    2416 #line 280 "lex.ll"
    2417 { BEGIN 0; }
    2418         YY_BREAK
    2419 /* numeric constants */
     2413#line 282 "lex.ll"
     2414{ NUMERIC_RETURN(ZERO); }                               // CFA
     2415        YY_BREAK
    24202416case 111:
    24212417YY_RULE_SETUP
    24222418#line 283 "lex.ll"
    2423 { NUMERIC_RETURN(ZERO); }                               // CFA
     2419{ NUMERIC_RETURN(ONE); }                                // CFA
    24242420        YY_BREAK
    24252421case 112:
    24262422YY_RULE_SETUP
    24272423#line 284 "lex.ll"
    2428 { NUMERIC_RETURN(ONE); }                                // CFA
     2424{ NUMERIC_RETURN(INTEGERconstant); }
    24292425        YY_BREAK
    24302426case 113:
     
    24412437YY_RULE_SETUP
    24422438#line 287 "lex.ll"
    2443 { NUMERIC_RETURN(INTEGERconstant); }
     2439{ NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant
    24442440        YY_BREAK
    24452441case 116:
    24462442YY_RULE_SETUP
    24472443#line 288 "lex.ll"
    2448 { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant
     2444{ NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant
    24492445        YY_BREAK
    24502446case 117:
    24512447YY_RULE_SETUP
    24522448#line 289 "lex.ll"
    2453 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant
     2449{ NUMERIC_RETURN(FLOATINGconstant); }
    24542450        YY_BREAK
    24552451case 118:
     
    24582454{ NUMERIC_RETURN(FLOATINGconstant); }
    24592455        YY_BREAK
     2456/* character constant, allows empty value */
    24602457case 119:
    24612458YY_RULE_SETUP
    2462 #line 291 "lex.ll"
    2463 { NUMERIC_RETURN(FLOATINGconstant); }
    2464         YY_BREAK
    2465 /* character constant, allows empty value */
     2459#line 293 "lex.ll"
     2460{ BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
     2461        YY_BREAK
    24662462case 120:
    24672463YY_RULE_SETUP
    24682464#line 294 "lex.ll"
    2469 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
     2465{ strtext->append( yytext, yyleng ); }
    24702466        YY_BREAK
    24712467case 121:
     2468/* rule 121 can match eol */
    24722469YY_RULE_SETUP
    24732470#line 295 "lex.ll"
    2474 { strtext->append( yytext, yyleng ); }
    2475         YY_BREAK
    2476 case 122:
    2477 /* rule 122 can match eol */
    2478 YY_RULE_SETUP
    2479 #line 296 "lex.ll"
    24802471{ BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); }
    24812472        YY_BREAK
    24822473/* ' stop highlighting */
    24832474/* string constant */
     2475case 122:
     2476YY_RULE_SETUP
     2477#line 299 "lex.ll"
     2478{ BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
     2479        YY_BREAK
    24842480case 123:
    24852481YY_RULE_SETUP
    24862482#line 300 "lex.ll"
    2487 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
     2483{ strtext->append( yytext, yyleng ); }
    24882484        YY_BREAK
    24892485case 124:
     2486/* rule 124 can match eol */
    24902487YY_RULE_SETUP
    24912488#line 301 "lex.ll"
    2492 { strtext->append( yytext, yyleng ); }
    2493         YY_BREAK
    2494 case 125:
    2495 /* rule 125 can match eol */
    2496 YY_RULE_SETUP
    2497 #line 302 "lex.ll"
    24982489{ BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); }
    24992490        YY_BREAK
    25002491/* " stop highlighting */
    25012492/* common character/string constant */
     2493case 125:
     2494YY_RULE_SETUP
     2495#line 305 "lex.ll"
     2496{ rm_underscore(); strtext->append( yytext, yyleng ); }
     2497        YY_BREAK
    25022498case 126:
     2499/* rule 126 can match eol */
    25032500YY_RULE_SETUP
    25042501#line 306 "lex.ll"
    2505 { rm_underscore(); strtext->append( yytext, yyleng ); }
     2502{}                                              // continuation (ALSO HANDLED BY CPP)
    25062503        YY_BREAK
    25072504case 127:
    2508 /* rule 127 can match eol */
    25092505YY_RULE_SETUP
    25102506#line 307 "lex.ll"
    2511 {}                                              // continuation (ALSO HANDLED BY CPP)
    2512         YY_BREAK
     2507{ strtext->append( yytext, yyleng ); } // unknown escape character
     2508        YY_BREAK
     2509/* punctuation */
    25132510case 128:
    25142511YY_RULE_SETUP
    2515 #line 308 "lex.ll"
    2516 { strtext->append( yytext, yyleng ); } // unknown escape character
    2517         YY_BREAK
    2518 /* punctuation */
     2512#line 310 "lex.ll"
     2513{ ASCIIOP_RETURN(); }
     2514        YY_BREAK
    25192515case 129:
    25202516YY_RULE_SETUP
     
    25452541YY_RULE_SETUP
    25462542#line 316 "lex.ll"
     2543{ ASCIIOP_RETURN(); }                                   // also operator
     2544        YY_BREAK
     2545case 135:
     2546YY_RULE_SETUP
     2547#line 317 "lex.ll"
    25472548{ ASCIIOP_RETURN(); }
    2548         YY_BREAK
    2549 case 135:
    2550 YY_RULE_SETUP
    2551 #line 317 "lex.ll"
    2552 { ASCIIOP_RETURN(); }                                   // also operator
    25532549        YY_BREAK
    25542550case 136:
     
    25602556YY_RULE_SETUP
    25612557#line 319 "lex.ll"
     2558{ ASCIIOP_RETURN(); }                                   // also operator
     2559        YY_BREAK
     2560case 138:
     2561YY_RULE_SETUP
     2562#line 320 "lex.ll"
     2563{ NAMEDOP_RETURN(ELLIPSIS); }
     2564        YY_BREAK
     2565/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
     2566case 139:
     2567YY_RULE_SETUP
     2568#line 323 "lex.ll"
     2569{ RETURN_VAL('['); }
     2570        YY_BREAK
     2571case 140:
     2572YY_RULE_SETUP
     2573#line 324 "lex.ll"
     2574{ RETURN_VAL(']'); }
     2575        YY_BREAK
     2576case 141:
     2577YY_RULE_SETUP
     2578#line 325 "lex.ll"
     2579{ RETURN_VAL('{'); }
     2580        YY_BREAK
     2581case 142:
     2582YY_RULE_SETUP
     2583#line 326 "lex.ll"
     2584{ RETURN_VAL('}'); }
     2585        YY_BREAK
     2586/* operators */
     2587case 143:
     2588YY_RULE_SETUP
     2589#line 329 "lex.ll"
    25622590{ ASCIIOP_RETURN(); }
    25632591        YY_BREAK
    2564 case 138:
    2565 YY_RULE_SETUP
    2566 #line 320 "lex.ll"
    2567 { ASCIIOP_RETURN(); }                                   // also operator
    2568         YY_BREAK
    2569 case 139:
    2570 YY_RULE_SETUP
    2571 #line 321 "lex.ll"
    2572 { NAMEDOP_RETURN(ELLIPSIS); }
    2573         YY_BREAK
    2574 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2575 case 140:
    2576 YY_RULE_SETUP
    2577 #line 324 "lex.ll"
    2578 { RETURN_VAL('['); }
    2579         YY_BREAK
    2580 case 141:
    2581 YY_RULE_SETUP
    2582 #line 325 "lex.ll"
    2583 { RETURN_VAL(']'); }
    2584         YY_BREAK
    2585 case 142:
    2586 YY_RULE_SETUP
    2587 #line 326 "lex.ll"
    2588 { RETURN_VAL('{'); }
    2589         YY_BREAK
    2590 case 143:
    2591 YY_RULE_SETUP
    2592 #line 327 "lex.ll"
    2593 { RETURN_VAL('}'); }
    2594         YY_BREAK
    2595 /* operators */
    25962592case 144:
    25972593YY_RULE_SETUP
     
    26612657case 157:
    26622658YY_RULE_SETUP
    2663 #line 343 "lex.ll"
    2664 { ASCIIOP_RETURN(); }
     2659#line 344 "lex.ll"
     2660{ NAMEDOP_RETURN(ICR); }
    26652661        YY_BREAK
    26662662case 158:
    26672663YY_RULE_SETUP
    26682664#line 345 "lex.ll"
    2669 { NAMEDOP_RETURN(ICR); }
     2665{ NAMEDOP_RETURN(DECR); }
    26702666        YY_BREAK
    26712667case 159:
    26722668YY_RULE_SETUP
    26732669#line 346 "lex.ll"
    2674 { NAMEDOP_RETURN(DECR); }
     2670{ NAMEDOP_RETURN(EQ); }
    26752671        YY_BREAK
    26762672case 160:
    26772673YY_RULE_SETUP
    26782674#line 347 "lex.ll"
    2679 { NAMEDOP_RETURN(EQ); }
     2675{ NAMEDOP_RETURN(NE); }
    26802676        YY_BREAK
    26812677case 161:
    26822678YY_RULE_SETUP
    26832679#line 348 "lex.ll"
    2684 { NAMEDOP_RETURN(NE); }
     2680{ NAMEDOP_RETURN(LS); }
    26852681        YY_BREAK
    26862682case 162:
    26872683YY_RULE_SETUP
    26882684#line 349 "lex.ll"
    2689 { NAMEDOP_RETURN(LS); }
     2685{ NAMEDOP_RETURN(RS); }
    26902686        YY_BREAK
    26912687case 163:
    26922688YY_RULE_SETUP
    26932689#line 350 "lex.ll"
    2694 { NAMEDOP_RETURN(RS); }
     2690{ NAMEDOP_RETURN(LE); }
    26952691        YY_BREAK
    26962692case 164:
    26972693YY_RULE_SETUP
    26982694#line 351 "lex.ll"
    2699 { NAMEDOP_RETURN(LE); }
     2695{ NAMEDOP_RETURN(GE); }
    27002696        YY_BREAK
    27012697case 165:
    27022698YY_RULE_SETUP
    27032699#line 352 "lex.ll"
    2704 { NAMEDOP_RETURN(GE); }
     2700{ NAMEDOP_RETURN(ANDAND); }
    27052701        YY_BREAK
    27062702case 166:
    27072703YY_RULE_SETUP
    27082704#line 353 "lex.ll"
    2709 { NAMEDOP_RETURN(ANDAND); }
     2705{ NAMEDOP_RETURN(OROR); }
    27102706        YY_BREAK
    27112707case 167:
    27122708YY_RULE_SETUP
    27132709#line 354 "lex.ll"
    2714 { NAMEDOP_RETURN(OROR); }
     2710{ NAMEDOP_RETURN(ARROW); }
    27152711        YY_BREAK
    27162712case 168:
    27172713YY_RULE_SETUP
    27182714#line 355 "lex.ll"
    2719 { NAMEDOP_RETURN(ARROW); }
     2715{ NAMEDOP_RETURN(PLUSassign); }
    27202716        YY_BREAK
    27212717case 169:
    27222718YY_RULE_SETUP
    27232719#line 356 "lex.ll"
    2724 { NAMEDOP_RETURN(PLUSassign); }
     2720{ NAMEDOP_RETURN(MINUSassign); }
    27252721        YY_BREAK
    27262722case 170:
    27272723YY_RULE_SETUP
    27282724#line 357 "lex.ll"
    2729 { NAMEDOP_RETURN(MINUSassign); }
     2725{ NAMEDOP_RETURN(MULTassign); }
    27302726        YY_BREAK
    27312727case 171:
    27322728YY_RULE_SETUP
    27332729#line 358 "lex.ll"
    2734 { NAMEDOP_RETURN(MULTassign); }
     2730{ NAMEDOP_RETURN(DIVassign); }
    27352731        YY_BREAK
    27362732case 172:
    27372733YY_RULE_SETUP
    27382734#line 359 "lex.ll"
    2739 { NAMEDOP_RETURN(DIVassign); }
     2735{ NAMEDOP_RETURN(MODassign); }
    27402736        YY_BREAK
    27412737case 173:
    27422738YY_RULE_SETUP
    27432739#line 360 "lex.ll"
    2744 { NAMEDOP_RETURN(MODassign); }
     2740{ NAMEDOP_RETURN(ANDassign); }
    27452741        YY_BREAK
    27462742case 174:
    27472743YY_RULE_SETUP
    27482744#line 361 "lex.ll"
    2749 { NAMEDOP_RETURN(ANDassign); }
     2745{ NAMEDOP_RETURN(ORassign); }
    27502746        YY_BREAK
    27512747case 175:
    27522748YY_RULE_SETUP
    27532749#line 362 "lex.ll"
    2754 { NAMEDOP_RETURN(ORassign); }
     2750{ NAMEDOP_RETURN(ERassign); }
    27552751        YY_BREAK
    27562752case 176:
    27572753YY_RULE_SETUP
    27582754#line 363 "lex.ll"
    2759 { NAMEDOP_RETURN(ERassign); }
     2755{ NAMEDOP_RETURN(LSassign); }
    27602756        YY_BREAK
    27612757case 177:
    27622758YY_RULE_SETUP
    27632759#line 364 "lex.ll"
    2764 { NAMEDOP_RETURN(LSassign); }
     2760{ NAMEDOP_RETURN(RSassign); }
    27652761        YY_BREAK
    27662762case 178:
    27672763YY_RULE_SETUP
    2768 #line 365 "lex.ll"
    2769 { NAMEDOP_RETURN(RSassign); }
    2770         YY_BREAK
     2764#line 366 "lex.ll"
     2765{ NAMEDOP_RETURN(ATassign); }                   // CFA
     2766        YY_BREAK
     2767/* CFA, operator identifier */
    27712768case 179:
    27722769YY_RULE_SETUP
    2773 #line 367 "lex.ll"
    2774 { NAMEDOP_RETURN(ATassign); }                   // CFA
    2775         YY_BREAK
    2776 /* CFA, operator identifier */
     2770#line 369 "lex.ll"
     2771{ IDENTIFIER_RETURN(); }                                // unary
     2772        YY_BREAK
    27772773case 180:
    27782774YY_RULE_SETUP
    27792775#line 370 "lex.ll"
    2780 { IDENTIFIER_RETURN(); }                                // unary
     2776{ IDENTIFIER_RETURN(); }
    27812777        YY_BREAK
    27822778case 181:
     
    27882784YY_RULE_SETUP
    27892785#line 372 "lex.ll"
    2790 { IDENTIFIER_RETURN(); }
    2791         YY_BREAK
    2792 case 183:
    2793 YY_RULE_SETUP
    2794 #line 373 "lex.ll"
    27952786{ IDENTIFIER_RETURN(); }                // binary
    27962787        YY_BREAK
     
    28212812          an argument list.
    28222813        */
    2823 case 184:
    2824 YY_RULE_SETUP
    2825 #line 400 "lex.ll"
     2814case 183:
     2815YY_RULE_SETUP
     2816#line 399 "lex.ll"
    28262817{
    28272818        // 1 or 2 character unary operator ?
     
    28362827        YY_BREAK
    28372828/* unknown characters */
     2829case 184:
     2830YY_RULE_SETUP
     2831#line 411 "lex.ll"
     2832{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
     2833        YY_BREAK
    28382834case 185:
    28392835YY_RULE_SETUP
    2840 #line 412 "lex.ll"
    2841 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    2842         YY_BREAK
    2843 case 186:
    2844 YY_RULE_SETUP
    2845 #line 414 "lex.ll"
     2836#line 413 "lex.ll"
    28462837ECHO;
    28472838        YY_BREAK
    2848 #line 2849 "Parser/lex.cc"
     2839#line 2840 "Parser/lex.cc"
    28492840case YY_STATE_EOF(INITIAL):
    28502841case YY_STATE_EOF(COMMENT):
     
    31433134                        {
    31443135                        yy_current_state = (int) yy_def[yy_current_state];
    3145                         if ( yy_current_state >= 909 )
     3136                        if ( yy_current_state >= 905 )
    31463137                                yy_c = yy_meta[(unsigned int) yy_c];
    31473138                        }
     
    31713162                {
    31723163                yy_current_state = (int) yy_def[yy_current_state];
    3173                 if ( yy_current_state >= 909 )
     3164                if ( yy_current_state >= 905 )
    31743165                        yy_c = yy_meta[(unsigned int) yy_c];
    31753166                }
    31763167        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3177         yy_is_jam = (yy_current_state == 908);
     3168        yy_is_jam = (yy_current_state == 904);
    31783169
    31793170        return yy_is_jam ? 0 : yy_current_state;
     
    38213812#define YYTABLES_NAME "yytables"
    38223813
    3823 #line 414 "lex.ll"
     3814#line 413 "lex.ll"
    38243815
    38253816
Note: See TracChangeset for help on using the changeset viewer.