From 6b4be5f2df2da8986fa68a5de11d509cc37d44cb Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 9 Feb 2014 15:14:56 +0900 Subject: Fix -tdehtml-* rename regression. This resolves bugs 1825 and 1692 --- tdehtml/css/tokenizer.cpp | 1498 ++++++++++++++++----------------------------- 1 file changed, 525 insertions(+), 973 deletions(-) (limited to 'tdehtml/css/tokenizer.cpp') diff --git a/tdehtml/css/tokenizer.cpp b/tdehtml/css/tokenizer.cpp index cb1f893c1..48fd174d1 100644 --- a/tdehtml/css/tokenizer.cpp +++ b/tdehtml/css/tokenizer.cpp @@ -37,54 +37,50 @@ */ -#define flex_int16_t short int -#define flex_int32_t int - // --------- begin generated code ------------------- #define YY_NUM_RULES 51 #define YY_END_OF_BUFFER 52 -static yyconst flex_int16_t yy_accept[333] = +static yyconst short int yy_accept[331] = { 0, 0, 0, 52, 50, 2, 2, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 42, 50, 50, 11, 11, - 11, 50, 50, 50, 50, 2, 0, 0, 0, 10, - 0, 13, 0, 8, 0, 0, 9, 0, 0, 11, - 11, 0, 43, 0, 41, 0, 0, 42, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 12, 40, 40, - 37, 0, 40, 0, 0, 0, 0, 0, 0, 0, - 0, 47, 11, 0, 0, 11, 11, 0, 11, 11, - 11, 7, 6, 5, 0, 0, 0, 10, 0, 0, + 50, 50, 50, 50, 50, 42, 50, 50, 50, 50, + 11, 11, 11, 50, 50, 2, 0, 0, 0, 10, + 0, 13, 0, 8, 0, 0, 9, 0, 0, 0, + 11, 11, 43, 0, 41, 0, 0, 42, 0, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 12, + 40, 40, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 11, 11, 7, 47, 11, 0, 0, 11, 11, + 0, 11, 6, 5, 0, 0, 0, 10, 0, 0, 13, 13, 0, 0, 10, 0, 0, 4, 12, 0, - 0, 40, 0, 28, 40, 24, 26, 40, 38, 30, - 40, 29, 36, 40, 32, 31, 27, 40, 40, 40, + 0, 40, 40, 40, 0, 40, 28, 40, 24, 26, + 40, 38, 30, 40, 29, 36, 40, 32, 31, 27, 40, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 11, 12, 11, 11, 48, 48, 11, 11, 0, 0, - 0, 13, 0, 0, 0, 1, 40, 40, 33, 40, - 39, 12, 34, 40, 40, 3, 0, 0, 0, 0, - 0, 0, 0, 11, 44, 0, 48, 48, 48, 47, - 11, 0, 0, 13, 0, 0, 0, 40, 35, 40, - 40, 0, 0, 0, 0, 0, 0, 15, 11, 49, - 48, 48, 48, 48, 0, 0, 0, 0, 46, 0, - - 11, 0, 0, 13, 0, 40, 40, 25, 0, 0, - 0, 0, 16, 0, 11, 49, 48, 48, 48, 48, - 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 46, 0, 0, 11, 0, 0, 13, 0, 40, 40, - 0, 0, 0, 14, 0, 11, 49, 48, 48, 48, - 48, 48, 48, 0, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 0, 0, 13, + 11, 11, 12, 11, 11, 48, 48, 11, 0, 0, + 0, 13, 0, 0, 0, 1, 40, 40, 40, 40, + 33, 40, 39, 12, 34, 3, 0, 0, 0, 0, + 0, 0, 0, 11, 11, 44, 0, 48, 48, 48, + 47, 0, 0, 13, 0, 0, 0, 40, 40, 40, + 35, 0, 0, 0, 0, 0, 0, 15, 11, 11, + 49, 48, 48, 48, 48, 0, 0, 0, 0, 46, + + 0, 0, 0, 13, 0, 40, 40, 25, 0, 0, + 0, 0, 16, 0, 11, 11, 49, 48, 48, 48, + 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 0, 0, 0, 0, 13, 0, 40, 40, + 0, 0, 0, 14, 0, 11, 11, 49, 48, 48, + 48, 48, 48, 48, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 40, 40, 0, 18, 0, 0, 11, 49, 48, 48, 48, 48, 48, 48, 48, 0, 45, 0, 0, 0, 45, 0, 0, 0, 0, 40, 0, 0, 0, - 49, 0, 0, 0, 23, 0, 17, 19, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, - 22, 0 + 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, + 17, 19, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 4, 5, 1, 1, 1, 1, 1, 1, 1, @@ -92,1018 +88,582 @@ static yyconst flex_int32_t yy_ec[256] = 1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 12, 18, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 12, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 36, 49, 36, 50, - 12, 51, 12, 52, 53, 12, 54, 28, 55, 56, - - 57, 58, 59, 60, 61, 36, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 36, 74, - 36, 75, 12, 76, 12, 77, 1, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78 + 23, 24, 25, 26, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 39, 52, 39, 53, + 12, 27, 12, 28, 29, 12, 30, 31, 32, 33, + + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 39, 52, + 39, 53, 12, 54, 12, 55, 1, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56 } ; -static yyconst flex_int32_t yy_meta[79] = +static yyconst int yy_meta[57] = { 0, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 6, 4, 4, - 7, 4, 4, 4, 8, 4, 9, 9, 9, 9, - 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 4, 10, 9, 9, 9, 9, 9, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 4, 4, 10 + 6, 4, 4, 4, 7, 4, 8, 4, 8, 9, + 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 4, 4, 8 } ; -static yyconst flex_int16_t yy_base[368] = +static yyconst short int yy_base[359] = { 0, - 0, 0, 811, 3602, 77, 82, 87, 86, 758, 785, - 82, 784, 78, 785, 788, 138, 786, 199, 83, 84, - 94, 246, 769, 767, 766, 101, 218, 75, 101, 3602, - 303, 737, 341, 3602, 100, 398, 3602, 763, 79, 96, - 103, 436, 206, 769, 3602, 732, 761, 0, 730, 76, - 85, 191, 175, 80, 178, 198, 217, 197, 243, 232, - 729, 474, 73, 760, 82, 98, 195, 206, 133, 242, - 255, 3602, 109, 512, 745, 270, 274, 739, 285, 271, - 569, 3602, 3602, 3602, 248, 244, 229, 242, 626, 683, - 712, 740, 313, 299, 300, 797, 854, 3602, 144, 739, - - 321, 703, 892, 702, 296, 701, 700, 292, 699, 698, - 277, 697, 696, 289, 685, 684, 682, 288, 681, 949, - 323, 713, 319, 311, 302, 311, 326, 324, 346, 362, - 1006, 705, 363, 366, 365, 700, 367, 1044, 344, 381, - 1082, 1120, 373, 1158, 708, 3602, 658, 1215, 656, 364, - 655, 371, 646, 1253, 385, 3602, 376, 343, 360, 368, - 386, 404, 412, 1291, 3602, 0, 419, 665, 664, 468, - 1329, 379, 1367, 1405, 1443, 603, 388, 1481, 566, 1519, - 411, 417, 414, 568, 416, 453, 441, 3602, 1557, 0, - 420, 530, 528, 483, 510, 543, 431, 427, 3602, 1614, - - 1652, 450, 1690, 1728, 1766, 1804, 1842, 448, 451, 467, - 468, 463, 3602, 468, 1880, 0, 502, 463, 462, 433, - 368, 574, 438, 600, 1937, 428, 1994, 657, 714, 771, - 828, 2051, 2108, 2146, 509, 2184, 2222, 2260, 2298, 2336, - 498, 511, 511, 3602, 527, 2374, 0, 534, 272, 226, - 210, 208, 121, 606, 3602, 584, 509, 885, 2431, 2488, - 582, 537, 912, 2545, 2602, 2640, 2678, 551, 2716, 2754, - 2792, 2830, 2868, 555, 3602, 584, 585, 639, 0, 123, - 3602, 3602, 3602, 3602, 3602, 3602, 980, 556, 628, 2906, - 1015, 571, 624, 2944, 2982, 600, 646, 94, 607, 635, - - 0, 3020, 3058, 3096, 3602, 791, 3602, 3602, 3602, 3134, - 3172, 3210, 636, 622, 641, 3248, 3286, 3324, 644, 638, - 640, 754, 810, 658, 643, 651, 660, 3602, 671, 3602, - 3602, 3602, 3381, 3386, 3395, 3400, 3406, 3413, 3422, 3429, - 3438, 3448, 3450, 3455, 3462, 3469, 3473, 3482, 3489, 3494, - 3503, 3507, 3511, 3519, 3523, 3527, 3535, 3544, 3553, 3557, - 3561, 3569, 3578, 3582, 3586, 3589, 3592 + 0, 0, 807, 1638, 55, 60, 65, 64, 779, 781, + 60, 780, 56, 781, 785, 93, 793, 63, 126, 773, + 61, 75, 136, 772, 771, 162, 167, 751, 70, 1638, + 204, 764, 154, 1638, 63, 238, 1638, 760, 64, 160, + 82, 183, 133, 767, 1638, 755, 760, 0, 183, 53, + 753, 52, 83, 169, 135, 121, 57, 192, 205, 206, + 225, 86, 745, 752, 729, 731, 723, 716, 723, 726, + 725, 231, 276, 1638, 1638, 234, 254, 733, 235, 249, + 291, 277, 1638, 1638, 701, 195, 172, 219, 325, 359, + 717, 393, 217, 237, 286, 427, 461, 1638, 160, 727, + + 135, 715, 495, 714, 344, 256, 700, 265, 699, 698, + 88, 697, 696, 175, 695, 694, 233, 693, 679, 678, + 267, 684, 664, 670, 656, 640, 651, 622, 627, 446, + 305, 529, 639, 320, 321, 318, 634, 323, 614, 287, + 521, 536, 326, 544, 641, 1638, 551, 621, 585, 311, + 619, 339, 618, 360, 617, 1638, 594, 582, 556, 559, + 564, 567, 566, 577, 592, 1638, 600, 324, 574, 572, + 634, 549, 620, 635, 641, 579, 324, 656, 662, 278, + 567, 551, 544, 562, 526, 528, 501, 1638, 677, 683, + 698, 382, 523, 522, 521, 732, 758, 288, 341, 1638, + + 784, 496, 718, 744, 791, 799, 806, 517, 502, 489, + 486, 471, 1638, 474, 814, 821, 829, 383, 493, 485, + 484, 481, 400, 343, 407, 863, 356, 897, 931, 957, + 983, 1009, 1035, 1069, 475, 848, 882, 917, 943, 969, + 486, 453, 460, 1638, 445, 995, 1076, 1084, 416, 448, + 447, 444, 443, 426, 440, 1638, 444, 408, 509, 1118, + 1152, 601, 358, 1131, 1186, 1220, 1205, 407, 1227, 1235, + 1242, 481, 1250, 456, 1638, 417, 406, 535, 1257, 403, + 1638, 1638, 1638, 1638, 1638, 1638, 1049, 409, 410, 1265, + 1299, 426, 443, 1285, 1300, 370, 676, 354, 334, 352, + + 339, 283, 1306, 1321, 1327, 1342, 1638, 261, 226, 225, + 1638, 1638, 1638, 1348, 1363, 1369, 214, 192, 129, 1384, + 1390, 1405, 73, 1638, 52, 1411, 1426, 1638, 1638, 1638, + 1460, 1464, 1472, 1476, 1482, 1487, 1495, 1501, 1509, 1518, + 1520, 1526, 1530, 1536, 1545, 1551, 1555, 1564, 1568, 1576, + 1580, 1588, 1596, 1604, 1608, 1616, 1624, 1628 } ; -static yyconst flex_int16_t yy_def[368] = +static yyconst short int yy_def[359] = { 0, - 332, 1, 332, 332, 332, 332, 332, 333, 334, 332, - 335, 332, 336, 332, 332, 332, 332, 332, 337, 337, - 337, 338, 332, 332, 332, 332, 332, 332, 333, 332, - 339, 334, 340, 332, 335, 341, 332, 332, 332, 337, - 337, 338, 16, 342, 332, 343, 332, 16, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 345, 344, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 337, 346, 332, 337, 337, 347, 337, 337, - 337, 332, 332, 332, 332, 333, 333, 333, 333, 339, - 334, 334, 335, 335, 335, 335, 341, 332, 332, 342, - - 348, 344, 349, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 332, 332, 332, 332, 332, 332, 332, 332, 337, - 81, 332, 337, 337, 350, 332, 337, 81, 332, 333, - 89, 92, 335, 96, 351, 332, 344, 120, 344, 344, - 344, 344, 344, 120, 344, 332, 332, 332, 332, 332, - 332, 332, 332, 131, 332, 352, 353, 332, 332, 354, - 81, 332, 89, 92, 96, 351, 348, 148, 344, 120, - 344, 332, 332, 332, 332, 332, 332, 332, 131, 355, - 356, 332, 332, 332, 354, 354, 357, 358, 332, 359, - - 81, 332, 89, 92, 96, 148, 120, 344, 332, 332, - 332, 332, 332, 332, 131, 360, 361, 332, 332, 332, - 332, 332, 357, 332, 362, 358, 363, 354, 354, 354, - 354, 354, 359, 81, 332, 89, 92, 96, 148, 120, - 332, 332, 332, 332, 332, 131, 364, 365, 332, 332, - 332, 332, 332, 332, 332, 357, 357, 357, 357, 362, - 358, 358, 358, 358, 363, 232, 81, 332, 89, 92, - 96, 148, 120, 332, 332, 332, 332, 267, 366, 332, - 332, 332, 332, 332, 332, 332, 357, 357, 357, 259, - 358, 358, 358, 264, 232, 332, 273, 332, 332, 332, - - 367, 259, 264, 232, 332, 332, 332, 332, 332, 259, - 264, 232, 332, 332, 332, 259, 264, 232, 332, 332, - 332, 357, 358, 332, 332, 332, 332, 332, 332, 332, - 332, 0, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332 + 330, 1, 330, 330, 330, 330, 330, 331, 332, 330, + 333, 330, 334, 330, 330, 330, 330, 330, 335, 330, + 336, 336, 336, 330, 330, 330, 330, 330, 331, 330, + 337, 332, 338, 330, 333, 339, 330, 330, 330, 335, + 336, 336, 16, 340, 330, 341, 330, 16, 342, 343, + 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, + 343, 343, 343, 330, 330, 330, 330, 330, 330, 330, + 330, 336, 336, 330, 330, 336, 344, 330, 336, 336, + 330, 336, 330, 330, 330, 331, 331, 331, 331, 337, + 332, 332, 333, 333, 333, 333, 339, 330, 330, 340, + + 345, 343, 343, 343, 346, 343, 343, 343, 343, 343, + 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, + 343, 330, 330, 330, 330, 330, 330, 330, 330, 73, + 336, 73, 330, 336, 336, 347, 330, 336, 330, 331, + 89, 92, 333, 96, 348, 330, 103, 343, 103, 343, + 343, 343, 343, 343, 343, 330, 330, 330, 330, 330, + 330, 330, 330, 73, 132, 330, 330, 349, 330, 330, + 350, 330, 89, 92, 96, 348, 345, 103, 149, 343, + 343, 330, 330, 330, 330, 330, 330, 330, 73, 132, + 330, 351, 330, 330, 330, 350, 350, 352, 353, 330, + + 354, 330, 89, 92, 96, 103, 149, 343, 330, 330, + 330, 330, 330, 330, 73, 132, 330, 355, 330, 330, + 330, 330, 330, 352, 330, 356, 353, 357, 350, 350, + 350, 350, 350, 354, 330, 89, 92, 96, 103, 149, + 330, 330, 330, 330, 330, 73, 132, 330, 358, 330, + 330, 330, 330, 330, 330, 330, 352, 352, 352, 352, + 356, 353, 353, 353, 353, 357, 233, 330, 89, 92, + 96, 343, 149, 330, 330, 330, 330, 246, 330, 330, + 330, 330, 330, 330, 330, 330, 352, 352, 352, 260, + 353, 353, 353, 265, 233, 330, 343, 330, 330, 330, + + 330, 330, 330, 260, 265, 233, 330, 330, 330, 330, + 330, 330, 330, 260, 265, 233, 330, 330, 330, 260, + 265, 233, 330, 330, 330, 260, 265, 330, 330, 0, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330 } ; -static yyconst flex_int16_t yy_nxt[3681] = +static yyconst short int yy_nxt[1695] = { 0, 4, 5, 6, 5, 5, 5, 7, 8, 9, 10, 4, 4, 11, 4, 4, 12, 4, 13, 14, 15, - 16, 17, 4, 4, 4, 18, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, - 19, 19, 19, 19, 19, 19, 21, 19, 19, 19, - 22, 23, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 20, 19, 19, 19, 19, 19, - 19, 21, 19, 19, 19, 24, 25, 19, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, - 27, 27, 27, 30, 30, 38, 72, 72, 39, 39, - - 75, 76, 26, 26, 26, 26, 26, 72, 30, 72, - 78, 306, 30, 85, 104, 105, 72, 41, 99, 75, - 76, 28, 72, 103, 77, 121, 103, 123, 42, 109, - 103, 124, 36, 74, 74, 103, 31, 79, 85, 104, - 166, 105, 41, 99, 74, 286, 74, 28, 45, 77, - 36, 31, 123, 74, 109, 46, 47, 124, 48, 74, - 75, 75, 79, 127, 49, 49, 50, 51, 52, 49, - 53, 54, 55, 49, 56, 49, 57, 58, 49, 59, - 49, 60, 61, 49, 49, 49, 49, 49, 62, 127, - 63, 49, 50, 51, 52, 49, 53, 54, 55, 56, - - 49, 57, 58, 49, 59, 49, 60, 61, 49, 49, - 49, 49, 49, 75, 114, 49, 65, 110, 108, 27, - 27, 27, 27, 27, 332, 103, 43, 66, 103, 106, - 67, 111, 285, 68, 284, 125, 30, 69, 70, 107, - 71, 103, 110, 108, 126, 49, 29, 103, 103, 30, - 283, 30, 28, 66, 106, 112, 67, 111, 118, 68, - 125, 113, 69, 70, 107, 71, 81, 103, 128, 126, - 49, 115, 81, 81, 81, 81, 81, 81, 28, 31, - 112, 129, 103, 72, 72, 118, 113, 72, 116, 139, - 133, 117, 31, 103, 31, 128, 282, 115, 72, 81, - - 81, 81, 81, 81, 29, 29, 29, 86, 129, 152, - 88, 30, 30, 116, 139, 35, 117, 153, 150, 134, - 74, 74, 137, 89, 74, 30, 151, 103, 149, 89, - 89, 89, 89, 89, 89, 74, 101, 158, 103, 103, - 146, 159, 103, 153, 134, 150, 103, 137, 157, 36, - 36, 151, 160, 90, 149, 161, 89, 89, 89, 89, - 89, 92, 162, 36, 158, 155, 159, 92, 92, 92, - 92, 92, 92, 103, 157, 72, 72, 160, 163, 165, - 170, 161, 166, 133, 172, 30, 183, 162, 30, 168, - 155, 152, 253, 179, 92, 92, 92, 92, 92, 35, - - 35, 35, 93, 177, 163, 184, 182, 146, 185, 172, - 95, 183, 74, 74, 103, 181, 74, 74, 96, 179, - 186, 103, 202, 36, 96, 96, 96, 96, 96, 96, - 184, 31, 182, 185, 187, 103, 166, 166, 224, 224, - 224, 181, 188, 192, 218, 224, 186, 202, 97, 208, - 209, 96, 96, 96, 96, 96, 81, 252, 210, 212, - 187, 103, 81, 81, 81, 81, 81, 81, 188, 195, - 195, 195, 195, 195, 208, 197, 209, 227, 227, 213, - 198, 225, 199, 210, 212, 214, 251, 250, 225, 81, - 81, 81, 81, 81, 120, 235, 241, 242, 103, 243, - - 120, 120, 120, 120, 120, 120, 213, 221, 244, 245, - 214, 195, 195, 195, 195, 195, 224, 197, 200, 166, - 235, 241, 198, 242, 199, 243, 249, 120, 120, 120, - 120, 120, 131, 244, 245, 268, 274, 276, 131, 131, - 131, 131, 131, 131, 222, 222, 222, 222, 222, 224, - 332, 166, 220, 277, 219, 332, 275, 199, 281, 225, - 200, 274, 268, 224, 276, 131, 131, 131, 131, 131, - 80, 80, 80, 80, 80, 222, 222, 222, 222, 222, - 277, 275, 72, 224, 226, 211, 223, 227, 199, 138, - 296, 224, 298, 200, 224, 138, 138, 138, 138, 138, - - 138, 254, 254, 254, 254, 254, 225, 254, 254, 254, - 254, 254, 299, 300, 255, 296, 103, 298, 177, 74, - 255, 227, 138, 138, 138, 138, 138, 87, 140, 140, - 140, 87, 227, 30, 225, 224, 224, 307, 299, 300, - 130, 130, 130, 130, 130, 305, 141, 147, 147, 147, - 147, 147, 141, 141, 141, 141, 141, 141, 222, 222, - 222, 222, 222, 307, 332, 308, 319, 321, 320, 332, - 305, 199, 324, 328, 227, 325, 31, 326, 225, 141, - 141, 141, 141, 141, 29, 29, 29, 86, 194, 193, - 88, 308, 319, 320, 321, 327, 103, 329, 324, 328, - - 325, 331, 326, 89, 330, 103, 103, 200, 103, 89, - 89, 89, 89, 89, 89, 222, 222, 222, 222, 222, - 327, 332, 329, 177, 169, 132, 332, 331, 199, 330, - 156, 103, 103, 90, 103, 103, 89, 89, 89, 89, - 89, 91, 91, 91, 91, 91, 103, 103, 103, 103, - 103, 103, 103, 103, 101, 257, 289, 289, 289, 257, - 142, 224, 33, 136, 200, 132, 142, 142, 142, 142, - 142, 142, 222, 222, 222, 222, 222, 122, 332, 103, - 103, 43, 62, 332, 101, 199, 98, 33, 84, 83, - 33, 82, 64, 142, 142, 142, 142, 142, 94, 143, - - 143, 143, 94, 44, 225, 43, 37, 34, 33, 30, - 332, 262, 293, 293, 293, 262, 332, 144, 332, 332, - 313, 200, 224, 144, 144, 144, 144, 144, 144, 222, - 222, 222, 222, 222, 314, 332, 332, 332, 315, 332, - 332, 332, 199, 332, 332, 332, 313, 36, 332, 332, - 144, 144, 144, 144, 144, 35, 35, 35, 93, 314, - 227, 332, 332, 315, 332, 332, 95, 332, 332, 332, - 332, 332, 332, 332, 96, 332, 332, 332, 200, 332, - 96, 96, 96, 96, 96, 96, 287, 254, 254, 254, - 287, 332, 224, 332, 332, 332, 332, 332, 332, 288, - - 332, 332, 332, 332, 97, 332, 332, 96, 96, 96, - 96, 96, 148, 291, 254, 254, 254, 291, 148, 148, - 148, 148, 148, 148, 224, 332, 292, 332, 332, 332, - 332, 332, 332, 332, 332, 225, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 148, 148, 148, 148, 148, - 119, 119, 119, 119, 119, 332, 332, 332, 332, 332, - 332, 332, 227, 332, 332, 332, 332, 332, 332, 154, - 332, 332, 332, 332, 332, 154, 154, 154, 154, 154, - 154, 287, 254, 254, 254, 287, 332, 224, 332, 332, - 332, 332, 332, 332, 288, 332, 332, 332, 332, 103, - - 332, 332, 154, 154, 154, 154, 154, 130, 130, 130, - 130, 130, 332, 332, 332, 332, 291, 254, 254, 254, - 291, 332, 332, 332, 332, 332, 164, 224, 332, 292, - 225, 332, 164, 164, 164, 164, 164, 164, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 164, - 164, 164, 164, 164, 171, 227, 332, 332, 332, 332, - 171, 171, 171, 171, 171, 171, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 171, 171, 171, - - 171, 171, 173, 332, 332, 332, 332, 332, 173, 173, - 173, 173, 173, 173, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 173, 173, 173, 173, 173, - 174, 332, 332, 332, 332, 332, 174, 174, 174, 174, - 174, 174, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 174, 174, 174, 174, 174, 175, 332, - 332, 332, 332, 332, 175, 175, 175, 175, 175, 175, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 175, 175, 175, 175, 175, 147, 147, 147, 147, - 147, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 178, 332, 332, 332, 332, - 332, 178, 178, 178, 178, 178, 178, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 178, 178, - 178, 178, 178, 180, 332, 332, 332, 332, 332, 180, - 180, 180, 180, 180, 180, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 180, 180, 180, 180, - 180, 189, 332, 332, 332, 332, 332, 189, 189, 189, - 189, 189, 189, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 189, 189, 189, 189, 189, 201, - 332, 332, 332, 332, 332, 201, 201, 201, 201, 201, - 201, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 201, 201, 201, 201, 201, 203, 332, 332, - 332, 332, 332, 203, 203, 203, 203, 203, 203, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 203, 203, 203, 203, 203, 204, 332, 332, 332, 332, - 332, 204, 204, 204, 204, 204, 204, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 204, 204, - 204, 204, 204, 205, 332, 332, 332, 332, 332, 205, - 205, 205, 205, 205, 205, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 205, 205, 205, 205, - - 205, 206, 332, 332, 332, 332, 332, 206, 206, 206, - 206, 206, 206, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 206, 206, 206, 206, 206, 207, - 332, 332, 332, 332, 332, 207, 207, 207, 207, 207, - 207, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 207, 207, 207, 207, 207, 215, 332, 332, - 332, 332, 332, 215, 215, 215, 215, 215, 215, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 215, 215, 215, 215, 215, 222, 222, 222, 222, 228, - 332, 230, 332, 332, 332, 332, 230, 230, 231, 332, - 332, 332, 332, 332, 232, 332, 332, 332, 332, 332, - 232, 232, 232, 232, 232, 232, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 233, 332, 332, 232, 232, 232, - 232, 232, 234, 332, 332, 332, 332, 332, 234, 234, - 234, 234, 234, 234, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 234, 234, 234, 234, 234, - 236, 332, 332, 332, 332, 332, 236, 236, 236, 236, - 236, 236, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 236, 236, 236, 236, 236, 237, 332, - 332, 332, 332, 332, 237, 237, 237, 237, 237, 237, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 237, 237, 237, 237, 237, 238, 332, 332, 332, - 332, 332, 238, 238, 238, 238, 238, 238, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 238, - 238, 238, 238, 238, 239, 332, 332, 332, 332, 332, - 239, 239, 239, 239, 239, 239, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 239, 239, 239, - 239, 239, 240, 332, 332, 332, 332, 332, 240, 240, - 240, 240, 240, 240, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 240, 240, 240, 240, 240, - - 246, 332, 332, 332, 332, 332, 246, 246, 246, 246, - 246, 246, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 246, 246, 246, 246, 246, 223, 223, - 223, 256, 332, 332, 258, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 259, 332, 332, - 332, 332, 332, 259, 259, 259, 259, 259, 259, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 260, 332, 332, - 259, 259, 259, 259, 259, 226, 226, 226, 261, 332, - - 332, 332, 332, 332, 332, 332, 263, 332, 332, 332, - 332, 332, 332, 332, 264, 332, 332, 332, 332, 332, - 264, 264, 264, 264, 264, 264, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 265, 332, 332, 264, 264, 264, - 264, 264, 228, 228, 228, 228, 228, 332, 332, 332, - 332, 332, 332, 332, 332, 199, 332, 332, 332, 332, - 332, 266, 332, 332, 332, 332, 332, 266, 266, 266, - 266, 266, 266, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 200, 332, 332, 266, 266, 266, 266, 266, 222, - 222, 222, 222, 228, 332, 230, 332, 332, 332, 332, - 230, 230, 231, 332, 332, 332, 332, 332, 232, 332, - 332, 332, 332, 332, 232, 232, 232, 232, 232, 232, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 233, 332, - 332, 232, 232, 232, 232, 232, 267, 332, 332, 332, - 332, 332, 267, 267, 267, 267, 267, 267, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 267, - - 267, 267, 267, 267, 269, 332, 332, 332, 332, 332, - 269, 269, 269, 269, 269, 269, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 269, 269, 269, - 269, 269, 270, 332, 332, 332, 332, 332, 270, 270, - 270, 270, 270, 270, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 270, 270, 270, 270, 270, - 271, 332, 332, 332, 332, 332, 271, 271, 271, 271, - 271, 271, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 271, 271, 271, 271, 271, 272, 332, - 332, 332, 332, 332, 272, 272, 272, 272, 272, 272, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 272, 272, 272, 272, 272, 273, 332, 332, 332, - 332, 332, 273, 273, 273, 273, 273, 273, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 273, - 273, 273, 273, 273, 278, 332, 332, 332, 332, 332, - - 278, 278, 278, 278, 278, 278, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 278, 278, 278, - 278, 278, 257, 289, 289, 289, 257, 332, 224, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 290, 332, 332, 332, 332, 332, 290, 290, 290, - 290, 290, 290, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 225, 332, 332, 290, 290, 290, 290, 290, 223, - 223, 223, 256, 332, 332, 258, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 259, 332, - 332, 332, 332, 332, 259, 259, 259, 259, 259, 259, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 260, 332, - 332, 259, 259, 259, 259, 259, 262, 293, 293, 293, - 262, 332, 332, 332, 332, 332, 332, 224, 332, 332, - 332, 332, 332, 332, 332, 294, 332, 332, 332, 332, - 332, 294, 294, 294, 294, 294, 294, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 227, 332, 332, 294, 294, - - 294, 294, 294, 226, 226, 226, 261, 332, 332, 332, - 332, 332, 332, 332, 263, 332, 332, 332, 332, 332, - 332, 332, 264, 332, 332, 332, 332, 332, 264, 264, - 264, 264, 264, 264, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 265, 332, 332, 264, 264, 264, 264, 264, - 295, 332, 332, 332, 332, 332, 295, 295, 295, 295, - 295, 295, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 295, 295, 295, 295, 295, 73, 332, - - 332, 332, 332, 332, 73, 73, 73, 73, 73, 73, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 73, 73, 73, 73, 73, 29, 332, 332, 332, - 332, 332, 29, 29, 29, 29, 29, 29, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 29, - 29, 29, 29, 29, 32, 332, 332, 332, 332, 332, - 32, 32, 32, 32, 32, 32, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 32, 32, 32, - 32, 32, 35, 332, 332, 332, 332, 332, 35, 35, - 35, 35, 35, 35, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 35, 35, 35, 35, 35, - 297, 332, 332, 332, 332, 332, 297, 297, 297, 297, - 297, 297, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 297, 297, 297, 297, 297, 102, 332, - 332, 332, 332, 332, 102, 102, 102, 102, 102, 102, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 102, 102, 102, 102, 102, 302, 332, 332, 332, - 332, 332, 302, 302, 302, 302, 302, 302, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 302, - 302, 302, 302, 302, 303, 332, 332, 332, 332, 332, - 303, 303, 303, 303, 303, 303, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 303, 303, 303, - - 303, 303, 304, 332, 332, 332, 332, 332, 304, 304, - 304, 304, 304, 304, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 304, 304, 304, 304, 304, - 310, 332, 332, 332, 332, 332, 310, 310, 310, 310, - 310, 310, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 310, 310, 310, 310, 310, 311, 332, - 332, 332, 332, 332, 311, 311, 311, 311, 311, 311, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 311, 311, 311, 311, 311, 312, 332, 332, 332, - 332, 332, 312, 312, 312, 312, 312, 312, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 312, - 312, 312, 312, 312, 316, 332, 332, 332, 332, 332, - 316, 316, 316, 316, 316, 316, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 316, 316, 316, - 316, 316, 317, 332, 332, 332, 332, 332, 317, 317, - - 317, 317, 317, 317, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 317, 317, 317, 317, 317, - 318, 332, 332, 332, 332, 332, 318, 318, 318, 318, - 318, 318, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 318, 318, 318, 318, 318, 322, 332, - 332, 332, 332, 332, 322, 322, 322, 322, 322, 322, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 322, 322, 322, 322, 322, 323, 332, 332, 332, - 332, 332, 323, 323, 323, 323, 323, 323, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 323, - 323, 323, 323, 323, 196, 332, 332, 332, 332, 332, - 196, 196, 196, 196, 196, 196, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 196, 196, 196, - 196, 196, 29, 332, 29, 29, 29, 29, 29, 29, - 29, 32, 32, 332, 32, 32, 35, 332, 35, 35, - - 35, 35, 35, 35, 35, 40, 40, 332, 40, 40, - 73, 73, 73, 332, 73, 73, 80, 80, 80, 80, - 80, 80, 80, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 91, 91, 91, 91, 91, 91, 91, 94, + 16, 17, 4, 4, 4, 18, 19, 20, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 22, 21, 21, 21, 21, 21, 21, 23, + 21, 21, 21, 24, 25, 21, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, + 27, 30, 30, 38, 75, 30, 39, 30, 105, 105, + 65, 106, 40, 105, 39, 329, 36, 77, 75, 36, + 31, 78, 79, 107, 66, 75, 31, 67, 42, 113, + + 68, 77, 28, 45, 69, 70, 99, 71, 77, 105, + 46, 47, 105, 48, 105, 121, 108, 152, 80, 49, + 328, 50, 51, 51, 52, 53, 54, 51, 55, 56, + 57, 51, 58, 51, 59, 60, 51, 61, 51, 62, + 63, 51, 51, 51, 51, 51, 73, 105, 51, 75, + 101, 330, 81, 43, 146, 73, 73, 73, 73, 73, + 73, 105, 77, 26, 26, 26, 26, 26, 27, 27, + 27, 27, 27, 112, 92, 51, 78, 78, 325, 30, + 73, 111, 82, 92, 92, 92, 92, 92, 92, 73, + 73, 73, 73, 73, 73, 105, 75, 29, 31, 78, + + 79, 105, 30, 103, 28, 29, 29, 29, 86, 77, + 109, 88, 103, 103, 103, 103, 103, 103, 105, 35, + 110, 31, 78, 117, 89, 324, 30, 153, 114, 30, + 90, 105, 105, 89, 89, 89, 89, 89, 89, 35, + 35, 35, 93, 36, 75, 31, 115, 75, 75, 30, + 95, 105, 116, 154, 323, 134, 118, 77, 96, 105, + 77, 77, 75, 36, 97, 319, 318, 96, 96, 96, + 96, 96, 96, 119, 132, 77, 120, 72, 72, 72, + 72, 72, 105, 132, 132, 132, 132, 132, 132, 75, + 75, 105, 317, 105, 30, 225, 130, 135, 30, 155, + + 151, 150, 77, 77, 105, 130, 130, 130, 130, 130, + 130, 136, 36, 31, 226, 137, 312, 138, 75, 208, + 136, 136, 136, 136, 136, 136, 87, 140, 140, 140, + 87, 77, 30, 75, 166, 167, 171, 105, 30, 177, + 134, 167, 169, 146, 180, 141, 77, 77, 193, 77, + 225, 31, 36, 225, 141, 141, 141, 141, 141, 141, + 29, 29, 29, 86, 149, 105, 88, 228, 225, 226, + 225, 181, 311, 149, 149, 149, 149, 149, 149, 89, + 154, 310, 228, 309, 228, 90, 105, 308, 89, 89, + 89, 89, 89, 89, 91, 91, 91, 91, 91, 167, + + 167, 223, 223, 223, 223, 223, 219, 250, 255, 255, + 255, 255, 255, 142, 200, 225, 225, 225, 307, 33, + 167, 256, 142, 142, 142, 142, 142, 142, 94, 143, + 143, 143, 94, 167, 226, 226, 226, 302, 225, 30, + 281, 255, 255, 255, 255, 255, 224, 144, 301, 296, + 286, 225, 228, 36, 256, 225, 144, 144, 144, 144, + 144, 144, 35, 35, 35, 93, 164, 285, 284, 228, + 226, 283, 282, 95, 277, 164, 164, 164, 164, 164, + 164, 96, 102, 102, 102, 102, 102, 97, 298, 276, + 96, 96, 96, 96, 96, 96, 102, 102, 102, 102, + + 102, 275, 299, 274, 268, 254, 300, 105, 253, 252, + 287, 255, 255, 255, 287, 147, 225, 251, 245, 244, + 243, 105, 242, 288, 147, 147, 147, 147, 147, 147, + 131, 131, 131, 131, 131, 226, 131, 131, 131, 131, + 131, 173, 241, 105, 235, 222, 221, 220, 214, 165, + 173, 173, 173, 173, 173, 173, 174, 213, 165, 165, + 165, 165, 165, 165, 175, 174, 174, 174, 174, 174, + 174, 178, 212, 175, 175, 175, 175, 175, 175, 211, + 178, 178, 178, 178, 178, 178, 148, 148, 148, 148, + 148, 210, 209, 105, 177, 202, 195, 189, 194, 188, + + 187, 186, 185, 227, 184, 179, 189, 189, 189, 189, + 189, 189, 190, 225, 179, 179, 179, 179, 179, 179, + 191, 190, 190, 190, 190, 190, 190, 228, 183, 191, + 191, 191, 191, 191, 191, 196, 196, 196, 196, 196, + 203, 198, 182, 105, 105, 105, 199, 105, 200, 203, + 203, 203, 203, 203, 203, 204, 177, 172, 170, 133, + 201, 205, 163, 162, 204, 204, 204, 204, 204, 204, + 205, 205, 205, 205, 205, 205, 206, 148, 148, 148, + 148, 148, 207, 161, 160, 206, 206, 206, 206, 206, + 206, 207, 207, 207, 207, 207, 207, 215, 159, 158, + + 157, 156, 105, 216, 105, 105, 215, 215, 215, 215, + 215, 215, 216, 216, 216, 216, 216, 216, 217, 105, + 105, 105, 105, 105, 105, 105, 105, 217, 217, 217, + 217, 217, 217, 196, 196, 196, 196, 196, 236, 198, + 105, 105, 101, 33, 199, 139, 200, 236, 236, 236, + 236, 236, 236, 133, 129, 128, 127, 126, 201, 223, + 223, 223, 223, 223, 237, 330, 125, 124, 123, 122, + 330, 105, 200, 237, 237, 237, 237, 237, 237, 105, + 43, 49, 101, 98, 201, 223, 223, 223, 223, 229, + 33, 231, 85, 84, 83, 74, 231, 231, 232, 64, + + 44, 43, 37, 34, 233, 33, 330, 330, 330, 330, + 234, 238, 330, 233, 233, 233, 233, 233, 233, 239, + 238, 238, 238, 238, 238, 238, 240, 330, 239, 239, + 239, 239, 239, 239, 246, 240, 240, 240, 240, 240, + 240, 247, 330, 246, 246, 246, 246, 246, 246, 248, + 247, 247, 247, 247, 247, 247, 330, 330, 248, 248, + 248, 248, 248, 248, 224, 224, 224, 257, 269, 330, + 259, 330, 330, 330, 330, 330, 330, 269, 269, 269, + 269, 269, 269, 260, 330, 330, 330, 330, 330, 261, + 330, 330, 260, 260, 260, 260, 260, 260, 227, 227, + + 227, 262, 270, 330, 330, 330, 330, 330, 330, 264, + 330, 270, 270, 270, 270, 270, 270, 265, 330, 330, + 330, 330, 330, 266, 330, 330, 265, 265, 265, 265, + 265, 265, 223, 223, 223, 223, 223, 271, 330, 330, + 330, 330, 330, 330, 330, 200, 271, 271, 271, 271, + 271, 271, 330, 330, 330, 330, 330, 201, 223, 223, + 223, 223, 223, 272, 330, 330, 330, 330, 330, 330, + 330, 200, 272, 272, 272, 272, 272, 272, 330, 330, + 330, 330, 330, 201, 223, 223, 223, 223, 223, 273, + 330, 330, 330, 330, 330, 330, 330, 200, 273, 273, + + 273, 273, 273, 273, 330, 330, 330, 330, 330, 201, + 223, 223, 223, 223, 223, 76, 330, 330, 330, 330, + 330, 330, 330, 200, 76, 76, 76, 76, 76, 76, + 330, 330, 330, 330, 330, 201, 229, 229, 229, 229, + 229, 330, 330, 330, 330, 330, 330, 330, 330, 200, + 287, 255, 255, 255, 287, 267, 225, 330, 330, 330, + 330, 201, 330, 288, 267, 267, 267, 267, 267, 267, + 223, 223, 223, 223, 229, 226, 231, 330, 330, 330, + 330, 231, 231, 232, 330, 330, 330, 330, 330, 233, + 330, 330, 330, 330, 330, 234, 278, 330, 233, 233, + + 233, 233, 233, 233, 279, 278, 278, 278, 278, 278, + 278, 330, 330, 279, 279, 279, 279, 279, 279, 258, + 289, 289, 289, 258, 330, 225, 330, 330, 330, 330, + 330, 330, 291, 255, 255, 255, 291, 330, 290, 330, + 330, 330, 330, 225, 226, 292, 330, 290, 290, 290, + 290, 290, 290, 224, 224, 224, 257, 228, 330, 259, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 260, 330, 330, 330, 330, 330, 261, 330, + 330, 260, 260, 260, 260, 260, 260, 263, 293, 293, + 293, 263, 330, 330, 330, 330, 330, 330, 225, 330, + + 330, 330, 330, 330, 330, 330, 294, 330, 330, 330, + 330, 330, 228, 330, 330, 294, 294, 294, 294, 294, + 294, 227, 227, 227, 262, 295, 330, 330, 330, 330, + 330, 330, 264, 330, 295, 295, 295, 295, 295, 295, + 265, 330, 330, 330, 330, 330, 266, 29, 330, 265, + 265, 265, 265, 265, 265, 32, 29, 29, 29, 29, + 29, 29, 35, 330, 32, 32, 32, 32, 32, 32, + 297, 35, 35, 35, 35, 35, 35, 303, 330, 297, + 297, 297, 297, 297, 297, 304, 303, 303, 303, 303, + 303, 303, 330, 330, 304, 304, 304, 304, 304, 304, + + 291, 255, 255, 255, 291, 305, 330, 330, 330, 330, + 330, 225, 330, 292, 305, 305, 305, 305, 305, 305, + 306, 330, 330, 330, 330, 228, 313, 330, 330, 306, + 306, 306, 306, 306, 306, 313, 313, 313, 313, 313, + 313, 314, 330, 330, 330, 330, 330, 315, 330, 330, + 314, 314, 314, 314, 314, 314, 315, 315, 315, 315, + 315, 315, 316, 330, 330, 330, 330, 330, 320, 330, + 330, 316, 316, 316, 316, 316, 316, 320, 320, 320, + 320, 320, 320, 321, 330, 330, 330, 330, 330, 322, + 330, 330, 321, 321, 321, 321, 321, 321, 322, 322, + + 322, 322, 322, 322, 326, 330, 330, 330, 330, 330, + 327, 330, 330, 326, 326, 326, 326, 326, 326, 327, + 327, 327, 327, 327, 327, 197, 330, 330, 330, 330, + 330, 224, 330, 330, 197, 197, 197, 197, 197, 197, + 224, 224, 224, 224, 224, 224, 227, 330, 330, 330, + 330, 330, 330, 330, 330, 227, 227, 227, 227, 227, + 227, 29, 330, 29, 29, 29, 29, 29, 29, 32, + 330, 32, 32, 35, 330, 35, 35, 35, 35, 35, + 35, 41, 330, 41, 41, 72, 72, 72, 72, 72, + 72, 76, 76, 330, 76, 76, 87, 87, 87, 87, + + 87, 87, 87, 87, 91, 91, 91, 91, 91, 91, 94, 94, 94, 94, 94, 94, 94, 94, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 49, 49, - 102, 102, 332, 102, 102, 119, 119, 119, 119, 119, - 119, 119, 130, 130, 130, 130, 130, 130, 130, 135, - 135, 135, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 147, 147, 147, 147, 147, 147, 147, 167, - - 167, 167, 167, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 190, 332, 190, 191, 191, 191, 191, - 196, 196, 196, 332, 196, 196, 196, 196, 196, 216, - 332, 216, 217, 217, 217, 217, 223, 332, 223, 223, - 223, 223, 223, 223, 223, 226, 332, 226, 226, 226, - 226, 226, 226, 226, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 247, 332, 247, 248, 248, 248, 248, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 279, 332, - 279, 280, 280, 280, 280, 301, 332, 301, 309, 332, - - 309, 3, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332 + 100, 100, 100, 100, 100, 100, 100, 51, 51, 102, + 102, 102, 102, 102, 102, 104, 330, 104, 104, 131, + 131, 131, 131, 131, 131, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 148, 148, 148, 148, 148, 148, + 168, 168, 330, 168, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 192, 192, 330, 192, 197, 197, 197, + 330, 197, 197, 197, 197, 218, 218, 330, 218, 224, + 330, 224, 224, 224, 224, 224, 224, 227, 330, 227, + + 227, 227, 227, 227, 227, 230, 230, 230, 230, 230, + 230, 230, 230, 249, 249, 330, 249, 258, 258, 258, + 258, 258, 258, 258, 258, 263, 263, 263, 263, 263, + 263, 263, 263, 280, 280, 330, 280, 3, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330 + } ; -static yyconst flex_int16_t yy_chk[3681] = +static yyconst short int yy_chk[1695] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, - 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, - 7, 7, 7, 8, 11, 13, 19, 20, 13, 39, - - 20, 20, 26, 26, 26, 26, 26, 21, 29, 40, - 21, 298, 35, 28, 50, 51, 41, 13, 39, 41, - 41, 7, 73, 63, 20, 63, 50, 65, 13, 54, - 54, 66, 11, 19, 20, 51, 8, 21, 28, 50, - 280, 51, 13, 39, 21, 253, 40, 7, 16, 20, - 35, 29, 65, 41, 54, 16, 16, 66, 16, 73, - 99, 99, 21, 69, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 69, + 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, + 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, + 7, 8, 11, 13, 21, 35, 13, 29, 52, 50, + 18, 50, 13, 57, 39, 325, 11, 21, 22, 35, + 8, 22, 22, 52, 18, 41, 29, 18, 13, 57, + + 18, 22, 7, 16, 18, 18, 39, 18, 41, 53, + 16, 16, 62, 16, 111, 62, 53, 111, 22, 16, + 323, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 58, 58, 16, 18, 55, 53, 27, - 27, 27, 27, 27, 43, 53, 43, 18, 55, 52, - 18, 56, 252, 18, 251, 67, 87, 18, 18, 52, - 18, 52, 55, 53, 68, 43, 86, 58, 56, 88, - 250, 86, 27, 18, 52, 57, 18, 56, 60, 18, - 67, 57, 18, 18, 52, 18, 22, 57, 70, 68, - 43, 59, 22, 22, 22, 22, 22, 22, 27, 87, - 57, 71, 60, 76, 80, 60, 57, 77, 59, 85, - 76, 59, 88, 59, 86, 70, 249, 59, 79, 22, - - 22, 22, 22, 22, 31, 31, 31, 31, 71, 114, - 31, 94, 95, 59, 85, 93, 59, 118, 108, 77, - 76, 80, 79, 31, 77, 93, 111, 111, 105, 31, - 31, 31, 31, 31, 31, 79, 101, 124, 118, 114, - 101, 125, 108, 118, 77, 108, 105, 79, 123, 94, - 95, 111, 126, 31, 105, 127, 31, 31, 31, 31, - 31, 33, 128, 93, 124, 121, 125, 33, 33, 33, - 33, 33, 33, 121, 123, 130, 133, 126, 129, 134, - 137, 127, 135, 133, 139, 143, 158, 128, 140, 135, - 121, 152, 221, 150, 33, 33, 33, 33, 33, 36, - - 36, 36, 36, 177, 129, 159, 157, 177, 160, 139, - 36, 158, 130, 133, 150, 155, 134, 137, 36, 150, - 161, 152, 172, 143, 36, 36, 36, 36, 36, 36, - 159, 140, 157, 160, 162, 155, 167, 191, 197, 198, - 226, 155, 163, 167, 191, 223, 161, 172, 36, 181, - 182, 36, 36, 36, 36, 36, 42, 220, 183, 185, - 162, 181, 42, 42, 42, 42, 42, 42, 163, 170, - 170, 170, 170, 170, 181, 170, 182, 198, 226, 186, - 170, 197, 170, 183, 185, 187, 219, 218, 223, 42, - 42, 42, 42, 42, 62, 202, 209, 210, 208, 211, - - 62, 62, 62, 62, 62, 62, 186, 194, 212, 214, - 187, 195, 195, 195, 195, 195, 257, 195, 170, 217, - 202, 209, 195, 210, 195, 211, 217, 62, 62, 62, - 62, 62, 74, 212, 214, 235, 241, 243, 74, 74, - 74, 74, 74, 74, 196, 196, 196, 196, 196, 262, - 196, 248, 193, 245, 192, 196, 242, 196, 248, 257, - 195, 241, 235, 288, 243, 74, 74, 74, 74, 74, - 81, 81, 81, 81, 81, 222, 222, 222, 222, 222, - 245, 242, 81, 292, 261, 184, 256, 262, 222, 81, - 268, 256, 274, 196, 261, 81, 81, 81, 81, 81, - - 81, 224, 224, 224, 224, 224, 288, 254, 254, 254, - 254, 254, 276, 277, 224, 268, 179, 274, 176, 81, - 254, 292, 81, 81, 81, 81, 81, 89, 89, 89, - 89, 89, 261, 89, 256, 289, 293, 299, 276, 277, - 278, 278, 278, 278, 278, 296, 89, 297, 297, 297, - 297, 297, 89, 89, 89, 89, 89, 89, 228, 228, - 228, 228, 228, 299, 228, 300, 313, 315, 314, 228, - 296, 228, 319, 325, 293, 320, 89, 321, 289, 89, - 89, 89, 89, 89, 90, 90, 90, 90, 169, 168, - 90, 300, 313, 314, 315, 324, 153, 326, 319, 325, - - 320, 329, 321, 90, 327, 151, 149, 228, 147, 90, - 90, 90, 90, 90, 90, 229, 229, 229, 229, 229, - 324, 229, 326, 145, 136, 132, 229, 329, 229, 327, - 122, 119, 117, 90, 116, 115, 90, 90, 90, 90, - 90, 92, 92, 92, 92, 92, 113, 112, 110, 109, - 107, 106, 104, 102, 100, 322, 322, 322, 322, 322, - 92, 322, 91, 78, 229, 75, 92, 92, 92, 92, - 92, 92, 230, 230, 230, 230, 230, 64, 230, 61, - 49, 47, 46, 230, 44, 230, 38, 32, 25, 24, - 92, 23, 17, 92, 92, 92, 92, 92, 96, 96, - - 96, 96, 96, 15, 322, 14, 12, 10, 9, 96, - 3, 323, 323, 323, 323, 323, 0, 96, 0, 0, - 306, 230, 323, 96, 96, 96, 96, 96, 96, 231, - 231, 231, 231, 231, 306, 231, 0, 0, 306, 0, - 231, 0, 231, 0, 0, 0, 306, 96, 0, 0, - 96, 96, 96, 96, 96, 97, 97, 97, 97, 306, - 323, 0, 0, 306, 0, 0, 97, 0, 0, 0, - 0, 0, 0, 0, 97, 0, 0, 0, 231, 0, - 97, 97, 97, 97, 97, 97, 258, 258, 258, 258, - 258, 0, 258, 0, 0, 0, 0, 0, 0, 258, - - 0, 0, 0, 0, 97, 0, 0, 97, 97, 97, - 97, 97, 103, 263, 263, 263, 263, 263, 103, 103, - 103, 103, 103, 103, 263, 0, 263, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, - 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, - 0, 0, 263, 0, 0, 0, 0, 0, 0, 120, - 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, - 120, 287, 287, 287, 287, 287, 0, 287, 0, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 0, 120, - - 0, 0, 120, 120, 120, 120, 120, 131, 131, 131, - 131, 131, 0, 0, 0, 0, 291, 291, 291, 291, - 291, 0, 0, 0, 0, 0, 131, 291, 0, 291, - 287, 0, 131, 131, 131, 131, 131, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 131, 131, 131, 131, 138, 291, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 138, 138, 138, - - 138, 138, 141, 0, 0, 0, 0, 0, 141, 141, - 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 141, 141, 141, 141, - 142, 0, 0, 0, 0, 0, 142, 142, 142, 142, - 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 142, 142, 142, 142, 142, 144, 0, - 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 144, 144, 144, 144, 148, 148, 148, 148, - 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, - 0, 148, 148, 148, 148, 148, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, - 148, 148, 148, 154, 0, 0, 0, 0, 0, 154, - 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 154, 154, 154, 154, - 154, 164, 0, 0, 0, 0, 0, 164, 164, 164, - 164, 164, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 164, 164, 164, 164, 171, - 0, 0, 0, 0, 0, 171, 171, 171, 171, 171, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 171, 171, 171, 171, 173, 0, 0, - 0, 0, 0, 173, 173, 173, 173, 173, 173, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 173, 173, 173, 173, 173, 174, 0, 0, 0, 0, - 0, 174, 174, 174, 174, 174, 174, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 174, - 174, 174, 174, 175, 0, 0, 0, 0, 0, 175, - 175, 175, 175, 175, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 175, 175, 175, - - 175, 178, 0, 0, 0, 0, 0, 178, 178, 178, - 178, 178, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 178, 178, 178, 178, 180, - 0, 0, 0, 0, 0, 180, 180, 180, 180, 180, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 180, 180, 180, 180, 180, 189, 0, 0, - 0, 0, 0, 189, 189, 189, 189, 189, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 189, 189, 189, 189, 200, 200, 200, 200, 200, - 0, 200, 0, 0, 0, 0, 200, 200, 200, 0, - 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, - 200, 200, 200, 200, 200, 200, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 0, 0, 200, 200, 200, - 200, 200, 201, 0, 0, 0, 0, 0, 201, 201, - 201, 201, 201, 201, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 201, 201, 201, 201, 201, - 203, 0, 0, 0, 0, 0, 203, 203, 203, 203, - 203, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 203, 203, 203, 203, 204, 0, - 0, 0, 0, 0, 204, 204, 204, 204, 204, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 204, 204, 204, 204, 204, 205, 0, 0, 0, - 0, 0, 205, 205, 205, 205, 205, 205, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 205, 205, 205, 205, 206, 0, 0, 0, 0, 0, - 206, 206, 206, 206, 206, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 206, 206, 206, - 206, 206, 207, 0, 0, 0, 0, 0, 207, 207, - 207, 207, 207, 207, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 207, 207, 207, 207, - - 215, 0, 0, 0, 0, 0, 215, 215, 215, 215, - 215, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 215, 215, 215, 215, 215, 225, 225, - 225, 225, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, - 0, 0, 0, 225, 225, 225, 225, 225, 225, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, - 225, 225, 225, 225, 225, 227, 227, 227, 227, 0, - - 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, - 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, - 227, 227, 227, 227, 227, 227, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 227, 0, 0, 227, 227, 227, - 227, 227, 232, 232, 232, 232, 232, 0, 232, 0, - 0, 0, 0, 232, 0, 232, 0, 0, 0, 0, - 0, 232, 0, 0, 0, 0, 0, 232, 232, 232, - 232, 232, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 232, 0, 0, 232, 232, 232, 232, 232, 233, - 233, 233, 233, 233, 0, 233, 0, 0, 0, 0, - 233, 233, 233, 0, 0, 0, 0, 0, 233, 0, - 0, 0, 0, 0, 233, 233, 233, 233, 233, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, - 0, 233, 233, 233, 233, 233, 234, 0, 0, 0, - 0, 0, 234, 234, 234, 234, 234, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, - - 234, 234, 234, 234, 236, 0, 0, 0, 0, 0, - 236, 236, 236, 236, 236, 236, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 236, 236, 236, - 236, 236, 237, 0, 0, 0, 0, 0, 237, 237, - 237, 237, 237, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 237, 237, 237, 237, - 238, 0, 0, 0, 0, 0, 238, 238, 238, 238, - 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 238, 238, 238, 238, 238, 239, 0, - 0, 0, 0, 0, 239, 239, 239, 239, 239, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 239, 239, 239, 239, 239, 240, 0, 0, 0, - 0, 0, 240, 240, 240, 240, 240, 240, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 240, 240, 240, 240, 246, 0, 0, 0, 0, 0, - - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 246, 246, - 246, 246, 259, 259, 259, 259, 259, 0, 259, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 0, 0, 259, 259, 259, - 259, 259, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 259, 259, 259, 259, 259, 260, - 260, 260, 260, 0, 0, 260, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 260, 260, 260, 260, 260, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 260, 260, 260, 260, 260, 264, 264, 264, 264, - 264, 0, 0, 0, 0, 0, 0, 264, 0, 0, - 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, - 0, 264, 264, 264, 264, 264, 264, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 0, 0, 264, 264, - - 264, 264, 264, 265, 265, 265, 265, 0, 0, 0, - 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, - 0, 0, 265, 0, 0, 0, 0, 0, 265, 265, - 265, 265, 265, 265, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 16, 16, 19, 56, 16, 23, + 101, 43, 23, 43, 101, 19, 19, 19, 19, 19, + 19, 55, 23, 26, 26, 26, 26, 26, 27, 27, + 27, 27, 27, 56, 33, 43, 99, 99, 319, 87, + 40, 55, 23, 33, 33, 33, 33, 33, 33, 40, + 40, 40, 40, 40, 40, 54, 42, 86, 87, 42, + + 42, 114, 86, 49, 27, 31, 31, 31, 31, 42, + 54, 31, 49, 49, 49, 49, 49, 49, 58, 93, + 54, 86, 60, 60, 31, 318, 88, 114, 58, 93, + 31, 59, 60, 31, 31, 31, 31, 31, 31, 36, + 36, 36, 36, 93, 72, 88, 59, 76, 79, 94, + 36, 61, 59, 117, 317, 79, 61, 72, 36, 117, + 76, 79, 80, 94, 36, 310, 309, 36, 36, 36, + 36, 36, 36, 61, 77, 80, 61, 73, 73, 73, + 73, 73, 106, 77, 77, 77, 77, 77, 77, 73, + 82, 108, 308, 121, 140, 198, 73, 80, 95, 121, + + 108, 106, 73, 82, 180, 73, 73, 73, 73, 73, + 73, 81, 95, 140, 198, 81, 302, 82, 131, 180, + 81, 81, 81, 81, 81, 81, 89, 89, 89, 89, + 89, 131, 89, 134, 135, 136, 138, 150, 143, 177, + 134, 168, 136, 177, 150, 89, 134, 135, 168, 138, + 224, 89, 143, 199, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 105, 152, 90, 199, 227, 224, + 263, 152, 301, 105, 105, 105, 105, 105, 105, 90, + 154, 300, 227, 299, 263, 90, 154, 298, 90, 90, + 90, 90, 90, 90, 92, 92, 92, 92, 92, 192, + + 218, 223, 223, 223, 223, 223, 192, 218, 225, 225, + 225, 225, 225, 92, 223, 258, 288, 289, 296, 92, + 280, 225, 92, 92, 92, 92, 92, 92, 96, 96, + 96, 96, 96, 249, 258, 288, 289, 277, 292, 96, + 249, 255, 255, 255, 255, 255, 257, 96, 276, 268, + 254, 257, 292, 96, 255, 293, 96, 96, 96, 96, + 96, 96, 97, 97, 97, 97, 130, 253, 252, 293, + 257, 251, 250, 97, 245, 130, 130, 130, 130, 130, + 130, 97, 272, 272, 272, 272, 272, 97, 274, 243, + 97, 97, 97, 97, 97, 97, 103, 103, 103, 103, + + 103, 242, 274, 241, 235, 222, 274, 272, 221, 220, + 259, 259, 259, 259, 259, 103, 259, 219, 214, 212, + 211, 103, 210, 259, 103, 103, 103, 103, 103, 103, + 132, 132, 132, 132, 132, 259, 278, 278, 278, 278, + 278, 141, 209, 208, 202, 195, 194, 193, 187, 132, + 141, 141, 141, 141, 141, 141, 142, 186, 132, 132, + 132, 132, 132, 132, 144, 142, 142, 142, 142, 142, + 142, 147, 185, 144, 144, 144, 144, 144, 144, 184, + 147, 147, 147, 147, 147, 147, 149, 149, 149, 149, + 149, 183, 182, 181, 176, 172, 170, 164, 169, 163, + + 162, 161, 160, 262, 159, 149, 164, 164, 164, 164, + 164, 164, 165, 262, 149, 149, 149, 149, 149, 149, + 167, 165, 165, 165, 165, 165, 165, 262, 158, 167, + 167, 167, 167, 167, 167, 171, 171, 171, 171, 171, + 173, 171, 157, 155, 153, 151, 171, 148, 171, 173, + 173, 173, 173, 173, 173, 174, 145, 139, 137, 133, + 171, 175, 129, 128, 174, 174, 174, 174, 174, 174, + 175, 175, 175, 175, 175, 175, 178, 297, 297, 297, + 297, 297, 179, 127, 126, 178, 178, 178, 178, 178, + 178, 179, 179, 179, 179, 179, 179, 189, 125, 124, + + 123, 122, 297, 190, 120, 119, 189, 189, 189, 189, + 189, 189, 190, 190, 190, 190, 190, 190, 191, 118, + 116, 115, 113, 112, 110, 109, 107, 191, 191, 191, + 191, 191, 191, 196, 196, 196, 196, 196, 203, 196, + 104, 102, 100, 91, 196, 85, 196, 203, 203, 203, + 203, 203, 203, 78, 71, 70, 69, 68, 196, 197, + 197, 197, 197, 197, 204, 197, 67, 66, 65, 64, + 197, 63, 197, 204, 204, 204, 204, 204, 204, 51, + 47, 46, 44, 38, 197, 201, 201, 201, 201, 201, + 32, 201, 28, 25, 24, 20, 201, 201, 201, 17, + + 15, 14, 12, 10, 201, 9, 3, 0, 0, 0, + 201, 205, 0, 201, 201, 201, 201, 201, 201, 206, + 205, 205, 205, 205, 205, 205, 207, 0, 206, 206, + 206, 206, 206, 206, 215, 207, 207, 207, 207, 207, + 207, 216, 0, 215, 215, 215, 215, 215, 215, 217, + 216, 216, 216, 216, 216, 216, 0, 0, 217, 217, + 217, 217, 217, 217, 226, 226, 226, 226, 236, 0, + 226, 0, 0, 0, 0, 0, 0, 236, 236, 236, + 236, 236, 236, 226, 0, 0, 0, 0, 0, 226, + 0, 0, 226, 226, 226, 226, 226, 226, 228, 228, + + 228, 228, 237, 0, 0, 0, 0, 0, 0, 228, + 0, 237, 237, 237, 237, 237, 237, 228, 0, 0, + 0, 0, 0, 228, 0, 0, 228, 228, 228, 228, + 228, 228, 229, 229, 229, 229, 229, 238, 229, 0, + 0, 0, 0, 229, 0, 229, 238, 238, 238, 238, + 238, 238, 0, 0, 0, 0, 0, 229, 230, 230, + 230, 230, 230, 239, 230, 0, 0, 0, 0, 230, + 0, 230, 239, 239, 239, 239, 239, 239, 0, 0, + 0, 0, 0, 230, 231, 231, 231, 231, 231, 240, + 231, 0, 0, 0, 0, 231, 0, 231, 240, 240, + + 240, 240, 240, 240, 0, 0, 0, 0, 0, 231, + 232, 232, 232, 232, 232, 246, 232, 0, 0, 0, + 0, 232, 0, 232, 246, 246, 246, 246, 246, 246, + 0, 0, 0, 0, 0, 232, 233, 233, 233, 233, + 233, 0, 233, 0, 0, 0, 0, 233, 0, 233, + 287, 287, 287, 287, 287, 233, 287, 0, 0, 0, + 0, 233, 0, 287, 233, 233, 233, 233, 233, 233, + 234, 234, 234, 234, 234, 287, 234, 0, 0, 0, + 0, 234, 234, 234, 0, 0, 0, 0, 0, 234, + 0, 0, 0, 0, 0, 234, 247, 0, 234, 234, + + 234, 234, 234, 234, 248, 247, 247, 247, 247, 247, + 247, 0, 0, 248, 248, 248, 248, 248, 248, 260, + 260, 260, 260, 260, 0, 260, 0, 0, 0, 0, + 0, 0, 264, 264, 264, 264, 264, 0, 260, 0, + 0, 0, 0, 264, 260, 264, 0, 260, 260, 260, + 260, 260, 260, 261, 261, 261, 261, 264, 0, 261, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 261, 0, 0, 0, 0, 0, 261, 0, + 0, 261, 261, 261, 261, 261, 261, 265, 265, 265, + 265, 265, 0, 0, 0, 0, 0, 0, 265, 0, + + 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 265, 0, 0, 265, 265, 265, 265, 265, - 266, 0, 0, 0, 0, 0, 266, 266, 266, 266, - 266, 266, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 266, 266, 266, 266, 266, 267, 0, - - 0, 0, 0, 0, 267, 267, 267, 267, 267, 267, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 267, 267, 267, 267, 267, 269, 0, 0, 0, - 0, 0, 269, 269, 269, 269, 269, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 269, 269, 269, 269, 270, 0, 0, 0, 0, 0, - 270, 270, 270, 270, 270, 270, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 270, 270, 270, - 270, 270, 271, 0, 0, 0, 0, 0, 271, 271, - 271, 271, 271, 271, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 271, 271, 271, 271, 271, - 272, 0, 0, 0, 0, 0, 272, 272, 272, 272, - 272, 272, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 272, 272, 272, 272, 272, 273, 0, - 0, 0, 0, 0, 273, 273, 273, 273, 273, 273, + 265, 266, 266, 266, 266, 267, 0, 0, 0, 0, + 0, 0, 266, 0, 267, 267, 267, 267, 267, 267, + 266, 0, 0, 0, 0, 0, 266, 269, 0, 266, + 266, 266, 266, 266, 266, 270, 269, 269, 269, 269, + 269, 269, 271, 0, 270, 270, 270, 270, 270, 270, + 273, 271, 271, 271, 271, 271, 271, 279, 0, 273, + 273, 273, 273, 273, 273, 290, 279, 279, 279, 279, + 279, 279, 0, 0, 290, 290, 290, 290, 290, 290, + + 291, 291, 291, 291, 291, 294, 0, 0, 0, 0, + 0, 291, 0, 291, 294, 294, 294, 294, 294, 294, + 295, 0, 0, 0, 0, 291, 303, 0, 0, 295, + 295, 295, 295, 295, 295, 303, 303, 303, 303, 303, + 303, 304, 0, 0, 0, 0, 0, 305, 0, 0, + 304, 304, 304, 304, 304, 304, 305, 305, 305, 305, + 305, 305, 306, 0, 0, 0, 0, 0, 314, 0, + 0, 306, 306, 306, 306, 306, 306, 314, 314, 314, + 314, 314, 314, 315, 0, 0, 0, 0, 0, 316, + 0, 0, 315, 315, 315, 315, 315, 315, 316, 316, + + 316, 316, 316, 316, 320, 0, 0, 0, 0, 0, + 321, 0, 0, 320, 320, 320, 320, 320, 320, 321, + 321, 321, 321, 321, 321, 322, 0, 0, 0, 0, + 0, 326, 0, 0, 322, 322, 322, 322, 322, 322, + 326, 326, 326, 326, 326, 326, 327, 0, 0, 0, + 0, 0, 0, 0, 0, 327, 327, 327, 327, 327, + 327, 331, 0, 331, 331, 331, 331, 331, 331, 332, + 0, 332, 332, 333, 0, 333, 333, 333, 333, 333, + 333, 334, 0, 334, 334, 335, 335, 335, 335, 335, + 335, 336, 336, 0, 336, 336, 337, 337, 337, 337, + + 337, 337, 337, 337, 338, 338, 338, 338, 338, 338, + 339, 339, 339, 339, 339, 339, 339, 339, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 341, 341, 342, + 342, 342, 342, 342, 342, 343, 0, 343, 343, 344, + 344, 344, 344, 344, 344, 345, 345, 345, 345, 345, + 345, 345, 345, 345, 346, 346, 346, 346, 346, 346, + 347, 347, 0, 347, 348, 348, 348, 348, 348, 348, + 348, 348, 348, 349, 349, 0, 349, 350, 350, 350, + 0, 350, 350, 350, 350, 351, 351, 0, 351, 352, + 0, 352, 352, 352, 352, 352, 352, 353, 0, 353, + + 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, + 354, 354, 354, 355, 355, 0, 355, 356, 356, 356, + 356, 356, 356, 356, 356, 357, 357, 357, 357, 357, + 357, 357, 357, 358, 358, 0, 358, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 330, 330, 330, 330 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 273, 273, 273, 273, 273, 290, 0, 0, 0, - 0, 0, 290, 290, 290, 290, 290, 290, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, - 290, 290, 290, 290, 294, 0, 0, 0, 0, 0, - 294, 294, 294, 294, 294, 294, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 294, 294, 294, - - 294, 294, 295, 0, 0, 0, 0, 0, 295, 295, - 295, 295, 295, 295, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 295, 295, 295, 295, 295, - 302, 0, 0, 0, 0, 0, 302, 302, 302, 302, - 302, 302, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 302, 302, 302, 302, 302, 303, 0, - 0, 0, 0, 0, 303, 303, 303, 303, 303, 303, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 303, 303, 303, 303, 303, 304, 0, 0, 0, - 0, 0, 304, 304, 304, 304, 304, 304, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, - 304, 304, 304, 304, 310, 0, 0, 0, 0, 0, - 310, 310, 310, 310, 310, 310, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 310, 310, 310, - 310, 310, 311, 0, 0, 0, 0, 0, 311, 311, - - 311, 311, 311, 311, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 311, 311, 311, 311, 311, - 312, 0, 0, 0, 0, 0, 312, 312, 312, 312, - 312, 312, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 312, 312, 312, 312, 312, 316, 0, - 0, 0, 0, 0, 316, 316, 316, 316, 316, 316, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 316, 316, 316, 316, 316, 317, 0, 0, 0, - 0, 0, 317, 317, 317, 317, 317, 317, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, - 317, 317, 317, 317, 318, 0, 0, 0, 0, 0, - 318, 318, 318, 318, 318, 318, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 318, 318, 318, - 318, 318, 333, 0, 333, 333, 333, 333, 333, 333, - 333, 334, 334, 0, 334, 334, 335, 0, 335, 335, - - 335, 335, 335, 335, 335, 336, 336, 0, 336, 336, - 337, 337, 337, 0, 337, 337, 338, 338, 338, 338, - 338, 338, 338, 339, 339, 339, 339, 339, 339, 339, - 339, 339, 340, 340, 340, 340, 340, 340, 340, 341, - 341, 341, 341, 341, 341, 341, 341, 341, 342, 342, - 342, 342, 342, 342, 342, 342, 342, 342, 343, 343, - 344, 344, 0, 344, 344, 345, 345, 345, 345, 345, - 345, 345, 346, 346, 346, 346, 346, 346, 346, 347, - 347, 347, 348, 348, 348, 348, 348, 348, 348, 348, - 348, 348, 349, 349, 349, 349, 349, 349, 349, 350, - - 350, 350, 350, 351, 351, 351, 351, 351, 351, 351, - 351, 351, 351, 352, 0, 352, 353, 353, 353, 353, - 354, 354, 354, 0, 354, 354, 354, 354, 354, 355, - 0, 355, 356, 356, 356, 356, 357, 0, 357, 357, - 357, 357, 357, 357, 357, 358, 0, 358, 358, 358, - 358, 358, 358, 358, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 360, 0, 360, 361, 361, 361, 361, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 363, - 363, 363, 363, 363, 363, 363, 363, 363, 364, 0, - 364, 365, 365, 365, 365, 366, 0, 366, 367, 0, - - 367, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332 } ; YY_DECL -{ + { register yy_state_type yy_current_state; - register short unsigned int *yy_cp; - register short unsigned int *yy_bp; + register unsigned short *yy_cp, *yy_bp; register int yy_act; - -// #line 25 "tokenizer.flex" + +#line 25 "tokenizer.flex" + + +#line 1009 "tok" while ( 1 ) /* loops until end-of-file is reached */ { - yy_cp = (yy_c_buf_p); + yy_cp = yy_c_buf_p; /* Support of yytext. */ - *yy_cp = (yy_hold_char); + *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; - yy_current_state = (yy_start); + yy_current_state = yy_start; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; + yy_last_accepting_state = yy_current_state; + yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 333 ) + if ( yy_current_state >= 331 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3602 ); + while ( yy_base[yy_current_state] != 1638 ); yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + yy_cp = yy_last_accepting_cpos; + yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; + do_action: /* This label is used only to access EOF actions. */ + switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + *yy_cp = yy_hold_char; + yy_cp = yy_last_accepting_cpos; + yy_current_state = yy_last_accepting_state; goto yy_find_action; case 1: -/* rule 1 can match eol */ YY_RULE_SETUP -// #line 27 "tokenizer.flex" +#line 27 "tokenizer.flex" /* ignore comments */ YY_BREAK case 2: -/* rule 2 can match eol */ YY_RULE_SETUP #line 29 "tokenizer.flex" {yyTok = S; return yyTok;} @@ -1144,13 +704,11 @@ YY_RULE_SETUP {yyTok = CONTAINS; return yyTok;} YY_BREAK case 10: -/* rule 10 can match eol */ YY_RULE_SETUP #line 39 "tokenizer.flex" {yyTok = STRING; return yyTok;} YY_BREAK case 11: -/* rule 11 can match eol */ YY_RULE_SETUP #line 41 "tokenizer.flex" {yyTok = IDENT; return yyTok;} @@ -1161,7 +719,6 @@ YY_RULE_SETUP {yyTok = NTH; return yyTok;} YY_BREAK case 13: -/* rule 13 can match eol */ YY_RULE_SETUP #line 45 "tokenizer.flex" {yyTok = HASH; return yyTok;} @@ -1212,7 +769,6 @@ YY_RULE_SETUP {yyTok = TDEHTML_VALUE_SYM; return yyTok; } YY_BREAK case 23: -/* rule 23 can match eol */ YY_RULE_SETUP #line 57 "tokenizer.flex" {yyTok = IMPORTANT_SYM; return yyTok;} @@ -1298,7 +854,6 @@ YY_RULE_SETUP {yyTok = KHERZ; return yyTok;} YY_BREAK case 40: -/* rule 40 can match eol */ YY_RULE_SETUP #line 75 "tokenizer.flex" {yyTok = DIMEN; return yyTok;} @@ -1324,19 +879,16 @@ YY_RULE_SETUP {yyTok = NOTFUNCTION; return yyTok;} YY_BREAK case 45: -/* rule 45 can match eol */ YY_RULE_SETUP #line 82 "tokenizer.flex" {yyTok = URI; return yyTok;} YY_BREAK case 46: -/* rule 46 can match eol */ YY_RULE_SETUP #line 83 "tokenizer.flex" {yyTok = URI; return yyTok;} YY_BREAK case 47: -/* rule 47 can match eol */ YY_RULE_SETUP #line 84 "tokenizer.flex" {yyTok = FUNCTION; return yyTok;} @@ -1361,7 +913,7 @@ YY_RULE_SETUP #line 91 "tokenizer.flex" ECHO; YY_BREAK -#line 1926 "lex.yy.c" +#line 1347 "tok" case YY_STATE_EOF(INITIAL): yyterminate(); -- cgit v1.2.1