diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 89df670316b21f03f16b200a23e1739fe8fad121..59117e31ac21ed95b9db5bf8384ded18ee85d08b 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -358,38 +358,28 @@ void GModel::snapVertices() } } -void GModel::getEntities(std::vector<GEntity*> &entities,int dim) const +void GModel::getEntities(std::vector<GEntity*> &entities, int dim) const { entities.clear(); switch (dim) { case 0: - { - entities.insert(entities.end(), vertices.begin(), vertices.end()); - break; - } + entities.insert(entities.end(), vertices.begin(), vertices.end()); + break; case 1: - { - entities.insert(entities.end(), edges.begin(), edges.end()); - break; - } + entities.insert(entities.end(), edges.begin(), edges.end()); + break; case 2: - { - entities.insert(entities.end(), faces.begin(), faces.end()); - break; - } + entities.insert(entities.end(), faces.begin(), faces.end()); + break; case 3: - { - entities.insert(entities.end(), regions.begin(), regions.end()); - break; - } + entities.insert(entities.end(), regions.begin(), regions.end()); + break; default: - { - entities.insert(entities.end(), vertices.begin(), vertices.end()); - entities.insert(entities.end(), edges.begin(), edges.end()); - entities.insert(entities.end(), faces.begin(), faces.end()); - entities.insert(entities.end(), regions.begin(), regions.end()); - break; - } + entities.insert(entities.end(), vertices.begin(), vertices.end()); + entities.insert(entities.end(), edges.begin(), edges.end()); + entities.insert(entities.end(), faces.begin(), faces.end()); + entities.insert(entities.end(), regions.begin(), regions.end()); + break; } } @@ -2868,11 +2858,19 @@ void GModel::setPeriodicPairOfFaces(int numFaceMaster, std::vector<int> EdgeList numFaceSlave, EdgeListSlave); } -void GModel::setPhysicalNumToEntitiesInBox(int EntityType, int PhysicalGroupNumber, - std::vector<double> p1, std::vector<double> p2) +void GModel::setPhysicalNumToEntitiesInBox(int EntityDimension, int PhysicalNumber, + SBoundingBox3d box) { - if(_factory) - _factory->setPhysicalNumToEntitiesInBox(this, EntityType, PhysicalGroupNumber, p1, p2); + // FIXME: if we use this often, create an rtree to avoid the linear search + std::vector<GEntity*> entities; + getEntities(entities, EntityDimension); + for(unsigned int i = 0; i < entities.size(); i++){ + SBoundingBox3d bbox = entities[i]->bounds(); + if(bbox.min().x() >= box.min().x() && bbox.max().x() <= box.max().x() && + bbox.min().y() >= box.min().y() && bbox.max().y() <= box.max().y() && + bbox.min().z() >= box.min().z() && bbox.max().z() <= box.max().z()) + entities[i]->addPhysicalEntity(PhysicalNumber); + } } static void computeDuplicates(GModel *model, diff --git a/Geo/GModel.h b/Geo/GModel.h index dc4d26914e5af40e27c8c545259048143e832379..fc598af855e9563ac344ff851febf9c742200cd6 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -282,7 +282,7 @@ class GModel void snapVertices(); // fill a vector containing all the entities in the model - void getEntities(std::vector<GEntity*> &entities,int dim=-1) const; + void getEntities(std::vector<GEntity*> &entities, int dim=-1) const; // return the highest number associated with an elementary entity of // a given dimension (or the highest overall if dim < 0) @@ -530,13 +530,20 @@ class GModel void salomeconnect(); void occconnect(); - // do stuff for all entities inside a bounding box - void setPeriodicAllFaces(std::vector<double> FaceTranslationVector); - void setPeriodicPairOfFaces(int numFaceMaster, std::vector<int> EdgeListMaster, - int numFaceSlave, std::vector<int> EdgeListSlave); - void setPhysicalNumToEntitiesInBox(int EntityType, int PhysicalGroupNumber, - std::vector<double> p1,std::vector<double> p2); + void setPeriodicAllFaces(std::vector<double> FaceTranslationVector); + void setPeriodicPairOfFaces(int numFaceMaster, std::vector<int> EdgeListMaster, + int numFaceSlave, std::vector<int> EdgeListSlave); + // do stuff for all entities inside a bounding box + void setPhysicalNumToEntitiesInBox(int EntityDimension, int PhysicalNumber, + SBoundingBox3d box); + void setPhysicalNumToEntitiesInBox(int EntityDimension, int PhysicalNumber, + std::vector<double> p1, std::vector<double> p2) + { + if(p1.size() != 3 || p2.size() != 3) return; + SBoundingBox3d bbox(p1[0], p1[2], p1[2], p2[0], p2[1], p2[3]); + setPhysicalNumToEntitiesInBox(EntityDimension, PhysicalNumber, bbox); + } // build a new GModel by cutting the elements crossed by the levelset ls // if cutElem is set to false, split the model without cutting the elements diff --git a/Geo/GModelFactory.cpp b/Geo/GModelFactory.cpp index 6bf5b365780642f6534ab15e39d03689fad9cc99..f9dec983450f38da10ef1a731b2e8bea6d8dc733 100644 --- a/Geo/GModelFactory.cpp +++ b/Geo/GModelFactory.cpp @@ -1253,136 +1253,6 @@ void OCCFactory::setPeriodicPairOfFaces(GModel *gm, int numFaceMaster, std::vect } } -/* setPhysicalNumToEntitiesInBox allows to set a physical number to all entities - of a given type (0:vertex, 1:edge, 2:face, 3:volume) lying inside a 3D box - defined by 2 points */ -void OCCFactory::setPhysicalNumToEntitiesInBox(GModel *gm, int EntityType, int PhysicalGroupNumber, - std::vector<double> p1, std::vector<double> p2) -{ - std::vector<int> ListOfGVerticeTagsInbox; - std::vector<int> ListOfGEdgesTagsInbox; - std::vector<int> ListOfGFacesTagsInbox; - std::vector<int> ListOfGRegionsTagsInbox; - - Standard_Real aXmin, aYmin, aZmin, aXmax, aYmax, aZmax; - TopoDS_Shape shape = gm->_occ_internals->getShape(); - switch (EntityType) { - case 0 : - for(TopExp_Explorer aVertexExplorer(shape, TopAbs_VERTEX); aVertexExplorer.More(); aVertexExplorer.Next()){ - TopoDS_Vertex aVertex = TopoDS::Vertex(aVertexExplorer.Current()); - Bnd_Box VertexBB; - BRepBndLib::Add(aVertex,VertexBB); - VertexBB.Get(aXmin, aYmin, aZmin, aXmax, aYmax, aZmax); - if(aXmin>p1[0] - && aYmin>p1[1] - && aZmin>p1[2] - && aXmax<p2[0] - && aYmax<p2[1] - && aZmax<p2[2]){ - int GVertexTag = gm->getOCCInternals()->getGTagOfOCCVertexByNativePtr(gm,aVertex); - //Msg::Info("This volume %d (xmin,ymin,zmin)=(%lf,%lf,%lf) (xmax,ymax,zmax)=(%lf,%lf,%lf)",GVertexTag); - ListOfGVerticeTagsInbox.push_back(GVertexTag); - } - } - Msg::Info("These edges have OCC bounding boxes inside the given box!"); - for (std::vector<int>::iterator it = ListOfGVerticeTagsInbox.begin() ; - it != ListOfGVerticeTagsInbox.end(); ++it){ - Msg::Info("- %d",*it); - GVertex *gv = gm->getVertexByTag(*it); - if(gv){ - gv->addPhysicalEntity(PhysicalGroupNumber); - } - } - break; - case 1 : - for(TopExp_Explorer aEdgeExplorer(shape, TopAbs_EDGE); aEdgeExplorer.More(); aEdgeExplorer.Next()){ - TopoDS_Edge aEdge = TopoDS::Edge(aEdgeExplorer.Current()); - Bnd_Box EdgeBB; - BRepBndLib::Add(aEdge,EdgeBB); - EdgeBB.Get(aXmin, aYmin, aZmin, aXmax, aYmax, aZmax); - - if(aXmin>p1[0] - && aYmin>p1[1] - && aZmin>p1[2] - && aXmax<p2[0] - && aYmax<p2[1] - && aZmax<p2[2]){ - int GEdgeTag = gm->getOCCInternals()->getGTagOfOCCEdgeByNativePtr(gm,aEdge); - //Msg::Info("This edge %d (xmin,ymin,zmin)=(%lf,%lf,%lf) (xmax,ymax,zmax)=(%lf,%lf,%lf)",GEdgeTag); - ListOfGEdgesTagsInbox.push_back(GEdgeTag); - } - } - Msg::Info("These edges have OCC bounding boxes inside the given box!"); - for (std::vector<int>::iterator it = ListOfGEdgesTagsInbox.begin() ; it != ListOfGEdgesTagsInbox.end(); ++it){ - Msg::Info("- %d",*it); - GEdge *ge = gm->getEdgeByTag(*it); - if(ge){ - ge->addPhysicalEntity(PhysicalGroupNumber); - } - } - break; - case 2 : - for(TopExp_Explorer aFaceExplorer(shape, TopAbs_FACE); aFaceExplorer.More(); aFaceExplorer.Next()){ - TopoDS_Face aFace = TopoDS::Face(aFaceExplorer.Current()); - Bnd_Box FaceBB; - BRepBndLib::Add(aFace,FaceBB); - FaceBB.Get(aXmin, aYmin, aZmin, aXmax, aYmax, aZmax); - - if(aXmin>p1[0] - && aYmin>p1[1] - && aZmin>p1[2] - && aXmax<p2[0] - && aYmax<p2[1] - && aZmax<p2[2]){ - int GFaceTag = gm->getOCCInternals()->getGTagOfOCCFaceByNativePtr(gm,aFace); - //Msg::Info("This face %d (xmin,ymin,zmin)=(%lf,%lf,%lf) (xmax,ymax,zmax)=(%lf,%lf,%lf)",GFaceTag); - ListOfGFacesTagsInbox.push_back(GFaceTag); - } - } - Msg::Info("This faces have OCC bounding boxes inside the given box!"); - for (std::vector<int>::iterator it = ListOfGFacesTagsInbox.begin() ; - it != ListOfGFacesTagsInbox.end(); ++it){ - Msg::Info("- %d",*it); - GFace *gf = gm->getFaceByTag(*it); - if(gf){ - gf->addPhysicalEntity(PhysicalGroupNumber); - } - } - break; - case 3 : - for(TopExp_Explorer aSolidExplorer(shape, TopAbs_SOLID); aSolidExplorer.More(); - aSolidExplorer.Next()){ - TopoDS_Solid aSolid = TopoDS::Solid(aSolidExplorer.Current()); - Bnd_Box SolidBB; - BRepBndLib::Add(aSolid,SolidBB); - SolidBB.Get(aXmin, aYmin, aZmin, aXmax, aYmax, aZmax); - if(aXmin>p1[0] - && aYmin>p1[1] - && aZmin>p1[2] - && aXmax<p2[0] - && aYmax<p2[1] - && aZmax<p2[2] - ){ - int GSolidTag = gm->getOCCInternals()->getGTagOfOCCSolidByNativePtr(gm,aSolid); - //Msg::Info("This volume %d (xmin,ymin,zmin)=(%lf,%lf,%lf) (xmax,ymax,zmax)=(%lf,%lf,%lf)",GSolidTag); - ListOfGRegionsTagsInbox.push_back(GSolidTag); - } - } - Msg::Info("These edges have OCC bounding boxes inside the given box!"); - for (std::vector<int>::iterator it = ListOfGRegionsTagsInbox.begin() ; - it != ListOfGRegionsTagsInbox.end(); ++it){ - Msg::Info("- %d",*it); - GRegion *gr = gm->getRegionByTag(*it); - if(gr){ - gr->addPhysicalEntity(PhysicalGroupNumber); - } - } - break; - default: - Msg::Error("First argument of setPhysicalNumToEntitiesInBox should be 0,1,2 or 3 (Vertice, Edge, Surface or Volume)"); - } -} - void OCCFactory::fillet(GModel *gm, std::vector<int> edges, double radius) { try{ diff --git a/Geo/GModelFactory.h b/Geo/GModelFactory.h index ffab382cc8c9dd8765e9698246dc6f8e8f5114ee..af2aeed1a6ca63b15589c1bf42728a6bcf7d3813 100644 --- a/Geo/GModelFactory.h +++ b/Geo/GModelFactory.h @@ -210,15 +210,7 @@ class GModelFactory { Msg::Error("setPeriodicPairOfFaces not implemented yet"); } ; - virtual void setPhysicalNumToEntitiesInBox(GModel *gm, int EntityType, - int PhysicalGroupNumber, - std::vector<double> p1,std::vector<double> p2) - { - Msg::Error("setPhysicalNumToEntitiesInBox not implemented yet"); - } - virtual void healGeometry(GModel *gm, double tolerance = -1.) = 0; - }; class GeoFactory : public GModelFactory { @@ -287,9 +279,6 @@ class OCCFactory : public GModelFactory { void setPeriodicAllFaces(GModel *gm, std::vector<double> FaceTranslationVector); void setPeriodicPairOfFaces(GModel *gm, int numFaceMaster, std::vector<int> EdgeListMaster, int numFaceSlave, std::vector<int> EdgeListSlave); - void setPhysicalNumToEntitiesInBox(GModel *gm, int EntityType, int PhysicalGroupNumber, - std::vector<double> p1, std::vector<double> p2); - void fillet(GModel *gm, std::vector<int> edges, double radius); void healGeometry(GModel *gm, double tolerance = -1.); }; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 960880109d1b06b4bc99d5e640a83917055cf70b..12ed003a053f47547513305ab0c1568e33e40bb9 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -140,7 +140,6 @@ static std::vector<double> ViewCoord; static std::vector<double> *ViewValueList = 0; static int *ViewNumList = 0; static ExtrudeParams extr; -static int curPhysDim = 0; static gmshSurface *myGmshSurface = 0; #define MAX_RECUR_LOOPS 100 static int ImbricatedLoop = 0; @@ -170,7 +169,7 @@ struct doubleXstring{ /* Line 371 of yacc.c */ -#line 174 "Gmsh.tab.cpp" +#line 173 "Gmsh.tab.cpp" # ifndef YY_NULL # if defined __cplusplus && 201103L <= __cplusplus @@ -379,7 +378,7 @@ extern int gmsh_yydebug; typedef union YYSTYPE { /* Line 387 of yacc.c */ -#line 100 "Gmsh.y" +#line 99 "Gmsh.y" char *c; int i; @@ -391,7 +390,7 @@ typedef union YYSTYPE /* Line 387 of yacc.c */ -#line 395 "Gmsh.tab.cpp" +#line 394 "Gmsh.tab.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -419,7 +418,7 @@ int gmsh_yyparse (); /* Copy the second part of user declarations. */ /* Line 390 of yacc.c */ -#line 423 "Gmsh.tab.cpp" +#line 422 "Gmsh.tab.cpp" #ifdef short # undef short @@ -648,16 +647,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 8086 +#define YYLAST 8865 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 188 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 97 +#define YYNNTS 96 /* YYNRULES -- Number of rules. */ -#define YYNRULES 467 +#define YYNRULES 473 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1616 +#define YYNSTATES 1682 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -731,307 +730,318 @@ static const yytype_uint16 yyprhs[] = 423, 430, 440, 446, 454, 464, 474, 486, 494, 504, 514, 515, 517, 518, 522, 528, 529, 539, 545, 546, 556, 557, 561, 565, 571, 572, 575, 579, 585, 589, - 590, 593, 597, 601, 607, 609, 611, 612, 618, 619, - 622, 630, 631, 641, 648, 656, 661, 669, 678, 687, - 695, 703, 715, 724, 733, 734, 744, 753, 763, 767, - 772, 783, 791, 799, 808, 817, 830, 831, 841, 850, - 858, 867, 868, 878, 884, 896, 902, 912, 922, 927, - 937, 947, 949, 951, 952, 955, 962, 969, 976, 983, - 992, 1003, 1018, 1035, 1048, 1057, 1066, 1073, 1088, 1093, - 1100, 1107, 1111, 1116, 1122, 1129, 1133, 1137, 1142, 1148, - 1153, 1159, 1163, 1169, 1177, 1185, 1189, 1197, 1201, 1204, - 1207, 1210, 1213, 1229, 1232, 1235, 1238, 1241, 1244, 1261, - 1265, 1272, 1281, 1290, 1301, 1303, 1306, 1308, 1312, 1317, - 1319, 1325, 1337, 1351, 1352, 1360, 1361, 1375, 1376, 1392, - 1393, 1400, 1409, 1418, 1427, 1440, 1453, 1466, 1481, 1496, - 1511, 1512, 1525, 1526, 1539, 1540, 1553, 1554, 1571, 1572, - 1589, 1590, 1607, 1608, 1627, 1628, 1647, 1648, 1667, 1669, - 1672, 1678, 1686, 1696, 1699, 1702, 1705, 1709, 1712, 1716, - 1719, 1723, 1726, 1730, 1740, 1747, 1748, 1752, 1753, 1755, - 1756, 1759, 1760, 1763, 1771, 1778, 1787, 1793, 1797, 1805, - 1811, 1816, 1823, 1830, 1843, 1854, 1865, 1876, 1887, 1898, - 1903, 1908, 1913, 1918, 1923, 1926, 1930, 1937, 1939, 1941, - 1943, 1946, 1952, 1960, 1971, 1973, 1977, 1980, 1983, 1986, - 1990, 1994, 1998, 2002, 2006, 2010, 2014, 2018, 2022, 2026, - 2030, 2034, 2038, 2042, 2048, 2053, 2058, 2063, 2068, 2073, - 2078, 2083, 2088, 2093, 2098, 2105, 2110, 2115, 2120, 2125, - 2130, 2135, 2140, 2147, 2154, 2161, 2166, 2168, 2170, 2172, - 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2187, 2194, 2196, - 2201, 2206, 2211, 2216, 2221, 2224, 2230, 2236, 2240, 2247, - 2252, 2260, 2267, 2274, 2281, 2286, 2288, 2291, 2294, 2298, - 2302, 2314, 2324, 2332, 2340, 2342, 2346, 2348, 2350, 2353, - 2357, 2362, 2368, 2370, 2372, 2375, 2379, 2383, 2389, 2394, - 2397, 2400, 2403, 2406, 2412, 2418, 2424, 2430, 2432, 2434, - 2438, 2443, 2450, 2452, 2454, 2458, 2462, 2472, 2480, 2482, - 2488, 2492, 2499, 2501, 2505, 2507, 2509, 2513, 2520, 2522, - 2524, 2526, 2531, 2538, 2543, 2548, 2553, 2562, 2567, 2572, - 2579, 2580, 2587, 2589, 2593, 2599, 2605, 2607 + 590, 593, 597, 601, 607, 609, 611, 613, 615, 617, + 619, 621, 623, 624, 630, 631, 634, 642, 651, 673, + 680, 688, 693, 701, 710, 719, 727, 735, 747, 756, + 765, 774, 796, 805, 815, 819, 824, 835, 843, 851, + 860, 869, 882, 891, 913, 922, 930, 939, 948, 970, + 976, 988, 994, 1004, 1014, 1019, 1029, 1039, 1041, 1043, + 1044, 1047, 1054, 1061, 1068, 1075, 1084, 1095, 1110, 1127, + 1140, 1149, 1158, 1165, 1180, 1185, 1192, 1199, 1203, 1208, + 1214, 1221, 1225, 1229, 1234, 1240, 1245, 1251, 1255, 1261, + 1269, 1277, 1281, 1289, 1293, 1296, 1299, 1302, 1305, 1321, + 1324, 1327, 1330, 1333, 1336, 1353, 1357, 1364, 1373, 1382, + 1393, 1395, 1398, 1400, 1404, 1409, 1411, 1417, 1429, 1443, + 1444, 1452, 1453, 1467, 1468, 1484, 1485, 1492, 1501, 1510, + 1519, 1532, 1545, 1558, 1573, 1588, 1603, 1604, 1617, 1618, + 1631, 1632, 1645, 1646, 1663, 1664, 1681, 1682, 1699, 1700, + 1719, 1720, 1739, 1740, 1759, 1761, 1764, 1770, 1778, 1788, + 1791, 1794, 1797, 1801, 1804, 1808, 1811, 1815, 1818, 1822, + 1832, 1839, 1840, 1844, 1845, 1847, 1848, 1851, 1852, 1855, + 1863, 1870, 1879, 1885, 1889, 1897, 1903, 1908, 1915, 1922, + 1935, 1946, 1957, 1968, 1979, 1990, 1995, 2000, 2005, 2010, + 2015, 2018, 2022, 2029, 2031, 2033, 2035, 2038, 2044, 2052, + 2063, 2065, 2069, 2072, 2075, 2078, 2082, 2086, 2090, 2094, + 2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, + 2140, 2145, 2150, 2155, 2160, 2165, 2170, 2175, 2180, 2185, + 2190, 2197, 2202, 2207, 2212, 2217, 2222, 2227, 2232, 2239, + 2246, 2253, 2258, 2260, 2262, 2264, 2266, 2268, 2270, 2272, + 2274, 2276, 2278, 2279, 2286, 2288, 2293, 2298, 2303, 2308, + 2313, 2316, 2322, 2328, 2332, 2339, 2344, 2352, 2359, 2366, + 2373, 2378, 2380, 2383, 2386, 2390, 2394, 2406, 2416, 2424, + 2432, 2434, 2438, 2440, 2442, 2445, 2449, 2454, 2460, 2462, + 2464, 2467, 2471, 2475, 2481, 2486, 2489, 2492, 2495, 2498, + 2504, 2510, 2516, 2522, 2524, 2526, 2530, 2535, 2542, 2544, + 2546, 2550, 2554, 2564, 2572, 2574, 2580, 2584, 2591, 2593, + 2597, 2599, 2601, 2605, 2612, 2614, 2616, 2618, 2623, 2630, + 2635, 2640, 2645, 2654, 2659, 2664, 2671, 2672, 2679, 2681, + 2685, 2691, 2697, 2699 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 189, 0, -1, 190, -1, 1, 6, -1, -1, 190, - 191, -1, 194, -1, 193, -1, 214, -1, 228, -1, - 233, -1, 237, -1, 238, -1, 239, -1, 242, -1, - 262, -1, 263, -1, 241, -1, 240, -1, 236, -1, - 265, -1, 165, -1, 165, 165, -1, 37, 178, 279, - 179, 6, -1, 38, 178, 279, 179, 6, -1, 37, - 178, 279, 179, 192, 279, 6, -1, 37, 178, 279, - 184, 275, 179, 6, -1, 38, 178, 279, 184, 275, - 179, 6, -1, 37, 178, 279, 184, 275, 179, 192, - 279, 6, -1, 4, 279, 185, 195, 186, 6, -1, - 109, 4, 180, 266, 181, 6, -1, 110, 4, 180, - 266, 181, 6, -1, 111, 4, 180, 266, 184, 266, + 191, -1, 194, -1, 193, -1, 214, -1, 231, -1, + 232, -1, 236, -1, 237, -1, 238, -1, 241, -1, + 261, -1, 262, -1, 240, -1, 239, -1, 235, -1, + 264, -1, 165, -1, 165, 165, -1, 37, 178, 278, + 179, 6, -1, 38, 178, 278, 179, 6, -1, 37, + 178, 278, 179, 192, 278, 6, -1, 37, 178, 278, + 184, 274, 179, 6, -1, 38, 178, 278, 184, 274, + 179, 6, -1, 37, 178, 278, 184, 274, 179, 192, + 278, 6, -1, 4, 278, 185, 195, 186, 6, -1, + 109, 4, 180, 265, 181, 6, -1, 110, 4, 180, + 265, 181, 6, -1, 111, 4, 180, 265, 184, 265, 181, 6, -1, -1, 195, 198, -1, 195, 202, -1, - 195, 205, -1, 195, 207, -1, 195, 208, -1, 266, - -1, 196, 184, 266, -1, 266, -1, 197, 184, 266, + 195, 205, -1, 195, 207, -1, 195, 208, -1, 265, + -1, 196, 184, 265, -1, 265, -1, 197, 184, 265, -1, -1, -1, 4, 199, 178, 196, 179, 200, 185, - 197, 186, 6, -1, 279, -1, 201, 184, 279, -1, - -1, 118, 178, 266, 184, 266, 184, 266, 179, 203, - 185, 201, 186, 6, -1, 279, -1, 204, 184, 279, - -1, -1, 119, 178, 266, 184, 266, 184, 266, 184, - 266, 179, 206, 185, 204, 186, 6, -1, 120, 185, - 271, 186, 185, 271, 186, 6, -1, 120, 185, 271, - 186, 185, 271, 186, 185, 271, 186, 185, 271, 186, + 197, 186, 6, -1, 278, -1, 201, 184, 278, -1, + -1, 118, 178, 265, 184, 265, 184, 265, 179, 203, + 185, 201, 186, 6, -1, 278, -1, 204, 184, 278, + -1, -1, 119, 178, 265, 184, 265, 184, 265, 184, + 265, 179, 206, 185, 204, 186, 6, -1, 120, 185, + 270, 186, 185, 270, 186, 6, -1, 120, 185, 270, + 186, 185, 270, 186, 185, 270, 186, 185, 270, 186, 6, -1, -1, 121, 209, 185, 197, 186, 6, -1, 7, -1, 158, -1, 157, -1, 156, -1, 155, -1, 176, -1, 175, -1, 178, -1, 180, -1, 179, -1, 181, -1, 61, 180, 216, 181, 6, -1, 62, 180, - 219, 181, 6, -1, 284, 210, 272, 6, -1, 4, - 180, 181, 210, 272, 6, -1, 4, 180, 266, 181, - 210, 266, 6, -1, 4, 178, 266, 179, 210, 266, - 6, -1, 283, 180, 266, 181, 210, 266, 6, -1, - 4, 212, 185, 275, 186, 213, 210, 272, 6, -1, - 283, 178, 185, 275, 186, 179, 210, 272, 6, -1, - 284, 211, 6, -1, 4, 180, 266, 181, 211, 6, - -1, 283, 180, 266, 181, 211, 6, -1, 284, 7, - 280, 6, -1, 4, 182, 4, 7, 280, 6, -1, - 4, 180, 266, 181, 182, 4, 7, 280, 6, -1, - 4, 182, 4, 210, 266, 6, -1, 4, 180, 266, - 181, 182, 4, 210, 266, 6, -1, 4, 182, 4, - 211, 6, -1, 4, 180, 266, 181, 182, 4, 211, - 6, -1, 4, 182, 128, 182, 4, 7, 276, 6, - -1, 4, 180, 266, 181, 182, 128, 182, 4, 7, - 276, 6, -1, 4, 182, 129, 7, 277, 6, -1, - 4, 180, 266, 181, 182, 129, 7, 277, 6, -1, - 4, 137, 7, 266, 6, -1, 137, 180, 266, 181, - 7, 4, 6, -1, 137, 180, 266, 181, 182, 4, - 7, 266, 6, -1, 137, 180, 266, 181, 182, 4, - 7, 280, 6, -1, 137, 180, 266, 181, 182, 4, - 7, 185, 275, 186, 6, -1, 137, 180, 266, 181, + 219, 181, 6, -1, 283, 210, 271, 6, -1, 4, + 180, 181, 210, 271, 6, -1, 4, 180, 265, 181, + 210, 265, 6, -1, 4, 178, 265, 179, 210, 265, + 6, -1, 282, 180, 265, 181, 210, 265, 6, -1, + 4, 212, 185, 274, 186, 213, 210, 271, 6, -1, + 282, 178, 185, 274, 186, 179, 210, 271, 6, -1, + 283, 211, 6, -1, 4, 180, 265, 181, 211, 6, + -1, 282, 180, 265, 181, 211, 6, -1, 283, 7, + 279, 6, -1, 4, 182, 4, 7, 279, 6, -1, + 4, 180, 265, 181, 182, 4, 7, 279, 6, -1, + 4, 182, 4, 210, 265, 6, -1, 4, 180, 265, + 181, 182, 4, 210, 265, 6, -1, 4, 182, 4, + 211, 6, -1, 4, 180, 265, 181, 182, 4, 211, + 6, -1, 4, 182, 128, 182, 4, 7, 275, 6, + -1, 4, 180, 265, 181, 182, 128, 182, 4, 7, + 275, 6, -1, 4, 182, 129, 7, 276, 6, -1, + 4, 180, 265, 181, 182, 129, 7, 276, 6, -1, + 4, 137, 7, 265, 6, -1, 137, 180, 265, 181, + 7, 4, 6, -1, 137, 180, 265, 181, 182, 4, + 7, 265, 6, -1, 137, 180, 265, 181, 182, 4, + 7, 279, 6, -1, 137, 180, 265, 181, 182, 4, + 7, 185, 274, 186, 6, -1, 137, 180, 265, 181, 182, 4, 6, -1, 89, 178, 4, 179, 182, 4, - 7, 266, 6, -1, 89, 178, 4, 179, 182, 4, - 7, 280, 6, -1, -1, 184, -1, -1, 216, 215, - 284, -1, 216, 215, 284, 7, 266, -1, -1, 216, - 215, 284, 7, 185, 266, 217, 221, 186, -1, 216, - 215, 284, 7, 280, -1, -1, 216, 215, 284, 7, - 185, 280, 218, 223, 186, -1, -1, 219, 215, 279, - -1, 266, 7, 280, -1, 220, 184, 266, 7, 280, - -1, -1, 221, 222, -1, 184, 4, 272, -1, 184, - 4, 185, 220, 186, -1, 184, 4, 280, -1, -1, - 223, 224, -1, 184, 4, 266, -1, 184, 4, 280, - -1, 184, 4, 185, 282, 186, -1, 266, -1, 280, - -1, -1, 131, 69, 185, 266, 186, -1, -1, 81, - 269, -1, 65, 178, 266, 179, 7, 269, 6, -1, - -1, 85, 65, 229, 178, 225, 179, 7, 272, 6, - -1, 74, 75, 272, 7, 266, 6, -1, 68, 178, - 266, 179, 7, 272, 6, -1, 90, 68, 272, 6, - -1, 72, 178, 266, 179, 7, 272, 6, -1, 66, - 178, 266, 179, 7, 272, 227, 6, -1, 67, 178, - 266, 179, 7, 272, 227, 6, -1, 123, 178, 266, - 179, 7, 272, 6, -1, 124, 178, 266, 179, 7, - 272, 6, -1, 125, 178, 266, 179, 7, 272, 127, - 272, 126, 266, 6, -1, 68, 4, 178, 266, 179, - 7, 272, 6, -1, 86, 68, 178, 266, 179, 7, - 272, 6, -1, -1, 85, 68, 230, 178, 225, 179, - 7, 272, 6, -1, 81, 71, 178, 266, 179, 7, - 272, 6, -1, 82, 71, 178, 266, 179, 7, 272, - 226, 6, -1, 12, 13, 6, -1, 13, 71, 266, - 6, -1, 76, 71, 178, 266, 179, 7, 5, 5, - 5, 6, -1, 69, 178, 266, 179, 7, 272, 6, - -1, 70, 178, 266, 179, 7, 272, 6, -1, 71, - 4, 178, 266, 179, 7, 272, 6, -1, 86, 71, - 178, 266, 179, 7, 272, 6, -1, 86, 71, 178, - 266, 179, 7, 272, 4, 185, 271, 186, 6, -1, - -1, 85, 71, 231, 178, 225, 179, 7, 272, 6, - -1, 84, 73, 178, 266, 179, 7, 272, 6, -1, - 73, 178, 266, 179, 7, 272, 6, -1, 86, 73, - 178, 266, 179, 7, 272, 6, -1, -1, 85, 73, - 232, 178, 225, 179, 7, 272, 6, -1, 93, 269, - 185, 234, 186, -1, 92, 185, 269, 184, 269, 184, - 266, 186, 185, 234, 186, -1, 94, 269, 185, 234, - 186, -1, 95, 185, 269, 184, 266, 186, 185, 234, - 186, -1, 95, 185, 269, 184, 269, 186, 185, 234, - 186, -1, 4, 185, 234, 186, -1, 103, 68, 185, - 275, 186, 71, 185, 266, 186, -1, 100, 68, 178, - 266, 179, 185, 275, 186, 6, -1, 235, -1, 233, - -1, -1, 235, 228, -1, 235, 65, 185, 275, 186, - 6, -1, 235, 68, 185, 275, 186, 6, -1, 235, - 71, 185, 275, 186, 6, -1, 235, 73, 185, 275, - 186, 6, -1, 97, 81, 178, 266, 179, 7, 272, - 6, -1, 97, 65, 178, 266, 179, 7, 185, 271, - 186, 6, -1, 97, 81, 178, 266, 179, 7, 185, - 269, 184, 269, 184, 275, 186, 6, -1, 97, 81, - 178, 266, 179, 7, 185, 269, 184, 269, 184, 269, - 184, 275, 186, 6, -1, 97, 69, 178, 266, 179, - 7, 185, 269, 184, 275, 186, 6, -1, 97, 4, - 178, 266, 179, 7, 272, 6, -1, 97, 4, 178, - 266, 179, 7, 5, 6, -1, 97, 4, 185, 266, - 186, 6, -1, 97, 4, 178, 266, 179, 7, 185, - 269, 184, 269, 184, 275, 186, 6, -1, 101, 185, - 235, 186, -1, 101, 137, 180, 266, 181, 6, -1, - 101, 4, 180, 266, 181, 6, -1, 101, 4, 6, - -1, 101, 4, 4, 6, -1, 128, 276, 185, 235, - 186, -1, 91, 128, 276, 185, 235, 186, -1, 141, - 5, 6, -1, 142, 5, 6, -1, 141, 185, 235, - 186, -1, 91, 141, 185, 235, 186, -1, 142, 185, - 235, 186, -1, 91, 142, 185, 235, 186, -1, 4, - 280, 6, -1, 54, 178, 282, 179, 6, -1, 4, - 4, 180, 266, 181, 279, 6, -1, 4, 4, 4, - 180, 266, 181, 6, -1, 4, 266, 6, -1, 89, - 178, 4, 179, 182, 4, 6, -1, 122, 4, 6, - -1, 135, 6, -1, 136, 6, -1, 52, 6, -1, - 48, 6, -1, 48, 185, 266, 184, 266, 184, 266, - 184, 266, 184, 266, 184, 266, 186, 6, -1, 49, - 6, -1, 50, 6, -1, 58, 6, -1, 59, 6, - -1, 78, 6, -1, 79, 185, 275, 186, 185, 275, - 186, 185, 271, 186, 185, 266, 184, 266, 186, 6, - -1, 149, 266, 6, -1, 130, 178, 266, 8, 266, - 179, -1, 130, 178, 266, 8, 266, 8, 266, 179, - -1, 130, 4, 131, 185, 266, 8, 266, 186, -1, - 130, 4, 131, 185, 266, 8, 266, 8, 266, 186, - -1, 132, -1, 140, 4, -1, 138, -1, 139, 4, - 6, -1, 133, 178, 266, 179, -1, 134, -1, 96, - 269, 185, 235, 186, -1, 96, 185, 269, 184, 269, - 184, 266, 186, 185, 235, 186, -1, 96, 185, 269, - 184, 269, 184, 269, 184, 266, 186, 185, 235, 186, - -1, -1, 96, 269, 185, 235, 243, 256, 186, -1, - -1, 96, 185, 269, 184, 269, 184, 266, 186, 185, - 235, 244, 256, 186, -1, -1, 96, 185, 269, 184, - 269, 184, 269, 184, 266, 186, 185, 235, 245, 256, - 186, -1, -1, 96, 185, 235, 246, 256, 186, -1, - 96, 65, 185, 266, 184, 269, 186, 6, -1, 96, - 68, 185, 266, 184, 269, 186, 6, -1, 96, 71, - 185, 266, 184, 269, 186, 6, -1, 96, 65, 185, - 266, 184, 269, 184, 269, 184, 266, 186, 6, -1, - 96, 68, 185, 266, 184, 269, 184, 269, 184, 266, - 186, 6, -1, 96, 71, 185, 266, 184, 269, 184, - 269, 184, 266, 186, 6, -1, 96, 65, 185, 266, - 184, 269, 184, 269, 184, 269, 184, 266, 186, 6, - -1, 96, 68, 185, 266, 184, 269, 184, 269, 184, - 269, 184, 266, 186, 6, -1, 96, 71, 185, 266, - 184, 269, 184, 269, 184, 269, 184, 266, 186, 6, - -1, -1, 96, 65, 185, 266, 184, 269, 186, 247, - 185, 256, 186, 6, -1, -1, 96, 68, 185, 266, - 184, 269, 186, 248, 185, 256, 186, 6, -1, -1, - 96, 71, 185, 266, 184, 269, 186, 249, 185, 256, - 186, 6, -1, -1, 96, 65, 185, 266, 184, 269, - 184, 269, 184, 266, 186, 250, 185, 256, 186, 6, - -1, -1, 96, 68, 185, 266, 184, 269, 184, 269, - 184, 266, 186, 251, 185, 256, 186, 6, -1, -1, - 96, 71, 185, 266, 184, 269, 184, 269, 184, 266, - 186, 252, 185, 256, 186, 6, -1, -1, 96, 65, - 185, 266, 184, 269, 184, 269, 184, 269, 184, 266, - 186, 253, 185, 256, 186, 6, -1, -1, 96, 68, - 185, 266, 184, 269, 184, 269, 184, 269, 184, 266, - 186, 254, 185, 256, 186, 6, -1, -1, 96, 71, - 185, 266, 184, 269, 184, 269, 184, 269, 184, 266, - 186, 255, 185, 256, 186, 6, -1, 257, -1, 256, - 257, -1, 106, 185, 266, 186, 6, -1, 106, 185, - 272, 184, 272, 186, 6, -1, 106, 185, 272, 184, - 272, 184, 272, 186, 6, -1, 107, 6, -1, 98, - 6, -1, 114, 6, -1, 114, 116, 6, -1, 115, - 6, -1, 115, 116, 6, -1, 112, 6, -1, 112, - 116, 6, -1, 113, 6, -1, 113, 116, 6, -1, - 108, 178, 266, 179, 7, 272, 88, 266, 6, -1, - 88, 4, 180, 266, 181, 6, -1, -1, 88, 4, - 266, -1, -1, 4, -1, -1, 7, 272, -1, -1, - 7, 266, -1, 83, 68, 273, 7, 266, 258, 6, - -1, 83, 71, 273, 260, 259, 6, -1, 77, 71, - 185, 266, 186, 7, 272, 6, -1, 83, 73, 273, - 260, 6, -1, 117, 273, 6, -1, 104, 71, 185, - 275, 186, 266, 6, -1, 98, 71, 273, 261, 6, - -1, 98, 73, 273, 6, -1, 99, 71, 272, 7, - 266, 6, -1, 87, 68, 272, 7, 272, 6, -1, - 87, 71, 266, 185, 275, 186, 7, 266, 185, 275, - 186, 6, -1, 65, 185, 275, 186, 131, 71, 185, - 266, 186, 6, -1, 68, 185, 275, 186, 131, 71, - 185, 266, 186, 6, -1, 65, 185, 275, 186, 131, - 73, 185, 266, 186, 6, -1, 68, 185, 275, 186, - 131, 73, 185, 266, 186, 6, -1, 71, 185, 275, - 186, 131, 73, 185, 266, 186, 6, -1, 105, 71, - 273, 6, -1, 105, 68, 273, 6, -1, 80, 65, - 273, 6, -1, 80, 68, 273, 6, -1, 80, 71, - 273, 6, -1, 102, 6, -1, 102, 4, 6, -1, - 102, 65, 185, 275, 186, 6, -1, 146, -1, 147, - -1, 148, -1, 264, 6, -1, 264, 185, 272, 186, - 6, -1, 264, 185, 272, 184, 272, 186, 6, -1, - 264, 178, 272, 179, 185, 272, 184, 272, 186, 6, - -1, 267, -1, 178, 266, 179, -1, 169, 266, -1, - 168, 266, -1, 173, 266, -1, 266, 169, 266, -1, - 266, 168, 266, -1, 266, 170, 266, -1, 266, 171, - 266, -1, 266, 172, 266, -1, 266, 177, 266, -1, - 266, 164, 266, -1, 266, 165, 266, -1, 266, 167, - 266, -1, 266, 166, 266, -1, 266, 163, 266, -1, - 266, 162, 266, -1, 266, 161, 266, -1, 266, 160, - 266, -1, 266, 159, 266, 8, 266, -1, 14, 212, - 266, 213, -1, 15, 212, 266, 213, -1, 16, 212, - 266, 213, -1, 17, 212, 266, 213, -1, 18, 212, - 266, 213, -1, 19, 212, 266, 213, -1, 20, 212, - 266, 213, -1, 21, 212, 266, 213, -1, 22, 212, - 266, 213, -1, 24, 212, 266, 213, -1, 25, 212, - 266, 184, 266, 213, -1, 26, 212, 266, 213, -1, - 27, 212, 266, 213, -1, 28, 212, 266, 213, -1, - 29, 212, 266, 213, -1, 30, 212, 266, 213, -1, - 31, 212, 266, 213, -1, 32, 212, 266, 213, -1, - 33, 212, 266, 184, 266, 213, -1, 34, 212, 266, - 184, 266, 213, -1, 35, 212, 266, 184, 266, 213, - -1, 23, 212, 266, 213, -1, 3, -1, 9, -1, - 10, -1, 11, -1, 152, -1, 153, -1, 154, -1, - 55, -1, 56, -1, 57, -1, -1, 63, 212, 266, - 268, 221, 213, -1, 284, -1, 4, 180, 266, 181, - -1, 283, 180, 266, 181, -1, 150, 178, 284, 179, - -1, 151, 178, 280, 179, -1, 183, 284, 180, 181, - -1, 284, 211, -1, 4, 180, 266, 181, 211, -1, - 283, 180, 266, 181, 211, -1, 4, 182, 4, -1, - 4, 180, 266, 181, 182, 4, -1, 4, 182, 4, - 211, -1, 4, 180, 266, 181, 182, 4, 211, -1, - 143, 178, 279, 184, 266, 179, -1, 45, 178, 279, - 184, 279, 179, -1, 46, 178, 279, 184, 279, 179, - -1, 47, 178, 282, 179, -1, 270, -1, 169, 269, - -1, 168, 269, -1, 269, 169, 269, -1, 269, 168, - 269, -1, 185, 266, 184, 266, 184, 266, 184, 266, - 184, 266, 186, -1, 185, 266, 184, 266, 184, 266, - 184, 266, 186, -1, 185, 266, 184, 266, 184, 266, - 186, -1, 178, 266, 184, 266, 184, 266, 179, -1, - 272, -1, 271, 184, 272, -1, 266, -1, 274, -1, - 185, 186, -1, 185, 275, 186, -1, 169, 185, 275, - 186, -1, 266, 170, 185, 275, 186, -1, 272, -1, - 5, -1, 169, 274, -1, 266, 170, 274, -1, 266, - 8, 266, -1, 266, 8, 266, 8, 266, -1, 65, - 185, 266, 186, -1, 65, 5, -1, 68, 5, -1, - 71, 5, -1, 73, 5, -1, 85, 65, 185, 275, - 186, -1, 85, 68, 185, 275, 186, -1, 85, 71, - 185, 275, 186, -1, 85, 73, 185, 275, 186, -1, - 233, -1, 242, -1, 4, 212, 213, -1, 36, 180, - 4, 181, -1, 4, 212, 185, 275, 186, 213, -1, - 266, -1, 274, -1, 275, 184, 266, -1, 275, 184, - 274, -1, 185, 266, 184, 266, 184, 266, 184, 266, - 186, -1, 185, 266, 184, 266, 184, 266, 186, -1, - 4, -1, 4, 182, 128, 182, 4, -1, 185, 278, - 186, -1, 4, 180, 266, 181, 182, 129, -1, 276, - -1, 278, 184, 276, -1, 280, -1, 284, -1, 4, - 182, 4, -1, 4, 180, 266, 181, 182, 4, -1, - 5, -1, 51, -1, 53, -1, 144, 178, 279, 179, - -1, 145, 178, 279, 184, 279, 179, -1, 41, 212, - 282, 213, -1, 42, 178, 279, 179, -1, 43, 178, - 279, 179, -1, 44, 178, 279, 184, 279, 184, 279, - 179, -1, 39, 212, 282, 213, -1, 40, 212, 279, - 213, -1, 40, 212, 279, 184, 275, 213, -1, -1, - 64, 212, 280, 281, 223, 213, -1, 279, -1, 282, - 184, 279, -1, 4, 187, 185, 266, 186, -1, 283, - 187, 185, 266, 186, -1, 4, -1, 283, -1 + 7, 265, 6, -1, 89, 178, 4, 179, 182, 4, + 7, 279, 6, -1, -1, 184, -1, -1, 216, 215, + 283, -1, 216, 215, 283, 7, 265, -1, -1, 216, + 215, 283, 7, 185, 265, 217, 221, 186, -1, 216, + 215, 283, 7, 279, -1, -1, 216, 215, 283, 7, + 185, 279, 218, 223, 186, -1, -1, 219, 215, 278, + -1, 265, 7, 279, -1, 220, 184, 265, 7, 279, + -1, -1, 221, 222, -1, 184, 4, 271, -1, 184, + 4, 185, 220, 186, -1, 184, 4, 279, -1, -1, + 223, 224, -1, 184, 4, 265, -1, 184, 4, 279, + -1, 184, 4, 185, 281, 186, -1, 265, -1, 279, + -1, 265, -1, 279, -1, 265, -1, 279, -1, 265, + -1, 279, -1, -1, 131, 69, 185, 265, 186, -1, + -1, 81, 268, -1, 65, 178, 265, 179, 7, 268, + 6, -1, 85, 65, 178, 225, 179, 7, 271, 6, + -1, 85, 65, 178, 225, 179, 131, 48, 185, 265, + 184, 265, 184, 265, 184, 265, 184, 265, 184, 265, + 186, 6, -1, 74, 75, 271, 7, 265, 6, -1, + 68, 178, 265, 179, 7, 271, 6, -1, 90, 68, + 271, 6, -1, 72, 178, 265, 179, 7, 271, 6, + -1, 66, 178, 265, 179, 7, 271, 230, 6, -1, + 67, 178, 265, 179, 7, 271, 230, 6, -1, 123, + 178, 265, 179, 7, 271, 6, -1, 124, 178, 265, + 179, 7, 271, 6, -1, 125, 178, 265, 179, 7, + 271, 127, 271, 126, 265, 6, -1, 68, 4, 178, + 265, 179, 7, 271, 6, -1, 86, 68, 178, 265, + 179, 7, 271, 6, -1, 85, 68, 178, 226, 179, + 7, 271, 6, -1, 85, 68, 178, 226, 179, 131, + 48, 185, 265, 184, 265, 184, 265, 184, 265, 184, + 265, 184, 265, 186, 6, -1, 81, 71, 178, 265, + 179, 7, 271, 6, -1, 82, 71, 178, 265, 179, + 7, 271, 229, 6, -1, 12, 13, 6, -1, 13, + 71, 265, 6, -1, 76, 71, 178, 265, 179, 7, + 5, 5, 5, 6, -1, 69, 178, 265, 179, 7, + 271, 6, -1, 70, 178, 265, 179, 7, 271, 6, + -1, 71, 4, 178, 265, 179, 7, 271, 6, -1, + 86, 71, 178, 265, 179, 7, 271, 6, -1, 86, + 71, 178, 265, 179, 7, 271, 4, 185, 270, 186, + 6, -1, 85, 71, 178, 227, 179, 7, 271, 6, + -1, 85, 71, 178, 227, 179, 131, 48, 185, 265, + 184, 265, 184, 265, 184, 265, 184, 265, 184, 265, + 186, 6, -1, 84, 73, 178, 265, 179, 7, 271, + 6, -1, 73, 178, 265, 179, 7, 271, 6, -1, + 86, 73, 178, 265, 179, 7, 271, 6, -1, 85, + 73, 178, 228, 179, 7, 271, 6, -1, 85, 73, + 178, 228, 179, 131, 48, 185, 265, 184, 265, 184, + 265, 184, 265, 184, 265, 184, 265, 186, 6, -1, + 93, 268, 185, 233, 186, -1, 92, 185, 268, 184, + 268, 184, 265, 186, 185, 233, 186, -1, 94, 268, + 185, 233, 186, -1, 95, 185, 268, 184, 265, 186, + 185, 233, 186, -1, 95, 185, 268, 184, 268, 186, + 185, 233, 186, -1, 4, 185, 233, 186, -1, 103, + 68, 185, 274, 186, 71, 185, 265, 186, -1, 100, + 68, 178, 265, 179, 185, 274, 186, 6, -1, 234, + -1, 232, -1, -1, 234, 231, -1, 234, 65, 185, + 274, 186, 6, -1, 234, 68, 185, 274, 186, 6, + -1, 234, 71, 185, 274, 186, 6, -1, 234, 73, + 185, 274, 186, 6, -1, 97, 81, 178, 265, 179, + 7, 271, 6, -1, 97, 65, 178, 265, 179, 7, + 185, 270, 186, 6, -1, 97, 81, 178, 265, 179, + 7, 185, 268, 184, 268, 184, 274, 186, 6, -1, + 97, 81, 178, 265, 179, 7, 185, 268, 184, 268, + 184, 268, 184, 274, 186, 6, -1, 97, 69, 178, + 265, 179, 7, 185, 268, 184, 274, 186, 6, -1, + 97, 4, 178, 265, 179, 7, 271, 6, -1, 97, + 4, 178, 265, 179, 7, 5, 6, -1, 97, 4, + 185, 265, 186, 6, -1, 97, 4, 178, 265, 179, + 7, 185, 268, 184, 268, 184, 274, 186, 6, -1, + 101, 185, 234, 186, -1, 101, 137, 180, 265, 181, + 6, -1, 101, 4, 180, 265, 181, 6, -1, 101, + 4, 6, -1, 101, 4, 4, 6, -1, 128, 275, + 185, 234, 186, -1, 91, 128, 275, 185, 234, 186, + -1, 141, 5, 6, -1, 142, 5, 6, -1, 141, + 185, 234, 186, -1, 91, 141, 185, 234, 186, -1, + 142, 185, 234, 186, -1, 91, 142, 185, 234, 186, + -1, 4, 279, 6, -1, 54, 178, 281, 179, 6, + -1, 4, 4, 180, 265, 181, 278, 6, -1, 4, + 4, 4, 180, 265, 181, 6, -1, 4, 265, 6, + -1, 89, 178, 4, 179, 182, 4, 6, -1, 122, + 4, 6, -1, 135, 6, -1, 136, 6, -1, 52, + 6, -1, 48, 6, -1, 48, 185, 265, 184, 265, + 184, 265, 184, 265, 184, 265, 184, 265, 186, 6, + -1, 49, 6, -1, 50, 6, -1, 58, 6, -1, + 59, 6, -1, 78, 6, -1, 79, 185, 274, 186, + 185, 274, 186, 185, 270, 186, 185, 265, 184, 265, + 186, 6, -1, 149, 265, 6, -1, 130, 178, 265, + 8, 265, 179, -1, 130, 178, 265, 8, 265, 8, + 265, 179, -1, 130, 4, 131, 185, 265, 8, 265, + 186, -1, 130, 4, 131, 185, 265, 8, 265, 8, + 265, 186, -1, 132, -1, 140, 4, -1, 138, -1, + 139, 4, 6, -1, 133, 178, 265, 179, -1, 134, + -1, 96, 268, 185, 234, 186, -1, 96, 185, 268, + 184, 268, 184, 265, 186, 185, 234, 186, -1, 96, + 185, 268, 184, 268, 184, 268, 184, 265, 186, 185, + 234, 186, -1, -1, 96, 268, 185, 234, 242, 255, + 186, -1, -1, 96, 185, 268, 184, 268, 184, 265, + 186, 185, 234, 243, 255, 186, -1, -1, 96, 185, + 268, 184, 268, 184, 268, 184, 265, 186, 185, 234, + 244, 255, 186, -1, -1, 96, 185, 234, 245, 255, + 186, -1, 96, 65, 185, 265, 184, 268, 186, 6, + -1, 96, 68, 185, 265, 184, 268, 186, 6, -1, + 96, 71, 185, 265, 184, 268, 186, 6, -1, 96, + 65, 185, 265, 184, 268, 184, 268, 184, 265, 186, + 6, -1, 96, 68, 185, 265, 184, 268, 184, 268, + 184, 265, 186, 6, -1, 96, 71, 185, 265, 184, + 268, 184, 268, 184, 265, 186, 6, -1, 96, 65, + 185, 265, 184, 268, 184, 268, 184, 268, 184, 265, + 186, 6, -1, 96, 68, 185, 265, 184, 268, 184, + 268, 184, 268, 184, 265, 186, 6, -1, 96, 71, + 185, 265, 184, 268, 184, 268, 184, 268, 184, 265, + 186, 6, -1, -1, 96, 65, 185, 265, 184, 268, + 186, 246, 185, 255, 186, 6, -1, -1, 96, 68, + 185, 265, 184, 268, 186, 247, 185, 255, 186, 6, + -1, -1, 96, 71, 185, 265, 184, 268, 186, 248, + 185, 255, 186, 6, -1, -1, 96, 65, 185, 265, + 184, 268, 184, 268, 184, 265, 186, 249, 185, 255, + 186, 6, -1, -1, 96, 68, 185, 265, 184, 268, + 184, 268, 184, 265, 186, 250, 185, 255, 186, 6, + -1, -1, 96, 71, 185, 265, 184, 268, 184, 268, + 184, 265, 186, 251, 185, 255, 186, 6, -1, -1, + 96, 65, 185, 265, 184, 268, 184, 268, 184, 268, + 184, 265, 186, 252, 185, 255, 186, 6, -1, -1, + 96, 68, 185, 265, 184, 268, 184, 268, 184, 268, + 184, 265, 186, 253, 185, 255, 186, 6, -1, -1, + 96, 71, 185, 265, 184, 268, 184, 268, 184, 268, + 184, 265, 186, 254, 185, 255, 186, 6, -1, 256, + -1, 255, 256, -1, 106, 185, 265, 186, 6, -1, + 106, 185, 271, 184, 271, 186, 6, -1, 106, 185, + 271, 184, 271, 184, 271, 186, 6, -1, 107, 6, + -1, 98, 6, -1, 114, 6, -1, 114, 116, 6, + -1, 115, 6, -1, 115, 116, 6, -1, 112, 6, + -1, 112, 116, 6, -1, 113, 6, -1, 113, 116, + 6, -1, 108, 178, 265, 179, 7, 271, 88, 265, + 6, -1, 88, 4, 180, 265, 181, 6, -1, -1, + 88, 4, 265, -1, -1, 4, -1, -1, 7, 271, + -1, -1, 7, 265, -1, 83, 68, 272, 7, 265, + 257, 6, -1, 83, 71, 272, 259, 258, 6, -1, + 77, 71, 185, 265, 186, 7, 271, 6, -1, 83, + 73, 272, 259, 6, -1, 117, 272, 6, -1, 104, + 71, 185, 274, 186, 265, 6, -1, 98, 71, 272, + 260, 6, -1, 98, 73, 272, 6, -1, 99, 71, + 271, 7, 265, 6, -1, 87, 68, 271, 7, 271, + 6, -1, 87, 71, 265, 185, 274, 186, 7, 265, + 185, 274, 186, 6, -1, 65, 185, 274, 186, 131, + 71, 185, 265, 186, 6, -1, 68, 185, 274, 186, + 131, 71, 185, 265, 186, 6, -1, 65, 185, 274, + 186, 131, 73, 185, 265, 186, 6, -1, 68, 185, + 274, 186, 131, 73, 185, 265, 186, 6, -1, 71, + 185, 274, 186, 131, 73, 185, 265, 186, 6, -1, + 105, 71, 272, 6, -1, 105, 68, 272, 6, -1, + 80, 65, 272, 6, -1, 80, 68, 272, 6, -1, + 80, 71, 272, 6, -1, 102, 6, -1, 102, 4, + 6, -1, 102, 65, 185, 274, 186, 6, -1, 146, + -1, 147, -1, 148, -1, 263, 6, -1, 263, 185, + 271, 186, 6, -1, 263, 185, 271, 184, 271, 186, + 6, -1, 263, 178, 271, 179, 185, 271, 184, 271, + 186, 6, -1, 266, -1, 178, 265, 179, -1, 169, + 265, -1, 168, 265, -1, 173, 265, -1, 265, 169, + 265, -1, 265, 168, 265, -1, 265, 170, 265, -1, + 265, 171, 265, -1, 265, 172, 265, -1, 265, 177, + 265, -1, 265, 164, 265, -1, 265, 165, 265, -1, + 265, 167, 265, -1, 265, 166, 265, -1, 265, 163, + 265, -1, 265, 162, 265, -1, 265, 161, 265, -1, + 265, 160, 265, -1, 265, 159, 265, 8, 265, -1, + 14, 212, 265, 213, -1, 15, 212, 265, 213, -1, + 16, 212, 265, 213, -1, 17, 212, 265, 213, -1, + 18, 212, 265, 213, -1, 19, 212, 265, 213, -1, + 20, 212, 265, 213, -1, 21, 212, 265, 213, -1, + 22, 212, 265, 213, -1, 24, 212, 265, 213, -1, + 25, 212, 265, 184, 265, 213, -1, 26, 212, 265, + 213, -1, 27, 212, 265, 213, -1, 28, 212, 265, + 213, -1, 29, 212, 265, 213, -1, 30, 212, 265, + 213, -1, 31, 212, 265, 213, -1, 32, 212, 265, + 213, -1, 33, 212, 265, 184, 265, 213, -1, 34, + 212, 265, 184, 265, 213, -1, 35, 212, 265, 184, + 265, 213, -1, 23, 212, 265, 213, -1, 3, -1, + 9, -1, 10, -1, 11, -1, 152, -1, 153, -1, + 154, -1, 55, -1, 56, -1, 57, -1, -1, 63, + 212, 265, 267, 221, 213, -1, 283, -1, 4, 180, + 265, 181, -1, 282, 180, 265, 181, -1, 150, 178, + 283, 179, -1, 151, 178, 279, 179, -1, 183, 283, + 180, 181, -1, 283, 211, -1, 4, 180, 265, 181, + 211, -1, 282, 180, 265, 181, 211, -1, 4, 182, + 4, -1, 4, 180, 265, 181, 182, 4, -1, 4, + 182, 4, 211, -1, 4, 180, 265, 181, 182, 4, + 211, -1, 143, 178, 278, 184, 265, 179, -1, 45, + 178, 278, 184, 278, 179, -1, 46, 178, 278, 184, + 278, 179, -1, 47, 178, 281, 179, -1, 269, -1, + 169, 268, -1, 168, 268, -1, 268, 169, 268, -1, + 268, 168, 268, -1, 185, 265, 184, 265, 184, 265, + 184, 265, 184, 265, 186, -1, 185, 265, 184, 265, + 184, 265, 184, 265, 186, -1, 185, 265, 184, 265, + 184, 265, 186, -1, 178, 265, 184, 265, 184, 265, + 179, -1, 271, -1, 270, 184, 271, -1, 265, -1, + 273, -1, 185, 186, -1, 185, 274, 186, -1, 169, + 185, 274, 186, -1, 265, 170, 185, 274, 186, -1, + 271, -1, 5, -1, 169, 273, -1, 265, 170, 273, + -1, 265, 8, 265, -1, 265, 8, 265, 8, 265, + -1, 65, 185, 265, 186, -1, 65, 5, -1, 68, + 5, -1, 71, 5, -1, 73, 5, -1, 85, 65, + 185, 274, 186, -1, 85, 68, 185, 274, 186, -1, + 85, 71, 185, 274, 186, -1, 85, 73, 185, 274, + 186, -1, 232, -1, 241, -1, 4, 212, 213, -1, + 36, 180, 4, 181, -1, 4, 212, 185, 274, 186, + 213, -1, 265, -1, 273, -1, 274, 184, 265, -1, + 274, 184, 273, -1, 185, 265, 184, 265, 184, 265, + 184, 265, 186, -1, 185, 265, 184, 265, 184, 265, + 186, -1, 4, -1, 4, 182, 128, 182, 4, -1, + 185, 277, 186, -1, 4, 180, 265, 181, 182, 129, + -1, 275, -1, 277, 184, 275, -1, 279, -1, 283, + -1, 4, 182, 4, -1, 4, 180, 265, 181, 182, + 4, -1, 5, -1, 51, -1, 53, -1, 144, 178, + 278, 179, -1, 145, 178, 278, 184, 278, 179, -1, + 41, 212, 281, 213, -1, 42, 178, 278, 179, -1, + 43, 178, 278, 179, -1, 44, 178, 278, 184, 278, + 184, 278, 179, -1, 39, 212, 281, 213, -1, 40, + 212, 278, 213, -1, 40, 212, 278, 184, 274, 213, + -1, -1, 64, 212, 279, 280, 223, 213, -1, 278, + -1, 281, 184, 278, -1, 4, 187, 185, 265, 186, + -1, 282, 187, 185, 265, 186, -1, 4, -1, 282, + -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1049,41 +1059,42 @@ static const yytype_uint16 yyrline[] = 895, 915, 938, 949, 957, 979, 1002, 1028, 1049, 1061, 1075, 1075, 1077, 1079, 1088, 1098, 1097, 1109, 1119, 1118, 1132, 1134, 1142, 1148, 1155, 1156, 1160, 1171, 1186, 1196, - 1197, 1202, 1210, 1219, 1237, 1241, 1252, 1255, 1268, 1271, - 1281, 1305, 1304, 1324, 1346, 1364, 1385, 1403, 1433, 1463, - 1481, 1499, 1526, 1544, 1563, 1562, 1585, 1603, 1642, 1648, - 1654, 1661, 1686, 1711, 1728, 1747, 1782, 1781, 1805, 1823, - 1840, 1857, 1856, 1882, 1887, 1892, 1897, 1902, 1907, 1930, - 1936, 1947, 1948, 1953, 1956, 1960, 1983, 2006, 2029, 2057, - 2078, 2104, 2125, 2147, 2167, 2279, 2298, 2336, 2445, 2454, - 2460, 2475, 2503, 2520, 2529, 2543, 2549, 2555, 2564, 2573, - 2582, 2596, 2652, 2677, 2694, 2709, 2728, 2740, 2764, 2768, - 2773, 2780, 2786, 2791, 2797, 2805, 2809, 2813, 2818, 2873, - 2886, 2903, 2920, 2941, 2962, 2997, 3005, 3011, 3018, 3022, - 3031, 3039, 3047, 3056, 3055, 3070, 3069, 3084, 3083, 3098, - 3097, 3111, 3118, 3125, 3132, 3139, 3146, 3153, 3160, 3167, - 3175, 3174, 3188, 3187, 3201, 3200, 3214, 3213, 3227, 3226, - 3240, 3239, 3253, 3252, 3266, 3265, 3279, 3278, 3295, 3298, - 3304, 3316, 3336, 3360, 3364, 3368, 3372, 3376, 3382, 3388, - 3392, 3396, 3400, 3404, 3423, 3436, 3439, 3455, 3458, 3475, - 3478, 3484, 3487, 3494, 3550, 3620, 3625, 3692, 3728, 3736, - 3779, 3818, 3838, 3865, 3905, 3928, 3951, 3955, 3959, 3982, - 4021, 4060, 4081, 4102, 4129, 4133, 4143, 4178, 4179, 4180, - 4184, 4190, 4202, 4220, 4248, 4249, 4250, 4251, 4252, 4253, - 4254, 4255, 4256, 4263, 4264, 4265, 4266, 4267, 4268, 4269, - 4270, 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, - 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, - 4290, 4291, 4292, 4293, 4294, 4295, 4304, 4305, 4306, 4307, - 4308, 4309, 4310, 4311, 4312, 4313, 4318, 4317, 4325, 4342, - 4360, 4378, 4383, 4389, 4401, 4418, 4436, 4457, 4462, 4467, - 4477, 4487, 4492, 4501, 4506, 4533, 4537, 4541, 4545, 4549, - 4556, 4560, 4564, 4568, 4575, 4580, 4587, 4592, 4596, 4601, - 4605, 4613, 4624, 4628, 4640, 4648, 4656, 4663, 4673, 4702, - 4706, 4710, 4714, 4718, 4747, 4776, 4805, 4834, 4844, 4854, - 4866, 4878, 4899, 4904, 4908, 4912, 4924, 4928, 4940, 4947, - 4957, 4961, 4976, 4981, 4988, 4992, 5005, 5013, 5024, 5028, - 5036, 5042, 5050, 5058, 5073, 5087, 5101, 5113, 5129, 5133, - 5153, 5152, 5165, 5170, 5176, 5185, 5198, 5201 + 1197, 1202, 1210, 1219, 1237, 1241, 1250, 1254, 1263, 1267, + 1276, 1280, 1290, 1293, 1306, 1309, 1319, 1342, 1358, 1373, + 1395, 1413, 1434, 1452, 1482, 1512, 1530, 1548, 1575, 1593, + 1611, 1627, 1645, 1663, 1702, 1708, 1714, 1721, 1746, 1771, + 1788, 1807, 1841, 1857, 1876, 1894, 1911, 1927, 1943, 1964, + 1969, 1974, 1979, 1984, 1989, 2012, 2018, 2029, 2030, 2035, + 2038, 2042, 2065, 2088, 2111, 2139, 2160, 2186, 2207, 2229, + 2249, 2361, 2380, 2418, 2527, 2536, 2542, 2557, 2585, 2602, + 2611, 2625, 2631, 2637, 2646, 2655, 2664, 2678, 2734, 2759, + 2776, 2791, 2810, 2822, 2846, 2850, 2855, 2862, 2868, 2873, + 2879, 2887, 2891, 2895, 2900, 2955, 2968, 2985, 3002, 3023, + 3044, 3079, 3087, 3093, 3100, 3104, 3113, 3121, 3129, 3138, + 3137, 3152, 3151, 3166, 3165, 3180, 3179, 3193, 3200, 3207, + 3214, 3221, 3228, 3235, 3242, 3249, 3257, 3256, 3270, 3269, + 3283, 3282, 3296, 3295, 3309, 3308, 3322, 3321, 3335, 3334, + 3348, 3347, 3361, 3360, 3377, 3380, 3386, 3398, 3418, 3442, + 3446, 3450, 3454, 3458, 3464, 3470, 3474, 3478, 3482, 3486, + 3505, 3518, 3521, 3537, 3540, 3557, 3560, 3566, 3569, 3576, + 3632, 3702, 3707, 3774, 3810, 3818, 3861, 3900, 3920, 3947, + 3987, 4010, 4033, 4037, 4041, 4064, 4103, 4142, 4163, 4184, + 4211, 4215, 4225, 4260, 4261, 4262, 4266, 4272, 4284, 4302, + 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337, 4338, 4345, + 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, + 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, + 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, + 4376, 4377, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, + 4394, 4395, 4400, 4399, 4407, 4424, 4442, 4460, 4465, 4471, + 4483, 4500, 4518, 4539, 4544, 4549, 4559, 4569, 4574, 4583, + 4588, 4615, 4619, 4623, 4627, 4631, 4638, 4642, 4646, 4650, + 4657, 4662, 4669, 4674, 4678, 4683, 4687, 4695, 4706, 4710, + 4722, 4730, 4738, 4745, 4755, 4784, 4788, 4792, 4796, 4800, + 4829, 4858, 4887, 4916, 4926, 4936, 4948, 4960, 4981, 4986, + 4990, 4994, 5006, 5010, 5022, 5029, 5039, 5043, 5058, 5063, + 5070, 5074, 5087, 5095, 5106, 5110, 5118, 5124, 5132, 5140, + 5155, 5169, 5183, 5195, 5211, 5215, 5235, 5234, 5247, 5252, + 5258, 5267, 5280, 5283 }; #endif @@ -1133,17 +1144,18 @@ static const char *const yytname[] = "Affectation", "Comma", "DefineConstants", "$@6", "$@7", "UndefineConstants", "Enumeration", "FloatParameterOptions", "FloatParameterOption", "CharParameterOptions", "CharParameterOption", - "PhysicalId", "InSphereCenter", "CircleOptions", "Shape", "$@8", "$@9", - "$@10", "$@11", "Transform", "MultipleShape", "ListOfShapes", "LevelSet", - "Delete", "Colorify", "Visibility", "Command", "Loop", "Extrude", "$@12", - "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "$@20", "$@21", - "$@22", "$@23", "$@24", "ExtrudeParameters", "ExtrudeParameter", - "TransfiniteType", "TransfiniteArrangement", "TransfiniteCorners", - "RecombineAngle", "Constraints", "Coherence", "HomologyCommand", - "Homology", "FExpr", "FExpr_Single", "$@25", "VExpr", "VExpr_Single", + "PhysicalId0", "PhysicalId1", "PhysicalId2", "PhysicalId3", + "InSphereCenter", "CircleOptions", "Shape", "Transform", "MultipleShape", + "ListOfShapes", "LevelSet", "Delete", "Colorify", "Visibility", + "Command", "Loop", "Extrude", "$@8", "$@9", "$@10", "$@11", "$@12", + "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "$@20", + "ExtrudeParameters", "ExtrudeParameter", "TransfiniteType", + "TransfiniteArrangement", "TransfiniteCorners", "RecombineAngle", + "Constraints", "Coherence", "HomologyCommand", "Homology", "FExpr", + "FExpr_Single", "$@21", "VExpr", "VExpr_Single", "RecursiveListOfListOfDouble", "ListOfDouble", "ListOfDoubleOrAll", "FExpr_Multi", "RecursiveListOfDouble", "ColorExpr", "ListOfColor", - "RecursiveListOfColor", "StringExprVar", "StringExpr", "$@26", + "RecursiveListOfColor", "StringExprVar", "StringExpr", "$@22", "RecursiveListOfStringExprVar", "StringIndex", "String__Index", YY_NULL }; #endif @@ -1191,40 +1203,41 @@ static const yytype_uint16 yyr1[] = 215, 215, 216, 216, 216, 217, 216, 216, 218, 216, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 227, 227, - 228, 229, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 230, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 231, 228, 228, 228, - 228, 232, 228, 233, 233, 233, 233, 233, 233, 233, - 233, 234, 234, 235, 235, 235, 235, 235, 235, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, - 237, 237, 237, 238, 238, 239, 239, 239, 239, 239, - 239, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 242, 242, 242, 243, 242, 244, 242, 245, 242, 246, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 247, 242, 248, 242, 249, 242, 250, 242, 251, 242, - 252, 242, 253, 242, 254, 242, 255, 242, 256, 256, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 258, 258, 259, 259, 260, - 260, 261, 261, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 262, 263, 263, 263, 264, 264, 264, - 265, 265, 265, 265, 266, 266, 266, 266, 266, 266, + 228, 228, 229, 229, 230, 230, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 232, + 232, 232, 232, 232, 232, 232, 232, 233, 233, 234, + 234, 234, 234, 234, 234, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 236, 236, 236, 236, 236, 237, + 237, 238, 238, 238, 238, 238, 238, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 241, 241, 241, 242, + 241, 243, 241, 244, 241, 245, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 246, 241, 247, 241, + 248, 241, 249, 241, 250, 241, 251, 241, 252, 241, + 253, 241, 254, 241, 255, 255, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 257, 257, 258, 258, 259, 259, 260, 260, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 262, 262, 262, 263, 263, 263, 264, 264, 264, 264, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 267, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 268, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 269, 269, 269, 269, 269, - 270, 270, 270, 270, 271, 271, 272, 272, 272, 272, - 272, 272, 273, 273, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 275, 275, 275, 275, 276, 276, 276, 276, - 277, 277, 278, 278, 279, 279, 279, 279, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 281, 280, 282, 282, 283, 283, 284, 284 + 266, 268, 268, 268, 268, 268, 269, 269, 269, 269, + 270, 270, 271, 271, 271, 271, 271, 271, 272, 272, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 274, 274, + 274, 274, 275, 275, 275, 275, 276, 276, 277, 277, + 278, 278, 278, 278, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 280, 279, 281, 281, + 282, 282, 283, 283 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1242,41 +1255,42 @@ static const yytype_uint8 yyr2[] = 6, 9, 5, 7, 9, 9, 11, 7, 9, 9, 0, 1, 0, 3, 5, 0, 9, 5, 0, 9, 0, 3, 3, 5, 0, 2, 3, 5, 3, 0, - 2, 3, 3, 5, 1, 1, 0, 5, 0, 2, - 7, 0, 9, 6, 7, 4, 7, 8, 8, 7, - 7, 11, 8, 8, 0, 9, 8, 9, 3, 4, - 10, 7, 7, 8, 8, 12, 0, 9, 8, 7, - 8, 0, 9, 5, 11, 5, 9, 9, 4, 9, - 9, 1, 1, 0, 2, 6, 6, 6, 6, 8, - 10, 14, 16, 12, 8, 8, 6, 14, 4, 6, - 6, 3, 4, 5, 6, 3, 3, 4, 5, 4, - 5, 3, 5, 7, 7, 3, 7, 3, 2, 2, - 2, 2, 15, 2, 2, 2, 2, 2, 16, 3, - 6, 8, 8, 10, 1, 2, 1, 3, 4, 1, - 5, 11, 13, 0, 7, 0, 13, 0, 15, 0, - 6, 8, 8, 8, 12, 12, 12, 14, 14, 14, - 0, 12, 0, 12, 0, 12, 0, 16, 0, 16, - 0, 16, 0, 18, 0, 18, 0, 18, 1, 2, - 5, 7, 9, 2, 2, 2, 3, 2, 3, 2, - 3, 2, 3, 9, 6, 0, 3, 0, 1, 0, - 2, 0, 2, 7, 6, 8, 5, 3, 7, 5, - 4, 6, 6, 12, 10, 10, 10, 10, 10, 4, - 4, 4, 4, 4, 2, 3, 6, 1, 1, 1, - 2, 5, 7, 10, 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, 4, 6, 6, 6, 4, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 6, 1, 4, - 4, 4, 4, 4, 2, 5, 5, 3, 6, 4, - 7, 6, 6, 6, 4, 1, 2, 2, 3, 3, - 11, 9, 7, 7, 1, 3, 1, 1, 2, 3, - 4, 5, 1, 1, 2, 3, 3, 5, 4, 2, - 2, 2, 2, 5, 5, 5, 5, 1, 1, 3, - 4, 6, 1, 1, 3, 3, 9, 7, 1, 5, - 3, 6, 1, 3, 1, 1, 3, 6, 1, 1, - 1, 4, 6, 4, 4, 4, 8, 4, 4, 6, - 0, 6, 1, 3, 5, 5, 1, 1 + 2, 3, 3, 5, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 5, 0, 2, 7, 8, 21, 6, + 7, 4, 7, 8, 8, 7, 7, 11, 8, 8, + 8, 21, 8, 9, 3, 4, 10, 7, 7, 8, + 8, 12, 8, 21, 8, 7, 8, 8, 21, 5, + 11, 5, 9, 9, 4, 9, 9, 1, 1, 0, + 2, 6, 6, 6, 6, 8, 10, 14, 16, 12, + 8, 8, 6, 14, 4, 6, 6, 3, 4, 5, + 6, 3, 3, 4, 5, 4, 5, 3, 5, 7, + 7, 3, 7, 3, 2, 2, 2, 2, 15, 2, + 2, 2, 2, 2, 16, 3, 6, 8, 8, 10, + 1, 2, 1, 3, 4, 1, 5, 11, 13, 0, + 7, 0, 13, 0, 15, 0, 6, 8, 8, 8, + 12, 12, 12, 14, 14, 14, 0, 12, 0, 12, + 0, 12, 0, 16, 0, 16, 0, 16, 0, 18, + 0, 18, 0, 18, 1, 2, 5, 7, 9, 2, + 2, 2, 3, 2, 3, 2, 3, 2, 3, 9, + 6, 0, 3, 0, 1, 0, 2, 0, 2, 7, + 6, 8, 5, 3, 7, 5, 4, 6, 6, 12, + 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, + 2, 3, 6, 1, 1, 1, 2, 5, 7, 10, + 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, 4, 6, 6, + 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 6, 1, 4, 4, 4, 4, 4, + 2, 5, 5, 3, 6, 4, 7, 6, 6, 6, + 4, 1, 2, 2, 3, 3, 11, 9, 7, 7, + 1, 3, 1, 1, 2, 3, 4, 5, 1, 1, + 2, 3, 3, 5, 4, 2, 2, 2, 2, 5, + 5, 5, 5, 1, 1, 3, 4, 6, 1, 1, + 3, 3, 9, 7, 1, 5, 3, 6, 1, 3, + 1, 1, 3, 6, 1, 1, 1, 4, 6, 4, + 4, 4, 8, 4, 4, 6, 0, 6, 1, 3, + 5, 5, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1284,690 +1298,708 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 0, 2, 3, 1, 466, 0, 0, 0, + 0, 0, 0, 2, 3, 1, 472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 229, 0, 0, 0, 226, 0, 0, 0, 0, - 317, 318, 319, 0, 5, 7, 6, 8, 9, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 0, 235, 0, 0, 0, 232, 0, 0, 0, 0, + 323, 324, 325, 0, 5, 7, 6, 8, 9, 10, 19, 11, 12, 13, 18, 17, 14, 15, 16, 0, - 20, 467, 0, 366, 466, 448, 367, 368, 369, 0, + 20, 473, 0, 372, 472, 454, 373, 374, 375, 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, - 449, 450, 373, 374, 375, 0, 0, 0, 0, 0, - 0, 0, 0, 370, 371, 372, 0, 0, 0, 65, - 66, 0, 0, 173, 0, 0, 0, 324, 0, 444, - 467, 378, 0, 0, 0, 0, 211, 0, 213, 214, - 210, 0, 215, 216, 102, 110, 0, 0, 0, 0, + 455, 456, 379, 380, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 376, 377, 378, 0, 0, 0, 65, + 66, 0, 0, 179, 0, 0, 0, 330, 0, 450, + 473, 384, 0, 0, 0, 0, 217, 0, 219, 220, + 216, 0, 221, 222, 102, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 131, 144, 156, 161, 0, 0, 0, + 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 395, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 173, 0, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 466, 413, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 427, 428, 406, 412, 0, 407, 378, - 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, - 208, 209, 0, 0, 225, 0, 173, 0, 173, 466, - 0, 320, 0, 0, 0, 0, 0, 58, 62, 61, + 0, 0, 0, 401, 0, 0, 0, 0, 0, 179, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 0, 320, 0, 0, 0, 0, 0, 0, + 0, 0, 472, 419, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 433, 434, 412, 418, 0, 413, 384, + 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, + 214, 215, 0, 0, 231, 0, 179, 0, 179, 472, + 0, 326, 0, 0, 0, 0, 0, 58, 62, 61, 60, 59, 64, 63, 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 327, 326, 328, 0, 0, 0, 0, 0, 0, 466, - 467, 0, 0, 172, 0, 171, 0, 0, 205, 0, + 333, 332, 334, 0, 0, 0, 0, 0, 0, 472, + 473, 0, 0, 178, 0, 177, 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 201, 0, 384, 148, 0, - 466, 0, 444, 445, 0, 0, 462, 0, 100, 100, - 0, 0, 432, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 207, 0, 390, 154, 0, + 472, 0, 450, 451, 0, 0, 468, 0, 100, 100, + 0, 0, 438, 439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 289, 289, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 173, 173, 0, 397, 396, 0, 0, 0, 0, - 173, 173, 0, 0, 0, 0, 0, 0, 0, 239, - 0, 173, 0, 0, 0, 0, 0, 291, 0, 0, - 0, 0, 191, 0, 0, 0, 315, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 0, 419, - 0, 420, 421, 422, 0, 0, 0, 0, 0, 326, - 414, 0, 408, 0, 0, 0, 297, 207, 0, 0, - 0, 0, 0, 173, 0, 0, 0, 0, 227, 195, - 0, 196, 0, 0, 219, 0, 0, 0, 0, 0, - 0, 0, 78, 0, 0, 387, 0, 0, 0, 0, + 0, 179, 179, 0, 403, 402, 0, 0, 0, 0, + 179, 179, 0, 0, 0, 0, 0, 0, 0, 245, + 0, 179, 0, 0, 0, 0, 0, 297, 0, 0, + 0, 0, 197, 0, 0, 0, 321, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 0, 0, 0, 425, + 0, 426, 427, 428, 0, 0, 0, 0, 0, 332, + 420, 0, 414, 0, 0, 0, 303, 213, 0, 0, + 0, 0, 0, 179, 0, 0, 0, 0, 233, 201, + 0, 202, 0, 0, 225, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 393, 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, 376, 460, 0, - 0, 0, 0, 0, 0, 325, 58, 0, 0, 58, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, - 174, 0, 0, 0, 342, 341, 340, 339, 335, 336, - 338, 337, 330, 329, 331, 332, 333, 334, 0, 0, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 382, 466, 0, + 0, 0, 0, 0, 0, 331, 58, 0, 0, 58, + 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, + 180, 0, 0, 0, 348, 347, 346, 345, 341, 342, + 344, 343, 336, 335, 337, 338, 339, 340, 0, 0, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 311, 312, 313, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 173, 0, 0, 0, 0, - 0, 399, 398, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 300, 0, 0, 192, 0, 0, 188, 0, 0, 0, - 310, 309, 0, 0, 0, 0, 387, 67, 68, 0, - 429, 0, 0, 0, 0, 0, 0, 0, 325, 409, - 416, 0, 331, 415, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 197, 199, 0, 0, 0, 0, - 0, 0, 81, 71, 0, 379, 389, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 365, 353, 0, 355, - 356, 357, 358, 359, 360, 361, 0, 0, 0, 457, - 0, 458, 453, 454, 455, 0, 0, 0, 394, 114, - 119, 92, 0, 451, 0, 381, 382, 0, 0, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 0, 383, - 0, 0, 0, 0, 464, 0, 0, 43, 0, 0, - 0, 56, 0, 34, 35, 36, 37, 38, 380, 0, - 446, 23, 21, 0, 0, 24, 0, 0, 202, 463, - 69, 103, 70, 111, 0, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 317, 318, 319, 0, 0, 0, + 0, 293, 0, 0, 0, 124, 125, 0, 126, 127, + 0, 128, 129, 0, 130, 131, 0, 0, 0, 0, + 0, 0, 141, 179, 0, 0, 0, 0, 0, 405, + 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 239, 0, 0, 0, 0, 0, 0, 0, 306, 0, + 0, 198, 0, 0, 194, 0, 0, 0, 316, 315, + 0, 0, 0, 0, 393, 67, 68, 0, 435, 0, + 0, 0, 0, 0, 0, 0, 331, 415, 422, 0, + 337, 421, 0, 0, 0, 0, 0, 0, 0, 0, + 234, 0, 203, 205, 0, 0, 0, 0, 0, 0, + 81, 71, 0, 385, 395, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 371, 359, 0, 361, 362, 363, + 364, 365, 366, 367, 0, 0, 0, 463, 0, 464, + 459, 460, 461, 0, 0, 0, 400, 114, 119, 92, + 0, 457, 0, 387, 388, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 0, 389, 0, 0, + 0, 0, 470, 0, 0, 43, 0, 0, 0, 56, + 0, 34, 35, 36, 37, 38, 386, 0, 452, 23, + 21, 0, 0, 24, 0, 0, 208, 469, 69, 103, + 70, 111, 0, 440, 441, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 291, 296, 294, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 285, 290, 288, 0, 296, - 0, 0, 124, 125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 198, 200, 0, 0, 0, 163, - 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 268, 0, 230, 0, - 0, 0, 0, 0, 0, 292, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 379, 0, 430, - 418, 0, 0, 0, 0, 410, 0, 0, 0, 0, - 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, - 321, 0, 0, 0, 465, 0, 0, 385, 0, 0, + 204, 206, 0, 0, 0, 169, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 0, 0, 0, 0, 79, 82, 84, - 0, 0, 442, 0, 90, 0, 0, 0, 0, 0, - 343, 0, 0, 0, 0, 0, 29, 386, 0, 22, - 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, + 0, 0, 274, 0, 236, 0, 0, 0, 0, 0, + 0, 298, 305, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 436, 424, 0, 0, 0, + 0, 416, 0, 0, 0, 0, 0, 0, 0, 199, + 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, + 471, 0, 0, 391, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, + 0, 0, 0, 79, 82, 84, 0, 0, 448, 0, + 90, 0, 0, 0, 0, 0, 349, 0, 0, 0, + 0, 0, 29, 392, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 134, 134, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, + 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 308, 0, 0, + 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 279, 0, 285, 0, 287, 0, 281, 0, + 283, 0, 246, 275, 0, 0, 0, 192, 0, 0, + 0, 307, 0, 196, 195, 322, 0, 0, 30, 31, + 0, 0, 0, 429, 430, 431, 432, 423, 417, 0, + 0, 0, 445, 0, 0, 0, 226, 0, 0, 0, + 0, 0, 0, 80, 210, 394, 209, 360, 368, 369, + 370, 465, 0, 398, 399, 0, 383, 115, 0, 467, + 120, 397, 458, 74, 58, 0, 0, 0, 0, 73, + 0, 0, 0, 446, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 410, 0, 0, 25, 26, 0, 27, + 0, 0, 104, 107, 136, 0, 0, 0, 0, 0, + 0, 140, 0, 0, 157, 158, 0, 0, 142, 165, + 0, 0, 0, 0, 132, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 0, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, - 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 274, 0, 273, 0, 279, 0, 281, 0, 275, 0, - 277, 0, 240, 269, 0, 0, 0, 186, 0, 0, - 0, 301, 0, 190, 189, 316, 0, 0, 30, 31, - 0, 0, 0, 423, 424, 425, 426, 417, 411, 0, - 0, 0, 439, 0, 0, 0, 220, 0, 0, 0, - 0, 0, 0, 80, 204, 388, 203, 354, 362, 363, - 364, 459, 0, 392, 393, 0, 377, 115, 0, 461, - 120, 391, 452, 74, 58, 0, 0, 0, 0, 73, - 0, 0, 0, 440, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 404, 0, 0, 25, 26, 0, 27, - 0, 0, 104, 107, 130, 0, 0, 0, 0, 0, - 0, 134, 0, 0, 151, 152, 0, 0, 136, 159, - 0, 0, 0, 0, 126, 0, 293, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, - 0, 173, 173, 0, 250, 0, 252, 0, 254, 0, - 406, 0, 0, 280, 282, 276, 278, 0, 0, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 0, 388, 431, 139, 140, 0, 0, 0, 0, 93, - 97, 0, 0, 322, 0, 75, 390, 0, 0, 0, - 0, 0, 87, 0, 0, 88, 0, 443, 175, 176, - 177, 178, 0, 0, 39, 0, 0, 0, 0, 0, - 41, 447, 0, 0, 105, 108, 0, 0, 129, 137, - 138, 142, 0, 0, 153, 0, 0, 295, 0, 146, - 0, 0, 286, 158, 0, 0, 0, 0, 143, 0, - 154, 160, 0, 0, 0, 0, 403, 0, 402, 0, - 0, 0, 241, 0, 0, 242, 0, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 185, 0, 0, 184, - 0, 0, 0, 179, 0, 0, 32, 0, 0, 437, - 0, 222, 221, 0, 0, 0, 0, 0, 456, 0, - 116, 118, 0, 121, 122, 83, 85, 0, 91, 0, - 76, 44, 0, 0, 0, 405, 0, 0, 0, 28, - 0, 114, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 147, 132, 145, 157, 162, 0, 0, 98, 99, - 173, 0, 166, 167, 0, 0, 0, 0, 0, 0, - 0, 270, 0, 0, 173, 0, 0, 0, 0, 0, - 170, 169, 0, 0, 0, 0, 94, 95, 0, 77, - 0, 432, 0, 0, 441, 0, 40, 0, 0, 0, - 42, 57, 0, 0, 0, 304, 306, 305, 307, 308, - 150, 0, 0, 0, 0, 0, 0, 401, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, - 0, 235, 0, 0, 180, 0, 0, 0, 436, 223, - 0, 323, 0, 117, 0, 123, 89, 0, 0, 0, - 0, 0, 106, 109, 0, 0, 0, 0, 164, 0, - 256, 0, 0, 258, 0, 0, 260, 0, 0, 0, - 271, 0, 231, 0, 173, 0, 0, 0, 141, 96, - 0, 112, 0, 48, 0, 54, 0, 0, 0, 127, - 155, 303, 400, 244, 0, 0, 251, 245, 0, 0, - 253, 246, 0, 0, 255, 0, 0, 0, 237, 0, - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 262, 0, 264, 0, 266, 272, 283, 236, 232, - 0, 0, 0, 0, 113, 45, 0, 52, 0, 0, - 0, 0, 247, 0, 0, 248, 0, 0, 249, 0, - 0, 187, 0, 181, 0, 46, 0, 0, 212, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 0, - 0, 0, 218, 257, 0, 259, 0, 261, 0, 182, - 47, 49, 0, 50, 0, 0, 0, 0, 0, 0, - 55, 263, 265, 267, 51, 53 + 212, 0, 0, 0, 0, 179, 179, 0, 256, 0, + 258, 0, 260, 0, 412, 0, 0, 286, 288, 282, + 284, 0, 0, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 0, 394, 437, 145, 146, 0, + 0, 0, 0, 93, 97, 0, 0, 328, 0, 75, + 396, 0, 0, 0, 0, 0, 87, 0, 0, 88, + 0, 449, 181, 182, 183, 184, 0, 0, 39, 0, + 0, 0, 0, 0, 41, 453, 0, 0, 105, 108, + 0, 0, 135, 143, 144, 148, 0, 0, 159, 0, + 0, 301, 0, 152, 0, 0, 292, 164, 137, 0, + 150, 0, 162, 0, 167, 0, 149, 0, 160, 166, + 0, 0, 0, 0, 409, 0, 408, 0, 0, 0, + 247, 0, 0, 248, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 191, 0, 0, 190, 0, 0, + 0, 185, 0, 0, 32, 0, 0, 443, 0, 228, + 227, 0, 0, 0, 0, 0, 462, 0, 116, 118, + 0, 121, 122, 83, 85, 0, 91, 0, 76, 44, + 0, 0, 0, 411, 0, 0, 0, 28, 0, 114, + 119, 0, 0, 0, 0, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 0, 0, 98, 99, 179, 0, + 172, 173, 0, 0, 0, 0, 0, 0, 0, 276, + 0, 0, 179, 0, 0, 0, 0, 0, 176, 175, + 0, 0, 0, 0, 94, 95, 0, 77, 0, 438, + 0, 0, 447, 0, 40, 0, 0, 0, 42, 57, + 0, 0, 0, 310, 312, 311, 313, 314, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, + 0, 0, 0, 241, 0, 0, 186, 0, 0, 0, + 442, 229, 0, 329, 0, 117, 0, 123, 89, 0, + 0, 0, 0, 0, 106, 109, 0, 0, 0, 0, + 0, 0, 0, 0, 170, 0, 262, 0, 0, 264, + 0, 0, 266, 0, 0, 0, 277, 0, 237, 0, + 179, 0, 0, 0, 147, 96, 0, 112, 0, 48, + 0, 54, 0, 0, 0, 133, 0, 0, 0, 0, + 161, 309, 406, 250, 0, 0, 257, 251, 0, 0, + 259, 252, 0, 0, 261, 0, 0, 0, 243, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 268, 0, 270, 0, 272, + 278, 289, 242, 238, 0, 0, 0, 0, 113, 45, + 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 254, 0, 0, 255, 0, 0, 193, + 0, 187, 0, 46, 0, 0, 218, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 0, 0, 224, 0, 0, 0, 0, 263, + 0, 265, 0, 267, 0, 188, 47, 49, 0, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 269, 271, 273, 51, 53, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 151, + 163, 168 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 84, 833, 85, 86, 618, 1253, 1259, - 823, 991, 1415, 1574, 824, 1535, 1602, 825, 1576, 826, - 827, 995, 314, 397, 165, 720, 87, 632, 408, 1361, - 1362, 409, 1410, 967, 1117, 968, 1120, 871, 1281, 1158, - 600, 439, 440, 441, 442, 273, 374, 375, 90, 91, - 92, 93, 94, 95, 274, 909, 1493, 1550, 690, 1303, - 1306, 1309, 1514, 1518, 1522, 1563, 1566, 1569, 905, 906, - 1027, 868, 661, 699, 97, 98, 99, 100, 275, 167, - 789, 455, 233, 1142, 276, 277, 278, 513, 286, 808, - 983, 406, 402, 790, 407, 170, 279 + -1, 2, 3, 84, 841, 85, 86, 618, 1267, 1273, + 831, 997, 1433, 1612, 832, 1565, 1648, 833, 1614, 834, + 835, 1001, 314, 397, 165, 728, 87, 632, 408, 1379, + 1380, 409, 1428, 973, 1127, 974, 1130, 664, 667, 670, + 673, 1295, 1168, 600, 273, 374, 375, 90, 91, 92, + 93, 94, 95, 274, 915, 1519, 1584, 698, 1321, 1324, + 1327, 1544, 1548, 1552, 1601, 1604, 1607, 911, 912, 1033, + 876, 661, 707, 97, 98, 99, 100, 275, 167, 797, + 455, 233, 1152, 276, 277, 278, 513, 286, 816, 989, + 406, 402, 798, 407, 170, 279 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1212 +#define YYPACT_NINF -1176 static const yytype_int16 yypact[] = { - 5192, 57, 33, 5306, -1212, -1212, 2277, 56, 31, -45, - 14, 24, 194, 210, 219, 61, 237, 286, 124, 171, - -105, 160, 243, 4, 299, 310, 16, 327, 331, 360, - 413, 474, 550, 364, 439, 512, 524, 507, 469, 167, - 548, 78, 462, 581, -63, 468, 59, 59, 476, -12, - 67, 180, 596, 612, 1, 54, 615, 620, 87, 710, - 717, 724, 3092, 735, 499, 529, 566, 18, 20, -1212, - 570, -1212, 743, 752, 592, -1212, 769, 777, 12, 26, - -1212, -1212, -1212, 5030, -1212, -1212, -1212, -1212, -1212, -1212, - -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, 17, - -1212, -43, 235, -1212, 3, -1212, -1212, -1212, -1212, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 600, 618, 619, 623, 624, 627, - -1212, -1212, -1212, -1212, -1212, 195, 195, 803, 636, 644, - 647, 648, 674, -1212, -1212, -1212, 5030, 5030, 5030, 5030, - 4854, 35, 825, 47, 656, 657, 774, -1212, 675, 862, - 138, 233, 870, 5030, 1766, 1766, -1212, 5030, -1212, -1212, - -1212, 1766, -1212, -1212, -1212, -1212, 5030, 4627, 5030, 5030, - 705, 5030, 4627, 5030, 5030, 714, 4627, 5030, 5030, 3446, - 750, 747, -1212, 4627, 3092, 3092, 3092, 770, 789, 3092, - 3092, 3092, 793, -1212, -1212, -1212, -1212, 794, 815, 826, - 3446, 5030, 884, 3446, 18, 762, 820, 59, 59, 59, - 5030, 5030, -42, -1212, -15, 59, 834, 845, 846, 251, - 8, 6, 831, 836, 854, 3092, 3092, 3446, 856, 37, - 844, -1212, 1029, -1212, 857, 858, 859, 3092, 3092, 871, - 874, 878, 411, -1212, 883, 27, 1045, 1059, 1065, 565, - 3623, 5030, 2710, -1212, -1212, 2860, -1212, 1068, -1212, 5, - 1069, 5030, 5030, 5030, 889, 5030, 891, 949, 5030, 5030, - -1212, -1212, 5030, 1083, -1212, 1087, -1212, 1088, -1212, -65, - 967, -1212, 3446, 3446, 910, 5030, 916, 683, -1212, -1212, - -1212, -1212, -1212, -1212, 3446, 1096, 923, 5030, 1100, -1212, - -1212, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, - 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, - 5030, 5030, 5030, 1766, 1766, 1766, 1766, 1766, 1766, 1766, - 1766, 1766, 5030, 683, 5030, 1766, 1766, 1766, 825, 683, - 928, 928, 928, 7195, 101, 6850, 241, 925, 1101, 924, - 926, 934, 930, -1212, 931, 5400, 5030, 4627, -1212, 5030, - 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, - 5030, 5030, 5030, 5030, -1212, -1212, 5030, -1212, -1212, 1116, - 49, -59, -1212, -1212, 131, 6177, -1212, 188, 110, 352, - 7216, 4627, 2879, -1212, 197, 7237, 7258, 5030, 7279, 258, - 7300, 7321, 5030, 322, 7342, 7363, 1111, 5030, 5030, 408, - 1113, 1114, 1115, 5030, 5030, 1117, 1133, 1133, 5030, 945, - 965, 968, 969, 5030, 5030, 5030, 1142, 6123, 972, 1144, - 970, -1212, -1212, -92, -1212, -1212, 6203, 6229, 59, 59, - 47, 47, 65, 5030, 5030, 5030, 251, 251, 5030, 5400, - 119, -1212, 5030, 5030, 5030, 5030, 5030, 1145, 1148, 1149, - 5030, 1152, -1212, 5030, 5030, 500, -1212, 4627, 4627, 4627, - 1153, 1154, 5030, 5030, 5030, 5030, 1161, 458, 1162, -1212, - 5030, -1212, -1212, -1212, 982, 986, 987, 988, 4627, 928, - -1212, 7384, -1212, 448, 5030, 3800, -1212, -1212, 7405, 7426, - 7447, 1041, 6255, -1212, 989, 4293, 7468, 6873, -1212, -1212, - 1334, -1212, 2078, 5030, -1212, 996, 482, 4627, 6896, 5030, - 1170, 1171, -1212, 5030, 6919, 271, 6827, 6827, 6827, 6827, - 6827, 6827, 6827, 6827, 6827, 6827, 6827, 6281, 6827, 6827, - 6827, 6827, 6827, 6827, 6827, 6307, 6333, 6359, 471, 481, - 471, 1000, 1002, 998, 999, 1001, 205, 7909, -1212, 1156, - 1003, 1012, 1008, 1016, 1017, 101, -1212, 3446, 144, 683, - 5030, 1192, 1197, 23, 1023, -1212, 270, 21, 25, 298, - -1212, 4823, 506, 4592, 1427, 2309, 810, 810, 502, 502, - 502, 502, 158, 158, 928, 928, 928, 928, 10, 6942, - -1212, 5030, 1203, 9, 4627, 1202, 4627, 5030, 1208, 1766, - 1209, -1212, 825, 1215, 1766, 1217, 4627, 4627, 1091, 1218, - 1219, 7489, 1220, 1097, 1222, 1223, 7510, 1102, 1224, 1227, - 5030, 7531, 5395, 1050, -1212, -1212, -1212, 7552, 7573, 5030, - 3446, 1232, 1235, 7594, 4798, 4798, 4798, 4798, 7615, 7636, - 7657, 3446, 4627, 1060, -1212, -1212, 3131, 3308, 59, 5030, - 5030, -1212, -1212, 1057, 1058, 251, 6385, 6411, 6437, 5055, - 725, 59, 3485, 7678, 5423, 7699, 7720, 7741, 5030, 1240, - -1212, 5030, 7762, -1212, 6965, 6988, -1212, 519, 551, 554, - -1212, -1212, 7011, 7034, 6463, 7057, 5, -1212, -1212, 4627, - -1212, 1066, 5451, 4627, 4627, 4627, 4627, 559, -1212, -1212, - 4759, 4627, 928, -1212, 1241, 1242, 1243, 1072, 5030, 3662, - 5030, 5030, -1212, 38, -1212, -1212, 1071, 3446, 1245, 567, - 324, 5479, -1212, -1212, 7080, 70, -1212, -1212, -1212, -1212, - -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, 5030, -1212, - -1212, -1212, -1212, -1212, -1212, -1212, 5030, 5030, 5030, -1212, - 4627, -1212, -1212, -1212, -1212, 1766, 1766, 1766, -1212, -1212, - -1212, -1212, 5030, -1212, 1766, -1212, -1212, 5030, 1249, 40, - 5030, 1253, 1255, 1302, -1212, 1256, 1085, 18, 1263, -1212, - 4627, 4627, 4627, 4627, -1212, 575, 5030, -1212, 1092, 1094, - 1104, -1212, 1284, -1212, -1212, -1212, -1212, -1212, 5, 7103, - -1212, -1212, 1129, 1766, 216, -1212, 379, 6489, -1212, -1212, - -1212, 1288, -1212, -1212, 59, 2879, -1212, 684, 3446, 3446, - 1293, 3446, 706, 3446, 3446, 1294, 1229, 3446, 3446, 1370, - 1296, 1298, 4627, 1299, 1300, 2107, -1212, -1212, 1303, -1212, - 1305, 1131, 7909, -1212, 1150, 1151, 1155, 1324, 1325, 1328, - 1330, 602, 1333, 3839, -1212, -1212, 121, 6515, 6541, -1212, - -1212, 5507, -62, 59, 59, 59, 1336, 1332, 1158, 1339, - 1166, 36, 44, 46, 51, 325, -1212, 143, -1212, 725, - 1341, 1348, 1349, 1350, 1351, 7909, -1212, 1492, 1174, 1357, - 1358, 1365, 1301, 5030, 1374, 1375, 5030, 362, 603, -1212, - -1212, 606, 609, 622, 625, -1212, 5030, 634, 3446, 3446, - 3446, 1378, 6567, -1212, 4936, 443, 1384, 1387, 3446, 1206, - -1212, 1214, 5030, 1388, -1212, 1390, 1393, -1212, 1403, 6827, - 6827, 6827, 6827, 525, 1228, 1234, 1238, 532, 536, 7783, - 1244, 1511, -1212, 543, 1239, 1404, 1774, -1212, -1212, -1212, - 18, 5030, -1212, 635, -1212, 650, 663, 664, 667, 101, - 7909, 1236, 5030, 5030, 3446, 1246, -1212, -1212, 1247, -1212, - 1419, 42, 1421, 5030, 4331, 55, 1248, 1252, 1347, 1347, - 3446, 1424, 1257, 1258, 1426, 1428, 3446, 1264, 1432, 1433, - -1212, 1436, 3446, 673, 3446, 3446, 1444, 1448, -1212, 3446, - 1449, 1453, 1468, 1469, 3446, 3446, 3446, -1212, 1473, 621, - -1212, 5030, 5030, 5030, 1270, 1297, -122, -114, -68, 1304, - -1212, 3446, -1212, 5030, -1212, 1475, -1212, 1477, -1212, 1479, - -1212, 1480, -1212, -1212, 251, 914, 3269, -1212, 1306, 1307, - 3977, -1212, 4627, -1212, -1212, -1212, 1309, 1817, -1212, -1212, - 7126, 1483, 575, -1212, -1212, -1212, -1212, 7909, -1212, 1484, - 1489, 1373, -1212, 5030, 5030, 5030, -1212, 1491, 651, 1317, - 1496, 101, 2053, -1212, -1212, 356, -1212, -1212, -1212, -1212, - -1212, -1212, 1766, -1212, -1212, 1499, -1212, -1212, 1500, -1212, - -1212, -1212, -1212, -1212, 683, 5030, 1501, 1502, 23, -1212, - 1504, 7149, 18, -1212, 1505, 1506, 1507, 1508, 3446, 5030, - 6593, 6619, 680, -1212, 5030, 1512, -1212, -1212, 1766, -1212, - 6645, 4798, 7909, -1212, -1212, 5030, 5030, 59, 1509, 1513, - 1515, -1212, 5030, 5030, -1212, -1212, 1516, 5030, -1212, -1212, - 1503, 1517, 1320, 1520, 1396, 5030, -1212, 1522, 3446, 3446, - 3446, 3446, 1537, 863, 1538, 5030, -1212, 4798, 5535, 7804, - 4993, 47, 47, 59, 1539, 59, 1540, 59, 1542, 5030, - 301, 1366, 7825, -1212, -1212, -1212, -1212, 5563, 148, -1212, - 1543, 2481, 1545, 3446, 59, 2481, 1546, 686, 5030, -1212, - 1549, 5, -1212, -1212, -1212, 3446, 5332, 357, 7846, -1212, - -1212, 4387, 3446, -1212, 3446, -1212, -1212, 1377, 2915, 4564, - 1554, 2088, -1212, 1557, 1555, -1212, 1385, -1212, -1212, -1212, - -1212, -1212, 1564, 380, 7909, 5030, 5030, 3446, 1386, 687, - 7909, -1212, 1567, 5030, 7909, -1212, 5591, 5619, 95, -1212, - -1212, -1212, 5647, 5675, -1212, 5703, 1569, -1212, 3446, -1212, - 1514, 1574, 7909, -1212, 1575, 1576, 1578, 1594, -1212, 1417, - -1212, -1212, 6150, 2199, 1600, 1423, -1212, 5030, -1212, 1389, - 1425, 153, -1212, 1437, 155, -1212, 1438, 165, -1212, 1440, - 7172, 1604, 3446, 1605, 1445, 5030, -1212, 4154, 238, -1212, - 691, 246, 257, -1212, 1607, 5731, -1212, 1392, 5030, -1212, - 5030, -1212, -1212, 4627, 2433, 1611, 1446, 1625, -1212, 2710, - -1212, -1212, 1766, 7909, -1212, -1212, -1212, 18, -1212, 1510, - -1212, -1212, 5030, 6671, 6697, -1212, 3446, 5030, 1634, -1212, - 6723, -1212, -1212, 1635, 1636, 1637, 1638, 1641, 1643, 695, - 1465, -1212, -1212, -1212, -1212, -1212, 3446, 4627, -1212, -1212, - 47, 5367, -1212, -1212, 251, 725, 251, 725, 251, 725, - 1659, -1212, 696, 3446, -1212, 5759, 59, 1678, 4627, 59, - -1212, -1212, 5030, 5787, 5815, 703, -1212, -1212, 1679, -1212, - 707, 2675, 732, 1680, -1212, 1518, 7909, 5030, 5030, 733, - 7909, -1212, 5030, 737, 738, -1212, -1212, -1212, -1212, -1212, - -1212, 1519, 5030, 745, 784, 1523, 5030, -1212, 5843, 259, - 971, 5871, 306, 984, 5899, 317, 1105, -1212, 3446, 1681, - 1601, 4016, 1525, 346, -1212, 799, 371, 2535, -1212, -1212, - 1684, -1212, 5030, -1212, 683, -1212, -1212, 5030, 7867, 6749, - 28, 6775, -1212, -1212, 5030, 5927, 1685, 1686, -1212, 5955, - 1687, 5030, 1689, 1691, 5030, 1693, 1694, 5030, 1695, 1527, - -1212, 5030, -1212, 725, -1212, 4627, 1696, 4154, -1212, -1212, - 2740, -1212, 802, -1212, 5030, -1212, 3446, 5030, 6801, -1212, - -1212, -1212, -1212, -1212, 1526, 5983, -1212, -1212, 1529, 6011, - -1212, -1212, 1530, 6039, -1212, 1699, 2655, 1254, 4193, 805, - -1212, 393, 808, 683, 1700, 1531, 7888, 812, 6067, 5030, - 725, 1702, 725, 1712, 725, 1713, -1212, -1212, -1212, -1212, - 725, 1714, 4627, 1715, -1212, -1212, 1766, -1212, 1541, 1716, - 6095, 1338, -1212, 1547, 1521, -1212, 1548, 1661, -1212, 1552, - 1745, -1212, 813, -1212, 824, -1212, 1553, 3446, -1212, 1717, - 1719, 725, 1721, 725, 1724, 725, -1212, 1725, 1766, 1728, - 1766, 829, -1212, -1212, 2020, -1212, 2237, -1212, 2284, -1212, - -1212, -1212, 839, -1212, 1733, 1735, 1737, 1738, 1766, 1739, - -1212, -1212, -1212, -1212, -1212, -1212 + 5260, 90, 19, 5399, -1176, -1176, 2212, 70, 48, 6, + 31, 37, 125, 223, 250, 84, 264, 361, 226, 249, + 89, 277, 295, 18, 322, 329, 16, 340, 343, 381, + 458, 461, 530, 367, 355, 490, 512, 567, 513, 592, + 604, 34, 430, 531, 168, 457, 239, 239, 465, -12, + 216, 272, 546, 558, 4, 81, 566, 580, 91, 675, + 698, 707, 2955, 708, 523, 527, 538, 41, 40, -1176, + 559, -1176, 717, 718, 561, -1176, 740, 744, 49, 50, + -1176, -1176, -1176, 4769, -1176, -1176, -1176, -1176, -1176, -1176, + -1176, -1176, -1176, -1176, -1176, -1176, -1176, -1176, -1176, 29, + -1176, -120, 137, -1176, 13, -1176, -1176, -1176, -1176, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, 571, 582, 597, 605, 606, 617, + -1176, -1176, -1176, -1176, -1176, -107, -107, 738, 622, 656, + 662, 663, 671, -1176, -1176, -1176, 4769, 4769, 4769, 4769, + 4528, 14, 848, 269, 670, 674, 1639, -1176, 680, 854, + 111, 278, 860, 4769, 94, 94, -1176, 4769, -1176, -1176, + -1176, 94, -1176, -1176, -1176, -1176, 4769, 4427, 4769, 4769, + 710, 4769, 4427, 4769, 4769, 743, 4427, 4769, 4769, 3309, + 765, 686, -1176, 4427, 2955, 2955, 2955, 766, 770, 2955, + 2955, 2955, 773, 785, 788, 794, 801, 806, 817, 824, + 3309, 4769, 910, 3309, 41, 826, 827, 239, 239, 239, + 4769, 4769, -74, -1176, -45, 239, 833, 834, 836, 1949, + 42, 102, 828, 844, 845, 2955, 2955, 3309, 846, 64, + 754, -1176, 1019, -1176, 841, 842, 843, 2955, 2955, 850, + 855, 858, 506, -1176, 863, 52, 911, 1035, 1037, 596, + 3486, 4769, 2594, -1176, -1176, 4936, -1176, 1038, -1176, 213, + 1043, 4769, 4769, 4769, 868, 4769, 866, 921, 4769, 4769, + -1176, -1176, 4769, 1047, -1176, 1050, -1176, 1054, -1176, -101, + 1738, -1176, 3309, 3309, 877, 4769, 878, 514, -1176, -1176, + -1176, -1176, -1176, -1176, 3309, 1059, 886, 4769, 1063, -1176, + -1176, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, + 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, + 4769, 4769, 4769, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 4769, 514, 4769, 94, 94, 94, 848, 514, + 892, 892, 892, 7974, 103, 7629, 335, 888, 1064, 890, + 896, 895, 899, -1176, 900, 5493, 4769, 4427, -1176, 4769, + 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, 4769, + 4769, 4769, 4769, 4769, -1176, -1176, 4769, -1176, -1176, 1770, + -90, -64, -1176, -1176, 246, 6436, -1176, 384, 122, 184, + 7995, 4427, 4966, -1176, -54, 8016, 8037, 4769, 8058, 228, + 8079, 8100, 4769, 441, 8121, 8142, 1078, 4769, 4769, 487, + 1081, 1085, 1087, 4769, 4769, 1088, 1096, 1096, 4769, 4598, + 4598, 4598, 4598, 4769, 4769, 4769, 1097, 6356, 915, 1099, + 926, -1176, -1176, 44, -1176, -1176, 6462, 6488, 239, 239, + 269, 269, 100, 4769, 4769, 4769, 1949, 1949, 4769, 5493, + 121, -1176, 4769, 4769, 4769, 4769, 4769, 1105, 1112, 1113, + 4769, 1115, -1176, 4769, 4769, 1647, -1176, 4427, 4427, 4427, + 1116, 1117, 4769, 4769, 4769, 4769, 1123, 123, 1126, -1176, + 4769, -1176, -1176, -1176, 934, 941, 946, 950, 4427, 892, + -1176, 8163, -1176, 499, 4769, 3663, -1176, -1176, 8184, 8205, + 8226, 1009, 6514, -1176, 957, 4986, 8247, 7652, -1176, -1176, + 2641, -1176, 2994, 4769, -1176, 965, 536, 4427, 7675, 4769, + 1139, 1140, -1176, 4769, 7698, 300, 7606, 7606, 7606, 7606, + 7606, 7606, 7606, 7606, 7606, 7606, 7606, 6540, 7606, 7606, + 7606, 7606, 7606, 7606, 7606, 6566, 6592, 6618, 317, 421, + 317, 968, 970, 969, 972, 973, 406, 8688, -1176, 1855, + 974, 971, 978, 975, 984, 103, -1176, 3309, 96, 514, + 4769, 1163, 1169, 46, 995, -1176, 129, 45, 47, 159, + -1176, 5488, 545, 5009, 1584, 1880, 1657, 1657, 477, 477, + 477, 477, -7, -7, 892, 892, 892, 892, 8, 7721, + -1176, 4769, 1171, 7, 4427, 1175, 4427, 4769, 1179, 94, + 1180, -1176, 848, 1181, 94, 1185, 4427, 4427, 1065, 1187, + 1190, 8268, 1191, 1068, 1196, 1197, 8289, 1074, 1199, 1201, + 4769, 8310, 5516, 1028, -1176, -1176, -1176, 8331, 8352, 4769, + 3309, 1207, 1208, 8373, 1036, 8688, -1176, 1039, 8688, -1176, + 1042, 8688, -1176, 1045, 8688, -1176, 8394, 8415, 8436, 3309, + 4427, 1040, -1176, -1176, 3171, 3348, 239, 4769, 4769, -1176, + -1176, 1041, 1046, 1949, 6644, 6670, 6696, 6410, 432, 239, + 3525, 8457, 5544, 8478, 8499, 8520, 4769, 1219, -1176, 4769, + 8541, -1176, 7744, 7767, -1176, 552, 575, 583, -1176, -1176, + 7790, 7813, 6722, 7836, 213, -1176, -1176, 4427, -1176, 1052, + 5572, 4427, 4427, 4427, 4427, 587, -1176, -1176, 5029, 4427, + 892, -1176, 1224, 1231, 1233, 1060, 4769, 3702, 4769, 4769, + -1176, 65, -1176, -1176, 1056, 3309, 1237, 590, 348, 5600, + -1176, -1176, 7859, 914, -1176, -1176, -1176, -1176, -1176, -1176, + -1176, -1176, -1176, -1176, -1176, -1176, 4769, -1176, -1176, -1176, + -1176, -1176, -1176, -1176, 4769, 4769, 4769, -1176, 4427, -1176, + -1176, -1176, -1176, 94, 94, 94, -1176, -1176, -1176, -1176, + 4769, -1176, 94, -1176, -1176, 4769, 1240, 76, 4769, 1243, + 1245, 2361, -1176, 1248, 1072, 41, 1247, -1176, 4427, 4427, + 4427, 4427, -1176, 610, 4769, -1176, 1079, 1080, 1071, -1176, + 1253, -1176, -1176, -1176, -1176, -1176, 213, 7882, -1176, -1176, + 1095, 94, 449, -1176, 510, 6748, -1176, -1176, -1176, 1258, + -1176, -1176, 239, 4966, -1176, 719, 3309, 3309, 1259, 3309, + 730, 3309, 3309, 1261, 1200, 3309, 3309, 2380, 1262, 1263, + 4427, 1265, 1270, 5115, -1176, -1176, 1272, -1176, 1273, 67, + 71, 75, 77, 1274, 1275, 1277, 1281, 620, 1285, 3879, + -1176, -1176, 170, 6774, 6800, -1176, -1176, 5628, -47, 239, + 239, 239, 1286, 1288, 1094, 1292, 1114, 9, 59, 60, + 63, 755, -1176, 172, -1176, 432, 1284, 1294, 1295, 1296, + 1300, 8688, -1176, 2723, 1129, 1310, 1311, 1312, 1230, 4769, + 1313, 1314, 4769, 73, 623, -1176, -1176, 624, 633, 636, + 637, -1176, 4769, 649, 3309, 3309, 3309, 1317, 6826, -1176, + 5056, 1445, 1319, 1320, 3309, 1146, -1176, 1136, 4769, 1327, + -1176, 1329, 1321, -1176, 1330, 7606, 7606, 7606, 7606, 511, + 1142, 1158, 1159, 529, 551, 8562, 1160, 2743, -1176, 359, + 1161, 1334, 4156, -1176, -1176, -1176, 41, 4769, -1176, 661, + -1176, 664, 672, 692, 693, 103, 8688, 1168, 4769, 4769, + 3309, 1162, -1176, -1176, 1166, -1176, 1343, 56, 1344, 4769, + 2150, 0, 1170, 1172, 1282, 1282, 3309, 1350, 1177, 1182, + 1359, 1360, 3309, 1183, 1364, 1365, -1176, 1367, 3309, 696, + 3309, 3309, 1369, 1368, -1176, 3309, 3309, 1328, 3309, 1333, + 3309, 1335, 3309, 1337, 3309, 3309, 3309, -1176, 1370, 473, + -1176, 4769, 4769, 4769, 1202, 1203, -93, -80, -68, 1195, + -1176, 3309, -1176, 4769, -1176, 1376, -1176, 1380, -1176, 1384, + -1176, 1386, -1176, -1176, 1949, 862, 3132, -1176, 1209, 1210, + 3840, -1176, 4427, -1176, -1176, -1176, 1214, 4558, -1176, -1176, + 7905, 1389, 610, -1176, -1176, -1176, -1176, 8688, -1176, 1396, + 1397, 1279, -1176, 4769, 4769, 4769, -1176, 1398, 542, 1227, + 1402, 103, 4677, -1176, -1176, 337, -1176, -1176, -1176, -1176, + -1176, -1176, 94, -1176, -1176, 1408, -1176, -1176, 1409, -1176, + -1176, -1176, -1176, -1176, 514, 4769, 1413, 1416, 46, -1176, + 1419, 7928, 41, -1176, 1420, 1421, 1422, 1425, 3309, 4769, + 6852, 6878, 697, -1176, 4769, 1429, -1176, -1176, 94, -1176, + 6904, 4598, 8688, -1176, -1176, 4769, 4769, 239, 1430, 1431, + 1432, -1176, 4769, 4769, -1176, -1176, 1433, 4769, -1176, -1176, + 1435, 1436, 1269, 1437, 1324, 4769, -1176, 1444, 1450, 1278, + 1451, 1290, 1458, 1291, 1465, 1299, 1467, 880, 1471, 4769, + -1176, 4598, 5656, 8583, 5254, 269, 269, 239, 1473, 239, + 1479, 239, 1485, 4769, 232, 1308, 8604, -1176, -1176, -1176, + -1176, 5684, 281, -1176, 1488, 2416, 1490, 3309, 239, 2416, + 1491, 701, 4769, -1176, 1492, 213, -1176, -1176, -1176, 3309, + 5425, 731, 8625, -1176, -1176, 4194, 3309, -1176, 3309, -1176, + -1176, 1326, 2778, 4250, 1493, 4725, -1176, 1496, 1494, -1176, + 1331, -1176, -1176, -1176, -1176, -1176, 1500, 525, 8688, 4769, + 4769, 3309, 1323, 720, 8688, -1176, 1506, 4769, 8688, -1176, + 5712, 5740, 273, -1176, -1176, -1176, 5768, 5796, -1176, 5824, + 1509, -1176, 3309, -1176, 1447, 1512, 8688, -1176, -1176, 4769, + -1176, 4769, -1176, 4769, -1176, 4769, -1176, 1336, -1176, -1176, + 6383, 4801, 1513, 1338, -1176, 4769, -1176, 1339, 1340, 382, + -1176, 1349, 391, -1176, 1351, 403, -1176, 1352, 7951, 1514, + 3309, 1515, 1355, 4769, -1176, 4017, 405, -1176, 721, 408, + 411, -1176, 1522, 5852, -1176, 1412, 4769, -1176, 4769, -1176, + -1176, 4427, 4821, 1529, 1356, 1535, -1176, 2594, -1176, -1176, + 94, 8688, -1176, -1176, -1176, 41, -1176, 1414, -1176, -1176, + 4769, 6930, 6956, -1176, 3309, 4769, 1538, -1176, 6982, -1176, + -1176, 1542, 1543, 1544, 1545, 1546, 1548, 725, 1371, -1176, + 7008, 7034, 7060, 7086, 3309, 4427, -1176, -1176, 269, 5460, + -1176, -1176, 1949, 432, 1949, 432, 1949, 432, 1549, -1176, + 726, 3309, -1176, 5880, 239, 1551, 4427, 239, -1176, -1176, + 4769, 5908, 5936, 729, -1176, -1176, 1552, -1176, 736, 4891, + 741, 1553, -1176, 1377, 8688, 4769, 4769, 745, 8688, -1176, + 4769, 746, 749, -1176, -1176, -1176, -1176, -1176, -1176, 1379, + 4769, 4769, 4769, 4769, 4769, 756, 763, 1375, 4769, -1176, + 5964, 425, 902, 5992, 428, 966, 6020, 435, 994, -1176, + 3309, 1561, 1480, 4056, 1385, 438, -1176, 775, 445, 4844, + -1176, -1176, 1565, -1176, 4769, -1176, 514, -1176, -1176, 4769, + 8646, 7112, 58, 7138, -1176, -1176, 4769, 6048, 7164, 7190, + 7216, 7242, 1566, 1568, -1176, 6076, 1570, 4769, 1572, 1573, + 4769, 1575, 1576, 4769, 1577, 1399, -1176, 4769, -1176, 432, + -1176, 4427, 1578, 4017, -1176, -1176, 4917, -1176, 778, -1176, + 4769, -1176, 3309, 4769, 7268, -1176, 4769, 4769, 4769, 4769, + -1176, -1176, -1176, -1176, 1401, 6104, -1176, -1176, 1403, 6132, + -1176, -1176, 1411, 6160, -1176, 1581, 4864, 1026, 4793, 787, + -1176, 455, 796, 514, 1588, 1415, 8667, 799, 6188, 4769, + 7294, 7320, 7346, 7372, 432, 1591, 432, 1592, 432, 1593, + -1176, -1176, -1176, -1176, 432, 1595, 4427, 1596, -1176, -1176, + 94, -1176, 1434, 1612, 6216, 4769, 4769, 4769, 4769, 1076, + -1176, 1438, 1122, -1176, 1440, 1198, -1176, 1441, 1246, -1176, + 803, -1176, 812, -1176, 1442, 3309, -1176, 1614, 7398, 7424, + 7450, 7476, 1615, 432, 1622, 432, 1628, 432, -1176, 1630, + 94, 1631, 94, 815, -1176, 4769, 4769, 4769, 4769, -1176, + 1309, -1176, 1353, -1176, 1374, -1176, -1176, -1176, 821, -1176, + 1632, 7502, 7528, 7554, 7580, 1635, 1636, 1637, 94, 1638, + -1176, 4769, 4769, 4769, 4769, -1176, -1176, -1176, -1176, -1176, + 6244, 6272, 6300, 6328, 1641, 1642, 1643, 1644, -1176, -1176, + -1176, -1176 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1212, -1212, -1212, -1212, 746, -1212, -1212, -1212, -1212, 279, - -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, - -1212, -1212, -338, -53, 5005, -465, -1212, 1342, -1212, -1212, - -1212, -1212, -1212, 389, -1212, 390, -1212, -213, -1212, 748, - 1751, -1212, -1212, -1212, -1212, -2, -450, -230, -1212, -1212, - -1212, -1212, -1212, -1212, 1752, -1212, -1212, -1212, -1212, -1212, - -1212, -1212, -1212, -1212, -1212, -1212, -1212, -1212, -896, -886, - -1212, -1212, 1319, -1212, -1212, -1212, -1212, -1212, 573, -1212, - -1212, -9, -1212, -1211, 1175, 342, 1376, 1070, -206, 633, - -1212, 30, 29, -1212, -339, 13, -3 + -1176, -1176, -1176, -1176, 644, -1176, -1176, -1176, -1176, 163, + -1176, -1176, -1176, -1176, -1176, -1176, -1176, -1176, -1176, -1176, + -1176, -1176, -343, 53, 5125, -522, -1176, 1244, -1176, -1176, + -1176, -1176, -1176, 275, -1176, 282, -1176, -1176, -1176, -1176, + -1176, -1176, 648, 1661, 11, -459, -235, -1176, -1176, -1176, + -1176, -1176, -1176, 1662, -1176, -1176, -1176, -1176, -1176, -1176, + -1176, -1176, -1176, -1176, -1176, -1176, -1176, -908, -611, -1176, + -1176, 1229, -1176, -1176, -1176, -1176, -1176, -6, -1176, -1176, + 479, -1176, -1175, 814, -97, 1058, 54, -214, 534, -1176, + 3, 257, -1176, -340, 481, 407 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -448 +#define YYTABLE_NINF -454 static const yytype_int16 yytable[] = { - 102, 89, 1320, 171, 568, 249, 570, 316, 190, 469, - 683, 684, 576, 1065, 817, 831, 101, 295, 450, 1063, - 195, 485, 284, 301, 287, 190, 587, 806, 590, 195, - 176, 297, 499, 5, 1505, 169, 168, 232, 234, 366, - 240, 481, 1054, 482, 973, 946, 458, 459, 1147, 315, - 1056, 372, 1058, 236, 458, 459, 237, 1060, 252, 238, - 253, 1154, 1193, 4, 1194, 224, 530, 1369, 532, 172, - 1195, 241, 1196, 186, 400, 105, 458, 459, 225, 226, - 187, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 678, 769, 770, 771, 772, 773, 774, 775, - 458, 459, 173, 779, 781, 782, 458, 459, 586, 131, - 132, 133, 134, 135, 136, 533, 1197, 496, 1198, 254, - 623, 140, 164, 141, 1045, 624, 458, 459, 818, 819, - 820, 821, 242, 174, 146, 304, 243, 305, 250, 45, - 46, 47, 48, 460, 306, 1419, 220, 53, 244, 221, - 56, 586, 1055, 458, 459, 257, 228, 229, 258, 371, - 1057, 373, 1059, 367, 368, 1433, 230, 1061, 974, 975, - 461, 403, 403, 239, 832, 370, 458, 459, 403, 1063, - 312, 313, 191, 317, 472, 318, 251, 370, 370, 192, - 164, 473, 175, 471, 370, 302, 822, 296, 288, 191, - 178, 196, 303, 285, 401, 404, 811, 832, 807, 177, - 812, 298, 500, 1506, 149, 150, 179, 483, 453, 454, - 947, 676, 677, 458, 459, 180, 462, 228, 229, 621, - 470, 622, 213, 458, 459, 214, 164, 230, 215, 181, - 216, 692, 307, 182, 231, 312, 313, 797, 589, 685, - 800, 245, 956, 246, 103, 299, 308, 309, 310, 311, - 106, 107, 108, 458, 459, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 458, 459, 458, - 459, 630, 183, 739, 631, 1537, 137, 138, 139, 308, - 309, 310, 311, 691, 184, 1041, 142, 143, 144, 514, - 625, 458, 459, 591, 145, 626, 458, 459, 396, 312, - 313, 458, 459, 458, 459, 306, 799, 1064, 390, 391, - 392, 586, 1315, 458, 459, 393, 540, 1384, 188, 1386, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 1388, - 989, 185, 403, 403, 403, 583, 370, 370, 370, 370, - 370, 370, 370, 370, 370, 1330, 1591, 628, 370, 370, - 370, 370, 629, 319, 569, 320, 571, 572, 573, 574, - 575, 637, 578, 638, 788, 580, 581, 582, 584, 629, - 308, 309, 310, 311, 148, 1001, 308, 309, 310, 311, - 637, 151, 152, 153, 154, 155, 458, 459, 312, 313, - 312, 313, 952, 896, 458, 459, 312, 313, -445, 466, - 467, 189, 1396, 897, 158, 458, 459, 458, 459, 468, - 1398, 898, 899, 900, 162, 199, 231, 901, 902, 903, - 904, 1399, 637, 1481, 643, 883, 312, 313, 186, 681, - 682, 1095, 874, 875, 876, 810, -446, 454, 373, 373, + 166, 691, 692, 568, 469, 570, 1164, 1075, 249, 168, + 450, 576, 825, 839, 89, 1064, 485, 316, 366, 5, + 195, 587, 190, 590, 765, 766, 767, 768, 769, 770, + 771, 772, 773, 774, 775, 301, 777, 778, 779, 780, + 781, 782, 783, 176, 287, 284, 787, 789, 790, 190, + 814, 195, 1338, 236, 295, 297, 237, 499, 304, 238, + 305, 530, 1157, 532, 1531, 1066, 1068, 306, 481, 1070, + 482, 319, 952, 320, 1036, 458, 459, 300, 1038, 533, + 979, 496, 1040, 172, 1042, 252, 164, 253, 458, 459, + 621, 1207, 622, 1208, 458, 459, 4, 164, 400, 105, + 458, 459, 220, 586, 1209, 221, 1210, 430, 431, 432, + 586, 460, 435, 436, 437, 623, 1211, 1387, 1212, 173, + 624, 458, 459, 458, 459, 1065, 826, 827, 828, 829, + 637, 178, 638, 131, 132, 133, 134, 135, 136, 1055, + 461, 250, 367, 368, 307, 140, 254, 141, 477, 478, + 360, 361, 362, 363, 365, 315, 228, 229, 146, 257, + 490, 491, 258, 390, 391, 392, 230, 399, 458, 459, + 393, 405, 840, 239, 373, 1067, 1069, 401, 404, 1071, + 410, 412, 415, 416, 174, 418, 412, 420, 421, 251, + 412, 424, 425, 317, 830, 318, 191, 412, 1037, 1437, + 164, 196, 1039, 192, 980, 981, 1041, 302, 1043, 175, + 458, 459, 458, 459, 303, 447, 684, 685, 288, 1455, + 241, 840, 177, 191, 456, 457, 285, 471, 686, 179, + 819, 815, 820, 457, 296, 298, 700, 500, 149, 150, + 514, 414, 805, 1532, 483, 808, 419, 953, 312, 313, + 423, 308, 309, 310, 311, 1091, 180, 429, 308, 309, + 310, 311, 181, 169, 509, 511, 412, 186, 458, 459, + 182, 312, 313, 372, 187, 518, 519, 520, 807, 522, + 472, 242, 525, 526, 693, 243, 527, 473, 747, 458, + 459, 396, 308, 309, 310, 311, 224, 244, 306, 538, + 1073, 995, 725, 630, 726, 699, 631, 186, 727, 225, + 226, 544, 312, 313, 818, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 198, 458, 459, + 458, 459, 589, 245, 821, 246, 577, 569, 579, 571, + 572, 573, 574, 575, 1051, 586, 1074, 1567, 580, 581, + 582, 45, 46, 47, 48, 633, 1134, 183, 631, 53, + 601, 412, 56, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 312, 313, + 619, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 515, 391, 392, 509, 184, 228, 229, 393, + 102, 641, 637, 171, 643, 958, 646, 230, 1329, 591, + 204, 651, 652, 205, 231, 625, 206, 657, 658, 185, + 626, 602, 663, 665, 668, 671, 674, 676, 677, 678, + 1633, 458, 459, 1117, 1118, 1119, 1120, 1121, 889, 458, + 459, 1126, 1129, 312, 313, 188, 199, 694, 695, 696, + 360, 361, 697, -451, 1073, 1333, 701, 702, 703, 704, + 705, 373, 373, 189, 710, 312, 313, 712, 713, 1200, + 1201, 412, 412, 412, 101, -452, 720, 721, 722, 723, + 308, 309, 310, 311, 730, 1462, 725, 1465, 726, 1468, + 193, 629, 412, 308, 309, 310, 311, 194, 738, 740, + 312, 313, 312, 313, 308, 309, 310, 311, 197, 105, + 902, 198, -453, 312, 313, 232, 234, 723, 240, 200, + 903, 412, 201, 759, 312, 313, 202, 762, 904, 905, + 906, 715, 716, 717, 907, 908, 909, 910, 1244, 1245, + 458, 459, 203, 131, 132, 133, 134, 135, 136, 458, + 459, 207, 735, 628, 540, 140, 1402, 141, 629, 371, + 1236, 458, 459, 458, 459, 1404, 458, 459, 146, 458, + 459, 403, 403, 208, 811, 796, 212, 1406, 403, 1414, + 629, 757, 1416, 458, 459, 1417, 458, 459, 764, 223, + 725, 988, 726, 458, 459, 788, 458, 459, 222, 1507, + 578, 1557, 1510, 458, 459, 837, 584, 247, 412, 1513, + 412, 845, 1521, 458, 459, 637, 248, 647, 1007, 1523, + 740, 853, 847, 637, 255, 209, 1135, 851, 210, 1586, + 211, 809, 227, 370, 867, 388, 389, 390, 391, 392, + 235, 256, 1148, 873, 393, 370, 370, 213, 149, 150, + 214, 504, 370, 215, 505, 216, 1599, 506, 1602, 507, + 1605, 637, 217, 653, 412, 218, 1608, 219, 842, 259, + 844, 893, 894, 637, 319, 737, 495, 897, 496, 1008, + 725, 163, 726, 164, 637, 637, 666, 669, 672, 675, + 921, 281, 260, 923, 1369, 282, 453, 454, 725, 1370, + 726, 261, 280, 1125, 462, 1640, 283, 1642, 470, 1644, + 755, 412, 756, 290, 291, 412, 412, 412, 412, 637, + 725, 823, 726, 412, 887, 1128, 637, 289, 927, 1348, + 948, 292, 950, 951, 293, 354, 1317, 1318, 294, 346, + 403, 403, 403, 403, 403, 403, 403, 403, 403, 637, + 347, 928, 403, 403, 403, 583, 964, 637, 1248, 929, + 965, 637, 1140, 941, 637, 348, 957, 764, 966, 967, + 968, 934, 412, 349, 350, 937, 938, 939, 940, 725, + 1012, 726, 1013, 943, 975, 351, 970, 971, 972, 977, + 355, 1018, 982, 1019, 637, 976, 1048, 637, 637, 1092, + 1093, 959, 412, 412, 412, 412, 963, 637, 996, 1094, + 637, 637, 1095, 1096, 370, 370, 370, 370, 370, 370, + 370, 370, 370, 637, 356, 1098, 370, 370, 370, 370, + 357, 358, 969, 902, 1006, 1142, 810, 1143, 637, 359, + 1144, 1073, 369, 903, 1073, 376, 637, 1073, 1145, 377, + 395, 904, 905, 906, 412, 394, 398, 907, 908, 909, + 910, 428, 991, 992, 993, 994, 637, 637, 1146, 1147, + 637, 1271, 1182, 1272, 1307, 637, 1308, 1342, 417, 1003, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 515, 391, 392, 458, 459, 198, 193, 393, 308, - 309, 310, 311, 813, 200, 458, 459, 1311, 194, 1440, - 1484, 1443, 756, 1446, 1107, 1108, 1109, 1110, 1111, 312, - 313, 1487, 1116, 1119, 204, 197, 637, 205, 647, 198, - 206, 1062, 7, 8, 458, 459, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 1495, 312, 313, 633, 393, 801, 631, 312, 313, 458, - 459, -447, 212, 1331, 1081, 201, 430, 431, 432, 203, - 1124, 435, 436, 437, 1063, 1497, 202, 1063, 1002, 1351, - 1063, 458, 459, 637, 1352, 596, 21, 22, 597, 24, - 25, 598, 27, 599, 29, 209, 30, 1552, 210, 166, - 211, 35, 36, 207, 38, 39, 40, 477, 478, 319, - 43, 495, 637, 496, 653, 208, 163, 1527, 164, 490, - 491, 982, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 217, 1222, 802, 218, - 393, 219, 1096, 64, 65, 66, 403, 1186, 1187, 841, - 504, 403, 637, 505, 729, 1125, 506, 717, 507, 718, - 222, 1063, 370, 719, 1561, 370, 1564, 370, 1567, 223, - 717, 1138, 718, 227, 1570, 629, 300, 1230, 1231, 839, - 717, 235, 718, 756, 843, 780, 747, 247, 748, 886, - 388, 389, 390, 391, 392, 1063, 892, 281, 1063, 393, - 248, 1063, 907, 255, 1063, 1594, 706, 1596, 105, 1598, - 637, 256, 815, 873, 873, 873, 873, 953, 308, 309, - 310, 311, 957, 637, 717, 921, 718, 282, 1063, 637, - 1063, 717, 1063, 718, 259, 717, 1115, 718, 312, 313, - 1118, 260, 131, 132, 133, 134, 135, 136, 261, 360, - 361, 362, 363, 365, 140, 637, 141, 922, 637, 280, - 923, 1299, 1300, 637, 283, 935, 399, 146, 289, 290, - 405, 637, 403, 951, 717, 1006, 718, 1007, 291, 410, - 412, 415, 416, 1234, 418, 412, 420, 421, 370, 412, - 424, 425, 292, 293, 1130, 997, 412, 1012, 346, 1013, - 378, 294, 403, 403, 403, 958, 637, 637, 1038, 1082, - 637, 403, 1083, 637, 447, 1084, 347, 348, 370, 370, - 370, 349, 350, 456, 457, 351, 637, 370, 1085, 637, - 354, 1086, 457, 896, 355, 964, 965, 966, 637, 1132, - 1088, 1133, 356, 897, 970, 357, 358, 149, 150, 369, - 403, 898, 899, 900, 637, 1005, 1134, 901, 902, 903, - 904, 376, 377, 509, 511, 412, 370, 637, 637, 1135, - 1136, 637, 359, 1137, 518, 519, 520, 637, 522, 1172, - 394, 525, 526, 1000, 1257, 527, 1258, 1289, 395, 1290, - 637, 1357, 1324, 1358, 957, 1257, 398, 1397, 538, 1257, - 1448, 1431, 1449, 417, 1046, 1047, 1048, 637, 448, 1460, - 544, 1462, 422, 1463, 546, 547, 548, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 564, 565, 566, 567, 629, 1257, 1465, 1470, - 1126, 1115, 1118, 1472, 1473, 577, 1247, 579, 427, 1257, - 1435, 1476, 428, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 451, 433, 601, - 412, 393, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 434, 637, 619, - 1477, 438, 443, 534, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 637, 509, 1496, 1357, 393, 1534, 637, - 641, 1551, 637, 444, 1553, 646, 1257, 637, 1558, 1587, - 651, 652, 896, 1412, 445, 452, 657, 658, 1588, 474, - 1589, 663, 897, 1257, 475, 1604, 668, 669, 670, 463, - 898, 899, 900, 1608, 484, 1609, 901, 902, 903, 904, - 464, 465, 476, 1153, 480, 486, 686, 687, 688, 360, - 361, 689, 487, 488, 489, 693, 694, 695, 696, 697, - 501, 492, 1236, 702, 493, 1208, 704, 705, 494, 896, - 412, 412, 412, 498, 502, 712, 713, 714, 715, 897, - 503, 521, 896, 722, 516, 517, 523, 898, 899, 900, - 524, 412, 897, 901, 902, 903, 904, 730, 732, 528, - 898, 899, 900, 529, 531, 537, 901, 902, 903, 904, - 1209, 539, 542, 543, 545, 393, 715, 592, 593, 403, - 412, 164, 751, 306, 594, 163, 754, 595, 650, 654, - 655, 656, 620, 664, 659, 370, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 660, 1413, 1237, 665, 393, 403, 666, 667, 1268, 671, - 674, 673, 698, 1240, 700, 675, 701, 1482, 703, 710, - 711, 370, 791, 803, 1451, 716, 721, 723, 1236, 737, - 1485, 724, 725, 726, 740, 746, 752, 753, 1262, 783, - 1265, 784, 785, 786, 1301, 787, 1304, 792, 1307, 373, - 373, 793, 794, 896, 829, 795, 796, 412, 804, 412, - 837, 805, 1318, 897, 809, 1321, 1322, 830, 835, 732, - 845, 898, 899, 900, 838, 840, 1294, 901, 902, 903, - 904, 842, 847, 859, 844, 848, 849, 851, 852, 853, - 854, 857, 865, 856, 858, 862, 867, 872, 872, 872, - 872, 869, 882, 889, 890, 412, 916, 929, 938, 939, - 940, 950, 887, 888, 941, 972, 948, 414, 891, 977, - 1335, 978, 419, 980, 1528, 981, 423, 1341, 1344, 984, - 992, 915, 993, 429, 917, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 994, - 996, 1488, 412, 393, 999, 1004, 412, 412, 412, 412, - 1010, 1016, 1017, 1021, 412, 1022, 1024, 1025, 979, 1028, - 1030, 942, 1029, 944, 945, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 1031, - 1032, 1034, 1035, 393, 1033, 1036, 1037, 1039, 1050, 403, - 1049, 959, 896, 1051, 1053, 1052, 7, 8, 1066, 960, - 961, 962, 897, 412, 1067, 370, 1068, 1069, 1070, 1072, - 898, 899, 900, 1073, 1074, 969, 901, 902, 903, 904, - 971, 1075, 1076, 976, 426, 1439, 1020, 1442, 373, 1445, - 1078, 1079, 1092, 412, 412, 412, 412, 1453, 1097, 990, - 1456, 1098, 1100, 1101, 1103, 446, 1104, 1105, 449, 596, - 21, 22, 597, 24, 25, 598, 27, 599, 29, 1106, - 30, 1128, 1112, 1113, 1139, 35, 36, 1114, 38, 39, - 40, 1127, 479, 1122, 43, 1146, 896, 1149, 1157, 1145, - 1161, 1144, 1164, 1155, 1165, 412, 897, 1156, 1168, 1169, - 1548, 1170, 1162, 1163, 898, 899, 900, 602, 1175, 1167, - 901, 902, 903, 904, 1176, 1191, 1178, 64, 65, 66, - 1179, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 1180, 1181, 535, 536, 393, - 1185, 1203, 1192, 1204, 1199, 1205, 1206, 1221, 1531, 541, - 1223, 1213, 1214, 1501, 1218, 1224, 1077, 1229, 1071, 1080, - 1225, 1232, 1233, 1238, 1239, 1278, 1243, 1242, 1276, 1087, - 1245, 1248, 1249, 1250, 1251, 1269, 1261, 1123, 1402, 1270, - 744, 1271, 1274, 1277, 1580, 1102, 1279, 1280, 1283, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 1288, 1291, 1302, 1305, 393, 1308, 1316, - 1312, 1319, 1323, 403, 1131, 1326, 1338, 707, 708, 709, - 1345, 1348, 1554, 413, 1347, 1140, 1141, 1349, 413, 370, - 1350, 1356, 413, 1359, 1368, 1382, 1150, 1152, 727, 413, - 1371, 1372, 1373, 1370, 1374, 403, 1575, 403, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 1375, 370, 1376, 370, 393, 403, 1379, 749, 1380, 896, - 1391, 1383, 1393, 1400, 1188, 1189, 1190, 1407, 1600, 897, - 1603, 370, 1385, 1387, 1200, 1389, 1202, 898, 899, 900, - 1394, 1409, 1408, 901, 902, 903, 904, 1207, 1614, 1414, - 1421, 1425, 1426, 1427, 1428, 412, 510, 1429, 413, 1430, - 1432, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 1447, 1226, 1227, 1228, 393, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 1454, 1461, 1466, 1490, 393, 1491, - 1499, 1510, 1511, 1513, 834, 1516, 836, 1517, 1241, 1520, - 1521, 1524, 1530, 1467, 1474, 1546, 1555, 1582, 1562, 1478, - 1494, 1540, 1254, 1525, 1542, 1544, 1556, 1260, 1565, 1568, - 1571, 1573, 1578, 1592, 1264, 1593, 1577, 1595, 1266, 1267, - 1597, 1599, 1581, 1583, 1601, 1272, 1273, 1585, 1590, 1610, - 1275, 1611, 881, 1612, 1613, 1615, 1502, 1148, 1282, 896, - 1423, 634, 1424, 413, 88, 96, 662, 1159, 1292, 897, - 1293, 1244, 798, 0, 0, 0, 0, 898, 899, 900, - 400, 105, 1310, 901, 902, 903, 904, 0, 0, 0, - 1129, 0, 0, 0, 412, 0, 0, 510, 412, 928, - 0, 1325, 0, 931, 932, 933, 934, 0, 0, 0, - 0, 937, 0, 0, 1334, 131, 132, 133, 134, 135, - 136, 0, 1343, 0, 0, 0, 0, 140, 0, 141, - 0, 0, 0, 1219, 0, 0, 0, 0, 1353, 1354, - 146, 0, 0, 896, 0, 866, 1360, 0, 0, 0, - 0, 0, 0, 897, 0, 0, 880, 1584, 0, 0, - 963, 898, 899, 900, 0, 0, 0, 901, 902, 903, - 904, 0, 0, 413, 413, 413, 0, 0, 0, 0, - 1381, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 985, 986, 987, 988, 413, 0, 0, 0, 1395, 0, - 509, 733, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1403, 0, 1404, 0, 0, 412, 0, 0, 0, - 149, 150, 1411, 413, 0, 0, 0, 0, 0, 0, - 0, 0, 949, 0, 0, 1416, 0, 0, 0, 0, - 1420, 1586, 1023, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, - 412, 393, 0, 0, 0, 0, 0, 1438, 0, 1441, - 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 412, 0, 0, 0, 1457, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 1468, 1469, 0, 0, 393, 1471, 0, 0, 0, 0, - 413, 0, 413, 0, 0, 1475, 0, 0, 0, 1479, - 0, 0, 733, 846, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1008, 1009, 0, 1011, 0, 1014, 1015, - 0, 0, 1018, 1019, 0, 1500, 0, 0, 0, 0, - 1260, 0, 0, 0, 0, 0, 0, 1508, 413, 0, - 0, 0, 0, 0, 1515, 0, 0, 1519, 0, 1235, - 1523, 0, 0, 0, 1526, 0, 0, 0, 412, 0, - 412, 0, 0, 0, 0, 0, 0, 1536, 0, 0, - 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 8, 0, 0, 1346, 413, 0, 0, 0, 413, - 413, 413, 413, 0, 0, 0, 0, 413, 896, 0, - 0, 0, 1560, 1089, 1090, 1091, 0, 0, 897, 0, - 0, 0, 0, 1099, 0, 412, 898, 899, 900, 0, - 0, 0, 901, 902, 903, 904, 0, 0, 0, 0, - 0, 0, 1217, 596, 21, 22, 597, 24, 25, 598, - 27, 599, 29, 0, 30, 0, 413, 0, 0, 35, - 36, 0, 38, 39, 40, 0, 0, 0, 43, 1143, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1160, 413, 413, 413, 413, - 0, 1166, 0, 0, 0, 1026, 0, 1171, 0, 1173, - 1174, 64, 65, 66, 1177, 1378, 1605, 0, 0, 1182, - 1183, 1184, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 1201, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 413, 0, - 0, 1212, 0, 0, 0, 1216, 0, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 745, 393, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 103, 104, 105, 0, 393, 0, 106, 107, 108, 0, - 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 1252, 0, 0, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 896, 0, 0, 140, 0, - 141, 0, 142, 143, 144, 897, 0, 0, 0, 0, - 145, 146, 0, 898, 899, 900, 0, 0, 0, 901, - 902, 903, 904, 1284, 1285, 1286, 1287, 0, 379, 380, + 389, 390, 391, 392, 1375, 1271, 1376, 1415, 393, 1271, + 1470, 1449, 1471, 637, 448, 1482, 501, 1349, 400, 105, + 1484, 422, 1485, 1087, 1029, 629, 1090, 1487, 1261, 1271, + 1125, 1492, 1494, 1128, 484, 1495, 1097, 689, 690, 1457, + 1271, 1072, 1502, 427, 433, 454, 1073, 637, 434, 1503, + 902, 438, 1112, 131, 132, 133, 134, 135, 136, 637, + 903, 1522, 1375, 439, 1564, 140, 440, 141, 904, 905, + 906, 637, 441, 1585, 907, 908, 909, 910, 146, 442, + 637, 1141, 1587, 1271, 443, 1592, 963, 637, 1073, 1629, + 902, 1073, 1150, 1151, 1073, 444, 1630, 1073, 1631, 1271, + 903, 1650, 445, 1160, 1162, 1658, 474, 1659, 904, 905, + 906, 451, 452, 426, 907, 908, 909, 910, 463, 464, + 1430, 465, 475, 476, 480, 486, 487, 488, 489, 1073, + 492, 1073, 1136, 1073, 446, 493, 403, 449, 494, 849, + 502, 403, 503, 498, 516, 1202, 1203, 1204, 1223, 517, + 521, 523, 524, 528, 902, 1214, 529, 1216, 149, 150, + 531, 479, 537, 539, 903, 542, 543, 545, 1221, 393, + 592, 593, 904, 905, 906, 594, 412, 164, 907, 908, + 909, 910, 902, 306, 163, 650, 595, 654, 1508, 312, + 313, 655, 903, 656, 681, 659, 962, 1240, 1241, 1242, + 904, 905, 906, 660, 679, 682, 907, 908, 909, 910, + 370, 683, 706, 370, 902, 370, 535, 536, 708, 731, + 709, 711, 718, 719, 903, 1251, 732, 724, 541, 1255, + 729, 733, 904, 905, 906, 734, 1231, 745, 907, 908, + 909, 910, 748, 1268, 754, 760, 761, 791, 1274, 792, + 801, 1431, 1511, 793, 803, 1278, 794, 795, 800, 1280, + 1281, 1276, 802, 804, 902, 892, 1286, 1287, 1250, 812, + 403, 1289, 898, 813, 903, 838, 817, 1473, 913, 1296, + 1514, 843, 904, 905, 906, 846, 848, 850, 907, 908, + 909, 910, 852, 1310, 856, 1311, 855, 857, 859, 860, + 403, 403, 403, 861, 862, 864, 865, 1328, 866, 403, + 902, 875, 1582, 870, 877, 879, 373, 373, 880, 412, + 903, 881, 888, 412, 882, 922, 1343, 895, 904, 905, + 906, 944, 896, 935, 907, 908, 909, 910, 945, 1352, + 946, 954, 947, 956, 370, 413, 978, 1361, 403, 983, + 413, 984, 987, 990, 413, 986, 1000, 998, 999, 1002, + 1005, 413, 1622, 1371, 1372, 1010, 1016, 1163, 1022, 1027, + 1028, 1378, 1030, 1023, 370, 370, 370, 1031, 1034, 1061, + 1035, 1044, 1045, 370, 1046, 1558, 902, 1047, 1250, 1049, + 1059, 1076, 1063, 1390, 1060, 1391, 903, 1392, 1062, 1393, + 1077, 1086, 1078, 1079, 904, 905, 906, 1080, 1624, 1399, + 907, 908, 909, 910, 1082, 1111, 1083, 1084, 1085, 1088, + 1089, 1102, 370, 1107, 1108, 1115, 1122, 1413, 510, 509, + 413, 1011, 1110, 1113, 902, 1114, 1116, 1123, 1124, 1132, + 1421, 1138, 1422, 1137, 903, 412, 1149, 1154, 1155, 1156, + 1159, 1429, 904, 905, 906, 1165, 1171, 1166, 907, 908, + 909, 910, 1172, 1167, 1434, 1174, 1175, 1173, 1177, 1438, + 1178, 1179, 1180, 1185, 1186, 1213, 1189, 1199, 1056, 1057, + 1058, 1191, 1217, 1193, 1626, 1195, 1218, 1205, 1206, 412, + 1219, 1254, 1220, 1235, 1227, 1228, 1460, 902, 1463, 1232, + 1466, 806, 1237, 1238, 1243, 1423, 1239, 903, 1247, 373, + 412, 1246, 1252, 1253, 1479, 904, 905, 906, 1279, 1256, + 1257, 907, 908, 909, 910, 1259, 1262, 1263, 1264, 1490, + 1491, 1265, 1628, 1275, 1493, 413, 1283, 1284, 1285, 1288, + 1290, 902, 1291, 1293, 1497, 1498, 1499, 1500, 1501, 1456, + 1297, 903, 1505, 1105, 1292, 1294, 1298, 1300, 1312, 904, + 905, 906, 902, 1299, 1302, 907, 908, 909, 910, 510, + 1477, 1304, 903, 1306, 874, 1301, 1303, 1309, 1526, 1320, + 904, 905, 906, 1274, 1305, 1323, 907, 908, 909, 910, + 1534, 1326, 1330, 886, 1334, 1655, 1337, 1341, 1344, 1363, + 1366, 1545, 1353, 1365, 1549, 1356, 1368, 1553, 1374, 1359, + 1362, 1556, 1377, 1367, 1386, 412, 1388, 412, 1389, 1397, + 1409, 1394, 1411, 1398, 1566, 1400, 1401, 1568, 1418, 403, + 1570, 1571, 1572, 1573, 1403, 1425, 1405, 1407, 1420, 1656, + 1412, 1427, 1426, 1432, 1439, 413, 413, 413, 1443, 1444, + 1445, 1446, 1447, 1222, 1448, 1469, 1450, 1476, 1483, 1488, + 1657, 1504, 1489, 1594, 1496, 403, 413, 1516, 1517, 955, + 1520, 1525, 1540, 741, 1541, 1559, 1543, 1562, 1546, 1547, + 412, 1550, 1551, 1554, 1560, 1555, 1574, 1580, 1576, 1618, + 1619, 1620, 1621, 1613, 1589, 413, 1578, 1600, 1603, 1606, + 1590, 1609, 1611, 370, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 1616, 1615, + 1634, 1639, 393, 1623, 1106, 1625, 1627, 1632, 1641, 1651, + 1652, 1653, 1654, 1646, 1643, 1649, 1645, 1647, 1660, 370, + 1610, 1665, 1666, 1667, 1669, 378, 1282, 1678, 1679, 1680, + 1681, 1158, 1528, 634, 1441, 1670, 1671, 1672, 1673, 7, + 8, 1668, 1442, 1169, 88, 96, 662, 0, 0, 0, + 1014, 1015, 1258, 1017, 0, 1020, 1021, 0, 0, 1024, + 1025, 0, 413, 0, 413, 0, 1319, 0, 1322, 0, + 1325, 0, 0, 0, 741, 854, 0, 0, 0, 0, + 0, 0, 0, 0, 1336, 0, 0, 1339, 1340, 0, + 0, 0, 596, 21, 22, 597, 24, 25, 598, 27, + 599, 29, 0, 30, 0, 0, 0, 0, 35, 36, + 0, 38, 39, 40, 0, 0, 0, 43, 413, 0, + 0, 0, 0, 1527, 534, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 1099, 1100, + 1101, 393, 0, 0, 0, 0, 0, 403, 1109, 0, + 64, 65, 66, 0, 0, 0, 620, 0, 0, 0, + 0, 0, 0, 0, 0, 413, 0, 0, 0, 413, + 413, 413, 413, 0, 0, 0, 0, 413, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 896, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 897, 0, 0, 0, 0, 0, 1143, 0, - 898, 899, 900, 0, 0, 0, 901, 902, 903, 904, - 1327, 0, 0, 1405, 0, 0, 0, 1336, 0, 1337, - 0, 0, 0, 1340, 147, 0, 0, 0, 0, 0, - 148, 149, 150, 1606, 0, 0, 0, 151, 152, 153, - 154, 155, 1355, 0, 0, 0, 0, 0, 0, 1406, - 0, 0, 0, 0, 0, 156, 157, 1434, 413, 0, - 158, 0, 0, 1143, 0, 159, 0, 160, 0, 161, - 162, 0, 163, 0, 164, 0, 0, 0, 1455, 0, - 1607, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 103, 262, 393, 1392, 0, 0, - 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, - 0, 0, 0, 0, 0, 0, 137, 138, 139, 0, - 0, 1143, 0, 0, 0, 0, 142, 143, 144, 0, - 0, 1498, 0, 0, 145, 0, 265, 0, 0, 266, - 0, 1143, 267, 0, 268, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1529, 269, 1532, 1450, 0, - 0, 0, 0, 45, 46, 47, 48, 49, 0, 0, - 0, 53, 0, 0, 56, 0, 0, 413, 0, 0, - 0, 413, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1572, 1489, 148, 0, 0, 0, 0, 0, - 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, - 1317, 0, 0, 0, 158, 0, 0, 0, 0, 468, - 0, 1547, 0, 0, 162, 0, 231, 512, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1143, 1464, 514, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 413, - 0, 0, 393, 103, 262, 413, 0, 0, 0, 106, + 391, 392, 0, 0, 1153, 0, 393, 0, 0, 0, + 1588, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 1170, 0, 0, 714, 393, 0, 1176, 0, 0, 0, + 0, 370, 1181, 0, 1183, 1184, 413, 0, 0, 1187, + 1188, 0, 1190, 0, 1192, 0, 1194, 0, 1196, 1197, + 1198, 799, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1215, 413, 413, 413, 413, + 0, 1461, 0, 1464, 0, 1467, 0, 0, 0, 0, + 1226, 0, 0, 1475, 1230, 0, 1478, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 413, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 103, 299, 0, 0, 0, 0, 106, 107, + 108, 0, 1266, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 137, 138, 139, 403, 0, 0, + 0, 0, 1561, 0, 142, 143, 144, 0, 0, 0, + 0, 0, 145, 0, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, + 0, 0, 393, 0, 0, 0, 0, 403, 0, 403, + 0, 1153, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 1345, 0, 0, 0, 393, 0, 0, + 1354, 0, 1355, 0, 0, 403, 1358, 0, 0, 0, + 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1373, 0, 0, 0, 0, + 0, 0, 148, 0, 0, 0, 0, 0, 0, 151, + 152, 153, 154, 155, 0, 0, 1153, 0, 0, 0, + 0, 370, 0, 370, 0, 0, 0, 466, 467, 0, + 0, 0, 158, 0, 0, 0, 0, 468, 0, 0, + 0, 0, 162, 0, 231, 0, 0, 0, 0, 370, + 413, 0, 0, 0, 1410, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 299, 105, 0, 0, 0, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 264, 1533, 0, 0, - 0, 0, 1143, 413, 0, 137, 138, 139, 0, 0, - 0, 0, 0, 0, 0, 142, 143, 144, 0, 0, - 0, 0, 0, 145, 413, 265, 0, 0, 266, 0, - 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, - 0, 0, 45, 46, 47, 48, 49, 0, 0, 0, - 53, 0, 0, 56, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 636, 391, 392, 0, 0, - 0, 0, 393, 148, 0, 0, 0, 0, 0, 0, - 151, 152, 153, 154, 155, 0, 0, 0, 514, 0, - 0, 413, 0, 413, 0, 0, 0, 0, 156, 411, - 0, 0, 0, 158, 0, 0, 0, 514, 271, 0, - 0, 0, 0, 162, 0, 0, 512, 0, 0, 379, + 125, 126, 127, 128, 129, 130, 0, 0, 1153, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 0, 0, + 0, 140, 0, 141, 0, 142, 143, 144, 1153, 0, + 0, 0, 0, 145, 146, 103, 104, 105, 0, 0, + 0, 106, 107, 108, 0, 1472, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 0, 0, + 0, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 0, 0, 0, 140, 0, 141, 0, 142, 143, 144, + 0, 0, 0, 0, 0, 145, 146, 0, 0, 0, + 0, 0, 0, 413, 1515, 0, 0, 413, 0, 0, + 0, 0, 0, 148, 149, 150, 0, 0, 0, 0, + 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, + 0, 0, 0, 158, 0, 0, 0, 0, 271, 0, + 0, 0, 0, 162, 0, 1161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1153, 0, 0, 147, + 0, 0, 0, 0, 0, 148, 149, 150, 0, 0, + 0, 0, 151, 152, 153, 154, 155, 985, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 156, 157, 0, 0, 0, 158, 1026, 0, 0, 0, + 159, 0, 160, 510, 161, 162, 0, 163, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, + 0, 0, 0, 0, 0, 413, 0, 0, 0, 103, + 262, 0, 0, 0, 0, 106, 107, 108, 0, 1153, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 264, 413, 0, 0, 0, 0, 0, 0, + 0, 137, 138, 139, 0, 0, 0, 0, 0, 0, + 0, 142, 143, 144, 413, 0, 0, 0, 0, 145, + 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 269, 0, 0, 0, 0, 0, 0, 45, 46, + 47, 48, 49, 0, 0, 0, 53, 0, 0, 56, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 0, 0, 0, 0, 393, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 0, 0, 0, 0, 393, 103, 262, - 105, 0, 0, 0, 106, 107, 108, 0, 413, 109, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 148, + 0, 0, 0, 0, 0, 0, 151, 152, 153, 154, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 413, + 0, 413, 0, 0, 466, 1335, 0, 0, 0, 158, + 0, 0, 0, 0, 468, 0, 0, 103, 262, 162, + 0, 231, 512, 106, 107, 108, 0, 0, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 138, 139, 0, 0, 413, 0, 0, 0, 0, 142, + 143, 144, 0, 7, 8, 0, 0, 145, 0, 265, + 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, + 0, 0, 0, 0, 0, 0, 45, 46, 47, 48, + 49, 0, 0, 0, 53, 0, 0, 56, 0, 0, + 0, 0, 0, 0, 0, 0, 596, 21, 22, 597, + 24, 25, 598, 27, 599, 29, 0, 30, 0, 0, + 0, 0, 35, 36, 0, 38, 39, 40, 0, 1081, + 0, 43, 0, 0, 0, 0, 0, 148, 0, 0, + 0, 0, 0, 0, 151, 152, 153, 154, 155, 1133, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 411, 64, 65, 66, 158, 0, 0, + 0, 0, 271, 0, 0, 0, 0, 162, 0, 0, + 512, 103, 262, 105, 0, 0, 0, 106, 107, 108, + 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 264, 0, 0, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 0, 752, 0, 140, + 0, 141, 0, 142, 143, 144, 0, 0, 0, 0, + 0, 145, 146, 265, 0, 0, 266, 0, 0, 267, + 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, + 45, 46, 47, 48, 49, 0, 0, 0, 53, 0, + 0, 56, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, + 393, 0, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, + 393, 148, 149, 150, 0, 0, 0, 0, 151, 152, + 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 270, 0, 0, + 0, 158, 0, 0, 0, 0, 271, 0, 103, 262, + 263, 162, 0, 1357, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 264, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 0, 0, 140, 0, 141, 0, - 142, 143, 144, 0, 0, 0, 0, 0, 145, 146, + 130, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 137, 138, 139, 0, 0, 0, 7, 8, 0, 0, + 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, 45, 46, 47, - 48, 49, 0, 0, 0, 53, 0, 0, 56, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 515, 391, 392, 0, 0, 0, 0, 393, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 636, - 391, 392, 0, 0, 0, 0, 393, 0, 148, 149, - 150, 0, 0, 0, 0, 151, 152, 153, 154, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 0, 0, 0, 53, 0, 0, 56, 596, + 21, 22, 597, 24, 25, 598, 27, 599, 29, 0, + 30, 0, 0, 0, 0, 35, 36, 0, 38, 39, + 40, 0, 0, 0, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, + 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, + 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 156, 270, 0, 0, 0, 158, 0, - 0, 0, 0, 271, 0, 103, 262, 263, 162, 0, - 1339, 106, 107, 108, 0, 0, 109, 110, 111, 112, + 0, 0, 0, 271, 0, 103, 262, 1224, 162, 0, + 272, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, 0, 0, 0, 0, 137, 138, 139, - 0, 0, 0, 7, 8, 0, 0, 142, 143, 144, + 753, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, @@ -1980,11 +2012,11 @@ static const yytype_int16 yytable[] = 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 156, 270, 0, 0, 0, 158, 0, 0, 0, 0, - 271, 0, 103, 262, 1210, 162, 0, 272, 106, 107, + 271, 0, 103, 262, 0, 162, 0, 1225, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, - 0, 0, 0, 0, 137, 138, 139, 884, 0, 0, + 0, 0, 0, 0, 137, 138, 139, 890, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, @@ -1998,11 +2030,11 @@ static const yytype_int16 yytable[] = 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 156, 270, 0, 0, 0, 158, 0, 0, 0, 0, 271, 0, 103, - 262, 0, 162, 0, 1211, 106, 107, 108, 0, 0, + 262, 0, 162, 0, 272, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, 0, 0, 0, - 0, 137, 138, 139, 885, 0, 0, 7, 8, 0, + 0, 137, 138, 139, 891, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2014,13 +2046,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 66, 0, 0, 0, 156, 270, 0, 0, 0, 158, + 66, 0, 0, 0, 156, 411, 0, 0, 0, 158, 0, 0, 0, 0, 271, 0, 103, 262, 0, 162, - 0, 272, 106, 107, 108, 0, 0, 109, 110, 111, + 0, 508, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, 0, 0, 0, 0, 137, 138, - 139, 908, 0, 0, 7, 8, 0, 0, 142, 143, + 139, 914, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, @@ -2033,11 +2065,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, 156, 411, 0, 0, 0, 158, 0, 0, 0, - 0, 271, 0, 103, 262, 0, 162, 0, 508, 106, + 0, 271, 0, 103, 262, 0, 162, 0, 739, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, - 0, 0, 0, 0, 0, 137, 138, 139, 943, 0, + 0, 0, 0, 0, 0, 137, 138, 139, 949, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, @@ -2049,13 +2081,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, - 0, 0, 64, 65, 66, 0, 0, 0, 156, 411, + 0, 0, 64, 65, 66, 0, 0, 0, 156, 270, 0, 0, 0, 158, 0, 0, 0, 0, 271, 0, - 103, 262, 0, 162, 0, 731, 106, 107, 108, 0, + 103, 262, 0, 162, 0, 1229, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 138, 139, 1040, 0, 0, 7, 8, + 0, 0, 137, 138, 139, 1050, 0, 0, 7, 8, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2065,728 +2097,806 @@ static const yytype_int16 yytable[] = 29, 0, 30, 0, 0, 0, 0, 35, 36, 0, 38, 39, 40, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 0, 0, 0, 0, 0, 0, 151, 152, 153, + 148, 0, 1139, 0, 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 64, - 65, 66, 0, 0, 0, 156, 270, 0, 0, 0, - 158, 0, 0, 0, 0, 271, 0, 103, 262, 0, - 162, 0, 1215, 106, 107, 108, 0, 0, 109, 110, + 65, 66, 0, 0, 0, 466, 1335, 0, 0, 0, + 158, 0, 0, 0, 0, 468, 0, 103, 299, 105, + 162, 0, 231, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 264, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 138, 139, 1492, 0, 0, 7, 8, 0, 0, 142, - 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, - 0, 0, 266, 0, 0, 267, 0, 268, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 0, 0, 45, 46, 47, 48, - 49, 0, 0, 0, 53, 0, 0, 56, 596, 21, - 22, 597, 24, 25, 598, 27, 599, 29, 0, 30, - 0, 0, 0, 0, 35, 36, 0, 38, 39, 40, - 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, - 0, 741, 0, 0, 151, 152, 153, 154, 155, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, - 0, 0, 466, 1317, 0, 0, 0, 158, 0, 0, - 0, 0, 468, 0, 103, 299, 105, 162, 0, 231, - 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 0, 0, 0, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 1549, - 0, 0, 140, 0, 141, 0, 142, 143, 144, 0, - 103, 299, 105, 0, 145, 146, 106, 107, 108, 0, - 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 0, 0, 0, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 0, 0, 0, 140, 0, - 141, 0, 142, 143, 144, 0, 0, 0, 0, 0, - 145, 146, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 148, 149, 150, 0, 0, 0, - 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, - 157, 0, 0, 0, 158, 0, 0, 0, 0, 271, - 0, 0, 0, 0, 162, 0, 1151, 0, 0, 0, + 0, 0, 0, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 1518, 0, 0, 140, 0, 141, 0, 142, + 143, 144, 0, 103, 299, 105, 0, 145, 146, 106, + 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 0, 0, 0, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 0, 0, + 0, 140, 0, 141, 0, 142, 143, 144, 0, 0, + 0, 0, 0, 145, 146, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 148, 149, 150, + 0, 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 149, 150, 0, 0, 0, 0, 151, 152, 153, - 154, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 157, 0, 0, 0, - 158, 0, 0, 0, 0, 271, 0, 103, 299, 105, - 162, 0, 1333, 106, 107, 108, 0, 0, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 816, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 0, 0, 140, 0, 141, 0, 142, - 143, 144, 0, 0, 0, 0, 0, 145, 146, 0, - 103, 262, 0, 0, 0, 0, 106, 107, 108, 0, + 0, 0, 156, 157, 0, 0, 0, 158, 0, 0, + 0, 0, 271, 0, 0, 0, 0, 162, 0, 1351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 148, 149, 150, 0, 0, 0, 0, + 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, + 0, 0, 0, 158, 0, 0, 0, 0, 271, 0, + 103, 262, 0, 162, 0, 1360, 106, 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 264, 0, 0, 0, 0, 0, 0, 0, 0, 137, 138, 139, 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, 0, 0, 0, 0, 0, 145, 0, 265, 0, 0, 266, 0, 0, 267, 0, - 268, 0, 0, 0, 0, 0, 0, 148, 149, 150, - 0, 0, 269, 0, 151, 152, 153, 154, 155, 45, + 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 269, 0, 0, 0, 0, 0, 0, 45, 46, 47, 48, 49, 0, 0, 0, 53, 0, 0, - 56, 0, 156, 157, 0, 0, 0, 158, 0, 0, - 0, 0, 271, 0, 0, 0, 0, 162, 0, 1342, - 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 0, 0, 936, 0, 393, - 148, 0, 0, 0, 0, 0, 0, 151, 152, 153, - 154, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 411, 0, 0, 0, + 56, 103, 299, 0, 0, 0, 0, 106, 107, 108, + 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 1233, 0, 0, 0, 0, 0, + 148, 0, 0, 137, 138, 139, 0, 151, 152, 153, + 154, 155, 0, 142, 143, 144, 0, 0, 0, 0, + 0, 145, 0, 0, 0, 156, 411, 0, 0, 0, 158, 103, 299, 105, 0, 271, 0, 106, 107, 108, 162, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 0, 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, 139, 0, 0, 0, 140, - 0, 141, 0, 142, 143, 144, 0, 103, 299, 0, - 0, 145, 146, 106, 107, 108, 0, 0, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 138, 139, 0, 0, 0, 0, 0, 0, 0, 142, - 143, 144, 0, 0, 0, 0, 0, 145, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 148, 149, 150, 1094, 0, 0, 0, 151, 152, + 0, 141, 0, 142, 143, 144, 0, 0, 0, 0, + 0, 145, 146, 0, 0, 0, 0, 0, 0, 0, + 0, 148, 0, 0, 0, 0, 0, 0, 151, 152, + 153, 154, 155, 1249, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 157, 0, 0, + 0, 158, 0, 0, 0, 0, 271, 0, 0, 364, + 0, 162, 0, 0, 0, 0, 0, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 1364, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 148, 149, 150, 0, 0, 0, 0, 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, 0, 0, - 0, 158, 0, 0, 0, 0, 271, 0, 0, 0, - 0, 162, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 148, 0, 0, - 393, 0, 0, 0, 151, 152, 153, 154, 155, 814, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 157, 0, 0, 0, 158, 0, 0, - 0, 0, 271, 103, 299, 364, 0, 162, 0, 106, - 107, 108, 0, 0, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 137, 138, 139, 0, 0, - 0, 0, 0, 0, 0, 142, 143, 144, 0, 0, - 0, 0, 0, 145, 0, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 352, 353, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 148, 0, 0, 0, 1297, 0, 1298, - 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, - 0, 0, -4, 1, 0, 0, -4, 0, 156, 157, - 0, 0, 0, 158, -4, -4, 0, 0, 271, 0, - 0, 0, 0, 162, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, -4, - -4, 0, 393, 0, 728, 0, 0, 0, 0, 679, - -4, -4, -4, 0, -4, 0, -4, 0, 0, 0, - -4, -4, 0, -4, -4, 0, 0, -4, -4, -4, - -4, -4, -4, -4, -4, -4, -4, 497, -4, -4, - -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, - 0, -4, -4, -4, -4, -4, -4, -4, -4, -4, - -4, -4, -4, -4, -4, -4, -4, -4, 0, 0, - 0, -4, -4, -4, 0, 0, 0, 0, 0, -4, - 6, 0, 0, 0, -4, -4, -4, -4, 7, 8, - -4, 0, -4, 0, -4, -4, -4, -4, -4, -4, - -4, -4, -4, -4, -4, 0, 0, 0, -4, -4, - -4, -4, 0, 9, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 12, 13, 0, 14, 0, - 15, 0, 0, 0, 16, 17, 0, 18, 19, 0, - 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 0, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 7, 8, 0, 59, 60, 61, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 63, 64, - 65, 66, 0, 0, 67, 0, 68, 0, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, - 0, 0, 80, 81, 82, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 596, 21, 22, 597, 24, - 25, 598, 27, 599, 29, 0, 30, 0, 0, 0, - 0, 35, 36, 0, 38, 39, 40, 0, 0, 0, - 43, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 0, 0, 0, 0, 0, 1328, 0, 1329, 0, - 0, 0, 0, 64, 65, 66, 379, 380, 381, 382, + 0, 158, 103, 299, 0, 0, 271, 0, 106, 107, + 108, 162, 0, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 7, 8, 1396, 0, 0, + 0, 0, 0, 0, 137, 138, 139, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 1424, 0, 0, + 0, 0, 145, 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 1436, 0, 1437, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, + 1524, 0, 0, 0, 393, 0, 0, 0, 596, 21, + 22, 597, 24, 25, 598, 27, 599, 29, 0, 30, + 1581, 0, 0, 0, 35, 36, 0, 38, 39, 40, + 0, 0, 0, 43, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 1486, 514, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 861, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 911, + 0, 0, 148, 0, 0, 0, 64, 65, 66, 151, + 152, 153, 154, 155, 1563, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 156, 157, 0, + 0, 0, 158, 0, 514, 0, 0, 271, 0, 0, + 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 930, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 954, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 1044, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 1295, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 1314, + 389, 390, 391, 392, 514, 0, 0, 0, 393, 1583, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 1363, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 1364, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 1365, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 1366, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 1367, + 389, 390, 391, 392, 749, 0, 0, 0, 393, 0, + 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 824, 0, 0, + 0, 393, 0, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 942, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 1401, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 1452, 379, 380, 381, 382, + 389, 636, 391, 392, 1104, 0, 0, 0, 393, 0, + 0, 0, 0, 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 1458, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 1459, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 1480, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 1483, 379, 380, + 0, 0, 0, 0, 393, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 515, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 636, 391, 392, 0, + 0, 0, 0, 393, 0, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 1486, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 1509, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 1512, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 1541, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 1543, 379, 380, + 391, 392, 0, 0, 0, 0, 393, 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 1545, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 1559, 379, 380, 381, 382, 383, 384, + 391, 392, 0, 1032, 0, 0, 393, 0, 0, 0, + 0, 0, 0, 0, 0, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 0, + -4, 1, 0, 0, -4, 0, 0, 0, 0, 0, + 352, 353, -4, -4, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 1579, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 672, 379, + 0, 0, 393, 0, 0, 0, 0, -4, -4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -4, -4, + -4, 0, -4, 0, -4, 0, 0, 0, -4, -4, + 0, -4, -4, 0, 0, -4, -4, -4, -4, -4, + -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, + -4, -4, -4, -4, -4, -4, -4, -4, 0, -4, + -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, + -4, -4, -4, -4, -4, -4, 0, 0, 0, -4, + -4, -4, 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, -4, -4, -4, -4, 0, 497, -4, 0, + -4, 0, -4, -4, -4, -4, -4, -4, -4, -4, + -4, -4, -4, 6, 0, 0, -4, -4, -4, -4, + 0, 7, 8, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 9, 10, 1315, 0, + 1316, 0, 0, 0, 0, 0, 0, 11, 12, 13, + 0, 14, 0, 15, 0, 0, 0, 16, 17, 0, + 18, 19, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 0, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 7, 8, 0, 59, 60, + 61, 0, 0, 0, 0, 0, 62, 0, 0, 0, + 0, 63, 64, 65, 66, 0, 0, 67, 0, 68, + 0, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 0, 0, 0, 80, 81, 82, 83, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 596, 21, + 22, 597, 24, 25, 598, 27, 599, 29, 0, 30, + 0, 0, 0, 0, 35, 36, 0, 38, 39, 40, + 0, 0, 0, 43, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, + 0, 0, 393, 0, 0, 0, 0, 0, 0, 1346, + 0, 1347, 0, 0, 0, 0, 64, 65, 66, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, - 0, 0, 0, 0, 0, 1377, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 627, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 679, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 680, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 738, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 768, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 776, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 777, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 778, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 893, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 894, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 895, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 926, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 1003, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 1042, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 1043, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 1093, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 1255, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 1256, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 1263, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 1417, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, - 0, 1418, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 0, 0, 0, 1422, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 1504, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 0, 0, 0, 1507, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 0, 0, 0, 1539, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 717, 0, 718, 379, + 0, 0, 0, 0, 1458, 0, 1459, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 822, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 869, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 917, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 936, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, - 0, 588, 379, 380, 381, 382, 383, 384, 385, 386, + 0, 0, 0, 0, 0, 0, 960, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1054, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 1313, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 1332, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 1381, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 0, 0, 1382, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1383, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 1384, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 1385, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 1419, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 0, 0, 1474, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1480, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 1481, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 1506, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 1509, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 0, 0, 1512, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1535, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 1542, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 1575, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 1577, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 0, 0, 1579, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1593, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 1617, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 1674, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 1675, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 0, 0, 1676, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 0, 0, 1677, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 0, 680, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 743, 379, 380, 381, 382, 383, + 393, 0, 0, 0, 0, 0, 0, 0, 1395, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 736, + 0, 0, 0, 0, 687, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 627, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 687, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 688, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 746, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 776, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 0, 0, 750, 379, 380, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 784, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 785, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 786, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 899, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 900, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 901, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 932, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1009, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1052, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1053, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1103, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1269, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1270, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1277, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1435, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1436, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1440, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1451, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1452, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1453, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1454, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1530, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1533, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1536, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1537, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1538, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1539, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1569, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1595, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1596, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1597, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1598, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1635, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1636, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1637, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, + 1638, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 1661, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 0, 1662, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 0, 0, 0, 0, 0, 1663, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 0, 0, 1664, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, + 0, 0, 0, 393, 0, 725, 0, 726, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 755, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 588, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 0, 0, 828, 379, 380, 381, 382, 383, 384, + 0, 0, 0, 751, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 0, 0, 919, 379, 380, 381, + 0, 0, 393, 0, 0, 0, 758, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 0, 393, 0, 0, 0, 920, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 763, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 0, 0, 924, 379, 380, 381, 382, 383, 384, 385, + 0, 0, 836, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, 925, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 0, 0, 927, 379, + 0, 0, 0, 0, 393, 0, 0, 0, 926, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, - 0, 955, 379, 380, 381, 382, 383, 384, 385, 386, + 0, 930, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 0, 0, 998, 379, 380, 381, 382, 383, + 393, 0, 0, 0, 931, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 0, 0, 1220, 379, 380, + 0, 0, 0, 393, 0, 0, 0, 933, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, 0, 0, - 1246, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 961, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 0, 0, 1390, 379, 380, 381, 382, 383, 384, + 0, 0, 0, 1004, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, + 0, 0, 393, 0, 0, 0, 1234, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 0, 0, 0, 0, 393, 0, 0, 0, 1260, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, + 0, 0, 1408, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, + 0, 393, 0, 585, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 585, 379, 380, 381, 382, 383, + 0, 0, 393, 0, 635, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 635, 379, 380, 381, 382, + 0, 0, 0, 393, 0, 639, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 639, 379, 380, 381, + 0, 0, 0, 0, 393, 0, 640, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 0, 393, 0, 640, 379, 380, + 392, 0, 0, 0, 0, 393, 0, 642, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 642, 379, + 391, 392, 0, 0, 0, 0, 393, 0, 644, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 0, 0, 0, 0, 393, 0, 644, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 645, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 645, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 648, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 648, 379, 380, 381, 382, 383, 384, 385, 386, + 0, 649, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 649, 379, 380, 381, 382, 383, 384, 385, + 393, 0, 736, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, - 0, 393, 0, 728, 379, 380, 381, 382, 383, 384, + 0, 393, 0, 742, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 734, 379, 380, 381, 382, 383, + 0, 0, 393, 0, 743, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 735, 379, 380, 381, 382, + 0, 0, 0, 393, 0, 744, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 736, 379, 380, 381, + 0, 0, 0, 0, 393, 0, 750, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 0, 393, 0, 742, 379, 380, + 392, 0, 0, 0, 0, 393, 0, 858, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 850, 379, + 391, 392, 0, 0, 0, 0, 393, 0, 863, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 0, 0, 0, 0, 393, 0, 855, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 868, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 860, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 871, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 863, 379, 380, 381, 382, 383, 384, 385, 386, + 0, 872, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 864, 379, 380, 381, 382, 383, 384, 385, + 393, 0, 878, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, - 0, 393, 0, 870, 379, 380, 381, 382, 383, 384, + 0, 393, 0, 883, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 877, 379, 380, 381, 382, 383, + 0, 0, 393, 0, 884, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 878, 379, 380, 381, 382, + 0, 0, 0, 393, 0, 885, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 879, 379, 380, 381, + 0, 0, 0, 0, 393, 0, 916, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 0, 393, 0, 910, 379, 380, + 392, 0, 0, 0, 0, 393, 0, 918, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393, 0, 912, 379, + 391, 392, 0, 0, 0, 0, 393, 0, 919, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 0, 0, 0, 0, 393, 0, 913, + 390, 391, 392, 0, 0, 0, 0, 393, 0, 920, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, 0, - 914, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 924, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, 393, - 0, 918, 379, 380, 381, 382, 383, 384, 385, 386, + 0, 1131, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, 0, - 393, 0, 1121, 379, 380, 381, 382, 383, 384, 385, + 393, 0, 1314, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 0, - 0, 393, 0, 1296, 379, 380, 381, 382, 383, 384, + 0, 393, 0, 1331, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, - 0, 0, 393, 0, 1313, 379, 380, 381, 382, 383, + 0, 0, 393, 0, 1350, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 0, - 0, 0, 0, 393, 0, 1332, 379, 380, 381, 382, + 0, 0, 0, 393, 0, 1529, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 0, 0, 0, 0, 393, 0, 1503, 379, 380, 381, + 0, 0, 0, 0, 393, 0, 1591, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 0, 0, 0, 0, 393, 0, 1557, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 0, 0, 0, 0, 393 + 392, 0, 0, 0, 0, 393 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-1212))) + (!!((Yystate) == (-1176))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 3, 3, 1213, 6, 343, 4, 345, 4, 4, 239, - 460, 461, 351, 909, 4, 6, 3, 5, 224, 905, - 4, 251, 4, 6, 4, 4, 364, 4, 366, 4, - 6, 5, 5, 0, 6, 6, 6, 46, 47, 4, - 49, 4, 6, 6, 4, 7, 168, 169, 6, 102, - 6, 4, 6, 65, 168, 169, 68, 6, 4, 71, - 6, 6, 184, 6, 186, 128, 296, 1278, 298, 13, - 184, 4, 186, 178, 4, 5, 168, 169, 141, 142, - 185, 546, 547, 548, 549, 550, 551, 552, 553, 554, - 555, 556, 184, 558, 559, 560, 561, 562, 563, 564, - 168, 169, 71, 568, 569, 570, 168, 169, 7, 39, - 40, 41, 42, 43, 44, 180, 184, 182, 186, 65, - 179, 51, 187, 53, 186, 184, 168, 169, 118, 119, - 120, 121, 65, 178, 64, 178, 69, 180, 137, 92, - 93, 94, 95, 185, 187, 1356, 68, 100, 81, 71, - 103, 7, 116, 168, 169, 68, 168, 169, 71, 162, - 116, 163, 116, 128, 129, 1376, 178, 116, 128, 129, - 185, 174, 175, 185, 165, 162, 168, 169, 181, 1065, - 175, 176, 178, 180, 178, 182, 185, 174, 175, 185, - 187, 185, 178, 185, 181, 178, 186, 185, 178, 178, - 6, 185, 185, 185, 174, 175, 185, 165, 185, 185, - 185, 185, 185, 185, 144, 145, 6, 180, 227, 228, - 182, 451, 452, 168, 169, 6, 235, 168, 169, 180, - 239, 182, 65, 168, 169, 68, 187, 178, 71, 178, - 73, 471, 7, 6, 185, 175, 176, 585, 7, 184, - 588, 71, 182, 73, 3, 4, 155, 156, 157, 158, - 9, 10, 11, 168, 169, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 168, 169, 168, - 169, 181, 6, 523, 184, 1506, 45, 46, 47, 155, - 156, 157, 158, 184, 180, 184, 55, 56, 57, 8, - 179, 168, 169, 366, 63, 184, 168, 169, 180, 175, - 176, 168, 169, 168, 169, 187, 182, 184, 170, 171, - 172, 7, 184, 168, 169, 177, 307, 184, 178, 184, + 6, 460, 461, 343, 239, 345, 6, 915, 4, 6, + 224, 351, 4, 6, 3, 6, 251, 4, 4, 0, + 4, 364, 4, 366, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 6, 558, 559, 560, 561, + 562, 563, 564, 6, 4, 4, 568, 569, 570, 4, + 4, 4, 1227, 65, 5, 5, 68, 5, 178, 71, + 180, 296, 6, 298, 6, 6, 6, 187, 4, 6, + 6, 178, 7, 180, 7, 168, 169, 83, 7, 180, + 4, 182, 7, 13, 7, 4, 187, 6, 168, 169, + 180, 184, 182, 186, 168, 169, 6, 187, 4, 5, + 168, 169, 68, 7, 184, 71, 186, 204, 205, 206, + 7, 185, 209, 210, 211, 179, 184, 1292, 186, 71, + 184, 168, 169, 168, 169, 116, 118, 119, 120, 121, + 184, 6, 186, 39, 40, 41, 42, 43, 44, 186, + 185, 137, 128, 129, 7, 51, 65, 53, 245, 246, + 156, 157, 158, 159, 160, 102, 168, 169, 64, 68, + 257, 258, 71, 170, 171, 172, 178, 173, 168, 169, + 177, 177, 165, 185, 163, 116, 116, 174, 175, 116, + 186, 187, 188, 189, 178, 191, 192, 193, 194, 185, + 196, 197, 198, 180, 186, 182, 178, 203, 131, 1374, + 187, 185, 131, 185, 128, 129, 131, 178, 131, 178, + 168, 169, 168, 169, 185, 221, 451, 452, 178, 1394, + 4, 165, 185, 178, 230, 231, 185, 185, 184, 6, + 185, 185, 185, 239, 185, 185, 471, 185, 144, 145, + 8, 187, 585, 185, 180, 588, 192, 182, 175, 176, + 196, 155, 156, 157, 158, 182, 6, 203, 155, 156, + 157, 158, 178, 6, 270, 271, 272, 178, 168, 169, + 6, 175, 176, 4, 185, 281, 282, 283, 182, 285, + 178, 65, 288, 289, 184, 69, 292, 185, 523, 168, + 169, 180, 155, 156, 157, 158, 128, 81, 187, 305, + 911, 823, 179, 181, 181, 184, 184, 178, 185, 141, + 142, 317, 175, 176, 185, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 342, 178, 168, 169, + 168, 169, 7, 71, 185, 73, 352, 344, 354, 346, + 347, 348, 349, 350, 184, 7, 184, 1532, 355, 356, + 357, 92, 93, 94, 95, 181, 7, 6, 184, 100, + 376, 377, 103, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 175, 176, + 396, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 411, 180, 168, 169, 177, + 3, 417, 184, 6, 186, 758, 422, 178, 186, 366, + 65, 427, 428, 68, 185, 179, 71, 433, 434, 180, + 184, 377, 438, 439, 440, 441, 442, 443, 444, 445, + 1615, 168, 169, 965, 966, 967, 968, 969, 683, 168, + 169, 973, 974, 175, 176, 178, 75, 463, 464, 465, + 466, 467, 468, 185, 1075, 184, 472, 473, 474, 475, + 476, 460, 461, 178, 480, 175, 176, 483, 484, 6, + 7, 487, 488, 489, 3, 185, 492, 493, 494, 495, + 155, 156, 157, 158, 500, 1403, 179, 1405, 181, 1407, + 178, 184, 508, 155, 156, 157, 158, 178, 514, 515, + 175, 176, 175, 176, 155, 156, 157, 158, 178, 5, + 88, 178, 185, 175, 176, 46, 47, 533, 49, 71, + 98, 537, 71, 539, 175, 176, 6, 543, 106, 107, + 108, 487, 488, 489, 112, 113, 114, 115, 6, 7, + 168, 169, 185, 39, 40, 41, 42, 43, 44, 168, + 169, 71, 508, 179, 307, 51, 184, 53, 184, 162, + 1092, 168, 169, 168, 169, 184, 168, 169, 64, 168, + 169, 174, 175, 71, 590, 179, 73, 184, 181, 184, + 184, 537, 184, 168, 169, 184, 168, 169, 545, 68, + 179, 815, 181, 168, 169, 184, 168, 169, 178, 184, + 353, 1519, 184, 168, 169, 621, 359, 71, 624, 184, + 626, 627, 184, 168, 169, 184, 68, 186, 179, 184, + 636, 637, 629, 184, 68, 68, 979, 634, 71, 184, + 73, 588, 185, 162, 650, 168, 169, 170, 171, 172, + 185, 71, 995, 659, 177, 174, 175, 65, 144, 145, + 68, 65, 181, 71, 68, 73, 1574, 71, 1576, 73, + 1578, 184, 68, 186, 680, 71, 1584, 73, 624, 4, + 626, 687, 688, 184, 178, 186, 180, 693, 182, 179, + 179, 185, 181, 187, 184, 184, 439, 440, 441, 442, + 706, 178, 4, 709, 179, 178, 227, 228, 179, 184, + 181, 4, 4, 184, 235, 1623, 178, 1625, 239, 1627, + 184, 727, 186, 6, 6, 731, 732, 733, 734, 184, + 179, 186, 181, 739, 680, 184, 184, 178, 186, 8, + 746, 180, 748, 749, 4, 7, 1205, 1206, 4, 178, 343, 344, 345, 346, 347, 348, 349, 350, 351, 184, - 815, 180, 355, 356, 357, 358, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 8, 1577, 179, 355, 356, - 357, 358, 184, 178, 344, 180, 346, 347, 348, 349, - 350, 184, 353, 186, 179, 355, 356, 357, 359, 184, - 155, 156, 157, 158, 143, 179, 155, 156, 157, 158, - 184, 150, 151, 152, 153, 154, 168, 169, 175, 176, - 175, 176, 750, 88, 168, 169, 175, 176, 185, 168, - 169, 178, 184, 98, 173, 168, 169, 168, 169, 178, - 184, 106, 107, 108, 183, 75, 185, 112, 113, 114, - 115, 184, 184, 184, 186, 675, 175, 176, 178, 458, - 459, 8, 665, 666, 667, 185, 185, 466, 460, 461, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 168, 169, 178, 178, 177, 155, - 156, 157, 158, 185, 71, 168, 169, 186, 178, 1385, - 184, 1387, 545, 1389, 959, 960, 961, 962, 963, 175, - 176, 184, 967, 968, 65, 178, 184, 68, 186, 178, - 71, 186, 12, 13, 168, 169, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 184, 175, 176, 181, 177, 588, 184, 175, 176, 168, - 169, 185, 73, 186, 182, 71, 204, 205, 206, 185, - 7, 209, 210, 211, 1440, 184, 6, 1443, 179, 179, - 1446, 168, 169, 184, 184, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 68, 76, 184, 71, 6, - 73, 81, 82, 71, 84, 85, 86, 245, 246, 178, - 90, 180, 184, 182, 186, 71, 185, 1493, 187, 257, - 258, 807, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 68, 1082, 589, 71, - 177, 73, 179, 123, 124, 125, 629, 6, 7, 632, - 65, 634, 184, 68, 186, 973, 71, 179, 73, 181, - 178, 1527, 629, 185, 1540, 632, 1542, 634, 1544, 68, - 179, 989, 181, 185, 1550, 184, 83, 6, 7, 629, - 179, 185, 181, 716, 634, 184, 184, 71, 186, 678, - 168, 169, 170, 171, 172, 1561, 685, 178, 1564, 177, - 68, 1567, 691, 68, 1570, 1581, 186, 1583, 5, 1585, - 184, 71, 186, 664, 665, 666, 667, 750, 155, 156, - 157, 158, 755, 184, 179, 186, 181, 178, 1594, 184, - 1596, 179, 1598, 181, 4, 179, 184, 181, 175, 176, - 184, 4, 39, 40, 41, 42, 43, 44, 4, 156, - 157, 158, 159, 160, 51, 184, 53, 186, 184, 4, - 186, 1191, 1192, 184, 178, 186, 173, 64, 178, 6, - 177, 184, 755, 186, 179, 71, 181, 73, 6, 186, - 187, 188, 189, 1101, 191, 192, 193, 194, 755, 196, - 197, 198, 180, 4, 980, 828, 203, 71, 178, 73, - 6, 4, 785, 786, 787, 755, 184, 184, 186, 186, - 184, 794, 186, 184, 221, 186, 178, 178, 785, 786, - 787, 178, 178, 230, 231, 178, 184, 794, 186, 184, - 7, 186, 239, 88, 178, 785, 786, 787, 184, 184, - 186, 186, 178, 98, 794, 178, 178, 144, 145, 4, - 833, 106, 107, 108, 184, 844, 186, 112, 113, 114, - 115, 185, 185, 270, 271, 272, 833, 184, 184, 186, - 186, 184, 178, 186, 281, 282, 283, 184, 285, 186, - 185, 288, 289, 833, 184, 292, 186, 4, 6, 6, - 184, 184, 186, 186, 927, 184, 6, 186, 305, 184, - 184, 186, 186, 178, 893, 894, 895, 184, 4, 186, - 317, 184, 178, 186, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 184, 184, 186, 186, - 973, 184, 184, 186, 186, 352, 1132, 354, 178, 184, - 1380, 186, 185, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 185, 178, 376, - 377, 177, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 178, 184, 396, - 186, 178, 178, 6, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 184, 411, 186, 184, 177, 186, 184, - 417, 186, 184, 178, 186, 422, 184, 184, 186, 186, - 427, 428, 88, 1342, 178, 185, 433, 434, 184, 178, - 186, 438, 98, 184, 178, 186, 443, 444, 445, 185, - 106, 107, 108, 184, 180, 186, 112, 113, 114, 115, - 185, 185, 178, 1004, 178, 6, 463, 464, 465, 466, - 467, 468, 185, 185, 185, 472, 473, 474, 475, 476, - 5, 180, 1105, 480, 180, 1064, 483, 484, 180, 88, - 487, 488, 489, 180, 5, 492, 493, 494, 495, 98, - 5, 182, 88, 500, 6, 6, 185, 106, 107, 108, - 131, 508, 98, 112, 113, 114, 115, 514, 515, 6, - 106, 107, 108, 6, 6, 185, 112, 113, 114, 115, - 186, 185, 6, 180, 4, 177, 533, 182, 7, 1112, - 537, 187, 539, 187, 180, 185, 543, 186, 7, 6, - 6, 6, 6, 178, 7, 1112, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 7, 1347, 1112, 178, 177, 1148, 178, 178, 1157, 7, - 6, 179, 7, 1124, 6, 185, 7, 186, 6, 6, - 6, 1148, 6, 590, 1394, 4, 4, 185, 1221, 128, - 186, 185, 185, 185, 185, 179, 6, 6, 1148, 179, - 1151, 179, 184, 184, 1193, 184, 1195, 184, 1197, 1191, - 1192, 179, 184, 88, 621, 179, 179, 624, 6, 626, - 627, 4, 1211, 98, 181, 1214, 1215, 4, 6, 636, - 637, 106, 107, 108, 6, 6, 1187, 112, 113, 114, - 115, 6, 131, 650, 7, 7, 7, 7, 131, 7, - 7, 7, 659, 131, 7, 185, 4, 664, 665, 666, - 667, 6, 182, 186, 186, 672, 6, 181, 7, 7, - 7, 6, 679, 680, 182, 6, 185, 187, 685, 6, - 1231, 6, 192, 7, 1494, 180, 196, 1238, 1239, 6, - 178, 698, 178, 203, 701, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 185, - 6, 186, 719, 177, 165, 7, 723, 724, 725, 726, - 7, 7, 73, 7, 731, 7, 7, 7, 6, 6, - 179, 738, 7, 740, 741, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 179, - 179, 7, 7, 177, 179, 7, 6, 4, 6, 1342, - 4, 768, 88, 185, 178, 6, 12, 13, 7, 776, - 777, 778, 98, 780, 6, 1342, 7, 7, 7, 185, - 106, 107, 108, 6, 6, 792, 112, 113, 114, 115, - 797, 6, 71, 800, 199, 1384, 6, 1386, 1380, 1388, - 6, 6, 4, 810, 811, 812, 813, 1396, 4, 816, - 1399, 4, 186, 179, 6, 220, 6, 4, 223, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 6, - 76, 7, 184, 179, 178, 81, 82, 179, 84, 85, - 86, 182, 247, 179, 90, 6, 88, 6, 81, 182, - 6, 185, 6, 185, 6, 862, 98, 185, 6, 6, - 186, 5, 185, 185, 106, 107, 108, 377, 4, 185, - 112, 113, 114, 115, 6, 185, 7, 123, 124, 125, - 7, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 7, 7, 302, 303, 177, - 7, 6, 185, 6, 180, 6, 6, 4, 1497, 314, - 6, 185, 185, 1464, 185, 6, 923, 6, 6, 926, - 127, 184, 6, 4, 4, 185, 4, 6, 5, 936, - 6, 6, 6, 6, 6, 6, 4, 6, 126, 6, - 186, 6, 6, 6, 186, 952, 6, 131, 6, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 6, 6, 6, 6, 177, 6, 6, - 184, 6, 6, 1556, 981, 6, 179, 487, 488, 489, - 6, 6, 1533, 187, 7, 992, 993, 182, 192, 1556, - 6, 185, 196, 6, 5, 186, 1003, 1004, 508, 203, - 6, 6, 6, 69, 6, 1588, 1556, 1590, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 6, 1588, 185, 1590, 177, 1608, 6, 537, 185, 88, - 6, 186, 7, 6, 1041, 1042, 1043, 6, 1588, 98, - 1590, 1608, 185, 185, 1051, 185, 1053, 106, 107, 108, - 185, 6, 186, 112, 113, 114, 115, 1064, 1608, 129, - 6, 6, 6, 6, 6, 1072, 270, 6, 272, 6, - 185, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 6, 1093, 1094, 1095, 177, + 178, 186, 355, 356, 357, 358, 763, 184, 1111, 186, + 776, 184, 986, 186, 184, 178, 186, 724, 784, 785, + 786, 727, 788, 178, 178, 731, 732, 733, 734, 179, + 71, 181, 73, 739, 800, 178, 793, 794, 795, 805, + 178, 71, 808, 73, 184, 802, 186, 184, 184, 186, + 186, 758, 818, 819, 820, 821, 763, 184, 824, 186, + 184, 184, 186, 186, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 184, 178, 186, 355, 356, 357, 358, + 178, 178, 788, 88, 841, 184, 589, 186, 184, 178, + 186, 1462, 4, 98, 1465, 185, 184, 1468, 186, 185, + 6, 106, 107, 108, 870, 185, 6, 112, 113, 114, + 115, 185, 818, 819, 820, 821, 184, 184, 186, 186, + 184, 184, 186, 186, 4, 184, 6, 186, 178, 836, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 6, 6, 6, 6, 177, 88, - 6, 6, 6, 6, 624, 6, 626, 6, 1125, 6, - 6, 6, 6, 185, 185, 6, 6, 186, 6, 186, - 185, 185, 1139, 186, 185, 185, 185, 1144, 6, 6, - 6, 6, 6, 6, 1151, 6, 185, 6, 1155, 1156, - 6, 6, 185, 185, 6, 1162, 1163, 185, 185, 6, - 1167, 6, 672, 6, 6, 6, 1467, 1001, 1175, 88, - 1361, 409, 1362, 377, 3, 3, 437, 1009, 1185, 98, - 1187, 1128, 587, -1, -1, -1, -1, 106, 107, 108, - 4, 5, 1199, 112, 113, 114, 115, -1, -1, -1, - 6, -1, -1, -1, 1211, -1, -1, 411, 1215, 719, - -1, 1218, -1, 723, 724, 725, 726, -1, -1, -1, - -1, 731, -1, -1, 1231, 39, 40, 41, 42, 43, - 44, -1, 1239, -1, -1, -1, -1, 51, -1, 53, - -1, -1, -1, 6, -1, -1, -1, -1, 1255, 1256, - 64, -1, -1, 88, -1, 660, 1263, -1, -1, -1, - -1, -1, -1, 98, -1, -1, 671, 186, -1, -1, - 780, 106, 107, 108, -1, -1, -1, 112, 113, 114, - 115, -1, -1, 487, 488, 489, -1, -1, -1, -1, - 1297, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 810, 811, 812, 813, 508, -1, -1, -1, 1315, -1, - 1317, 515, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1328, -1, 1330, -1, -1, 1333, -1, -1, -1, - 144, 145, 1339, 537, -1, -1, -1, -1, -1, -1, - -1, -1, 747, -1, -1, 1352, -1, -1, -1, -1, - 1357, 186, 862, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, - 1377, 177, -1, -1, -1, -1, -1, 1384, -1, 1386, - -1, 1388, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1398, -1, -1, -1, 1402, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 1417, 1418, -1, -1, 177, 1422, -1, -1, -1, -1, - 624, -1, 626, -1, -1, 1432, -1, -1, -1, 1436, - -1, -1, 636, 637, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 848, 849, -1, 851, -1, 853, 854, - -1, -1, 857, 858, -1, 1462, -1, -1, -1, -1, - 1467, -1, -1, -1, -1, -1, -1, 1474, 672, -1, - -1, -1, -1, -1, 1481, -1, -1, 1484, -1, 6, - 1487, -1, -1, -1, 1491, -1, -1, -1, 1495, -1, - 1497, -1, -1, -1, -1, -1, -1, 1504, -1, -1, - 1507, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 12, 13, -1, -1, 6, 719, -1, -1, -1, 723, - 724, 725, 726, -1, -1, -1, -1, 731, 88, -1, - -1, -1, 1539, 938, 939, 940, -1, -1, 98, -1, - -1, -1, -1, 948, -1, 1552, 106, 107, 108, -1, - -1, -1, 112, 113, 114, 115, -1, -1, -1, -1, - -1, -1, 1072, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, 76, -1, 780, -1, -1, 81, - 82, -1, 84, 85, 86, -1, -1, -1, 90, 994, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1010, 810, 811, 812, 813, - -1, 1016, -1, -1, -1, 88, -1, 1022, -1, 1024, - 1025, 123, 124, 125, 1029, 6, 186, -1, -1, 1034, - 1035, 1036, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 1051, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, 862, -1, - -1, 1066, -1, -1, -1, 1070, -1, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, -1, -1, -1, 186, 177, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 3, 4, 5, -1, 177, -1, 9, 10, 11, -1, - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 1138, -1, -1, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 88, -1, -1, 51, -1, - 53, -1, 55, 56, 57, 98, -1, -1, -1, -1, - 63, 64, -1, 106, 107, 108, -1, -1, -1, 112, - 113, 114, 115, 1178, 1179, 1180, 1181, -1, 159, 160, + 169, 170, 171, 172, 184, 184, 186, 186, 177, 184, + 184, 186, 186, 184, 4, 186, 5, 186, 4, 5, + 184, 178, 186, 929, 870, 184, 932, 186, 1142, 184, + 184, 186, 186, 184, 180, 186, 942, 458, 459, 1398, + 184, 186, 186, 178, 178, 466, 1557, 184, 178, 186, + 88, 178, 958, 39, 40, 41, 42, 43, 44, 184, + 98, 186, 184, 178, 186, 51, 178, 53, 106, 107, + 108, 184, 178, 186, 112, 113, 114, 115, 64, 178, + 184, 987, 186, 184, 178, 186, 933, 184, 1599, 186, + 88, 1602, 998, 999, 1605, 178, 184, 1608, 186, 184, + 98, 186, 178, 1009, 1010, 184, 178, 186, 106, 107, + 108, 185, 185, 199, 112, 113, 114, 115, 185, 185, + 1360, 185, 178, 178, 178, 6, 185, 185, 185, 1640, + 180, 1642, 979, 1644, 220, 180, 629, 223, 180, 632, + 5, 634, 5, 180, 6, 1051, 1052, 1053, 186, 6, + 182, 185, 131, 6, 88, 1061, 6, 1063, 144, 145, + 6, 247, 185, 185, 98, 6, 180, 4, 1074, 177, + 182, 7, 106, 107, 108, 180, 1082, 187, 112, 113, + 114, 115, 88, 187, 185, 7, 186, 6, 186, 175, + 176, 6, 98, 6, 179, 7, 182, 1103, 1104, 1105, + 106, 107, 108, 7, 7, 6, 112, 113, 114, 115, + 629, 185, 7, 632, 88, 634, 302, 303, 6, 185, + 7, 6, 6, 6, 98, 1122, 185, 4, 314, 1135, + 4, 185, 106, 107, 108, 185, 1082, 128, 112, 113, + 114, 115, 185, 1149, 179, 6, 6, 179, 1154, 179, + 179, 1365, 186, 184, 179, 1161, 184, 184, 184, 1165, + 1166, 1158, 184, 179, 88, 686, 1172, 1173, 1115, 6, + 763, 1177, 693, 4, 98, 4, 181, 1412, 699, 1185, + 186, 6, 106, 107, 108, 6, 6, 6, 112, 113, + 114, 115, 7, 1199, 7, 1201, 131, 7, 7, 131, + 793, 794, 795, 7, 7, 131, 7, 1213, 7, 802, + 88, 4, 186, 185, 6, 179, 1205, 1206, 179, 1225, + 98, 179, 182, 1229, 179, 6, 1232, 186, 106, 107, + 108, 7, 186, 181, 112, 113, 114, 115, 7, 1245, + 7, 185, 182, 6, 763, 187, 6, 1253, 841, 6, + 192, 6, 180, 6, 196, 7, 185, 178, 178, 6, + 165, 203, 186, 1269, 1270, 7, 7, 1010, 7, 7, + 7, 1277, 7, 73, 793, 794, 795, 7, 6, 185, + 7, 7, 7, 802, 7, 1520, 88, 6, 1235, 4, + 4, 7, 178, 1299, 6, 1301, 98, 1303, 6, 1305, + 6, 71, 7, 7, 106, 107, 108, 7, 186, 1315, + 112, 113, 114, 115, 185, 179, 6, 6, 6, 6, + 6, 4, 841, 4, 4, 4, 184, 1333, 270, 1335, + 272, 852, 186, 6, 88, 6, 6, 179, 179, 179, + 1346, 7, 1348, 182, 98, 1351, 178, 185, 182, 6, + 6, 1357, 106, 107, 108, 185, 6, 185, 112, 113, + 114, 115, 185, 81, 1370, 6, 6, 185, 185, 1375, + 6, 6, 5, 4, 6, 180, 48, 7, 899, 900, + 901, 48, 6, 48, 186, 48, 6, 185, 185, 1395, + 6, 1134, 6, 4, 185, 185, 1402, 88, 1404, 185, + 1406, 587, 6, 6, 6, 1351, 127, 98, 6, 1398, + 1416, 184, 4, 4, 1420, 106, 107, 108, 1161, 6, + 4, 112, 113, 114, 115, 6, 6, 6, 6, 1435, + 1436, 6, 186, 4, 1440, 377, 6, 6, 6, 6, + 5, 88, 6, 6, 1450, 1451, 1452, 1453, 1454, 1395, + 6, 98, 1458, 8, 185, 131, 6, 6, 1201, 106, + 107, 108, 88, 185, 6, 112, 113, 114, 115, 411, + 1416, 6, 98, 6, 660, 185, 185, 6, 1484, 6, + 106, 107, 108, 1489, 185, 6, 112, 113, 114, 115, + 1496, 6, 184, 679, 6, 186, 6, 6, 6, 6, + 6, 1507, 1245, 7, 1510, 179, 6, 1513, 185, 1252, + 1253, 1517, 6, 182, 5, 1521, 69, 1523, 6, 6, + 6, 185, 7, 185, 1530, 186, 186, 1533, 6, 1122, + 1536, 1537, 1538, 1539, 185, 6, 185, 185, 126, 186, + 185, 6, 186, 129, 6, 487, 488, 489, 6, 6, + 6, 6, 6, 1074, 6, 6, 185, 6, 6, 6, + 186, 186, 185, 1569, 185, 1158, 508, 6, 88, 755, + 185, 6, 6, 515, 6, 1521, 6, 1523, 6, 6, + 1586, 6, 6, 6, 6, 186, 185, 6, 185, 1595, + 1596, 1597, 1598, 1590, 6, 537, 185, 6, 6, 6, + 185, 6, 6, 1122, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 6, 185, + 6, 6, 177, 185, 179, 185, 185, 185, 6, 1635, + 1636, 1637, 1638, 1630, 6, 1632, 6, 6, 6, 1158, + 1586, 6, 6, 6, 6, 6, 1167, 6, 6, 6, + 6, 1007, 1489, 409, 1379, 1661, 1662, 1663, 1664, 12, + 13, 1658, 1380, 1015, 3, 3, 437, -1, -1, -1, + 856, 857, 1138, 859, -1, 861, 862, -1, -1, 865, + 866, -1, 624, -1, 626, -1, 1207, -1, 1209, -1, + 1211, -1, -1, -1, 636, 637, -1, -1, -1, -1, + -1, -1, -1, -1, 1225, -1, -1, 1228, 1229, -1, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, -1, 76, -1, -1, -1, -1, 81, 82, + -1, 84, 85, 86, -1, -1, -1, 90, 680, -1, + -1, -1, -1, 1486, 6, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, 944, 945, + 946, 177, -1, -1, -1, -1, -1, 1360, 954, -1, + 123, 124, 125, -1, -1, -1, 6, -1, -1, -1, + -1, -1, -1, -1, -1, 727, -1, -1, -1, 731, + 732, 733, 734, -1, -1, -1, -1, 739, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 88, -1, -1, -1, 177, -1, -1, -1, - -1, -1, 98, -1, -1, -1, -1, -1, 1213, -1, - 106, 107, 108, -1, -1, -1, 112, 113, 114, 115, - 1225, -1, -1, 1333, -1, -1, -1, 1232, -1, 1234, - -1, -1, -1, 1238, 137, -1, -1, -1, -1, -1, - 143, 144, 145, 186, -1, -1, -1, 150, 151, 152, - 153, 154, 1257, -1, -1, -1, -1, -1, -1, 6, - -1, -1, -1, -1, -1, 168, 169, 1377, 1072, -1, - 173, -1, -1, 1278, -1, 178, -1, 180, -1, 182, - 183, -1, 185, -1, 187, -1, -1, -1, 1398, -1, - 186, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, 3, 4, 177, 1312, -1, -1, - 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, - -1, -1, -1, -1, -1, -1, 45, 46, 47, -1, - -1, 1356, -1, -1, -1, -1, 55, 56, 57, -1, - -1, 6, -1, -1, 63, -1, 65, -1, -1, 68, - -1, 1376, 71, -1, 73, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1495, 85, 1497, 1393, -1, - -1, -1, -1, 92, 93, 94, 95, 96, -1, -1, - -1, 100, -1, -1, 103, -1, -1, 1211, -1, -1, - -1, 1215, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1552, 1448, 143, -1, -1, -1, -1, -1, - -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, - 169, -1, -1, -1, 173, -1, -1, -1, -1, 178, - -1, 6, -1, -1, 183, -1, 185, 186, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1506, 7, 8, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1317, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, 1333, - -1, -1, 177, 3, 4, 1339, -1, -1, -1, 9, + 171, 172, -1, -1, 1000, -1, 177, -1, -1, -1, + 1563, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 1016, -1, -1, 186, 177, -1, 1022, -1, -1, -1, + -1, 1360, 1028, -1, 1030, 1031, 788, -1, -1, 1035, + 1036, -1, 1038, -1, 1040, -1, 1042, -1, 1044, 1045, + 1046, 6, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1061, 818, 819, 820, 821, + -1, 1402, -1, 1404, -1, 1406, -1, -1, -1, -1, + 1076, -1, -1, 1414, 1080, -1, 1417, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 870, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, 3, 4, -1, -1, -1, -1, 9, 10, + 11, -1, 1148, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 45, 46, 47, 1590, -1, -1, + -1, -1, 1523, -1, 55, 56, 57, -1, -1, -1, + -1, -1, 63, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, 177, -1, -1, -1, -1, 1630, -1, 1632, + -1, 1227, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 1239, -1, -1, -1, 177, -1, -1, + 1246, -1, 1248, -1, -1, 1658, 1252, -1, -1, -1, + -1, 1590, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1271, -1, -1, -1, -1, + -1, -1, 143, -1, -1, -1, -1, -1, -1, 150, + 151, 152, 153, 154, -1, -1, 1292, -1, -1, -1, + -1, 1630, -1, 1632, -1, -1, -1, 168, 169, -1, + -1, -1, 173, -1, -1, -1, -1, 178, -1, -1, + -1, -1, 183, -1, 185, -1, -1, -1, -1, 1658, + 1082, -1, -1, -1, 1330, -1, -1, -1, -1, -1, + -1, -1, -1, 3, 4, 5, -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 7, -1, -1, - -1, -1, 1577, 1377, -1, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, 55, 56, 57, -1, -1, - -1, -1, -1, 63, 1398, 65, -1, -1, 68, -1, - -1, 71, -1, 73, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, - -1, -1, 92, 93, 94, 95, 96, -1, -1, -1, - 100, -1, -1, 103, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, 143, -1, -1, -1, -1, -1, -1, - 150, 151, 152, 153, 154, -1, -1, -1, 8, -1, - -1, 1495, -1, 1497, -1, -1, -1, -1, 168, 169, - -1, -1, -1, 173, -1, -1, -1, 8, 178, -1, - -1, -1, -1, 183, -1, -1, 186, -1, -1, 159, + 30, 31, 32, 33, 34, 35, -1, -1, 1374, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, 51, -1, 53, -1, 55, 56, 57, 1394, -1, + -1, -1, -1, 63, 64, 3, 4, 5, -1, -1, + -1, 9, 10, 11, -1, 1411, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, + -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, 51, -1, 53, -1, 55, 56, 57, + -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, + -1, -1, -1, 1225, 1470, -1, -1, 1229, -1, -1, + -1, -1, -1, 143, 144, 145, -1, -1, -1, -1, + 150, 151, 152, 153, 154, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 168, 169, + -1, -1, -1, 173, -1, -1, -1, -1, 178, -1, + -1, -1, -1, 183, -1, 185, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1532, -1, -1, 137, + -1, -1, -1, -1, -1, 143, 144, 145, -1, -1, + -1, -1, 150, 151, 152, 153, 154, 6, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 168, 169, -1, -1, -1, 173, 6, -1, -1, -1, + 178, -1, 180, 1335, 182, 183, -1, 185, -1, 187, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1351, + -1, -1, -1, -1, -1, 1357, -1, -1, -1, 3, + 4, -1, -1, -1, -1, 9, 10, 11, -1, 1615, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 1395, -1, -1, -1, -1, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, 55, 56, 57, 1416, -1, -1, -1, -1, 63, + -1, 65, -1, -1, 68, -1, -1, 71, -1, 73, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 85, -1, -1, -1, -1, -1, -1, 92, 93, + 94, 95, 96, -1, -1, -1, 100, -1, -1, 103, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, 177, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, -1, -1, -1, -1, 177, 3, 4, - 5, -1, -1, -1, 9, 10, 11, -1, 1552, 14, + 170, 171, 172, -1, -1, -1, -1, 177, -1, 143, + -1, -1, -1, -1, -1, -1, 150, 151, 152, 153, + 154, -1, -1, -1, -1, -1, -1, -1, -1, 1521, + -1, 1523, -1, -1, 168, 169, -1, -1, -1, 173, + -1, -1, -1, -1, 178, -1, -1, 3, 4, 183, + -1, 185, 186, 9, 10, 11, -1, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, -1, -1, -1, -1, -1, -1, -1, -1, 45, + 46, 47, -1, -1, 1586, -1, -1, -1, -1, 55, + 56, 57, -1, 12, 13, -1, -1, 63, -1, 65, + -1, -1, 68, -1, -1, 71, -1, 73, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96, -1, -1, -1, 100, -1, -1, 103, -1, -1, + -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, -1, 76, -1, -1, + -1, -1, 81, 82, -1, 84, 85, 86, -1, 6, + -1, 90, -1, -1, -1, -1, -1, 143, -1, -1, + -1, -1, -1, -1, 150, 151, 152, 153, 154, 6, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 168, 169, 123, 124, 125, 173, -1, -1, + -1, -1, 178, -1, -1, -1, -1, 183, -1, -1, + 186, 3, 4, 5, -1, -1, -1, 9, 10, 11, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, 186, -1, 51, + -1, 53, -1, 55, 56, 57, -1, -1, -1, -1, + -1, 63, 64, 65, -1, -1, 68, -1, -1, 71, + -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, + 92, 93, 94, 95, 96, -1, -1, -1, 100, -1, + -1, 103, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + 177, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, + 177, 143, 144, 145, -1, -1, -1, -1, 150, 151, + 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 168, 169, -1, -1, + -1, 173, -1, -1, -1, -1, 178, -1, 3, 4, + 5, 183, -1, 185, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, 51, -1, 53, -1, - 55, 56, 57, -1, -1, -1, -1, -1, 63, 64, + 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, + 45, 46, 47, -1, -1, -1, 12, 13, -1, -1, + 55, 56, 57, -1, -1, -1, -1, -1, 63, -1, 65, -1, -1, 68, -1, -1, 71, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, 92, 93, 94, - 95, 96, -1, -1, -1, 100, -1, -1, 103, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, -1, -1, -1, -1, 177, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, 143, 144, - 145, -1, -1, -1, -1, 150, 151, 152, 153, 154, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 95, 96, -1, -1, -1, 100, -1, -1, 103, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, + 76, -1, -1, -1, -1, 81, 82, -1, 84, 85, + 86, -1, -1, -1, 90, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, + -1, -1, -1, -1, -1, 150, 151, 152, 153, 154, + -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, -1, -1, 178, -1, 3, 4, 5, 183, -1, 185, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, 45, 46, 47, - -1, -1, -1, 12, 13, -1, -1, 55, 56, 57, + 186, -1, -1, 12, 13, -1, -1, 55, 56, 57, -1, -1, -1, -1, -1, 63, -1, 65, -1, -1, 68, -1, -1, 71, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, @@ -2799,7 +2909,7 @@ static const yytype_int16 yycheck[] = -1, -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, -1, -1, - 178, -1, 3, 4, 5, 183, -1, 185, 9, 10, + 178, -1, 3, 4, -1, 183, -1, 185, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, -1, @@ -2884,302 +2994,369 @@ static const yytype_int16 yycheck[] = 74, -1, 76, -1, -1, -1, -1, 81, 82, -1, 84, 85, 86, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 143, -1, -1, -1, -1, -1, -1, 150, 151, 152, + 143, -1, 6, -1, -1, -1, -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, -1, -1, 168, 169, -1, -1, -1, - 173, -1, -1, -1, -1, 178, -1, 3, 4, -1, - 183, -1, 185, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, -1, -1, -1, -1, -1, -1, -1, -1, 45, - 46, 47, 186, -1, -1, 12, 13, -1, -1, 55, - 56, 57, -1, -1, -1, -1, -1, 63, -1, 65, - -1, -1, 68, -1, -1, 71, -1, 73, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, - 96, -1, -1, -1, 100, -1, -1, 103, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, -1, 76, - -1, -1, -1, -1, 81, 82, -1, 84, 85, 86, - -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 143, -1, -1, - -1, 8, -1, -1, 150, 151, 152, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, - -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, - -1, -1, 178, -1, 3, 4, 5, 183, -1, 185, - 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 186, - -1, -1, 51, -1, 53, -1, 55, 56, 57, -1, - 3, 4, 5, -1, 63, 64, 9, 10, 11, -1, - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, -1, -1, -1, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, 51, -1, - 53, -1, 55, 56, 57, -1, -1, -1, -1, -1, - 63, 64, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, 143, 144, 145, -1, -1, -1, - -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, - 169, -1, -1, -1, 173, -1, -1, -1, -1, 178, - -1, -1, -1, -1, 183, -1, 185, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 143, 144, 145, -1, -1, -1, -1, 150, 151, 152, - 153, 154, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, -1, -1, 178, -1, 3, 4, 5, 183, -1, 185, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 8, -1, -1, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, 51, -1, 53, -1, 55, - 56, 57, -1, -1, -1, -1, -1, 63, 64, -1, - 3, 4, -1, -1, -1, -1, 9, 10, 11, -1, - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, 55, 56, 57, -1, -1, -1, -1, -1, - 63, -1, 65, -1, -1, 68, -1, -1, 71, -1, - 73, -1, -1, -1, -1, -1, -1, 143, 144, 145, - -1, -1, 85, -1, 150, 151, 152, 153, 154, 92, - 93, 94, 95, 96, -1, -1, -1, 100, -1, -1, - 103, -1, 168, 169, -1, -1, -1, 173, -1, -1, - -1, -1, 178, -1, -1, -1, -1, 183, -1, 185, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, -1, -1, 8, -1, 177, - 143, -1, -1, -1, -1, -1, -1, 150, 151, 152, - 153, 154, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 168, 169, -1, -1, -1, - 173, 3, 4, 5, -1, 178, -1, 9, 10, 11, - 183, -1, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, -1, -1, -1, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, 51, - -1, 53, -1, 55, 56, 57, -1, 3, 4, -1, - -1, 63, 64, 9, 10, 11, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, 55, - 56, 57, -1, -1, -1, -1, -1, 63, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, 143, 144, 145, 8, -1, -1, -1, 150, 151, - 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 168, 169, -1, -1, - -1, 173, -1, -1, -1, -1, 178, -1, -1, -1, - -1, 183, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, 143, -1, -1, - 177, -1, -1, -1, 150, 151, 152, 153, 154, 186, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, - -1, -1, 178, 3, 4, 181, -1, 183, -1, 9, + -1, -1, -1, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 186, -1, -1, 51, -1, 53, -1, 55, + 56, 57, -1, 3, 4, 5, -1, 63, 64, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 45, 46, 47, -1, -1, - -1, -1, -1, -1, -1, 55, 56, 57, -1, -1, - -1, -1, -1, 63, -1, 159, 160, 161, 162, 163, + 30, 31, 32, 33, 34, 35, -1, -1, -1, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, 51, -1, 53, -1, 55, 56, 57, -1, -1, + -1, -1, -1, 63, 64, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, - -1, -1, -1, 177, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 177, -1, -1, -1, 143, 144, 145, + -1, -1, -1, -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 145, 146, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, 143, -1, -1, -1, 184, -1, 186, + -1, -1, 168, 169, -1, -1, -1, 173, -1, -1, + -1, -1, 178, -1, -1, -1, -1, 183, -1, 185, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 143, 144, 145, -1, -1, -1, -1, 150, 151, 152, 153, 154, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, -1, 4, -1, 168, 169, - -1, -1, -1, 173, 12, 13, -1, -1, 178, -1, - -1, -1, -1, 183, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, 37, - 38, -1, 177, -1, 179, -1, -1, -1, -1, 184, - 48, 49, 50, -1, 52, -1, 54, -1, -1, -1, - 58, 59, -1, 61, 62, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 262, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, -1, -1, - -1, 109, 110, 111, -1, -1, -1, -1, -1, 117, - 4, -1, -1, -1, 122, 123, 124, 125, 12, 13, - 128, -1, 130, -1, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, -1, -1, -1, 146, 147, - 148, 149, -1, 37, 38, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 48, 49, 50, -1, 52, -1, - 54, -1, -1, -1, 58, 59, -1, 61, 62, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, -1, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 12, 13, -1, 109, 110, 111, -1, -1, - -1, -1, -1, 117, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, 128, -1, 130, -1, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, -1, - -1, -1, 146, 147, 148, 149, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, -1, 76, -1, -1, -1, - -1, 81, 82, -1, 84, 85, 86, -1, -1, -1, - 90, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, - -1, -1, -1, -1, -1, -1, 184, -1, 186, -1, - -1, -1, -1, 123, 124, 125, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 186, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, 186, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, 186, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 186, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, 186, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, 186, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 186, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, 186, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, 186, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 186, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, 186, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, 186, 159, 160, 161, 162, + -1, -1, -1, -1, -1, -1, -1, -1, 168, 169, + -1, -1, -1, 173, -1, -1, -1, -1, 178, -1, + 3, 4, -1, 183, -1, 185, 9, 10, 11, -1, + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, -1, -1, -1, -1, -1, -1, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, 55, 56, 57, -1, -1, -1, -1, -1, + 63, -1, 65, -1, -1, 68, -1, -1, 71, -1, + 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 85, -1, -1, -1, -1, -1, -1, 92, + 93, 94, 95, 96, -1, -1, -1, 100, -1, -1, + 103, 3, 4, -1, -1, -1, -1, 9, 10, 11, + -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 6, -1, -1, -1, -1, -1, + 143, -1, -1, 45, 46, 47, -1, 150, 151, 152, + 153, 154, -1, 55, 56, 57, -1, -1, -1, -1, + -1, 63, -1, -1, -1, 168, 169, -1, -1, -1, + 173, 3, 4, 5, -1, 178, -1, 9, 10, 11, + 183, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, -1, -1, -1, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, 51, + -1, 53, -1, 55, 56, 57, -1, -1, -1, -1, + -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, + -1, 143, -1, -1, -1, -1, -1, -1, 150, 151, + 152, 153, 154, 6, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 168, 169, -1, -1, + -1, 173, -1, -1, -1, -1, 178, -1, -1, 181, + -1, 183, -1, -1, -1, -1, -1, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 6, -1, -1, -1, 177, -1, -1, -1, -1, + -1, 143, 144, 145, -1, -1, -1, -1, 150, 151, + 152, 153, 154, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 168, 169, -1, -1, + -1, 173, 3, 4, -1, -1, 178, -1, 9, 10, + 11, 183, -1, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 12, 13, 6, -1, -1, + -1, -1, -1, -1, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, 55, 56, 57, 6, -1, -1, + -1, -1, 63, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + 6, -1, -1, -1, 177, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, 76, + 6, -1, -1, -1, 81, 82, -1, 84, 85, 86, + -1, -1, -1, 90, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 7, 8, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 186, + -1, -1, 143, -1, -1, -1, 123, 124, 125, 150, + 151, 152, 153, 154, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 168, 169, -1, + -1, -1, 173, -1, 8, -1, -1, 178, -1, -1, + -1, -1, 183, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, 186, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, 186, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, 186, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, - -1, 186, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, 185, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, - -1, -1, -1, -1, -1, 185, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, 184, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, 184, + 169, 170, 171, 172, 8, -1, -1, -1, 177, 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, 184, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, 184, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, 184, + 169, 170, 171, 172, 8, -1, -1, -1, 177, -1, + -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 8, -1, -1, + -1, 177, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 8, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, 184, 159, 160, 161, 162, + 169, 170, 171, 172, 8, -1, -1, -1, 177, -1, + -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, 184, 159, 160, + -1, -1, -1, -1, 177, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, 184, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, 184, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, 184, 159, 160, + 171, 172, -1, -1, -1, -1, 177, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, + 171, 172, -1, 88, -1, -1, 177, -1, -1, -1, + -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 0, 1, -1, -1, 4, -1, -1, -1, -1, -1, + 145, 146, 12, 13, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, -1, 184, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, 184, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, - -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, 184, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, - -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, + -1, -1, 177, -1, -1, -1, -1, 37, 38, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, -1, 52, -1, 54, -1, -1, -1, 58, 59, + -1, 61, 62, -1, -1, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, -1, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, -1, -1, -1, 109, + 110, 111, -1, -1, -1, -1, -1, 117, -1, -1, + -1, -1, 122, 123, 124, 125, -1, 262, 128, -1, + 130, -1, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 4, -1, -1, 146, 147, 148, 149, + -1, 12, 13, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, 37, 38, 184, -1, + 186, -1, -1, -1, -1, -1, -1, 48, 49, 50, + -1, 52, -1, 54, -1, -1, -1, 58, 59, -1, + 61, 62, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 12, 13, -1, 109, 110, + 111, -1, -1, -1, -1, -1, 117, -1, -1, -1, + -1, 122, 123, 124, 125, -1, -1, 128, -1, 130, + -1, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, -1, -1, -1, 146, 147, 148, 149, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, -1, 76, + -1, -1, -1, -1, 81, 82, -1, 84, 85, 86, + -1, -1, -1, 90, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, 184, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, 184, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - -1, -1, -1, -1, 177, -1, 179, -1, 181, 159, + -1, 186, -1, -1, -1, -1, 123, 124, 125, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, - -1, 181, 159, 160, 161, 162, 163, 164, 165, 166, + -1, -1, -1, -1, 184, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, -1, 186, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, + 186, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, -1, -1, 186, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, -1, -1, 186, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, -1, -1, 186, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + -1, 185, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, - 177, -1, -1, -1, 181, 159, 160, 161, 162, 163, + 177, -1, -1, -1, -1, -1, -1, -1, 185, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, 179, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, - -1, -1, -1, 177, -1, -1, -1, 181, 159, 160, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, + 184, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, + -1, -1, -1, -1, -1, -1, 184, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, -1, + -1, -1, 184, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, -1, -1, -1, -1, -1, 184, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, + -1, -1, -1, -1, 184, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, + -1, -1, -1, 177, -1, 179, -1, 181, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, 181, 159, 160, 161, 162, 163, 164, 165, 166, 167, @@ -3208,6 +3385,15 @@ static const yytype_int16 yycheck[] = 181, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, -1, -1, 181, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, + -1, -1, 177, -1, -1, -1, 181, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, -1, -1, -1, -1, 177, -1, -1, -1, 181, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, + -1, -1, 181, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, + -1, 177, -1, 179, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, 179, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, @@ -3278,9 +3464,7 @@ static const yytype_int16 yycheck[] = 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, -1, -1, -1, -1, 177, -1, 179, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, -1, -1, -1, -1, 177, -1, 179, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, -1, -1, -1, -1, 177 + 172, -1, -1, -1, -1, 177 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3295,160 +3479,167 @@ static const yytype_uint16 yystos[] = 97, 98, 99, 100, 101, 102, 103, 104, 105, 109, 110, 111, 117, 122, 123, 124, 125, 128, 130, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 146, 147, 148, 149, 191, 193, 194, 214, 228, 233, - 236, 237, 238, 239, 240, 241, 242, 262, 263, 264, - 265, 283, 284, 3, 4, 5, 9, 10, 11, 14, + 146, 147, 148, 149, 191, 193, 194, 214, 231, 232, + 235, 236, 237, 238, 239, 240, 241, 261, 262, 263, + 264, 282, 283, 3, 4, 5, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 39, 40, 41, 42, 43, 44, 45, 46, 47, 51, 53, 55, 56, 57, 63, 64, 137, 143, 144, 145, 150, 151, 152, 153, 154, 168, 169, 173, 178, - 180, 182, 183, 185, 187, 212, 266, 267, 279, 280, - 283, 284, 13, 71, 178, 178, 6, 185, 6, 6, + 180, 182, 183, 185, 187, 212, 265, 266, 278, 279, + 282, 283, 13, 71, 178, 178, 6, 185, 6, 6, 6, 178, 6, 6, 180, 180, 178, 185, 178, 178, 4, 178, 185, 178, 178, 4, 185, 178, 178, 75, 71, 71, 6, 185, 65, 68, 71, 71, 71, 68, 71, 73, 73, 65, 68, 71, 73, 68, 71, 73, 68, 71, 178, 68, 128, 141, 142, 185, 168, 169, - 178, 185, 269, 270, 269, 185, 65, 68, 71, 185, - 269, 4, 65, 69, 81, 71, 73, 71, 68, 4, + 178, 185, 268, 269, 268, 185, 65, 68, 71, 185, + 268, 4, 65, 69, 81, 71, 73, 71, 68, 4, 137, 185, 4, 6, 65, 68, 71, 68, 71, 4, 4, 4, 4, 5, 36, 65, 68, 71, 73, 85, - 169, 178, 185, 233, 242, 266, 272, 273, 274, 284, - 4, 178, 178, 178, 4, 185, 276, 4, 178, 178, + 169, 178, 185, 232, 241, 265, 271, 272, 273, 283, + 4, 178, 178, 178, 4, 185, 275, 4, 178, 178, 6, 6, 180, 4, 4, 5, 185, 5, 185, 4, - 266, 6, 178, 185, 178, 180, 187, 7, 155, 156, + 265, 6, 178, 185, 178, 180, 187, 7, 155, 156, 157, 158, 175, 176, 210, 211, 4, 180, 182, 178, 180, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 178, 178, 178, 178, 178, 178, 212, 212, 7, 178, 178, 178, 178, 178, - 266, 266, 266, 266, 181, 266, 4, 128, 129, 4, - 283, 284, 4, 233, 234, 235, 185, 185, 6, 159, + 265, 265, 265, 265, 181, 265, 4, 128, 129, 4, + 282, 283, 4, 232, 233, 234, 185, 185, 6, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 177, 185, 6, 180, 211, 6, 266, - 4, 279, 280, 284, 279, 266, 279, 282, 216, 219, - 266, 169, 266, 274, 275, 266, 266, 178, 266, 275, - 266, 266, 178, 275, 266, 266, 272, 178, 185, 275, - 273, 273, 273, 178, 178, 273, 273, 273, 178, 229, - 230, 231, 232, 178, 178, 178, 272, 266, 4, 272, - 276, 185, 185, 269, 269, 269, 266, 266, 168, 169, - 185, 185, 269, 185, 185, 185, 168, 169, 178, 235, - 269, 185, 178, 185, 178, 178, 178, 273, 273, 272, - 178, 4, 6, 180, 180, 235, 6, 185, 185, 185, - 273, 273, 180, 180, 180, 180, 182, 212, 180, 5, - 185, 5, 5, 5, 65, 68, 71, 73, 185, 266, - 274, 266, 186, 275, 8, 170, 6, 6, 266, 266, - 266, 182, 266, 185, 131, 266, 266, 266, 6, 6, - 235, 6, 235, 180, 6, 272, 272, 185, 266, 185, - 280, 272, 6, 180, 266, 4, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 282, 279, - 282, 279, 279, 279, 279, 279, 282, 266, 280, 266, - 279, 279, 279, 284, 280, 179, 7, 210, 181, 7, + 170, 171, 172, 177, 185, 6, 180, 211, 6, 265, + 4, 278, 279, 283, 278, 265, 278, 281, 216, 219, + 265, 169, 265, 273, 274, 265, 265, 178, 265, 274, + 265, 265, 178, 274, 265, 265, 271, 178, 185, 274, + 272, 272, 272, 178, 178, 272, 272, 272, 178, 178, + 178, 178, 178, 178, 178, 178, 271, 265, 4, 271, + 275, 185, 185, 268, 268, 268, 265, 265, 168, 169, + 185, 185, 268, 185, 185, 185, 168, 169, 178, 234, + 268, 185, 178, 185, 178, 178, 178, 272, 272, 271, + 178, 4, 6, 180, 180, 234, 6, 185, 185, 185, + 272, 272, 180, 180, 180, 180, 182, 212, 180, 5, + 185, 5, 5, 5, 65, 68, 71, 73, 185, 265, + 273, 265, 186, 274, 8, 170, 6, 6, 265, 265, + 265, 182, 265, 185, 131, 265, 265, 265, 6, 6, + 234, 6, 234, 180, 6, 271, 271, 185, 265, 185, + 279, 271, 6, 180, 265, 4, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 281, 278, + 281, 278, 278, 278, 278, 278, 281, 265, 279, 265, + 278, 278, 278, 283, 279, 179, 7, 210, 181, 7, 210, 211, 182, 7, 180, 186, 65, 68, 71, 73, - 228, 266, 275, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 195, 266, + 231, 265, 274, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 195, 265, 6, 180, 182, 179, 184, 179, 184, 184, 179, 184, 181, 184, 215, 181, 215, 179, 170, 184, 186, 179, - 179, 266, 179, 186, 179, 179, 266, 186, 179, 179, - 7, 266, 266, 186, 6, 6, 6, 266, 266, 7, - 7, 260, 260, 266, 178, 178, 178, 178, 266, 266, - 266, 7, 185, 179, 6, 185, 235, 235, 184, 184, - 184, 269, 269, 234, 234, 184, 266, 266, 266, 266, - 246, 184, 235, 266, 266, 266, 266, 266, 7, 261, - 6, 7, 266, 6, 266, 266, 186, 275, 275, 275, - 6, 6, 266, 266, 266, 266, 4, 179, 181, 185, - 213, 4, 266, 185, 185, 185, 185, 275, 179, 186, - 266, 185, 266, 274, 179, 179, 179, 128, 184, 235, - 185, 8, 179, 181, 186, 186, 179, 184, 186, 275, - 181, 266, 6, 6, 266, 181, 211, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 184, 213, - 213, 213, 213, 213, 213, 213, 184, 184, 184, 213, - 184, 213, 213, 179, 179, 184, 184, 184, 179, 268, - 281, 6, 184, 179, 184, 179, 179, 210, 272, 182, - 210, 211, 280, 266, 6, 4, 4, 185, 277, 181, - 185, 185, 185, 185, 186, 186, 8, 4, 118, 119, - 120, 121, 186, 198, 202, 205, 207, 208, 181, 266, - 4, 6, 165, 192, 275, 6, 275, 266, 6, 279, - 6, 284, 6, 279, 7, 266, 274, 131, 7, 7, - 179, 7, 131, 7, 7, 179, 131, 7, 7, 266, - 179, 186, 185, 179, 179, 266, 272, 4, 259, 6, - 179, 225, 266, 280, 225, 225, 225, 179, 179, 179, - 272, 275, 182, 235, 186, 186, 269, 266, 266, 186, - 186, 266, 269, 184, 184, 184, 88, 98, 106, 107, - 108, 112, 113, 114, 115, 256, 257, 269, 186, 243, - 179, 186, 179, 179, 179, 266, 6, 266, 179, 181, - 181, 186, 186, 186, 181, 181, 184, 181, 275, 181, - 186, 275, 275, 275, 275, 186, 8, 275, 7, 7, - 7, 182, 266, 186, 266, 266, 7, 182, 185, 272, - 6, 186, 210, 211, 186, 181, 182, 211, 279, 266, - 266, 266, 266, 275, 279, 279, 279, 221, 223, 266, - 279, 266, 6, 4, 128, 129, 266, 6, 6, 6, - 7, 180, 276, 278, 6, 275, 275, 275, 275, 213, - 266, 199, 178, 178, 185, 209, 6, 211, 181, 165, - 279, 179, 179, 184, 7, 269, 71, 73, 272, 272, - 7, 272, 71, 73, 272, 272, 7, 73, 272, 272, - 6, 7, 7, 275, 7, 7, 88, 258, 6, 7, - 179, 179, 179, 179, 7, 7, 7, 6, 186, 4, - 186, 184, 184, 184, 186, 186, 269, 269, 269, 4, + 179, 265, 179, 186, 179, 179, 265, 186, 179, 179, + 7, 265, 265, 186, 6, 6, 6, 265, 265, 7, + 7, 259, 259, 265, 225, 265, 279, 226, 265, 279, + 227, 265, 279, 228, 265, 279, 265, 265, 265, 7, + 185, 179, 6, 185, 234, 234, 184, 184, 184, 268, + 268, 233, 233, 184, 265, 265, 265, 265, 245, 184, + 234, 265, 265, 265, 265, 265, 7, 260, 6, 7, + 265, 6, 265, 265, 186, 274, 274, 274, 6, 6, + 265, 265, 265, 265, 4, 179, 181, 185, 213, 4, + 265, 185, 185, 185, 185, 274, 179, 186, 265, 185, + 265, 273, 179, 179, 179, 128, 184, 234, 185, 8, + 179, 181, 186, 186, 179, 184, 186, 274, 181, 265, + 6, 6, 265, 181, 211, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 184, 213, 213, 213, + 213, 213, 213, 213, 184, 184, 184, 213, 184, 213, + 213, 179, 179, 184, 184, 184, 179, 267, 280, 6, + 184, 179, 184, 179, 179, 210, 271, 182, 210, 211, + 279, 265, 6, 4, 4, 185, 276, 181, 185, 185, + 185, 185, 186, 186, 8, 4, 118, 119, 120, 121, + 186, 198, 202, 205, 207, 208, 181, 265, 4, 6, + 165, 192, 274, 6, 274, 265, 6, 278, 6, 283, + 6, 278, 7, 265, 273, 131, 7, 7, 179, 7, + 131, 7, 7, 179, 131, 7, 7, 265, 179, 186, + 185, 179, 179, 265, 271, 4, 258, 6, 179, 179, + 179, 179, 179, 179, 179, 179, 271, 274, 182, 234, + 186, 186, 268, 265, 265, 186, 186, 265, 268, 184, + 184, 184, 88, 98, 106, 107, 108, 112, 113, 114, + 115, 255, 256, 268, 186, 242, 179, 186, 179, 179, + 179, 265, 6, 265, 179, 181, 181, 186, 186, 186, + 181, 181, 184, 181, 274, 181, 186, 274, 274, 274, + 274, 186, 8, 274, 7, 7, 7, 182, 265, 186, + 265, 265, 7, 182, 185, 271, 6, 186, 210, 211, + 186, 181, 182, 211, 278, 265, 265, 265, 265, 274, + 278, 278, 278, 221, 223, 265, 278, 265, 6, 4, + 128, 129, 265, 6, 6, 6, 7, 180, 275, 277, + 6, 274, 274, 274, 274, 213, 265, 199, 178, 178, + 185, 209, 6, 211, 181, 165, 278, 179, 179, 184, + 7, 268, 71, 73, 271, 271, 7, 271, 71, 73, + 271, 271, 7, 73, 271, 271, 6, 7, 7, 274, + 7, 7, 88, 257, 6, 7, 7, 131, 7, 131, + 7, 131, 7, 131, 7, 7, 7, 6, 186, 4, + 186, 184, 184, 184, 186, 186, 268, 268, 268, 4, 6, 185, 6, 178, 6, 116, 6, 116, 6, 116, - 6, 116, 186, 257, 184, 256, 7, 6, 7, 7, - 7, 6, 185, 6, 6, 6, 71, 266, 6, 6, - 266, 182, 186, 186, 186, 186, 186, 266, 186, 272, - 272, 272, 4, 184, 8, 8, 179, 4, 4, 272, - 186, 179, 266, 6, 6, 4, 6, 213, 213, 213, + 6, 116, 186, 256, 184, 255, 7, 6, 7, 7, + 7, 6, 185, 6, 6, 6, 71, 265, 6, 6, + 265, 182, 186, 186, 186, 186, 186, 265, 186, 271, + 271, 271, 4, 184, 8, 8, 179, 4, 4, 271, + 186, 179, 265, 6, 6, 4, 6, 213, 213, 213, 213, 213, 184, 179, 179, 184, 213, 222, 184, 213, 224, 179, 179, 6, 7, 210, 211, 182, 7, 6, - 276, 266, 184, 186, 186, 186, 186, 186, 210, 178, - 266, 266, 271, 272, 185, 182, 6, 6, 192, 6, - 266, 185, 266, 280, 6, 185, 185, 81, 227, 227, - 272, 6, 185, 185, 6, 6, 272, 185, 6, 6, - 5, 272, 186, 272, 272, 4, 6, 272, 7, 7, - 7, 7, 272, 272, 272, 7, 6, 7, 266, 266, - 266, 185, 185, 184, 186, 184, 186, 184, 186, 180, - 266, 272, 266, 6, 6, 6, 6, 266, 269, 186, - 5, 185, 272, 185, 185, 185, 272, 275, 185, 6, - 181, 4, 213, 6, 6, 127, 266, 266, 266, 6, - 6, 7, 184, 6, 210, 6, 211, 279, 4, 4, - 280, 266, 6, 4, 277, 6, 181, 276, 6, 6, - 6, 6, 272, 196, 266, 184, 184, 184, 186, 197, - 266, 4, 279, 184, 266, 280, 266, 266, 269, 6, - 6, 6, 266, 266, 6, 266, 5, 6, 185, 6, - 131, 226, 266, 6, 272, 272, 272, 272, 6, 4, - 6, 6, 266, 266, 280, 186, 179, 184, 186, 234, - 234, 269, 6, 247, 269, 6, 248, 269, 6, 249, - 266, 186, 184, 179, 186, 184, 6, 169, 269, 6, - 271, 269, 269, 6, 186, 266, 6, 272, 184, 186, - 8, 186, 179, 185, 266, 280, 272, 272, 179, 185, - 272, 280, 185, 266, 280, 6, 6, 7, 6, 182, - 6, 179, 184, 266, 266, 272, 185, 184, 186, 6, - 266, 217, 218, 186, 186, 186, 186, 186, 5, 271, - 69, 6, 6, 6, 6, 6, 185, 185, 6, 6, - 185, 266, 186, 186, 184, 185, 184, 185, 184, 185, - 181, 6, 272, 7, 185, 266, 184, 186, 184, 184, - 6, 186, 126, 266, 266, 275, 6, 6, 186, 6, - 220, 266, 282, 276, 129, 200, 266, 184, 184, 271, - 266, 6, 184, 221, 223, 6, 6, 6, 6, 6, - 6, 186, 185, 271, 275, 234, 184, 186, 266, 269, - 256, 266, 269, 256, 266, 269, 256, 6, 184, 186, - 272, 235, 186, 269, 6, 275, 269, 266, 186, 186, - 186, 6, 184, 186, 7, 186, 6, 185, 266, 266, - 186, 266, 186, 186, 185, 266, 186, 186, 186, 266, - 186, 184, 186, 186, 184, 186, 186, 184, 186, 272, - 6, 88, 186, 244, 185, 184, 186, 184, 6, 6, - 266, 280, 197, 179, 184, 6, 185, 184, 266, 186, - 6, 6, 186, 6, 250, 266, 6, 6, 251, 266, - 6, 6, 252, 266, 6, 186, 266, 256, 235, 275, - 6, 269, 275, 7, 186, 203, 266, 271, 266, 184, - 185, 186, 185, 186, 185, 186, 6, 6, 186, 186, - 245, 186, 184, 186, 280, 6, 185, 179, 186, 186, - 266, 256, 6, 253, 256, 6, 254, 256, 6, 255, - 256, 6, 275, 6, 201, 279, 206, 185, 6, 186, - 186, 185, 186, 185, 186, 185, 186, 186, 184, 186, - 185, 271, 6, 6, 256, 6, 256, 6, 256, 6, - 279, 6, 204, 279, 186, 186, 186, 186, 184, 186, - 6, 6, 6, 6, 279, 6 + 275, 265, 184, 186, 186, 186, 186, 186, 210, 178, + 265, 265, 270, 271, 185, 182, 6, 6, 192, 6, + 265, 185, 265, 279, 6, 185, 185, 81, 230, 230, + 271, 6, 185, 185, 6, 6, 271, 185, 6, 6, + 5, 271, 186, 271, 271, 4, 6, 271, 271, 48, + 271, 48, 271, 48, 271, 48, 271, 271, 271, 7, + 6, 7, 265, 265, 265, 185, 185, 184, 186, 184, + 186, 184, 186, 180, 265, 271, 265, 6, 6, 6, + 6, 265, 268, 186, 5, 185, 271, 185, 185, 185, + 271, 274, 185, 6, 181, 4, 213, 6, 6, 127, + 265, 265, 265, 6, 6, 7, 184, 6, 210, 6, + 211, 278, 4, 4, 279, 265, 6, 4, 276, 6, + 181, 275, 6, 6, 6, 6, 271, 196, 265, 184, + 184, 184, 186, 197, 265, 4, 278, 184, 265, 279, + 265, 265, 268, 6, 6, 6, 265, 265, 6, 265, + 5, 6, 185, 6, 131, 229, 265, 6, 6, 185, + 6, 185, 6, 185, 6, 185, 6, 4, 6, 6, + 265, 265, 279, 186, 179, 184, 186, 233, 233, 268, + 6, 246, 268, 6, 247, 268, 6, 248, 265, 186, + 184, 179, 186, 184, 6, 169, 268, 6, 270, 268, + 268, 6, 186, 265, 6, 271, 184, 186, 8, 186, + 179, 185, 265, 279, 271, 271, 179, 185, 271, 279, + 185, 265, 279, 6, 6, 7, 6, 182, 6, 179, + 184, 265, 265, 271, 185, 184, 186, 6, 265, 217, + 218, 186, 186, 186, 186, 186, 5, 270, 69, 6, + 265, 265, 265, 265, 185, 185, 6, 6, 185, 265, + 186, 186, 184, 185, 184, 185, 184, 185, 181, 6, + 271, 7, 185, 265, 184, 186, 184, 184, 6, 186, + 126, 265, 265, 274, 6, 6, 186, 6, 220, 265, + 281, 275, 129, 200, 265, 184, 184, 270, 265, 6, + 184, 221, 223, 6, 6, 6, 6, 6, 6, 186, + 185, 184, 184, 184, 184, 270, 274, 233, 184, 186, + 265, 268, 255, 265, 268, 255, 265, 268, 255, 6, + 184, 186, 271, 234, 186, 268, 6, 274, 268, 265, + 186, 186, 186, 6, 184, 186, 7, 186, 6, 185, + 265, 265, 186, 265, 186, 186, 185, 265, 265, 265, + 265, 265, 186, 186, 186, 265, 186, 184, 186, 186, + 184, 186, 186, 184, 186, 271, 6, 88, 186, 243, + 185, 184, 186, 184, 6, 6, 265, 279, 197, 179, + 184, 6, 185, 184, 265, 186, 184, 184, 184, 184, + 6, 6, 186, 6, 249, 265, 6, 6, 250, 265, + 6, 6, 251, 265, 6, 186, 265, 255, 234, 274, + 6, 268, 274, 7, 186, 203, 265, 270, 265, 184, + 265, 265, 265, 265, 185, 186, 185, 186, 185, 186, + 6, 6, 186, 186, 244, 186, 184, 186, 279, 6, + 185, 179, 186, 186, 265, 184, 184, 184, 184, 255, + 6, 252, 255, 6, 253, 255, 6, 254, 255, 6, + 274, 6, 201, 278, 206, 185, 6, 186, 265, 265, + 265, 265, 186, 185, 186, 185, 186, 185, 186, 186, + 184, 186, 185, 270, 6, 184, 184, 184, 184, 6, + 255, 6, 255, 6, 255, 6, 278, 6, 204, 278, + 186, 265, 265, 265, 265, 186, 186, 186, 184, 186, + 6, 184, 184, 184, 184, 6, 6, 6, 278, 6, + 265, 265, 265, 265, 186, 186, 186, 186, 6, 6, + 6, 6 }; #define yyerrok (yyerrstatus = 0) @@ -5616,23 +5807,76 @@ yyreduce: #line 1242 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName - (std::string((yyvsp[(1) - (1)].c)), curPhysDim, - ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + (std::string((yyvsp[(1) - (1)].c)), 0, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); Free((yyvsp[(1) - (1)].c)); } break; case 126: /* Line 1787 of yacc.c */ -#line 1252 "Gmsh.y" +#line 1251 "Gmsh.y" { - (yyval.l) = 0; + (yyval.i) = (int)(yyvsp[(1) - (1)].d); } break; case 127: /* Line 1787 of yacc.c */ -#line 1256 "Gmsh.y" +#line 1255 "Gmsh.y" + { + (yyval.i) = GModel::current()->setPhysicalName + (std::string((yyvsp[(1) - (1)].c)), 1, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free((yyvsp[(1) - (1)].c)); + } + break; + + case 128: +/* Line 1787 of yacc.c */ +#line 1264 "Gmsh.y" + { + (yyval.i) = (int)(yyvsp[(1) - (1)].d); + } + break; + + case 129: +/* Line 1787 of yacc.c */ +#line 1268 "Gmsh.y" + { + (yyval.i) = GModel::current()->setPhysicalName + (std::string((yyvsp[(1) - (1)].c)), 2, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free((yyvsp[(1) - (1)].c)); + } + break; + + case 130: +/* Line 1787 of yacc.c */ +#line 1277 "Gmsh.y" + { + (yyval.i) = (int)(yyvsp[(1) - (1)].d); + } + break; + + case 131: +/* Line 1787 of yacc.c */ +#line 1281 "Gmsh.y" + { + (yyval.i) = GModel::current()->setPhysicalName + (std::string((yyvsp[(1) - (1)].c)), 3, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free((yyvsp[(1) - (1)].c)); + } + break; + + case 132: +/* Line 1787 of yacc.c */ +#line 1290 "Gmsh.y" + { + (yyval.l) = 0; + } + break; + + case 133: +/* Line 1787 of yacc.c */ +#line 1294 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(Vertex*)); Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d)); @@ -5644,25 +5888,25 @@ yyreduce: } break; - case 128: + case 134: /* Line 1787 of yacc.c */ -#line 1268 "Gmsh.y" +#line 1306 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.; } break; - case 129: + case 135: /* Line 1787 of yacc.c */ -#line 1272 "Gmsh.y" +#line 1310 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; } break; - case 130: + case 136: /* Line 1787 of yacc.c */ -#line 1282 "Gmsh.y" +#line 1320 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -5687,37 +5931,47 @@ yyreduce: } break; - case 131: + case 137: /* Line 1787 of yacc.c */ -#line 1305 "Gmsh.y" +#line 1343 "Gmsh.y" { - curPhysDim = 0; + int num = (int)(yyvsp[(4) - (8)].i); + if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ + yymsg(0, "Physical point %d already exists", num); + } + else{ + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); + PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); + List_Delete(temp); + List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + } + List_Delete((yyvsp[(7) - (8)].l)); + (yyval.s).Type = MSH_PHYSICAL_POINT; + (yyval.s).Num = num; } break; - case 132: + case 138: /* Line 1787 of yacc.c */ -#line 1309 "Gmsh.y" +#line 1360 "Gmsh.y" { - int num = (int)(yyvsp[(5) - (9)].i); + int num = (int)(yyvsp[(4) - (21)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ yymsg(0, "Physical point %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(8) - (9)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); - List_Delete(temp); - List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox((yyvsp[(9) - (21)].d), (yyvsp[(11) - (21)].d), (yyvsp[(13) - (21)].d), (yyvsp[(15) - (21)].d), (yyvsp[(17) - (21)].d), (yyvsp[(19) - (21)].d)); + GModel::current()->setPhysicalNumToEntitiesInBox(0, num, bbox); } - List_Delete((yyvsp[(8) - (9)].l)); (yyval.s).Type = MSH_PHYSICAL_POINT; (yyval.s).Num = num; } break; - case 133: + case 139: /* Line 1787 of yacc.c */ -#line 1325 "Gmsh.y" +#line 1374 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -5738,9 +5992,9 @@ yyreduce: } break; - case 134: + case 140: /* Line 1787 of yacc.c */ -#line 1347 "Gmsh.y" +#line 1396 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5760,9 +6014,9 @@ yyreduce: } break; - case 135: + case 141: /* Line 1787 of yacc.c */ -#line 1365 "Gmsh.y" +#line 1414 "Gmsh.y" { for (int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double dnum; @@ -5785,9 +6039,9 @@ yyreduce: } break; - case 136: + case 142: /* Line 1787 of yacc.c */ -#line 1386 "Gmsh.y" +#line 1435 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5807,9 +6061,9 @@ yyreduce: } break; - case 137: + case 143: /* Line 1787 of yacc.c */ -#line 1404 "Gmsh.y" +#line 1453 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -5841,9 +6095,9 @@ yyreduce: } break; - case 138: + case 144: /* Line 1787 of yacc.c */ -#line 1434 "Gmsh.y" +#line 1483 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -5875,9 +6129,9 @@ yyreduce: } break; - case 139: + case 145: /* Line 1787 of yacc.c */ -#line 1464 "Gmsh.y" +#line 1513 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5897,9 +6151,9 @@ yyreduce: } break; - case 140: + case 146: /* Line 1787 of yacc.c */ -#line 1482 "Gmsh.y" +#line 1531 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5919,9 +6173,9 @@ yyreduce: } break; - case 141: + case 147: /* Line 1787 of yacc.c */ -#line 1501 "Gmsh.y" +#line 1550 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -5949,9 +6203,9 @@ yyreduce: } break; - case 142: + case 148: /* Line 1787 of yacc.c */ -#line 1527 "Gmsh.y" +#line 1576 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5971,9 +6225,9 @@ yyreduce: } break; - case 143: + case 149: /* Line 1787 of yacc.c */ -#line 1545 "Gmsh.y" +#line 1594 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindCurve(num)){ @@ -5993,37 +6247,47 @@ yyreduce: } break; - case 144: + case 150: /* Line 1787 of yacc.c */ -#line 1563 "Gmsh.y" +#line 1612 "Gmsh.y" { - curPhysDim = 1; + int num = (int)(yyvsp[(4) - (8)].i); + if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ + yymsg(0, "Physical line %d already exists", num); + } + else{ + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); + PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); + List_Delete(temp); + List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + } + List_Delete((yyvsp[(7) - (8)].l)); + (yyval.s).Type = MSH_PHYSICAL_LINE; + (yyval.s).Num = num; } break; - case 145: + case 151: /* Line 1787 of yacc.c */ -#line 1567 "Gmsh.y" +#line 1629 "Gmsh.y" { - int num = (int)(yyvsp[(5) - (9)].i); + int num = (int)(yyvsp[(4) - (21)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ yymsg(0, "Physical line %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(8) - (9)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); - List_Delete(temp); - List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox((yyvsp[(9) - (21)].d), (yyvsp[(11) - (21)].d), (yyvsp[(13) - (21)].d), (yyvsp[(15) - (21)].d), (yyvsp[(17) - (21)].d), (yyvsp[(19) - (21)].d)); + GModel::current()->setPhysicalNumToEntitiesInBox(1, num, bbox); } - List_Delete((yyvsp[(8) - (9)].l)); (yyval.s).Type = MSH_PHYSICAL_LINE; (yyval.s).Num = num; } break; - case 146: + case 152: /* Line 1787 of yacc.c */ -#line 1586 "Gmsh.y" +#line 1646 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -6043,9 +6307,9 @@ yyreduce: } break; - case 147: + case 153: /* Line 1787 of yacc.c */ -#line 1604 "Gmsh.y" +#line 1664 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -6086,9 +6350,9 @@ yyreduce: } break; - case 148: + case 154: /* Line 1787 of yacc.c */ -#line 1643 "Gmsh.y" +#line 1703 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -6096,9 +6360,9 @@ yyreduce: } break; - case 149: + case 155: /* Line 1787 of yacc.c */ -#line 1649 "Gmsh.y" +#line 1709 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -6106,9 +6370,9 @@ yyreduce: } break; - case 150: + case 156: /* Line 1787 of yacc.c */ -#line 1655 "Gmsh.y" +#line 1715 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -6117,9 +6381,9 @@ yyreduce: } break; - case 151: + case 157: /* Line 1787 of yacc.c */ -#line 1662 "Gmsh.y" +#line 1722 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -6146,9 +6410,9 @@ yyreduce: } break; - case 152: + case 158: /* Line 1787 of yacc.c */ -#line 1687 "Gmsh.y" +#line 1747 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -6175,9 +6439,9 @@ yyreduce: } break; - case 153: + case 159: /* Line 1787 of yacc.c */ -#line 1712 "Gmsh.y" +#line 1772 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -6196,9 +6460,9 @@ yyreduce: } break; - case 154: + case 160: /* Line 1787 of yacc.c */ -#line 1729 "Gmsh.y" +#line 1789 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -6219,9 +6483,9 @@ yyreduce: } break; - case 155: + case 161: /* Line 1787 of yacc.c */ -#line 1749 "Gmsh.y" +#line 1809 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); if(FindSurface(num)){ @@ -6256,37 +6520,47 @@ yyreduce: } break; - case 156: + case 162: /* Line 1787 of yacc.c */ -#line 1782 "Gmsh.y" +#line 1842 "Gmsh.y" { - curPhysDim = 2; + int num = (int)(yyvsp[(4) - (8)].i); + if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ + yymsg(0, "Physical surface %d already exists", num); + } + else{ + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); + PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); + List_Delete(temp); + List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + } + List_Delete((yyvsp[(7) - (8)].l)); + (yyval.s).Type = MSH_PHYSICAL_SURFACE; + (yyval.s).Num = num; } break; - case 157: + case 163: /* Line 1787 of yacc.c */ -#line 1786 "Gmsh.y" +#line 1859 "Gmsh.y" { - int num = (int)(yyvsp[(5) - (9)].i); + int num = (int)(yyvsp[(4) - (21)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ yymsg(0, "Physical surface %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(8) - (9)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); - List_Delete(temp); - List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox((yyvsp[(9) - (21)].d), (yyvsp[(11) - (21)].d), (yyvsp[(13) - (21)].d), (yyvsp[(15) - (21)].d), (yyvsp[(17) - (21)].d), (yyvsp[(19) - (21)].d)); + GModel::current()->setPhysicalNumToEntitiesInBox(2, num, bbox); } - List_Delete((yyvsp[(8) - (9)].l)); (yyval.s).Type = MSH_PHYSICAL_SURFACE; (yyval.s).Num = num; } break; - case 158: + case 164: /* Line 1787 of yacc.c */ -#line 1806 "Gmsh.y" +#line 1877 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -6306,9 +6580,9 @@ yyreduce: } break; - case 159: + case 165: /* Line 1787 of yacc.c */ -#line 1824 "Gmsh.y" +#line 1895 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -6327,9 +6601,9 @@ yyreduce: } break; - case 160: + case 166: /* Line 1787 of yacc.c */ -#line 1841 "Gmsh.y" +#line 1912 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindVolume(num)){ @@ -6347,82 +6621,92 @@ yyreduce: } break; - case 161: + case 167: /* Line 1787 of yacc.c */ -#line 1857 "Gmsh.y" +#line 1928 "Gmsh.y" { - curPhysDim = 3; + int num = (int)(yyvsp[(4) - (8)].i); + if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ + yymsg(0, "Physical volume %d already exists", num); + } + else{ + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); + PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); + List_Delete(temp); + List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + } + List_Delete((yyvsp[(7) - (8)].l)); + (yyval.s).Type = MSH_PHYSICAL_VOLUME; + (yyval.s).Num = num; } break; - case 162: + case 168: /* Line 1787 of yacc.c */ -#line 1861 "Gmsh.y" +#line 1945 "Gmsh.y" { - int num = (int)(yyvsp[(5) - (9)].i); + int num = (int)(yyvsp[(4) - (21)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ yymsg(0, "Physical volume %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(8) - (9)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); - List_Delete(temp); - List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox((yyvsp[(9) - (21)].d), (yyvsp[(11) - (21)].d), (yyvsp[(13) - (21)].d), (yyvsp[(15) - (21)].d), (yyvsp[(17) - (21)].d), (yyvsp[(19) - (21)].d)); + GModel::current()->setPhysicalNumToEntitiesInBox(3, num, bbox); } - List_Delete((yyvsp[(8) - (9)].l)); (yyval.s).Type = MSH_PHYSICAL_VOLUME; (yyval.s).Num = num; } break; - case 163: + case 169: /* Line 1787 of yacc.c */ -#line 1883 "Gmsh.y" +#line 1965 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); } break; - case 164: + case 170: /* Line 1787 of yacc.c */ -#line 1888 "Gmsh.y" +#line 1970 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); } break; - case 165: + case 171: /* Line 1787 of yacc.c */ -#line 1893 "Gmsh.y" +#line 1975 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); } break; - case 166: + case 172: /* Line 1787 of yacc.c */ -#line 1898 "Gmsh.y" +#line 1980 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); } break; - case 167: + case 173: /* Line 1787 of yacc.c */ -#line 1903 "Gmsh.y" +#line 1985 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0], (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2], (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); } break; - case 168: + case 174: /* Line 1787 of yacc.c */ -#line 1908 "Gmsh.y" +#line 1990 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -6447,9 +6731,9 @@ yyreduce: } break; - case 169: + case 175: /* Line 1787 of yacc.c */ -#line 1931 "Gmsh.y" +#line 2013 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -6457,9 +6741,9 @@ yyreduce: } break; - case 170: + case 176: /* Line 1787 of yacc.c */ -#line 1937 "Gmsh.y" +#line 2019 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -6469,37 +6753,37 @@ yyreduce: } break; - case 171: + case 177: /* Line 1787 of yacc.c */ -#line 1947 "Gmsh.y" +#line 2029 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; - case 172: + case 178: /* Line 1787 of yacc.c */ -#line 1948 "Gmsh.y" +#line 2030 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; - case 173: + case 179: /* Line 1787 of yacc.c */ -#line 1953 "Gmsh.y" +#line 2035 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); } break; - case 174: + case 180: /* Line 1787 of yacc.c */ -#line 1957 "Gmsh.y" +#line 2039 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); } break; - case 175: + case 181: /* Line 1787 of yacc.c */ -#line 1961 "Gmsh.y" +#line 2043 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6524,9 +6808,9 @@ yyreduce: } break; - case 176: + case 182: /* Line 1787 of yacc.c */ -#line 1984 "Gmsh.y" +#line 2066 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6551,9 +6835,9 @@ yyreduce: } break; - case 177: + case 183: /* Line 1787 of yacc.c */ -#line 2007 "Gmsh.y" +#line 2089 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6578,9 +6862,9 @@ yyreduce: } break; - case 178: + case 184: /* Line 1787 of yacc.c */ -#line 2030 "Gmsh.y" +#line 2112 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6605,9 +6889,9 @@ yyreduce: } break; - case 179: + case 185: /* Line 1787 of yacc.c */ -#line 2058 "Gmsh.y" +#line 2140 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){ @@ -6630,9 +6914,9 @@ yyreduce: } break; - case 180: + case 186: /* Line 1787 of yacc.c */ -#line 2079 "Gmsh.y" +#line 2161 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) int t = (int)(yyvsp[(4) - (10)].d); @@ -6660,9 +6944,9 @@ yyreduce: } break; - case 181: + case 187: /* Line 1787 of yacc.c */ -#line 2106 "Gmsh.y" +#line 2188 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 0){ @@ -6684,9 +6968,9 @@ yyreduce: } break; - case 182: + case 188: /* Line 1787 of yacc.c */ -#line 2127 "Gmsh.y" +#line 2209 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(14) - (16)].l)) == 0){ @@ -6709,9 +6993,9 @@ yyreduce: } break; - case 183: + case 189: /* Line 1787 of yacc.c */ -#line 2148 "Gmsh.y" +#line 2230 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){ @@ -6733,9 +7017,9 @@ yyreduce: } break; - case 184: + case 190: /* Line 1787 of yacc.c */ -#line 2168 "Gmsh.y" +#line 2250 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "Union")){ @@ -6849,9 +7133,9 @@ yyreduce: } break; - case 185: + case 191: /* Line 1787 of yacc.c */ -#line 2280 "Gmsh.y" +#line 2362 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){ @@ -6872,9 +7156,9 @@ yyreduce: } break; - case 186: + case 192: /* Line 1787 of yacc.c */ -#line 2299 "Gmsh.y" +#line 2381 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ @@ -6914,9 +7198,9 @@ yyreduce: } break; - case 187: + case 193: /* Line 1787 of yacc.c */ -#line 2338 "Gmsh.y" +#line 2420 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ @@ -7021,9 +7305,9 @@ yyreduce: } break; - case 188: + case 194: /* Line 1787 of yacc.c */ -#line 2446 "Gmsh.y" +#line 2528 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7034,9 +7318,9 @@ yyreduce: } break; - case 189: + case 195: /* Line 1787 of yacc.c */ -#line 2455 "Gmsh.y" +#line 2537 "Gmsh.y" { #if defined(HAVE_MESH) GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); @@ -7044,9 +7328,9 @@ yyreduce: } break; - case 190: + case 196: /* Line 1787 of yacc.c */ -#line 2461 "Gmsh.y" +#line 2543 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -7063,9 +7347,9 @@ yyreduce: } break; - case 191: + case 197: /* Line 1787 of yacc.c */ -#line 2476 "Gmsh.y" +#line 2558 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ ClearProject(); @@ -7095,9 +7379,9 @@ yyreduce: } break; - case 192: + case 198: /* Line 1787 of yacc.c */ -#line 2504 "Gmsh.y" +#line 2586 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -7111,9 +7395,9 @@ yyreduce: } break; - case 193: + case 199: /* Line 1787 of yacc.c */ -#line 2521 "Gmsh.y" +#line 2603 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7124,9 +7408,9 @@ yyreduce: } break; - case 194: + case 200: /* Line 1787 of yacc.c */ -#line 2530 "Gmsh.y" +#line 2612 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){ Shape TheShape; @@ -7137,9 +7421,9 @@ yyreduce: } break; - case 195: + case 201: /* Line 1787 of yacc.c */ -#line 2544 "Gmsh.y" +#line 2626 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1, false); @@ -7147,9 +7431,9 @@ yyreduce: } break; - case 196: + case 202: /* Line 1787 of yacc.c */ -#line 2550 "Gmsh.y" +#line 2632 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0, false); @@ -7157,9 +7441,9 @@ yyreduce: } break; - case 197: + case 203: /* Line 1787 of yacc.c */ -#line 2556 "Gmsh.y" +#line 2638 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7170,9 +7454,9 @@ yyreduce: } break; - case 198: + case 204: /* Line 1787 of yacc.c */ -#line 2565 "Gmsh.y" +#line 2647 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7183,9 +7467,9 @@ yyreduce: } break; - case 199: + case 205: /* Line 1787 of yacc.c */ -#line 2574 "Gmsh.y" +#line 2656 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7196,9 +7480,9 @@ yyreduce: } break; - case 200: + case 206: /* Line 1787 of yacc.c */ -#line 2583 "Gmsh.y" +#line 2665 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7209,9 +7493,9 @@ yyreduce: } break; - case 201: + case 207: /* Line 1787 of yacc.c */ -#line 2597 "Gmsh.y" +#line 2679 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c)); @@ -7269,9 +7553,9 @@ yyreduce: } break; - case 202: + case 208: /* Line 1787 of yacc.c */ -#line 2653 "Gmsh.y" +#line 2735 "Gmsh.y" { int n = List_Nbr((yyvsp[(3) - (5)].l)); if(n != 1 && n != 2){ @@ -7298,9 +7582,9 @@ yyreduce: } break; - case 203: + case 209: /* Line 1787 of yacc.c */ -#line 2678 "Gmsh.y" +#line 2760 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -7319,9 +7603,9 @@ yyreduce: } break; - case 204: + case 210: /* Line 1787 of yacc.c */ -#line 2695 "Gmsh.y" +#line 2777 "Gmsh.y" { #if defined(HAVE_POST) && defined(HAVE_MESH) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -7338,9 +7622,9 @@ yyreduce: } break; - case 205: + case 211: /* Line 1787 of yacc.c */ -#line 2710 "Gmsh.y" +#line 2792 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -7361,9 +7645,9 @@ yyreduce: } break; - case 206: + case 212: /* Line 1787 of yacc.c */ -#line 2729 "Gmsh.y" +#line 2811 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -7377,9 +7661,9 @@ yyreduce: } break; - case 207: + case 213: /* Line 1787 of yacc.c */ -#line 2741 "Gmsh.y" +#line 2823 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -7405,26 +7689,26 @@ yyreduce: } break; - case 208: + case 214: /* Line 1787 of yacc.c */ -#line 2765 "Gmsh.y" +#line 2847 "Gmsh.y" { Msg::Exit(0); } break; - case 209: + case 215: /* Line 1787 of yacc.c */ -#line 2769 "Gmsh.y" +#line 2851 "Gmsh.y" { gmsh_yyerrorstate = 999; // this will be checked when yyparse returns YYABORT; } break; - case 210: + case 216: /* Line 1787 of yacc.c */ -#line 2774 "Gmsh.y" +#line 2856 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -7433,9 +7717,9 @@ yyreduce: } break; - case 211: + case 217: /* Line 1787 of yacc.c */ -#line 2781 "Gmsh.y" +#line 2863 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -7443,18 +7727,18 @@ yyreduce: } break; - case 212: + case 218: /* Line 1787 of yacc.c */ -#line 2787 "Gmsh.y" +#line 2869 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); } break; - case 213: + case 219: /* Line 1787 of yacc.c */ -#line 2792 "Gmsh.y" +#line 2874 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -7462,9 +7746,9 @@ yyreduce: } break; - case 214: + case 220: /* Line 1787 of yacc.c */ -#line 2798 "Gmsh.y" +#line 2880 "Gmsh.y" { #if defined(HAVE_OPENGL) CTX::instance()->mesh.changed = ENT_ALL; @@ -7474,34 +7758,34 @@ yyreduce: } break; - case 215: + case 221: /* Line 1787 of yacc.c */ -#line 2806 "Gmsh.y" +#line 2888 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); } break; - case 216: + case 222: /* Line 1787 of yacc.c */ -#line 2810 "Gmsh.y" +#line 2892 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); } break; - case 217: + case 223: /* Line 1787 of yacc.c */ -#line 2814 "Gmsh.y" +#line 2896 "Gmsh.y" { GModel::current()->importGEOInternals(); GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear); } break; - case 218: + case 224: /* Line 1787 of yacc.c */ -#line 2820 "Gmsh.y" +#line 2902 "Gmsh.y" { int lock = CTX::instance()->lock; CTX::instance()->lock = 0; @@ -7557,9 +7841,9 @@ yyreduce: } break; - case 219: + case 225: /* Line 1787 of yacc.c */ -#line 2874 "Gmsh.y" +#line 2956 "Gmsh.y" { #if defined(HAVE_MESH) SetOrderN(GModel::current(), (yyvsp[(2) - (3)].d), CTX::instance()->mesh.secondOrderLinear, @@ -7569,9 +7853,9 @@ yyreduce: } break; - case 220: + case 226: /* Line 1787 of yacc.c */ -#line 2887 "Gmsh.y" +#line 2969 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -7590,9 +7874,9 @@ yyreduce: } break; - case 221: + case 227: /* Line 1787 of yacc.c */ -#line 2904 "Gmsh.y" +#line 2986 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -7611,9 +7895,9 @@ yyreduce: } break; - case 222: + case 228: /* Line 1787 of yacc.c */ -#line 2921 "Gmsh.y" +#line 3003 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -7636,9 +7920,9 @@ yyreduce: } break; - case 223: + case 229: /* Line 1787 of yacc.c */ -#line 2942 "Gmsh.y" +#line 3024 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -7661,9 +7945,9 @@ yyreduce: } break; - case 224: + case 230: /* Line 1787 of yacc.c */ -#line 2963 "Gmsh.y" +#line 3045 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -7700,9 +7984,9 @@ yyreduce: } break; - case 225: + case 231: /* Line 1787 of yacc.c */ -#line 2998 "Gmsh.y" +#line 3080 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction ((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7712,9 +7996,9 @@ yyreduce: } break; - case 226: + case 232: /* Line 1787 of yacc.c */ -#line 3006 "Gmsh.y" +#line 3088 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7722,9 +8006,9 @@ yyreduce: } break; - case 227: + case 233: /* Line 1787 of yacc.c */ -#line 3012 "Gmsh.y" +#line 3094 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction ((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7733,24 +8017,24 @@ yyreduce: } break; - case 228: + case 234: /* Line 1787 of yacc.c */ -#line 3019 "Gmsh.y" +#line 3101 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); } break; - case 229: + case 235: /* Line 1787 of yacc.c */ -#line 3023 "Gmsh.y" +#line 3105 "Gmsh.y" { } break; - case 230: + case 236: /* Line 1787 of yacc.c */ -#line 3032 "Gmsh.y" +#line 3114 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -7760,9 +8044,9 @@ yyreduce: } break; - case 231: + case 237: /* Line 1787 of yacc.c */ -#line 3040 "Gmsh.y" +#line 3122 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -7772,9 +8056,9 @@ yyreduce: } break; - case 232: + case 238: /* Line 1787 of yacc.c */ -#line 3048 "Gmsh.y" +#line 3130 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -7784,9 +8068,9 @@ yyreduce: } break; - case 233: + case 239: /* Line 1787 of yacc.c */ -#line 3056 "Gmsh.y" +#line 3138 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7794,9 +8078,9 @@ yyreduce: } break; - case 234: + case 240: /* Line 1787 of yacc.c */ -#line 3062 "Gmsh.y" +#line 3144 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -7806,9 +8090,9 @@ yyreduce: } break; - case 235: + case 241: /* Line 1787 of yacc.c */ -#line 3070 "Gmsh.y" +#line 3152 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7816,9 +8100,9 @@ yyreduce: } break; - case 236: + case 242: /* Line 1787 of yacc.c */ -#line 3076 "Gmsh.y" +#line 3158 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -7828,9 +8112,9 @@ yyreduce: } break; - case 237: + case 243: /* Line 1787 of yacc.c */ -#line 3084 "Gmsh.y" +#line 3166 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7838,9 +8122,9 @@ yyreduce: } break; - case 238: + case 244: /* Line 1787 of yacc.c */ -#line 3090 "Gmsh.y" +#line 3172 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -7850,9 +8134,9 @@ yyreduce: } break; - case 239: + case 245: /* Line 1787 of yacc.c */ -#line 3098 "Gmsh.y" +#line 3180 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7860,9 +8144,9 @@ yyreduce: } break; - case 240: + case 246: /* Line 1787 of yacc.c */ -#line 3104 "Gmsh.y" +#line 3186 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -7871,9 +8155,9 @@ yyreduce: } break; - case 241: + case 247: /* Line 1787 of yacc.c */ -#line 3112 "Gmsh.y" +#line 3194 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -7882,9 +8166,9 @@ yyreduce: } break; - case 242: + case 248: /* Line 1787 of yacc.c */ -#line 3119 "Gmsh.y" +#line 3201 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -7893,9 +8177,9 @@ yyreduce: } break; - case 243: + case 249: /* Line 1787 of yacc.c */ -#line 3126 "Gmsh.y" +#line 3208 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -7904,9 +8188,9 @@ yyreduce: } break; - case 244: + case 250: /* Line 1787 of yacc.c */ -#line 3133 "Gmsh.y" +#line 3215 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -7915,9 +8199,9 @@ yyreduce: } break; - case 245: + case 251: /* Line 1787 of yacc.c */ -#line 3140 "Gmsh.y" +#line 3222 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -7926,9 +8210,9 @@ yyreduce: } break; - case 246: + case 252: /* Line 1787 of yacc.c */ -#line 3147 "Gmsh.y" +#line 3229 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -7937,9 +8221,9 @@ yyreduce: } break; - case 247: + case 253: /* Line 1787 of yacc.c */ -#line 3154 "Gmsh.y" +#line 3236 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -7948,9 +8232,9 @@ yyreduce: } break; - case 248: + case 254: /* Line 1787 of yacc.c */ -#line 3161 "Gmsh.y" +#line 3243 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -7959,9 +8243,9 @@ yyreduce: } break; - case 249: + case 255: /* Line 1787 of yacc.c */ -#line 3168 "Gmsh.y" +#line 3250 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -7970,9 +8254,9 @@ yyreduce: } break; - case 250: + case 256: /* Line 1787 of yacc.c */ -#line 3175 "Gmsh.y" +#line 3257 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7980,9 +8264,9 @@ yyreduce: } break; - case 251: + case 257: /* Line 1787 of yacc.c */ -#line 3181 "Gmsh.y" +#line 3263 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -7991,9 +8275,9 @@ yyreduce: } break; - case 252: + case 258: /* Line 1787 of yacc.c */ -#line 3188 "Gmsh.y" +#line 3270 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8001,9 +8285,9 @@ yyreduce: } break; - case 253: + case 259: /* Line 1787 of yacc.c */ -#line 3194 "Gmsh.y" +#line 3276 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8012,9 +8296,9 @@ yyreduce: } break; - case 254: + case 260: /* Line 1787 of yacc.c */ -#line 3201 "Gmsh.y" +#line 3283 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8022,9 +8306,9 @@ yyreduce: } break; - case 255: + case 261: /* Line 1787 of yacc.c */ -#line 3207 "Gmsh.y" +#line 3289 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8033,9 +8317,9 @@ yyreduce: } break; - case 256: + case 262: /* Line 1787 of yacc.c */ -#line 3214 "Gmsh.y" +#line 3296 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8043,9 +8327,9 @@ yyreduce: } break; - case 257: + case 263: /* Line 1787 of yacc.c */ -#line 3220 "Gmsh.y" +#line 3302 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -8054,9 +8338,9 @@ yyreduce: } break; - case 258: + case 264: /* Line 1787 of yacc.c */ -#line 3227 "Gmsh.y" +#line 3309 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8064,9 +8348,9 @@ yyreduce: } break; - case 259: + case 265: /* Line 1787 of yacc.c */ -#line 3233 "Gmsh.y" +#line 3315 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -8075,9 +8359,9 @@ yyreduce: } break; - case 260: + case 266: /* Line 1787 of yacc.c */ -#line 3240 "Gmsh.y" +#line 3322 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8085,9 +8369,9 @@ yyreduce: } break; - case 261: + case 267: /* Line 1787 of yacc.c */ -#line 3246 "Gmsh.y" +#line 3328 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -8096,9 +8380,9 @@ yyreduce: } break; - case 262: + case 268: /* Line 1787 of yacc.c */ -#line 3253 "Gmsh.y" +#line 3335 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8106,9 +8390,9 @@ yyreduce: } break; - case 263: + case 269: /* Line 1787 of yacc.c */ -#line 3259 "Gmsh.y" +#line 3341 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -8117,9 +8401,9 @@ yyreduce: } break; - case 264: + case 270: /* Line 1787 of yacc.c */ -#line 3266 "Gmsh.y" +#line 3348 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8127,9 +8411,9 @@ yyreduce: } break; - case 265: + case 271: /* Line 1787 of yacc.c */ -#line 3272 "Gmsh.y" +#line 3354 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -8138,9 +8422,9 @@ yyreduce: } break; - case 266: + case 272: /* Line 1787 of yacc.c */ -#line 3279 "Gmsh.y" +#line 3361 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8148,9 +8432,9 @@ yyreduce: } break; - case 267: + case 273: /* Line 1787 of yacc.c */ -#line 3285 "Gmsh.y" +#line 3367 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -8159,23 +8443,23 @@ yyreduce: } break; - case 268: + case 274: /* Line 1787 of yacc.c */ -#line 3296 "Gmsh.y" +#line 3378 "Gmsh.y" { } break; - case 269: + case 275: /* Line 1787 of yacc.c */ -#line 3299 "Gmsh.y" +#line 3381 "Gmsh.y" { } break; - case 270: + case 276: /* Line 1787 of yacc.c */ -#line 3305 "Gmsh.y" +#line 3387 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -8189,9 +8473,9 @@ yyreduce: } break; - case 271: + case 277: /* Line 1787 of yacc.c */ -#line 3317 "Gmsh.y" +#line 3399 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -8213,9 +8497,9 @@ yyreduce: } break; - case 272: + case 278: /* Line 1787 of yacc.c */ -#line 3337 "Gmsh.y" +#line 3419 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -8240,41 +8524,41 @@ yyreduce: } break; - case 273: + case 279: /* Line 1787 of yacc.c */ -#line 3361 "Gmsh.y" +#line 3443 "Gmsh.y" { extr.mesh.ScaleLast = true; } break; - case 274: + case 280: /* Line 1787 of yacc.c */ -#line 3365 "Gmsh.y" +#line 3447 "Gmsh.y" { extr.mesh.Recombine = true; } break; - case 275: + case 281: /* Line 1787 of yacc.c */ -#line 3369 "Gmsh.y" +#line 3451 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } break; - case 276: + case 282: /* Line 1787 of yacc.c */ -#line 3373 "Gmsh.y" +#line 3455 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } break; - case 277: + case 283: /* Line 1787 of yacc.c */ -#line 3377 "Gmsh.y" +#line 3459 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8282,9 +8566,9 @@ yyreduce: } break; - case 278: + case 284: /* Line 1787 of yacc.c */ -#line 3383 "Gmsh.y" +#line 3465 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8292,41 +8576,41 @@ yyreduce: } break; - case 279: + case 285: /* Line 1787 of yacc.c */ -#line 3389 "Gmsh.y" +#line 3471 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; } break; - case 280: + case 286: /* Line 1787 of yacc.c */ -#line 3393 "Gmsh.y" +#line 3475 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; } break; - case 281: + case 287: /* Line 1787 of yacc.c */ -#line 3397 "Gmsh.y" +#line 3479 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; } break; - case 282: + case 288: /* Line 1787 of yacc.c */ -#line 3401 "Gmsh.y" +#line 3483 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; } break; - case 283: + case 289: /* Line 1787 of yacc.c */ -#line 3405 "Gmsh.y" +#line 3487 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -8347,9 +8631,9 @@ yyreduce: } break; - case 284: + case 290: /* Line 1787 of yacc.c */ -#line 3424 "Gmsh.y" +#line 3506 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -8359,17 +8643,17 @@ yyreduce: } break; - case 285: + case 291: /* Line 1787 of yacc.c */ -#line 3436 "Gmsh.y" +#line 3518 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; } break; - case 286: + case 292: /* Line 1787 of yacc.c */ -#line 3440 "Gmsh.y" +#line 3522 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -8384,17 +8668,17 @@ yyreduce: } break; - case 287: + case 293: /* Line 1787 of yacc.c */ -#line 3455 "Gmsh.y" +#line 3537 "Gmsh.y" { (yyval.i) = -1; // left } break; - case 288: + case 294: /* Line 1787 of yacc.c */ -#line 3459 "Gmsh.y" +#line 3541 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -8410,41 +8694,41 @@ yyreduce: } break; - case 289: + case 295: /* Line 1787 of yacc.c */ -#line 3475 "Gmsh.y" +#line 3557 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); } break; - case 290: + case 296: /* Line 1787 of yacc.c */ -#line 3479 "Gmsh.y" +#line 3561 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); } break; - case 291: + case 297: /* Line 1787 of yacc.c */ -#line 3484 "Gmsh.y" +#line 3566 "Gmsh.y" { (yyval.i) = 45; } break; - case 292: + case 298: /* Line 1787 of yacc.c */ -#line 3488 "Gmsh.y" +#line 3570 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); } break; - case 293: + case 299: /* Line 1787 of yacc.c */ -#line 3495 "Gmsh.y" +#line 3577 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -8502,9 +8786,9 @@ yyreduce: } break; - case 294: + case 300: /* Line 1787 of yacc.c */ -#line 3551 "Gmsh.y" +#line 3633 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -8576,18 +8860,18 @@ yyreduce: } break; - case 295: + case 301: /* Line 1787 of yacc.c */ -#line 3621 "Gmsh.y" +#line 3703 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); } break; - case 296: + case 302: /* Line 1787 of yacc.c */ -#line 3626 "Gmsh.y" +#line 3708 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -8656,9 +8940,9 @@ yyreduce: } break; - case 297: + case 303: /* Line 1787 of yacc.c */ -#line 3693 "Gmsh.y" +#line 3775 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -8696,9 +8980,9 @@ yyreduce: } break; - case 298: + case 304: /* Line 1787 of yacc.c */ -#line 3729 "Gmsh.y" +#line 3811 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (7)].l)); i++){ double d; @@ -8708,9 +8992,9 @@ yyreduce: } break; - case 299: + case 305: /* Line 1787 of yacc.c */ -#line 3737 "Gmsh.y" +#line 3819 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -8755,9 +9039,9 @@ yyreduce: } break; - case 300: + case 306: /* Line 1787 of yacc.c */ -#line 3780 "Gmsh.y" +#line 3862 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -8798,9 +9082,9 @@ yyreduce: } break; - case 301: + case 307: /* Line 1787 of yacc.c */ -#line 3819 "Gmsh.y" +#line 3901 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -8822,9 +9106,9 @@ yyreduce: } break; - case 302: + case 308: /* Line 1787 of yacc.c */ -#line 3839 "Gmsh.y" +#line 3921 "Gmsh.y" { if(List_Nbr((yyvsp[(5) - (6)].l)) != List_Nbr((yyvsp[(3) - (6)].l))){ yymsg(0, "Number of master (%d) different from number of slave (%d) lines", @@ -8853,9 +9137,9 @@ yyreduce: } break; - case 303: + case 309: /* Line 1787 of yacc.c */ -#line 3867 "Gmsh.y" +#line 3949 "Gmsh.y" { if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){ yymsg(0, "Number of master surface edges (%d) different from number of " @@ -8896,9 +9180,9 @@ yyreduce: } break; - case 304: + case 310: /* Line 1787 of yacc.c */ -#line 3906 "Gmsh.y" +#line 3988 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -8923,9 +9207,9 @@ yyreduce: } break; - case 305: + case 311: /* Line 1787 of yacc.c */ -#line 3929 "Gmsh.y" +#line 4011 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -8950,25 +9234,25 @@ yyreduce: } break; - case 306: + case 312: /* Line 1787 of yacc.c */ -#line 3952 "Gmsh.y" +#line 4034 "Gmsh.y" { Msg::Error("Point in Volume not implemented yet"); } break; - case 307: + case 313: /* Line 1787 of yacc.c */ -#line 3956 "Gmsh.y" +#line 4038 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); } break; - case 308: + case 314: /* Line 1787 of yacc.c */ -#line 3960 "Gmsh.y" +#line 4042 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -8993,9 +9277,9 @@ yyreduce: } break; - case 309: + case 315: /* Line 1787 of yacc.c */ -#line 3983 "Gmsh.y" +#line 4065 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9036,9 +9320,9 @@ yyreduce: } break; - case 310: + case 316: /* Line 1787 of yacc.c */ -#line 4022 "Gmsh.y" +#line 4104 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9079,9 +9363,9 @@ yyreduce: } break; - case 311: + case 317: /* Line 1787 of yacc.c */ -#line 4061 "Gmsh.y" +#line 4143 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -9104,9 +9388,9 @@ yyreduce: } break; - case 312: + case 318: /* Line 1787 of yacc.c */ -#line 4082 "Gmsh.y" +#line 4164 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -9129,9 +9413,9 @@ yyreduce: } break; - case 313: + case 319: /* Line 1787 of yacc.c */ -#line 4103 "Gmsh.y" +#line 4185 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -9154,17 +9438,17 @@ yyreduce: } break; - case 314: + case 320: /* Line 1787 of yacc.c */ -#line 4130 "Gmsh.y" +#line 4212 "Gmsh.y" { ReplaceAllDuplicates(); } break; - case 315: + case 321: /* Line 1787 of yacc.c */ -#line 4134 "Gmsh.y" +#line 4216 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -9176,9 +9460,9 @@ yyreduce: } break; - case 316: + case 322: /* Line 1787 of yacc.c */ -#line 4144 "Gmsh.y" +#line 4226 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -9210,27 +9494,27 @@ yyreduce: } break; - case 317: + case 323: /* Line 1787 of yacc.c */ -#line 4178 "Gmsh.y" +#line 4260 "Gmsh.y" { (yyval.c) = (char*)"Homology"; } break; - case 318: + case 324: /* Line 1787 of yacc.c */ -#line 4179 "Gmsh.y" +#line 4261 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; } break; - case 319: + case 325: /* Line 1787 of yacc.c */ -#line 4180 "Gmsh.y" +#line 4262 "Gmsh.y" { (yyval.c) = (char*)"Betti"; } break; - case 320: + case 326: /* Line 1787 of yacc.c */ -#line 4185 "Gmsh.y" +#line 4267 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -9238,9 +9522,9 @@ yyreduce: } break; - case 321: + case 327: /* Line 1787 of yacc.c */ -#line 4191 "Gmsh.y" +#line 4273 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -9254,9 +9538,9 @@ yyreduce: } break; - case 322: + case 328: /* Line 1787 of yacc.c */ -#line 4203 "Gmsh.y" +#line 4285 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -9276,9 +9560,9 @@ yyreduce: } break; - case 323: + case 329: /* Line 1787 of yacc.c */ -#line 4221 "Gmsh.y" +#line 4303 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -9303,57 +9587,57 @@ yyreduce: } break; - case 324: + case 330: /* Line 1787 of yacc.c */ -#line 4248 "Gmsh.y" +#line 4330 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; - case 325: + case 331: /* Line 1787 of yacc.c */ -#line 4249 "Gmsh.y" +#line 4331 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); } break; - case 326: + case 332: /* Line 1787 of yacc.c */ -#line 4250 "Gmsh.y" +#line 4332 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); } break; - case 327: + case 333: /* Line 1787 of yacc.c */ -#line 4251 "Gmsh.y" +#line 4333 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); } break; - case 328: + case 334: /* Line 1787 of yacc.c */ -#line 4252 "Gmsh.y" +#line 4334 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); } break; - case 329: + case 335: /* Line 1787 of yacc.c */ -#line 4253 "Gmsh.y" +#line 4335 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); } break; - case 330: + case 336: /* Line 1787 of yacc.c */ -#line 4254 "Gmsh.y" +#line 4336 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); } break; - case 331: + case 337: /* Line 1787 of yacc.c */ -#line 4255 "Gmsh.y" +#line 4337 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); } break; - case 332: + case 338: /* Line 1787 of yacc.c */ -#line 4257 "Gmsh.y" +#line 4339 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -9362,273 +9646,273 @@ yyreduce: } break; - case 333: + case 339: /* Line 1787 of yacc.c */ -#line 4263 "Gmsh.y" +#line 4345 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); } break; - case 334: + case 340: /* Line 1787 of yacc.c */ -#line 4264 "Gmsh.y" +#line 4346 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); } break; - case 335: + case 341: /* Line 1787 of yacc.c */ -#line 4265 "Gmsh.y" +#line 4347 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); } break; - case 336: + case 342: /* Line 1787 of yacc.c */ -#line 4266 "Gmsh.y" +#line 4348 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); } break; - case 337: + case 343: /* Line 1787 of yacc.c */ -#line 4267 "Gmsh.y" +#line 4349 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); } break; - case 338: + case 344: /* Line 1787 of yacc.c */ -#line 4268 "Gmsh.y" +#line 4350 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); } break; - case 339: + case 345: /* Line 1787 of yacc.c */ -#line 4269 "Gmsh.y" +#line 4351 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); } break; - case 340: + case 346: /* Line 1787 of yacc.c */ -#line 4270 "Gmsh.y" +#line 4352 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); } break; - case 341: + case 347: /* Line 1787 of yacc.c */ -#line 4271 "Gmsh.y" +#line 4353 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); } break; - case 342: + case 348: /* Line 1787 of yacc.c */ -#line 4272 "Gmsh.y" +#line 4354 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); } break; - case 343: + case 349: /* Line 1787 of yacc.c */ -#line 4273 "Gmsh.y" +#line 4355 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); } break; - case 344: + case 350: /* Line 1787 of yacc.c */ -#line 4274 "Gmsh.y" +#line 4356 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); } break; - case 345: + case 351: /* Line 1787 of yacc.c */ -#line 4275 "Gmsh.y" +#line 4357 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); } break; - case 346: + case 352: /* Line 1787 of yacc.c */ -#line 4276 "Gmsh.y" +#line 4358 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); } break; - case 347: + case 353: /* Line 1787 of yacc.c */ -#line 4277 "Gmsh.y" +#line 4359 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); } break; - case 348: + case 354: /* Line 1787 of yacc.c */ -#line 4278 "Gmsh.y" +#line 4360 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); } break; - case 349: + case 355: /* Line 1787 of yacc.c */ -#line 4279 "Gmsh.y" +#line 4361 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); } break; - case 350: + case 356: /* Line 1787 of yacc.c */ -#line 4280 "Gmsh.y" +#line 4362 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); } break; - case 351: + case 357: /* Line 1787 of yacc.c */ -#line 4281 "Gmsh.y" +#line 4363 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); } break; - case 352: + case 358: /* Line 1787 of yacc.c */ -#line 4282 "Gmsh.y" +#line 4364 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); } break; - case 353: + case 359: /* Line 1787 of yacc.c */ -#line 4283 "Gmsh.y" +#line 4365 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); } break; - case 354: + case 360: /* Line 1787 of yacc.c */ -#line 4284 "Gmsh.y" +#line 4366 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));} break; - case 355: + case 361: /* Line 1787 of yacc.c */ -#line 4285 "Gmsh.y" +#line 4367 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); } break; - case 356: + case 362: /* Line 1787 of yacc.c */ -#line 4286 "Gmsh.y" +#line 4368 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); } break; - case 357: + case 363: /* Line 1787 of yacc.c */ -#line 4287 "Gmsh.y" +#line 4369 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); } break; - case 358: + case 364: /* Line 1787 of yacc.c */ -#line 4288 "Gmsh.y" +#line 4370 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); } break; - case 359: + case 365: /* Line 1787 of yacc.c */ -#line 4289 "Gmsh.y" +#line 4371 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); } break; - case 360: + case 366: /* Line 1787 of yacc.c */ -#line 4290 "Gmsh.y" +#line 4372 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); } break; - case 361: + case 367: /* Line 1787 of yacc.c */ -#line 4291 "Gmsh.y" +#line 4373 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); } break; - case 362: + case 368: /* Line 1787 of yacc.c */ -#line 4292 "Gmsh.y" +#line 4374 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; - case 363: + case 369: /* Line 1787 of yacc.c */ -#line 4293 "Gmsh.y" +#line 4375 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; - case 364: + case 370: /* Line 1787 of yacc.c */ -#line 4294 "Gmsh.y" +#line 4376 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); } break; - case 365: + case 371: /* Line 1787 of yacc.c */ -#line 4295 "Gmsh.y" +#line 4377 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; } break; - case 366: + case 372: /* Line 1787 of yacc.c */ -#line 4304 "Gmsh.y" +#line 4386 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; - case 367: + case 373: /* Line 1787 of yacc.c */ -#line 4305 "Gmsh.y" +#line 4387 "Gmsh.y" { (yyval.d) = 3.141592653589793; } break; - case 368: + case 374: /* Line 1787 of yacc.c */ -#line 4306 "Gmsh.y" +#line 4388 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); } break; - case 369: + case 375: /* Line 1787 of yacc.c */ -#line 4307 "Gmsh.y" +#line 4389 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); } break; - case 370: + case 376: /* Line 1787 of yacc.c */ -#line 4308 "Gmsh.y" +#line 4390 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); } break; - case 371: + case 377: /* Line 1787 of yacc.c */ -#line 4309 "Gmsh.y" +#line 4391 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); } break; - case 372: + case 378: /* Line 1787 of yacc.c */ -#line 4310 "Gmsh.y" +#line 4392 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); } break; - case 373: + case 379: /* Line 1787 of yacc.c */ -#line 4311 "Gmsh.y" +#line 4393 "Gmsh.y" { (yyval.d) = Cpu(); } break; - case 374: + case 380: /* Line 1787 of yacc.c */ -#line 4312 "Gmsh.y" +#line 4394 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; } break; - case 375: + case 381: /* Line 1787 of yacc.c */ -#line 4313 "Gmsh.y" +#line 4395 "Gmsh.y" { (yyval.d) = TotalRam(); } break; - case 376: + case 382: /* Line 1787 of yacc.c */ -#line 4318 "Gmsh.y" +#line 4400 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; - case 377: + case 383: /* Line 1787 of yacc.c */ -#line 4320 "Gmsh.y" +#line 4402 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -9636,9 +9920,9 @@ yyreduce: } break; - case 378: + case 384: /* Line 1787 of yacc.c */ -#line 4326 "Gmsh.y" +#line 4408 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -9657,9 +9941,9 @@ yyreduce: } break; - case 379: + case 385: /* Line 1787 of yacc.c */ -#line 4343 "Gmsh.y" +#line 4425 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9679,9 +9963,9 @@ yyreduce: } break; - case 380: + case 386: /* Line 1787 of yacc.c */ -#line 4361 "Gmsh.y" +#line 4443 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9701,18 +9985,18 @@ yyreduce: } break; - case 381: + case 387: /* Line 1787 of yacc.c */ -#line 4379 "Gmsh.y" +#line 4461 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); } break; - case 382: + case 388: /* Line 1787 of yacc.c */ -#line 4384 "Gmsh.y" +#line 4466 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -9720,9 +10004,9 @@ yyreduce: } break; - case 383: + case 389: /* Line 1787 of yacc.c */ -#line 4390 "Gmsh.y" +#line 4472 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -9736,9 +10020,9 @@ yyreduce: } break; - case 384: + case 390: /* Line 1787 of yacc.c */ -#line 4402 "Gmsh.y" +#line 4484 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -9757,9 +10041,9 @@ yyreduce: } break; - case 385: + case 391: /* Line 1787 of yacc.c */ -#line 4419 "Gmsh.y" +#line 4501 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -9779,9 +10063,9 @@ yyreduce: } break; - case 386: + case 392: /* Line 1787 of yacc.c */ -#line 4437 "Gmsh.y" +#line 4519 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -9801,27 +10085,27 @@ yyreduce: } break; - case 387: + case 393: /* Line 1787 of yacc.c */ -#line 4458 "Gmsh.y" +#line 4540 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); } break; - case 388: + case 394: /* Line 1787 of yacc.c */ -#line 4463 "Gmsh.y" +#line 4545 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); } break; - case 389: + case 395: /* Line 1787 of yacc.c */ -#line 4468 "Gmsh.y" +#line 4550 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -9833,9 +10117,9 @@ yyreduce: } break; - case 390: + case 396: /* Line 1787 of yacc.c */ -#line 4478 "Gmsh.y" +#line 4560 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -9847,18 +10131,18 @@ yyreduce: } break; - case 391: + case 397: /* Line 1787 of yacc.c */ -#line 4488 "Gmsh.y" +#line 4570 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); } break; - case 392: + case 398: /* Line 1787 of yacc.c */ -#line 4493 "Gmsh.y" +#line 4575 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -9869,18 +10153,18 @@ yyreduce: } break; - case 393: + case 399: /* Line 1787 of yacc.c */ -#line 4502 "Gmsh.y" +#line 4584 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); } break; - case 394: + case 400: /* Line 1787 of yacc.c */ -#line 4507 "Gmsh.y" +#line 4589 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -9906,132 +10190,132 @@ yyreduce: } break; - case 395: + case 401: /* Line 1787 of yacc.c */ -#line 4534 "Gmsh.y" +#line 4616 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); } break; - case 396: + case 402: /* Line 1787 of yacc.c */ -#line 4538 "Gmsh.y" +#line 4620 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; } break; - case 397: + case 403: /* Line 1787 of yacc.c */ -#line 4542 "Gmsh.y" +#line 4624 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; } break; - case 398: + case 404: /* Line 1787 of yacc.c */ -#line 4546 "Gmsh.y" +#line 4628 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; } break; - case 399: + case 405: /* Line 1787 of yacc.c */ -#line 4550 "Gmsh.y" +#line 4632 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; } break; - case 400: + case 406: /* Line 1787 of yacc.c */ -#line 4557 "Gmsh.y" +#line 4639 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); } break; - case 401: + case 407: /* Line 1787 of yacc.c */ -#line 4561 "Gmsh.y" +#line 4643 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; } break; - case 402: + case 408: /* Line 1787 of yacc.c */ -#line 4565 "Gmsh.y" +#line 4647 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; } break; - case 403: + case 409: /* Line 1787 of yacc.c */ -#line 4569 "Gmsh.y" +#line 4651 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; } break; - case 404: + case 410: /* Line 1787 of yacc.c */ -#line 4576 "Gmsh.y" +#line 4658 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); } break; - case 405: + case 411: /* Line 1787 of yacc.c */ -#line 4581 "Gmsh.y" +#line 4663 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); } break; - case 406: + case 412: /* Line 1787 of yacc.c */ -#line 4588 "Gmsh.y" +#line 4670 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); } break; - case 407: + case 413: /* Line 1787 of yacc.c */ -#line 4593 "Gmsh.y" +#line 4675 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; - case 408: + case 414: /* Line 1787 of yacc.c */ -#line 4597 "Gmsh.y" +#line 4679 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); } break; - case 409: + case 415: /* Line 1787 of yacc.c */ -#line 4602 "Gmsh.y" +#line 4684 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } break; - case 410: + case 416: /* Line 1787 of yacc.c */ -#line 4606 "Gmsh.y" +#line 4688 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10041,9 +10325,9 @@ yyreduce: } break; - case 411: + case 417: /* Line 1787 of yacc.c */ -#line 4614 "Gmsh.y" +#line 4696 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10053,17 +10337,17 @@ yyreduce: } break; - case 412: + case 418: /* Line 1787 of yacc.c */ -#line 4625 "Gmsh.y" +#line 4707 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; - case 413: + case 419: /* Line 1787 of yacc.c */ -#line 4629 "Gmsh.y" +#line 4711 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10074,9 +10358,9 @@ yyreduce: } break; - case 414: + case 420: /* Line 1787 of yacc.c */ -#line 4641 "Gmsh.y" +#line 4723 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10086,9 +10370,9 @@ yyreduce: } break; - case 415: + case 421: /* Line 1787 of yacc.c */ -#line 4649 "Gmsh.y" +#line 4731 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10098,9 +10382,9 @@ yyreduce: } break; - case 416: + case 422: /* Line 1787 of yacc.c */ -#line 4657 "Gmsh.y" +#line 4739 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -10109,9 +10393,9 @@ yyreduce: } break; - case 417: + case 423: /* Line 1787 of yacc.c */ -#line 4664 "Gmsh.y" +#line 4746 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -10123,9 +10407,9 @@ yyreduce: } break; - case 418: + case 424: /* Line 1787 of yacc.c */ -#line 4674 "Gmsh.y" +#line 4756 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -10156,41 +10440,41 @@ yyreduce: } break; - case 419: + case 425: /* Line 1787 of yacc.c */ -#line 4703 "Gmsh.y" +#line 4785 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(0); } break; - case 420: + case 426: /* Line 1787 of yacc.c */ -#line 4707 "Gmsh.y" +#line 4789 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(1); } break; - case 421: + case 427: /* Line 1787 of yacc.c */ -#line 4711 "Gmsh.y" +#line 4793 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(2); } break; - case 422: + case 428: /* Line 1787 of yacc.c */ -#line 4715 "Gmsh.y" +#line 4797 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(3); } break; - case 423: + case 429: /* Line 1787 of yacc.c */ -#line 4719 "Gmsh.y" +#line 4801 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10221,9 +10505,9 @@ yyreduce: } break; - case 424: + case 430: /* Line 1787 of yacc.c */ -#line 4748 "Gmsh.y" +#line 4830 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10254,9 +10538,9 @@ yyreduce: } break; - case 425: + case 431: /* Line 1787 of yacc.c */ -#line 4777 "Gmsh.y" +#line 4859 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10287,9 +10571,9 @@ yyreduce: } break; - case 426: + case 432: /* Line 1787 of yacc.c */ -#line 4806 "Gmsh.y" +#line 4888 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10320,9 +10604,9 @@ yyreduce: } break; - case 427: + case 433: /* Line 1787 of yacc.c */ -#line 4835 "Gmsh.y" +#line 4917 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -10334,9 +10618,9 @@ yyreduce: } break; - case 428: + case 434: /* Line 1787 of yacc.c */ -#line 4845 "Gmsh.y" +#line 4927 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -10348,9 +10632,9 @@ yyreduce: } break; - case 429: + case 435: /* Line 1787 of yacc.c */ -#line 4855 "Gmsh.y" +#line 4937 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10364,9 +10648,9 @@ yyreduce: } break; - case 430: + case 436: /* Line 1787 of yacc.c */ -#line 4867 "Gmsh.y" +#line 4949 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -10380,9 +10664,9 @@ yyreduce: } break; - case 431: + case 437: /* Line 1787 of yacc.c */ -#line 4879 "Gmsh.y" +#line 4961 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10402,34 +10686,34 @@ yyreduce: } break; - case 432: + case 438: /* Line 1787 of yacc.c */ -#line 4900 "Gmsh.y" +#line 4982 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); } break; - case 433: + case 439: /* Line 1787 of yacc.c */ -#line 4905 "Gmsh.y" +#line 4987 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; - case 434: + case 440: /* Line 1787 of yacc.c */ -#line 4909 "Gmsh.y" +#line 4991 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); } break; - case 435: + case 441: /* Line 1787 of yacc.c */ -#line 4913 "Gmsh.y" +#line 4995 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -10440,25 +10724,25 @@ yyreduce: } break; - case 436: + case 442: /* Line 1787 of yacc.c */ -#line 4925 "Gmsh.y" +#line 5007 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); } break; - case 437: + case 443: /* Line 1787 of yacc.c */ -#line 4929 "Gmsh.y" +#line 5011 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); } break; - case 438: + case 444: /* Line 1787 of yacc.c */ -#line 4941 "Gmsh.y" +#line 5023 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -10467,9 +10751,9 @@ yyreduce: } break; - case 439: + case 445: /* Line 1787 of yacc.c */ -#line 4948 "Gmsh.y" +#line 5030 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -10478,17 +10762,17 @@ yyreduce: } break; - case 440: + case 446: /* Line 1787 of yacc.c */ -#line 4958 "Gmsh.y" +#line 5040 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } break; - case 441: + case 447: /* Line 1787 of yacc.c */ -#line 4962 "Gmsh.y" +#line 5044 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -10502,34 +10786,34 @@ yyreduce: } break; - case 442: + case 448: /* Line 1787 of yacc.c */ -#line 4977 "Gmsh.y" +#line 5059 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); } break; - case 443: + case 449: /* Line 1787 of yacc.c */ -#line 4982 "Gmsh.y" +#line 5064 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); } break; - case 444: + case 450: /* Line 1787 of yacc.c */ -#line 4989 "Gmsh.y" +#line 5071 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; - case 445: + case 451: /* Line 1787 of yacc.c */ -#line 4993 "Gmsh.y" +#line 5075 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10544,9 +10828,9 @@ yyreduce: } break; - case 446: + case 452: /* Line 1787 of yacc.c */ -#line 5006 "Gmsh.y" +#line 5088 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -10556,9 +10840,9 @@ yyreduce: } break; - case 447: + case 453: /* Line 1787 of yacc.c */ -#line 5014 "Gmsh.y" +#line 5096 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -10568,17 +10852,17 @@ yyreduce: } break; - case 448: + case 454: /* Line 1787 of yacc.c */ -#line 5025 "Gmsh.y" +#line 5107 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; - case 449: + case 455: /* Line 1787 of yacc.c */ -#line 5029 "Gmsh.y" +#line 5111 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -10588,9 +10872,9 @@ yyreduce: } break; - case 450: + case 456: /* Line 1787 of yacc.c */ -#line 5037 "Gmsh.y" +#line 5119 "Gmsh.y" { std::string action = Msg::GetGmshOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -10598,9 +10882,9 @@ yyreduce: } break; - case 451: + case 457: /* Line 1787 of yacc.c */ -#line 5043 "Gmsh.y" +#line 5125 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -10610,9 +10894,9 @@ yyreduce: } break; - case 452: + case 458: /* Line 1787 of yacc.c */ -#line 5051 "Gmsh.y" +#line 5133 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -10622,9 +10906,9 @@ yyreduce: } break; - case 453: + case 459: /* Line 1787 of yacc.c */ -#line 5059 "Gmsh.y" +#line 5141 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -10641,9 +10925,9 @@ yyreduce: } break; - case 454: + case 460: /* Line 1787 of yacc.c */ -#line 5074 "Gmsh.y" +#line 5156 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10659,9 +10943,9 @@ yyreduce: } break; - case 455: + case 461: /* Line 1787 of yacc.c */ -#line 5088 "Gmsh.y" +#line 5170 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10677,9 +10961,9 @@ yyreduce: } break; - case 456: + case 462: /* Line 1787 of yacc.c */ -#line 5102 "Gmsh.y" +#line 5184 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -10693,9 +10977,9 @@ yyreduce: } break; - case 457: + case 463: /* Line 1787 of yacc.c */ -#line 5114 "Gmsh.y" +#line 5196 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -10713,17 +10997,17 @@ yyreduce: } break; - case 458: + case 464: /* Line 1787 of yacc.c */ -#line 5130 "Gmsh.y" +#line 5212 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); } break; - case 459: + case 465: /* Line 1787 of yacc.c */ -#line 5134 "Gmsh.y" +#line 5216 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -10744,15 +11028,15 @@ yyreduce: } break; - case 460: + case 466: /* Line 1787 of yacc.c */ -#line 5153 "Gmsh.y" +#line 5235 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; - case 461: + case 467: /* Line 1787 of yacc.c */ -#line 5155 "Gmsh.y" +#line 5237 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -10762,24 +11046,24 @@ yyreduce: } break; - case 462: + case 468: /* Line 1787 of yacc.c */ -#line 5166 "Gmsh.y" +#line 5248 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); } break; - case 463: + case 469: /* Line 1787 of yacc.c */ -#line 5171 "Gmsh.y" +#line 5253 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); } break; - case 464: + case 470: /* Line 1787 of yacc.c */ -#line 5177 "Gmsh.y" +#line 5259 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -10789,9 +11073,9 @@ yyreduce: } break; - case 465: + case 471: /* Line 1787 of yacc.c */ -#line 5186 "Gmsh.y" +#line 5268 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -10801,21 +11085,21 @@ yyreduce: } break; - case 466: + case 472: /* Line 1787 of yacc.c */ -#line 5199 "Gmsh.y" +#line 5281 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; - case 467: + case 473: /* Line 1787 of yacc.c */ -#line 5202 "Gmsh.y" +#line 5284 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; /* Line 1787 of yacc.c */ -#line 10819 "Gmsh.tab.cpp" +#line 11103 "Gmsh.tab.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -11047,7 +11331,7 @@ yyreturn: /* Line 2050 of yacc.c */ -#line 5206 "Gmsh.y" +#line 5288 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index e339ef5ffdebb5e2dbbed4e67a9102c38e672c98..b9bbf0ff62d1c7edee6efd2411a08df0a9cce321 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -219,7 +219,7 @@ extern int gmsh_yydebug; typedef union YYSTYPE { /* Line 2053 of yacc.c */ -#line 100 "Gmsh.y" +#line 99 "Gmsh.y" char *c; int i; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index c3d93e2ed30cc42d991a3cbc4aeca820e4b5c075..a8bcd7457d1ee624e74931a31bc61b2f518e195d 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -67,7 +67,6 @@ static std::vector<double> ViewCoord; static std::vector<double> *ViewValueList = 0; static int *ViewNumList = 0; static ExtrudeParams extr; -static int curPhysDim = 0; static gmshSurface *myGmshSurface = 0; #define MAX_RECUR_LOOPS 100 static int ImbricatedLoop = 0; @@ -143,7 +142,8 @@ struct doubleXstring{ %type <d> FExpr FExpr_Single %type <v> VExpr VExpr_Single CircleOptions TransfiniteType -%type <i> NumericAffectation NumericIncrement PhysicalId +%type <i> NumericAffectation NumericIncrement +%type <i> PhysicalId0 PhysicalId1 PhysicalId2 PhysicalId3 %type <i> TransfiniteArrangement RecombineAngle %type <u> ColorExpr %type <c> StringExpr StringExprVar SendToFile HomologyCommand @@ -1233,7 +1233,7 @@ CharParameterOption : // S H A P E -PhysicalId : +PhysicalId0 : FExpr { $$ = (int)$1; @@ -1241,8 +1241,46 @@ PhysicalId : | StringExpr { $$ = GModel::current()->setPhysicalName - (std::string($1), curPhysDim, - ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + (std::string($1), 0, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free($1); + } +; + +PhysicalId1 : + FExpr + { + $$ = (int)$1; + } + | StringExpr + { + $$ = GModel::current()->setPhysicalName + (std::string($1), 1, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free($1); + } +; + +PhysicalId2 : + FExpr + { + $$ = (int)$1; + } + | StringExpr + { + $$ = GModel::current()->setPhysicalName + (std::string($1), 2, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + Free($1); + } +; + +PhysicalId3 : + FExpr + { + $$ = (int)$1; + } + | StringExpr + { + $$ = GModel::current()->setPhysicalName + (std::string($1), 3, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); Free($1); } ; @@ -1301,23 +1339,34 @@ Shape : $$.Type = MSH_POINT; $$.Num = num; } - | tPhysical tPoint - { - curPhysDim = 0; - } - '(' PhysicalId ')' tAFFECT ListOfDouble tEND + | tPhysical tPoint '(' PhysicalId0 ')' tAFFECT ListOfDouble tEND { - int num = (int)$5; + int num = (int)$4; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ yymsg(0, "Physical point %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt($8); + List_T *temp = ListOfDouble2ListOfInt($7); PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } - List_Delete($8); + List_Delete($7); + $$.Type = MSH_PHYSICAL_POINT; + $$.Num = num; + } + | tPhysical tPoint '(' PhysicalId0 ')' tIn tBoundingBox + '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND + { + int num = (int)$4; + if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ + yymsg(0, "Physical point %d already exists", num); + } + else{ + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox($9, $11, $13, $15, $17, $19); + GModel::current()->setPhysicalNumToEntitiesInBox(0, num, bbox); + } $$.Type = MSH_PHYSICAL_POINT; $$.Num = num; } @@ -1559,23 +1608,34 @@ Shape : $$.Type = MSH_SEGM_COMPOUND; $$.Num = num; } - | tPhysical tLine + | tPhysical tLine '(' PhysicalId1 ')' tAFFECT ListOfDouble tEND { - curPhysDim = 1; - } - '(' PhysicalId ')' tAFFECT ListOfDouble tEND - { - int num = (int)$5; + int num = (int)$4; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ yymsg(0, "Physical line %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt($8); + List_T *temp = ListOfDouble2ListOfInt($7); PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } - List_Delete($8); + List_Delete($7); + $$.Type = MSH_PHYSICAL_LINE; + $$.Num = num; + } + | tPhysical tLine '(' PhysicalId1 ')' tIn tBoundingBox + '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND + { + int num = (int)$4; + if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ + yymsg(0, "Physical line %d already exists", num); + } + else{ + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox($9, $11, $13, $15, $17, $19); + GModel::current()->setPhysicalNumToEntitiesInBox(1, num, bbox); + } $$.Type = MSH_PHYSICAL_LINE; $$.Num = num; } @@ -1778,23 +1838,34 @@ Shape : $$.Type = MSH_SURF_COMPOUND; $$.Num = num; } - | tPhysical tSurface - { - curPhysDim = 2; - } - '(' PhysicalId ')' tAFFECT ListOfDouble tEND + | tPhysical tSurface '(' PhysicalId2 ')' tAFFECT ListOfDouble tEND { - int num = (int)$5; + int num = (int)$4; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ yymsg(0, "Physical surface %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt($8); + List_T *temp = ListOfDouble2ListOfInt($7); PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } - List_Delete($8); + List_Delete($7); + $$.Type = MSH_PHYSICAL_SURFACE; + $$.Num = num; + } + | tPhysical tSurface '(' PhysicalId2 ')' tIn tBoundingBox + '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND + { + int num = (int)$4; + if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ + yymsg(0, "Physical surface %d already exists", num); + } + else{ + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox($9, $11, $13, $15, $17, $19); + GModel::current()->setPhysicalNumToEntitiesInBox(2, num, bbox); + } $$.Type = MSH_PHYSICAL_SURFACE; $$.Num = num; } @@ -1853,23 +1924,34 @@ Shape : $$.Type = MSH_VOLUME_COMPOUND; $$.Num = num; } - | tPhysical tVolume - { - curPhysDim = 3; - } - '(' PhysicalId ')' tAFFECT ListOfDouble tEND + | tPhysical tVolume '(' PhysicalId3 ')' tAFFECT ListOfDouble tEND { - int num = (int)$5; + int num = (int)$4; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ yymsg(0, "Physical volume %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt($8); + List_T *temp = ListOfDouble2ListOfInt($7); PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } - List_Delete($8); + List_Delete($7); + $$.Type = MSH_PHYSICAL_VOLUME; + $$.Num = num; + } + | tPhysical tVolume '(' PhysicalId3 ')' tIn tBoundingBox + '{' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND + { + int num = (int)$4; + if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ + yymsg(0, "Physical volume %d already exists", num); + } + else{ + GModel::current()->importGEOInternals(); + SBoundingBox3d bbox($9, $11, $13, $15, $17, $19); + GModel::current()->setPhysicalNumToEntitiesInBox(3, num, bbox); + } $$.Type = MSH_PHYSICAL_VOLUME; $$.Num = num; } diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index 56df471b803b819fc3b42c78e841bf69f77c826b..1e1b2a23e90e395107d4f79e41311ef4da842d8a 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1912,6 +1912,10 @@ is given instead, a unique identification number is automatically created); the @var{expression-list} on the right hand side should contain the identification numbers of all the elementary points that need to be grouped inside the physical point. + +@item Physical Point ( @var{expression} | @var{char-expression} ) In BoundingBox @{ @var{expression-list} @}; +Creates a physical point with all the elementary points in the bounding +box @var{xmin,ymin,zmin,xmax,ymax,zmax}. @end ftable @c ......................................................................... @@ -2016,6 +2020,10 @@ to be grouped inside the physical line. Specifying negative identification numbers in the @var{expression-list} will reverse the orientation of the mesh elements belonging to the corresponding elementary lines in the saved mesh. + +@item Physical Line ( @var{expression} | @var{char-expression} ) In BoundingBox @{ @var{expression-list} @}; +Creates a physical line with all the elementary lines in the bounding +box @var{xmin,ymin,zmin,xmax,ymax,zmax}. @end ftable @c ......................................................................... @@ -2087,6 +2095,10 @@ surfaces that need to be grouped inside the physical surface. Specifying negative identification numbers in the @var{expression-list} will reverse the orientation of the mesh elements belonging to the corresponding elementary surfaces in the saved mesh. + +@item Physical Surface ( @var{expression} | @var{char-expression} ) In BoundingBox @{ @var{expression-list} @}; +Creates a physical surface with all the elementary surfaces in the bounding +box @var{xmin,ymin,zmin,xmax,ymax,zmax}. @end ftable @c ......................................................................... @@ -2132,6 +2144,10 @@ is the physical volume's identification number (if a is automatically created); the @var{expression-list} on the right hand side should contain the identification numbers of all the elementary volumes that need to be grouped inside the physical volume. + +@item Physical Volume ( @var{expression} | @var{char-expression} ) In BoundingBox @{ @var{expression-list} @}; +Creates a physical volume with all the elementary volumes in the bounding +box @var{xmin,ymin,zmin,xmax,ymax,zmax}. @end ftable @c .........................................................................