diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index fc4e5ff9997b5389aeacf411d5e1320fc6255822..b9421f588776146082cff39235d97364fbd01d8b 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -161,7 +161,7 @@ #define tMINUSMINUS 411 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.19 2000-12-06 22:36:44 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.20 2000-12-06 23:01:55 geuzaine Exp $ */ #include <stdarg.h> @@ -197,7 +197,7 @@ static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; static char yynameTab[MAX_OPEN_FILES][NAME_STR_L]; static char tmpstring[NAME_STR_L]; -static Symbol TheSymbol; +static Symbol TheSymbol, *pSymbol; static Surface *STL_Surf; static Shape TheShape; static int i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0; @@ -238,7 +238,7 @@ typedef union { -#define YYFINAL 1412 +#define YYFINAL 1437 #define YYFLAG -32768 #define YYNTBASE 174 @@ -304,23 +304,24 @@ static const short yyprhs[] = { 0, 686, 688, 692, 693, 713, 715, 719, 720, 740, 742, 746, 747, 773, 775, 779, 780, 806, 808, 812, 813, 839, 841, 845, 846, 878, 880, 884, 885, 917, 919, - 923, 924, 956, 961, 969, 978, 991, 998, 1004, 1012, - 1020, 1033, 1041, 1051, 1069, 1077, 1086, 1095, 1103, 1115, - 1121, 1130, 1140, 1149, 1172, 1193, 1202, 1211, 1217, 1226, - 1234, 1243, 1249, 1261, 1267, 1277, 1279, 1281, 1283, 1284, - 1287, 1292, 1297, 1301, 1305, 1308, 1312, 1319, 1328, 1330, - 1339, 1352, 1361, 1374, 1383, 1396, 1408, 1424, 1426, 1429, - 1439, 1442, 1449, 1459, 1469, 1478, 1487, 1496, 1503, 1508, - 1511, 1512, 1515, 1517, 1524, 1531, 1538, 1545, 1552, 1559, - 1565, 1571, 1578, 1587, 1588, 1591, 1593, 1595, 1597, 1599, - 1601, 1603, 1605, 1609, 1612, 1615, 1618, 1622, 1626, 1630, - 1634, 1638, 1642, 1646, 1650, 1654, 1658, 1662, 1666, 1670, - 1674, 1680, 1685, 1690, 1695, 1700, 1705, 1710, 1715, 1720, - 1725, 1730, 1737, 1742, 1747, 1752, 1757, 1762, 1767, 1774, - 1781, 1788, 1790, 1792, 1794, 1798, 1803, 1808, 1812, 1818, - 1820, 1823, 1826, 1830, 1834, 1846, 1856, 1864, 1872, 1873, - 1877, 1879, 1883, 1884, 1888, 1892, 1894, 1898, 1899, 1901, - 1905, 1907, 1909, 1913, 1917, 1927, 1935, 1941, 1943 + 923, 924, 956, 961, 966, 971, 976, 981, 986, 991, + 999, 1008, 1021, 1028, 1034, 1042, 1050, 1063, 1071, 1081, + 1099, 1107, 1116, 1125, 1133, 1145, 1151, 1160, 1170, 1179, + 1202, 1223, 1232, 1241, 1247, 1256, 1264, 1273, 1279, 1291, + 1297, 1307, 1309, 1311, 1313, 1314, 1317, 1322, 1327, 1331, + 1335, 1338, 1342, 1349, 1358, 1360, 1369, 1382, 1391, 1404, + 1413, 1426, 1438, 1454, 1456, 1459, 1469, 1472, 1479, 1489, + 1499, 1508, 1517, 1526, 1533, 1538, 1541, 1542, 1545, 1547, + 1554, 1561, 1568, 1575, 1582, 1589, 1595, 1601, 1608, 1615, + 1622, 1631, 1632, 1635, 1637, 1639, 1641, 1643, 1645, 1647, + 1649, 1653, 1656, 1659, 1662, 1666, 1670, 1674, 1678, 1682, + 1686, 1690, 1694, 1698, 1702, 1706, 1710, 1714, 1718, 1724, + 1729, 1734, 1739, 1744, 1749, 1754, 1759, 1764, 1769, 1774, + 1781, 1786, 1791, 1796, 1801, 1806, 1811, 1818, 1825, 1832, + 1834, 1836, 1838, 1842, 1847, 1852, 1856, 1862, 1864, 1867, + 1870, 1874, 1878, 1890, 1900, 1908, 1916, 1920, 1921, 1925, + 1927, 1931, 1932, 1936, 1940, 1942, 1946, 1947, 1949, 1953, + 1955, 1957, 1961, 1965, 1975, 1983, 1989, 1991 }; static const short yyrhs[] = { 176, @@ -420,6 +421,9 @@ static const short yyrhs[] = { 176, 169, 242, 169, 242, 169, 242, 169, 242, 169, 242, 169, 242, 169, 242, 169, 242, 169, 242, 170, 221, 171, 219, 172, 6, 0, 4, 7, 242, 6, 0, + 4, 143, 242, 6, 0, 4, 144, 242, 6, 0, + 4, 166, 242, 6, 0, 4, 144, 242, 6, 0, + 4, 145, 242, 6, 0, 4, 146, 242, 6, 0, 31, 168, 242, 170, 7, 245, 6, 0, 46, 31, 168, 242, 170, 7, 251, 6, 0, 63, 31, 251, 7, 171, 242, 169, 242, 169, 242, 172, 6, 0, @@ -481,44 +485,46 @@ static const short yyrhs[] = { 176, 144, 242, 6, 0, 4, 173, 4, 145, 242, 6, 0, 4, 173, 4, 146, 242, 6, 0, 4, 173, 4, 166, 6, 0, 4, 173, 4, 167, 6, 0, - 4, 173, 4, 7, 245, 6, 0, 4, 173, 83, - 173, 4, 7, 253, 6, 0, 0, 239, 240, 0, - 238, 0, 93, 0, 94, 0, 95, 0, 96, 0, - 97, 0, 243, 0, 168, 242, 170, 0, 158, 242, - 0, 157, 242, 0, 164, 242, 0, 242, 158, 242, - 0, 242, 157, 242, 0, 242, 159, 242, 0, 242, - 160, 242, 0, 242, 161, 242, 0, 242, 165, 242, - 0, 242, 153, 242, 0, 242, 154, 242, 0, 242, - 155, 242, 0, 242, 156, 242, 0, 242, 151, 242, - 0, 242, 150, 242, 0, 242, 148, 242, 0, 242, - 149, 242, 0, 242, 147, 242, 8, 242, 0, 10, - 168, 242, 170, 0, 11, 168, 242, 170, 0, 12, - 168, 242, 170, 0, 13, 168, 242, 170, 0, 14, - 168, 242, 170, 0, 15, 168, 242, 170, 0, 16, - 168, 242, 170, 0, 17, 168, 242, 170, 0, 18, - 168, 242, 170, 0, 19, 168, 242, 170, 0, 20, - 168, 242, 169, 242, 170, 0, 21, 168, 242, 170, - 0, 22, 168, 242, 170, 0, 23, 168, 242, 170, - 0, 24, 168, 242, 170, 0, 25, 168, 242, 170, - 0, 26, 168, 242, 170, 0, 27, 168, 242, 169, - 242, 170, 0, 28, 168, 242, 169, 242, 170, 0, - 29, 168, 242, 169, 242, 170, 0, 3, 0, 9, - 0, 4, 0, 4, 173, 4, 0, 4, 173, 4, - 166, 0, 4, 173, 4, 167, 0, 242, 8, 242, - 0, 242, 8, 242, 8, 242, 0, 246, 0, 158, - 245, 0, 157, 245, 0, 245, 158, 245, 0, 245, - 157, 245, 0, 171, 242, 169, 242, 169, 242, 169, - 242, 169, 242, 172, 0, 171, 242, 169, 242, 169, - 242, 169, 242, 172, 0, 171, 242, 169, 242, 169, - 242, 172, 0, 168, 242, 169, 242, 169, 242, 170, - 0, 0, 168, 248, 170, 0, 5, 0, 248, 169, - 5, 0, 0, 171, 250, 172, 0, 168, 250, 170, - 0, 251, 0, 250, 169, 251, 0, 0, 242, 0, - 171, 252, 172, 0, 242, 0, 244, 0, 252, 169, - 242, 0, 252, 169, 244, 0, 171, 242, 169, 242, - 169, 242, 169, 242, 172, 0, 171, 242, 169, 242, - 169, 242, 172, 0, 171, 4, 169, 242, 172, 0, - 4, 0, 4, 173, 83, 173, 4, 0 + 4, 173, 4, 7, 245, 6, 0, 4, 173, 4, + 143, 245, 6, 0, 4, 173, 4, 144, 245, 6, + 0, 4, 173, 83, 173, 4, 7, 253, 6, 0, + 0, 239, 240, 0, 238, 0, 93, 0, 94, 0, + 95, 0, 96, 0, 97, 0, 243, 0, 168, 242, + 170, 0, 158, 242, 0, 157, 242, 0, 164, 242, + 0, 242, 158, 242, 0, 242, 157, 242, 0, 242, + 159, 242, 0, 242, 160, 242, 0, 242, 161, 242, + 0, 242, 165, 242, 0, 242, 153, 242, 0, 242, + 154, 242, 0, 242, 155, 242, 0, 242, 156, 242, + 0, 242, 151, 242, 0, 242, 150, 242, 0, 242, + 148, 242, 0, 242, 149, 242, 0, 242, 147, 242, + 8, 242, 0, 10, 168, 242, 170, 0, 11, 168, + 242, 170, 0, 12, 168, 242, 170, 0, 13, 168, + 242, 170, 0, 14, 168, 242, 170, 0, 15, 168, + 242, 170, 0, 16, 168, 242, 170, 0, 17, 168, + 242, 170, 0, 18, 168, 242, 170, 0, 19, 168, + 242, 170, 0, 20, 168, 242, 169, 242, 170, 0, + 21, 168, 242, 170, 0, 22, 168, 242, 170, 0, + 23, 168, 242, 170, 0, 24, 168, 242, 170, 0, + 25, 168, 242, 170, 0, 26, 168, 242, 170, 0, + 27, 168, 242, 169, 242, 170, 0, 28, 168, 242, + 169, 242, 170, 0, 29, 168, 242, 169, 242, 170, + 0, 3, 0, 9, 0, 4, 0, 4, 173, 4, + 0, 4, 173, 4, 166, 0, 4, 173, 4, 167, + 0, 242, 8, 242, 0, 242, 8, 242, 8, 242, + 0, 246, 0, 158, 245, 0, 157, 245, 0, 245, + 158, 245, 0, 245, 157, 245, 0, 171, 242, 169, + 242, 169, 242, 169, 242, 169, 242, 172, 0, 171, + 242, 169, 242, 169, 242, 169, 242, 172, 0, 171, + 242, 169, 242, 169, 242, 172, 0, 168, 242, 169, + 242, 169, 242, 170, 0, 4, 173, 4, 0, 0, + 168, 248, 170, 0, 5, 0, 248, 169, 5, 0, + 0, 171, 250, 172, 0, 168, 250, 170, 0, 251, + 0, 250, 169, 251, 0, 0, 242, 0, 171, 252, + 172, 0, 242, 0, 244, 0, 252, 169, 242, 0, + 252, 169, 244, 0, 171, 242, 169, 242, 169, 242, + 169, 242, 172, 0, 171, 242, 169, 242, 169, 242, + 172, 0, 171, 4, 169, 242, 172, 0, 4, 0, + 4, 173, 83, 173, 4, 0 }; #endif @@ -538,23 +544,24 @@ static const short yyrline[] = { 0, 503, 506, 510, 518, 524, 527, 531, 539, 545, 548, 552, 564, 570, 573, 577, 589, 595, 598, 602, 614, 620, 623, 627, 640, 646, 649, 653, 666, 672, 675, - 679, 692, 704, 718, 729, 735, 754, 765, 773, 779, - 785, 804, 810, 826, 833, 839, 845, 851, 857, 876, - 888, 894, 913, 934, 942, 948, 954, 960, 972, 978, - 984, 996, 1002, 1007, 1012, 1019, 1021, 1022, 1025, 1030, - 1041, 1059, 1074, 1102, 1133, 1137, 1149, 1164, 1177, 1215, - 1221, 1227, 1231, 1235, 1239, 1243, 1248, 1255, 1259, 1264, - 1282, 1292, 1310, 1327, 1344, 1365, 1385, 1405, 1422, 1446, - 1457, 1459, 1462, 1466, 1478, 1495, 1512, 1529, 1546, 1563, - 1580, 1597, 1634, 1652, 1654, 1657, 1672, 1674, 1675, 1676, - 1677, 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, - 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, - 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, - 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, - 1720, 1723, 1725, 1726, 1735, 1752, 1769, 1788, 1795, 1808, - 1813, 1817, 1821, 1825, 1830, 1835, 1839, 1843, 1849, 1853, - 1858, 1862, 1867, 1871, 1875, 1881, 1887, 1893, 1897, 1903, - 1910, 1916, 1925, 1929, 1939, 1944, 1948, 1953, 1958 + 679, 692, 704, 711, 719, 727, 735, 743, 751, 766, + 777, 783, 802, 813, 821, 827, 833, 852, 858, 874, + 881, 887, 893, 899, 905, 924, 936, 942, 961, 982, + 990, 996, 1002, 1008, 1020, 1026, 1032, 1044, 1050, 1055, + 1060, 1067, 1069, 1070, 1073, 1078, 1089, 1107, 1122, 1150, + 1181, 1185, 1197, 1212, 1225, 1263, 1269, 1275, 1279, 1283, + 1287, 1291, 1296, 1303, 1307, 1312, 1330, 1340, 1358, 1375, + 1392, 1413, 1433, 1453, 1470, 1494, 1505, 1507, 1510, 1514, + 1526, 1543, 1560, 1577, 1594, 1611, 1628, 1645, 1670, 1695, + 1720, 1738, 1740, 1743, 1758, 1760, 1761, 1762, 1763, 1766, + 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, + 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, + 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, + 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1809, + 1811, 1812, 1821, 1838, 1855, 1874, 1881, 1894, 1899, 1903, + 1907, 1911, 1916, 1921, 1925, 1929, 1933, 1961, 1965, 1970, + 1974, 1979, 1983, 1987, 1993, 1999, 2005, 2009, 2015, 2022, + 2028, 2037, 2041, 2051, 2056, 2060, 2065, 2070 }; #endif @@ -617,23 +624,24 @@ static const short yyr1[] = { 0, 198, 198, 200, 199, 201, 201, 203, 202, 204, 204, 206, 205, 207, 207, 209, 208, 210, 210, 212, 211, 213, 213, 215, 214, 216, 216, 218, 217, 219, 219, - 221, 220, 222, 223, 223, 223, 223, 223, 223, 223, + 221, 220, 222, 222, 222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 224, 224, 224, 224, 225, 225, 225, 226, 226, - 227, 228, 229, 230, 230, 230, 231, 231, 231, 232, - 232, 232, 232, 232, 232, 232, 232, 233, 233, 234, - 234, 235, 235, 235, 235, 235, 235, 235, 235, 236, - 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 239, 239, 240, 241, 241, 241, 241, - 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 223, 223, 223, 223, 223, 223, 223, 224, 224, 224, + 224, 225, 225, 225, 226, 226, 227, 228, 229, 230, + 230, 230, 231, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 233, 233, 234, 234, 235, 235, 235, + 235, 235, 235, 235, 235, 236, 237, 237, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 239, 239, 240, 241, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 243, 243, 243, 243, 243, 243, 244, 244, 245, - 245, 245, 245, 245, 246, 246, 246, 246, 247, 247, - 248, 248, 249, 249, 249, 250, 250, 251, 251, 251, - 252, 252, 252, 252, 253, 253, 253, 253, 253 + 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, + 243, 243, 243, 243, 243, 244, 244, 245, 245, 245, + 245, 245, 246, 246, 246, 246, 246, 247, 247, 248, + 248, 249, 249, 249, 250, 250, 251, 251, 251, 252, + 252, 252, 252, 253, 253, 253, 253, 253 }; static const short yyr2[] = { 0, @@ -650,23 +658,24 @@ static const short yyr2[] = { 0, 1, 3, 0, 19, 1, 3, 0, 19, 1, 3, 0, 25, 1, 3, 0, 25, 1, 3, 0, 25, 1, 3, 0, 31, 1, 3, 0, 31, 1, 3, - 0, 31, 4, 7, 8, 12, 6, 5, 7, 7, - 12, 7, 9, 17, 7, 8, 8, 7, 11, 5, - 8, 9, 8, 22, 20, 8, 8, 5, 8, 7, - 8, 5, 11, 5, 9, 1, 1, 1, 0, 2, - 4, 4, 3, 3, 2, 3, 6, 8, 1, 8, - 12, 8, 12, 8, 12, 11, 15, 1, 2, 9, - 2, 6, 9, 9, 8, 8, 8, 6, 4, 2, - 0, 2, 1, 6, 6, 6, 6, 6, 6, 5, - 5, 6, 8, 0, 2, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 6, 4, 4, 4, 4, 4, 4, 6, 6, - 6, 1, 1, 1, 3, 4, 4, 3, 5, 1, - 2, 2, 3, 3, 11, 9, 7, 7, 0, 3, - 1, 3, 0, 3, 3, 1, 3, 0, 1, 3, - 1, 1, 3, 3, 9, 7, 5, 1, 5 + 0, 31, 4, 4, 4, 4, 4, 4, 4, 7, + 8, 12, 6, 5, 7, 7, 12, 7, 9, 17, + 7, 8, 8, 7, 11, 5, 8, 9, 8, 22, + 20, 8, 8, 5, 8, 7, 8, 5, 11, 5, + 9, 1, 1, 1, 0, 2, 4, 4, 3, 3, + 2, 3, 6, 8, 1, 8, 12, 8, 12, 8, + 12, 11, 15, 1, 2, 9, 2, 6, 9, 9, + 8, 8, 8, 6, 4, 2, 0, 2, 1, 6, + 6, 6, 6, 6, 6, 5, 5, 6, 6, 6, + 8, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, + 4, 4, 4, 4, 4, 4, 6, 6, 6, 1, + 1, 1, 3, 4, 4, 3, 5, 1, 2, 2, + 3, 3, 11, 9, 7, 7, 3, 0, 3, 1, + 3, 0, 3, 3, 1, 3, 0, 1, 3, 1, + 1, 3, 3, 9, 7, 5, 1, 5 }; static const short yydefact[] = { 51, @@ -675,1367 +684,1386 @@ static const short yydefact[] = { 51, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 52, 54, 53, 55, 56, 57, 58, 59, 63, 65, - 64, 60, 61, 62, 262, 264, 263, 0, 0, 0, + 64, 60, 61, 62, 270, 272, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 12, 0, 13, 14, 16, 15, 17, - 279, 279, 0, 68, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, - 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, - 0, 0, 0, 169, 0, 288, 169, 200, 0, 288, - 288, 0, 0, 0, 201, 0, 214, 175, 0, 0, + 0, 0, 230, 12, 0, 13, 14, 16, 15, 17, + 288, 288, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 224, 226, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 0, 0, 0, 0, 0, 175, + 0, 297, 175, 206, 0, 297, 297, 0, 0, 0, + 207, 0, 222, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 233, 232, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 272, 271, 0, 0, 0, - 0, 169, 169, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 176, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 223, 0, 239, - 240, 238, 237, 233, 234, 235, 236, 225, 224, 229, - 230, 231, 232, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 280, 279, 0, + 0, 0, 0, 175, 175, 0, 0, 0, 0, 0, + 179, 0, 0, 0, 72, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 182, 0, 273, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 247, 248, 246, 245, 241, 242, 243, 244, 233, + 232, 237, 238, 239, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 290, 0, 0, 0, + 0, 133, 134, 135, 138, 139, 136, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 282, + 281, 174, 0, 173, 172, 0, 0, 0, 0, 0, + 177, 176, 205, 0, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 209, 208, 0, 67, + 224, 223, 0, 274, 275, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 0, 261, 262, 263, 264, + 265, 266, 0, 0, 0, 236, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 281, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 274, 273, 168, 0, 167, 166, 0, 0, 0, - 0, 0, 171, 170, 199, 0, 172, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 66, 203, 202, - 0, 67, 216, 215, 0, 266, 267, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 257, 258, 0, 0, 0, 228, 227, 0, + 289, 0, 19, 0, 0, 0, 144, 297, 297, 0, + 297, 156, 0, 164, 297, 297, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 168, 170, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 0, 0, + 297, 0, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 297, 0, 0, 0, 0, 297, 297, + 0, 0, 0, 0, 0, 297, 0, 297, 0, 0, + 0, 0, 0, 291, 0, 288, 0, 0, 0, 0, + 297, 0, 297, 0, 0, 276, 302, 303, 143, 0, + 297, 297, 297, 198, 0, 297, 297, 297, 297, 297, + 297, 297, 0, 0, 0, 0, 0, 0, 0, 204, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 0, 0, 0, 292, 0, + 0, 0, 0, 183, 0, 260, 267, 268, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 19, 0, 0, 0, 138, 288, - 288, 0, 288, 150, 0, 158, 288, 288, 0, 0, - 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 162, 164, 0, - 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 0, 0, 288, 0, 0, 288, 0, 0, 0, 0, - 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 288, 288, 0, 0, 0, 0, - 288, 288, 0, 0, 0, 0, 0, 288, 0, 288, - 0, 0, 0, 0, 0, 282, 0, 279, 0, 0, - 0, 0, 288, 0, 288, 0, 0, 268, 293, 294, - 137, 0, 288, 288, 288, 192, 0, 288, 288, 288, - 288, 288, 288, 288, 0, 0, 0, 0, 0, 0, - 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 177, 0, 252, 259, 260, - 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 226, 227, 228, 229, 0, 0, + 0, 0, 0, 0, 0, 18, 0, 69, 140, 148, + 0, 151, 0, 145, 0, 146, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 218, 219, 220, 221, - 0, 0, 0, 0, 0, 0, 0, 18, 0, 69, - 134, 142, 0, 145, 0, 139, 0, 140, 160, 0, + 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 154, 0, 297, 297, + 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, - 288, 288, 0, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 288, 0, 0, 0, 288, 0, 0, + 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, + 0, 0, 0, 288, 0, 153, 163, 277, 0, 202, + 157, 159, 0, 0, 201, 203, 165, 141, 152, 162, + 167, 0, 286, 0, 285, 0, 0, 186, 0, 188, + 0, 190, 0, 71, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, + 295, 0, 0, 0, 272, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, + 184, 0, 0, 0, 0, 0, 21, 0, 30, 0, + 34, 0, 28, 0, 0, 33, 0, 38, 36, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 50, 0, 0, 149, 0, 200, 199, 175, 0, + 171, 0, 0, 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 147, 157, 269, - 0, 196, 151, 153, 0, 0, 195, 197, 159, 135, - 146, 156, 161, 0, 278, 0, 277, 0, 0, 180, - 0, 182, 0, 184, 0, 71, 0, 0, 0, 0, + 0, 0, 0, 297, 294, 293, 297, 0, 0, 210, + 0, 211, 218, 212, 219, 213, 220, 214, 215, 0, + 158, 0, 0, 292, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, + 0, 197, 297, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 283, 0, 286, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 211, 0, 178, - 0, 0, 0, 0, 0, 21, 0, 30, 0, 34, - 0, 28, 0, 0, 33, 0, 38, 36, 0, 0, - 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, - 50, 0, 0, 143, 0, 194, 193, 169, 0, 165, - 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, + 296, 0, 0, 273, 307, 0, 0, 0, 35, 0, + 0, 0, 0, 25, 0, 31, 0, 37, 26, 39, + 0, 42, 0, 46, 47, 0, 0, 49, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 288, 285, 284, 288, 0, 204, 0, 205, - 212, 206, 207, 208, 209, 0, 152, 0, 0, 283, + 0, 0, 297, 297, 155, 0, 272, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 276, 0, 0, 0, 191, 288, 0, - 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 0, 298, - 0, 0, 0, 35, 0, 0, 0, 0, 25, 0, - 31, 0, 37, 26, 39, 0, 42, 0, 46, 47, - 0, 0, 49, 0, 0, 0, 163, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 288, 288, 149, - 0, 264, 0, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 275, 181, - 183, 185, 0, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 87, 91, 95, 136, 141, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 32, - 40, 0, 41, 48, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 187, 189, 191, 0, 297, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 91, + 95, 142, 147, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 32, 40, 0, 41, 48, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 297, 0, 0, 0, 0, 24, 27, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 89, 0, 93, 0, 0, - 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, + 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 308, 306, 0, 0, 0, + 0, 24, 27, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, + 89, 0, 93, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, - 44, 20, 144, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 88, 90, 92, 94, 96, 0, - 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, - 0, 99, 103, 107, 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 288, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 97, 0, 101, 0, 105, 0, - 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 154, 0, 22, 0, 0, 0, - 0, 0, 0, 98, 100, 102, 104, 106, 108, 288, - 0, 0, 0, 111, 115, 119, 0, 0, 0, 0, - 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 109, 0, 113, 0, 117, + 0, 305, 0, 0, 0, 44, 20, 150, 196, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 88, + 90, 92, 94, 96, 0, 0, 0, 0, 0, 297, + 0, 0, 0, 0, 0, 0, 99, 103, 107, 0, + 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 297, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, + 0, 101, 0, 105, 0, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, + 0, 22, 0, 0, 0, 0, 0, 0, 98, 100, + 102, 104, 106, 108, 297, 0, 0, 0, 111, 115, + 119, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 110, 112, 114, 116, 118, 120, - 0, 123, 127, 131, 23, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 125, 0, 129, 0, 0, 0, - 0, 0, 0, 122, 124, 126, 128, 130, 132, 0, - 0, 0 + 109, 0, 113, 0, 117, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, + 112, 114, 116, 118, 120, 0, 123, 127, 131, 23, + 0, 0, 0, 0, 0, 0, 0, 121, 0, 125, + 0, 129, 0, 0, 0, 0, 0, 0, 122, 124, + 126, 128, 130, 132, 0, 0, 0 }; -static const short yydefgoto[] = { 1410, - 4, 5, 18, 19, 20, 21, 6, 61, 439, 63, - 429, 1183, 559, 1129, 1185, 560, 1130, 1187, 561, 1131, - 1294, 562, 1267, 1296, 563, 1268, 1298, 564, 1269, 1355, - 565, 1341, 1357, 566, 1342, 1359, 567, 1343, 1392, 568, - 1386, 1394, 569, 1387, 1396, 570, 1388, 64, 424, 414, - 415, 416, 417, 68, 69, 70, 71, 72, 926, 927, - 73, 74, 300, 440, 302, 444, 711, 261, 103, 394, - 276, 148, 243, 376, 773, 862, 863, 395, 1012 +static const short yydefgoto[] = { 1435, + 4, 5, 18, 19, 20, 21, 6, 61, 457, 63, + 447, 1208, 577, 1154, 1210, 578, 1155, 1212, 579, 1156, + 1319, 580, 1292, 1321, 581, 1293, 1323, 582, 1294, 1380, + 583, 1366, 1382, 584, 1367, 1384, 585, 1368, 1417, 586, + 1411, 1419, 587, 1412, 1421, 588, 1413, 64, 442, 432, + 433, 434, 435, 68, 69, 70, 71, 72, 947, 948, + 73, 74, 312, 458, 314, 462, 729, 272, 103, 411, + 288, 154, 249, 388, 791, 880, 881, 412, 1037 }; -static const short yypact[] = { 315, --32768,-32768, -126,-32768, 33, 1754, 1089, 18, 28, 49, - 65, 84, 122, 127, -146, -33, -19,-32768,-32768,-32768, --32768, 152, 205, 43, -115, 113, 115, -53, -49, 124, - 146, 212, 156, 321, 350, 367, 336, 313, 15, 240, - -69, -69, 250, 259, 251, 426, 412, 290, 449, 457, - 76, 296, -31, 294, 301,-32768, 297, 464, 466, 437, +static const short yypact[] = { 742, +-32768,-32768, -117,-32768, 424, 1923, 1114, 29, 30, 38, + 50, 65, 70, 76, -67, -61, -39,-32768,-32768,-32768, +-32768, 132, 141, 0, -37, -25, -19, -48, -44, -13, + -6, 127, 24, 178, 182, 211, 224, 244, 344, 100, + -1, -1, 128, 116, 135, 305, 289, 154, 320, 328, + 102, 187, -29, 185, 189,-32768, 193, 368, 377, 353, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 304,-32768, 305, 306, 310, - 311, 312, 316, 317, 319, 322, 323, 324, 325, 326, - 327, 328, 329, 331, 332, 333, 334, 1089, 1089, 1089, - 1089, 1415,-32768,-32768, 1791,-32768,-32768,-32768,-32768,-32768, - 335, 335, 476,-32768, 1089, 477, 499, 1089, 1089, 1089, - 1089, 337, 1089, 1089, 338, 1089, 1089, 1089, 525, 1089, - 339, 341, 343, 525, 344, 346, 348, 351, 352, 353, - 354, -69, -69, -69, 1089, 1089, 79,-32768, 81, -69, - 355, 356, 359,-32768, 508, 525,-32768,-32768, -41, 525, - 525, 1089, -72, 1089,-32768, 1089,-32768,-32768, 517, 357, - 520, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 390, 390, 390, 2307, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1415, 388, 389, 391, 392, 393, 394, 395, 398, 400, - 430, 431, 432, 434, 439, 445, 455, 456, 459, 460, - 462, 463, 465, 467, 468, 473, 474, 475, 478, 491, - 492, 553, 435, 493, 495, 597,-32768, 496, 2331, 1898, - 2355, 2379, 1089, 2403, 1926, 1089, 1963, 2427, 2451, 1089, - 6257, 622, 2475, 1089, 1089, 1089, 625, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, -128,-32768,-32768, 3819, 3842, -69, - -69, 234, 234, 87, 1089, 1089, 1089, 1592,-32768, 75, - 1608, -69,-32768, 627, 637, 2499, 564, 1089, 2523, 13, - 561, 14,-32768, 1089, -13, 2547, 2571, 2595, 2619, 2643, - 2667, 2691, 2715, 2739, 2763, 3865, 2787, 2811, 2835, 2859, - 2883, 2907, 3888, 3911, 3934, 1089, 1089,-32768, 1378, -81, - -81, 417, 417, 249, 249, 249, 249, -68, -65, 390, - 390, 390, 390, 662, 656, 657, 661, 664, 666, 667, - 668, 669, 671, 672, 673, 674, 675, 676, 679, 680, - 681, 682, 683, 685, 686, 687, 689, 541, 690, 692, - 693, 694, 697, 696,-32768, 99, 698, 700, 699,-32768, - 1089, 695, 701, 717, 718, 2931, 720, 724, 2955, 725, - 726, 727, 1437,-32768, -43, 1089, 728, 1983, 2979, 3003, - 1089, 2003, 2023, 3027, 3051, 3075, 3099, 3123, -69, 1089, - 1089,-32768,-32768,-32768, 560, 1660,-32768, 565, 1089, 3957, - 3980, 4003,-32768,-32768,-32768, 1089,-32768, 83, -8, 568, - 570, 729, 575, 3147, 742, 586, 595,-32768,-32768,-32768, - 1089,-32768,-32768,-32768, 3171,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1089,-32768,-32768, --32768,-32768,-32768,-32768, 1089, 1089, 1089, -9, -9, 1089, - 624, 598, 604, 605, 606, 607, 608, 610, 612, 613, - 614, 615, 616, 617, 618, 619, 620, 623, 626, 631, - 633, 634, 636, 638, 655, 659, 663, 665, 670, 684, - 688, 761,-32768, 621,-32768, 691, 3195, -69,-32768, 525, - 525, 786, 525,-32768, 789,-32768, 525, 525, 1089, 1089, --32768, 788, 635, 818, 819, 823, 461, 824, 826, 828, - 829, 830, 831, 845, 119, 4026, 4049,-32768,-32768, 2043, - -69, -69, -69, 861,-32768, 704, 705, 706, 731, 733, - 734, 735, 736, 738, 739, 740, 741, 848,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1089, 1089, 525, 1089, 849, 525, 2, 436, 851, 3219, - 3243, 3267, 3291, 6257, 719, 862, 1089, 1089, -69, 863, - 865, 710, 894, 907, 525, 525, 908, -69, 909, 910, - 525, 525, 914, 916, 917, 918, 919, 525, 345, 525, - 920, 859, 921, 922, 925,-32768, 923, 335, 924, 3, - 9, 944, 525, 945, 525, 946, 948, 1457, 1437,-32768, --32768, 1089, 525, 525, 525,-32768, 277, 525, 525, 525, - 525, 525, 525, 525, 1089, 1089, 1089, 753, -132, -130, - -71,-32768, 233, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089,-32768, 4072, 4095, 949, 3315, - 213, 875, 129, 785, 1089,-32768, 1089,-32768,-32768,-32768, --32768, 1089, 790, 4118, 4141, 85, 791, 792, 794, 795, - 797, 798, 801, 802, 90, 804, 805, 807, 810, 811, - 812, 813, 814, 815, 827,-32768,-32768,-32768,-32768,-32768, - 832, 833, 834, 836, 838, 843, 854,-32768, 858,-32768, --32768,-32768, -69,-32768, 955,-32768, 961,-32768,-32768, 1089, - 4164, 968, 992, 993, 1089, 1089, 994, 1022, 1023, 1024, - 1026, 1027, 1028, 2063, 3339, 1813, 234, -69, 1030, -69, - 1031, -69, 17, 1038, 4187, 4210, 4233, 4256, 4279, 4302, - 4325, 4348, 4371, 4394, 4417, 4440, 1089, 1089,-32768, 1047, - 525, 525, 973, 525, 318, 1089, 1089, 1089, 1089, 1050, - 1058, 1071, 3363, 204, 1415, 1084, 1089, 525, 1068, 1085, - 1083, 931, 1088, 345, 1118, 1131, 1089, 1129, 1133, 1132, - 1146, 1136, 345, 1089, 1089, 1089, 525, 1149, 1155, 345, - 1089, 1177, 1178, 1176, 1089, 335, 5,-32768,-32768, 6257, - 1089,-32768,-32768,-32768, 892, 912,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1013,-32768, 1089,-32768, 1014, 209,-32768, - 219,-32768, 222,-32768, 67,-32768, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 4463, 4486, - 213, 179,-32768, 218, 1016, 1012, 1182, 867, 867, 1089, - 972, 77, 1070, 1299, 1321, 1340,-32768,-32768, 1183,-32768, - 1185, 1415, 1019, 4509, 1033,-32768, 1035,-32768, 1037,-32768, - 1040,-32768, 1039, 3387,-32768, 1043,-32768,-32768, 1044, 1045, - 3411, 4532, 3435, 1053,-32768, 1046, 1062, 4555, 1067, 1075, --32768, 4578, 1069,-32768, 4601,-32768,-32768, 234, 1839,-32768, - 1089, 1089, 1089, 1201, 1042, -48,-32768, 4624, 4647, 4670, - 4693, 4716, 4739, 4762, 4785, 4808, 4831, 4854, 4877, 1089, - 1089, 1166, 525,-32768,-32768, 525, 1089,-32768, 2283,-32768, --32768,-32768,-32768,-32768,-32768, 16,-32768, 1709, 1231, 213, - 345, 1246, 1089, 1244, 345, 1245, 1249, 1248, 1250, 1252, - 1089, 1253, 525, 1254, 1255, 1089, 1259, 1258, 1089, 1260, - 1261, 1095, 1089,-32768, 2083, 2103, 2123,-32768, 525, 1271, --32768, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 2143, 2163, 1107,-32768, 1086, 1359, 1106, - 1150, 1274, 1089,-32768, 1114, 1116, 1117, 4900,-32768, 1120, --32768, 1121,-32768,-32768,-32768, 3459,-32768, 1123,-32768,-32768, - 3483, 1124,-32768, 3507, 1126, 1134,-32768, 2183, 1281, 1287, - 39, 1140,-32768, 4923, 4946, 4969, 4992, 5015, 5038, 5061, - 5084, 5107, 3531, 3555, 3579, 1304, 1305, 525, 525,-32768, - 1229, -64, 5130,-32768, 1415, 345, 345, 345, 345, 1307, - 1309, 1310, 345, 1311, 1313, 1314, 1316, 1317,-32768,-32768, --32768,-32768, 67, 525, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089,-32768,-32768,-32768,-32768,-32768, 1154, 1156, - 1157, 1089, 1089, 1415, 1160, 1162, 1163, 1164,-32768,-32768, --32768, 1167,-32768,-32768,-32768, 1168, 1179, -45, 1180, 5153, - 5176, 5199, 5222, 5245, 5268, 5291, 5314, 5337, 1161, 1174, - 1181, 525, 1256, 1346, 2203, 5360, 1788, 345, 345, 1345, - 1347, 345, 1349, 1354, 1355, 525, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1191, 1193, --32768,-32768, 1089, 1089, 1199, 1200,-32768,-32768, 1204, 1205, - 1198,-32768, 1206, 5383, 5406, 5429, 5452, 5475, 5498, 5521, - 5544, 5567, 223, 6257, 224, 6257, 228, 6257, 1292, 1089, - 1870, 1415, 345, 525, 1370, 1371, 1374, 1379, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1381, 1089, - 1382, 1089, 1383, 1219, 5590, 1089,-32768, 1415, 1223, 1228, --32768,-32768,-32768,-32768, 5613, 5636, 5659, 5682, 5705, 5728, - 3603, 3627, 3651, 6257,-32768, 6257,-32768, 6257,-32768, 1089, - 1089, 2223, 1618, 345, 525, 1089, 1089, 1089, 1089, 1089, - 1089,-32768,-32768,-32768, 5751, 2243,-32768, 1257, 1232, 1233, - 5774, 5797, 5820, 5843, 5866, 5889, 1227, 1236, 1237, 1089, - 1394,-32768, 525, 345, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 2263,-32768, 1234, 1247, 5912, 5935, 5958, - 5981, 6004, 6027, 229, 6257, 244, 6257, 246, 6257, 1410, - 525, 1414, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1416, - 1089, 1417, 1089, 1445,-32768, 1293,-32768, 6050, 6073, 6096, - 3675, 3699, 3723, 6257,-32768, 6257,-32768, 6257,-32768, 525, - 1089, 1089, 1089,-32768,-32768,-32768, 1294, 6119, 6142, 6165, - 1290, 1295, 1296, 525, 1089, 1089, 1089, 1089, 1089, 1089, - 1315, 6188, 6211, 6234, 248, 6257, 263, 6257, 264, 6257, - 345, 1089, 1089, 1089, 1089, 1467, 1089, 1477, 1089, 1479, - 1251, 3747, 3771, 3795, 6257,-32768, 6257,-32768, 6257,-32768, - 1486,-32768,-32768,-32768,-32768, 1331, 1332, 1333, 1089, 1089, - 1089, 274, 6257, 276, 6257, 284, 6257, 1089, 1505, 1089, - 1515, 1089, 1516, 6257,-32768, 6257,-32768, 6257,-32768, 1523, - 1530,-32768 +-32768,-32768,-32768,-32768,-32768, 214,-32768, 221, 281, 297, + 307, 311, 312, 322, 323, 324, 326, 327, 329, 336, + 346, 347, 351, 354, 355, 356, 358, 1114, 1114, 1114, + 1114, 1036,-32768,-32768, 1961,-32768,-32768,-32768,-32768,-32768, + 359, 359, 403,-32768, 1114, 1114, 1114, 1114, 1114, 1114, + 413, 461, 1114, 1114, 1114, 1114, 361, 1114, 1114, 372, + 1114, 1114, 1114, 543, 1114, 349, 373, 374, 543, 402, + 404, 375, 376, 380, 406, 408, -1, 300, -1, -1, + 1114, 1114, -119,-32768, -83, -1, 407, 409, 410,-32768, + 512, 543,-32768,-32768, -36, 543, 543, 1114, -69, 1114, +-32768, 1114,-32768,-32768, 515, 411, 541, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 412, 412, 412, + 2416, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1036, 416, 418, 433, + 434, 436, 437, 439, 440, 441, 442, 443, 446, 448, + 449, 471, 472, 473, 474, 476, 477, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 491, 598, 492, 490, + 493, 744, 817, 919, 997, 1090, 1322,-32768, 494, 2440, + 2007, 2464, 2488, 1114, 2512, 2027, 1114, 2047, 2536, 2560, + 1114, 6366, 657, 2584, 1114, 1114, 1114, 670, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, -103, 674,-32768,-32768, 3928, + 3951, -1, -1, 350, 350, -5, 1114, 1114, 1114, 1761, +-32768, 80, 1780, -1,-32768, 672, 673, 2608, 600, 1114, + 2632, 19, 579, 21,-32768, 1114, 87, 2656, 2680, 2704, + 2728, 2752, 2776, 2800, 2824, 2848, 2872, 3974, 2896, 2920, + 2944, 2968, 2992, 3016, 3997, 4020, 4043, 1114, 1114,-32768, + 773, 303, 303, 435, 435, -80, -80, -80, -80, -152, + -151, 412, 412, 412, 412, 1866, 677, 678, 679, 680, + 682, 684, 685, 686, 687, 689, 690, 691, 692, 693, + 694, 697, 698, 699, 700, 701, 703, 704, 705, 586, + 708, 710, 711, 712, 715, 714,-32768, 93, 716, 718, + 717,-32768,-32768,-32768,-32768,-32768,-32768, 1114, 713, 719, + 741, 745, 3040, 746, 743, 3064, 748, 750, 752, 1599, +-32768, 126, 1114, 754, 2067, 3088, 3112, 1114, 2087, 2107, + 3136, 3160, 3184, 3208, 3232, -1,-32768, 1114, 1114,-32768, +-32768,-32768, 583, 27,-32768, 590, 1114, 4066, 4089, 4112, +-32768,-32768,-32768, 1114,-32768, -74, 769, 580, 592, 757, + 597, 3256, 761, 596, 602,-32768,-32768,-32768, 1114,-32768, +-32768,-32768, 3280,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 1114,-32768,-32768,-32768,-32768, +-32768,-32768, 1114, 1114, 1114, 225, 225, 1114, 631, 603, + 605, 606, 607, 613, 622, 623, 624, 625, 626, 628, + 630, 632, 633, 634, 635, 636, 637, 638, 640, 641, + 642, 643, 644, 645, 649, 650, 651, 652, 655, 795, +-32768, 658,-32768, 656, 3304, -1,-32768, 543, 543, 820, + 543,-32768, 822,-32768, 543, 543, 1114, 1114,-32768, 1341, + 659, 824, 826, 839, 352, 841, 842, 863, 864, 865, + 866, 867, 98, 4135, 4158,-32768,-32768, 2127, -1, -1, + -1, 1364,-32768, 707, 720, 721, 722, 738, 739, 740, + 747, 751, 771, 774, 775, 877,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1114, 1114, + 543, 1114, 878, 543, 6, 285, 879, 3328, 3352, 3376, + 3400, 6366, 777, 881, 1114, 1114, -1, 884, 907, 755, + 908, 913, 543, 543, 915, -1, 943, 944, 543, 543, + 945, 946, 947, 948, 949, 543, 391, 543, 950, 951, + 952, 955, 956,-32768, 954, 359, 957, 1, 11, 963, + 543, 973, 543, 975, 977, 1623, 1599,-32768,-32768, 1114, + 543, 543, 543,-32768, 231, 543, 543, 543, 543, 543, + 543, 543, 1114, 1114, 1114, 791, -129, -124, 139,-32768, + 1779, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114,-32768, 4181, 4204, 978, 3424, 146, 903, + 99, 813, 1114,-32768, 1114,-32768,-32768,-32768,-32768, 1114, + 818, 4227, 4250, -55, 821, 819, 823, 825, 828, 829, + 832, 833, -16, 835, 836, 837, 852, 853, 854, 855, + 856, 857, 838,-32768,-32768,-32768,-32768,-32768, 858, 859, + 861, 868, 869, 862, 872,-32768, 873,-32768,-32768,-32768, + -1,-32768, 985,-32768, 988,-32768,-32768, 1114, 4273, 992, + 999, 1027, 1114, 1114, 1028, 1029, 1030, 1037, 1038, 1065, + 1075, 2147, 3448, 1885, 350, -1, 1076, -1, 1079, -1, + -2, 1080, 4296, 4319, 4342, 4365, 4388, 4411, 4434, 4457, + 4480, 4503, 4526, 4549, 1114, 1114,-32768, 1081, 543, 543, + 1005, 543, 325, 609, 609, 1114, 1114, 1083, 1084, 1087, + 3472, 212, 1036, 1089, 1114, 543, 1088, 1092, 1091, 934, + 1093, 391, 1094, 1095, 1114, 1096, 1098, 1106, 1107, 1111, + 391, 1114, 1114, 1114, 543, 1109, 1113, 391, 1114, 1116, + 1146, 1153, 1114, 359, 62,-32768,-32768, 6366, 1114,-32768, +-32768,-32768, 1383, 1404,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 989,-32768, 1114,-32768, 991, 131,-32768, 144,-32768, + 147,-32768, -28,-32768, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 4572, 4595, 146, 149, +-32768, 143, 990, 1085, 1004, 1172, 609, 609, 1114, 1462, + 90, 1487, 92, 1510, 94, 1529, 1550,-32768,-32768, 1173, +-32768, 1182, 1036, 1009, 4618, 1033,-32768, 1034,-32768, 1040, +-32768, 1035,-32768, 1042, 3496,-32768, 1043,-32768,-32768, 1044, + 1045, 3520, 4641, 3544, 1047,-32768, 1057, 1059, 4664, 1062, + 1063,-32768, 4687, 1066,-32768, 4710,-32768,-32768, 350, 1952, +-32768, 1114, 1114, 1114, 1192, 1061, -42,-32768, 4733, 4756, + 4779, 4802, 4825, 4848, 4871, 4894, 4917, 4940, 4963, 4986, + 1114, 1114, 1117, 543,-32768,-32768, 543, 1114, 1202,-32768, + 2392,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 23, +-32768, 1720, 1201, 146, 391, 1210, 1114, 1236, 391, 1246, + 1250, 1248, 1251, 1254, 1114, 1255, 543, 1256, 1257, 1114, + 1253, 1264, 1114, 1268, 1269, 1103, 1114,-32768, 2167, 2187, + 2207,-32768, 543, 1270,-32768, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 2227, 2247, 1108, +-32768, 1112, 1569, 87, 1104, 1438, 1274, 1114,-32768, 1115, + 1118, 1120, 5009,-32768, 1121,-32768, 1122,-32768,-32768,-32768, + 3568,-32768, 1133,-32768,-32768, 3592, 1134,-32768, 3616, 1136, + 1139,-32768, 2267, 1277, 1279, 41, 1141,-32768, 5032, 5055, + 5078, 5101, 5124, 5147, 5170, 5193, 5216, 3640, 3664, 3688, + 1280, 1284, 543, 543,-32768, 1220, -127, 5239,-32768, 1036, + 391, 391, 391, 391, 1305, 1306, 1309, 391, 1310, 1311, + 1312, 1314, 1315,-32768,-32768,-32768,-32768, -28, 543, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,-32768,-32768, +-32768,-32768,-32768, 1161, 1160, 1162, 1114, 1114, 1036, 1164, + 1165, 1166, 1167,-32768,-32768,-32768, 1169,-32768,-32768,-32768, + 1170, 1171, -40, 1174, 5262, 5285, 5308, 5331, 5354, 5377, + 5400, 5423, 5446, 1175, 1177, 1181, 543, 1262, 1338, 2287, + 5469, 1750, 391, 391, 1339, 1347, 391, 1349, 1350, 1351, + 543, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1184, 1187,-32768,-32768, 1114, 1114, 1190, + 1191,-32768,-32768, 1203, 1204, 1189,-32768, 1199, 5492, 5515, + 5538, 5561, 5584, 5607, 5630, 5653, 5676, 226, 6366, 235, + 6366, 240, 6366, 1265, 1114, 1981, 1036, 391, 543, 1356, + 1369, 1370, 1371, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1372, 1114, 1373, 1114, 1378, 1215, 5699, + 1114,-32768, 1036, 1219, 1221,-32768,-32768,-32768,-32768, 5722, + 5745, 5768, 5791, 5814, 5837, 3712, 3736, 3760, 6366,-32768, + 6366,-32768, 6366,-32768, 1114, 1114, 2307, 2373, 391, 543, + 1114, 1114, 1114, 1114, 1114, 1114,-32768,-32768,-32768, 5860, + 2327,-32768, 1252, 1224, 1226, 5883, 5906, 5929, 5952, 5975, + 5998, 1225, 1228, 1229, 1114, 1395,-32768, 543, 391, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 2347,-32768, + 1233, 1235, 6021, 6044, 6067, 6090, 6113, 6136, 241, 6366, + 245, 6366, 246, 6366, 1397, 543, 1405, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1406, 1114, 1407, 1114, 1408,-32768, + 1258,-32768, 6159, 6182, 6205, 3784, 3808, 3832, 6366,-32768, + 6366,-32768, 6366,-32768, 543, 1114, 1114, 1114,-32768,-32768, +-32768, 1259, 6228, 6251, 6274, 1244, 1261, 1272, 543, 1114, + 1114, 1114, 1114, 1114, 1114, 1275, 6297, 6320, 6343, 251, + 6366, 257, 6366, 259, 6366, 391, 1114, 1114, 1114, 1114, + 1411, 1114, 1416, 1114, 1417, 1263, 3856, 3880, 3904, 6366, +-32768, 6366,-32768, 6366,-32768, 1418,-32768,-32768,-32768,-32768, + 1303, 1313, 1332, 1114, 1114, 1114, 279, 6366, 298, 6366, + 302, 6366, 1114, 1419, 1114, 1420, 1114, 1439, 6366,-32768, + 6366,-32768, 6366,-32768, 1446, 1485,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1534,-32768, - 996,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1480,-32768, + 941,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1536, 1538, - -281, 300, 1540,-32768,-32768,-32768,-32768,-32768, 469, -912, --32768,-32768,-32768, 1265,-32768,-32768, -756, -7,-32768, 1029, - -10,-32768, -111,-32768, -856, 775, 771,-32768,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1499, 1501, + -293, 234, 1502,-32768,-32768,-32768,-32768,-32768, 401, -932, +-32768,-32768,-32768, 1196,-32768,-32768, -771, -7,-32768, 1007, + -10,-32768, -111,-32768, -870, 736, 778,-32768,-32768 }; -#define YYLAST 6422 +#define YYLAST 6531 static const short yytable[] = { 102, - 244, 418, 122, 163, 942, 673, 125, 297, 721, 924, - 914, 7, 924, 991, 722, 925, 436, 436, 925, 1010, - 292, 111, 844, 104, 280, 281, 280, 281, 280, 281, - 147, 149, -1, 8, 105, 9, 748, 891, 750, 749, - 409, 751, 437, 437, 1082, 138, 900, 116, 139, 140, - 723, 141, 118, 907, 106, 119, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 199, 200, - 107, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 425, 426, 951, 210, 674, 280, 281, 143, 144, 108, - 192, 193, 194, 195, 211, 298, 210, 752, 145, 210, - 753, 146, -228, 1015, 1102, -227, 160, 246, 171, 161, - 249, 250, 251, 252, 123, 254, 255, 124, 257, 258, - 259, 126, 263, 990, 924, 520, 1145, 109, 521, 293, - 925, 275, 110, 277, 112, 775, 164, 278, 279, 284, - 10, 11, 12, 13, 14, 15, 16, 17, 113, 207, - 208, 209, 446, 447, 296, 210, 299, 114, 301, 280, - 281, 280, 281, 558, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 438, 442, 1011, 845, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 1016, 991, 75, 76, 1020, 1083, - 117, 115, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 280, 281, 280, 281, 280, 281, 280, - 281, 280, 281, 280, 281, 386, 280, 281, 389, 282, - 129, 283, 393, 545, 789, 419, 398, 399, 400, 798, - 402, 403, 404, 405, 406, 407, 408, 502, 503, 412, - 413, 776, 777, 778, 779, 280, 281, 420, 421, 422, - 120, 428, 121, 40, 41, 42, 43, 645, 45, 151, - 434, 127, 152, 153, 780, 781, 445, 546, 547, 548, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 1105, - 1106, 1107, 1108, 128, -7, -7, 1112, -7, 468, 469, - 75, 76, 867, 130, 735, 736, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 943, 944, 137, - 196, 197, 198, 199, 200, 131, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 280, 281, 100, 210, 134, - 135, 101, 136, 507, 260, 280, 281, 921, 280, 281, - 771, 1165, 1166, 772, 132, 1169, 943, 922, 522, 945, - 923, 1208, 1210, 527, 1209, 1211, 1212, 1309, 535, 1213, - 1310, 133, 536, 537, 754, 326, 327, 207, 208, 209, - 142, 540, 1311, 210, 1313, 1312, 1365, 1314, 544, 1366, - 150, 154, -7, -7, -7, -7, -7, -7, -7, -7, - 155, 1367, 1369, 578, 1368, 1370, 1219, 706, 707, 708, - 709, 710, 1398, 675, 1400, 1399, 156, 1401, 1, 2, - 580, 3, 1402, 288, 158, 1403, 291, 581, 582, 583, - 157, 159, 584, 162, 165, 838, 636, 167, 166, 168, - 169, 170, 172, 173, 868, 869, 171, 174, 175, 176, - 245, 100, 247, 177, 178, 870, 179, 1259, 146, 180, - 181, 182, 183, 184, 185, 186, 187, 620, 188, 189, - 190, 191, 242, 248, 253, 256, 719, 637, 265, 264, - 266, 628, 629, 289, 268, 270, 269, 1287, 271, 272, - 273, 274, 303, 305, 304, 285, 286, 75, 76, 287, - 649, 650, 651, 77, 78, 79, 80, 81, 82, 83, + 250, 436, 148, 862, 121, 169, 739, 127, 963, 691, + 309, 130, 216, 216, 1015, 945, 740, 945, -236, -235, + 7, 946, 454, 946, 454, 304, 1035, 292, 293, 945, + 153, 155, 292, 293, 104, 946, 105, 292, 293, 766, + 912, 1127, 767, 106, 768, 177, 1107, 769, 455, 921, + 455, 294, 741, 292, 293, 107, 928, 25, 26, 27, + 28, 29, 30, 31, 32, 426, 33, 935, 35, 36, + 108, 38, 39, 292, 293, 109, 338, 339, 213, 214, + 215, 110, 292, 293, 216, 443, 444, 295, 692, 51, + 198, 199, 200, 201, 217, 973, 563, 975, 310, 977, + 111, 292, 293, 52, 53, 793, 112, 252, 253, 254, + 255, 256, 257, 1040, 807, 260, 261, 262, 263, 128, + 265, 266, 129, 268, 269, 270, 131, 274, 113, 1014, + 123, 1170, 166, 124, 305, 167, 286, 114, 170, 289, + 292, 293, 125, 290, 291, 296, 157, 115, 126, 158, + 159, 292, 293, 816, 132, 149, 150, 292, 293, 60, + 308, 133, 311, 437, 313, 134, 151, 122, 863, 152, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 456, 135, 460, 1036, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 1015, 1108, 136, 1041, 75, 76, 137, 1045, 292, 293, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 794, 795, 796, 797, 138, 292, 293, 292, 293, + 292, 293, 464, 465, 292, 293, 403, 139, 140, 406, + 141, 520, 521, 410, 798, 799, 663, 415, 416, 417, + 147, 419, 420, 421, 422, 423, 424, 425, 753, 754, + 142, 430, 431, 116, 117, 118, 119, 292, 293, 438, + 439, 440, 693, 446, 538, 292, 293, 539, 156, 942, + 292, 293, 452, 292, 293, 160, 120, 770, 463, 161, + 771, 964, 943, 789, 966, 944, 790, 964, 965, 1130, + 1131, 1132, 1133, 162, 163, 164, 1137, 75, 885, 886, + 486, 487, 165, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 210, 345, 346, 375, 347, 348, - 349, 350, 351, 667, 668, 352, 670, 353, 441, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 686, 684, - 685, 210, 196, 197, 198, 199, 200, 695, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 354, 355, 356, - 210, 357, 380, 377, 1371, 676, 358, 196, 197, 198, - 199, 200, 359, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 360, 361, 731, 210, 362, 363, 396, 364, - 365, 401, 366, 430, 367, 368, 982, 744, 745, 746, - 369, 370, 371, 431, 433, 372, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 373, 374, - 472, 473, 378, 379, 381, 474, 495, 783, 475, 784, - 476, 477, 478, 479, 785, 480, 481, 482, 483, 484, - 485, 98, 99, 486, 487, 488, 489, 490, 100, 491, - 492, 493, 101, 494, 496, 260, 497, 498, 499, 500, - 501, 508, 504, 506, 913, 505, 509, 196, 197, 198, - 199, 200, 817, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 820, 510, 511, 210, 513, 825, 826, 514, - 516, 538, 517, 518, 523, 573, 539, 839, 571, 841, - 572, 843, 574, 196, 197, 198, 199, 200, 576, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 577, 859, - 860, 210, 117, 585, 872, 616, 586, 871, 873, 874, - 875, 876, 587, 588, 589, 590, 591, 882, 592, 884, - 593, 594, 595, 596, 597, 598, 599, 600, 601, 894, - 617, 602, 623, 631, 603, 625, 901, 902, 903, 604, - 471, 605, 606, 908, 607, 632, 608, 912, 196, 197, - 198, 199, 200, 915, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 609, 633, 634, 210, 610, 919, 635, - 638, 611, 639, 612, 640, 641, 642, 643, 613, 928, - 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, - 939, 644, 614, 666, 682, 671, 615, 677, 277, 618, - 192, 193, 949, 714, 683, 687, 652, 688, 689, 75, - 76, 654, 655, 656, 958, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 690, 916, 657, 262, - 658, 659, 660, 661, 267, 662, 663, 664, 665, 691, - 694, 696, 697, 985, 986, 987, 700, 917, 701, 702, - 703, 704, 713, 747, 716, 715, 290, 717, 718, 720, - 294, 295, 1004, 1005, 196, 197, 198, 199, 200, 1009, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 724, - 726, 728, 210, 729, 769, 1018, 774, 782, 786, 790, - 818, 791, 792, 1026, 793, 794, 819, 795, 1031, 796, - 797, 1034, 799, 822, 800, 1038, 801, 950, 802, 803, - 804, 805, 806, 807, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 808, 823, 824, 827, - 809, 810, 811, 1063, 812, 1065, 813, 196, 197, 198, - 199, 200, 814, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 815, 868, 869, 210, 816, 828, 829, 830, - 100, 831, 832, 833, 870, 840, 842, 146, 196, 197, - 198, 199, 200, 846, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 861, 865, 877, 210, 1104, 196, 197, - 198, 199, 200, 878, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 886, 879, 952, 210, 1120, 1121, 1122, - 1123, 1124, 1125, 1126, 1127, 1128, 883, 887, 888, 889, - 947, 75, 76, 890, 1135, 1136, 1137, 77, 78, 79, + 94, 95, 96, 97, 168, 171, 172, 654, 202, 203, + 204, 205, 206, 173, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 174, 143, 100, 216, 144, 145, 101, + 146, 175, 271, 213, 214, 215, 177, 176, 178, 216, + 525, 1190, 1191, 300, 1233, 1194, 303, 1234, 655, 40, + 41, 42, 43, 1235, 45, 540, 1236, 251, 1237, 1334, + 545, 1238, 1335, 1336, 1338, 553, 1337, 1339, 258, 1390, + 554, 555, 1391, -1, 8, 1392, 9, 1394, 1393, 558, + 1395, 202, 203, 204, 205, 206, 562, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 1244, 1423, 179, 216, + 1424, 596, 205, 206, 694, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 180, 259, 1425, 216, 598, 1426, + 1427, 856, 287, 1428, 181, 599, 600, 601, 182, 183, + 602, 887, 888, 724, 725, 726, 727, 728, 100, 184, + 185, 186, 889, 187, 188, 152, 189, 1284, 202, 203, + 204, 205, 206, 190, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 191, 192, 638, 216, 301, 193, 275, + 315, 194, 195, 196, 737, 197, 248, 1312, 264, 646, + 647, 10, 11, 12, 13, 14, 15, 16, 17, 267, + 276, 277, 281, 282, 317, 75, 76, 283, 667, 668, + 669, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 279, 284, 280, 285, 216, 297, 316, 298, + 299, 685, 686, 357, 688, 358, 459, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 704, 702, 703, 216, + 359, 360, 387, 361, 362, 713, 363, 364, 365, 366, + 367, 75, 885, 368, 1396, 369, 370, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 196, 197, - 198, 199, 200, 892, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 893, 895, 896, 210, 897, 899, 1174, - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1184, 1186, - 1188, 898, 75, 1062, 905, 1191, 1192, 906, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 909, - 910, 911, 1215, 918, 1218, 920, 946, 948, 959, 956, - 957, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, - 1234, 961, 1236, 962, 1238, 963, 988, 965, 1242, 964, - 1243, 967, 989, 968, 969, 974, 196, 197, 198, 199, - 200, 973, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 975, 1255, 1256, 210, 977, 1014, 980, 1261, 1262, - 1263, 1264, 1265, 1266, 978, 98, 99, 1006, 1017, 1019, - 1021, 1022, 100, 1023, 1059, 1024, 101, 1025, 1027, 1029, - 1030, 1032, 1284, 1033, 1035, 1036, 1037, 1288, 1289, 1290, - 1291, 1292, 1293, 1295, 1297, 1299, 1043, 1058, 1061, 1064, - 621, 622, 1066, 624, 1067, 1068, 1080, 626, 627, 1070, - 1071, 1073, 1081, 1075, 1077, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1078, 1326, 953, 1328, 98, 99, 1084, 1097, - 1098, 1101, 1109, 100, 1110, 1111, 1113, 101, 1114, 1115, - 1116, 1117, 1132, 1338, 1339, 1340, 954, 1133, 1138, 1134, - 1139, 1156, 1140, 1141, 1160, 1142, 1143, 1352, 1353, 1354, - 1356, 1358, 1360, 669, 1157, 955, 672, 1144, 1146, 1161, - 1167, 1158, 1168, 1170, 1372, 1373, 1374, 1375, 1171, 1377, - 1172, 1379, 1189, 1190, 1060, 692, 693, 1193, 1194, 1197, - 1214, 698, 699, 1195, 1196, 1221, 1222, 1198, 705, 1223, - 712, 1393, 1395, 1397, 1224, 470, 1235, 1237, 1239, 1240, - 1404, 1244, 1406, 725, 1408, 727, 1245, 1281, 1272, 1285, - 1273, 1274, 1301, 732, 733, 734, 1282, 1283, 737, 738, - 739, 740, 741, 742, 743, 1315, 1302, 75, 76, 1317, - 1381, 1325, 1327, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 519, 196, 197, 198, 199, 200, - 1329, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 1348, 1330, 1344, 210, 730, 1349, 1350, 196, 197, 198, - 199, 200, 1376, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 1378, 1361, 1380, 210, 196, 197, 198, 199, - 200, 1385, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 1389, 1390, 1391, 210, 196, 197, 198, 199, 200, - 1405, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 1407, 1409, 1411, 210, 196, 197, 198, 199, 200, 1412, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 62, - 653, 65, 210, 66, 866, 67, 864, 0, 630, 0, - 0, 1118, 0, 0, 881, 0, 0, 0, 885, 0, - 0, 196, 197, 198, 199, 200, 443, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 0, 904, 100, 210, - 0, 0, 101, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 25, 26, 27, 28, 29, 30, 31, 32, - 0, 33, 0, 35, 36, 0, 38, 39, 25, 26, - 27, 28, 29, 30, 31, 32, 0, 33, 0, 35, - 36, 0, 38, 39, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 52, 53, 0, 0, 0, 0, + 90, 91, 92, 93, 94, 95, 96, 97, 371, 372, + 373, 374, 749, 375, 376, 1006, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 762, 763, 764, 386, 390, + 389, 391, 398, 413, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 418, 427, 448, 449, + 451, 490, 491, 492, 493, 801, 494, 802, 495, 496, + 497, 498, 803, 499, 500, 501, 502, 503, 504, 98, + 99, 505, 506, 507, 508, 509, 100, 510, 511, 512, + 101, 513, 514, 271, 515, 516, 517, 518, 519, 526, + 522, 524, 934, 523, 527, 202, 203, 204, 205, 206, + 835, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 838, -7, -7, 216, -7, 843, 844, 528, 532, 392, + 589, 529, 531, 534, 556, 857, 535, 859, 536, 861, + 541, 557, 590, 591, 592, 887, 888, 594, 595, 122, + 603, 604, 100, 605, 606, 607, 889, 877, 878, 152, + 488, 608, 891, 893, 895, 890, 892, 894, 896, 897, + 609, 610, 611, 612, 613, 903, 614, 905, 615, 634, + 616, 617, 618, 619, 620, 621, 622, 915, 623, 624, + 625, 626, 627, 628, 922, 923, 924, 629, 630, 631, + 632, 929, 393, 633, 636, 933, 641, 635, 643, 650, + 651, 936, 652, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 653, 940, 656, 657, -7, + -7, -7, -7, -7, -7, -7, -7, 949, 950, 951, + 952, 953, 954, 955, 956, 957, 958, 959, 960, 658, + 659, 660, 661, 662, 672, 1, 2, 289, 3, 198, + 199, 971, 684, 701, 689, 695, 705, 673, 674, 675, + 202, 203, 204, 205, 206, 982, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 676, 677, 678, 216, 706, + 708, 273, 700, 707, 679, 709, 278, 712, 680, 202, + 203, 204, 205, 206, 394, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 1009, 1010, 1011, 216, 681, 302, + 576, 682, 683, 306, 307, 714, 715, 718, 719, 720, + 721, 722, 731, 1028, 1029, 732, 733, 734, 735, 736, + 1033, 765, 738, 202, 203, 204, 205, 206, 742, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 744, 1043, + 746, 216, 747, 787, 792, 800, 804, 1051, 809, 808, + 836, 810, 1056, 837, 811, 1059, 812, 840, 813, 1063, + 814, 815, 395, 817, 841, 818, 819, 826, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, + 820, 821, 822, 823, 824, 825, 827, 828, 1088, 829, + 1090, 832, 842, 845, 846, 847, 830, 831, 75, 76, + 833, 834, 848, 849, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 202, 203, 204, 205, 206, + 850, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 851, 858, 1129, 216, 860, 864, 883, 879, 898, 899, + 900, 904, 910, 907, 908, 396, 909, 914, 911, 913, + 917, 916, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, + 1153, 918, 919, 920, 926, 927, 75, 76, 930, 1160, + 1161, 1162, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 202, 203, 204, 205, 206, 931, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 932, 939, + 967, 216, 941, 968, 1199, 1200, 1201, 1202, 1203, 1204, + 1205, 1206, 1207, 1209, 1211, 1213, 969, 970, 983, 980, + 1216, 1217, 202, 203, 204, 205, 206, 981, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 1012, 1030, 100, + 216, 985, 986, 101, 988, 1034, 1039, 1240, 987, 1243, + 989, 991, 1042, 992, 993, 997, 1250, 1251, 1252, 1253, + 1254, 1255, 1256, 1257, 1258, 1259, 998, 1261, 999, 1263, + 1001, 1013, 1002, 1267, 1004, 1268, 202, 203, 204, 205, + 206, 1044, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 1046, 1047, 1048, 216, 1057, 1049, 1280, 1281, 1050, + 1052, 1054, 1055, 1286, 1287, 1288, 1289, 1290, 1291, 1058, + 98, 99, 1060, 1061, 1062, 1068, 1086, 100, 1083, 1089, + 1084, 101, 1105, 1091, 1106, 1122, 1092, 1309, 1093, 1123, + 1095, 1096, 1313, 1314, 1315, 1316, 1317, 1318, 1320, 1322, + 1324, 1098, 1126, 1100, 1102, 639, 640, 1103, 642, 1109, + 1134, 1135, 644, 645, 1136, 1138, 1139, 1140, 1141, 1142, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 397, 1351, 1157, + 1353, 1158, 1163, 1164, 1159, 1165, 1166, 1167, 1168, 1169, + 1185, 1186, 1171, 1239, 1192, 1181, 649, 1182, 1363, 1364, + 1365, 1183, 1193, 1195, 1196, 1214, 1197, 1215, 1218, 1219, + 1222, 1246, 1377, 1378, 1379, 1381, 1383, 1385, 687, 670, + 1223, 690, 1220, 1221, 1247, 1248, 1249, 1260, 1262, 1397, + 1398, 1399, 1400, 1264, 1402, 1265, 1404, 1269, 937, 1270, + 710, 711, 1298, 1297, 1299, 1306, 716, 717, 1307, 1308, + 1310, 1326, 1340, 723, 1327, 730, 1418, 1420, 1422, 938, + 1342, 1350, 1352, 1354, 1373, 1429, 1401, 1431, 743, 1433, + 745, 1403, 1405, 1410, 1430, 1432, 1355, 1369, 750, 751, + 752, 1374, 1406, 755, 756, 757, 758, 759, 760, 761, + 75, 1087, 1375, 1386, 1434, 1436, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 972, 202, 203, + 204, 205, 206, 1414, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 1415, 1437, 62, 216, 202, 203, 204, + 205, 206, 974, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 1416, 671, 65, 216, 66, 67, 1143, 461, + 202, 203, 204, 205, 206, 976, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 882, 0, 0, 216, 202, + 203, 204, 205, 206, 978, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 648, 0, 0, 216, 0, 0, + 202, 203, 204, 205, 206, 979, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 884, + 0, 0, 0, 0, 1085, 0, 0, 0, 0, 902, + 0, 0, 0, 906, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 99, 0, 0, 0, 0, + 0, 100, 925, 0, 0, 101, 537, 0, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 748, 0, 0, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 0, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 1031, 0, 0, 1032, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 202, + 203, 204, 205, 206, 1053, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 1067, 25, 26, 27, 28, 29, 30, 31, 32, 0, + 33, 0, 35, 36, 0, 38, 39, 0, 0, 0, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, - 0, 35, 36, 0, 38, 39, 0, 0, 0, 0, - 0, 0, 0, 1007, 0, 0, 1008, 0, 0, 0, - 0, 0, 51, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 52, 53, 0, 0, - 60, 0, 0, 1028, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -3, 22, 0, 0, 23, 1258, 1042, - 0, 0, 0, 423, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 427, - 0, 0, 210, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 60, 33, 34, 35, 36, 37, 38, 39, - 0, 0, 0, 40, 41, 42, 43, 44, 45, 0, - 46, 47, 48, 49, 50, 0, 51, 0, 0, 0, - 0, 0, 0, 0, 212, 0, 0, 0, 1099, 1100, - 52, 53, 0, 0, 0, 0, 0, 54, 55, 56, - 57, 58, 59, 0, 1013, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1119, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, - 213, 214, 215, 0, 0, 0, 60, 0, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 0, 0, - 0, 0, 1159, 0, 0, 0, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 1173, 236, 237, 238, - 239, 240, 241, 1164, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 0, 0, 0, 196, - 197, 198, 199, 200, 1220, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 836, 0, 0, 837, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 983, 0, 0, - 984, 0, 0, 0, 0, 1260, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1216, 0, - 0, 1217, 0, 1286, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 0, 0, 0, 383, - 0, 1316, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 0, 0, 0, 388, 0, 0, - 1337, 0, 0, 0, 0, 0, 0, 0, 0, 196, - 197, 198, 199, 200, 1351, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 390, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 524, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 528, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 529, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 648, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 834, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1039, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1040, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1041, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1056, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1057, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1079, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1162, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1257, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1271, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 196, - 197, 198, 199, 200, 1300, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 410, 328, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 328, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 382, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 384, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 385, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 387, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 391, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 392, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 397, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 432, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 435, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 448, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 449, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 450, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 451, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 452, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 453, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 454, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 455, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 456, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 457, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 459, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 460, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 461, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 462, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 463, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 464, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 512, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 515, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 525, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 526, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 530, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 531, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 532, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 533, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 534, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 575, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 579, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 619, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 678, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 679, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 680, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 681, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 770, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 835, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 880, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 966, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 970, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 972, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 1072, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 1074, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 1076, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 1094, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 1095, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 1096, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 1252, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 1253, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 1254, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 1334, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 0, 1335, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 0, 1336, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 0, 1382, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 0, - 1383, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 0, 1384, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 410, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 411, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 458, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 465, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 466, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 467, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 541, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 542, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 543, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 646, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 647, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 767, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 768, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 787, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 788, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 821, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 847, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 848, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 849, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 850, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 851, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 852, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 853, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 854, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 855, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 856, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 857, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 858, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 940, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 941, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 960, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 971, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 976, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 979, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 981, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 992, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 993, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 994, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 995, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 996, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 997, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 998, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 999, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1000, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1001, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1002, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1003, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1069, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1085, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1086, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1087, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1088, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1089, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1090, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1091, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1092, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1093, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1103, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1147, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1148, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1149, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1150, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1151, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1152, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1153, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1154, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1155, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1163, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1199, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1200, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1201, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1202, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1203, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1204, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1205, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1206, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1207, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1241, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1246, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1247, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1248, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1249, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1250, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1251, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1270, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1275, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1276, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1277, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1278, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1279, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1280, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1303, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1304, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1305, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1306, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1307, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210, 0, 0, 0, 1308, 196, 197, 198, 199, - 200, 0, 201, 202, 203, 204, 326, 327, 207, 208, - 209, 0, 0, 0, 210, 0, 0, 0, 1331, 196, - 197, 198, 199, 200, 0, 201, 202, 203, 204, 326, - 327, 207, 208, 209, 0, 0, 0, 210, 0, 0, - 0, 1332, 196, 197, 198, 199, 200, 0, 201, 202, - 203, 204, 326, 327, 207, 208, 209, 0, 0, 0, - 210, 0, 0, 0, 1333, 196, 197, 198, 199, 200, - 0, 201, 202, 203, 204, 326, 327, 207, 208, 209, - 0, 0, 0, 210, 0, 0, 0, 1345, 196, 197, - 198, 199, 200, 0, 201, 202, 203, 204, 326, 327, - 207, 208, 209, 0, 0, 0, 210, 0, 0, 0, - 1346, 196, 197, 198, 199, 200, 0, 201, 202, 203, - 204, 326, 327, 207, 208, 209, 0, 0, 0, 210, - 0, 0, 0, 1347, 196, 197, 198, 199, 200, 0, - 201, 202, 203, 204, 326, 327, 207, 208, 209, 0, - 0, 0, 210, 0, 0, 0, 1362, 196, 197, 198, - 199, 200, 0, 201, 202, 203, 204, 326, 327, 207, - 208, 209, 0, 0, 0, 210, 0, 0, 0, 1363, - 196, 197, 198, 199, 200, 0, 201, 202, 203, 204, - 326, 327, 207, 208, 209, 0, 0, 0, 210, 0, - 0, 0, 1364, 196, 197, 198, 199, 200, 0, 201, - 202, 203, 204, 326, 327, 207, 208, 209, 0, 0, - 0, 210 + 0, 35, 36, 51, 38, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, + 0, 0, 51, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 1038, 52, 53, 0, 0, + 1124, 1125, 0, 0, 0, 0, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 1189, 1144, 0, 0, 0, + 0, 0, 0, 60, 0, 0, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 60, 0, 216, 0, 0, 0, 0, 0, + 0, 0, -3, 22, 0, 0, 23, 0, 0, 0, + 0, 0, 441, 0, 1184, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, + 772, 445, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 33, 34, 35, 36, 37, 38, 39, 0, + 0, 0, 40, 41, 42, 43, 44, 45, 0, 46, + 47, 48, 49, 50, 0, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 218, 0, 1245, 0, 0, 52, + 53, 0, 0, 0, 489, 0, 54, 55, 56, 57, + 58, 59, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 1285, 0, 216, + 219, 220, 221, 854, 0, 60, 855, 0, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 0, 0, + 0, 0, 0, 0, 0, 1311, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 0, 242, 243, 244, + 245, 246, 247, 0, 0, 0, 0, 0, 202, 203, + 204, 205, 206, 1341, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1007, 0, 0, 1008, 0, 0, 0, 202, 203, 204, + 205, 206, 1362, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 1376, 0, 0, 1241, + 0, 0, 1242, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 400, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 405, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 407, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 542, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 546, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 547, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 666, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 852, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1064, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1065, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1066, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1081, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1082, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1104, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1187, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1282, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 202, 203, 204, 205, 206, 1296, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 1283, 0, 0, 0, 0, 1325, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 428, 340, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 340, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 399, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 401, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 402, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 404, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 408, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 409, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 414, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 450, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 453, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 466, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 467, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 468, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 469, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 470, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 471, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 472, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 473, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 474, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 475, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 477, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 478, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 479, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 480, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 481, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 482, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 530, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 533, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 543, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 544, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 548, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 549, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 550, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 551, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 552, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 593, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 597, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 637, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 696, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 697, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 698, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 699, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 788, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 853, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 901, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 990, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 994, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 996, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 1097, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 1099, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 1101, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 1119, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 1120, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 1121, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 1277, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 1278, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 1279, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 1359, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 0, 1360, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 0, 1361, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 0, 1407, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 0, 1408, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 0, 1409, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 428, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 429, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 476, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 483, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 484, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 485, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 559, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 560, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 561, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 664, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 665, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 785, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 786, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 805, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 806, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 839, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 865, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 866, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 867, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 868, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 869, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 870, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 871, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 872, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 873, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 874, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 875, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 876, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 961, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 962, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 984, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 995, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1000, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1003, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1005, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1016, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1017, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1018, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1019, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1020, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1021, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1022, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1023, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1024, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1025, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1026, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1027, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1094, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1110, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1111, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1112, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1113, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1114, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1115, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1116, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1117, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1118, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1128, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1172, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1173, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1174, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1175, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1176, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1177, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1178, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1179, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1180, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1188, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1224, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1225, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1226, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1227, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1228, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1229, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1230, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1231, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1232, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1266, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1271, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1272, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1273, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1274, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1275, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1276, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1295, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1300, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1301, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1302, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1303, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1304, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1305, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1328, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1329, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1330, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1331, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1332, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216, 0, 0, 0, 1333, 202, 203, 204, 205, 206, + 0, 207, 208, 209, 210, 338, 339, 213, 214, 215, + 0, 0, 0, 216, 0, 0, 0, 1356, 202, 203, + 204, 205, 206, 0, 207, 208, 209, 210, 338, 339, + 213, 214, 215, 0, 0, 0, 216, 0, 0, 0, + 1357, 202, 203, 204, 205, 206, 0, 207, 208, 209, + 210, 338, 339, 213, 214, 215, 0, 0, 0, 216, + 0, 0, 0, 1358, 202, 203, 204, 205, 206, 0, + 207, 208, 209, 210, 338, 339, 213, 214, 215, 0, + 0, 0, 216, 0, 0, 0, 1370, 202, 203, 204, + 205, 206, 0, 207, 208, 209, 210, 338, 339, 213, + 214, 215, 0, 0, 0, 216, 0, 0, 0, 1371, + 202, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 339, 213, 214, 215, 0, 0, 0, 216, 0, + 0, 0, 1372, 202, 203, 204, 205, 206, 0, 207, + 208, 209, 210, 338, 339, 213, 214, 215, 0, 0, + 0, 216, 0, 0, 0, 1387, 202, 203, 204, 205, + 206, 0, 207, 208, 209, 210, 338, 339, 213, 214, + 215, 0, 0, 0, 216, 0, 0, 0, 1388, 202, + 203, 204, 205, 206, 0, 207, 208, 209, 210, 338, + 339, 213, 214, 215, 0, 0, 0, 216, 0, 0, + 0, 1389, 202, 203, 204, 205, 206, 0, 207, 208, + 209, 210, 338, 339, 213, 214, 215, 0, 0, 0, + 216 }; static const short yycheck[] = { 7, - 112, 283, 56, 35, 861, 4, 56, 80, 6, 58, - 6, 138, 58, 926, 6, 64, 4, 4, 64, 4, - 62, 168, 6, 6, 157, 158, 157, 158, 157, 158, - 41, 42, 0, 1, 7, 3, 169, 794, 169, 172, - 169, 172, 30, 30, 6, 31, 803, 5, 34, 35, - 42, 37, 168, 810, 6, 171, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 150, 151, - 6, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 6, 7, 6, 165, 83, 157, 158, 157, 158, 6, - 98, 99, 100, 101, 102, 168, 165, 169, 168, 165, - 172, 171, 171, 960, 169, 171, 31, 115, 173, 34, - 118, 119, 120, 121, 168, 123, 124, 171, 126, 127, - 128, 171, 130, 172, 58, 169, 172, 6, 172, 171, - 64, 142, 6, 144, 168, 7, 168, 145, 146, 150, - 108, 109, 110, 111, 112, 113, 114, 115, 168, 159, - 160, 161, 166, 167, 162, 165, 164, 6, 166, 157, - 158, 157, 158, 172, 172, 173, 174, 175, 176, 177, + 112, 295, 4, 6, 5, 35, 6, 56, 879, 4, + 80, 56, 165, 165, 947, 58, 6, 58, 171, 171, + 138, 64, 4, 64, 4, 62, 4, 157, 158, 58, + 41, 42, 157, 158, 6, 64, 7, 157, 158, 169, + 812, 169, 172, 6, 169, 173, 6, 172, 30, 821, + 30, 171, 42, 157, 158, 6, 828, 31, 32, 33, + 34, 35, 36, 37, 38, 169, 40, 6, 42, 43, + 6, 45, 46, 157, 158, 6, 157, 158, 159, 160, + 161, 6, 157, 158, 165, 6, 7, 171, 83, 63, + 98, 99, 100, 101, 102, 6, 171, 6, 168, 6, + 168, 157, 158, 77, 78, 7, 168, 115, 116, 117, + 118, 119, 120, 984, 170, 123, 124, 125, 126, 168, + 128, 129, 171, 131, 132, 133, 171, 135, 168, 172, + 168, 172, 31, 171, 171, 34, 147, 6, 168, 150, + 157, 158, 168, 151, 152, 156, 31, 7, 168, 34, + 35, 157, 158, 170, 168, 157, 158, 157, 158, 133, + 168, 168, 170, 169, 172, 39, 168, 168, 171, 171, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 172, 172, 171, 171, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 961, 1118, 3, 4, 965, 171, - 168, 7, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 157, 158, 157, 158, 157, 158, 157, - 158, 157, 158, 157, 158, 253, 157, 158, 256, 171, - 39, 171, 260, 171, 170, 169, 264, 265, 266, 170, - 268, 269, 270, 271, 272, 273, 274, 169, 170, 280, - 281, 143, 144, 145, 146, 157, 158, 285, 286, 287, - 168, 292, 168, 50, 51, 52, 53, 169, 55, 31, - 298, 168, 34, 35, 166, 167, 304, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 1066, - 1067, 1068, 1069, 168, 0, 1, 1073, 3, 326, 327, - 3, 4, 5, 168, 48, 49, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 169, 170, 37, - 147, 148, 149, 150, 151, 35, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 157, 158, 164, 165, 34, - 35, 168, 37, 381, 171, 157, 158, 169, 157, 158, - 168, 1138, 1139, 171, 35, 1142, 169, 169, 396, 172, - 169, 169, 169, 401, 172, 172, 169, 169, 409, 172, - 172, 35, 410, 411, 172, 157, 158, 159, 160, 161, - 171, 419, 169, 165, 169, 172, 169, 172, 426, 172, - 171, 171, 108, 109, 110, 111, 112, 113, 114, 115, - 5, 169, 169, 441, 172, 172, 1193, 93, 94, 95, - 96, 97, 169, 8, 169, 172, 35, 172, 134, 135, - 458, 137, 169, 154, 6, 172, 157, 465, 466, 467, - 171, 5, 470, 168, 171, 747, 6, 171, 168, 6, - 5, 35, 168, 168, 157, 158, 173, 168, 168, 168, - 5, 164, 6, 168, 168, 168, 168, 1244, 171, 168, - 168, 168, 168, 168, 168, 168, 168, 508, 168, 168, - 168, 168, 168, 5, 168, 168, 618, 47, 168, 171, - 168, 519, 520, 6, 171, 168, 171, 1274, 168, 168, - 168, 168, 6, 4, 168, 171, 171, 3, 4, 171, - 541, 542, 543, 9, 10, 11, 12, 13, 14, 15, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 172, 168, 172, 171, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 1143, 171, 35, 985, 3, 4, 35, 989, 157, 158, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 143, 144, 145, 146, 35, 157, 158, 157, 158, + 157, 158, 166, 167, 157, 158, 264, 34, 35, 267, + 37, 169, 170, 271, 166, 167, 169, 275, 276, 277, + 171, 279, 280, 281, 282, 283, 284, 285, 48, 49, + 37, 292, 293, 143, 144, 145, 146, 157, 158, 297, + 298, 299, 8, 304, 169, 157, 158, 172, 171, 169, + 157, 158, 310, 157, 158, 171, 166, 169, 316, 5, + 172, 169, 169, 168, 172, 169, 171, 169, 170, 1091, + 1092, 1093, 1094, 35, 171, 6, 1098, 3, 4, 5, + 338, 339, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 165, 168, 168, 5, 168, 168, - 168, 168, 168, 571, 572, 168, 574, 168, 8, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 589, 587, - 588, 165, 147, 148, 149, 150, 151, 598, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 168, 168, 168, - 165, 168, 6, 169, 1361, 170, 168, 147, 148, 149, - 150, 151, 168, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 168, 168, 632, 165, 168, 168, 7, 168, - 168, 7, 168, 7, 168, 168, 918, 645, 646, 647, - 168, 168, 168, 7, 81, 168, 654, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 168, 168, - 5, 5, 170, 169, 169, 5, 126, 675, 5, 677, - 5, 5, 5, 5, 682, 5, 5, 5, 5, 5, - 5, 157, 158, 5, 5, 5, 5, 5, 164, 5, - 5, 5, 168, 5, 5, 171, 5, 5, 5, 3, - 5, 7, 5, 5, 816, 6, 6, 147, 148, 149, - 150, 151, 723, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 730, 7, 7, 165, 7, 735, 736, 6, - 6, 172, 7, 7, 7, 7, 172, 748, 171, 750, - 171, 752, 168, 147, 148, 149, 150, 151, 7, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 173, 767, - 768, 165, 168, 140, 775, 5, 169, 775, 776, 777, - 778, 779, 169, 169, 169, 169, 169, 785, 169, 787, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 797, - 170, 169, 7, 6, 169, 7, 804, 805, 806, 169, - 139, 169, 169, 811, 169, 171, 169, 815, 147, 148, - 149, 150, 151, 821, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 169, 7, 7, 165, 169, 836, 7, - 7, 169, 7, 169, 7, 7, 7, 7, 169, 847, - 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, - 858, 7, 169, 6, 136, 7, 169, 7, 869, 169, - 868, 869, 870, 5, 3, 3, 6, 3, 159, 3, - 4, 168, 168, 168, 882, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 3, 6, 168, 129, - 168, 168, 168, 168, 134, 168, 168, 168, 168, 3, - 3, 3, 3, 921, 922, 923, 3, 6, 3, 3, - 3, 3, 3, 171, 3, 5, 156, 3, 6, 6, - 160, 161, 940, 941, 147, 148, 149, 150, 151, 947, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 6, - 6, 6, 165, 6, 6, 963, 82, 173, 169, 169, - 6, 170, 169, 971, 170, 169, 6, 170, 976, 169, - 169, 979, 169, 6, 170, 983, 170, 6, 169, 169, - 169, 169, 169, 169, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 170, 6, 6, 6, - 169, 169, 169, 1011, 169, 1013, 169, 147, 148, 149, - 150, 151, 170, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 169, 157, 158, 165, 169, 6, 6, 6, - 164, 6, 6, 6, 168, 6, 6, 171, 147, 148, - 149, 150, 151, 6, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 7, 82, 6, 165, 1065, 147, 148, - 149, 150, 151, 6, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 6, 4, 6, 165, 1085, 1086, 1087, - 1088, 1089, 1090, 1091, 1092, 1093, 3, 3, 6, 159, - 79, 3, 4, 6, 1102, 1103, 1104, 9, 10, 11, + 26, 27, 28, 29, 168, 171, 168, 6, 147, 148, + 149, 150, 151, 171, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 6, 31, 164, 165, 34, 35, 168, + 37, 5, 171, 159, 160, 161, 173, 35, 168, 165, + 398, 1163, 1164, 160, 169, 1167, 163, 172, 47, 50, + 51, 52, 53, 169, 55, 413, 172, 5, 169, 169, + 418, 172, 172, 169, 169, 426, 172, 172, 6, 169, + 428, 429, 172, 0, 1, 169, 3, 169, 172, 437, + 172, 147, 148, 149, 150, 151, 444, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 1218, 169, 168, 165, + 172, 459, 150, 151, 170, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 168, 5, 169, 165, 476, 172, + 169, 765, 173, 172, 168, 483, 484, 485, 168, 168, + 488, 157, 158, 93, 94, 95, 96, 97, 164, 168, + 168, 168, 168, 168, 168, 171, 168, 1269, 147, 148, + 149, 150, 151, 168, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 168, 168, 526, 165, 6, 168, 171, + 6, 168, 168, 168, 636, 168, 168, 1299, 168, 537, + 538, 108, 109, 110, 111, 112, 113, 114, 115, 168, + 168, 168, 168, 168, 4, 3, 4, 168, 559, 560, + 561, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 171, 168, 171, 168, 165, 171, 168, 171, + 171, 589, 590, 168, 592, 168, 8, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 607, 605, 606, 165, + 168, 168, 5, 168, 168, 616, 168, 168, 168, 168, + 168, 3, 4, 168, 1386, 168, 168, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 147, 148, - 149, 150, 151, 6, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 3, 6, 3, 165, 6, 3, 1147, - 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, - 1158, 6, 3, 4, 6, 1163, 1164, 3, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, - 3, 6, 1190, 171, 1192, 172, 171, 6, 170, 7, - 6, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, - 1208, 169, 1210, 169, 1212, 169, 6, 169, 1216, 170, - 1218, 169, 171, 170, 170, 170, 147, 148, 149, 150, - 151, 169, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 170, 1240, 1241, 165, 169, 6, 169, 1246, 1247, - 1248, 1249, 1250, 1251, 170, 157, 158, 82, 3, 6, - 6, 3, 164, 6, 169, 6, 168, 6, 6, 6, - 6, 3, 1270, 6, 5, 5, 172, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 6, 171, 173, 6, - 510, 511, 169, 513, 169, 169, 6, 517, 518, 170, - 170, 169, 6, 170, 169, 1303, 1304, 1305, 1306, 1307, - 1308, 1309, 169, 1311, 6, 1313, 157, 158, 169, 6, - 6, 83, 6, 164, 6, 6, 6, 168, 6, 6, - 5, 5, 169, 1331, 1332, 1333, 6, 172, 169, 173, - 169, 171, 170, 170, 79, 169, 169, 1345, 1346, 1347, - 1348, 1349, 1350, 573, 171, 6, 576, 169, 169, 4, - 6, 171, 6, 5, 1362, 1363, 1364, 1365, 5, 1367, - 6, 1369, 172, 171, 6, 595, 596, 169, 169, 172, - 79, 601, 602, 170, 170, 6, 6, 172, 608, 6, - 610, 1389, 1390, 1391, 6, 8, 6, 6, 6, 171, - 1398, 169, 1400, 623, 1402, 625, 169, 171, 142, 6, - 169, 169, 169, 633, 634, 635, 171, 171, 638, 639, - 640, 641, 642, 643, 644, 6, 170, 3, 4, 6, - 170, 6, 6, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 8, 147, 148, 149, 150, 151, + 22, 23, 24, 25, 26, 27, 28, 29, 168, 168, + 168, 168, 650, 168, 168, 939, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 663, 664, 665, 168, 170, + 169, 169, 169, 7, 672, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 7, 4, 7, 7, + 81, 5, 5, 5, 5, 693, 5, 695, 5, 5, + 5, 5, 700, 5, 5, 5, 5, 5, 5, 157, + 158, 5, 5, 5, 5, 5, 164, 5, 5, 5, + 168, 126, 5, 171, 5, 5, 5, 3, 5, 7, + 5, 5, 834, 6, 6, 147, 148, 149, 150, 151, + 741, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 748, 0, 1, 165, 3, 753, 754, 7, 6, 6, + 171, 7, 7, 6, 172, 766, 7, 768, 7, 770, + 7, 172, 171, 7, 168, 157, 158, 7, 173, 168, + 140, 169, 164, 169, 169, 169, 168, 785, 786, 171, + 8, 169, 793, 794, 795, 793, 794, 795, 796, 797, + 169, 169, 169, 169, 169, 803, 169, 805, 169, 5, + 169, 169, 169, 169, 169, 169, 169, 815, 169, 169, + 169, 169, 169, 169, 822, 823, 824, 169, 169, 169, + 169, 829, 6, 169, 169, 833, 7, 170, 7, 171, + 7, 839, 7, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 7, 854, 7, 7, 108, + 109, 110, 111, 112, 113, 114, 115, 865, 866, 867, + 868, 869, 870, 871, 872, 873, 874, 875, 876, 7, + 7, 7, 7, 7, 168, 134, 135, 888, 137, 887, + 888, 889, 6, 3, 7, 7, 3, 168, 168, 168, + 147, 148, 149, 150, 151, 903, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 168, 168, 168, 165, 3, + 3, 134, 136, 159, 168, 3, 139, 3, 168, 147, + 148, 149, 150, 151, 6, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 942, 943, 944, 165, 168, 162, + 172, 168, 168, 166, 167, 3, 3, 3, 3, 3, + 3, 3, 3, 961, 962, 5, 5, 3, 3, 6, + 968, 171, 6, 147, 148, 149, 150, 151, 6, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 6, 987, + 6, 165, 6, 6, 82, 173, 169, 995, 170, 169, + 6, 169, 1000, 6, 170, 1003, 169, 6, 170, 1007, + 169, 169, 6, 169, 6, 170, 170, 170, 1016, 1017, + 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, + 169, 169, 169, 169, 169, 169, 169, 169, 1036, 169, + 1038, 170, 6, 6, 6, 6, 169, 169, 3, 4, + 169, 169, 6, 6, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 147, 148, 149, 150, 151, 6, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 171, 169, 169, 165, 8, 171, 171, 147, 148, 149, - 150, 151, 6, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 6, 169, 6, 165, 147, 148, 149, 150, + 6, 6, 1090, 165, 6, 6, 82, 7, 6, 6, + 4, 3, 159, 6, 3, 6, 6, 3, 6, 6, + 3, 6, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, + 1118, 6, 6, 3, 6, 3, 3, 4, 3, 1127, + 1128, 1129, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 147, 148, 149, 150, 151, 3, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 6, 171, + 171, 165, 172, 79, 1172, 1173, 1174, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 1182, 1183, 173, 6, 170, 7, + 1188, 1189, 147, 148, 149, 150, 151, 6, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 6, 82, 164, + 165, 169, 169, 168, 170, 4, 6, 1215, 169, 1217, + 169, 169, 3, 170, 170, 169, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 170, 1235, 170, 1237, + 169, 171, 170, 1241, 169, 1243, 147, 148, 149, 150, 151, 6, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 171, 171, 171, 165, 147, 148, 149, 150, 151, - 6, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 6, 6, 0, 165, 147, 148, 149, 150, 151, 0, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 6, - 545, 6, 165, 6, 774, 6, 772, -1, 520, -1, - -1, 1083, -1, -1, 784, -1, -1, -1, 788, -1, - -1, 147, 148, 149, 150, 151, 302, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 807, 164, 165, - -1, -1, 168, 147, 148, 149, 150, 151, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, 147, 148, 149, 150, 151, -1, 153, + 161, 6, 3, 6, 165, 3, 6, 1265, 1266, 6, + 6, 6, 6, 1271, 1272, 1273, 1274, 1275, 1276, 6, + 157, 158, 5, 5, 172, 6, 173, 164, 171, 6, + 169, 168, 6, 169, 6, 6, 169, 1295, 169, 6, + 170, 170, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 169, 83, 170, 169, 528, 529, 169, 531, 169, + 6, 6, 535, 536, 6, 6, 6, 6, 5, 5, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 6, 1336, 169, + 1338, 172, 169, 169, 173, 170, 170, 169, 169, 169, + 79, 4, 169, 79, 6, 171, 6, 171, 1356, 1357, + 1358, 171, 6, 5, 5, 172, 6, 171, 169, 169, + 172, 6, 1370, 1371, 1372, 1373, 1374, 1375, 591, 6, + 172, 594, 170, 170, 6, 6, 6, 6, 6, 1387, + 1388, 1389, 1390, 6, 1392, 171, 1394, 169, 6, 169, + 613, 614, 169, 142, 169, 171, 619, 620, 171, 171, + 6, 169, 6, 626, 170, 628, 1414, 1415, 1416, 6, + 6, 6, 6, 6, 171, 1423, 6, 1425, 641, 1427, + 643, 6, 6, 6, 6, 6, 169, 169, 651, 652, + 653, 171, 170, 656, 657, 658, 659, 660, 661, 662, + 3, 4, 171, 169, 6, 0, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 6, 147, 148, + 149, 150, 151, 171, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 171, 0, 6, 165, 147, 148, 149, + 150, 151, 6, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 171, 563, 6, 165, 6, 6, 1108, 314, + 147, 148, 149, 150, 151, 6, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 790, -1, -1, 165, 147, + 148, 149, 150, 151, 6, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 538, -1, -1, 165, -1, -1, + 147, 148, 149, 150, 151, 6, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, 792, + -1, -1, -1, -1, 6, -1, -1, -1, -1, 802, + -1, -1, -1, 806, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 157, 158, -1, -1, -1, -1, + -1, 164, 825, -1, -1, 168, 8, -1, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + 8, -1, -1, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, 31, 32, 33, 34, 35, 36, 37, 38, - -1, 40, -1, 42, 43, -1, 45, 46, 31, 32, - 33, 34, 35, 36, 37, 38, -1, 40, -1, 42, - 43, -1, 45, 46, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 77, 78, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, - 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, - -1, 42, 43, -1, 45, 46, -1, -1, -1, -1, - -1, -1, -1, 943, -1, -1, 946, -1, -1, -1, - -1, -1, 63, -1, 133, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, - 133, -1, -1, 973, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, 1, -1, -1, 4, 141, 989, - -1, -1, -1, 172, 147, 148, 149, 150, 151, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 172, - -1, -1, 165, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 133, 40, 41, 42, 43, 44, 45, 46, - -1, -1, -1, 50, 51, 52, 53, 54, 55, -1, - 57, 58, 59, 60, 61, -1, 63, -1, -1, -1, - -1, -1, -1, -1, 34, -1, -1, -1, 1058, 1059, - 77, 78, -1, -1, -1, -1, -1, 84, 85, 86, - 87, 88, 89, -1, 136, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1084, 147, 148, 149, 150, 151, + -1, 165, -1, -1, -1, -1, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, 147, 148, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + -1, -1, -1, 165, -1, -1, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, -1, -1, - 90, 91, 92, -1, -1, -1, 133, -1, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, -1, -1, - -1, -1, 1132, -1, -1, -1, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 1146, 127, 128, 129, - 130, 131, 132, 136, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 147, 148, 149, 150, 151, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, -1, -1, 147, - 148, 149, 150, 151, 1194, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, -1, -1, 172, 147, 148, 149, 150, 151, + -1, 964, -1, -1, 967, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, -1, -1, - 172, -1, -1, -1, -1, 1245, 147, 148, 149, 150, + -1, -1, -1, 165, -1, -1, -1, -1, -1, 147, + 148, 149, 150, 151, 997, 153, 154, 155, 156, 157, + 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, + 1013, 31, 32, 33, 34, 35, 36, 37, 38, -1, + 40, -1, 42, 43, -1, 45, 46, -1, -1, -1, + 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, + -1, 42, 43, 63, 45, 46, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 77, 78, -1, + -1, -1, 63, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 136, 77, 78, -1, -1, + 1083, 1084, -1, -1, -1, -1, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, -1, - -1, 172, -1, 1273, 147, 148, 149, 150, 151, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, -1, -1, 172, - -1, 1301, 147, 148, 149, 150, 151, -1, 153, 154, + 161, -1, -1, -1, 165, 136, 1109, -1, -1, -1, + -1, -1, -1, 133, -1, -1, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, 133, -1, 165, -1, -1, -1, -1, -1, + -1, -1, 0, 1, -1, -1, 4, -1, -1, -1, + -1, -1, 172, -1, 1157, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1171, -1, + 172, 172, 30, 31, 32, 33, 34, 35, 36, 37, + 38, -1, 40, 41, 42, 43, 44, 45, 46, -1, + -1, -1, 50, 51, 52, 53, 54, 55, -1, 57, + 58, 59, 60, 61, -1, 63, -1, -1, -1, -1, + -1, -1, -1, -1, 34, -1, 1219, -1, -1, 77, + 78, -1, -1, -1, 139, -1, 84, 85, 86, 87, + 88, 89, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, -1, -1, 172, -1, -1, - 1330, -1, -1, -1, -1, -1, -1, -1, -1, 147, - 148, 149, 150, 151, 1344, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, 147, - 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 170, 147, 148, 149, 150, 151, -1, 153, + 165, 147, 148, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, -1, 1270, -1, 165, + 90, 91, 92, 169, -1, 133, 172, -1, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, -1, -1, + -1, -1, -1, -1, -1, 1298, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, 132, -1, -1, -1, -1, -1, 147, 148, + 149, 150, 151, 1326, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + 169, -1, -1, 172, -1, -1, -1, 147, 148, 149, + 150, 151, 1355, 153, 154, 155, 156, 157, 158, 159, + 160, 161, -1, -1, -1, 165, 1369, -1, -1, 169, + -1, -1, 172, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, 147, - 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, -1, 170, 147, 148, 149, - 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 147, 148, 149, 150, 151, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 147, 148, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, + 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, + 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, + 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, + 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, + -1, 165, -1, 147, 148, 149, 150, 151, 172, 153, + 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, + -1, 165, -1, 141, -1, -1, -1, -1, 172, 147, + 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, -1, -1, -1, 165, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 147, 148, 149, 150, 151, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 147, 148, 149, 150, 151, -1, + 169, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 147, 148, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, @@ -2274,7 +2302,14 @@ static const short yycheck[] = { 7, 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165 + -1, 165, -1, -1, -1, 169, 147, 148, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, 169, 147, + 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, + -1, 169, 147, 148, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, + 165 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -3451,23 +3486,83 @@ case 133: ; break;} case 134: -#line 723 "Gmsh.y" +#line 712 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val += yyvsp[-1].d ; + ; + break;} +case 135: +#line 720 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val -= yyvsp[-1].d ; + ; + break;} +case 136: +#line 728 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val += 1. ; + ; + break;} +case 137: +#line 736 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val -= yyvsp[-1].d ; + ; + break;} +case 138: +#line 744 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val *= yyvsp[-1].d ; + ; + break;} +case 139: +#line 752 "Gmsh.y" +{ + TheSymbol.Name = yyvsp[-3].c ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ; + else + pSymbol->val /= yyvsp[-1].d ; + ; + break;} +case 140: +#line 771 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 135: -#line 730 "Gmsh.y" +case 141: +#line 778 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 136: -#line 736 "Gmsh.y" +case 142: +#line 784 "Gmsh.y" { Vertex *v; Attractor *a; @@ -3487,8 +3582,8 @@ case 136: } ; break;} -case 137: -#line 755 "Gmsh.y" +case 143: +#line 803 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -3500,31 +3595,31 @@ case 137: } ; break;} -case 138: -#line 766 "Gmsh.y" +case 144: +#line 814 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} -case 139: -#line 774 "Gmsh.y" +case 145: +#line 822 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 140: -#line 780 "Gmsh.y" +case 146: +#line 828 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 141: -#line 786 "Gmsh.y" +case 147: +#line 834 "Gmsh.y" { Curve *c; Attractor *a; @@ -3544,16 +3639,16 @@ case 141: } ; break;} -case 142: -#line 805 "Gmsh.y" +case 148: +#line 853 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 143: -#line 811 "Gmsh.y" +case 149: +#line 859 "Gmsh.y" { List_T *temp; int i,j; @@ -3570,48 +3665,48 @@ case 143: yyval.s.Num = (int)yyvsp[-6].d; ; break;} -case 144: -#line 828 "Gmsh.y" +case 150: +#line 876 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; yyval.s.Num = (int)yyvsp[-14].d; ; break;} -case 145: -#line 834 "Gmsh.y" +case 151: +#line 882 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 146: -#line 840 "Gmsh.y" +case 152: +#line 888 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 147: -#line 846 "Gmsh.y" +case 153: +#line 894 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 148: -#line 852 "Gmsh.y" +case 154: +#line 900 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 149: -#line 858 "Gmsh.y" +case 155: +#line 906 "Gmsh.y" { List_T *Temp; int i; @@ -3631,8 +3726,8 @@ case 149: List_Delete(Temp); ; break;} -case 150: -#line 877 "Gmsh.y" +case 156: +#line 925 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -3642,16 +3737,16 @@ case 150: yyval.s.Type = c->Typ; ; break;} -case 151: -#line 889 "Gmsh.y" +case 157: +#line 937 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 152: -#line 895 "Gmsh.y" +case 158: +#line 943 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-2].d,THEM); @@ -3671,8 +3766,8 @@ case 152: } ; break;} -case 153: -#line 914 "Gmsh.y" +case 159: +#line 962 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -3694,38 +3789,38 @@ case 153: } ; break;} -case 154: -#line 937 "Gmsh.y" +case 160: +#line 985 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = (int)yyvsp[-16].d; ; break;} -case 155: -#line 945 "Gmsh.y" +case 161: +#line 993 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} -case 156: -#line 949 "Gmsh.y" +case 162: +#line 997 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 157: -#line 955 "Gmsh.y" +case 163: +#line 1003 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 158: -#line 961 "Gmsh.y" +case 164: +#line 1009 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -3735,85 +3830,85 @@ case 158: yyval.s.Type = s->Typ; ; break;} -case 159: -#line 973 "Gmsh.y" +case 165: +#line 1021 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 160: -#line 979 "Gmsh.y" +case 166: +#line 1027 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 161: -#line 985 "Gmsh.y" +case 167: +#line 1033 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 162: -#line 998 "Gmsh.y" +case 168: +#line 1046 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 163: -#line 1003 "Gmsh.y" +case 169: +#line 1051 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 164: -#line 1008 "Gmsh.y" +case 170: +#line 1056 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 165: -#line 1013 "Gmsh.y" +case 171: +#line 1061 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 166: -#line 1020 "Gmsh.y" +case 172: +#line 1068 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 167: -#line 1021 "Gmsh.y" +case 173: +#line 1069 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 168: -#line 1022 "Gmsh.y" +case 174: +#line 1070 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 169: -#line 1027 "Gmsh.y" +case 175: +#line 1075 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} -case 170: -#line 1031 "Gmsh.y" +case 176: +#line 1079 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} -case 171: -#line 1043 "Gmsh.y" +case 177: +#line 1091 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -3824,8 +3919,8 @@ case 171: } ; break;} -case 172: -#line 1061 "Gmsh.y" +case 178: +#line 1109 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -3833,8 +3928,8 @@ case 172: } ; break;} -case 173: -#line 1076 "Gmsh.y" +case 179: +#line 1124 "Gmsh.y" { yyinTab[RecursionLevel++] = yyin; strcpy(tmpstring, ThePathForIncludes); @@ -3857,8 +3952,8 @@ case 173: } ; break;} -case 174: -#line 1104 "Gmsh.y" +case 180: +#line 1152 "Gmsh.y" { char ext[6]; strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4)); @@ -3889,22 +3984,22 @@ case 174: } ; break;} -case 175: -#line 1134 "Gmsh.y" +case 181: +#line 1182 "Gmsh.y" { exit(0); ; break;} -case 176: -#line 1138 "Gmsh.y" +case 182: +#line 1186 "Gmsh.y" { FILE *ff = yyin; MergeProblem(yyvsp[-1].c); yyin = ff; ; break;} -case 177: -#line 1152 "Gmsh.y" +case 183: +#line 1200 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -3918,8 +4013,8 @@ case 177: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 178: -#line 1165 "Gmsh.y" +case 184: +#line 1213 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -3933,8 +4028,8 @@ case 178: fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); ; break;} -case 179: -#line 1178 "Gmsh.y" +case 185: +#line 1226 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]) @@ -3954,71 +4049,71 @@ case 179: } ; break;} -case 180: -#line 1217 "Gmsh.y" +case 186: +#line 1265 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} -case 181: -#line 1222 "Gmsh.y" +case 187: +#line 1270 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, &pc,&prc,NULL); ; break;} -case 182: -#line 1228 "Gmsh.y" +case 188: +#line 1276 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} -case 183: -#line 1232 "Gmsh.y" +case 189: +#line 1280 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} -case 184: -#line 1236 "Gmsh.y" +case 190: +#line 1284 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} -case 185: -#line 1240 "Gmsh.y" +case 191: +#line 1288 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} -case 186: -#line 1244 "Gmsh.y" +case 192: +#line 1292 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr); ; break;} -case 187: -#line 1249 "Gmsh.y" +case 193: +#line 1297 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr); ; break;} -case 188: -#line 1257 "Gmsh.y" +case 194: +#line 1305 "Gmsh.y" { ; break;} -case 189: -#line 1260 "Gmsh.y" +case 195: +#line 1308 "Gmsh.y" { ; break;} -case 190: -#line 1266 "Gmsh.y" +case 196: +#line 1314 "Gmsh.y" { double d; int j; @@ -4036,14 +4131,14 @@ case 190: } ; break;} -case 191: -#line 1283 "Gmsh.y" +case 197: +#line 1331 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 192: -#line 1294 "Gmsh.y" +case 198: +#line 1342 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4061,8 +4156,8 @@ case 192: } ; break;} -case 193: -#line 1311 "Gmsh.y" +case 199: +#line 1359 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4080,8 +4175,8 @@ case 193: } ; break;} -case 194: -#line 1328 "Gmsh.y" +case 200: +#line 1376 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4099,8 +4194,8 @@ case 194: } ; break;} -case 195: -#line 1345 "Gmsh.y" +case 201: +#line 1393 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4122,8 +4217,8 @@ case 195: } ; break;} -case 196: -#line 1366 "Gmsh.y" +case 202: +#line 1414 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4144,8 +4239,8 @@ case 196: } ; break;} -case 197: -#line 1386 "Gmsh.y" +case 203: +#line 1434 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -4166,8 +4261,8 @@ case 197: } ; break;} -case 198: -#line 1406 "Gmsh.y" +case 204: +#line 1454 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4185,8 +4280,8 @@ case 198: } ; break;} -case 199: -#line 1423 "Gmsh.y" +case 205: +#line 1471 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4204,19 +4299,19 @@ case 199: } ; break;} -case 200: -#line 1448 "Gmsh.y" +case 206: +#line 1496 "Gmsh.y" { Coherence_PS(); ; break;} -case 203: -#line 1464 "Gmsh.y" +case 209: +#line 1512 "Gmsh.y" { ; break;} -case 204: -#line 1467 "Gmsh.y" +case 210: +#line 1515 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c); @@ -4229,8 +4324,8 @@ case 204: } ; break;} -case 205: -#line 1479 "Gmsh.y" +case 211: +#line 1527 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4248,8 +4343,8 @@ case 205: } ; break;} -case 206: -#line 1496 "Gmsh.y" +case 212: +#line 1544 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4267,8 +4362,8 @@ case 206: } ; break;} -case 207: -#line 1513 "Gmsh.y" +case 213: +#line 1561 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4286,8 +4381,8 @@ case 207: } ; break;} -case 208: -#line 1530 "Gmsh.y" +case 214: +#line 1578 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4305,8 +4400,8 @@ case 208: } ; break;} -case 209: -#line 1547 "Gmsh.y" +case 215: +#line 1595 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -4324,8 +4419,8 @@ case 209: } ; break;} -case 210: -#line 1564 "Gmsh.y" +case 216: +#line 1612 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4343,8 +4438,8 @@ case 210: } ; break;} -case 211: -#line 1581 "Gmsh.y" +case 217: +#line 1629 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4362,8 +4457,8 @@ case 211: } ; break;} -case 212: -#line 1598 "Gmsh.y" +case 218: +#line 1646 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4373,36 +4468,78 @@ case 212: else{ switch(i){ case GMSH_DOUBLE : - ((double*)pNumOpt)[0] = yyvsp[-1].v[0] ; - ((double*)pNumOpt)[1] = yyvsp[-1].v[1] ; - ((double*)pNumOpt)[2] = yyvsp[-1].v[2] ; - ((double*)pNumOpt)[3] = yyvsp[-1].v[3] ; + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] = yyvsp[-1].v[j] ; break ; case GMSH_FLOAT : - ((float*)pNumOpt)[0] = (float)yyvsp[-1].v[0] ; - ((float*)pNumOpt)[1] = (float)yyvsp[-1].v[1] ; - ((float*)pNumOpt)[2] = (float)yyvsp[-1].v[2] ; - ((float*)pNumOpt)[3] = (float)yyvsp[-1].v[3] ; + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] = (float)yyvsp[-1].v[j] ; break ; case GMSH_LONG : - ((long*)pNumOpt)[0] = (long)yyvsp[-1].v[0] ; - ((long*)pNumOpt)[1] = (long)yyvsp[-1].v[1] ; - ((long*)pNumOpt)[2] = (long)yyvsp[-1].v[2] ; - ((long*)pNumOpt)[3] = (long)yyvsp[-1].v[3] ; + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] = (long)yyvsp[-1].v[j] ; break ; case GMSH_INT : - ((int*)pNumOpt)[0] = (int)yyvsp[-1].v[0] ; - ((int*)pNumOpt)[1] = (int)yyvsp[-1].v[1] ; - ((int*)pNumOpt)[2] = (int)yyvsp[-1].v[2] ; - ((int*)pNumOpt)[3] = (int)yyvsp[-1].v[3] ; + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] = (int)yyvsp[-1].v[j] ; break ; } } } ; break;} -case 213: -#line 1635 "Gmsh.y" +case 219: +#line 1671 "Gmsh.y" +{ + if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) + vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); + else{ + if(!(pArrOpt = Get_ArrayOption(yyvsp[-3].c, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] += yyvsp[-1].v[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] += (float)yyvsp[-1].v[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] += (long)yyvsp[-1].v[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] += (int)yyvsp[-1].v[j] ; + break ; + } + } + } + ; + break;} +case 220: +#line 1696 "Gmsh.y" +{ + if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) + vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); + else{ + if(!(pArrOpt = Get_ArrayOption(yyvsp[-3].c, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] -= yyvsp[-1].v[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] -= (float)yyvsp[-1].v[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] -= (long)yyvsp[-1].v[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] -= (int)yyvsp[-1].v[j] ; + break ; + } + } + } + ; + break;} +case 221: +#line 1721 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c); @@ -4415,207 +4552,207 @@ case 213: } ; break;} -case 217: -#line 1673 "Gmsh.y" +case 225: +#line 1759 "Gmsh.y" {yyval.i = 1;; break;} -case 218: -#line 1674 "Gmsh.y" +case 226: +#line 1760 "Gmsh.y" {yyval.i = 0;; break;} -case 219: -#line 1675 "Gmsh.y" +case 227: +#line 1761 "Gmsh.y" {yyval.i = -1;; break;} -case 220: -#line 1676 "Gmsh.y" +case 228: +#line 1762 "Gmsh.y" {yyval.i = -1;; break;} -case 221: -#line 1677 "Gmsh.y" +case 229: +#line 1763 "Gmsh.y" {yyval.i = -1;; break;} -case 222: -#line 1681 "Gmsh.y" +case 230: +#line 1767 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 223: -#line 1682 "Gmsh.y" +case 231: +#line 1768 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 224: -#line 1683 "Gmsh.y" +case 232: +#line 1769 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 225: -#line 1684 "Gmsh.y" +case 233: +#line 1770 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 226: -#line 1685 "Gmsh.y" +case 234: +#line 1771 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 227: -#line 1686 "Gmsh.y" +case 235: +#line 1772 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 228: -#line 1687 "Gmsh.y" +case 236: +#line 1773 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 229: -#line 1688 "Gmsh.y" +case 237: +#line 1774 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 230: -#line 1689 "Gmsh.y" +case 238: +#line 1775 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 231: -#line 1690 "Gmsh.y" +case 239: +#line 1776 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 232: -#line 1691 "Gmsh.y" +case 240: +#line 1777 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} -case 233: -#line 1692 "Gmsh.y" +case 241: +#line 1778 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 234: -#line 1693 "Gmsh.y" +case 242: +#line 1779 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 235: -#line 1694 "Gmsh.y" +case 243: +#line 1780 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 236: -#line 1695 "Gmsh.y" +case 244: +#line 1781 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 237: -#line 1696 "Gmsh.y" +case 245: +#line 1782 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 238: -#line 1697 "Gmsh.y" +case 246: +#line 1783 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 239: -#line 1698 "Gmsh.y" +case 247: +#line 1784 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 240: -#line 1699 "Gmsh.y" +case 248: +#line 1785 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 241: -#line 1700 "Gmsh.y" +case 249: +#line 1786 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 242: -#line 1701 "Gmsh.y" +case 250: +#line 1787 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 243: -#line 1702 "Gmsh.y" +case 251: +#line 1788 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 244: -#line 1703 "Gmsh.y" +case 252: +#line 1789 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 245: -#line 1704 "Gmsh.y" +case 253: +#line 1790 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 246: -#line 1705 "Gmsh.y" +case 254: +#line 1791 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 247: -#line 1706 "Gmsh.y" +case 255: +#line 1792 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 248: -#line 1707 "Gmsh.y" +case 256: +#line 1793 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 249: -#line 1708 "Gmsh.y" +case 257: +#line 1794 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 250: -#line 1709 "Gmsh.y" +case 258: +#line 1795 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 251: -#line 1710 "Gmsh.y" +case 259: +#line 1796 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 252: -#line 1711 "Gmsh.y" +case 260: +#line 1797 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 253: -#line 1712 "Gmsh.y" +case 261: +#line 1798 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 254: -#line 1713 "Gmsh.y" +case 262: +#line 1799 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 255: -#line 1714 "Gmsh.y" +case 263: +#line 1800 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 256: -#line 1715 "Gmsh.y" +case 264: +#line 1801 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 257: -#line 1716 "Gmsh.y" +case 265: +#line 1802 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 258: -#line 1717 "Gmsh.y" +case 266: +#line 1803 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 259: -#line 1718 "Gmsh.y" +case 267: +#line 1804 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 260: -#line 1719 "Gmsh.y" +case 268: +#line 1805 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 261: -#line 1720 "Gmsh.y" +case 269: +#line 1806 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 262: -#line 1724 "Gmsh.y" +case 270: +#line 1810 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 263: -#line 1725 "Gmsh.y" +case 271: +#line 1811 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 264: -#line 1727 "Gmsh.y" +case 272: +#line 1813 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { - vyyerror("Unknown variable '%s'", yyvsp[0].c) ; yyval.d = 0. ; + vyyerror("Unknown Variable '%s'", yyvsp[0].c) ; yyval.d = 0. ; } else yyval.d = TheSymbol.val ; Free(yyvsp[0].c); ; break;} -case 265: -#line 1736 "Gmsh.y" +case 273: +#line 1822 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c); @@ -4633,8 +4770,8 @@ case 265: } ; break;} -case 266: -#line 1753 "Gmsh.y" +case 274: +#line 1839 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -4652,8 +4789,8 @@ case 266: } ; break;} -case 267: -#line 1770 "Gmsh.y" +case 275: +#line 1856 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -4671,16 +4808,16 @@ case 267: } ; break;} -case 268: -#line 1790 "Gmsh.y" +case 276: +#line 1876 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) List_Add(ListOfDouble2_L, &d) ; ; break;} -case 269: -#line 1796 "Gmsh.y" +case 277: +#line 1882 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; if(!yyvsp[0].d || (yyvsp[-4].d<yyvsp[-2].d && yyvsp[0].d<0) || (yyvsp[-4].d>yyvsp[-2].d && yyvsp[0].d>0)){ @@ -4692,138 +4829,166 @@ case 269: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 270: -#line 1810 "Gmsh.y" +case 278: +#line 1896 "Gmsh.y" { yyval.v = yyvsp[0].v; ; break;} -case 271: -#line 1814 "Gmsh.y" +case 279: +#line 1900 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 272: -#line 1818 "Gmsh.y" +case 280: +#line 1904 "Gmsh.y" { yyval.v = yyvsp[0].v; ; break;} -case 273: -#line 1822 "Gmsh.y" +case 281: +#line 1908 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 274: -#line 1826 "Gmsh.y" +case 282: +#line 1912 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 275: -#line 1832 "Gmsh.y" +case 283: +#line 1918 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; yyval.v[2]=yyvsp[-5].d; yyval.v[3]=yyvsp[-3].d; yyval.v[4]=yyvsp[-1].d; ; break;} -case 276: -#line 1836 "Gmsh.y" +case 284: +#line 1922 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; yyval.v[2]=yyvsp[-3].d; yyval.v[3]=yyvsp[-1].d; yyval.v[4]=1.0; ; break;} -case 277: -#line 1840 "Gmsh.y" +case 285: +#line 1926 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} -case 278: -#line 1844 "Gmsh.y" +case 286: +#line 1930 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} -case 279: -#line 1851 "Gmsh.y" +case 287: +#line 1934 "Gmsh.y" { + if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-2].c))) + vyyerror("Unknown Array Option Class '%s'", yyvsp[-2].c); + else{ + if(!(pArrOpt = Get_ArrayOption(yyvsp[0].c, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", yyvsp[-2].c, yyvsp[0].c); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4 ; j++) yyval.v[j] = ((double*)pArrOpt)[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((float*)pArrOpt)[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ; + break ; + } + yyval.v[4] = 1. ; + } + } ; break;} -case 280: -#line 1854 "Gmsh.y" +case 288: +#line 1963 "Gmsh.y" { ; break;} -case 281: -#line 1860 "Gmsh.y" +case 289: +#line 1966 "Gmsh.y" { ; break;} -case 282: -#line 1863 "Gmsh.y" +case 290: +#line 1972 "Gmsh.y" { ; break;} -case 283: -#line 1869 "Gmsh.y" +case 291: +#line 1975 "Gmsh.y" { ; break;} -case 284: -#line 1872 "Gmsh.y" +case 292: +#line 1981 "Gmsh.y" +{ + ; + break;} +case 293: +#line 1984 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 285: -#line 1876 "Gmsh.y" +case 294: +#line 1988 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 286: -#line 1883 "Gmsh.y" +case 295: +#line 1995 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 287: -#line 1888 "Gmsh.y" +case 296: +#line 2000 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 288: -#line 1895 "Gmsh.y" +case 297: +#line 2007 "Gmsh.y" { ; break;} -case 289: -#line 1898 "Gmsh.y" +case 298: +#line 2010 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 290: -#line 1904 "Gmsh.y" +case 299: +#line 2016 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 291: -#line 1912 "Gmsh.y" +case 300: +#line 2024 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 292: -#line 1917 "Gmsh.y" +case 301: +#line 2029 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -4833,14 +4998,14 @@ case 292: List_Delete(ListOfDouble2_L); ; break;} -case 293: -#line 1926 "Gmsh.y" +case 302: +#line 2038 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 294: -#line 1930 "Gmsh.y" +case 303: +#line 2042 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -4849,34 +5014,34 @@ case 294: List_Delete(ListOfDouble2_L); ; break;} -case 295: -#line 1941 "Gmsh.y" +case 304: +#line 2053 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 296: -#line 1945 "Gmsh.y" +case 305: +#line 2057 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 297: -#line 1949 "Gmsh.y" +case 306: +#line 2061 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, (int)yyvsp[-1].d, yyvsp[-3].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-3].c); ; break;} -case 298: -#line 1954 "Gmsh.y" +case 307: +#line 2066 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c); ; break;} -case 299: -#line 1959 "Gmsh.y" +case 308: +#line 2071 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c); @@ -5111,7 +5276,7 @@ yyerrhandle: } return 1; } -#line 1972 "Gmsh.y" +#line 2084 "Gmsh.y" void InitSymbols(void){ @@ -5143,4 +5308,3 @@ void vyyerror(char *fmt, ...){ yyerrorstate=1; } - diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 27e6dd53d414245ad0eeedff9929369811092a14..26adef63b19afd1d1b414cc705d9e3dba94e0ef9 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.19 2000-12-06 22:36:44 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.20 2000-12-06 23:01:55 geuzaine Exp $ */ #include <stdarg.h> @@ -34,7 +34,7 @@ static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; static char yynameTab[MAX_OPEN_FILES][NAME_STR_L]; static char tmpstring[NAME_STR_L]; -static Symbol TheSymbol; +static Symbol TheSymbol, *pSymbol; static Surface *STL_Surf; static Shape TheShape; static int i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0; @@ -708,6 +708,54 @@ Affectation : TheSymbol.val = $3; List_Replace(Symbol_L,&TheSymbol,CompareSymbols); } + | tSTRING tAFFECTPLUS FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val += $3 ; + } + | tSTRING tAFFECTMINUS FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val -= $3 ; + } + | tSTRING tPLUSPLUS FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val += 1. ; + } + | tSTRING tAFFECTMINUS FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val -= $3 ; + } + | tSTRING tAFFECTTIMES FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val *= $3 ; + } + | tSTRING tAFFECTDIVIDE FExpr tEND + { + TheSymbol.Name = $1 ; + if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) + vyyerror("Unknown Variable '%s'", $1) ; + else + pSymbol->val /= $3 ; + } ; @@ -1604,28 +1652,66 @@ Option : else{ switch(i){ case GMSH_DOUBLE : - ((double*)pNumOpt)[0] = $5[0] ; - ((double*)pNumOpt)[1] = $5[1] ; - ((double*)pNumOpt)[2] = $5[2] ; - ((double*)pNumOpt)[3] = $5[3] ; + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] = $5[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] = (float)$5[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] = (long)$5[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] = (int)$5[j] ; + break ; + } + } + } + } + | tSTRING '.' tSTRING tAFFECTPLUS VExpr tEND + { + if(!(pArrCat = Get_ArrayOptionCategory($1))) + vyyerror("Unknown Array Option Class '%s'", $1); + else{ + if(!(pArrOpt = Get_ArrayOption($3, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", $1, $3); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] += $5[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] += (float)$5[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] += (long)$5[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] += (int)$5[j] ; + break ; + } + } + } + } + | tSTRING '.' tSTRING tAFFECTMINUS VExpr tEND + { + if(!(pArrCat = Get_ArrayOptionCategory($1))) + vyyerror("Unknown Array Option Class '%s'", $1); + else{ + if(!(pArrOpt = Get_ArrayOption($3, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", $1, $3); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4; j++) ((double*)pNumOpt)[j] -= $5[j] ; break ; case GMSH_FLOAT : - ((float*)pNumOpt)[0] = (float)$5[0] ; - ((float*)pNumOpt)[1] = (float)$5[1] ; - ((float*)pNumOpt)[2] = (float)$5[2] ; - ((float*)pNumOpt)[3] = (float)$5[3] ; + for(j=0 ; j<4; j++) ((float*)pNumOpt)[j] -= (float)$5[j] ; break ; case GMSH_LONG : - ((long*)pNumOpt)[0] = (long)$5[0] ; - ((long*)pNumOpt)[1] = (long)$5[1] ; - ((long*)pNumOpt)[2] = (long)$5[2] ; - ((long*)pNumOpt)[3] = (long)$5[3] ; + for(j=0 ; j<4; j++) ((long*)pNumOpt)[j] -= (long)$5[j] ; break ; case GMSH_INT : - ((int*)pNumOpt)[0] = (int)$5[0] ; - ((int*)pNumOpt)[1] = (int)$5[1] ; - ((int*)pNumOpt)[2] = (int)$5[2] ; - ((int*)pNumOpt)[3] = (int)$5[3] ; + for(j=0 ; j<4; j++) ((int*)pNumOpt)[j] -= (int)$5[j] ; break ; } } @@ -1727,7 +1813,7 @@ FExpr_Single : { TheSymbol.Name = $1 ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { - vyyerror("Unknown variable '%s'", $1) ; $$ = 0. ; + vyyerror("Unknown Variable '%s'", $1) ; $$ = 0. ; } else $$ = TheSymbol.val ; Free($1); @@ -1844,6 +1930,32 @@ VExpr_Single : { $$[0]=$2; $$[1]=$4; $$[2]=$6; $$[3]=0.0; $$[4]=1.0; } + | tSTRING '.' tSTRING + { + if(!(pArrCat = Get_ArrayOptionCategory($1))) + vyyerror("Unknown Array Option Class '%s'", $1); + else{ + if(!(pArrOpt = Get_ArrayOption($3, pArrCat, &i))) + vyyerror("Unknown Array Option '%s.%s'", $1, $3); + else{ + switch(i){ + case GMSH_DOUBLE : + for(j=0 ; j<4 ; j++) $$[j] = ((double*)pArrOpt)[j] ; + break ; + case GMSH_FLOAT : + for(j=0 ; j<4 ; j++) $$[j] = (double)((float*)pArrOpt)[j] ; + break ; + case GMSH_LONG : + for(j=0 ; j<4 ; j++) $$[j] = (double)((int*)pArrOpt)[j] ; + break ; + case GMSH_INT : + for(j=0 ; j<4 ; j++) $$[j] = (double)((int*)pArrOpt)[j] ; + break ; + } + $$[4] = 1. ; + } + } + } ; ListOfStrings : @@ -2000,4 +2112,3 @@ void vyyerror(char *fmt, ...){ yyerrorstate=1; } - diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 0065639b608248f66e21486f6a7a6f366b0e84d9..19b2371535f9a1b10152659e4eba9dd513f59008 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.19 2000-12-06 22:36:44 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.20 2000-12-06 23:01:55 geuzaine Exp $ */ #define FLEX_SCANNER